NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@icebear sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Mir ist jetzt grad aufgefallen, das warum auch immer in den DP's bei Windrichtung_Text und Windrichtung_Text_10min bei mir immer die gleiche Windrichtung als Text angezeigt wird, obwohl die Gradzahl unterschiedlich ist.
Hast du seit der Installation den ioB schon mal neu gestartet? Oft verhaspelt sich der JSC wenn viele Datenpunkte (und wir haben mittlerweile viele, sehr viele
) per JS angelegt werden. Der Datenpunkt ist dann da und sieht gut aus, funktioniert aber nicht.
Auch wäre interessant ob er die Daten ("LC") auch ändert. Pauschal ein Problemchen bei dir vor Ort und kein generelles Problem. Da hätte sich bestimmt der Ein oder Andere schon gemeldet und bei mir funktioniert es auch erwartungsgemäß:
-
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
Hast du seit der Installation den ioB schon mal neu gestartet? Oft verhaspelt sich der JSC wenn viele Datenpunkte (und wir haben mittlerweile viele, sehr viele ) per JS angelegt werden. Der Datenpunkt ist dann da und sieht gut aus, funktioniert aber nicht.
Ok. Guter Hinweis, da ich am WE eh meinen Docker Container updaten wollte , werd ich dann mal drauf achten.
-
@icebear
Die "kleine" Lösung funktioniert auch meistens. WEB-, JS- und Simple-API-Adapter anhalten, kurz warten und wieder starten.
Das passiert nur (aber auch nicht immer) wenn mittels derwetterstation.js
alle Datenpunkte (=frische Installation) neu angelegt wurden.
Ich hatte es aber auch schon bei einem Datenpunkt den ich für ein anderes Projekt per JS angelegt hatte. Ich habe damals zig Stunden nach dem Fehler gesucht "der Datenpunkt ist doch da, warum schreibt er zum f*ck da nicht drauf...". -
@sborg
Danke für die Information.@icebear und @Negalein haben mich schon auf meinen Gedanken-Fehler aufmerksam gemacht.
Wäre schön, wenn bei der Erklärung der Werte in der Conf beim InfluxDB-Eintrag dabei stehen würde, dass Daten zurückgelesen werden (wenn sie eingetragen sind) und das Shell-Skript es selbst braucht um Daten zu berechnen. Das war mir nicht klar.
Danke für die Skripte und Deinen Aufwand.
-
Hallo,
ich hatte gehofft keine Probleme zu bekommen. Aber ich bin schon stolzer Besitzer einer Ecowitt WP90 mit Gateway 2000.
Ich bekomme keine Werte angezeigt. Bei ausführen von ./wetterstation.sh --debug erscheint:
WLAN-Wetterstation V3.5.2 - (c)2019-2025 by SBorg Config-Version: V3.5.2 Sub-Version : V3.5.2 'bc' installiert: [✓] 'jq' installiert: [✓] 'dc' installiert: [✓] 'nc' in der Openbsd-Variante installiert: [✓] 'netcat' in Openbsd-Variante aktiv, alles korrekt [✓] Connection to 172.16.0.102 8081 port [tcp/*] succeeded! parse error: Invalid numeric literal at line 1, column 10 (standard_in) 1: syntax error (standard_in) 1: syntax error /home/wetter/wetterstation/wetterstation.sub: line 858: [: : integer expression expected Messwerteblock: Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)! Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C Gefühlte Temperatur : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindigkeit : km/h Windgeschwindigkeit 10min : km/h Windböengeschwindigkeit : km/h Windböe max. : km/h Windrichtung : ° Windrichtung : Windrichtung 10min : ° Luftdruck absolut : hPa Luftdruck relativ : hPa Regenrate : mm/h Regenstatus : Regen seit Regenbeginn : mm Regen Stunde : mm Regen Tag : mm Regen Woche : mm Regen Monat : mm Regen Jahr : mm Regen Gesamt : mm Sättigungsdefizit : kPa Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Firmware : Batteriestand: : Gateway-Modell : Zusatzsensoren: Datenstring für ioBroker: DATA von Wetterstation: Debug VAR: Installationsverzeichnis: /home/wetter/wetterstation IPP: 172.16.0.102:8081 WS_PORT: 1080 WS_POLL: 20 PRE_DP: 0_userdata.0.Wetterstation WEB: HTTP WS_PROT: Ecowitt Zusatzsensoren: DP10/35/40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 WH31: 0 || WS90: 0 Bresser: 7009999 [0] Script-Version: V3.5.2 Config-Version: V3.5.2 Sub-Version: V3.5.2 Kommunikationsfehler!
Die Conf seht ihr hier:
### Settings V3.5.2 ----------------------------------------------------------- #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte debug=false #Verhalten bei Kommunikationsfehler [true/false] / default: false / Soll der Datenpunkt automatisch resettet werden? RESET_KOMFEHLER=false #Logging einschalten [true/false] / default: false / schreibt die Datenstrings der Station in eine Datei logging=false #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=172.16.0.102:8081 #Protokoll, ioBroker-IP und Port der Rest-API [http(s)://xxx.xxx.xxx.xxx:xxxxx] / leer lassen falls nicht benutzt RESTAPI_URL= RESTAPI_USER= RESTAPI_PW= #Protokoll der Wetterstation [1/2/9] / 1=Wunderground ; 2=Ecowitt ; 9=DNS / default: 2 WS_PROTOKOLL=2 #Anzahl der vorhandenen Zusatzsensoren Froggit, Ecowitt und Bresser / default: 0 ANZAHL_WH31=0 ANZAHL_WS90=0 ANZAHL_DP10=0 ANZAHL_DP35=0 ANZAHL_DP40=0 ANZAHL_DP50=0 ANZAHL_DP60=0 ANZAHL_DP70=0 ANZAHL_DP100=0 ANZAHL_DP200=0 ANZAHL_DP250=0 ANZAHL_DP300=0 ANZAHL_7009999=0 #Protokoll (HTTP oder HTTPS) / default: HTTP WEB=HTTP #Ignoriere Zertifikatsfehler bei der Simple-Restful-API [true/false] / default: false / nötig bei eigenen Zertifikaten WEB_IGN_SSL_ERROR=false #User-Authentifizierung falls benutzt; sonst leer lassen AUTH_USER= AUTH_PASS= #Port der Wetterstation WS_PORT=1080 #Pollintervall der Wetterstation in Sekunden (minimal 16 Sekunden) WS_POLL=20 #Name/ID der Wetterstation WS_ID=ZuHause #wo sollen die Datenobjekte abgelegt werden PRE_DP=0_userdata.0.Wetterstation #InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen #Protokoll (HTTP oder HTTPS) / default: HTTP INFLUX_WEB=HTTP #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx] INFLUX_API=172.16.0.101:8086 #Bucket, Token und Organisation der InfluxDB INFLUX_BUCKET=iobroker INFLUX_TOKEN=xxx INFLUX_ORG=homelab #letztes Regenereignis als [DATUM], [UNIX]-Timestamp oder [DIFF]erenz ("vor xx Tagen") # DATUM = 28.04.2020 13:12 # UNIX = 1588074964 # DIFF = gerade eben / vor einer Stunde / vor 23 Stunden / vor einem Tag / vor 12 Tagen LAST_RAIN=DIFF #Text-Format für Datenpunkte "Sonnenschein_[Tag|Woche|Monat|Jahr]_Text" # zweistellig wird ggf. mit einer führenden "0" aufgefüllt # d = Tag(e) 0...n ein- und mehrstellig / h = Stunden 0...n ein- oder mehrstellig # hh = Stunden zweistellig (00...23) / mm = Minuten zweistellig (00...59) / ss = Sekunden zweistellig (00...59) # # Beispiel: 68 Stunden, 2 Minuten und 15 Sekunden # # Auswahl | Ausgabe im Datenpunkt # ---------------------------------------------------------------------------- # [0] = h Std. mm Min. ss Sek. | 68 Std. 02 Min. 15 Sek. # [1] = h:mm | 68:02 # [2] = d Tag/e h Std. | 2 Tage 20 Std. # [3] = d Tag/e, h Std, m Min | 2 Tage, 20 Std, 2 Min (Anzeige Tage erst bei >0) SONNENSCHEIN_TXTFORMAT=3 #Daten an Wetter.com senden (leer lassen falls nicht gewünscht)? WETTERCOM_ID= WETTERCOM_PW= #Daten an Wunderground.com senden? [true/false] / default: false #Nur nötig und sinnvoll bei WS_PROTOKOLL=9 (DNS) wenn trotzdem auch Daten weiterhin an Wunderground.com gesendet werden sollen. WUNDERGROUND_UPDATE=false #Windrichtung und -geschwindigkeit der letzten 10 Minuten anstelle aktueller Werte an #windy/OpenSenseMap/wetter.com übertragen? [true/false] / default: false USE_AVG_WIND=false #Fix aktivieren bei fehlerhafter Außentemperatur [true/false] / default: false #Bei unplausiblem Messwert wird kein Datenpaket an den ioB geschickt FIX_AUSSENTEMP=false !!REST ABGESCHNITTEN!!
Hier die Config in der App:
file:///home/daniel/Schreibtisch/Screenshot_20250927_170456_com.ost.ecowitt.jpgHier habe ich den Test einmal ohne "/" im Pfad gemacht, sowie einmal mit (/ steht da ja bereits) funktioniert hat beides leider nicht.
-
@taddy81 Auf den ersten Blick: IPP=172.16.0.102:8081; hier ist der Port falsch,! Richtig ist wahrscheinlich (standard) 8087.
-
@taddy81 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ANZAHL_WS90=0
Heisst dein Sensor WP90 oder WS90?
Wenn WS90 dann in der config eintragen.Und in deiner App steht unter SPEICHERN -> DEAKTIVIERT?
-
Habs gelöst. Danke ihr beiden!
Nun kann ich mich daran begeben, ein Dashboard zu basteln.
-
@taddy81
Mich würde interessieren, wo der Fehler war?
Nur dass wir alle dazulernen -
Neues Release des Wetterstation WLAN-Skriptes auf GitHub V3.6.0
- + Regenereignis für Piezo-Sensoren / Issue #82
- + Unterstützung für WS80 und WH40H Sensoren
Wie immer zu finden im GitHub
Update-Routine von Vorgängerversion:
- aktuellen WS-Updater nutzen
./ws_updater.sh
im Installationsverzeichnis ausführen- Menüpunkt "4" wählen und die Fragen beantworten
- wetterstation.js muss ebenfalls im JavaScript-Adapter ersetzt und einmalig ausgeführt werden (neuer Datenpunkt .Regenereignis); bei aktivierter Rest-API wird der Datenpunkt automatisch im ioB angelegt (1)
(1) es empfiehlt sich danach den Simple-API-Adapter neu zu starten (entweder per WebIF oder einfach
iob restart simple-api.0
)
Update kann durchgeführt werden, wenn man passende Sensoren hat/nutzt.
Hinweis: Bei Regensensoren die auf Piezo-Technik basieren (IMO nur ws80/90) und entsprechender Firmware wird nun der Datenpunkt "Regenereignis" als "0" bzw. "1" übergeben (0=kein Regen, 1=Regen). Im Gegensatz zu den Trichtermodellen mit Wippe werden hier schon einzelne Regentropfen detektiert. Eignet sich also nun tatsächlich als aktuelle Regenanzeige, um bspw. die Markise einzufahren.