NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@sonystar Nicht zwangsläufig, läuft auch (fast) ohne Internetzugang.
Lediglich für OpenSenseMap, sofern benutzt, braucht es zwingend Inet. Sonst können die Daten nicht an den OSeM-Server geschickt werden.
Die einzige Funktionalität die ohne Inet sonst verloren geht, ist die Prüfung auf eine neue Firmwareversion. Dazu wird auf meinem Projekt-GitHub die Firmware.version abgefragt und mit der aktuell installierten Version verglichen.Danke für deine Antwort. Bei mir steht die Technik im Garten mit einer LTE FritzBox. Ab und zu ist die Box mal für 15 bis 30 Minuten vom Internet getrennt weil der Anbieter eine neue IP vergibt oder so. Und genau während dieser Zeit liefert die Wetterstation keine Daten. Jetzt habe ich vor kurzem den Anbieter gewechselt, da war die Box mal zwei Tage ohne Internet, weil ich keine Zeit hatte rauszufahren und die Karte zu tauschen. Auch in dieser Zeit lieferte die Station keine Daten. Karte reingesteckt, eingewählt, Zack kamen wieder Daten.
Woran könnte das liegen?
-
Hallo, ich habe die Wetterstation auch schon länger im Einsatz und benötige jetzt etwas Hilfe zur Regenmeldung. Unter Objekte stehen ja alle Datenpunkt , aber leider gibt es meinen der mir einfach anzeigt ob es Regnet oder nicht. Ein einfaches True/false würde mir reichen. Sicherlich kann man sowas mit Blocky machen da würde ich gerne eure Hilfe in Anspruch nehmen.
Unter Objekte:
javascript.0.Datenpunkte.Wetterstation.Regenstatus steht immer wie etwa "Leicher Regen" oder "starker Regen".Wie kan ich diese Meldung nutzen für einen neuen Datenpunkt mit true/false Meldung ?
Mein versuch sieht so aus:
-
@mymeyer sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Hallo, ich habe die Wetterstation auch schon länger im Einsatz und benötige jetzt etwas Hilfe zur Regenmeldung. Unter Objekte stehen ja alle Datenpunkt , aber leider gibt es meinen der mir einfach anzeigt ob es Regnet oder nicht. Ein einfaches True/false würde mir reichen. Sicherlich kann man sowas mit Blocky machen da würde ich gerne eure Hilfe in Anspruch nehmen.
Unter Objekte:
javascript.0.Datenpunkte.Wetterstation.Regenstatus steht immer wie etwa "Leicher Regen" oder "starker Regen".Wie kan ich diese Meldung nutzen für einen neuen Datenpunkt mit true/false Meldung ?
Mein versuch sieht so aus:
Ich würde es andersrum drehen:
Wenn der Wert "aktueller Regenstatus" irgendwas anderes als "Kein Regen" ist dann setze auf Wahr ansonsten Falsch.
Hat den Vorteil, das du nicht jeden möglichen Status abfangen und verarbeiten musstBin aber beim Skripts basteln auch nicht der Guru, aber so denke ich ist es besser (falls in dem Skript mal neue Bezeichnungen reinkommen ("Sintflut", "Baue Boot" usw.)
oder sich ändern, müsstest du jedes mal das Blockly-Skript anpassen).Viele Grüße
Protheus -
@protheus sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Bin aber beim Skripts basteln auch nicht der Guru, aber so denke ich ist es besser (falls in dem Skript mal neue Bezeichnungen reinkommen ("Sintflut", "Baue Boot" usw.)
Wie wäre es mit "Ciao Holland"?
-
@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
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wie wäre es mit "Ciao Holland"?
Böse, sehr böse...
Es macht aber keinerlei Unterschied zu prüfen ob = "Kein Regen" oder ≠ "Kein Regen"
Was @Protheus wohl eher meinte, es gäbe keinen Sinn zu prüfen ob es aktuell "leichter Regen", "starker Regen" usw. gibt.
Denn "Kein Regen" ist 0/false und alles andere (egal wie es nun heißt oder mal heißen mag) ist automatisch 1/trueIch hätte dies zwar vom Skript aus implementieren können, nur haben die Stationen halt einen "Mengenmesser" und keinen Sensor. Die sind stellenweise so träge, dass man sich hier auf eine Meldung ala "es regnet" leider nicht wirklich verlassen kann. Ich wollte es für die Markise nutzen, no way... (ja, ja, PimpMyStation dümmpelt aktuell vor sich hin )
-
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?