NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@SBorg Danke für den "Hack". Damit wird mir ja sogar die Ausführung des Mitternacht Jobs angezeigt.
Vll. wäre es eine Überlegung wert die Funktion per Config de-/aktivierbar für alle mit ein zu bauen.In den Meldungen kam nicht bzgl. invalider Pakete an. Lt. Router ist die Wlan Verbindung zur WS exzellent. Jetzt kanns wohl nurnoch an der Verbindung Station <> Sensor liegen.
Auf jeden Fall funktionierte gestern der Mitternachts Job schon 23:55 Uhr dank der Anpassungen.
Danke.
Vll. wäre es eine Überlegung wert die Funktion per Config de-/aktivierbar für alle mit ein zu bauen.
Die Funktion ist schon seit rund 4 Jahren vorhanden (glaube ab V2.15...)

So lange wird auch der Start des Skriptes dort angezeigt, Ausführung des Mitternachtjobs, ggf. Fehler usw.
Außerdem wird stündlich gepusht ob das Skript noch "lebt".
Der "Hack" fügt lediglich noch hinzu wann ein Paket verworfen wurde.Jetzt kanns wohl nurnoch an der Verbindung Station <> Sensor liegen.
Das meinte ich mit dem Beispiel der Wärmepumpe. Du hast nix gemacht und plötzlich geht es nicht mehr. Allerdings ist dies das 868kHz-Frequenzband. Da sollte nichts stören und sukzessiver Datenverkehr ist da ebenfalls nicht erlaubt. Wie alt/gut sind denn deine Batterien? Solarzelle blind?
Der Fix läuft seit zwei Tagen und es herrscht Ruhe. Dürfte also vor dem WE noch released werden.
-
Vll. wäre es eine Überlegung wert die Funktion per Config de-/aktivierbar für alle mit ein zu bauen.
Die Funktion ist schon seit rund 4 Jahren vorhanden (glaube ab V2.15...)

So lange wird auch der Start des Skriptes dort angezeigt, Ausführung des Mitternachtjobs, ggf. Fehler usw.
Außerdem wird stündlich gepusht ob das Skript noch "lebt".
Der "Hack" fügt lediglich noch hinzu wann ein Paket verworfen wurde.Jetzt kanns wohl nurnoch an der Verbindung Station <> Sensor liegen.
Das meinte ich mit dem Beispiel der Wärmepumpe. Du hast nix gemacht und plötzlich geht es nicht mehr. Allerdings ist dies das 868kHz-Frequenzband. Da sollte nichts stören und sukzessiver Datenverkehr ist da ebenfalls nicht erlaubt. Wie alt/gut sind denn deine Batterien? Solarzelle blind?
Der Fix läuft seit zwei Tagen und es herrscht Ruhe. Dürfte also vor dem WE noch released werden.
Die Funktion ist schon seit rund 4 Jahren vorhanden (glaube ab V2.15...) 😊
Ist mir nie aufgefallen da bisher kein Logging aktiviert war.
Beim letzten Batteriewechsel vor vll. ein bis zwei Jahern war das Der Tratnsparente Kunststoff über der Solarzelle schon trüb. Die Station zeigt momentan zumindest keine leere Sensorbatterie an.
Ich werde mich demnächst mal zum Sensor begeben und die Batterien tauschen. -
Da innerhalb der letzten vier Tage keine offensichtlichen Fehler mehr aufgetreten sind:
Neues Release des Wetterstation WLAN-Skriptes auf GitHub V3.6.3
- ~ Fix 'has to be type "number" but received type "string"' im ioB bei Solar-DPs wenn als Zahl definiert ist (Simple-API ab 3.x) / Issue #90
Wie immer zu finden im GitHub
Update-Routine von Vorgängerversion:
- aktuellen WS-Updater nutzen
./ws_updater.shim Installationsverzeichnis ausführen- Menüpunkt "4" wählen und die Fragen beantworten
Update sollte durchgeführt werden, gerade wenn man Simple-Api 3.x nutzt.
-
@sborg
Also hab mal noch ein bischen getestet. Ab 3.0.6 mit der Authentifizierung über user und password funktionieren die cURL-Aufrufe (so) nicht mehr.curl -k --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk?user=meinuser&pass=1234"zum Beispiel friert ein.
https://192.168.116.249:8087/setBulk?0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true&prettyPrint&user=meinuser&pass=1234über Browser geht aber problemlos.
Und das coolste ist, da friert anscheinend die gesamte SimpleApi ein.
Nach dem ich die Authenifizierung deaktiviert hab, sind nämlich von meinem 2. "Wettersation"-Service der noch auf 3.6.1 lief die Fehler aufgetaucht. Davor passierte einfach nix...Aber sonst scheint bei mir die 3.6.2 mit Simple 3.0.7 zu laufen.
@sborg
Also hab mal noch ein bischen getestet. Ab 3.0.6 mit der Authentifizierung über user und password funktionieren die cURL-Aufrufe (so) nicht mehr.curl -k --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk?user=meinuser&pass=1234"zum Beispiel friert ein.
https://192.168.116.249:8087/setBulk?0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true&prettyPrint&user=meinuser&pass=1234über Browser geht aber problemlos.
Und das coolste ist, da friert anscheinend die gesamte SimpleApi ein.
Nach dem ich die Authenifizierung deaktiviert hab, sind nämlich von meinem 2. "Wettersation"-Service der noch auf 3.6.1 lief die Fehler aufgetaucht. Davor passierte einfach nix...Aber sonst scheint bei mir die 3.6.2 mit Simple 3.0.7 zu laufen.
Kann ich so bestätigen. Seit dem Upgrade des iobroker SimpleAPI Adapters von 2.x auf 3.0.7 funktioniert die Authentifizierung nicht mehr. Ich habe sie dann im Adapter deaktiviert und es funktionierte dann erst mal alles wieder.
-
@SBorg Ich bekomme diese Meldung im Log:
simple-api.0 2026-04-11 19:00:29.648 info State value to set for "0_userdata.0.Wetterstation.Druck_Tendenz" has to be type "number" but received type "string"Ich habe den Wert schon immer als String in der InfluxDB.
-
@sborg
Also hab mal noch ein bischen getestet. Ab 3.0.6 mit der Authentifizierung über user und password funktionieren die cURL-Aufrufe (so) nicht mehr.curl -k --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk?user=meinuser&pass=1234"zum Beispiel friert ein.
https://192.168.116.249:8087/setBulk?0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true&prettyPrint&user=meinuser&pass=1234über Browser geht aber problemlos.
Und das coolste ist, da friert anscheinend die gesamte SimpleApi ein.
Nach dem ich die Authenifizierung deaktiviert hab, sind nämlich von meinem 2. "Wettersation"-Service der noch auf 3.6.1 lief die Fehler aufgetaucht. Davor passierte einfach nix...Aber sonst scheint bei mir die 3.6.2 mit Simple 3.0.7 zu laufen.
Kann ich so bestätigen. Seit dem Upgrade des iobroker SimpleAPI Adapters von 2.x auf 3.0.7 funktioniert die Authentifizierung nicht mehr. Ich habe sie dann im Adapter deaktiviert und es funktionierte dann erst mal alles wieder.
@viper4iob / @boronsbruder
Leider nenne ich keine Testumgebung mein Eigen, deswegen kann ich nicht einfach mal umstellen und testen (ich selbst nutze keine Auth oder HTTPS).
Zumindest hat sich die Authentifizierung geändert und es ist nicht mehr direkt möglich User/Pass bei cURL in der URL mit zu übergeben. Der Browser setzt das etwas anders um.Anstelle von
curl -k --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk?user=meinuser&pass=1234"müsste eigentlich ein
curl -k -u "meinuser:1234" --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk"funktionieren.
-
@Rushmed (und den Rest
)ist mir immer noch einer durch geflutscht. Ich kann gerade keine neue Version erstellen, deswegen die "Druck-Tendenz" weiter auf gemischt belassen oder einen Patch durchführen:
patch.diff runterladen und ins Installationsverzeichnis kopieren...
(ruhig mal mit einem Text-Editor öffnen und schauen was da gemacht wird. Nicht einfach von einem Fremden eine Datei öffnen und Blindlings irgend etwas machen
)Dann im Installationsverzeichnis ein
patch -p1 < patch.diffausführen.
Danach noch einsystemctl restart wetterstationund auch der String/Number-Kandidat funktioniert korrekt als Zahl.
*EDIT*
ganz vergessen: der Patch funktioniert nur mit Version V3.6.3 !
Vorhergehende Versionen enthalten noch nicht die benötigte Funktion. -
@viper4iob / @boronsbruder
Leider nenne ich keine Testumgebung mein Eigen, deswegen kann ich nicht einfach mal umstellen und testen (ich selbst nutze keine Auth oder HTTPS).
Zumindest hat sich die Authentifizierung geändert und es ist nicht mehr direkt möglich User/Pass bei cURL in der URL mit zu übergeben. Der Browser setzt das etwas anders um.Anstelle von
curl -k --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk?user=meinuser&pass=1234"müsste eigentlich ein
curl -k -u "meinuser:1234" --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk"funktionieren.
@viper4iob / @boronsbruder
Leider nenne ich keine Testumgebung mein Eigen, deswegen kann ich nicht einfach mal umstellen und testen (ich selbst nutze keine Auth oder HTTPS).
Zumindest hat sich die Authentifizierung geändert und es ist nicht mehr direkt möglich User/Pass bei cURL in der URL mit zu übergeben. Der Browser setzt das etwas anders um.Anstelle von
curl -k --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk?user=meinuser&pass=1234"müsste eigentlich ein
curl -k -u "meinuser:1234" --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk"funktionieren.
Wenn ich mal Zeit und Lust habe alles kaputt zumachen, dann werd ich das mal testen ;)
-
@Rushmed (und den Rest
)ist mir immer noch einer durch geflutscht. Ich kann gerade keine neue Version erstellen, deswegen die "Druck-Tendenz" weiter auf gemischt belassen oder einen Patch durchführen:
patch.diff runterladen und ins Installationsverzeichnis kopieren...
(ruhig mal mit einem Text-Editor öffnen und schauen was da gemacht wird. Nicht einfach von einem Fremden eine Datei öffnen und Blindlings irgend etwas machen
)Dann im Installationsverzeichnis ein
patch -p1 < patch.diffausführen.
Danach noch einsystemctl restart wetterstationund auch der String/Number-Kandidat funktioniert korrekt als Zahl.
*EDIT*
ganz vergessen: der Patch funktioniert nur mit Version V3.6.3 !
Vorhergehende Versionen enthalten noch nicht die benötigte Funktion. -
@viper4iob / @boronsbruder
Leider nenne ich keine Testumgebung mein Eigen, deswegen kann ich nicht einfach mal umstellen und testen (ich selbst nutze keine Auth oder HTTPS).
Zumindest hat sich die Authentifizierung geändert und es ist nicht mehr direkt möglich User/Pass bei cURL in der URL mit zu übergeben. Der Browser setzt das etwas anders um.Anstelle von
curl -k --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk?user=meinuser&pass=1234"müsste eigentlich ein
curl -k -u "meinuser:1234" --data "0_userdata.0.Wetterstation.Windrichtung_Text_10min=S&ack=true" "HTTPS://192.168.116.249:8087/setBulk"funktionieren.
Wenn ich mal Zeit und Lust habe alles kaputt zumachen, dann werd ich das mal testen ;)
Wenn ich mal Zeit und Lust habe alles kaputt zumachen, dann werd ich das mal testen ;)
Sehr guter Ein-/Ansatz 
-
In der Datei sehe ich nur Verweise auf WETTER_Trend und nicht auf Druck-Tendenz, soll das so sein?
Jepp, die "diff" wird automatisch vom Befehl erstellt. Der nimmt noch etwas von vor und nach der eigentlichen Änderung vom Quelltext mit. So kann er beim patchen die Stelle zweifelsfrei identifizieren.
Die eigentliche Änderung ist hier:- PNOW=$(echo "scale=2;$PNOW/10" | bc -l) + PNOW=$(echo "scale=2;$PNOW/10" | bc -l | normalize)"PNOW" ist dann die Druck-Tendenz. (-) entferne und (+) füge hinzu. Die einzige Änderung ist tatsächlich nur die Funktion "normalize" per "pipe" anzuhängen.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden