NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Meines Wissens sagte @Sborg irgendwann "Mein Skript schreibt nichts in die InfluxDB"
Mehr als einmal

Das macht der Influx-Adapter schon gut und komfortabel, da muss ich nicht nochmals das Rad erfinden.Lange nicht mitgelesen, lief ja;)
Noch eine (ggf schonmal beantwortete Frage) - wenn das Shell Skript ja keine direkte DB Verbindung hat, warum ist dann die Umstellung auf Influx2 relevant?
Das Interface zu Influx ist dann ja nur der Logging Adapter, der ja sowohl mit Influx 1 als auch 2 umgehen kann (neue Grafana Dashboards sind ein anderes Thema) ?Und wenn ich schon doofe Fragen stelle - ich nehme an die neueren "Smart" Geräte von Ecowitt (in meinem Fall WittFlow WFC01) werden eher nicht integriert werden oder?
Die pushen ja keine Wetterdaten sondern müssten per API abgefragt oder gesteuert werden, das ist ja ne völlig andere Logik...@rand sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Noch eine (ggf schonmal beantwortete Frage) - wenn das Shell Skript ja keine direkte DB Verbindung hat, warum ist dann die Umstellung auf Influx2 relevant?
Nicht zwingend. Guggst du https://github.com/SBorg2014/WLAN-Wetterstation/wiki bei den Werten.
Wenn du die Werte mit Punkt "4" nicht willst/brauchst, benötigst du auch keine InfluxDB. ZB. der Wert "Höchsttemperatur der letzten 24h" liefert die Station/Gateway nicht. Um den aber zu bestimmen brauche ich die Messwerte der letzten 24h = eine Datenbank. InfluxDB werden die meisten schon wegen Grafana haben, also brauche ich keine eigene programmieren. Selbst wenn, würde die nix besser machen (...und jeder Entwickler ist wohl faul, zumindest ich
, also warum nicht auf was fertiges zurückgreifen? ) 
Und wenn ich schon doofe Fragen stelle - ich nehme an die neueren "Smart" Geräte von Ecowitt (in meinem Fall WittFlow WFC01) werden eher nicht integriert werden oder?
Die pushen ja keine Wetterdaten sondern müssten per API abgefragt oder gesteuert werden, das ist ja ne völlig andere Logik...Gübbet keine doofen Fragen

Da ich, anders als manch Youtuber (nein, das kritisiere ich nicht), nicht davon lebe, ist die benötigte Hardware mein "Privatvergnügen". Soll heißen, ich muss es kaufen und kann es dann gar nicht selbst gebrauchen. Für eine API-Abfrage, welche natürlich implementierbar wäre falls sie zugänglich ist, genügt mir anders als bei den Stationen kein Datenstring den ich nach meinen Wünschen auch manipulieren (also bspw. einen statischen Messwert einpatche, um ihn zu simulieren) kann, braucht es hier schon Hardware.
Ich hatte mal bei Ecowitt zwecks Support/Unterstützung angefragt und sogar eine Zusage bekommen. Leider kam nie etwas an und das Ganze verlief im Sande. Wer also will und Zeit hat kann gerne mal einen Vorab-Kontakt herstellen. Vielleicht wollen sie jetzt ja auch schon gar nicht mehr. -
[erledigt]: DPs auf gemischt umgestellt.
Hab seit heute nach Update auf Ver 3.5 folgende Fehlermeldungen im logsimple-api.0 2025-05-26 01:43:13.088 info State value to set for "0_userdata.0.Wetterstation.Regen_Stunde" has to be type "number" but received type "string" simple-api.0 2025-05-26 01:43:13.086 info State value to set for "0_userdata.0.Wetterstation.Sonnenstrahlung" has to be type "number" but received type "string" simple-api.0 2025-05-26 01:43:13.083 info State value to set for "0_userdata.0.Wetterstation.Wind" has to be type "number" but received type "string" simple-api.0 2025-05-26 01:43:13.082 info State value to set for "0_userdata.0.Wetterstation.Taupunkt" has to be type "number" but received type "string" simple-api.0 2025-05-26 01:43:13.081 info State value to set for "0_userdata.0.Wetterstation.Innentemperatur" has to be type "number" but received type "string"Im wetterstation.js sind die DPs aber auch mit number definiert.
Wie bekomme ich das korrigiert? -
[erledigt]: DPs auf gemischt umgestellt.
Hab seit heute nach Update auf Ver 3.5 folgende Fehlermeldungen im logsimple-api.0 2025-05-26 01:43:13.088 info State value to set for "0_userdata.0.Wetterstation.Regen_Stunde" has to be type "number" but received type "string" simple-api.0 2025-05-26 01:43:13.086 info State value to set for "0_userdata.0.Wetterstation.Sonnenstrahlung" has to be type "number" but received type "string" simple-api.0 2025-05-26 01:43:13.083 info State value to set for "0_userdata.0.Wetterstation.Wind" has to be type "number" but received type "string" simple-api.0 2025-05-26 01:43:13.082 info State value to set for "0_userdata.0.Wetterstation.Taupunkt" has to be type "number" but received type "string" simple-api.0 2025-05-26 01:43:13.081 info State value to set for "0_userdata.0.Wetterstation.Innentemperatur" has to be type "number" but received type "string"Im wetterstation.js sind die DPs aber auch mit number definiert.
Wie bekomme ich das korrigiert?eigentlich ist alles richtig, aber... bei Werten mit Komma oder Punkt wertet der Simple-Api wohl das als String, daher musst du
entweder alle angemeckerten Datenpunkte manuell auf String aendern
oder
die Datenpunkte loeschen, und im Script anstatt Number String schreiben. -
eigentlich ist alles richtig, aber... bei Werten mit Komma oder Punkt wertet der Simple-Api wohl das als String, daher musst du
entweder alle angemeckerten Datenpunkte manuell auf String aendern
oder
die Datenpunkte loeschen, und im Script anstatt Number String schreiben. -
@neuschwansteini
und das Statistikskript funktioniert dann weiter wenn Daen als String kommen?
@tritor Ich habe es oben zwar gelesen, möchte aber trotzdem noch mal für ALLE darauf eingehen.
Die Datenpunkte die angemeckert werden bitte auf
gemischtumstellen. "String", wie in der Fehlermeldung, mag zwar auch funktionieren, aber ich konnte den genauen Fehler nicht analysieren. Entweder ist die Datenmenge für den Simple-API zu groß oder es kommt zu einem Timing-Problem. Eigentlich ist ein Wert von 1.2 (also float) immer eine Zahl, selbst 1 (also integer) sollte als Zahl erkannt werden.
Leider wird es mal als Zahl erkannt, mal als Text. Deswegen auch auf "gemischt" stellen, sonst meckert er dann wieder genau anders herum...has to be type "string" but received type "number"
Naxhteil von "gemischt" gibt es keinen direkten. InfluxDB loggt es als Zahl, History ebenfalls, das Statisk-Script interessiert es ebenfalls nicht. Nur wenn man per Javascript den Datentyp ("typeOf") abfragt erhält man nun nicht mehr "Number".
Ich muss mal schauen ob das mit der Rest-API besser funktioniert. Aber ihr ahnt es sicherlich schon, die Liebe Zeit...

-
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
Ich habe gestern die Ecowitt WG3000A erfolgreich eingebunden. Damit wird die Liste der kompatiblen Geräte wieder größer

@martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ecowitt WG3000A
welche ist das? Finde nur eine GW3000
-
@martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ecowitt WG3000A
welche ist das? Finde nur eine GW3000
-
@martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:
GW3000A
Merci
Ah, das ist nur das Gateway.
Was hast du da alles angebunden? -
@martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:
GW3000A
Merci
Ah, das ist nur das Gateway.
Was hast du da alles angebunden?@negalein
Das Gateway soll alle Ecowitt Geräte anbinden. Ich habe die alte Wetterstation, die ich mit dem Gateway GW1000A zusammen gekauft hatte ohne Probleme am neuen GW3000 anmelden und in den ioBroker integrieren konnte.
Zusätzlich habe ich den Bodefeuchtesensor DP51 (heisst DP100 bei Froggit) angebunden.Der GW3000 hat zusätzlich eine LAN-Schnittstelle, das erleichtert die Anbindung wenn man die zusätzliche Sicherheit einer LAN präferiert.
Ich hatte vor dem Umbau nach Kompatibilität und Anbindung recherchiert. Aber der GW3000 unterstützt das gesamte Ecowitt / Froggit Angebot. Die Einrichtung war wirklich einfach.Edit:
Beim großen Online Kaufhaus mit A*** gerade für ca. ca. 59 € im Angebot. -
@martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:
GW3000A
Merci
Ah, das ist nur das Gateway.
Was hast du da alles angebunden?@negalein
ist quasi der große Bruder vom GW2000 mit externer Antenne und glaube ich sogar ne SD-Karte ist möglich und in der Regel funktioneren alle Geräte der älteren Gateways.
Zumindest hat der Umstieg bzw. im Moment der Parallelbetrieb des gw1000 und gw2000 ohne Probleme funktionert.
Das GW1000 empfängt nur die Bodenfeuchte-Sensoren für die Steuerung meiner Bewässerung (und die Aussentemperatur weil sonst das Skript von @SBorg zickt :D)
So kannst übrigens auch nen Testlauf wegen Empfang machen. Einfach alle Sensoren in die neue Station einpflegen und dann die alte später abschalten. -
@negalein
ist quasi der große Bruder vom GW2000 mit externer Antenne und glaube ich sogar ne SD-Karte ist möglich und in der Regel funktioneren alle Geräte der älteren Gateways.
Zumindest hat der Umstieg bzw. im Moment der Parallelbetrieb des gw1000 und gw2000 ohne Probleme funktionert.
Das GW1000 empfängt nur die Bodenfeuchte-Sensoren für die Steuerung meiner Bewässerung (und die Aussentemperatur weil sonst das Skript von @SBorg zickt :D)
So kannst übrigens auch nen Testlauf wegen Empfang machen. Einfach alle Sensoren in die neue Station einpflegen und dann die alte später abschalten.@boronsbruder
Da war bei mir einfacher. Der GW3000 hat alle Geräte/Sensoren gefunden und automatisch eingelesen.
Und ja, er hat eine SD-Karte, die man Remote auslesen kann. Da läuft wohl ein kleiner Web-Server. Die Abfrage der Web-Schnittstelle ist nun auch per PW gesichert. -
@boronsbruder
Da war bei mir einfacher. Der GW3000 hat alle Geräte/Sensoren gefunden und automatisch eingelesen.
Und ja, er hat eine SD-Karte, die man Remote auslesen kann. Da läuft wohl ein kleiner Web-Server. Die Abfrage der Web-Schnittstelle ist nun auch per PW gesichert.@martybr
Das ist richtig. Ich gehe nur her und vergebe dann für die Anzeige Name und deaktiviere alle freien Slots, dass dort nicht immer nach neuen Geräte gesucht wird.


Nur zum Nachrüsten von neuen Geräten aktiviere ich die Kanäle
Ach ja, ich weiß nicht wie es beim 3000er ist, aber beim 2000er muss man die Regenzeit unter Rain-Totals einstellen. Steht standardmäßig nicht auf Januar und dann wird die Jahresmenge nicht richtig zurückgesetzt:

-
@martybr
Das ist richtig. Ich gehe nur her und vergebe dann für die Anzeige Name und deaktiviere alle freien Slots, dass dort nicht immer nach neuen Geräte gesucht wird.


Nur zum Nachrüsten von neuen Geräten aktiviere ich die Kanäle
Ach ja, ich weiß nicht wie es beim 3000er ist, aber beim 2000er muss man die Regenzeit unter Rain-Totals einstellen. Steht standardmäßig nicht auf Januar und dann wird die Jahresmenge nicht richtig zurückgesetzt:

@boronsbruder
Die Einstellung der Rücksetzzeit steht schon per Default am Januar. Der Reset Weekly wird mit Sunday vorbelegt.
Das ist ein interessanter Vorschlag mit dem deaktivieren der freien Kanäle. Dann können sie auch nicht gekapert werden.
Das werde ich so umsetzen, danke für den Tipp.
-
@boronsbruder
Die Einstellung der Rücksetzzeit steht schon per Default am Januar. Der Reset Weekly wird mit Sunday vorbelegt.
Das ist ein interessanter Vorschlag mit dem deaktivieren der freien Kanäle. Dann können sie auch nicht gekapert werden.
Das werde ich so umsetzen, danke für den Tipp.
ich hab die froggit wh4000 se
kann ich die dann also auch am GW3000 anlernen und mir das dumme Display-GW sparen?
-
ich hab die froggit wh4000 se
kann ich die dann also auch am GW3000 anlernen und mir das dumme Display-GW sparen?
@negalein
Ich vermute, dass die Ausseneinheit auch mit dem GW3000 funktioniert. Ist aber nur eine Vermutung. Laut Ecowitt funktionieren:1 - WS85 Sensor Array
1 - WS90 Sensor Array
1 - WS69 Sensor Array
1 - WS80 Sensor Array
1 - WS68 Sensor Array
1 - WH40 Regenmesser
1 - WH57 Blitzdetektor
1 - WH45/WH46 Luftqualitätssensor
1 - WN32 Außen-Temperatur- und Feuchtigkeitssensor
1 - WN32P Innenraum-Temperatur-, Feuchtigkeits- und Drucksensor
4 - WH55 Lecksucher
4 - LDS01 Laser-Entfernungssensor
4 - Jede Kombination von WH41 und WH43 Luftqualitätssensor (PM2.5)
8 - WN35 Blattfeuchtigkeitssensor
8 - Jede Kombination von Temperatursensoren WN34L, WN34S und WN34D
8 - Jede Kombination aus WN31/WN31_EP Temperatur- und Feuchtigkeitssensor, WN30 Temperaturfühler und WN36 Poolthermometer
16 - Jede Kombination von WH51 und WH51L Bodenfeuchtesensor
16 - Jede Kombination aus WFC01 Wasserzeitschaltuhr und AC1100 Smart Steckdose sowie WFC02 Kugelhahn-ZeitschaltuhrMeines Wissens nach hat die WH4000SE eine WS69 Ausseneinheit.
-
@negalein
Ich hab die Ausseneinheit Froggit WH4000SE an nem GW2000 am laufen. Sollte also auch am 3000er gehen.

-
@negalein
Ich hab die Ausseneinheit Froggit WH4000SE an nem GW2000 am laufen. Sollte also auch am 3000er gehen.

-
@sborg
Ich habe gestern die Ecowitt WG3000A erfolgreich eingebunden. Damit wird die Liste der kompatiblen Geräte wieder größer

@martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@sborg
Ich habe gestern die Ecowitt WG3000A erfolgreich eingebunden. Damit wird die Liste der kompatiblen Geräte wieder größer

Danke, nehme ich gerne mit auf (GW3000A)
-
@martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@sborg
Ich habe gestern die Ecowitt WG3000A erfolgreich eingebunden. Damit wird die Liste der kompatiblen Geräte wieder größer

Danke, nehme ich gerne mit auf (GW3000A)
Guten Tag,
ich habe beim Update von 3.00 auf 3.50 folgende Meldung gelesen:Zugriff auf 'Rest-API' im ioBroker: [✗]
(Dies ist kein Problem, es können nur keine neuen Datenpunkte bei Bedarf automatisch angelegt werden.
Dies muss im Fall neuer Datenpunkte per 'wetterstation.js' von Hand im ioBroker erfolgen.)Nun sehe ich meine Neuen Datenpunkte der zusätzlichen DP 50 im Iobroker nicht. Ich sehe nur die 8 die vorher installiert waren.
Leider habe ich keine Ahnung wie und wo ich die Datenpunkte eintragen muss?
Danke
Oliver
