Als Software für die Wetterstation habe ich mich für wfrog (Externer Link www.wfrog.org) entschieden. Die Software ist nicht zu überladen, lässt sich leicht anpassen und sieht im Gegensatz zu anderen Lösungen sehr gut aus. Eine lauffähige Installation benötigt aber doch etwas Arbeit. Ich habe ein HowTo geschrieben wie man die Software installiert, konfiguriert, an das Layout seiner Homepage anpasst und eine Schnittstelle zur Haussteuerung erstellen kann.
Als Plattform dient ein Rapsberry Pi mit der Standardinstallation des Raspian OS Jessie 4.1 vom 2015-09-24. Es wurden vorab alle Pakete aktualisiert.
Installation & Konfiguration wfrog
Download der Sourcen
cd /usr/src sudo wget https://github.com/wfrog/wfrog/releases/download/wfrog-0.8.2/wfrog_0.8.2-1_all.deb
Früher konnten die Sourcen über http://wfrog.googlecode.com/files/wfrog_0.8.2-1_all.deb geladen werden. Dieser Link ist nicht mehr aktuell.
Installation von wfrog (Fehler ignorieren)
sudo dpkg --install wfrog_0.8.2-1_all.deb
Abhängigkeiten auflösen (wfrog wird jetzt installiert)
sudo apt-get install -f -y
Update wfrog
Subversion installieren
sudo apt-get install subversion
Altes Verzeichnis löschen (geht vielleicht auch eleganter aber so klappt es 🙂 )
sudo rm -rf /usr/lib/wfrog
Checkout (Download) der aktuellen wfrog (Nightly Build) Version. Bei mir war es die Revision 959.
cd /usr/src sudo svn checkout -r 959 http://wfrog.googlecode.com/svn/trunk/ wfrog
Nach dem Checkout alles in das wfrog Programm Verzeichnis verschieben
sudo mv /usr/src/wfrog /usr/lib/wfrog
Setup wfrog
Beim ersten Start von wfrog müssen verschiedene Parameter wie Wetterstation und Maßeinheiten angegeben werden. Der Parameter -S steht für nur Setup, so können wir gleich weitermachen.
sudo wfrog -S
Umstellung auf SQLite Datenbank
Installation SQLite Datenbank
sudo apt-get install sqlite3
Datenbank erstellen
cd /usr/lib/wfrog sudo sqlite3 /var/lib/wfrog/wfrog.sql < database/sqlite3.sql
Storage Konfiguration anpassen
sudo joe /usr/lib/wfrog/wfcommon/config/storage.yaml
Den CSV Absatz auskommentieren
#storage: !user # choices: # root: !csv # path: /var/lib/wfrog/wfrog.csv # default: !csv # path: data/wfrog.csv
beim sqlite3 Absatz die Kommentarzeichen entfernen
storage: !user choices: root: !sqlite3 database: /var/lib/wfrog/wfrog.sql default: !sqlite3 database: data/wfrog.sql
FTP-Upload aktivieren
Konfigurationsdatei öffnen
sudo joe /usr/lib/wfrog/wfrender/config/wfrender.yaml
Folgenden Bereich anpassen
ftp: !scheduler period: 600 # in seconds delay: 60 # in seconds, delay before start rendering renderer: !ftp host: HOST.COM username: USERNAME password: PASSWORD directory: DIRECTORY renderers: 3hours.html: !file path: /tmp/3hours.html renderer: !include path: default/3hours.yaml 24hours.html: !file path: /tmp/24hours.html renderer: !include path: default/24hours.yaml 30days.html: !file path: /tmp/30days.html renderer: !include path: default/30days.yaml 365days.html: !file path: /tmp/365days.html renderer: !include path: default/365days.yaml
Diese Zeilen hinzufügen damit später nicht die “7 Tage” Seite fehlt
7days.html: !file path: /tmp/7days.html renderer: !include path: default/7days.yaml
Vorbereitung Smart Home Schnittstelle
Webserver installieren
sudo apt-get install apache2
PHP5 SQLite Erweiterung installieren
sudo apt-get install php5-sqlite
Ich habe die PHP-Skripte unter Downloads abgelegt. Ich werde die PHP-Skripte als Cronjob ausführen und die Werte alle 5 Minuten an den Loxone Miniserver schicken.
Layout und Sprache
Für das Layout habe ich Farbwerte und Texte in folgenden Dateien angepasst
/usr/lib/wfrog/wfrender/templates/default/main.html
/usr/lib/wfrog/wfrender/config/default/charts.yaml
wfrog automatisch und manuell starten
wfrog automatisch starten (Fehlermeldung kann ignoriert werden)
sudo update-rc.d wfrender defaults 99 sudo update-rc.d wflogger defaults 99
wfrog (wfrender und wflogger) manuell starten
sudo /etc/init.d/wflogger start sudo /etc/init.d/wfrender start
wfrog Webseite
Wenn alles korrekt installiert wurde, sollte jetzt über http://<IP-Adresse Raspberry Pi>:7680 die wfrog Seite erreichbar sein. Beim ersten Aufruf kann es ein wenig länger dauern da wfrender die Seite erst noch aufbereiten muss.
Logging
Falls etwas mal nicht so klappen sollte, sollte man sich die beiden wfrog Log-Dateien anschauen.
Probleme mit HTML Seiten und Upload
tail -f /var/log/wfrender.log
Probleme mit Datenaufzeichnung
tail -f /var/log/wflogger.log
Hallo Stefan,
super Anleitung – bin kurz davor, mir auch ein Oregon zu holen,daher meine Frage, hat dies noch Gültigkeit:
“Da es in der aktuellen Version noch ein Fehler mit Phyton 2.7 gibt, muss die Datei fileloghandler.yaml angepasst werden”?
Grüße
Klaus
Hallo Klaus,
da es leider noch keine neuere Version gibt und der Fehler (Issue 85 externer Link: http://code.google.com/p/wfrog/issues/detail?id=85) noch auf “Started” steht, muss sicherlich noch der Workaround genutzt werden.
Ich hoffe ich konnte deine Frage beantworten. Melde dich einfach wenn es noch Fragen gibt.
Viele Grüße
Stefan
Hallo Stefan,
dank deiner Anleitung habe ich es entlich hinbekommen die WS1080 Wetterstation mit dem Pi auszulesen. Herzlichen Dank für die Anleitung.
Aber jetzt meine Bitte. Kannst du mir die ins Deutsche übersetzten Dateien zukommen lassen?
mit freundlichen Grüßen
Steffen
Hallo Steffen,
im aktualisiertem wfrog Download sollte jetzt alles drin sein was du benötigst. Am besten die vorhandene Datei umbenennen und die Datei aus der Zip Datei übertragen. Wenn ich dich falsch verstanden habe oder sonst noch etwas fehlt, melde dich einfach nochmal.
Viele Grüße
Stefan
Hallo Stefan,
ich habe Dein How To fast umgesetzt. Leider hänge ich bei der Umstellung auf die SQL-Datenbank.
Nach “sudo joe /usr/lib/wfrog/wfcommon/config/storage.yaml” kommt die Meldung:
“sudo: joe: command not fund”
Kannst Du mir hier weiter helfen? Ich habe heute raspbian mit noobs installiert und ugedated.
Viele Grüße
Torsten
Hallo Torsten,
Sorry, joe ist mein favorisierter Editor. Du kannst aber auch nano, vi oder was auch immer du magst nutzen. Mit WinSCP (Windows) kannst du auch Dateien anpassen ohne dich mit der Konsole rumzuärgern. Wenn du joe ausprobieren willst kannst du den Editor einfach mit “sudo apt-get install joe” nachinstallieren. Ich hoffe, ich konnte dir weiterhelfen.
Viele Grüße
Stefan
Hallo Torsten,
sudo nano /usr/lib/wfrog/wfcommon/config/storage.yaml
tut es auch.
HaVeFuN
Ich möchte gerne die Wetterdateien per FTP in meine Homepage speichern. Leider kann ich mit obigem Script “FTP-Upload aktivieren” nichts anfangen. Die darin angegebenen Pfade “path: /tmp/3hours.html” und weitere finde ich nicht in meinem Raspberry, bzw die Verzeichnisse sind leer. Als Newcomer habe ich halt noch Probleme, alle Zusammenhänge zu verstehen. Die Anzeige der Wetterdaten mit “/server:7680” funktioniert einwandfrei. Für Hilfe oder Hinweise wäre ich sehr dankbar.
Dieter
Hallo Dieter,
du musst die wfrender.yaml im Verzeichnis /usr/lib/wfrog/wfrender/config editieren und wie im Beispiel den FTP Scheduler durch entfernen der # Zeichen “befreien” (aber nur die # am Anfang der Zeile löschen!) und deine Zugangsdaten vom FTP Server eintragen. Ob alles funktioniert hat kannst du nach einem Neustart mit /etc/init.d/wfrender restart über tail -f /var/log/wfrender.log prüfen. Im /tmp Verzeichnis werden die Daten vom Rendering Prozess gespeichert und dann von dort übertragen.
Hier eine komplette Übertragung wie sie bei mir Logfile steht
…
2016-07-18 20:55:17,018 INFO [renderer.ftp] Rendering 24hours.html
2016-07-18 20:55:17,801 INFO [renderer.ftp] Rendering 7days.html
2016-07-18 20:55:21,230 INFO [renderer.ftp] Rendering 30days.html
2016-07-18 20:55:22,140 INFO [renderer.ftp] Rendering 365days.html
2016-07-18 20:55:23,340 INFO [renderer.ftp] Rendering 3hours.html
2016-07-18 20:55:27,366 INFO [renderer.ftp] Connected to host123@11.22.33.44:21
2016-07-18 20:55:27,720 INFO [renderer.ftp] Sent /tmp/24hours.html to 24hours.html
2016-07-18 20:55:28,179 INFO [renderer.ftp] Sent /tmp/7days.html to 7days.html
2016-07-18 20:55:28,484 INFO [renderer.ftp] Sent /tmp/30days.html to 30days.html
2016-07-18 20:55:28,748 INFO [renderer.ftp] Sent /tmp/365days.html to 365days.html
2016-07-18 20:55:28,997 INFO [renderer.ftp] Sent /tmp/3hours.html to 3hours.html
…
Schau mal ob dich das so weiterbringt, sonst melde dich nochmal!
Viele Grüße
Stefan
Hallo Stefan,
mir ist durch einen glücklichen Zufall diese Wetterstation in die Hände gefallen.
Bevor ich mit dem Projekt starte nur kurz die Frage, ob Du diese Komponenten noch im Einsatz hast und ob die von Dir erstellten Dateien noch einsetzbar sind.
Danke und Gruß
Stefan
Hallo Stefan,
abgesehen vom Regensensor der entweder abgesoffen oder einfach nur leere Batterien hat, funktioniert noch alles. Die Anleitung ist natürlich etwas veraltet, Google Code wurde mittlerweile geschlossen. Ich habe daher den Link zur wfrog_0.8.2-1_all.deb angepasst.
Der Abschnitt “Update wfrog” ist nicht mehr gültig. Ob und wofür das SVN Update benötigt wurde, kann ich dir leider nicht mehr sagen. Zur Not kann ich dir aber den SVN Export zuschicken. Der Rest sollte noch so funktionieren.
Viele Grüße
Stefan
Hallo Stefan,
danke Dir für die Info.
Wenn Du mir die SVN zusenden würdest, wäre das super.
Ich kann mich anschliessend an das Projekt machen 🙂
Grüße
Stefan
Hallo Stefan,
habe dir gerade eine E-Mail mit dem SVN Export geschickt. Viel Spaß noch bei deinem Projekt!
Viele Grüße
Stefan
Hallo Stefan,
bin ganz begeistert von Deinen Projekten und Deinem aufgebrachten Perfektionismus!
Bei mir hat alles mit der Loxone angefangen und mittlerweile kommunizieren Loxone, HA-Bridge, Lupusec, homee und “Alexa” miteinander. Das Thema mit dem Wetter beschäftigt mich jetzt seit ein paar Tagen, nachdem ich meiner Markise eine Qubino Rollo Shutter (funktioniert m.e. besser als der Fibaro) verpasst habe und diese bei Wind autom. einfahren möchte. Auf der Suche nach einer günstigen Lösung habe ich jetzt eine neue WH1080 für wenig Euro erstanden.
Würde gerne Deine Lösung mit wfrog umsetzten, aber habe im Moment ein paar Probleme und Fragen. Ich würde mich sehr freuen, wenn Du mir etwas weiterhelfen könntest.
1. Bei der Installation von wfrog mit Deiner Anleitung auf meinem Raspberry (Ver.8, jessie) scheitere ich im Moment an der Erstellung der sqlite3-Datenbank. Ich erhalte immer folgenden Fehler “pi@raspberrypi:/usr/lib/wfrog $ sudo sqlite3 /var/lib/wfrog/wfrog.sql < database/sqlite3.sql
-bash: database/sqlite3.sql: No such file or directory"
Komme hier leider nicht weiter.
2. Wenn ich alles richtig verstanden habe, dann kommen die PHP-Scripte (aus Deinem Download) für Loxone auf den Raspberry in "/usr/lib/wfrog/wfrender/templates/default". Per Cronjob werden die Daten dann an die Loxone gesendet.
Die config.php habe ich mit meinen Loxone-Werten angepasst und als Cronjop "*/1 * * * * /usr/lib/wfrog/wfrender/templates/default/loxone.php" definiert.
Noch nicht verstanden habe ich, wie die Werte anschließend in der Loxone angezeigt werden. Die PHP-Scripte habe ja ein Layout und ich habe leider nicht genug Erfahrung, wie diese dann in der Loxone dargestellt werden können, bzw. was ich in der LoxConfig noch programmieren muss. Bislang habe ich stets Werte über virtuelle http Eingänge von seiten der Loxone abgefragt.
Besten Dank und viele Grüße
Ralph
Hallo Ralph,
danke erstmal für das Lob! Ich versuche mal deine Fragen zu beantworten.
Ich habe mal meine “history” durchsucht und mein Befehl sieht genauso aus wie deiner?!
cd /usr/lib/wfrog
sudo sqlite3 /var/lib/wfrog/wfrog.sql < database/sqlite3.sql
Liegt denn bei dir im Ordner /usr/lib/wfrog/database überhaupt eine Datei mit dem Namen sqlite3.sql? Diese sollte normalerweise vorhanden sein. Du kannst sie auch mit folgendem Befehl suchen.
find / -name "sqlite3.sql"
Du bist schon auf dem richtigen Weg. Virtuellen Eingang anlegen, irgendeinen Namen vergeben und auf Analog stellen nicht vergessen. Jetzt in den Eigenschaften den ausgegrauten Wert unter Anschluss (Format: VIxx) oder den Namen hinter /dev/sps/io/ in der loxone.php eintragen. Das war es schon!
Viele Grüße
Stefan
Hallo Ralph,
cd /usr/lib/wfrog
sudo sqlite3 /var/lib/wfrog/wfrog.sql < database/db-sqlite3.sql
ist aktuell richtig.
HaVeFuN
Hallo Stefan,
vielen Dank für die schnelle Antwort und Hilfe. Also bei mir sind weder der Ordner /database , noch die sqlite3.sql vorhanden gewesen. Habe sie jetzt selbst erstellt und anschließend konnte ich auch die sqlite-Datenbank konvertieren und anlegen. Komisch ist nur, dass das Verzeichnis /database und die Datenbank sqlite3.sql nicht autom. angelegt worden sind.
Das mit der Loxone ist mir jetzt auch klar. Vielen Dank für die Erklärung. Bislang habe ich die Werte immer seiten der Loxone mittels Befehlserkennung abgefragt. Der umgekehrte Weg ist mir gar nicht bewusst gewesen. Gibt es hier einen speziellen Vorteil? Ansonsten könnte man doch auch sämtliche Werte auch auf dem raspberry Server als unformatierte html anlegen und mittels “Virtueller HTTP-Eingänge” abrufen.
Besten Dank nochmal und schöne Grüße
Ralph
Hallo Stefan,
ich habe eine Elecsa AstroTouch 6975, wohl baugleich mit WH1080.
Ich komme mit Deiner Anleitung leider nicht zurecht.
Wenn ich wfrog starte bekomme ich das hier:
bernd@PC1 ~ $ sudo wfrog -v
[sudo] password for bernd:
Exception in thread Thread-3:
Traceback (most recent call last):
File “/usr/lib/python2.7/threading.py”, line 810, in __bootstrap_inner
self.run()
File “/usr/lib/python2.7/threading.py”, line 763, in run
self.__target(*self.__args, **self.__kwargs)
File “/usr/lib/wfrog/wfdriver/wfdriver.py”, line 110, in run
self.configure(config_file, settings_file, embedded)
File “/usr/lib/wfrog/wfdriver/wfdriver.py”, line 82, in configure
(config, context) = self.configurer.configure(options, self, config_file, settings_file, embedded)
File “/usr/lib/wfrog/wfcommon/config.py”, line 110, in configure
config = yaml.load( str(Template(file=file(self.config_file, “r”), searchList=[variables])))
File “/usr/lib/python2.7/dist-packages/Cheetah/Template.py”, line 1005, in __str__
rc = getattr(self, mainMethName)()
File “cheetah_DynamicallyCompiledCheetahTemplate_1513889096_63_92987.py”, line 86, in respond
NotFound: cannot find ‘station’ while searching for ‘settings.station.driver’
In /etc/wfrog/wfdriver/config habe ich folgende Datei:
/etc/wfrog/wfdriver/config/embedded.yaml
In dieser Datei steht:
station: !${settings.station.driver} { }
#station: !${settings.station.driver}
# port: /dev/ttyS1
# pressure_cal: -8
output: !service { name: events }
In der Bedienungsanleitung von wfrog (leider alles nur auf englisch) steht, man solle die Auskommentierungen unter station wegmachen und entsprechend ergänzen. Ich weiß allerdings nicht wie ich sie ergänzen soll.
lsusb gibt mir die Wetterstation folgendermaßen aus:
Bus 004 Device 003: ID 1941:8021 Dream Link WH1080 Weather Station / USB Missile Launcher
Hast Du irgendeine Idee ?
Vielleicht funktioniert die Software ja auch gar nicht mehr.
Ich bin Neuling in Sachen Linux und habe immer die Wetterstation über Windows gemacht. Habe jetzt aber kein Windows mehr.
Viele Grüße und vielen Dank für Deine Hilfe im Voraus.
Bernd
Hallo Bernd,
normalerweise musst du nur beim ersten Start von wfrog deine Station konfigurieren?! Mit dem Befehl “sudo wfrog -S” (Quelle https://github.com/wfrog/wfrog/wiki/UserManual) kannst du das Menü nochmal öffnen. Du hast zwar andere Pfade als ich, aber die Konfiguration wird in einer settings.yaml unter /etc/wfrog angespeichert. Dort wird auch der Typ der Wetterstation gespeichert. Die Software sollte weiterhin funktionieren, sie wird leider nur nicht mehr gepflegt.
Ich hoffe, dass ich dir ein wenig weiterhelfen konnte?!
Viele Grüße
Stefan
Hallo Bernd,
aktuell kommt da tatsächlich wieder etwas in die quere. Abhilfe schafft aber das manuelle Editieren der settings.yaml wie folgt:
sudo nano /etc/wfrog/settings.yaml
und das Eintragen der Werte von Hand. hier meine Werte, für eine WH1080 bei einer Höhe des Wohnortes von 180m über N.N.
altitude: 180
station:
driver: wh1080
units:
press: hPa
rain: mm
temp: C
wind: km/h
So, dann alles speichern und mit
sudo reboot
einen Neustart hinlegen und es läuft alles. Bei mir mit aktueller Installation und weiterem “Feintunig” auch mit richtigen Grafiken ohne Querstrichen und funktionierender regenintensität.
HaVeFuN
Hallo an alle,
ansonten hier mal der aktuelle Weg einer Installation, ausgehend von einem Raspbian Jessie Desktop Image vom März 2018.
1.Updates
sudo apt-get update
sudo apt-get upgrade
2.Install python, dependencies, usb library, etc:
sudo apt-get install python
sudo apt-get install python-pip
sudo apt-get install python-dev
sudo apt-get install libudev-dev
sudo apt-get install libusb-1.0-0
sudo apt-get install libusb-1.0-0-dev
3.Install pip (python package manager):
sudo pip install –upgrade pip
4.Install required python packages:
sudo pip install tzlocal
sudo pip install libusb1
sudo pip install pyusb –pre
5.Install pywws:
sudo pip install pywws
6.Plug in the WH1080 weather station
plug…
7.Test connectivity:
sudo pywws-testweatherstation
14:31:48:pywws.Logger:pywws version 18.04.1, build 1389 (5a32227)
0000 55 aa 80 10 20 49 65 04 60 e1 0a fb 9f 1e f5 ff 05 20 02 30 11 00 00 00 00 00 00 f0 0f 00 e0 e2
0020 63 28 af 26 00 00 00 00 00 00 00 18 04 15 14 30 41 23 c8 00 00 00 46 2d 2c 01 64 80 c8 00 00 00
0040 64 00 64 80 a0 28 80 25 a0 28 80 25 00 b4 00 00 68 01 00 0a 00 f4 01 12 00 00 00 00 00 00 00 64
0060 04 60 4e 17 63 01 36 01 a7 00 75 01 90 81 75 01 90 81 da 00 ef 80 89 27 78 25 2f 29 42 26 ce 01
0080 e4 00 96 00 c5 01 49 02 0a 05 4b 09 00 17 07 09 13 20 18 01 16 01 36 17 07 06 05 19 15 01 01 12
00a0 00 15 01 01 12 00 17 11 19 12 06 17 08 01 16 08 15 01 01 12 00 17 08 01 16 08 15 01 01 12 00 17
00c0 08 01 16 07 18 02 25 13 24 17 12 20 10 26 17 12 11 00 43 18 01 27 17 51 17 10 29 05 27 18 02 21
00e0 00 58 17 10 29 10 21 17 07 12 22 44 18 01 16 16 44 17 07 15 19 26 17 11 06 09 38 17 11 21 23 33
8.Install wfrog:
sudo apt-get install wfrog
9.Create the configuration, answer the questions and the configuration file will be created:
sudo wfrog –S
10.The installed wfrog package automatically creates an initd script, start it up:
sudo service wfrog start
11.Reboot
sudo reboot
12.Surf to the report:
http://raspberrypi.local:7680
HaVeFuN