NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
sudo /home/iobroker/wetterstation.sh --debug
dietpi@DietPi:/home/iobroker$ sudo /home/iobroker/wetterstation.sh --debug wetterstation: ERROR #000 - Config-Version mismatch! benutzt: V2.0.0 benötigt wird: V1.4.0
-
@Negalein Wie hast du upgedatet?
sudo /home/iobroker/ws_updater.sh
-
-
@Negalein hast du vorher die Dateien:
wetterstation.sh
wetterstation.sub
ws-updater.shaus der 2.0 Version nach /home/iobroker kopiert? Zur Sicherheit kopiere die Dateien jetzt und führe den ws-updater aus.
-
@Negalein poste mal die Ausgabe von:
head wetterstation.sh wetterstation.sub wetterstation.conf
-
@Negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
benutzt: V2.0.0 benötigt wird: V1.4.0
Bedeutet, dass es Version 1.4 ist, mittels Updater aber auf V2.0 geupdated wurde. Falsche sub/sh, bzw. vergessen zu kopieren?
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ühre den ws-updater aus
dietpi@DietPi:/home/iobroker$ sudo ./ws_updater.sh 'bc' installiert: ✓ 'jq' installiert: ✓ Version ist aktuell, nothing to do...
head wetterstation.sh wetterstation.sub wetterstation.conf
dietpi@DietPi:/home/iobroker$ head wetterstation.sh wetterstation.sub wetterstation.conf ==> wetterstation.sh <== #!/bin/bash # V2.0.0 - 15.12.2020 (c) 2019-2020 SBorg # # wertet ein Datenpaket einer WLAN-Wetterstation im Wunderground-Format aus, konvertiert dieses und überträgt # die Daten an den ioBroker # # benötigt den 'Simple RESTful API'-Adapter im ioBroker, 'jq' und 'bc' unter Linux # # V2.0.0 / 15.12.2020 - + Unterstützung des Gateways und Zusatzsensoren (@a200) ==> wetterstation.sub <== #!/bin/bash ### Subroutinen V2.0.0 -------------------------------------------------------- #Bezeichnung der Datenpunkte DP_TEMP_INNEN=${PRE_DP}.Innentemperatur DP_TEMP_AUSSEN=${PRE_DP}.Aussentemperatur DP_TAUPUNKT=${PRE_DP}.Taupunkt DP_CHILL=${PRE_DP}.Chillfaktor DP_FEUCHTE_INNEN=${PRE_DP}.Innenfeuchtigkeit ==> wetterstation.conf <== ### Settings V2.0.0 ----------------------------------------------------------- #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte debug=false #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=10.0.1.200:8087 #Protokoll der Wetterstation [1/2] / 1=Wunderground ; 2=Ecowitt / default: 1 WS_PROTOKOLL=1 dietpi@DietPi:/home/iobroker$
-
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Hallo,
bei mir sind schon seit einigen Tagen die Datenpunkte
"0_userdata.0.Statistik.Wetter.aktueller_Monat.Temperatur_Durchschnitt"
und
"0_userdata.0.Statistik.Wetter.VorTag.Temperatur_Durchschnitt"
identisch miteinander. Sie werden jeden Tag neu beschrieben, aber eben beide immer mit dem selben Wert. Das ist doch so nicht normal oder?Hat das noch jemand? Bei mir waren es Vorgestern bspw. 8.4°C, Gestern dann 7.6°C und aktuell ~2°C (halt ohne Statistik).
-
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
sudo /home/iobroker/wetterstation.sh --debug
dietpi@DietPi:~$ sudo /home/iobroker/wetterstation.sh --debug Connection to 10.0.1.200 8087 port [tcp/*] succeeded! Listening on [0.0.0.0] (family 2, port 1080) 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 Chill-Faktor : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h Windböengeschwindkeit : km/h max. Windböe : km/h Windrichtung : ° Windrichtung : 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 Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Firmware : Batteriestand: : Gateway-Modell : Zusatzsensoren: keine Datenstring für ioBroker: DATA von Wetterstation: Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 10.0.1.200:8087 WS_PORT: 1080 WS_POLL: 16 PRE_DP: javascript.0.Wetterstation WEB: HTTP WS_PROT: Wunderground DP50/100: 0 | 0 Script-Version: V2.0.0 Config-Version: V2.0.0 Sub-Version: V2.0.0 Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
gehen
es steht zwar
Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?
,
aber die DP sind wieder aktuell! -
@Negalein ok. dein Cronjob steuert jetzt. Jetzt müssten alle 2 min deine Werte aktualisiert werden. Problem gelöst?!
Was für ein Updateintervall hast du in der WS-App stehen?
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ok. dein Cronjob steuert jetzt. Jetzt müssten alle 2 min deine Werte aktualisiert werden.
alle 30 Sek.
Problem gelöst?!
Ja, danke dir
Was für ein Updateintervall hast du in der WS-App stehen?
16 Sek.
-
@Negalein dann viel Spaß noch. Und schön alle Probleme melden, denn nur so können wir die Skripte verbessern.
-
@SBorg
Die Werte ändern sich auch täglich. Ich kann mir nur schwer vorstellen, dass zufälligerweise jeden Tag die aktuelle Monatsdurchschnittstemperatur immer der Durchschnittstemperatur vom Vortag entspricht.
-
@sonystar Danke, jetzt habe ich es auch kapiert
Jepp, die müssen gleich sein. Nicht weil sie es sollen, sondern weil ich auf zwei unterschiedliche Arten das Gleiche berechne...
Immerhin komme ich auf das selbe ErgebnisAber Späßken beiseite, ich habe da eine "Kleinigkeit" übersehen. Die Monatswerte zur Berechnung sind in Wirklichkeit nur die Vortageswerte. Deswegen müssen zumindest beide Berechnungen identisch sein. Leider ist es letztendlich dann doch keine Kleinigkeit, aber ich denke schon eine Lösung dafür parat zu haben. Denn jeden Tag zig tausend Datensätze abzugrasen macht nur auf einem performanten System Spaß: mein 16GB, 3.4GHz Quadcore vs. 3er PI = 5 Sekunden zu ~ 2 Minuten Verarbeitungszeit...
-
@SBorg Kann man dafür nicht mit einem temporären Datenpunkt arbeiten? Jeden Tag wird die Durchschnittstemp des Vortages in einem Datenpunkt hinzuaddiert. Diesen temporären Datenpunkt dann einfach durch die aktuelle Tageszahl im Monat teilen = aktuelle Durchschnittstemp im Monat.
Aber so einfach wie ich es mir vorstelle ist es wahrscheinlich nicht.
-
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Kann man dafür nicht mit einem temporären Datenpunkt arbeiten?
Könnte man, ist aber nicht mal nötig
Die Berechnung des Tagesdurchschnittes bleibt gleich, denn der funktioniert: alle Werte des Tages addieren und durch die Anzahl teilen.
Meistens (wie auch in diesem JS) nutzt man nur den "state" (=Wert )eines Objekts. Das Zauberwort ist hier Objekts, denn das enthält wesentlich mehr als nur den Wert. ZB. "die letzte Änderung", "die letzte Aktualisierung", "Maßeinheit" ... und auch den "vorherigen Wert". Ich muss also nur den vorherigen Wert (=Vorvortag) + aktuellen Wert (=Vortag) addieren und durch 2 Teilen = korrekter Monatsdurchschnitt -
Also das verstehe ich nicht. Wenn ich deinen Beitrag richtig verstanden habe meinst du diese Rechnung:
Korrekter Monatsdurchschnitt wären hier 4,67. Nach deiner Rechnung komme ich dann aber nur auf 4,275.
-
@sonystar Gut nochmal darüber gesprochen zu haben
Deine Beispielrechnung "meiner" Berechnungsmethode stimmt so aber auch nicht (ergäbe ~4.4°)Beispielreihe: 2, 4, 6
Mittelwert: (2+4+6)/3 = 4
"Meine_was_auch_immer": (2+4)/2 = 3; (3+6)/2 = 4.5 [also +0.5 Differenz zum Mittelwert]Interessant wenn man nun die Beispielreihe ändert: 6, 4, 2
Mittelwert: (6+4+2)/3 = 4
"Meine_was_auch_immer": (6+4)/2 = 5; (5+2)/2 = 3.5 [also -0.5 Differenz zum Mittelwert]In Relation zum Mittelwert ergibt dies also eher eine Trendberechnung.
Bleibt also leider doch nur der Umweg über einen Hilfsdatenpunkt der die bisherigen Tagesdurchschnitte des Monats enthält...
...auch nicht einfacher wäre wohl die Tagesdurchschnitte per History/Influx für x Tage zu loggen und diese auszuwerten.
Muss ich mir noch mal in Ruhe überlegen.