NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich glaube nicht, dass mein Patch zusätzliche Sensoren unterstützt.
Ich sag mal jein. Durch das Gateway nutzt du eine andere FW-Version (deswegen bist du wahrscheinlich auch ziemlich alleine), da es wohl auch Displays gibt die Daten der Zusatzsensoren anzeigen können. So wie ich mich erinnere sendet aber das Gateway die Daten nicht "freiwillig" (Stichwort GET), sondern man muss aktiv pushen (Stichwort POST) um sie zu erhalten.
Würde mir das gerne anschauen. Hast du irgendwelche Quellen. Falls nicht, kann ich auch selber suchen.
btw: Patch gepatcht (thx :+1: ), bei dir wird er ja sowieso funktionieren ( :) ), bei mir hat es keine negative Auswirkungen --> kommt also so in die nächste Version
Freut mich. Wenn du nichts dagegen hast, dann würde ich a) die ZusatzDP wie z.B. BatteryLow integrieren und b) meinen Code etwas besser integrieren. Aus den zwei Durchläufen zum Datenparsen nur einen machen usw.
@a200 Das müsste hier irgendwo in den ~1.7k Posts stehen. Da sah ich den Gateway-String zum ersten mal. Man kann nämlich auch das Display mittels Post abfragen. Ist halt nur unnötig, denn wenn ich alle 10 Sekunden abfrage bekomme ich auch keine anderen Werte wenn das Display zB. nur alle 30 Sekunden auswertet (und es dann freiwillig sendet).
...und immer gerne. Solange du hinten ans Array was dran hängst geht das auch problemlos.
-
Das ganze entstand aus diesem Thread.
Damit ist es möglich mit einem Linux-Client die Daten einer WLAN-Wetterstation und/oder mit Hilfe eines Gateways und Zusatzsensoren zu empfangen, aufzubereiten und im ioBroker zur Verfügung zu stellen. Optional können die Daten auch bei AWEKAS.at, OpenSenseMap, Windy und wetter.com zur Verfügung gestellt werden.
Mein Dank geht an @Latzi für das testen in der Entwicklungsphase und dessen Unterstützung bei der Verfassung der WiKi-Artikel.
Aktuelle Version auf GitHub:
Neue Versionen im Thread sind ab V2.15.0 (Juli 2022) unterschiedlich farblich gekennzeichnet:- Beta-Releases haben dann eine rote Versionsnummer
- stabile Releases haben dann eine grüne Versionsnummer
Projektseite (inkl. WiKi): https://sborg2014.github.io/WLAN-Wetterstation/
Da es sich um keinen Adapter handelt, ist dies eine "Vorschaltseite" von GitHub. Nicht das wer auf die Idee kommt von der URL im ioBroker installieren zu wollen ;)
Zum Download/WiKi geht es dann weiter per View on GitHubBisher geteste Stationen:
- BRESSER
- WLAN Farb-Wetter Center mit 5-in-1 Profi-Sensor V (1) @pandor
- WLAN Comfort Wetterstation mit 7-in-1 Profi-Sensor (1)
- ChiliTec Funk Wetterstation 12in1 @tege0
- DNT Weatherscreen PRO @Petersilie
- Ecowitt
- GW1000
- GW2000A
- GW3000A @MartyBr
- WS2910 @Nashra
- WS3800A @hoschi2007
- WS3900 @Mike77
- ELV WS980WiFi @sonystar
- Eurochron EFWS2900 @Latzi, @ilovegym, @SBorg (baugleich mit Ambient Weather WS-2902, Chilitec CTW-902, Sainlogic 10 in 1)
- Froggit
- Gateway/USB-Dongle DP1500/DP2000 @Boronsbruder
- HP1000SE Pro @Stormbringer
- WH3000 SE @ToxSox, @crunchip
- WH4000 SE @unltdnetworx, @Glasfaser, @Negalein, @Boronsbruder
- WH6000 Pro @Mugel80
- Renkforce WH2600
- Sainlogic
- Ventus W830 @CiroCool, @Rushmed
(1) Abfrage per DNS-Server wie bspw. PiHole oder dnsmasq
Bisher unterstütze Zusatzsensoren per Station oder mittels DP1500/DP2000/GW1000/GW2000A - Gateway:
- bis zu 8 Stück DP35/WN34 Wassertemperatur-Sensoren
- ein DP40/WH32 (bzw. WH26) Außentemperatur- und Luftfeuchtigkeitssensor
- bis zu 8 Stück DP50/WH31 Temperatur-/Luftfeuchtigkeit-Sensoren
- ein DP60/WH57 Blitzsensor
- bis zu 4 Stück DP70/WH55 Wasserleckage-Sensoren
- bis zu 16 Stück DP100/WH51 Bodenfeuchte-Sensoren
- bis zu 4 Stück DP200/WH43 PM2.5 Feinstaub-Sensoren
- ein DP250/WH45 5-In-1 CO2 / PM2.5 / PM10 / Temperatur / Luftfeuchte Innenraumsensor
- ein DP300/WS68 Solarunterstütztes Anemometer mit UV-Lichtsensor
- ein WH31 (bzw. WH25) Sensor
- ein WH40H Sensor
- ein WS80 Sensor
- ein WS90 "Wittboy" Sensor
- BRESSER (1)
- bis zu 4 Stück(2) BRESSER Thermo-/Hygro-Sensor 7 Kanal #7009999
Für den WFC01 hat @Rand nun hier und folgende ein kleines Javascript gebaut, um diesen auch auslesen zu können.
(1) nicht alle Bresser-Stationen unterstützen Zusatzsensoren! siehe hier
(2) durch das verwendete Wunderground-Protokoll limitiertDie mögliche Anzahl der Zusatzsensoren ist nicht durch das Skript begrenzt, sondern wird vom Display und/oder Gateway bestimmt.
Es besteht ferner auch die Möglichkeit Stationen (wie bspw. Sainlogic Profi Wlan Wetterstation FT0300) einzubinden die nicht per WS View[+] App konfiguriert werden können und nur ein Web-Interface bieten, dass keine Angabe eines eigenen Wetterdienst-Servers zulässt. Hierfür kann man den Umweg eines eigenen DNS-Servers wie dnsmasq oder Pi-hole gehen. Für Pi-hole hat @XxJooO freundlicherweise hier im Forum eine ausführliche Doku erstellt: klick mich
Wäre schön wenn sich weitere User mit entsprechenden Modellen melden bei denen es funktioniert (auch wenn es baugleiche sein sollten, so ist man sich wenigstens sicher ;) )
Update von einer Vorgängerversion (bei Nutzung per systemd):
Im Installationsverzeichnis
./ws_updater.shausführen.
Alternativ (falls die aktuell installierte Version kleiner als V2.12.0 ist): im Installationsverzeichnisbash <(curl -s https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh)ausführenUpdate von einer Vorgängerversion (bei Nutzung als cronjob):
Am besten das laufende Skript mit
pkill -9 wetterstation.shstoppen, wetterstation.sh und -.sub ersetzen (-.conf und -.js nur nach Aufforderung nötig; conf dann neu konfigurieren / js ersetzen und einmalig ausführen), dann entweder- direkt am Linux-Client
./wetterstation.sh & - oder per Putty oä.
nohup ./wetterstation.sh &(erzeugt dabei eine Datei nohup.out) - oder reboot des Systemes (Skript wird dann per cronjob wieder gestartet)
jeweils im Installationsverzeichnis ausführen. Sonst befindet sich ggf. noch das alte Skript im RAM und läuft munter bis zum nächsten Reboot weiter ;)
Beispiele einer grafischen Umsetzung:
@Glasfaser: View / zum Beitrag

@crunchip: Grafana / zum Beitrag

Wetterstation-Statistik (JS-Addon)
Statistikmodul als Javascript. Liefert diverse Statistiken:

Javascript für eine HTML-Tabelle vorheriger Monatswerte ( @liv-in-sky ) :


zum ThreadNeues Projekt PimpMyStation (14.11.2020)
Kein Support per PM/Chat !
@SBorg Hallo,
ich muss erstmal sagen, dass ihr da ein sehr interessantes Projekt aus dem Boden gestampft habt :+1:
Funktioniert das Ganze auch mit einer Sainlogic Profi (FT0300) ? Wenn ja, wie bekomme ich die Station mit der WS VIEW APP gekoppelt ? Die Wetterstationen, die mir in der App angeboten werden, passen irgendwie nicht so richtig zu der Sainlogic Profi oder gibt es da noch einen Trick ?Gruß,
Legoracer -
@SBorg Hallo,
ich muss erstmal sagen, dass ihr da ein sehr interessantes Projekt aus dem Boden gestampft habt :+1:
Funktioniert das Ganze auch mit einer Sainlogic Profi (FT0300) ? Wenn ja, wie bekomme ich die Station mit der WS VIEW APP gekoppelt ? Die Wetterstationen, die mir in der App angeboten werden, passen irgendwie nicht so richtig zu der Sainlogic Profi oder gibt es da noch einen Trick ?Gruß,
Legoracer@Legoracer70 Kann bitte Jemand, der keine Gateway nutzt die Ausgabe von (Passwort und Station-ID kannst du "x-en")
./wetterstation.sh --dataposten. Ich möchte die Parameter vergleichen, die geliefert werden. Vielen Dank im Voraus. -
@Legoracer70 Kann bitte Jemand, der keine Gateway nutzt die Ausgabe von (Passwort und Station-ID kannst du "x-en")
./wetterstation.sh --dataposten. Ich möchte die Parameter vergleichen, die geliefert werden. Vielen Dank im Voraus.@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
./wetterstation.sh --data
dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --data Connection to 10.0.1.200 8087 port [tcp/*] succeeded! Warte maximal 38 Sekunden auf Datenpaket der Wetterstation... nc: Address already in usemehr kommt da nicht.
meinst du eventuell
./wetterstation.sh --debug? -
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
./wetterstation.sh --data
dietpi@DietPi:/home/iobroker$ ./wetterstation.sh --data Connection to 10.0.1.200 8087 port [tcp/*] succeeded! Warte maximal 38 Sekunden auf Datenpaket der Wetterstation... nc: Address already in usemehr kommt da nicht.
meinst du eventuell
./wetterstation.sh --debug?@Negalein Danke. --data ist schon richtig. Allerdings läuft dein Service bereits, deshalb kann parallel dazu kein weiterer start erfolgen. Also du müsstest den Service stoppen, dann ./wetterstation.sh --data ausführen und nach der Ausgabe den Service wieder starten.
-
@SBorg Hallo,
ich muss erstmal sagen, dass ihr da ein sehr interessantes Projekt aus dem Boden gestampft habt :+1:
Funktioniert das Ganze auch mit einer Sainlogic Profi (FT0300) ? Wenn ja, wie bekomme ich die Station mit der WS VIEW APP gekoppelt ? Die Wetterstationen, die mir in der App angeboten werden, passen irgendwie nicht so richtig zu der Sainlogic Profi oder gibt es da noch einen Trick ?Gruß,
Legoracer@Legoracer70 Was ich so lese... Würde ich mit ja beantworten. Du brauchst nicht zwangsläufig die WS VIEW APP. Die ist nur von Nöten, um das Display zu konfigurieren (unabhängig vom Skript). Das geht auch mit jeder anderen APP. Du musst halt nur in der Lage sein die benötigten Werte am Display einstellen zu können wie Daten-Format, Port, Server etc.
-
@Legoracer70 Kann bitte Jemand, der keine Gateway nutzt die Ausgabe von (Passwort und Station-ID kannst du "x-en")
./wetterstation.sh --dataposten. Ich möchte die Parameter vergleichen, die geliefert werden. Vielen Dank im Voraus.@a200 falls noch nötig:
GET /weatherstation/updateweatherstation.php?ID=xxx&PASSWORD=xxx&indoortempf=73.6&tempf=34.3&dewptf=32.0&windchillf=34.3&indoorhumidity=34&humidity=91&windspeedmph=0.0&windgustmph=0.0&winddir=343&absbaromin=29.519&baromin=30.086&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.020&monthlyrainin=0.839&solarradiation=0.00&UV=0&dateutc=2020-11-28%2016:22:06&softwaretype=EasyWeatherV1.5.4&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0@ALL: Ansonsten baut @a200 gerade bisserl am Skript ;)
-
@Legoracer70 Was ich so lese... Würde ich mit ja beantworten. Du brauchst nicht zwangsläufig die WS VIEW APP. Die ist nur von Nöten, um das Display zu konfigurieren (unabhängig vom Skript). Das geht auch mit jeder anderen APP. Du musst halt nur in der Lage sein die benötigten Werte am Display einstellen zu können wie Daten-Format, Port, Server etc.
@SBorg Hört sich nach etwas Hoffnung an. Bis jetzt brauchte ich noch keine App. Meine Station habe ich bis jetzt bei Weather Underground und Weathercloud angemeldet. Hilft das in irgend einer Form ? Gibt es eine andere App mit Erfahrungswerte für Sainlogic ?
Danke schon mal,
Legoracer -
@SBorg Hört sich nach etwas Hoffnung an. Bis jetzt brauchte ich noch keine App. Meine Station habe ich bis jetzt bei Weather Underground und Weathercloud angemeldet. Hilft das in irgend einer Form ? Gibt es eine andere App mit Erfahrungswerte für Sainlogic ?
Danke schon mal,
Legoracer@Legoracer70 Aber irgendwie, bzw. mit irgendwas, musst du den Zugang zu Weather Underground eingerichtet haben? Aber auch die bisherigen Sainlogics laufen mit der WS View App. Hast du es mal mit der "bunten" links oben im Auswahlmenü versucht?
-
@Legoracer70 Aber irgendwie, bzw. mit irgendwas, musst du den Zugang zu Weather Underground eingerichtet haben? Aber auch die bisherigen Sainlogics laufen mit der WS View App. Hast du es mal mit der "bunten" links oben im Auswahlmenü versucht?
@SBorg Den Zugang konnte ich über eine Seite von Sainlogic auf der Station in der Werkseinstellung konfigurieren. Dort konnte ich die Daten für Weathercloud, Underground, mein WLAN-Zugangsdaten und die Zeitzone einstellen. Mehr leider nicht. Danach starte die Station mit einer IP in meinem WLAN. Ich kann sie jetzt auch in WIFI-Connect versetzen, so dass ich mich mit dem Handy (Android) mit dem jetzt sichtbarem WLAN der Station verbinden kann. Doch egal welches ich der 7 Geräte in der WS VIEW App auswähle, die App kann sich nicht mit der Station verbinden. Ich bin im Moment ratlos ...
-
Hallo,
nach dem Update von 1.4 auf 1.5 funktioniert fast alles.
"Info.Letzter_Regen" zeigt mir nurnoch "vor Tagen" an, der Wert fehlt also. Mit der 1.4 hat das tadellos funktioniert.
In der Config habe ich wie immer "LAST_RAIN=DIFF" eingestellt.
Ich sehe in den Objekten aber auch dass "Info.Letzter_Regen" regelmäßig aktualisiert (grün) wird.Hat das sonst noch jemand beobachtet?
-
Erst mal das "Einfache"...
@Rushmed Ich habe da so eine Ahnung (denn bei mir funktioniert es ;) ). Du nutzt wahrscheinlich- kein OpenSenseMap?
- und hast wahrscheinlich vergessen jq zu installieren?
Falls bei
which jqkein Verzeichnis als Antwort kommt:sudo apt-get install jq
Durch die Umstellung auf HTTPS/Authentifizierung waren auch Änderungen in den Rückmeldungen des ioB nötig (ua. beim Regen...). Da funktioniert die Auswertung der Rückgabewerte ohne "jq" nicht mehr ;)jq = wenige kiloByte großer JSON-Parser unter Linux
-
@SBorg Den Zugang konnte ich über eine Seite von Sainlogic auf der Station in der Werkseinstellung konfigurieren. Dort konnte ich die Daten für Weathercloud, Underground, mein WLAN-Zugangsdaten und die Zeitzone einstellen. Mehr leider nicht. Danach starte die Station mit einer IP in meinem WLAN. Ich kann sie jetzt auch in WIFI-Connect versetzen, so dass ich mich mit dem Handy (Android) mit dem jetzt sichtbarem WLAN der Station verbinden kann. Doch egal welches ich der 7 Geräte in der WS VIEW App auswähle, die App kann sich nicht mit der Station verbinden. Ich bin im Moment ratlos ...
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Dort konnte ich die Daten für Weathercloud, Underground, mein WLAN-Zugangsdaten und die Zeitzone einstellen. Mehr leider nicht.
:( nicht gut...
Ich weiß nicht wie gut deine Netzwerkkenntnisse sind und wie viel Aufwand du betreiben möchtest, aber wenn es keine Möglichkeit gibt deine Station entsprechend zu konfigurieren, dann wird es aufwändig.
Das Ganze basiert einfach darauf, dass man sich die WU - URL mit den Daten an einen lokalen Rechner schicken lässt. Diese URL mit den Daten hast du zwar auch, nur schickt er es halt direkt an WU.
Wenn man einen eigenen DNS-Server (geht auch mit PiHole) aufsetzt (mit einer Fritz!Box geht es leider nicht) und die Namensauflösung nicht mehr von der Fritz!Box oä. sondern vom eigenen DNS übernehmen lässt, kann man die Domain-Adresse von WU auf einen eigenen Rechner "umbiegen". So käme man auch an die Daten. -
@Legoracer70 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Dort konnte ich die Daten für Weathercloud, Underground, mein WLAN-Zugangsdaten und die Zeitzone einstellen. Mehr leider nicht.
:( nicht gut...
Ich weiß nicht wie gut deine Netzwerkkenntnisse sind und wie viel Aufwand du betreiben möchtest, aber wenn es keine Möglichkeit gibt deine Station entsprechend zu konfigurieren, dann wird es aufwändig.
Das Ganze basiert einfach darauf, dass man sich die WU - URL mit den Daten an einen lokalen Rechner schicken lässt. Diese URL mit den Daten hast du zwar auch, nur schickt er es halt direkt an WU.
Wenn man einen eigenen DNS-Server (geht auch mit PiHole) aufsetzt (mit einer Fritz!Box geht es leider nicht) und die Namensauflösung nicht mehr von der Fritz!Box oä. sondern vom eigenen DNS übernehmen lässt, kann man die Domain-Adresse von WU auf einen eigenen Rechner "umbiegen". So käme man auch an die Daten.@SBorg Ok, hört sich erstmal kompliziert an:anguished: . Ich werde mich mal rein lesen ...
Trotzdem danke erstmal:+1: -
Erst mal das "Einfache"...
@Rushmed Ich habe da so eine Ahnung (denn bei mir funktioniert es ;) ). Du nutzt wahrscheinlich- kein OpenSenseMap?
- und hast wahrscheinlich vergessen jq zu installieren?
Falls bei
which jqkein Verzeichnis als Antwort kommt:sudo apt-get install jq
Durch die Umstellung auf HTTPS/Authentifizierung waren auch Änderungen in den Rückmeldungen des ioB nötig (ua. beim Regen...). Da funktioniert die Auswertung der Rückgabewerte ohne "jq" nicht mehr ;)jq = wenige kiloByte großer JSON-Parser unter Linux
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
sudo apt-get install jq
Volltreffer, danke.
-
Wird sich zukünftig auch überprüfen lassen:

-
Hallo,
vielleicht stand es hier schon irgendwo.
aber die Innentemperatur wird bei mit mit 2 nachkommastellen angezeigt, kann ich das umstellen? -
Hallo,
vielleicht stand es hier schon irgendwo.
aber die Innentemperatur wird bei mit mit 2 nachkommastellen angezeigt, kann ich das umstellen?@eviltrooper Hi, nö, aber je nach dem was du mit dem Datenpunkt anstellst bzw. anstellen willst, kannst du es ja in NodeRED, Blockly, JS, VIS, Grafana etc. abstellen.
-
@eviltrooper Hi, nö, aber je nach dem was du mit dem Datenpunkt anstellst bzw. anstellen willst, kannst du es ja in NodeRED, Blockly, JS, VIS, Grafana etc. abstellen.
@SBorg
ja ist mir auch gerade eingefallen.. ich dummbeutel.. im VIS kann ich das ja auch einstellen..
Sorry für die dumme Frage :D -
@SBorg
ja ist mir auch gerade eingefallen.. ich dummbeutel.. im VIS kann ich das ja auch einstellen..
Sorry für die dumme Frage :D@eviltrooper sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ich dummbeutel.. im VIS kann ich das ja auch einstellen..
Sorry für die dumme FrageVeto, es gibt hier keine Dummbeutel oder dumme Fragen. Ich vergesse auch mal was oder sehe den Wald vor lauter Bäumen nicht immer :joy:
Die Materie ist ja auch ziemlich komplex und vielen fremd ;)