NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
-
@kaybau
Allerdings fragt man sich dann auch warum der Wettermast einen Batteriestatus hat. Das die "Stromfresser" der Sensoren ohne Batterie nicht mehr funktionieren Ok, aber für eine Batteriewarnung sollte es zumindest reichen...
Mir ist dann mal wieder eine Idee gekommen (so von wegen wird keine großartigen neue Versionen mehr geben, ist ja alles drin [aber was interessiert mich denn auch mein vorheriges Gelaber...] )
Man sieht, frühe Beta. Bisher:
- Skript gestartet
- Mitternachtjobs durchgeführt
- unplausibler Messwert Aussentemperatur. Datenpaket verworfen.
Letzteres tritt dann bei Temperaturen unter -273°C auf und aktiviertem 'Tempfix' in der conf. Könnte man auch wieder zählen und bei Anzahl X dann eine Batteriewarnung ausgeben
Eigentlich sieht man ja auch an den diversen TS' ob das Skript noch lebt, trotzdem überlege ich gerade noch im Raster X ev. einen "Alive" zu senden. Meinungen, Wünsche ... -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Neue Version des JavaScriptes Wetterstation-Statistik auf GitHub V1.1.2
mit dieser Version bekomme ich in
0_userdata.0.Statistik.Wetter.VorTag
nur 'null'-Werte, ihr auch? -
-
@latzi sagte in [Linux Shell-Skript] WLAN-Wetterstation:
mit dieser Version bekomme ich in 0_userdata.0.Statistik.Wetter.VorTag nur 'null'-Werte, ihr auch?
passt bei mir auch
-
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
11,22 °C Höchsttemperatur?
Hast du die Station in einer Höhle stehen? -
-
@latzi Nicht zwangsläufig. Influx V1 oder V2? Nach wie vor läuft offiziell alles nur unter V1. Falls du Änderungen für V2 vorgenommen hattest fehlen die in dieser Version
-
@negalein jetzt wo du es sagst... sültsam. schau da aber so gut wie nie rein.
gefindet. hab vergessen den quellpfad auszubessern. woodywetter lauft bei mir auch unter 0_userdata, nicht javascript. -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Falls du Änderungen für V2 vorgenommen hattest fehlen die in dieser Version
Ja, die Änderungen für die influx V2 hab ich nachgezogen, dabei dürfte etwas schief gegangen sein. Hab wieder auf die V1.1.1 zurückgestellt - läuft wieder. Das Thema muss ich mir nochmals in Ruhe geben, ich dachte mir, dass ich nur die beiden
sendto
- Statements ersetzen muss - hat aber offensichtlich nicht geklappt -
@latzi Klick mal bei GitHub auf die Versionsnummer vom Skript, dann siehst du die Änderungen v1.1.1 zu v1.1.2 (wichtig sind nur - und + Zeilen)
Das sind nur drei mickrige Zeilen (eine davon ist die Versionsnummer). Wenn du die änderst, hast du auch schon die V1.1.2*EDIT* Ok, vier Zeilen, habe den Kommentar vergessen...
-
Neue Beta-Version des Wetterstation WLAN-Skriptes auf GitHub V2.15.0
(Beta-Releases lassen sich nicht! über den ws_updater installieren, nur die *.conf lässt sich damit patchen [s.u.])
- + neuer DP "Meldungen"; für Status- und Fehlermeldungen
Wie immer zu finden im GitHub
Update-Routine:
- wetterstation.sh und wetterstation.sub ersetzen
- wetterstation.js muss ebenfalls im JavaScript-Adapter ersetzt und einmalig ausgeführt werden (neuer Datenpunkt ".Info.Meldungen")
- (wetterstation.conf verbleibt aktuell in der Beta noch bei V2.14.0 / keine Änderungen bzw. kein ws-updater.sh nötig)
- nun mittels
systemctl restart wetterstation
den Service neu starten
Neu sind nun Meldungen unter .Info.Meldungen
Diese lauten aktuell:möglicherweise Batterie des Wettermastes schwach Skript läuft... Skript gestartet Mitternachtjobs durchgeführt unplausibler Messwert Aussentemperatur. Datenpaket verworfen...
Dies bedeutet im Einzelnen:
- wenn mehr als 10x ein Datenpaket empfangen wurde dessen Aussentemperaturwert kleiner als -273°C ist (Indiz für schwache/leere Batterie des Wettermastes). Fehlerzähler ist dynamisch = korrekte Pakete reduzieren den Fehlerzähler wieder. Es muss also rund 5 Minuten am Stück kein einzig verwertbares Paket mit korrektem Temperaturwert eingetroffen sein. Gleichzeitig wird .Info.Station_Batteriestatus auf "1" gesetzt!
- zu jeder vollen Stunde
- beim starten des Skriptes
- gegen 23:58 Uhr wenn die täglichen Jobs abgearbeitet wurden
- immer wenn ein Datenpaket bei der Aussentemperatur einen Wert kleiner als -273°C enthielt [nur aktiv bei aktiviertem Temperaturfix in der wetterstation.conf!]
-
@sborg
habe auf die Version 2.14 upgedated.
Soweit so gut, nun werden aber die Datenpunkte im ioBroker nicht automatisch upgedated.WLAN-Wetterstation V2.14.0 - (c)2019-2022 by SBorg Config-Version: V2.14.0 Sub-Version : V2.14.0 'bc' installiert: [✓] 'jq' installiert: [✓] 'nc' in der Openbsd-Variante installiert: [✓] 'netcat' in Openbsd-Variante aktiv, alles korrekt [✓] Connection to 192.168.10.161 8087 port [tcp/*] succeeded! jq: error (at <stdin>:0): Cannot iterate over null (null) jq: error (at <stdin>:0): Cannot iterate over null (null) [ { "id": "javascript.0.Wetterstation.Innentemperatur", "val": 29.11 }, { "id": "javascript.0.Wetterstation.Aussentemperatur", "val": 33.5 }, { "id": "javascript.0.Wetterstation.Taupunkt", "val": 18.83 }, { "id": "javascript.0.Wetterstation.Gefuehlte_Temperatur", "val": 33.5 }, { "id": "javascript.0.Wetterstation.Innenfeuchtigkeit", "val": 50 }, { "id": "javascript.0.Wetterstation.Aussenfeuchtigkeit", "val": 42 }, { "id": "javascript.0.Wetterstation.Wind", "val": 4.66 }, { "id": "javascript.0.Wetterstation.Wind_max", "val": 13.03 }, { "id": "javascript.0.Wetterstation.Windrichtung", "val": 166 }, { "id": "javascript.0.Wetterstation.Druck_absolut", "val": 989.91 }, { "id": "javascript.0.Wetterstation.Druck_relativ", "val": 1013.61 }, { "id": "javascript.0.Wetterstation.Regenrate", "val": 0 }, { "id": "javascript.0.Wetterstation.Regen_Tag", "val": 0 }, { "id": "javascript.0.Wetterstation.Regen_Woche", "val": 0 }, { "id": "javascript.0.Wetterstation.Regen_Monat", "val": 150.9 }, { "id": "javascript.0.Wetterstation.Regen_Jahr", "val": 198.9 }, { "id": "javascript.0.Wetterstation.Sonnenstrahlung", "val": 330.92 }, { "id": "javascript.0.Wetterstation.UV_Index", "val": 3 }, { "id": "javascript.0.Wetterstation.Zeitstempel", "val": "27.06.2022 17:18:43" }, { "id": "javascript.0.Wetterstation.Info.FW_Version", "val": "EasyWeatherV1.6.4" }, { "id": "javascript.0.Wetterstation.Info.Station_Batteriestatus", "val": 0 }, { "id": "javascript.0.Wetterstation.Windboeen_max", "val": 33.15 }, { "id": "javascript.0.Wetterstation.Regen_Event", "val": 0 }, { "id": "javascript.0.Wetterstation.Regen_Stunde", "val": 0 }, { "id": "javascript.0.Wetterstation.Info.Wetterstation_Gateway", "val": "HP1000SE-PRO_Pro_V1.6.9" }, { "id": "javascript.0.Wetterstation.DP100.1.Bodenfeuchtigkeit", "val": 61 }, { "id": "javascript.0.Wetterstation.DP100.2.Bodenfeuchtigkeit", "val": 39 }, { "id": "javascript.0.Wetterstation.DP100.3.Bodenfeuchtigkeit", "val": 45 }, { "id": "javascript.0.Wetterstation.DP100.4.Bodenfeuchtigkeit", "val": 28 }, { "id": "javascript.0.Wetterstation.DP100.5.Bodenfeuchtigkeit", "val": 0 }, { "id": "javascript.0.Wetterstation.DP100.1.Batterie", "val": 1.3 }, { "id": "javascript.0.Wetterstation.DP100.2.Batterie", "val": 1.3 }, { "id": "javascript.0.Wetterstation.DP100.3.Batterie", "val": 1.1 }, { "id": "javascript.0.Wetterstation.DP100.4.Batterie", "val": 1.1 }, { "id": "javascript.0.Wetterstation.DP100.5.Batterie", "val": 1.3 }, { "id": "javascript.0.Wetterstation.Regenstatus", "val": "kein Regen" }, { "id": "javascript.0.Wetterstation.UV_Belastung", "val": "mittel" }, { "id": "javascript.0.Wetterstation.Windrichtung_Text", "val": "SSO" }, { "id": "javascript.0.Wetterstation.Info.Hitzeindex", "val": "" } ] Messwerteblock: 29.11 33.50 18.83 33.50 50 42 4.66 13.03 166 989.91 1013.61 0 0 0 150.9 198.9 330.92 3 27.06.2022%2017:18:43 EasyWeatherV1.6.4 0 33.15 0 0 HP1000SE-PRO_Pro_V1.6.9 soilmoisture1 61 soilmoisture2 39 soilmoisture3 45 soilmoisture4 28 soilmoisture5 0 soilbatt1 1.3 soilbatt2 1.3 soilbatt3 1.1 soilbatt4 1.1 soilbatt5 1.3 Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)! Temperatur Innen : 29.11 °C Temperatur Aussen : 33.50 °C Taupunkt : 18.83 °C Gefühlte Temperatur : 33.50 °C Luftfeuchte Innen : 50 % Luftfeuchte Aussen : 42 % Windgeschwindkeit : 4.66 km/h Windböengeschwindigkeit : 13.03 km/h max. Windböe : 33.15 km/h Windrichtung : 166 ° Windrichtung : SSO Luftdruck absolut : 989.91 hPa Luftdruck relativ : 1013.61 hPa Regenrate : 0 mm/h Regenstatus : kein Regen Regen seit Regenbeginn : 0 mm Regen Stunde : 0 mm Regen Tag : 0 mm Regen Woche : 0 mm Regen Monat : 150.9 mm Regen Jahr : 198.9 mm Regen Gesamt : mm Sonnenstrahlung : 330.92 W/m² UV-Index : 3 Zeitstempel : 27.06.2022 17:18:43 Firmware : EasyWeatherV1.6.4 Batteriestand: : 0 Gateway-Modell : HP1000SE-PRO_Pro_V1.6.9 Zusatzsensoren: soilmoisture1 : 61 soilmoisture2 : 39 soilmoisture3 : 45 soilmoisture4 : 28 soilmoisture5 : 0 soilbatt1 : 1.3 soilbatt2 : 1.3 soilbatt3 : 1.1 soilbatt4 : 1.1 soilbatt5 : 1.3 Datenstring für ioBroker: javascript.0.Wetterstation.Innentemperatur=29.11&javascript.0.Wetterstation.Aussentemperatur=33.50&javascript.0.Wetterstation.Taupunkt=18.83&javascript.0.Wetterstation.Gefuehlte_Temperatur=33.50&javascript.0.Wetterstation.Innenfeuchtigkeit=50&javascript.0.Wetterstation.Aussenfeuchtigkeit=42&javascript.0.Wetterstation.Wind=4.66&javascript.0.Wetterstation.Wind_max=13.03&javascript.0.Wetterstation.Windrichtung=166&javascript.0.Wetterstation.Druck_absolut=989.91&javascript.0.Wetterstation.Druck_relativ=1013.61&javascript.0.Wetterstation.Regenrate=0&javascript.0.Wetterstation.Regen_Tag=0&javascript.0.Wetterstation.Regen_Woche=0&javascript.0.Wetterstation.Regen_Monat=150.9&javascript.0.Wetterstation.Regen_Jahr=198.9&javascript.0.Wetterstation.Sonnenstrahlung=330.92&javascript.0.Wetterstation.UV_Index=3&javascript.0.Wetterstation.Zeitstempel=27.06.2022%2017:18:43&javascript.0.Wetterstation.Info.FW_Version=EasyWeatherV1.6.4&javascript.0.Wetterstation.Info.Station_Batteriestatus=0&javascript.0.Wetterstation.Windboeen_max=33.15&javascript.0.Wetterstation.Regen_Event=0&javascript.0.Wetterstation.Regen_Stunde=0&javascript.0.Wetterstation.Info.Wetterstation_Gateway=HP1000SE-PRO_Pro_V1.6.9&javascript.0.Wetterstation.DP100.1.Bodenfeuchtigkeit=61&javascript.0.Wetterstation.DP100.2.Bodenfeuchtigkeit=39&javascript.0.Wetterstation.DP100.3.Bodenfeuchtigkeit=45&javascript.0.Wetterstation.DP100.4.Bodenfeuchtigkeit=28&javascript.0.Wetterstation.DP100.5.Bodenfeuchtigkeit=0&javascript.0.Wetterstation.DP100.1.Batterie=1.3&javascript.0.Wetterstation.DP100.2.Batterie=1.3&javascript.0.Wetterstation.DP100.3.Batterie=1.1&javascript.0.Wetterstation.DP100.4.Batterie=1.1&javascript.0.Wetterstation.DP100.5.Batterie=1.3&javascript.0.Wetterstation.Regenstatus=kein Regen&javascript.0.Wetterstation.UV_Belastung=mittel&javascript.0.Wetterstation.Windrichtung_Text=SSO&javascript.0.Wetterstation.Info.Hitzeindex= DATA von Wetterstation: PASSKEY=xxxxxx&stationtype=EasyWeatherV1.6.4&dateutc=2022-06-27+15:18:43&tempinf=84.4&humidityin=50&baromrelin=29.932&baromabsin=29.232&tempf=92.3&humidity=42&winddir=166&winddir_avg10m=129&windspeedmph=2.9&windspdmph_avg10m=3.6&windgustmph=8.1&maxdailygust=20.6&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=5.941&yearlyrainin=7.831&solarradiation=330.92&uv=3&soilmoisture1=61&soilmoisture2=39&soilmoisture3=45&soilmoisture4=28&soilmoisture5=0&wh65batt=0&wh25batt=0&soilbatt1=1.3&soilbatt2=1.3&soilbatt3=1.1&soilbatt4=1.1&soilbatt5=1.3&freq=868M&model=HP1000SE-PRO_Pro_V1.6.9 Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 192.168.10.161:8087 WS_PORT: 9080 WS_POLL: 25 PRE_DP: javascript.0.Wetterstation WEB: HTTP WS_PROT: Ecowitt DP35/40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 | 0 WH31: 0 Script-Version: V2.14.0 Config-Version: V2.14.0 Sub-Version: V2.14.0
Denke da hat's was mit Berechtigungen:
gfaigel@ioBroker-prox:/home/iobroker$ systemctl status wetterstation.service ● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Mon 2022-06-27 17:53:05 CEST; 6s ago Process: 10296 ExecStart=/home/iobroker/wetterstation.sh (code=exited, status=216/GROUP) Main PID: 10296 (code=exited, status=216/GROUP)
Leider sind meine Linux-Kenntnisse noch nicht so advanced, hoffe dazu gibt es eine Lösung.
-
Ich bekomme beim Statistik Script keine Daten.
Im Log steht zur Startzeit:2022-06-27 01:03:00.027 - info: javascript.0 (1073232) script.js.Wetter.Wetterstation_Statisitk: Auswertung durchgeführt... 2022-06-27 01:03:00.045 - warn: influxdb.0 (845) Error in query "select * FROM "0_userdata.0.Wetterstation.Aussentemperatur" WHERE time >= 1656194400000000000 AND time <= 1656280799000000000": HttpError: error @1:1-1:7: undefined identifier select error @1:10-1:14: undefined identifier FROM error @1:61-1:66: undefined identifier WHERE error @1:67-1:71: (v: A) => time (function) is not Equatable error @1:67-1:71: (v: A) => time (function) is not Comparable error @1:95-1:98: undefined identifier AND error @1:99-1:103: (v: A) => time (function) is not Equatable error @1:99-1:103: (v: A) => time (function) is not Comparable 2022-06-27 01:03:00.069 - warn: influxdb.0 (845) Error in query " select * FROM "0_userdata.0.Wetterstation.Wind_max" WHERE time >= 1656194400000000000 AND time <= 1656280799000000000": HttpError: error @1:2-1:8: undefined identifier select error @1:11-1:15: undefined identifier FROM error @1:54-1:59: undefined identifier WHERE error @1:60-1:64: (v: A) => time (function) is not Equatable error @1:60-1:64: (v: A) => time (function) is not Comparable error @1:88-1:91: undefined identifier AND error @1:92-1:96: (v: A) => time (function) is not Equatable error @1:92-1:96: (v: A) => time (function) is not Comparable 2022-06-27 01:03:00.078 - warn: influxdb.0 (845) Error in query " select * FROM "0_userdata.0.Wetterstation.Regen_Tag" WHERE time >= 1656194472000000000 AND time <= 1656280799000000000": HttpError: error @1:2-1:8: undefined identifier select error @1:11-1:15: undefined identifier FROM error @1:55-1:60: undefined identifier WHERE error @1:61-1:65: (v: A) => time (function) is not Equatable error @1:61-1:65: (v: A) => time (function) is not Comparable error @1:89-1:92: undefined identifier AND error @1:93-1:97: (v: A) => time (function) is not Equatable error @1:93-1:97: (v: A) => time (function) is not Comparable 2022-06-27 01:03:00.080 - error: influxdb.0 (845) queries: Error: 3 Error happened while processing 3 queries 2022-06-27 01:03:00.085 - error: javascript.0 (1073232) script.js.Wetter.Wetterstation_Statisitk: Fehler beim Lesen der InfluxDB: Invalid call 2022-06-27 01:03:00.086 - warn: javascript.0 (1073232) States system pmessage io.messagebox.system.adapter.javascript.0 {"command":"query","message":{"result":[],"error":"Invalid call"},"from":"system.adapter.influxdb.0","callback":{"message":"select * FROM \"0_userdata.0.Wetterstation.Aussentemperatur\" WHERE time >= 1656194400000000000 AND time <= 1656280799000000000; select * FROM \"0_userdata.0.Wetterstation.Wind_max\" WHERE time >= 1656194400000000000 AND time <= 1656280799000000000; select * FROM \"0_userdata.0.Wetterstation.Regen_Tag\" WHERE time >= 1656194472000000000 AND time <= 1656280799000000000","id":1,"ack":true,"time":1656284580026},"_id":29058831} Reduce of empty array with no initial value 2022-06-27 01:03:00.373 - warn: javascript.0 (1073232) TypeError: Reduce of empty array with no initial value at Array.reduce () at Object.cb (script.js.Wetter.Wetterstation_Statisitk:175:43) at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5809:71) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:322:37) at processImmediate (node:internal/timers:466:21)
Aber prinzipiell läuft das Script.
Was mach ich denn da wieder falsch?
-
@rushmed said in [Linux Shell-Skript] WLAN-Wetterstation:
2022-06-27 01:03:00.078 - warn: influxdb.0 (845) Error in query " select * FROM "0_userdata.0.Wetterstation.Regen_Tag" WHERE time >= 1656194472000000000 AND time <= 1656280799000000000": HttpError: error @1:2-1:8: undefined identifier select
@SBorg ich würde sagen, dass das ein Tippfehler ist. Es muss SELECT anstatt select heissen, oder?
(Zeile 157-159 und 407-409)'select * FROM "' + WET_DP + '.Aussentemperatur" WHERE time >= ' + (start *1000000) + ' AND time <= ' + (end *1000000) + '; select * FROM "' + WET_DP + '.Wind_max" WHERE time >= ' + (start *1000000) + ' AND time <= ' + (end *1000000) + '; select * FROM "' + WET_DP + '.Regen_Tag" WHERE time >= ' + ((start+72000) *1000000) + ' AND time <= ' + (end *1000000)
-
@tritor said in [Linux Shell-Skript] WLAN-Wetterstation:
status=216/GROUP
Welcher User bzw. Group ist im Service eingetragen?
-
ich glaube ich hab es hinbekommen:
das war es zuvor:systemctl cat wetterstation.service | grep Group Group=ioobroker
geändert auf:
systemctl cat wetterstation.service | grep Group Group=iobroker
Wie die Group auf ioobroker geändert wurde kann ich nicht nachvollziehen.
Daten werden nurn wieder übertragen - sehe das am Temperaturlogging.
Nur mit einigen Datenpunkten habe ich noch Probleme:
Druck_Tendenz: -1018 ((wird in rot angezeigt)
Wetter_Trend: Sturm mit Hagel (wird in rot angezeigt)
Wetter_aktuell: leer -
Hallo,
ich würde das Script auch gerne nutzen.
Influxdb läuft -> Version 1.x -> Adapter 2.6.3
Grafana läuft auchProbleme habe ich mit dem Script.
- Datenpunkte wurden angelegt
- Wetterstation Sainlogic WS3500 (ioBroker meint: WS2900_V2.01.18)
Ausgabe bei:
./wetterstation.sh --debug
Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 192.168.xxx.xxx:8087 WS_PORT: 9999 WS_POLL: 20 PRE_DP: javascript.0.Wetterstation WEB: HTTP WS_PROT: Wunderground DP35/40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 WH31: 0 Script-Version: V2.14.0 Config-Version: V2.14.0 Sub-Version: V2.14.0 Kommunikationsfehler! Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?
In der WS View App wurden folgende Einstellungen vorgenommen:
IP-Adresse, Station-ID sowie Key stimmen überein.Snifft das Script die Daten mit, oder sollte es diese von der Wetterstation aktiv abholen?
Über eine Hilfe wäre ich dankbar.
-
@rushmed Hmm, der kann mit keiner Abfrage mehr was anfangen. An einem Update (zB. Influx-Adapter etc.) kann es nicht liegen, ich bin auf latest und damit läuft es aktuell problemlos.
Deine Influx-DB ist aber noch V1?
-
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@SBorg ich würde sagen, dass das ein Tippfehler ist. Es muss SELECT anstatt select heissen, oder?
(Zeile 157-159 und 407-409)Eigentlich nicht. Zum einen funktioniert(e) es bisher (zumindest aktuell bei mir noch; hat sich auch noch kein anderer beschwert ), zum anderen, auch wenn es durch das WHERE, AND, FROM... so aussieht, ist das Ganze nicht case sensitiv. Reine Optik zur besseren Lesbarkeit