NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Hallo liebe Lesende!
Hab heute meine W830 in Betrieb genommen, krieg aber keine Daten über ssh rein. Ich habe nach Anleitung - ich denke alles richtig - installiert. iOBRoker läuft auf einer VM unter Proxmox, die Wetterstation ist pingbar.andreas@ioBroker-Prod:/home/iobroker$ sudo ./wetterstation.sh --debug ioBroker-Prod.fritz.box [192.168.0.96] 8087 (?) open (standard_in) 1: syntax error (standard_in) 1: syntax error /home/iobroker/wetterstation.sub: Zeile 536: [: : Ganzzahliger Ausdruck erwartet. listening on [any] 9999 ... no connection : Connection timed out Messwerteblock: Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C Chill-Faktor : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h max. Windgeschwindkeit : km/h Windrichtung : ° Windrichtung : Luftdruck absolut : hPa Luftdruck relativ : hPa Regenrate : mm/h Regenstatus : Regen Tag : mm Regen Woche : mm Regen Monat : mm Regen Jahr : mm Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Firmware : Datenstring für ioBroker: DATA von Wetterstation: Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 192.168.0.96:8087 WS_PORT: 9999 WS_POLL: 60 PRE_DP: javascript.0.Wetterstation Script-Version: V1.3.0 Config-Version: V1.3.0 Sub-Version: V1.3.0 Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?
### Settings V1.3.0 ----------------------------------------------------------- #Debuging einschalten [true/false] / default false / Ausgabe der Messwerte debug=false #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=192.168.0.96:8087 #Port der Wetterstation WS_PORT=9999 #Pollintervall der Wetterstation in Sekunden (minimal 16 Sekunden) WS_POLL=60 #Name/ID der Wetterstation WS_ID=zuHause #wo sollen die Datenobjekte abgelegt werden PRE_DP=javascript.0.Wetterstation #letztes Regenereignis als [DATUM], [UNIX]-Timestamp oder [DIFF]erenz ("vor xx Tagen") # DATUM = 28.04.2020 13:12 # UNIX = 1588074964 # DIFF = gerade eben / vor einer Stunde / vor 23 Stunden / vor einem Tag / vor 12 Tagen LAST_RAIN=DIFF #Text-Format für Datenpunkte "Sonnenschein_[Tag|Woche|Monat|Jahr]_Text" # zweistellig wird ggf. mit einer führenden "0" aufgefüllt # d = Tag(e) 0...n ein- und mehrstellig / h = Stunden 0...n ein- oder mehrstellig # hh = Stunden zweistellig (00...23) / mm = Minuten zweistellig (00...59) / ss = Sekunden zweistellig (00...59) # # Beispiel: 68 Stunden, 2 Minuten und 15 Sekunden # # Auswahl | Ausgabe im Datenpunkt # ---------------------------------------------------------------------------- # [0] = h Std. mm Min. ss Sek. | 68 Std. 02 Min. 15 Sek. # [1] = h:mm | 68:02 # [2] = d Tag/e h Std. | 2 Tage 20 Std. # [3] = d Tag/e, h Std, m Min | 2 Tage, 20 Std, 2 Min (Anzeige Tage erst bei >0) SONNENSCHEIN_TXTFORMAT=3 ### Ende Usereinstellungen ###EoF
Kann mir jemand einen Tipp geben?
LG aus dem verregnegten Wien, mxa -
@SBorg
habe die Datenreihen alle gedropped und neu angelegt. Nun alles ok.
-
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Schau dir mal den letzten Punkt an, bzw. mach das bitte mal (Stichwort Proxmox ) : WiKi
Ein grosses DANKE! Soooo stolz war ich alles gelesen zu haben, aber genau diese Lösung natürlich übersehen.
andreas@ioBroker-Prod:/home/iobroker$ sudo ./wetterstation.sh --debug Connection to 192.168.0.96 8087 port [tcp/*] succeeded! (standard_in) 1: syntax error (standard_in) 1: syntax error /home/iobroker/wetterstation.sub: Zeile 536: [: : Ganzzahliger Ausdruck erwartet . Listening on [0.0.0.0] (family 0, port 9999) Connection from Wetterst-Venuts-W830.fritz.box 39234 received! (standard_in) 1: syntax error (standard_in) 2: syntax error /home/iobroker/wetterstation.sub: Zeile 221: /86400: Syntax Fehler: Operator erw artet. (Fehlerverursachendes Zeichen ist \"/86400\"). (standard_in) 1: syntax error (standard_in) 2: syntax error /home/iobroker/wetterstation.sub: Zeile 221: /86400: Syntax Fehler: Operator erw artet. (Fehlerverursachendes Zeichen ist \"/86400\"). (standard_in) 1: syntax error (standard_in) 2: syntax error /home/iobroker/wetterstation.sub: Zeile 221: /86400: Syntax Fehler: Operator erw artet. (Fehlerverursachendes Zeichen ist \"/86400\"). (standard_in) 1: syntax error (standard_in) 2: syntax error /home/iobroker/wetterstation.sub: Zeile 221: /86400: Syntax Fehler: Operator erw artet. (Fehlerverursachendes Zeichen ist \"/86400\"). (standard_in) 1: syntax error (standard_in) 2: syntax error /home/iobroker/wetterstation.sub: Zeile 221: /86400: Syntax Fehler: Operator erw artet. (Fehlerverursachendes Zeichen ist \"/86400\"). (standard_in) 1: illegal character: : (standard_in) 1: syntax error (standard_in) 1: syntax error (standard_in) 1: illegal character: W (standard_in) 1: illegal character: S (standard_in) 1: syntax error [ { "error": "datapoint \"javascript.0.Wetterstation.Innentemperatur\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Aussentemperatur\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Taupunkt\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Chillfaktor\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Innenfeuchtigkeit\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Aussenfeuchtigkeit\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Wind\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Wind_max\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Windrichtung\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Windrichtung_Text\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Druck_absolut\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Druck_relativ\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Regenrate\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Regen_Tag\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Regen_Woche\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Regen_Monat\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Regen_Jahr\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Sonnenstrahlung\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.UV_Index\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Regenstatus\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.UV_Belastung\" not found" }, { "error": "datapoint \"javascript.0.Wetterstation.Zeitstempel\" not found" } ] Messwerteblock: 70.5 60.6 57.0 60.6 68 88 0.0 0.0 261 29.232 29.924 0.000 0.012 0.012 0.012 0 7.70 0 2020-08-05%2017:56:55 EasyWeatherV1.5.2 Temperatur Innen : 21.38 °C Temperatur Aussen : 15.88 °C Taupunkt : 13.88 °C Chill-Faktor : 15.88 °C Luftfeuchte Innen : 68 % Luftfeuchte Aussen : 88 % Windgeschwindkeit : 0 km/h max. Windgeschwindkeit : 0 km/h Windrichtung : 261 ° Windrichtung : W Luftdruck absolut : 989.91 hPa Luftdruck relativ : 1013.34 hPa Regenrate : 0 mm/h Regenstatus : kein Regen Regen Tag : .3 mm Regen Woche : .3 mm Regen Monat : .3 mm Regen Jahr : 0 mm Sonnenstrahlung : 7.70 W/m² UV-Index : 0 Zeitstempel : 05.08.2020 19:56:55 Firmware : EasyWeatherV1.5.2 Datenstring für ioBroker: javascript.0.Wetterstation.Innentemperatur=21.38 &javascript.0.Wetterstation.Aussentemperatur=15.88 &javascript.0.Wetterstation.Taupunkt=13.88 &javascript.0.Wetterstation.Chillfaktor=15.88 &javascript.0.Wetterstation.Innenfeuchtigkeit=68 &javascript.0.Wetterstation.Aussenfeuchtigkeit=88 &javascript.0.Wetterstation.Wind=0 &javascript.0.Wetterstation.Wind_max=0 &javascript.0.Wetterstation.Windrichtung=261 &javascript.0.Wetterstation.Windrichtung_Text=W &javascript.0.Wetterstation.Druck_absolut=989.91 &javascript.0.Wetterstation.Druck_relativ=1013.34 &javascript.0.Wetterstation.Regenrate=0 &javascript.0.Wetterstation.Regen_Tag=.3 &javascript.0.Wetterstation.Regen_Woche=.3 &javascript.0.Wetterstation.Regen_Monat=.3 &javascript.0.Wetterstation.Regen_Jahr=0 &javascript.0.Wetterstation.Sonnenstrahlung=7.70 &javascript.0.Wetterstation.UV_Index=0&javascript.0.Wetterstation.Regenstatus=kein Regen&javascript.0.Wetterstation.UV_Belastung=keine&javascript.0.Wetterstation.Zeitstempel=05.08.2020 19:56:55 DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=70.5&tempf=60.6&dewptf=57.0&windchillf=60.6&indoorhumidity=68&humidity=88&windspeedmph=0.0&windgustmph=0.0&winddir=261&absbaromin=29.232&baromin=29.924&rainin=0.000&dailyrainin=0.012&weeklyrainin=0.012&monthlyrainin=0.012&yearlyrainin=0&solarradiation=7.70&UV=0&dateutc=2020-08-05%2017:56:55&softwaretype=EasyWeatherV1.5.2&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0 Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 192.168.0.96:8087 WS_PORT: 9999 WS_POLL: 60 PRE_DP: javascript.0.Wetterstation Script-Version: V1.3.0 Config-Version: V1.3.0 Sub-Version: V1.3.0
SBorg!
-
Hallo zusammen,
Ich benötige auch mal eure Hilfe. Folgende Konstellation:- Ventus W830
- Iobroker auf VM unter Proxmox
- Linux Ubuntu client in einem Container ebenfalls unter Proxmox
Soweit ist die Anleitung für mich verständlich, Ich sehe die Wetterdaten auch bei der Abfrage mit ./wetterstation.sh --debug, aber diese werden nicht in Iobroker aktualisiert.
Ich denke, ich habe soweit alles richtig gemacht.
Vielen Dank für eure Hilfe.
Heiko
root@SFBspot:/home/iobroker# ./wetterstation.sh --debug Connection to 192.168.178.84 8087 port [tcp/*] succeeded! /home/iobroker/wetterstation.sub: line 526: curl: command not found /home/iobroker/wetterstation.sub: line 544: curl: command not found /home/iobroker/wetterstation.sub: line 553: curl: command not found Listening on [0.0.0.0] (family 0, port 1080) Connection from ESP-71FABD.fritz.box 12057 received! /home/iobroker/wetterstation.sub: line 217: curl: command not found (standard_in) 1: syntax error (standard_in) 2: syntax error /home/iobroker/wetterstation.sub: line 221: /86400: syntax error: operand expected (error token is "/86400") /home/iobroker/wetterstation.sub: line 217: curl: command not found (standard_in) 1: syntax error (standard_in) 2: syntax error /home/iobroker/wetterstation.sub: line 221: /86400: syntax error: operand expected (error token is "/86400") /home/iobroker/wetterstation.sub: line 217: curl: command not found (standard_in) 1: syntax error (standard_in) 2: syntax error /home/iobroker/wetterstation.sub: line 221: /86400: syntax error: operand expected (error token is "/86400") /home/iobroker/wetterstation.sub: line 217: curl: command not found (standard_in) 1: syntax error (standard_in) 2: syntax error /home/iobroker/wetterstation.sub: line 221: /86400: syntax error: operand expected (error token is "/86400") /home/iobroker/wetterstation.sub: line 217: curl: command not found (standard_in) 1: syntax error (standard_in) 2: syntax error /home/iobroker/wetterstation.sub: line 221: /86400: syntax error: operand expected (error token is "/86400") /home/iobroker/wetterstation.sub: line 156: curl: command not found Messwerteblock: 84.2 76.6 55.6 76.6 38 48 0.0 0.0 30 29.537 29.974 0.000 0.000 0.020 0.020 0 6.48 0 2020-08-07%2005:57:17 EasyWeatherV1.5.2 Temperatur Innen : 29.00 °C Temperatur Aussen : 24.77 °C Taupunkt : 13.11 °C Chill-Faktor : 24.77 °C Luftfeuchte Innen : 38 % Luftfeuchte Aussen : 48 % Windgeschwindkeit : 0 km/h max. Windgeschwindkeit : 0 km/h Windrichtung : 30 ° Windrichtung : NNO Luftdruck absolut : 1000.24 hPa Luftdruck relativ : 1015.03 hPa Regenrate : 0 mm/h Regenstatus : kein Regen Regen Tag : 0 mm Regen Woche : .5 mm Regen Monat : .5 mm Regen Jahr : 0 mm Sonnenstrahlung : 6.48 W/m² UV-Index : 0 Zeitstempel : 07.08.2020 05:57:17 Firmware : EasyWeatherV1.5.2 Datenstring für ioBroker: javascript.0.Wetterstation.Innentemperatur=29.00 &javascript.0.Wetterstation.Aussentemperatur=24.77 &javascript.0.Wetterstation.Taupunkt=13.11 &javascript.0.Wetterstation.Chillfaktor=24.77 &javascript.0.Wetterstation.Innenfeuchtigkeit=38 &javascript.0.Wetterstation.Aussenfeuchtigkeit=48 &javascript.0.Wetterstation.Wind=0 &javascript.0.Wetterstation.Wind_max=0 &javascript.0.Wetterstation.Windrichtung=30 &javascript.0.Wetterstation.Windrichtung_Text=NNO &javascript.0.Wetterstation.Druck_absolut=1000.24 &javascript.0.Wetterstation.Druck_relativ=1015.03 &javascript.0.Wetterstation.Regenrate=0 &javascript.0.Wetterstation.Regen_Tag=0 &javascript.0.Wetterstation.Regen_Woche=.5 &javascript.0.Wetterstation.Regen_Monat=.5 &javascript.0.Wetterstation.Regen_Jahr=0 &javascript.0.Wetterstation.Sonnenstrahlung=6.48 &javascript.0.Wetterstation.UV_Index=0&javascript.0.Wetterstation.Regenstatus=kein Regen&javascript.0.Wetterstation.UV_Belastung=keine&javascript.0.Wetterstation.Zeitstempel=07.08.2020 05:57:17 DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=84.2&tempf=76.6&dewptf=55.6&windchillf=76.6&indoorhumidity=38&humidity=48&windspeedmph=0.0&windgustmph=0.0&winddir=30&absbaromin=29.537&baromin=29.974&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.020&monthlyrainin=0.020&yearlyrainin=0&solarradiation=6.48&UV=0&dateutc=2020-08-07%2005:57:17&softwaretype=EasyWeatherV1.5.2&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0 Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 192.168.178.84:8087 WS_PORT: 1080 WS_POLL: 35 PRE_DP: javascript.0.Wetterstation Script-Version: V1.3.0 Config-Version: V1.3.0 Sub-Version: V1.3.0
### Settings V1.3.0 - #Debuging einschalten [true/false] / default false / Ausgabe der Messwerte debug=false #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=192.168.178.84:8087 #Port der Wetterstation WS_PORT=1080 #Pollintervall der Wetterstation in Sekunden (minimal 16 Sekunden) WS_POLL=35 #Name/ID der Wetterstation WS_ID=ZuHause #wo sollen die Datenobjekte abgelegt werden PRE_DP=javascript.0.Wetterstation #letztes Regenereignis als [DATUM], [UNIX]-Timestamp oder [DIFF]erenz ("vor xx$ # DATUM = 28.04.2020 13:12 # UNIX = 1588074964 # DIFF = gerade eben / vor einer Stunde / vor 23 Stunden / vor einem Tag / vo$ LAST_RAIN=DIFF #Text-Format f r Datenpunkte "Sonnenschein_[Tag|Woche|Monat|Jahr]_Text" # zweistellig wird ggf. mit einer f hrenden "0" aufgef llt # d = Tag(e) 0...n ein- und mehrstellig / h = Stunden 0...n ein- oder mehrstel$ # hh = Stunden zweistellig (00...23) / mm = Minuten zweistellig (00...59) / ss$ # # Beispiel: 68 Stunden, 2 Minuten und 15 Sekunden # # Auswahl | Ausgabe im Datenpunkt # - # [0] = h Std. mm Min. ss Sek. | 68 Std. 02 Min. 15 Sek. # [1] = h:mm | 68:02 # [2] = d Tag/e h Std. | 2 Tage 20 Std. # [3] = d Tag/e, h Std, m Min | 2 Tage, 20 Std, 2 Min (Anzeige Tage ers$ SONNENSCHEIN_TXTFORMAT=3 ### Ende Usereinstellungen ###EoF
-
@eve11
curl nicht installiert:sudo apt install curl
-
@ilovegym said in [Linux Shell-Skript] WLAN-Wetterstation:
sudo apt install curl
Hallo Bernd,
vielen Dank, die Daten wurden übertragen.
Habe leider nicht die notwendigen Linux Kenntnisse.
Grüße
Heiko
-
@eve11 kein Problem, man hilft doch gerne. Ich kenn mich auch nicht mit allem aus. Jeder lernt immer n bisschen dazu...
-
Schon erstaunlich, dass gerade Ubuntu kein curl standardmäßig mit installierte.
...und yeah, nach dreieinhalb Monaten ist meine älteste China-Bestellung eingetroffen. Es besteht noch Hoffnung -
Servus @All
Sorry für das leichte OT
Da ich mich mit dem chinesischen Wochenbeginn (Sonntag) noch immer nicht anfreunden konnte (wegen der Wochenstatistik), dachte ich, ich mach das ganze über Sourceanalytic.
Ich hab dazu den DPjavascript.0.Wetterstation.Regen_Tag
in Sourceanalytic verwendet.
Leider schreibt er nichts insourceanalytic.0
.
Dachte es wäre so einfach, da es als Typ auchWater
gibt. Leider falsch gedacht.Gäbe es noch einen anderen einfachen Weg die Werte umzurechnen?
Am besten wie Sourceanalytic in Woche (Mo, Di, Mi, ...), Monat (Jan, Feb, Mrz, ...), Quartal und Jahr (2020, 2021, ...). -
@Negalein Ich hatte so eine Befürchtung. Eben probiert, liegt daran...
Sourceanalytix braucht zum loggen ack=true
Leider ist mein Issue auf GitHub (bitte dort voten ) noch nicht umgesetzt, dass man auch bei setBulk ack=true im Simple-API-Adapter setzen kann.
(Ich habe die 9.6mm nicht geändert, steht halt als 9.6 m³ da)Kleiner Quick&Dirty: in wetterstation.sub suchen
#Daten an den ioB schicken if [ $debug == "true" ]; then curl --data "$IOB_DATA&prettyPrint" http://${IPP}/setBulk else curl --data "$IOB_DATA" http://${IPP}/setBulk >/dev/null 2>&1 fi
und mit ersetzen:
#Daten an den ioB schicken if [ $debug == "true" ]; then curl --data "$IOB_DATA&prettyPrint" http://${IPP}/setBulk else curl --data "$IOB_DATA" http://${IPP}/setBulk >/dev/null 2>&1 curl "http://${IPP}/set/${DP_REGEN_TAG}?value=${MESSWERTE[12]}&ack=true" >/dev/null 2>&1 fi
Nicht die folgende "}" mit ersetzen, die muss bleiben. Speichern und den Service (systemctl restart wetterstation) neu starten. Damit wird zwangsweise beim Regen_Tag ack=true gesetzt
...und vielleicht klappt es ja auch mal irgendwann beim setBulk...
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
bitte dort voten
hast du einen Link dazu?
Kleiner Quick&Dirty: in wetterstation.sub suchen
Danke, werd ich machen
-
@Negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
hast du einen Link dazu?
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
systemctl restart wetterstation
da bekomm ich nurdietpi@DietPi:/home/iobroker$ ls wetterstation.conf wetterstation.sh wetterstation.sub dietpi@DietPi:/home/iobroker$ systemctl restart wetterstation Failed to connect to bus: Datei oder Verzeichnis nicht gefunden
EDIT: Kommando retour.
Ich verwende ja Methode 2
@reboot /home/iobroker/wetterstation.sh & 2 0 * * * pkill -9 wetterstation.sh && /home/iobroker/wetterstation.sh &
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
hab gevotet.
Vielleicht setzt es @apollon77 bald um. -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
(Ich habe die 9.6mm nicht geändert, steht halt als 9.6 m³ da)
wird der DP in Sourceanalytic.0 erst bei einer Aktualisierung erstellt?
Derzeit seh ich noch nichts. -
@Negalein Zumindest der erste rudimentäre (Woche etc. habe ich auch noch nicht) wird mit dem 1. aktualisieren erstellt. Allerdings musste ich die gesamte Seite neu laden, vorher war auch nix zu sehen.
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Allerdings musste ich die gesamte Seite neu laden, vorher war auch nix zu sehen.
hab ich auch schon versucht.
Liegt es eventuell daran, dass der Wert schwarz ist?
-
@Negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Liegt es eventuell daran, dass der Wert schwarz ist?
Schon, aber der muss schwarz sein, dann ist ack=true
Ev. liegt es aber daran, dass deiner "0" ist (ich habe eben zum ersten mal Sourceanalytix wirklich benutzt, fische da also auch noch etwas im trüben)?*EDIT* Da er um Mitternacht auf Null gesetzt wurde und es gerade nicht regnet, steht bei mir nun aktuell der current_reading wieder auf "0".
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
aber der muss schwarz sein, dann ist ack=true
dann ist es schonmal gut
Ev. liegt es aber daran, dass deiner "0" ist
Ja, war blöderweise genau beim Neustart vom Dietpi der neue Tag.