NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Da keine offensichtlichen Fehler aufgetreten sind:
Neues Release des Wetterstation WLAN-Skriptes auf GitHub V2.19.0
- + Wetterwarnungen Schwüle, Tau/Nebel und Reif
- ~ URL-Encoding für Umlaute
- + Unterstützung für WS90 "Wittboy"
Wie immer zu finden im GitHub
Update-Routine von Vorgängerversion:
- aktuellen WS-Updater nutzen (Download falls älter als V2.12.1:
wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh
) ./ws_updater.sh
im Installationsverzeichnis ausführen- Menüpunkt "4" wählen und die Fragen beantworten
- wetterstation.js muss ebenfalls im JavaScript-Adapter ersetzt und einmalig ausgeführt werden (neuer Datenpunkt .Info.Wetterwarnung und für WS90-Sensor); bei aktivierter Rest-API wird der Datenpunkt "Wetterwarnung" automatisch im ioB angelegt (die Datenpunkte für den WS90 sind davon noch ausgenommen und müssen per "wetterstation.js" - Skript angelegt werden)
Update ist optional, je nach dem ob man die neuen Funktionen nutzen möchte.
*Die Release-Version ist mit dem letzten Beta-Release identisch!
-
Das war leider nichts mit Rest-Api
rest-api.0 2939 2022-10-02 11:38:26.274 warn Warning by "/v1/object/javascript.0.Wetterstation.Info.Wetterwarnung": permissionError rest-api.0 2939 2022-10-02 11:38:26.264 warn No permission for "system.user.rest" to call [{"type":"object","operation":"write"}]
Nachtrag:
Kann es sein das die DP im wetterstation.js fehlen?
Im Script für manuelles anlegen find ich die auch nicht -
@nashra
In welcher Gruppe ist der Benutzer im Iobroker und hat die Gruppe Berechtigung bei "Objekteigenschaften: schreiben"?Bei mir hat es nämlich auch nicht funktionert...
Patche wetterstation.conf auf V2.18.0 ... Lege neues Object im ioBroker an: 0_userdata.0.Wetterstation.Info.Wolkenbasis Fehlermeldung beim Anlegen des Datenpunktes: permissionError Lege neues Object im ioBroker an: 0_userdata.0.Wetterstation.Info.Shellscriptversion Fehlermeldung beim Anlegen des Datenpunktes: permissionError Lege neues Object im ioBroker an: 0_userdata.0.Wetterstation.Windrichtung_Text_10min Fehlermeldung beim Anlegen des Datenpunktes: permissionError Fertig... Eventuelle Zusatzsensoren DP10/WN35 können nun eingetragen werden! Lege Sicherungskopie der wetterstation.conf an... Patche wetterstation.conf auf V2.19.0 ... Lege neues Object im ioBroker an: 0_userdata.0.Wetterstation.Info.Wetterwarnung Fehlermeldung beim Anlegen des Datenpunktes: permissionError
Ich hab im nun ne neue Gruppe mit
angelegt.
Mal schaun ob es das nächste mal gehtcreateState(DP+"Info.Wetterwarnung" ," ", {name: "mögliche Wetterereignisse", type: "string", role: "state" });
Ist im aktuellen Release nicht mehr drin
aber in dem Commit vor 23 Tagen (Zeile 84) (siehe hier) -
Jupp, da hatte zumindest der benutzte API-User (oder die Gruppe) keine Schreibrechte.
Man kann es auch nochmals nachträglich durchführen (im Installationsverzeichnis):
- das Backup der conf zurückspielen
cp wetterstation.conf.backup wetterstation.conf
- per
./ws_updater.sh
nochmals die conf patchen lassen (Menüpunkt 3)
Die Rest-Api ist dabei allerdings durch, oder man führt anstelle "Punkt 3" nochmal das kpl. Update mittels "4" durch
Es muss immer irgendwas sein. Ich komme nicht dahinter warum...
Ich kopiere alles per "wetterstation.*" (sollte also auch wetterstation.js enthalten sein), was auch die letzten x-mal funktionierte, erhalte keinen Fehler dabei...
Nach eurer "Reklamation" (danke dafür ) schaue ich nun nochmal nach:
what the f*ck...
...fixed auf GitHub...
- das Backup der conf zurückspielen
-
@sborg
kaum macht man es richtig, schon geht es
Du kannst bei Gelegenheit bei den "Getesten Stationen" den Froggit DP1500 hinzufügen. Der läuft bei mir (in der Regel ) ohne Probleme mit deinen Skripten -
@Boronsbruder Danke für den Tip, habe jetzt auch eine Gruppe dafür angelegt
@SBorg Wenn keine Fehler passieren wird es doch langweilig
-
@boronsbruder
Jetzt wurde die 1.75 zur Verfügung gestellt. Hat sie auch den Fehler mit
totalrainin (fehlendes "r"), oder ist dieser Fehler nun behoben. ImReadme steht dazu nichtsEs geht um die DP1500.
-
@martybr
Ist behoben.
Du kannst das auch im log des wetterstation.sh-skripts sehen:PASSKEY=*****&stationtype=GW1000A_V1.7.5&runtime=968721&dateutc=2022-10-01+22:58:45&tempinf=79.34&humidityin=39&baromrelin=30.091&baromabsin=28.467&tempf=52.16&humidity=97&winddir=228&windspeedmph=2.91&windgustmph=3.36&maxdailygust=10.29&solarradiation=0.00&uv=0&rainratein=0.047&eventrainin=0.150&hourlyrainin=0.020&dailyrainin=0.020&weeklyrainin=0.020&monthlyrainin=0.150&yearlyrainin=23.256&totalrainin=23.256&wh65batt=0&freq=868M&model=GW1000A_Pro
=> totalrainin=23.256
-
@boronsbruder
Super. Vielen Dank. Dann starte ich mal das UpdateP.S.
Wo finde ich das Log? -
@martybr
in der .conf logging auf true, dann sollten sie im gleichen Verzeichnis liegen.Es gibt übrigens jetzt eine wsview plus-app.
Sieht hauptsächlich hübscher aus... -
@boronsbruder
Danke für die Infos. Ich werden dann das Log aktivieren. -
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Du kannst bei Gelegenheit bei den "Getesten Stationen" den Froggit DP1500 hinzufügen.
Danke und done
-
Hallo @SBorg ,
kann man bei Deinem Statistikscript auch eine Rückrechnung anstoßen?
Ich hatte durch Falschmessungen etliche Male -5000 C in meiner Datenbank und und nach Korrektur der Werte in der InfluxDB, bleiben natürlich die falsche Durschnittstemperatur, falsche Anzahl an "sehr kalten Tagen" , etc. übrig.
Grüße,
Kay -
Hi, leider nein, da die Werte (zumindest etliche) auf vorherigen Werten aufbauen. ZB. die Höchsttemperatur des Monats ist easy. Da kann ich einfach über alle Datensätze iterieren und den höchsten Wert festhalten. Fertig
Bei den Gradtagen muss ich dann aber mehrere Bedingungen pro Wert kontrollieren und dann je nach Ergebnis feststellen ob dies ein xy-Gradtag ist. Das dauert bei ~ 3.000 Datensätzen pro Tag schon einen Augenblick. Deswegen wird dann das heutige Ergebnis zum vorherigen einfach dazu addiert, also gestriger Wert von xy-Gradtag plus 1 von heute und sofort wieder neu gespeichert. Am Monatsersten werden dann nur noch die Werte gelesen und passend zum Monat/Jahr gespeichert und alles wieder genullt.
Man müsste also um die Routine eine Schleife bauen, die dann dem Skript "vorgaukelt" es ist zB. Mai und dann für die Tage 1-31 jeweils das Skript durchläuft. Dann haättest du erst die korrekten Werte für Mai 202x (x=man müsste natürlich auch das Jahr noch dementsprechend vorgaukeln falls es nicht das aktuelle ist).
-
@sborg
Alles klar. Die Frage war es auf jeden Fall wert, gestellt zu werden -
Die "Wetterwarnungen" scheinen auch zumindest passabel zu funktionieren, wobei mich das ein wenig überrascht. Wir haben hier im Verhältnis gesehen ziemlich günstige Hardware und nur Wissen von einem Laien, der sich dieses aus Wikis und diversen Beiträgen "aus den Fingern saugt..."
Trotz alle dem, Meldung vom DWD:
Wetterwarnung des Skripts:
-
@viper4iob said in [Linux Shell-Skript] WLAN-Wetterstation:
@sborg
Es sieht jetzt besser aus, ich denke es passt jetzt. Danke fürs schnelle fixen.Nebenbei bemerkt: ich habe eine Froggit HP1000SE Pro.
Zum Thema welche Wetterstation die 10 min Werte direkt sendet.@SBorg
Es scheint da doch noch ein kleines Problem zu geben.
Meine Wetterstation sendet ja die 10min Durchschnittswerte von Windstärke und -richtung direkt, d.h. das Skript braucht die nicht mehr berechnen.
Ich habe in der configUSE_AVG_WIND=true
stehen, mir ist aber aufgefallen, dass auf openSenseMap weiterhin die aktuellen Werte und nicht die Durchschnittswerte angezeigt werden.
Ist das vielleicht ein ähnliches Problem wie mit den Durchschnitts-DPs, als die nur mit den berechneten Werten gefüttert wurden, und wenn es keinen berechneten Wert gab, dann der normale Wert benutzt wurde, anstatt den 10 min Werten, die direkt von der Wetterstation kamen. -
Hat schon jemand etwas umgesetzt mit Windböen ? Es gibt ja Wind_Max nach welcher Zeit wird hier gerechnet?
Ich möchte einen Alarm bzw eine Anzeige haben welche mir bei Sturm möglichst schnell den höchsten Wert ausspuckt.
Also 10:11 Uhr 60 km/h 10:14 62km/h ...
Kann ich hier mit wind_max arbeiten oder lieber mit Wind? Bei Wind kommt es mir so vor das auch nur ein durchschnitt irgendwie angezeigt wird.
-
Ist es angedacht das super Skript "wetterstation-statistik.js" auf influx 2 umzustellen oder ist das gar schon geschehen? Aktuell bekomme ich folgende Fehler:
javascript.0 2022-11-11 10:26:00.095 warn TypeError: Reduce of empty array with no initial value at Array.reduce (<anonymous>) at Object.cb (script.js.XSkripte.wetterstation-statistik:7666:43) at change (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5809:71) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-states-redis/lib/states/statesInRedisClient.js:322:37) at processImmediate (internal/timers.js:464:21) javascript.0 2022-11-11 10:26:00.092 warn States system pmessage io.messagebox.system.adapter.javascript.0 {"command":"query","message":{"result":[],"error":"Invalid call"},"from":"system.adapter.influxdb.1","callback":{"message":"select * FROM \"0_userdata.0.DP1500.Aussentemperatur\" WHERE time >= 1668034800000000000 AND time <= 1668121199000000000; select * FROM \"0_userdata.0.DP1500.Wind_max\" WHERE time >= 1668034800000000000 AND time <= 1668121199000000000; select * FROM \"0_userdata.0.DP1500.Regen_Tag\" WHERE time >= 1668034872000000000 AND time <= 1668121199000000000","id":2,"ack":true,"time":1668158760014},"_id":22946247} Reduce of empty array with no initial value javascript.0 2022-11-11 10:26:00.089 error script.js.XSkripte.wetterstation-statistik: Fehler beim Lesen der InfluxDB: Invalid call influxdb.1 2022-11-11 10:26:00.083 error queries: Error: 3 Error happened while processing 3 queries
Vllt habe ich es auch überlesen. Falls ja sorry dafür.
-
@schittl
siehe https://github.com/SBorg2014/WLAN-Wetterstation/issues/41ein :+1 beim issue würde helfen