NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
hab gerade das update ausführen wollen: es kommt ein Fehler mit tmp.file
'bc' installiert: [✓] 'jq' installiert: [✓] 'dc' installiert: [✓] 'unzip' installiert: [✓] 'patch' installiert: [✓] Zugriff auf 'Rest-API' im ioBroker: [✓] Aktuelle Version (latest) auf GitHub: V3.4.0 vom 20.07.2024 Version im aktuellen Verzeichnis : V3.2.0 Informationen zum Release V3.4.0: ───────────────────────────────────────────────────────────── Neu/Änderungen im Release: ~ Fix "Kommunikationsfehler" bei Gateways mit Firmware ab V3.1.1 / Issue #71 ~ Fix am ws_updater, Restart des Service wird nach Update nicht ausgeführt Soll ein Update von WLAN-Wetterstation durchgeführt werden? [J/N]: j Führe Update aus... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 Warning: Failed to open the file tmp.zip: Keine Berechtigung 3 41690 3 1369 0 0 1802 0 0:00:23 --:--:-- 0:00:23 1802 curl: (23) Failure writing output to destination unzip: cannot find or open tmp.zip, tmp.zip.zip or tmp.zip.ZIP. rm: das Entfernen von 'tmp.zip' ist nicht möglich: Datei oder Verzeichnis nicht gefunden _ _______ __ __ __ __ | | / / ___/ / / / /___ ____/ /___ _/ /____ _____ | | /| / /\__ \______/ / / / __ \/ __ / __ `/ __/ _ \/ ___/ | |/ |/ /___/ /_____/ /_/ / /_/ / /_/ / /_/ / /_/ __/ / |__/|__//____/ \____/ .___/\__,_/\__,_/\__/\___/_/ V3.4.0 /_/ 'bc' installiert: [✓] 'jq' installiert: [✓] 'dc' installiert: [✓] 'unzip' installiert: [✓] 'patch' installiert: [✓] Zugriff auf 'Rest-API' im ioBroker: [✓] Soll die wetterstation.conf nun auf die neue Version V3.4.0 gepatcht werden? [J/N]:
Was läuft da krumm?
Angemeldet natürlich als normaler user (nicht root). -
@tritor sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Warning: Failed to open the file tmp.zip: Keine Berechtigung
curl: (23) Failure writing output to destinationWo stehst du da mit welchem user?
Kurz:
Komplette Eingabezeile inkl. LoginPrompt zeigen. -
hat sich erledigt.
user ist gernot
der war auch in der Gruppe iobroker, aber hatte nicht die richtigen Rechte für /home/iobroker/Rechte für das Vezeichnis gesetzt: chmod g+w iobroker
und schon lief das update... -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Neues Release des Wetterstation WLAN-Skriptes auf GitHub V3.4.0
- ~ Fix "Kommunikationsfehler" bei Gateways mit Firmware ab V3.1.1 / Issue #71
- ~ Fix am ws_updater, Restart des Service wird nach Update nicht ausgeführt
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
Update ist optional, außer man nutzt ein Gateway mit einer Firmware größer/gleich V3.1.1
Update gemacht, jetzt kommt auch eine Abfrage, danke dir. Läuft......
-
Frage zu den DP100 RAW Daten:
was sollte da ausgegeben werden? Ich hab eine HP1000SE-PRO_Pro_V1.9.0, bekomme aber keine Daten bei der Kommunikation:
WLAN-Wetterstation V3.4.0 - (c)2019-2024 by SBorg Config-Version: V3.4.0 Sub-Version : V3.4.0 'bc' installiert: [✓] 'jq' installiert: [✓] 'dc' installiert: [✓] [sudo] password for iobroker: 'nc' in der Openbsd-Variante installiert: [✓] 'netcat' in Openbsd-Variante aktiv, alles korrekt [✓] Connection to 192.168.10.161 8087 port [tcp/*] succeeded! [ { "id": "0_userdata.0.Wetterstation.Innentemperatur", "val": 24.22 }, { "id": "0_userdata.0.Wetterstation.Aussentemperatur", "val": 20.22 }, { "id": "0_userdata.0.Wetterstation.Taupunkt", "val": 17.23 }, { "id": "0_userdata.0.Wetterstation.Gefuehlte_Temperatur", "val": 20.22 }, { "id": "0_userdata.0.Wetterstation.Innenfeuchtigkeit", "val": 63 }, { "id": "0_userdata.0.Wetterstation.Aussenfeuchtigkeit", "val": 83 }, { "id": "0_userdata.0.Wetterstation.Wind", "val": 2.09 }, { "id": "0_userdata.0.Wetterstation.Wind_max", "val": 5.47 }, { "id": "0_userdata.0.Wetterstation.Windrichtung", "val": 25 }, { "id": "0_userdata.0.Wetterstation.Druck_absolut", "val": 990.31 }, { "id": "0_userdata.0.Wetterstation.Druck_relativ", "val": 1012.73 }, { "id": "0_userdata.0.Wetterstation.Regenrate", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Regen_Tag", "val": 5.41 }, { "id": "0_userdata.0.Wetterstation.Regen_Woche", "val": 5.41 }, { "id": "0_userdata.0.Wetterstation.Regen_Monat", "val": 8.89 }, { "id": "0_userdata.0.Wetterstation.Regen_Jahr", "val": 437.692 }, { "id": "0_userdata.0.Wetterstation.Sonnenstrahlung", "val": 97.5 }, { "id": "0_userdata.0.Wetterstation.UV_Index", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Zeitstempel", "val": "05.08.2024 18:35:13" }, { "id": "0_userdata.0.Wetterstation.Info.FW_Version", "val": "EasyWeatherV1.6.9" }, { "id": "0_userdata.0.Wetterstation.Info.Station_Batteriestatus", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Windboeen_max", "val": 18.34 }, { "id": "0_userdata.0.Wetterstation.Regen_Event", "val": 6.604 }, { "id": "0_userdata.0.Wetterstation.Regen_Stunde", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Info.Wetterstation_Gateway", "val": "HP1000SE-PRO_Pro_V1.9.0" }, { "id": "0_userdata.0.Wetterstation.Windrichtung_10min", "val": 304 }, { "id": "0_userdata.0.Wetterstation.Wind_10min", "val": 2.09 }, { "id": "0_userdata.0.Wetterstation.DP100.1.Bodenfeuchtigkeit", "val": 60 }, { "id": "0_userdata.0.Wetterstation.DP100.3.Bodenfeuchtigkeit", "val": 32 }, { "id": "0_userdata.0.Wetterstation.DP100.4.Bodenfeuchtigkeit", "val": 35 }, { "id": "0_userdata.0.Wetterstation.DP100.5.Bodenfeuchtigkeit", "val": 47 }, { "id": "0_userdata.0.Wetterstation.DP100.1.Batterie", "val": 1.3 }, { "id": "0_userdata.0.Wetterstation.DP100.3.Batterie", "val": 1.2 }, { "id": "0_userdata.0.Wetterstation.DP100.4.Batterie", "val": 1.3 }, { "id": "0_userdata.0.Wetterstation.DP100.5.Batterie", "val": 1.3 }, { "id": "0_userdata.0.Wetterstation.Regenstatus", "val": "kein Regen" }, { "id": "0_userdata.0.Wetterstation.UV_Belastung", "val": "keine" }, { "id": "0_userdata.0.Wetterstation.Windrichtung_Text", "val": "NW" }, { "id": "0_userdata.0.Wetterstation.Info.Hitzeindex", "val": "" } ] Messwerteblock: 24.22 20.22 17.23 20.22 63 83 2.09 5.47 25 990.31 1012.73 0 5.410 5.410 8.890 437.692 97.50 0 05.08.2024%2018:35:13 EasyWeatherV1.6.9 0 18.34 6.604 0 HP1000SE-PRO_Pro_V1.9.0 304 2.09 soilmoisture1 60 soilmoisture3 32 soilmoisture4 35 soilmoisture5 47 soilbatt1 1.3 soilbatt3 1.2 soilbatt4 1.3 soilbatt5 1.3 Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)! Temperatur Innen : 24.22 °C Temperatur Aussen : 20.22 °C Taupunkt : 17.23 °C Gefühlte Temperatur : 20.22 °C Luftfeuchte Innen : 63 % Luftfeuchte Aussen : 83 % Windgeschwindigkeit : 2.09 km/h Windgeschwindigkeit 10min : 2.09 km/h Windböengeschwindigkeit : 5.47 km/h Windböe max. : 18.34 km/h Windrichtung : 25 ° Windrichtung : NW Windrichtung 10min : 304 ° Luftdruck absolut : 990.31 hPa Luftdruck relativ : 1012.73 hPa Regenrate : 0 mm/h Regenstatus : kein Regen Regen seit Regenbeginn : 6.604 mm Regen Stunde : 0 mm Regen Tag : 5.410 mm Regen Woche : 5.410 mm Regen Monat : 8.890 mm Regen Jahr : 437.692 mm Regen Gesamt : mm Sonnenstrahlung : 97.50 W/m² UV-Index : 0 Zeitstempel : 05.08.2024 18:35:13 Firmware : EasyWeatherV1.6.9 Batteriestand: : 0 Gateway-Modell : HP1000SE-PRO_Pro_V1.9.0 Zusatzsensoren: soilmoisture1 : 60 soilmoisture3 : 32 soilmoisture4 : 35 soilmoisture5 : 47 soilbatt1 : 1.3 soilbatt3 : 1.2 soilbatt4 : 1.3 soilbatt5 : 1.3 Datenstring für ioBroker: 0_userdata.0.Wetterstation.Innentemperatur=24.22&0_userdata.0.Wetterstation.Aussentemperatur=20.22&0_userdata.0.Wetterstation.Taupunkt=17.23&0_userdata.0.Wetterstation.Gefuehlte_Temperatur=20.22&0_userdata.0.Wetterstation.Innenfeuchtigkeit=63&0_userdata.0.Wetterstation.Aussenfeuchtigkeit=83&0_userdata.0.Wetterstation.Wind=2.09&0_userdata.0.Wetterstation.Wind_max=5.47&0_userdata.0.Wetterstation.Windrichtung=25&0_userdata.0.Wetterstation.Druck_absolut=990.31&0_userdata.0.Wetterstation.Druck_relativ=1012.73&0_userdata.0.Wetterstation.Regenrate=0&0_userdata.0.Wetterstation.Regen_Tag=5.410&0_userdata.0.Wetterstation.Regen_Woche=5.410&0_userdata.0.Wetterstation.Regen_Monat=8.890&0_userdata.0.Wetterstation.Regen_Jahr=437.692&0_userdata.0.Wetterstation.Sonnenstrahlung=97.50&0_userdata.0.Wetterstation.UV_Index=0&0_userdata.0.Wetterstation.Zeitstempel=05.08.2024%2018:35:13&0_userdata.0.Wetterstation.Info.FW_Version=EasyWeatherV1.6.9&0_userdata.0.Wetterstation.Info.Station_Batteriestatus=0&0_userdata.0.Wetterstation.Windboeen_max=18.34&0_userdata.0.Wetterstation.Regen_Event=6.604&0_userdata.0.Wetterstation.Regen_Stunde=0&0_userdata.0.Wetterstation.Info.Wetterstation_Gateway=HP1000SE-PRO_Pro_V1.9.0&0_userdata.0.Wetterstation.Windrichtung_10min=304&0_userdata.0.Wetterstation.Wind_10min=2.09&0_userdata.0.Wetterstation.DP100.1.Bodenfeuchtigkeit=60&0_userdata.0.Wetterstation.DP100.3.Bodenfeuchtigkeit=32&0_userdata.0.Wetterstation.DP100.4.Bodenfeuchtigkeit=35&0_userdata.0.Wetterstation.DP100.5.Bodenfeuchtigkeit=47&0_userdata.0.Wetterstation.DP100.1.Batterie=1.3&0_userdata.0.Wetterstation.DP100.3.Batterie=1.2&0_userdata.0.Wetterstation.DP100.4.Batterie=1.3&0_userdata.0.Wetterstation.DP100.5.Batterie=1.3&0_userdata.0.Wetterstation.Regenstatus=kein Regen&0_userdata.0.Wetterstation.UV_Belastung=keine&0_userdata.0.Wetterstation.Windrichtung_Text=NW&0_userdata.0.Wetterstation.Info.Hitzeindex= DATA von Wetterstation: PASSKEY=xxxxxx&stationtype=EasyWeatherV1.6.9&dateutc=2024-08-05+16:35:13&tempinf=75.6&humidityin=63&baromrelin=29.906&baromabsin=29.244&tempf=68.4&humidity=83&winddir=25&winddir_avg10m=304&windspeedmph=1.3&windspdmph_avg10m=1.3&windgustmph=3.4&maxdailygust=11.4&rainratein=0.000&eventrainin=0.260&hourlyrainin=0.000&dailyrainin=0.213&weeklyrainin=0.213&monthlyrainin=0.350&yearlyrainin=17.232&solarradiation=97.50&uv=0&soilmoisture1=60&soilmoisture3=32&soilmoisture4=35&soilmoisture5=47&wh65batt=0&wh25batt=1&soilbatt1=1.3&soilbatt3=1.2&soilbatt4=1.3&soilbatt5=1.3&freq=868M&model=HP1000SE-PRO_Pro_V1.9.0 Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 192.168.10.161:8087 WS_PORT: 9080 WS_POLL: 25 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 | 5 | 0 | 0 | 0 WH31: 0 || WS90: 0 Bresser: 7009999 [0] Script-Version: V3.4.0 Config-Version: V3.4.0 Sub-Version: V3.4.0 Datenübertragung an awekas.at: (vor einer Veröffentlichung unbedingt zumindest das Passwort unkenntlich machen, ggf. auch die Station-ID[=Benutzername]) --2024-08-05 18:35:17-- https://ws.awekas.at/weatherstation/updateweatherstation.php?ID=XXXXX&PASSWORD=XXXXXXX&dateutc=2024-08-05+16:35:13&tempf=68.4&humidity=83&winddir=25&uv=0&windspeedmph=1.3&absbaromin=29.244&baromin=29.906&solarradiation=97.50&windgustmph=3.4&dailyrainin=0.213&indoortempf=75.6&indoorhumidity=63&softwaretype=IOWS Resolving ws.awekas.at (ws.awekas.at)... 195.189.4.166 Connecting to ws.awekas.at (ws.awekas.at)|195.189.4.166|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 36 [text/html] Saving to: 'STDOUT' - 0%[ ] 0 --.-KB/s t- 100%[=================================================>] 36 --.-KB/s in 0s 2024-08-05 18:35:17 (45.2 MB/s) - written to stdout [36/36]
Ich fürchte die Station gibt das nicht her, gehe ich da richtig in der Annahme?
-
@tritor
Sieht so aus:
Bei mir steht in den Daten der Wetterstation (gw2000):soilmoisture2=48&soilad2=207
-
@tritor
Jepp, da kommt aktuell nix, ev. mit dem nächsten FW-Upgrade für die Station.
Ich biete immer gerne alles an, ob man es nun braucht oder nicht, wobei mir 50% Feuchte mehr sagen als bspw. dann "128"@Boronsbruder
hast du es mal ausprobiert, landen da bei RAW Werte? -
@sborg
Jo, hab ich zufälligerweise gerade, aber kommt nixSo, alles zurück...
Nach der Suche im Debug und dem Umstellen der Simple-Api auf DEBUG kommen nun plötzlich die RAW-Werte...
Obwohl ich vorher schon z.B. den Service neu gestartet hatte...Also hats es der Neustart der Simple-API wahrscheinlich repariert..
Zuvor waren nämlich
{ "error": "datapoint \"0_userdata.0.Wetterstation.DP100.1.Raw\" not found" },
im Debug Mode des Wetterstation-Skripts
nebenbei noch:
{ "error": "datapoint \"0_userdata.0.Wetterstation.FT0300_Temperatur_1\" not found" }, { "error": "datapoint \"0_userdata.0.Wetterstation.FT0300_Feuchte_1\" not found" },
Sind die normal oder hab ich in der Config was verpatzt?
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
wobei mir 50% Feuchte mehr sagen als bspw. dann "128"
Echt?
-
@boronsbruder
IMO ein Bug im Simple-API (ev. soll es auch so sein) aber der kriegt von neu angelegten DPs während der Laufzeit nichts mit. Eigentlich schreibe ich es immer dazu, habe ich aber diesmal vergessen. Jaja, das Alter...Die FT0300 werden automatisch erkannt, also kein Fehler in deiner Config. Da sie mit den neueren FW-Version des 2000er Gateways an den Bezeichnern geschraubt haben, schau mal in deinem Datenstring ob da nun eins von beiden, oder gar beides drin steht:
temp1f= humidity1=
Dann ist logisch warum er einen FT0300 erkennt, müsste ich dann auch noch fixen
-
-
@boronsbruder
Danke, kommt davon wenn man einen PR auf GitHub annimmt und es mangels Hardware nicht testen kann. Der Bug existiert dann bereits seit 08. Februar 2023, ist nur keinem aufgefallen. Geht auch nur im Debug-Modus und wenn man gleichzeitig DP50/100 Sensoren hat. Birgt aber kein echtes Problem während der Runtime, nur "Schönheitsfehler" beim Debug. Soll aber trotzdem nicht sein
Tausche mal bitte in der "wetterstation.sh" so bei Zeile ~#322 den Block### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ########################### if [[ ${MESSWERTERAWIN[$i]} == temp1f=* ]] then MESSWERTE[28]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertFtoC 28; fi if [[ ${MESSWERTERAWIN[$i]} == humidity1=* ]] then MESSWERTE[29]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ################## ENDE ###
mit diesem aus, dann sollte beim Debug Ruhe sein
### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ########################### if [ "${ANZAHL_DP50}" -eq "0" ] || [ "${ANZAHL_DP100}" -eq "0" ]; then if [[ ${MESSWERTERAWIN[$i]} == temp1f=* ]] then MESSWERTE[28]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); convertFtoC 28; fi if [[ ${MESSWERTERAWIN[$i]} == humidity1=* ]] then MESSWERTE[29]=$(echo ${MESSWERTERAWIN[$i]}|cut -d"=" -f2); fi fi ### zusätzliche Sainlogic oder Curconsa Sensoren, Station FT0300 ################## ENDE ###
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
if [ "${ANZAHL_DP50}" -eq "0" ] || [ "${ANZAHL_DP100}" -eq "0" ]; then
funktionert. Kein Gemecker mehr im Debug
-
@boronsbruder
Merci, kommt dann in die nächste Version. Extra dafür eine neue Version publishen lohnt irgendwie nicht -
@sborg Bei mir wird seit letztem Freitag 0_userdata.0.Wetterstation.Info.Solarenergie_Tag und 0_userdata.0.Wetterstation.Info.Sonnenschein_Tag_Text nicht mehr zuverlässig zurückgesetzt.
In der Nacht musste ich den Server mehrmals neu starten, vermutl. hat sich da etwas verschluckt.
Ich habe 0_userdata.0.Wetterstation.Info.Solarenergie_Tag mittels 0_userdata.0.Wetterstation.tempData.Solarenergie jetzt schon dreimal repariert, damit zumindest die aktuellen Werte wieder stimmen.
Per Updater kann ich nicht einfach drüberbügeln. Ich würde als nächstes versuchen die .sh und die .sub im Verzeichnes mit den Dateien von Github zu überschreiben. Ist es da sinnvoll vorher 0_userdata.0.Wetterstation.tempData.Solarenergie und zu leeren oder irgendwie anders vorzubereiten?Scriptversion 3.4
-
@rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
In der Nacht musste ich den Server mehrmals neu starten, vermutl. hat sich da etwas verschluckt.
Wenn das gegen 23:58 Uhr war dann ja, da laufen die Mitternachtjobs die dafür verantwortlich sind.
Das dürfte aber nur die Tageswerte betreffen, die summieren sich dann einfach auf (also "gestern" + "heute" steht dann bei "heute"). Mit dem nächsten Lauf um 23:58 Uhr sollte er dann die Tageswerte auf "0" setzen und die doppelten Tageswerte auf Woche, Monat und Jahr aufrechnen.Beim händischen Eingriff in die Routine bzw. Datenpunkte muss man allerdings folgendes wissen/beachten:
Eingriffe in die Datenpunkte dürfen nur bei deaktiviertem Skript erfolgen!
Grund ist folgender: die Werte liegen alle im RAM des Rechners (performanter, weniger Schreib-/Lesezugriffe im System). Kommt nun ein Datenpaket von der Station wird zum Wert im RAM der neue Wert hinzuaddiert und in "tempData" als Backup angelegt und in den entsprechenden Datenpunkt geschrieben.
"tempData" wird hier nicht weiter benutzt, da kann man also zur Laufzeit reinschreiben was man will, mit dem nächsten Datenpaket wird das wieder überbügelt. Selbes gilt für den normalen Datenpunkt.
"tempData" wird nur beim Start des Skriptes einmalig gelesen, damit man den letzten Stand vor Fehler, Reboot, Absturz... wieder hat, denn sonst wären auch die Wochen, Monats und Jahreswerte über die Wupper (es liegt halt alles im RAM).
Also wenn nötig Skript stoppen, den/die Daten unter tempData editieren und Skript starten. Dann baut er darauf die weiteren Werte wieder auf.@rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Per Updater kann ich nicht einfach drüberbügeln. Ich würde als nächstes versuchen die .sh und die .sub im Verzeichnes mit den Dateien von Github zu überschreiben. Ist es da sinnvoll vorher 0_userdata.0.Wetterstation.tempData.Solarenergie und zu leeren oder irgendwie anders vorzubereiten?
Brauchst du eigentlich nicht versuchen, dann müsste die sh/sub schon einen Fehler haben damit das dein Problem fixt. Ich vermute dein Grund liegt wie oben geschildert, du hast zwar Werte editiert/kopiert, aber dabei das Skript laufen lassen.
Der Updater macht im Grunde auch nichts anderes, der lädt die aktuelle Version von GitHub und kopiert die einfach über deine Installation drüber. Nur patcht er dann auch die conf auf die neue Version, damit man nicht jedesmal dort alles neu eintragen muss.
...und wenn du in tempData alles auf "0" setzt, fängst du wirklich wieder bei "0" an. Deine bisherigen Daten wird er dir dann mit dem nächsten Datenpaket auf "0 + aktuellem Wert der Station" ersetzen.Auch wenn tempData erst mal harmlos aussieht, hier liegen die aktuellen Tages-, Wochen-, Monats- und Jahreswerte. Sind die weg, steht alles auf "0". Ich habe es bereits etliche Male erwähnt und nutze die Gelegenheit hier nochmals, die Datenpunkte habt ihr ja hoffenlich per bspw. BackitUp gesichert, einfacher ist aber die drei DPs per History-Adapter zu sichern. Ich nehme hier sicherheitshalber drei Tage. Da kann man im Fall der Fälle relativ einfach an den letzten korrekten Datensatz herankommen ohne ein kpl. Backup wieder herstellen zu müssen
-
@sborg Puh, danke für die ausfühliche Beschreibung ich beobacht das mal weiter.
-
@SBorg
Ich han da mol a Frach:
Bei mir ist vorhin die Internetverbindung zusammengebrochen.
Ab diesem Zeitpunkt wurden keine Daten mehr im Iobroker geschrieben. Die Wetterstation ist aber über LAN erreichbar.
Es scheint so, dass irgendwas im Skript verhindert, dass der nächste Datensatz geschrieben werden kann, weil ein Timeout fehlt.
Kann das sein, dass daran die Verbindung (oder besser nicht-Verbindung) zu AWEKAS schuld ist?
Ich hab nämlich mal die Internetverbindung getrennt und folgendes im Debug-Log gefunden und musste den eigentlich einmaligen Durchlauf dann terminieren:--2024-09-05 20:50:40-- https://ws.awekas.at/weatherstation/updateweatherstation.php?ID=ITSME&PASSWORD=1234&dateutc=2024-09-05+18:48:28&tempf=70.16&humidity=81&winddir=194&uv=0&windspeedmph=0.67&absbaromin=28.186&baromin=29.811&solarradiation=0.00&windgustmph=2.24&dailyrainin=0.008&indoortempf=81.86&indoorhumidity=56&softwaretype=IOWS Auflösen des Hostnamens ws.awekas.at (ws.awekas.at)… 195.189.4.166 Verbindungsaufbau zu ws.awekas.at (ws.awekas.at)|195.189.4.166|:443 … fehlgeschlagen: Die Wartezeit für die Verbindung ist abgelaufen. Erneuter Versuch. --2024-09-05 20:52:52-- (Versuch: 2) https://ws.awekas.at/weatherstation/updateweatherstation.php?ID=ITSME&PASSWORD=1234&dateutc=2024-09-05+18:48:28&tempf=70.16&humidity=81&winddir=194&uv=0&windspeedmph=0.67&absbaromin=28.186&baromin=29.811&solarradiation=0.00&windgustmph=2.24&dailyrainin=0.008&indoortempf=81.86&indoorhumidity=56&softwaretype=IOWS Verbindungsaufbau zu ws.awekas.at (ws.awekas.at)|195.189.4.166|:443 … ^C
Zwischen den Versuchen liegen schon mal 2 Minuten...
-
@boronsbruder
"wget" hat einen Default-Timeout von 900 Sekunden. Solange wird er also versuchen sein Datenpaket loszuwerden.
Zeile ~#2012 in der sublocal MESSAGE=$(wget -qO- "${AWEKAS_URL}")
ändern in
local MESSAGE=$(wget -qO- --timeout=15 "${AWEKAS_URL}")
sollte das fixen. Wenn er in 15 Sekunden das Datenpaket nicht los wird, stimmt extern irgendwas nicht. Er ist aber wieder ready ein Datenpaket von der Station zu empfangen.
-
@sborg
Ich werde das mal testen
Mir ist aber gerade aufgefallen, dass im Wetterstations-Log weit über 15 Minuten keine Daten kamen:PASSKEY=XXXX&stationtype=GW2000A_V3.1.4&runtime=4281915&heap=147048&dateutc=2024-09-05+17:39:14&tempinf=81.32&humidityin=56&baromrelin=29.784&baromabsin=28.160&tempf=74.12&humidity=77&winddir=234&windspeedmph=0.67&windgustmph=2.24&maxdailygust=8.05&solarradiation=1.72&uv=0&rainratein=0.000&eventrainin=0.051&hourlyrainin=0.000&dailyrainin=0.008&weeklyrainin=0.059&monthlyrainin=0.059&yearlyrainin=22.547&totalrainin=22.547&temp1f=75.38&humidity1=76&soilmoisture1=50&soilad1=258&soilmoisture2=48&soilad2=207&soilmoisture3=52&soilad3=269&soilmoisture4=54&soilad4=273&soilmoisture5=27&soilad5=176&wh65batt=0&wh25batt=0&batt1=0&soilbatt1=1.6&soilbatt2=1.7&soilbatt3=1.4&soilbatt4=1.3&soilbatt5=1.1&freq=868M&model=GW2000A&interval=30 PASSKEY=XXXX&stationtype=GW2000A_V3.1.4&runtime=4284692&heap=150960&dateutc=2024-09-05+18:25:31&tempinf=81.50&humidityin=57&baromrelin=29.805&baromabsin=28.180&tempf=71.42&humidity=82&winddir=173&windspeedmph=2.01&windgustmph=4.47&maxdailygust=8.05&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.051&hourlyrainin=0.000&dailyrainin=0.008&weeklyrainin=0.059&monthlyrainin=0.059&yearlyrainin=22.547&totalrainin=22.547&temp1f=73.04&humidity1=80&soilmoisture1=50&soilad1=257&soilmoisture2=48&soilad2=207&soilmoisture3=52&soilad3=269&soilmoisture4=54&soilad4=273&soilmoisture5=27&soilad5=176&wh65batt=0&wh25batt=0&batt1=0&soilbatt1=1.6&soilbatt2=1.7&soilbatt3=1.4&soilbatt4=1.4&soilbatt5=1.1&freq=868M&model=GW2000A&interval=30
dateutc=2024-09-05+17:39:14 bis dateutc=2024-09-05+18:25:31
Wann wird das Log geschrieben?
Nicht dass das Gateway keine Daten gesendet hat, weil es keine Verbindung zum Internet hatte?
-
@boronsbruder
Hmm, Gateway bin ich außen vor, allerdings hatte ich auch schon öfters ein abgestürtzes Internet. Da kamen nach Wiederherstellung ziemlich zügig wieder Daten an.Zumindest fast 45 Minuten kommt IMO nicht vom Skript, muss ich mir aber noch mal anschauen.
Das Ganze ist eine Endlosschleife:- warte auf ein Datenpaket
- verarbeite dies in zig Schritten
- mach den Beikram wie Min/Max etc.
- führe bei Bedarf 5,6 oder 15 Minutenjobs aus
- Mitternacht? --> Mitternachtjobs
- sende die Daten an die aktivierten Dienste
- und zum Schluß bevor wir einen neuen Durchlauf starten schreibe die Logzeile