NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@sborg Inzwischen habe ich eine ECOWITT, prinzipiell scheint es zu funktioniert, doch der Datentyp scheint nach einem Restart des Services zu wechseln.
Zuerst diese Fehler im Log:
simple-api.0 2025-10-16 11:01:30.680 info State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Jahr" has to be type "number" but received type "string" simple-api.0 2025-10-16 11:01:30.680 info State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Monat" has to be type "number" but received type "string" simple-api.0 2025-10-16 11:01:30.680 info State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Woche" has to be type "number" but received type "string"dann habe ich die Objekte angepasst, nach einem Service Neustart dann aber diese Fehler:
simple-api.0 2025-10-16 11:46:03.183 info State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Jahr" has to be type "string" but received type "number" simple-api.0 2025-10-16 11:46:03.182 info State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Woche" has to be type "string" but received type "number" simple-api.0 2025-10-16 11:46:03.182 info State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Tag" has to be type "number" but received type "string" simple-api.0 2025-10-16 11:46:03.052 info State value to set for "0_userdata.0.Wetterstation.Info.Sonnenschein_Monat" has to be type "number" but received type "string" simple-api.0 2025-10-16 11:46:03.052 info State value to set for "0_userdata.0.Wetterstation.Info.Sonnenschein_Tag" has to be type "number" but received type "string"Weiterhin noch Fehler beim Start bzw. wenn man den Status abfragen tut:
iobroker@n51-ubuntu:~$ systemctl status wetterstation ● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; preset: enabled) Active: active (running) since Thu 2025-10-16 11:29:41 CEST; 1min 59s ago Main PID: 1206786 (wetterstation.s) Tasks: 5 (limit: 9171) Memory: 2.8M (peak: 4.4M) CPU: 2.150s CGroup: /system.slice/wetterstation.service ├─1206786 /bin/bash /home/iobroker/bresser/wetterstation.sh ├─1207672 /bin/bash /home/iobroker/bresser/wetterstation.sh ├─1207673 timeout 66 nc -nlvw 1 -p 1080 ├─1207674 tail -1 └─1207675 nc -nlvw 1 -p 1080 Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207406]: /home/iobroker/bresser/wetterstation.sub: line 730: "0_userdata.0.Wetterstation.tempData.Sonnenschein" /86400: syntax error: operand expected (error token is ""0_userdata.0.Wetterstation.tempData.Sonnenschein" /86400") Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207407]: /home/iobroker/bresser/wetterstation.sub: line 731: "0_userdata.0.Wetterstation.tempData.Sonnenschein" /3600: syntax error: operand expected (error token is ""0_userdata.0.Wetterstation.tempData.Sonnenschein" /3600") Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207408]: /home/iobroker/bresser/wetterstation.sub: line 732: "0_userdata.0.Wetterstation.tempData.Sonnenschein" % 86400 /3600: syntax error: operand expected (error token is ""0_userdata.0.Wetterstation.tempData.Sonnenschein" % 86400 /3600") Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207409]: /home/iobroker/bresser/wetterstation.sub: line 733: "0_userdata.0.Wetterstation.tempData.Sonnenschein" % 3600 /60: syntax error: operand expected (error token is ""0_userdata.0.Wetterstation.tempData.Sonnenschein" % 3600 /60") Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207410]: /home/iobroker/bresser/wetterstation.sub: line 734: "0_userdata.0.Wetterstation.tempData.Sonnenschein" % 60: syntax error: operand expected (error token is ""0_userdata.0.Wetterstation.tempData.Sonnenschein" % 60") Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1206786]: /home/iobroker/bresser/wetterstation.sub: line 736: [: : integer expression expected Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1206786]: /home/iobroker/bresser/wetterstation.sub: line 742: [: : integer expression expected Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207429]: (standard_in) 1: syntax error Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207438]: (standard_in) 1: syntax error Okt 16 11:30:47 n51-ubuntu wetterstation.sh[1207441]: (standard_in) 1: syntax error iobroker@n51-ubuntu:~$Aber wie gesagt, prinzipiell funktioniert es.
@etgermany
Zu String/Number siehe @icebear
Ich hatte noch eine Vermutung, dass der Simple-API ein Problem mit "Int" bzw. "Float" hat. So kann bspw. Temperatur=3 (also Integer) sein, oder halt zB. 3.1 (Float). Deswegen habe ich dann mal auf Temperatur=3.0 konvertiert (also eine Integer in Float). Ergebnis: keine Änderung. Keinerlei System wann er was als String/Number erkennt. Mal geht es, mal nicht. Das kam irgendwann mit einem Update des Simple-API oder JSC.
Mögliche Lösung wäre der Switch zur Rest-API. Allerdings ist dies nicht einfach ein umstellen des Aufrufes, sondern bedarf schon einer größeren Programmierarbeit.Der letzte Fehler sollte sich dann auch erledigt haben. Das kann passieren wenn man gerade anfängt und die Aüßeren Umstände ungünstig waren. Sollte sich dann mit dem ausführen der ersten Mitternachtjobs erledigt haben. Dann liegen alle Werte vor (sollte dennoch auch beim 1. Start nicht auftreten).