NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Legt die Rest-API alle DP neu an? Eigentlich nicht. Oder?
Nein, zumindest nicht von mir. Ich lege nur den DP Aussentemperatur_Trend an.
Er meckert jetzt aber "string" an und bekommt "number" (Zahl ist auch korrekt 0 bzw. 1)
Lt. deinem RAW steht er aber auf "string" ("number" ist nur als was es Influx speichern soll ). Soweit korrekt dass er da meckert. Warum der aber jetzt wieder als "string" da steht?
Da der Influx-Part schnell wieder konfiguriert ist würde ich den DP kpl. löschen und mal ein aktuelles wetterstation.js per Javascript laufen lassen. Dann stimmt der DP auf jeden Fall und du musst nur wieder die Influx-Einstellungen vom Datenpunkt noch nach ziehen. -
@björn-günther sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Connection to 127.0.0.1 8093 port [tcp/*] succeeded!
Stört mich da seehhrrr, passend dazu dann auch Zeile #21 - #30 (das ist eine HTML-Ausgabe). Daher rühren dann auch die ganzen Fehlermeldungen, denn er kann mit dem ioB nicht kommunizieren.
Port 8093 ist eigentlich der Standard-Port der Rest-API. Die wird aber aktuell nur zum anlegen von Datenpunkten benutzt, da sie (noch) kein Bulk-Update unterstützt.
Hast du ev. Simple-API (die _muss sein) mit Rest-API (die ist optional) verwechselt? -
@chris76e Das Skript ist auf V2.16.0 aber er hat die conf nicht auf V2.16.0 gepatcht.
Dir müssten eigentlich die Einstellungsmöglichkeiten fehlen:
Dann lade dir mittels "wget" (sie paar Posts hoch) noch mal die aktuelle Version des Updaters und führe im Installationsverzeichnis
./ws_updater.sh --patch
aus, dann sollte er sich wieder starten lassen. -
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
Hast du ev. Simple-API (die _muss sein) mit Rest-API (die ist optional) verwechselt?
Arghhhhhhhhhh.
Ja, vielen Dank fürs Augen öffnen.
Kaum nimmt man die richtige Api, schon geht es. -
Ich habe gegen Mitternacht eine neue Version des "ws_updaters" hochgeladen, der die aktuellen Probleme beim nachinstallieren von 'dc' beseitigen sollte.
Dieser landet dann erst mit der V2.17.0 auf eurem System. Kein Problem, denn das Problem tritt nur auf wenn man etwas nachinstallieren muss/soll. Ist bei der kommenden 17er nicht der Fall und aktuell bei der 18er auch (noch) nicht nötig.
Wer dennoch sichergehen will im aktuellen Installationsverzeichnis stehend mittels
wget -O ws_updater.sh https://raw.githubusercontent.com/SBorg2014/WLAN-Wetterstation/master/ws_updater.sh
den aktuellen Updater downloaden und ersetzen. -
Danke, läuft jetzt. Muss man jedesmal beim Update die [3] Konfigurationdatei patchen auswählen oder habe ich einfach nur pech gehabt?
-
@chris76e sagte in [Linux Shell-Skript] WLAN-Wetterstation:
oder habe ich einfach nur pech gehabt?
Wie man es nimmt, es könnte aber auch einfach am Programmierer gelegen haben
Ist systembedingt beim Beta-Test nicht aufgefallen, da der eine etwas andere Routine nutzt. Normal startet man nur den Updater und wählt Punkt "4" für das Update aus, ab da funktioniert alles automatisch (zumindest bis zur V2.16.0 ) -
-
@björn-günther said in [Linux Shell-Skript] WLAN-Wetterstation:
Kaum nimmt man die richtige Api, schon geht es.
Allerdings offenbar nur im debug-Modus.
Starte ich das Script als Service läuft folgendes in /var/log/syslog:Jul 29 13:58:43 raspberrypi2 systemd[1]: Started Service für ioBroker Wetterstation. Jul 29 13:58:43 raspberrypi2 wetterstation.sh[7220]: Connection to 127.0.0.1 8087 port [tcp/*] succeeded! Jul 29 13:58:44 raspberrypi2 influxd[543]: ts=2022-07-29T11:58:44.004058Z lvl=info msg="Executing query" log_id=0bwJcch0000 service=query query="SELECT min(value) FROM iobroker.autogen.\"javascript.0.Wetterstation.Aussentemperatur\" WHERE time <= now() AND time >= '2022-07-29 00:00:00'" Jul 29 13:58:44 raspberrypi2 influxd[543]: [httpd] 192.168.0.49 - - [29/Jul/2022:13:58:44 +0200] "GET /query?db=iobroker&epoch=s&p=&pretty=true&q=SELECT+min%28value%29+FROM+%22javascript.0.Wetterstation.Aussentemperatur%22+WHERE+time+%3C%3D+now%28%29+and+time+%3E%3D+%272022-07-29+00%3A00%3A00%27&u= HTTP/1.1" 200 77 "-" "curl/7.74.0" cb7d7d39-0f35-11ed-80b1-000000000000 909 Jul 29 13:58:44 raspberrypi2 influxd[543]: ts=2022-07-29T11:58:44.033079Z lvl=info msg="Executing query" log_id=0bwJcch0000 service=query query="SELECT max(value) FROM iobroker.autogen.\"javascript.0.Wetterstation.Aussentemperatur\" WHERE time <= now() AND time >= '2022-07-29 00:00:00'" Jul 29 13:58:44 raspberrypi2 influxd[543]: [httpd] 192.168.0.49 - - [29/Jul/2022:13:58:44 +0200] "GET /query?db=iobroker&epoch=s&p=&pretty=true&q=SELECT+max%28value%29+FROM+%22javascript.0.Wetterstation.Aussentemperatur%22+WHERE+time+%3C%3D+now%28%29+and+time+%3E%3D+%272022-07-29+00%3A00%3A00%27&u= HTTP/1.1" 200 77 "-" "curl/7.74.0" cb81eb49-0f35-11ed-80b2-000000000000 940 Jul 29 13:58:44 raspberrypi2 wetterstation.sh[7277]: (standard_in) 1: syntax error Jul 29 13:58:44 raspberrypi2 wetterstation.sh[7305]: (standard_in) 1: syntax error Jul 29 13:58:45 raspberrypi2 wetterstation.sh[7331]: (standard_in) 1: syntax error Jul 29 13:58:45 raspberrypi2 systemd[1]: Stopping Service für ioBroker Wetterstation... Jul 29 13:58:45 raspberrypi2 systemd[1]: wetterstation.service: Succeeded. Jul 29 13:58:45 raspberrypi2 systemd[1]: Stopped Service für ioBroker Wetterstation. Jul 29 13:58:45 raspberrypi2 systemd[1]: wetterstation.service: Consumed 1.190s CPU time.
Starte ich es ohne debug auf der Konsole ist alles prima, das Problem scheint nur im Service-Modus aufzutreten.
@SBorg Könnte ich noch etwas anderes übersehen haben?
-
@björn-günther sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Allerdings offenbar nur im debug-Modus.
Das passt dann zur Fehlermeldung. Bei der Option "--debug" findet keine Influx-Abfrage statt. Genau die schlägt dann aber lt. Log beim normalen Start aber fehl.
Check bitte mal deine Influx-Einstellungen: IP, Port, Datenbankname, User und PW
-
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
Check bitte mal deine Influx-Einstellungen: IP, Port, Datenbankname, User und PW
Ich hatte für die Datenbank keinen User und PW gesetzt und das in der Config deshalb frei gelassen.
Nachdem ich im Influx-Adapter User und PW eingerichtet und in der .conf eingetragen habe, geht es jetzt offenbar mit auf der Shell gestartetem Script.Als Service gestartet wird /var/log/syslog weiterhin mit Fehlern befüllt:
ul 30 12:46:06 raspberrypi2 influxd-systemd-start.sh[6789]: InfluxDB started Jul 30 12:46:06 raspberrypi2 systemd[1]: Started InfluxDB is an open-source, distributed, time series database. Jul 30 12:46:19 raspberrypi2 systemd[1]: Started Service für ioBroker Wetterstation. Jul 30 12:46:19 raspberrypi2 wetterstation.sh[6880]: Connection to 127.0.0.1 8087 port [tcp/*] succeeded! Jul 30 12:46:20 raspberrypi2 influxd-systemd-start.sh[6790]: ts=2022-07-30T10:46:20.731418Z lvl=info msg="Executing query" log_id=0b~gFMU0000 service=query query="SELECT min(value) FROM iobroker.autogen.\"javascript.0.Wetterstation.Aussentemperatur\" WHERE time <= now() AND time >= '2022-07-30 00:00:00'" Jul 30 12:46:20 raspberrypi2 influxd-systemd-start.sh[6790]: [httpd] 127.0.0.1 - pi [30/Jul/2022:12:46:20 +0200] "GET /query?db=iobroker&epoch=s&p=%5BREDACTED%5D&pretty=true&q=SELECT+min%28value%29+FROM+%22javascript.0.Wetterstation.Aussentemperatur%22+WHERE+time+%3C%3D+now%28%29+and+time+%3E%3D+%272022-07-30+00%3A00%3A00%27&u=pi HTTP/1.1" 200 525 "-" "curl/7.74.0" d90542dc-0ff4-11ed-8002-dca6327ecb3b 153937 Jul 30 12:46:20 raspberrypi2 influxd-systemd-start.sh[6790]: ts=2022-07-30T10:46:20.889196Z lvl=info msg="Executing query" log_id=0b~gFMU0000 service=query query="SELECT max(value) FROM iobroker.autogen.\"javascript.0.Wetterstation.Aussentemperatur\" WHERE time <= now() AND time >= '2022-07-30 00:00:00'" Jul 30 12:46:20 raspberrypi2 influxd-systemd-start.sh[6790]: [httpd] 127.0.0.1 - pi [30/Jul/2022:12:46:20 +0200] "GET /query?db=iobroker&epoch=s&p=%5BREDACTED%5D&pretty=true&q=SELECT+max%28value%29+FROM+%22javascript.0.Wetterstation.Aussentemperatur%22+WHERE+time+%3C%3D+now%28%29+and+time+%3E%3D+%272022-07-30+00%3A00%3A00%27&u=pi HTTP/1.1" 200 525 "-" "curl/7.74.0" d93480e8-0ff4-11ed-8003-dca6327ecb3b 1437 Jul 30 12:46:21 raspberrypi2 wetterstation.sh[6945]: (standard_in) 1: syntax error Jul 30 12:46:21 raspberrypi2 wetterstation.sh[6971]: (standard_in) 1: syntax error Jul 30 12:46:22 raspberrypi2 wetterstation.sh[6998]: (standard_in) 1: syntax error Jul 30 12:46:23 raspberrypi2 wetterstation.sh[7024]: (standard_in) 1: syntax error Jul 30 12:46:23 raspberrypi2 wetterstation.sh[7050]: (standard_in) 1: syntax error Jul 30 12:46:24 raspberrypi2 wetterstation.sh[7078]: (standard_in) 1: syntax error Jul 30 12:46:25 raspberrypi2 wetterstation.sh[7104]: (standard_in) 1: syntax error Jul 30 12:46:25 raspberrypi2 wetterstation.sh[7130]: (standard_in) 1: syntax error Jul 30 12:46:26 raspberrypi2 wetterstation.sh[7157]: (standard_in) 1: syntax error Jul 30 12:46:26 raspberrypi2 wetterstation.sh[7185]: (standard_in) 1: syntax error Jul 30 12:46:27 raspberrypi2 wetterstation.sh[7211]: (standard_in) 1: syntax error Jul 30 12:46:27 raspberrypi2 systemd[1]: Stopping Service für ioBroker Wetterstation... Jul 30 12:46:27 raspberrypi2 systemd[1]: wetterstation.service: Succeeded. Jul 30 12:46:27 raspberrypi2 systemd[1]: Stopped Service für ioBroker Wetterstation. Jul 30 12:46:27 raspberrypi2 systemd[1]: wetterstation.service: Consumed 3.240s CPU time.
Viele Grüße
Björn -
@björn-günther sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Als Service gestartet wird /var/log/syslog weiterhin mit Fehlern befüllt
Ich habe jetzt versuchsweise in /etc/systemd/system/wetterstation.service das ExecStart geändert und ein sudo davor gesetzt.
[Unit] Description=Service für ioBroker Wetterstation [Service] User=pi Group=pi ExecStart=sudo /home/pi/wetterstation/wetterstation.sh [Install] WantedBy=multi-user.target
Das scheint, zumindest bei mir die Lösung gebracht zu haben.
Nochmal vielen Dank @SBorg
Viele Grüße
Björn -
@björn-günther sagte in [Linux Shell-Skript] WLAN-Wetterstation:
sudo /home/pi/wetterstation/wetterstation.sh
Hi,
das sollte so nicht sein. Klammern wir mal alles andere aus und ich mache einfach nur einen simplen C&P oä. Fehler, hat das Skript durch die root-Rechte volle Kontrolle über das System. Ein falscher "/" und ich kann dir bestenfalls dein System zerschießen!
Ich (+ nicht nur ich )habe zwar schon Fusseln am Mund, aber never ever etwas als root/sudo laufen lassen. Zum testen, oder wenn ich mal temporär erhöhte Rechte brauche, dann natürlich sudo, sonst aber sollte da tabu sein.Vermutlich gehören die Dateien nicht dem User "pi" oder es fehlen ihm die Rechte.
Was liefert denn einls -al /home/pi/wetterstattion/
?
Oder der User "pi" darf einfach kein Influx, was ich eher vermute... -
@negalein said in [Linux Shell-Skript] WLAN-Wetterstation:
"type": "string",
Der Type des Datenpunktes des Iobroker ist string .
Der SpeicherType in der InfluxDB ist numberUiiii, da hab ich auf einen Aaaaaalten Post geanwortet
-
@sborg
Hi,
ich habe mal auf die 2.17.0 beta aktualisiert und mal USE_AVG_WIND auf true gesetzt.
Kann es sein, dass für die Windgeschwindigkeit an wetter.com noch der Teiler durch 3,6 fehlt.
Da war ja damals das Problem, dass man nicht weiß, welchen Wert die dort erwarten und tendenziell war es eher m/s als km/h.Auf dem Screenshot von wetter.com habe ich markiert, wann ich das Update durchgeführt habe.
-
@viper4iob sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Kann es sein, dass für die Windgeschwindigkeit an wetter.com noch der Teiler durch 3,6 fehlt.
Nicht nur "kann", "habe" ich total verpennt, Danke. Update kommt asap auf GitHub
-
@sborg Eine Frage zur Version 2.16: Ich nutze die neuen DPs *_10Min. Das funktioniert gut. Ich meine nun zu beobachten, dass sich die Windrichtung in Textform (SO) etc. weiterhin auf die Angabe der Windrichtung und nicht auf den gemittelten Wert "Windrichtung_10Min" bezieht. Hier könnte man doch auch den gemittelten Wert ansetzen, das wäre dann konsequent.
-
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
@viper4iob sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Kann es sein, dass für die Windgeschwindigkeit an wetter.com noch der Teiler durch 3,6 fehlt.
Nicht nur "kann", "habe" ich total verpennt, Danke. Update kommt asap auf GitHub
Danke fürs schnelle Anpassen.
Ich glaube aber in meinem Fall geht es immer noch nicht.
Hast du es evtl. nur für die berechneten 10min Durchschnittswerte geändert?
Bei mir sind die 10min-Werte ja direkt aus der Wetterstation verfügbar. -
@martybr sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@sborg Eine Frage zur Version 2.16: Ich nutze die neuen DPs *_10Min. Das funktioniert gut. Ich meine nun zu beobachten, dass sich die Windrichtung in Textform (SO) etc. weiterhin auf die Angabe der Windrichtung und nicht auf den gemittelten Wert "Windrichtung_10Min" bezieht. Hier könnte man doch auch den gemittelten Wert ansetzen, das wäre dann konsequent.
Da ich gerne alle Möglichkeiten abdecke, ist die Lösung nach einiger Denkarbeit nun folgendermaßen ausgefallen (+ jepp, "Windrichtung als Text" ist nur der aktuellen Windrichtung zugeordnet). Da ich keine Einstellung dafür in der "conf" haben will (macht es für den Anfänger nur kompliziert; für den Rest auch irgendwann unübersichtlich), kommt einfach ein neuer Datenpunkt hinzu. Keine weiteren Einstellungen nötig und man kann einfach nutzen was man möchte, oder eben nicht möchte
Da ich allerdings (systembedingt) nach publishen einer Beta nachträglich keine neuen Datenpunkte mehr hinzufügen kann, kommt das dann erst mit in die V2.18.0
-
@viper4iob sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich glaube aber in meinem Fall geht es immer noch nicht.
Hast du es evtl. nur für die berechneten 10min Durchschnittswerte geändert?
Bei mir sind die 10min-Werte ja direkt aus der Wetterstation verfügbar....und auch das vergessen. Habe ich gestern Abend/Nacht noch korrigiert. Update liegt auf GitHub.