NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Ich habe in letzter Zeit immer mal wieder das Problem, dass ich folgenden Eintragungen im Log des Wetterstation.service bekomme:
Dec 25 11:57:45 ZEROSERVER wetterstation.sh[26522]: Connection to 192.168.116.249 8087 port [tcp/*] succeeded! Dec 26 00:41:49 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 26 00:42:08 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 26 00:42:27 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 26 00:42:46 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error
Dec 18 13:05:06 ZEROSERVER wetterstation.sh[14524]: Connection to 192.168.116.249 8087 port [tcp/*] succeeded! Dec 18 14:14:53 ZEROSERVER wetterstation.sh[14524]: (standard_in) 1: syntax error Dec 18 14:15:11 ZEROSERVER wetterstation.sh[14524]: (standard_in) 1: syntax error Dec 19 03:03:46 ZEROSERVER wetterstation.sh[14524]: (standard_in) 1: syntax error
Zu verschiedenen Zeitpunkten
Irgendwann aber nicht gleichzeit treten dann im Iobroker-Log
2021-12-27 08:38:05.097 - info: simple-api.0 (15129) State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Tag" has to be type "number" but received type "string" 2021-12-27 08:38:05.099 - info: simple-api.0 (15129) State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Woche" has to be type "number" but received type "string" 2021-12-27 08:38:05.141 - info: simple-api.0 (15129) State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Monat" has to be type "number" but received type "string" 2021-12-27 08:38:05.141 - info: simple-api.0 (15129) State value to set for "0_userdata.0.Wetterstation.Info.Solarenergie_Jahr" has to be type "number" but received type "string"
auf
Dec 27 08:38:05 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 27 08:38:05 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 27 08:38:05 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 27 08:38:05 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 27 08:38:05 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 27 08:38:05 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 27 08:38:05 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 27 08:38:05 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error Dec 27 08:38:05 ZEROSERVER wetterstation.sh[26522]: (standard_in) 1: syntax error
die syntax error setzen sich dann fort bis zum Service-Restart...
Wo kann ich da suchen bzw. wie?
-
Ich glaube ich habe eine Spur...
Mir ist aufgefallen, dass gerade auf der WSView-App keine Daten mehr vom Sensor kamen.
Das Fehlen der Daten scheint die syntax-Error auszulösen...Hab jetzt mal das in der .conf das logging aktiviert.
Dabei trat bei mir mal wieder ein Fehler auf...
/home/wetter/wetterstation.sub: Zeile 1141: 20211227_station.log: Keine Berechtigung
Erst als ich die Zeile 1141 in der .sub mit "/home/wetter" erweitert habe, durfte er schreiben. Wo wollte er zuvor hin schreiben?
-
@boronsbruder Anscheinend bekommt er da keine Daten vom "Sonnensensor", deswegen die Meldungen im Log. Darauf deutet dann auch
"0_userdata.0.Wetterstation.Info.Solarenergie_Tag" has to be type "number" but received type "string" usw.
Der Wert ist eigentlich eine Zahl, er bekommt aber wg. der vermutlich fehlgeschlagenen Rechnung (weil er keine Daten zum rechnen hatte) nun einen String ("rechne mit nix" = NULL [also kein Wert; dies wird dann als String interpretiert]) zurück.
Trotzdem merkwürdig, denn eigentlich sollte der ganze Solarenergie-Part (der wird ja nur kpl. berechnet und basiert auf keinem Wert den die Station so liefert) nur ausgeführt werden wenn auch ein Wert vorliegt:
if [ "$SONNEN_STRAHLUNG" -gt "0" ]...
Ev. liefert das Log was schlüssigeres. Aktuell fehlt mir da leider der Ansatzpunkt...
Das Log wird (oder sollte) im aktuellen Verzeichnis angelegt (werden). Wenn er aber als Service gestartet wird (IMO waren meine Tests nur per Shell-Aufruf?) will er sie wohl im "systemd"-Verzeichnis anlegen, was ohne root-Rechte nicht erlaubt ist. Fix kommt dann in die V2.11.0 mit rein:
logging() { local DATUM=$(date '+%Y%m%d') echo -e "\n${DATA}" >> "${DIR}/${DATUM}_station.log" }
Damit landet es auch wirklich im Installationsverzeichnis
-
@sborg mannmann, wieder typisch... nachdem vor einigen tagen der strom für 5 std abgedreht war, hatte ich probleme mit der station beim wieder einbinden. hat schon gut angefangen, weil sich das kabelmodem nicht mehr mit dem provider verbunden hat. nach einer stunde dann anruf beim provider, der das modem neu gestartet, auf einmal gings...
so bin ich jetzt nach und nach am fehler suchen und zu reparieren.
dann in ws_view nachgeschaut, bei wunderground keine werte! ich schau auf der webpage, meine station ist offline.
das ganze mit aktuellem stand komplett neu gemacht, alles eingetragen, keine änderung.
gestern sogar versucht eine neue station bei WU zu machen, genauso offline.
jetzt seh ich den beitrag, will nachfragen, schau nochmal in ws-view, daten! wunderground.com, die station ist online!
manchmal ist es echt zum aus der haut fahren...
so, genug gekotzt, danke fürs lesen... -
Hallo zusammen,
Ich hänge mich hier mal rein.
Habe auch eine Eurochron EFWS2900 mir gekauft.
Habe sie eingerichtet und die Daten werden schon bei Ecowitt.net angezeigt.
Leider Kommen die Daten bei Weather Underground nicht an.
Dort ist die Station immer offline.
Was muss ich da noch einstellen? -
@sborg
Also, das Problem entsteht z.B. wenn aus unerklärlichen Gründen (sprich ohne Änderungen an der Funkstrecke) der Sensor keine Daten mehr sendet...dann kommen vom Gateway nur noch
PASSKEY=*****&stationtype=GW1000A_V1.6.8&dateutc=2021-12-28+06:09:35&tempinf=80.2&humidityin=29&baromrelin=29.574&baromabsin=27.929&freq=868M&model=GW1000_Pro
Das löst den Syntaxerror aus (denke ich)
-
@andre105 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Was muss ich da noch einstellen?
Nur die korrekte Station-ID und -Key. Diese sollte keine Sonderzeichen, Umlaute und Leerzeichen enthalten (sollte so schon seitens WU so sein).
Aber @da_Woody hatte ein Post über deinem temporär das gleiche Problem. Ev. hat WU auch aktuell Probleme. -
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das löst den Syntaxerror aus (denke ich)
Jupp, kein Wert der Sonnenstrahlung. Damit kann man arbeiten. Wir erweitern einfach die Definition (es muss auch eine Außentemperatur geben) wann ein Datenpaket valide ist. Damit führt er dann keine Berechnung aus (setzt aber den Komfehlerzähler hoch, deswegen wäre hier dann der Reset per conf empfehlenswert. "Dauerfehler" lösen ihn dann trotzdem permanent aus).
In der sub so um Zeile #265 von
if [ "$STRLEN" -gt "150" ] && [[ "$DATA" =~ "PASSKEY=" ]]; then return 0; else return 1; fi
in
if [ "$STRLEN" -gt "150" ] && [[ "$DATA" =~ "PASSKEY=" ]] && [[ "$DATA" =~ "tempf=" ]]; then return 0; else return 1; fi
-
@sborg wieso meine station auf einmal wieder online ist? k.A.
in deinem script hatte ich anscheinend wiedermal sauhaufen drinnen, bei irgendeinem update was falsch gemacht.
beim neu machen noch ein kleine blindheitsproblem:#InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen #IP und Port der API [192.168.0.252:8086] INFLUX_API=192.168.0.252:8086
die adresse nicht bei INFLUX_API eingetragen, sondern oberhalb.
-
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
die adresse nicht bei INFLUX_API eingetragen, sondern oberhalb.
Entschuldige
...der ist aber mal richtig gut...Aber mit WU habe ich nix am Hut. Das macht die Station von alleine wenn man per WS View dort seine Daten einträgt. Ich mache "nur" OpenSenseMap, Windy und wetter.com
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
...der ist aber mal richtig gut...
i know, i know...
grafana tut eigentlich auch wieder was soll. allerdings:
0_userdata.0.WoodyWetter.Druck_Tendenz das steht im objekt -1 und in grafana
raw sieht so aus:{ "common": { "name": "Luftdrucktendenz", "type": "number", "role": "state", "custom": { "influxdb.0": { "enabled": true, "storageType": "String", "aliasId": "", "changesOnly": true, "debounce": "1000", "changesRelogInterval": 3600, "changesMinDelta": "0" } } }, "native": { "name": "Luftdrucktendenz", "type": "number", "role": "state" }, "type": "state", "_id": "0_userdata.0.WoodyWetter.Druck_Tendenz", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.influxdb.0", "user": "system.user.admin", "ts": 1640440814575 }
stimmt da was nicht?
-
@da_woody Nö, das ist Ok. Die Tendenz kann +/- 9 sein (idR. allerdings nur -3 bis +3)
Du brauchst aber in Grafana das "farski-blendstat-panel" dafür und ein passendes "value range mapping":
Hier mal das JSON mit obigem Doppelpfeil:
-
@sborg alter falter...
langsam hauts mir echt den vogel raus.
ich schau nach, blendstat ist installiert, zurück aufs dash,
es lebt... -
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
deswegen wäre hier dann der Reset per conf empfehlenswert.
Was meinste damit?
-
@boronsbruder In der kommenden 11er: https://github.com/SBorg2014/WLAN-Wetterstation/wiki/FAQ---Troubleshooting/#was-ist-der-datenpunkt-_kommunikationsfehler-
Mit obiger Änderung wird dann jedes Fehlerpaket von dir zu keinem validen Datenpaket. Dann wäre bei dir "Kommunikationsfehler" true Dauerzustand.
Ich habe mal bei mir geschaut, da waren es im Dezember bisher einmalig 4 Pakete direkt hintereinander.
Anscheinend funkt bei dir einer/etwas auf den 868MHz was so (eigentlich) nicht sein darf. -
@sborg
jetzt im Moment ist wieder alles i.O.
Keine Aussetzer...
Ich versteh es nicht...
Wahrscheinlich gab's bei den Nachbarn China-Spielzeug zu WeihnachtenDas wäre aber zu verkraften, dann kann ich wenigstens was dagegen machen, bevor die Logs überlaufen
-
Hallo Leute,
ich sehe ihr versteht die Sache schon ganz gut.
Bin erst Neuling in Sachen ioBroker.
Habe ja jetzt auch die Wetterstation am laufen.(eurochron EFWS 2900)
Würde die Daten auch gerne in den ioBroker bekommen.Später visualisieren.
Wie fange ich da an?
Habe schon einiges hier gelesen,aber für mich als Anfänger doch schon etwas schwierig.
Soll ich ein neues Thema aufmachen? oder stört es euch hier nicht? -
@andre105
Das Wiki dazu ist sehr hilfreich https://github.com/SBorg2014/WLAN-Wetterstation/wiki, damit würde ich starten. Fragen passen hier schon rein -
@latzi Ok , ich lese mir das mal durch
-
@andre105 aber konzentriert und step by step machen. du hast schneller einen knopf drinnen, als du glaubst...
grafana visus gibts ja schöne...