NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Vorjahres-Monatsstatistik funktioniert auch bis auf den Regenwert:
Die Werte sind/werden berechnet, da es einen korrekten JSON-String erst ab September 2020 (Data/2020/09)gibt.
"0" oder falschen Wert würde ich noch verstehen, aber "Null" (= ohne Inhalt)... -
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@sonystar Ok, dann brauchst du Internet. Normalerweise sind ja Display/Gateway, Auswerte-Client (wo das Skript läuft [oder ggf. der ioB-Rechner, falls das Skript auf diesem läuft]) und ioBroker im selben Netz. Dann können die per WLAN/LAN kommunizieren.
Du brauchst aber vom Garten eine Internet-/VPN-Verbindung um sie quasi im selben Netz zu haben. Sonst hast du keine Verbindung zwischen Display/Gateway--> Auswerte-Rechner--> ioBrokerAuch die Konstellation Display/Gateway -->Auswerte-Rechner -->VPN(oder Internet)--> ioBroker funktioniert leider nicht (falls du bspw. einen PI im Garten hast), denn der Auswerte-Rechner/-Client/PI kommuniziert mittels der SimpleAPI mit dem ioB. Steht dann hier die VPN-Verbindung nicht, kann der Auswerte-Knecht seine Daten nicht an den ioB übermitteln.
"-->" = LAN-, WLAN- bzw. Internet-Verbindung
Entschuldige, da hab ich mich wohl etwas missverständlich ausgedruckt. Der Rechner auf dem das Skript läuft steht natürlich auch im Garten. Die Box erzeugt das WLAN für die Wetterstation. Alle Geräte im selben Netzwerk. Normalerweise sollte nach meinem Verständnis das Skript auch ohne Internet laufen.
-
@negalein Ich nehme es mal mit in die ToDo-Liste auf. Die API sieht gut aus, also Ja
...und 5-Minuten Jobs gibt es sogar bereits im Skript -
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Der Rechner auf dem das Skript läuft steht natürlich auch im Garten.
Ok, aber auch der ioB (siehe 2. Fall)? Falls der "Skript-Rechner" und der "ioB-Rechner" räumlich getrennt sind (also nicht die selbe Maschine ist), muss eine permanente Verbindung zwischen den beiden bestehen, denn der "Skript-Rechner" sendet seine Daten mittels Simple-API an den "ioB-Rechner".
Wenn also Display/Gateway und Auswerte-Rechner im Garten stehen und der ioB-Rechner bei dir zu Hause, dann brauchst du zwangsläufig eine Internetverbindung. Nicht für das Skript (Firmwarecheck + OSeM mal außen vorgelassen), aber quasi als Ersatz für eine LAN/WLAN-Verbindung zwischen Auswerte-PC und heimischen ioB-Rechner.
Steht der ioB-Rechner auch im Garten, will mir allerdings nichts sinnvolles einfallen, warum es dann ohne Inet nicht geht. Selbst der Firmwarecheck läuft nur 1x mal Tag gegen 23:58 Uhr. Da könnte er dann hängen bleiben. Das würde man aber dann an den Daten sehen. Geht es bis 23:58 Uhr ohne Internet und fällt dann bspw. um 23:59 Uhr aus, müsste ich die Routine verändern, damit er ohne Inet nicht hängen bleibt.
Testweise (wenn der ioB im Garten steht) kannst du auch in der wetterstation.sh mal nachMitternachtjobs
suchen.
Da machst du dann vor den Firmwarecheck einfach mal eine # :#firmware_check #neue Firmware
Außer OSeM ist dies der einzige Teil der Inet braucht.
-
Die Komplette Technik mit allem was dazugehört steht im Garten autark für sich (Extra für den Fall dass wenn mal die VPN Verbindung abbricht noch weiter Daten gesammelt werden). Lediglich die VIS Oberfläche hol ich mir per VPN nach Hause. Das Phänomen ist auch reproduzierbar. SIM-Karte raus -> schweigt die Wetterstation. SIM-Karte rein kommen wieder Daten.
Könnte das vielleicht mal jemand bei sich testen? Um festzustellen ob es an meiner Konfiguration liegt oder allgemein so ist.
Eventuell baut die FritzBox das WLAN ab wenn keine Unterverbindung herrscht?! Das müsste ich mal noch testen.
-
Technik verstanden
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:SIM-Karte raus -> schweigt die Wetterstation. SIM-Karte rein kommen wieder Daten.
Kann dann eigentlich nicht am Skript liegen. Ich prüfe nicht auf eine bestehende Internet-Verbindung oä. Läge es am Skript, würde dies nur gegen Mitternacht auftreten.
Ich nutze zwar nicht mehr das WLAN der Fritte, hatte aber früher öfters mal für ein paar Minuten Internetaussetzer. WLAN ist dabei aber funktionsfähig geblieben. Aber ev. läuft auf dem Rechner noch ein Dienst der ohne Internet nicht mehr will (zB. VPN falls nicht von der FritzBox, der die Systemlast dann auf 100% hoch schraubt oder ähnliches) und blockiert? -
So schön die Windy-API auch aussah, die "Doku" ist ein Chaos. Wimmelt von Fehlern und letztendlich bleibt nur try and error ...
Selbst nach mehreren Tagen bekomme ich noch immer keine Daten übermittelt, obwohl die API beim Senden munter SUCCESS meldet (Stichwort: "...data: null"):{"header":{"id":"noppe","type":"pws","agl_temp":2,"agl_wind":2,"cc":false,"elev_m":185,"lat":123,"lon":123,"name":"daheim","observation":null,"shareOption":"Open","stationId":0,"updated":"2021-05-15T16:12:43.002Z","observationUpdated":"2021-05-15T16:12:43.002Z","content":{"url":"","text":""},"stationType":"Eurochron EFWS 2900"},"data":null}
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
So schön die Windy-API auch aussah, die "Doku" ist ein Chaos. Wimmelt von Fehlern und letztendlich bleibt nur try and error ...
Oh, das hört sich nicht gut an.
Aber egal, war nur eine Idee als nettes Zuckerl.
Wenns nicht funktioniert, auch egal. Daran geht die Welt nicht unter. -
@negalein Nenene, dass kommt nicht in die Tüte
Manchmal muss man es einfach sacken lassen, da man den Wald vor lauter Bäumen nicht mehr sieht...Nach zwei Tagen Ruhe alles bisherige verworfen und eigentlich nun anders als ich wollte, aber es tuten tut mit den ersten Werten
..."data":{"ts":[1621250694515,1621251488213,1621252619994,1621253132000],"temp":[287.15,289.030000114441,287.370000267029,287.530000114441],"wind":[null,null,1.29,1.78],"pressure":[null,null,98534,98554],"weathercode":[null,null,null,null],"visibility":[null,null,null,null],"category":[null,null,null,null]}
Jetzt mal abwarten ob dann demnächst auch die Station auftaucht (soll bis ~2-3 Stunden dauern)...
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Nach zwei Tagen Ruhe alles bisherige verworfen und eigentlich nun anders als ich wollte, aber es tuten tut mit den ersten Werten
Super
Das freut mich!Ist wieder mal was für die Kaffeekassa fällig!
-
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ist wieder mal was für die Kaffeekassa fällig!
Deswegen mache ich es aber nicht
Sodele, Station ist nun auch bei Windy zu sehen:
und Daten pollen auch alle 5 Minuten einer:"data":{"ts":[1621250694515,1621251488213,1621252619994,1621253132000,1621253404000,1621253708000,1621254027000,1621254300000,1621254620000,1621254908000,1621255227000,1621255502000,1621255803000,1621256108000,1621256428000,1621256733000,1621257004000,1621257308000,1621257627000,1621257932000,1621258204000,1621258508000,1621258827000,1621259131000,1621259403000],"temp":[287.15,289.030000114441,287.370000267029,287.530000114441,287.920000457764,288.15,288.530000114441,288.530000114441,289.030000114441,288.65,288.259999656677,288.530000114441,287.870000267029,287.370000267029,286.920000457764,288.259999656677,288.15,287.759999656677,287.15,287.65,288.030000114441,288.030000114441,287.420000457764,287.15,287.030000114441],"wind":[null,null,1.29,1.78,0.58,1.51,2.01,0.58,1.38,2.59,0.8,0.98,0.98,0.71,1.92,3.21,2.1,3.08,2.41,1.51,3.7,2.27,1.29,2.18,2.41],"pressure":[null,null,98534,98554,98544,98564,98564,98581,98564,98544,98564,98564,98571,98554,98554,98544,98564,98554,98544,98534,98544,98523,98544,98523,98523],"weathercode":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"visibility":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"category":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]}}
Zu "weather code", "visibilty" und "category" kann ich nix sagen, kommt nicht von mir (der Auszug ist aus der Windy-Datenbank generiert).
Den Patcher auf V2.6.0 habe ich auch fertig, so dass zeitnah eine erste Testversion folgen kann. Die läuft zwar bereits jetzt schon stable, aber zum testen enthält sie halt noch nicht alle Werte (bzw. dann jene die von Windy unterstützt werden).
-
Ab sofort steht die V2.6.0 zum testen auf GitHub bereit. Die kann so schon "final" gehen + läuft eigentlich stable (enthält auch bereits alle Werte die ich in der Windy-API finden konnte):
Neue Beta-Version des Wetterstation WLAN-Skriptes auf GitHub V2.6.0
- ~ Fix Avg Aussentemperatur vor einem Jahr
- ~ Windchill erst ab 5km/h Windgeschwindigkeit
- + Prüfung bei Option "v" ob die netcat-Version korrekt ist
- + Support für Windy
Wie immer zu finden im GitHub
Wegen eines neuen Datenpunktes (...info.Windy) muss auch wetterstation.js ersetzt und einmalig ausgeführt werden.
Dokumentation ist im WiKi
Es dauert uU. erstmalig 2-3 Stunden bis man unter Windy etwas sieht
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Neue Beta-Version des Wetterstation WLAN-Skriptes auf GitHub V2.6.0
Perfekt!
Station wurde erfolgreich angelegt.Nur das Updatescript hat mich diesesmal genervt.
dietpi@DietPi:/home/iobroker$ ./ws_updater.sh 'bc' installiert: ✓ 'jq' installiert: ✓ Updater ist nur für Versionen ab V1.4.0 ! dietpi@DietPi:/home/iobroker$
Hab dann die .conf händisch angepasst.
BTW., ich mach derzeit kein Service, sondern über den Cron. Kann man das nachträglich ändern?
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Es dauert uU. erstmalig 2-3 Stunden
nach 15 Minuten
Keine Ahnung was bei Wind das
10 g:13
bedeutet.
Reporting Time wird vielleicht später mal richtig angezeigt.Stationsname muss ich schaun, ob man das für die Suche anpassen kann.
-
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Nur das Updatescript hat mich diesesmal genervt.
Kein Wunder, dass ist eine alte Version (vergessen von GitHub zu laden bzw. in das Verzeichnis zu kopieren ? ).
Deswegen wirft der aktuelle Updater auch seine Versionsnummer beim Ausführen (neu ab V2.6.0):
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
BTW., ich mach derzeit kein Service, sondern über den Cron. Kann man das nachträglich ändern?
Jederzeit. Musst nur wie beim Update den cronjob killen und ihn dann in der crontab löschen oder per # am Anfang der Zeile dekativieren (ggf. auch die @reboot-Zeile falls benutzt). Danach wie in der WiKi beschrieben einfach den systemd einrichten.
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Keine Ahnung was bei Wind das 10 g:13 bedeutet.
Verschwindet mittels mausover. Ev. weil noch nicht für den ganzen Zeitraum Daten vorliegen? Kommt zumindest nicht von mir (habe ich gelegentlich aber auch).
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Reporting Time wird vielleicht später mal richtig angezeigt.
Stationsname muss ich schaun, ob man das für die Suche anpassen kann.
Die Reporting-Time wird per "Z" (Zulu) angezeigt. Ich schicke den Datensatz per UTC +1 bzw. 2 bei Sommerzeit. Habe bei Windy aber noch nichts gefunden wie man es umstellt.
Die Station finde ich wenn ich ihren Namen eingebe (bei mir Wohnort). Dann steht in der Trefferliste mein Wohnort, und unter anderem "WX Wohnwort" = meine Station -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
(vergessen von GitHub zu laden bzw. in das Verzeichnis zu kopieren
Ahhhhh, tatsächlich vergessen!
Jederzeit. Musst nur wie beim Update den cronjob killen
hab nie was gekillt. Nur die VM neu gestartet.
Verschwindet mittels mausover. Ev. weil noch nicht für den ganzen Zeitraum Daten vorliegen? Kommt zumindest nicht von mir (habe ich gelegentlich aber auch).
Nö, bei mir nicht. Warten wir einfach noch etwas!
Die Reporting-Time wird per "Z" (Zulu)
Ah deswegen.
Die Station finde ich wenn ich ihren Namen eingebe (bei mir Wohnort). Dann steht in der Trefferliste mein Wohnort, und unter anderem "WX Wohnwort" = meine Station
gleich testen
Edit: nö, findet sie nicht. Nur mit der komischen Nummer -
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Edit: nö, findet sie nicht. Nur mit der komischen Nummer
Dauert ev. auch noch:
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Nur die VM neu gestartet.
...ist ja auch killen...
Noch ganz vergessen: In den ioB-Objekten unter ...Info.Windy gibt es auch [true/false] ob die Datenübertragung geklappt hat.
Seine Daten kann man auch bei Windy aus deren DB extrahieren:im Terminal eingeben (APIKEY + STATIONSNUMMER ersetzen): wget -O test.txt https://stations.windy.com/pws/station/APIKEY/STATIONSNUMMER cat test.txt
danach kann man mittels
rm test.txt
die Datei wieder löschen. -
@sborg hast du was gegen mich? i know, nix wirkungsvolles...
woody@ioBroker:~$ ls wetterstation.conf wetterstation.sh wetterstation.sub ws_updater.sh woody@ioBroker:~$ ./ws_updater.sh WS-Updater V2.6.0 'bc' installiert: ✓ 'jq' installiert: ✓ Soll die wetterstation.conf nun auf eine neue Version gepatcht werden? [J/N]: J Lege Sicherungskopie der wetterstation.conf an... Patche wetterstation.conf auf V2.6.0 ... patching file ./wetterstation.conf Windy kann nun mittels ./wetterstation.sh --windy_reg eingerichtet werden ! woody@ioBroker:~$ ./wetterstation.sh --windy_reg wetterstation: ERROR #000 - Config-Version mismatch! benutzt: V2.6.0 benötigt wird: V2.5.0 woody@ioBroker:~$
-
@da_woody Leider bekommt man bei GitHub nicht so einfach ein Versionsmanagement geliefert, sonst könnte ich das in den "Updater" mit einbauen. Der "Updater" patcht rein nur die *.conf
Die *.sub und *.sh musst du von Hand bei GitHub laden und im Installationsverzeichnis ersetzen...aber ich habe da so für zukünftig eine Idee...