NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@XxJooO sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
./wetterstation --debug
Ergibt:
root@PiHole:/home/Wetterstation# ./wetterstation.sh --debug Connection to 192.168.178.6 8087 port [tcp/*] succeeded! Listening on [0.0.0.0] (family 0, port 80) Connection from 192.168.178.62 30756 received! /home/Wetterstation/wetterstation.sub: line 255: [: : integer expression expected /home/Wetterstation/wetterstation.sub: line 255: [: : integer expression expected /home/Wetterstation/wetterstation.sub: line 255: [: : integer expression expected /home/Wetterstation/wetterstation.sub: line 255: [: : integer expression expected [ { "id": "0_userdata.0.Wetterstation.Innentemperatur", "val": 23.77 }, { "id": "0_userdata.0.Wetterstation.Aussentemperatur", "val": -0.77 }, { "id": "0_userdata.0.Wetterstation.Taupunkt", "val": -1.5 }, { "id": "0_userdata.0.Wetterstation.Chillfaktor", "val": -0.77 }, { "id": "0_userdata.0.Wetterstation.Innenfeuchtigkeit", "val": 25 }, { "id": "0_userdata.0.Wetterstation.Aussenfeuchtigkeit", "val": 95 }, { "id": "0_userdata.0.Wetterstation.Wind", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Wind_max", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Windrichtung", "val": 105 }, { "id": "0_userdata.0.Wetterstation.Druck_absolut", "val": 1001.01 }, { "id": "0_userdata.0.Wetterstation.Druck_relativ", "val": 1021.67 }, { "id": "0_userdata.0.Wetterstation.Regen_Tag", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Regen_Woche", "val": 2.2 }, { "id": "0_userdata.0.Wetterstation.Regen_Monat", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Regen_Jahr", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Sonnenstrahlung", "val": 0 }, { "id": "0_userdata.0.Wetterstation.UV_Index", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Zeitstempel", "val": "01.01.2021 19:04:25" }, { "id": "0_userdata.0.Wetterstation.Regenstatus", "val": "" }, { "id": "0_userdata.0.Wetterstation.UV_Belastung", "val": "keine" }, { "id": "0_userdata.0.Wetterstation.Windrichtung_Text", "val": "OSO" }, { "error": "datapoint \"0_userdata.0.Wetterstation.DP50.7.Temperatur\" not found" }, { "error": "datapoint \"0_userdata.0.Wetterstation.DP50.7.Feuchtigkeit\" not found" } ] Messwerteblock: 23.77 -.77 -1.50 -.77 25 95 0 0 105 1001.01 1021.67 0 2.2 0 0 0.0 0 01.01.2021%2019:04:25 temp7f 2.83 humidity7 82 Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)! Temperatur Innen : 23.77 °C Temperatur Aussen : -.77 °C Taupunkt : -1.50 °C Chill-Faktor : -.77 °C Luftfeuchte Innen : 25 % Luftfeuchte Aussen : 95 % Windgeschwindkeit : 0 km/h Windböengeschwindkeit : 0 km/h max. Windböe : km/h Windrichtung : 105 ° Windrichtung : OSO Luftdruck absolut : 1001.01 hPa Luftdruck relativ : 1021.67 hPa Regenrate : mm/h Regenstatus : Regen seit Regenbeginn : mm Regen Stunde : mm Regen Tag : 0 mm Regen Woche : 2.2 mm Regen Monat : 0 mm Regen Jahr : 0 mm Regen Gesamt : mm Sonnenstrahlung : 0.0 W/m² UV-Index : 0 Zeitstempel : 01.01.2021%2019:04:25 Firmware : Batteriestand: : Gateway-Modell : Zusatzsensoren:temp7f : 2.83 humidity7 : 82 Datenstring für ioBroker: 0_userdata.0.Wetterstation.Innentemperatur=23.77&0_userdata.0.Wetterstation.Aussentemperatur=-.77&0_userdata.0.Wetterstation.Taupunkt=-1.50&0_userdata.0.Wetterstation.Chillfaktor=-.77&0_userdata.0.Wetterstation.Innenfeuchtigkeit=25&0_userdata.0.Wetterstation.Aussenfeuchtigkeit=95&0_userdata.0.Wetterstation.Wind=0&0_userdata.0.Wetterstation.Wind_max=0&0_userdata.0.Wetterstation.Windrichtung=105&0_userdata.0.Wetterstation.Druck_absolut=1001.01&0_userdata.0.Wetterstation.Druck_relativ=1021.67&0_userdata.0.Wetterstation.Regen_Tag=0&0_userdata.0.Wetterstation.Regen_Woche=2.2&0_userdata.0.Wetterstation.Regen_Monat=0&0_userdata.0.Wetterstation.Regen_Jahr=0&0_userdata.0.Wetterstation.Sonnenstrahlung=0.0&0_userdata.0.Wetterstation.UV_Index=0&0_userdata.0.Wetterstation.Zeitstempel=01.01.2021%2019:04:25&0_userdata.0.Wetterstation.DP50.7.Temperatur=2.83&0_userdata.0.Wetterstation.DP50.7.Feuchtigkeit=82&0_userdata.0.Wetterstation.Regenstatus=&0_userdata.0.Wetterstation.UV_Belastung=keine&0_userdata.0.Wetterstation.Windrichtung_Text=OSO DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=74.8&indoorhumidity=25&tempf=30.6&humidity=95&temp7f=37.1&humidity7=82&dewptf=29.3&windchillf=30.6&absbaromin=29.56&baromin=30.17&windspeedmph=0.0&windgustmph=0.0&winddir=105&windspdmph_avg2m=0.0&winddir_avg2m=101&windgustmph_10m=0.0&windgustdir_10m=104&dailyrainin=0.0&weeklyrainin=0.09&monthlyrainin=0.0&yearlyrainin=0&solarradiation=0.0&UV=0&dateutc=2021-1-1%2019:4:25&action=updateraw&realtime=1&rtfreq=5& HTTP/1.0 Debug VAR: Installationsverzeichnis: /home/Wetterstation IPP: 192.168.178.6:8087 WS_PORT: 80 WS_POLL: 30 PRE_DP: 0_userdata.0.Wetterstation WEB: HTTP WS_PROT: Wunderground DP50/100: 1 | 0 Script-Version: V2.0.0 Config-Version: V2.0.0 Sub-Version: V2.0.0
Vielleicht noch zur Ergänzung:
Die Sainlogic FT 0300 unterstützt bis zu 8 externe Sensoren. Ich habe einen davon, dieser stellt je Sensor eine weitere externe Temperatur und Luftfeuchtigkeit zur Verfügung. Lt. Handbuch steht die Station selbst ja in der Sonne, der weitere externe Sensor soll an einer Nordwand im Schatten platziert werden. So habe ich das auch installiert.Also das sieht schon ganz gut aus. Die Daten werden erfolgreich ausgelesen. Du kannst in der wetterstation.conf die Anzahl der externen Sensoren angeben, dann sollten sie auch ausgelesen werden. Wenigstens der Sensor auf Kanal 7 wurde bereits ausgelesen. Schreibe mir bitte ob das mit den Sensoren funktioniert, denn bis jetzt habe ich nur mit einem Zusatzsensor testen können. Die Fehlermeldungen musst du vorerst hinnehmen. Ich habe einen Patch für dich erstellt und wenn @SBorg etwas Zeit finden wird, dann kommen die Anpassungen in eine neue Version.
Poste einfach die Ausgabe von wetterstation.sh --debug nachdem du die Anzahl der Sensoren angepasst hast.
Ansonsten hast du eine Version mit der du arbeiten kannst und die Daten sollten bereits in IoBroker angekommen sein.
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Schreibe mir bitte ob das mit den Sensoren funktioniert, denn bis jetzt habe ich nur mit einem Zusatzsensor testen können. Die Fehlermeldungen musst du vorerst hinnehmen. Ich habe einen Patch für dich erstellt und wenn @SBorg etwas Zeit finden wird, dann kommen die Anpassungen in eine neue Version.
Poste einfach die Ausgabe von wetterstation.sh --debug nachdem du die Anzahl der Sensoren angepasst hast.
Die Daten kommen herein und es loggt fleißig vor sich hin. Die DP für den Sensor 7 habe ich händisch erstellt. Ich habe aber nur einen Sensor und dessen Kanal mal willkürlich auf 7 gestellt.
root@PiHole:/home/Wetterstation# ./wetterstation.sh --debug Connection to 192.168.178.6 8087 port [tcp/*] succeeded! Listening on [0.0.0.0] (family 0, port 80) Connection from 192.168.178.62 4918 received! /home/Wetterstation/wetterstation.sub: line 255: [: : integer expression expected /home/Wetterstation/wetterstation.sub: line 255: [: : integer expression expected /home/Wetterstation/wetterstation.sub: line 255: [: : integer expression expected /home/Wetterstation/wetterstation.sub: line 255: [: : integer expression expected [ { "id": "0_userdata.0.Wetterstation.Innentemperatur", "val": 23.77 }, { "id": "0_userdata.0.Wetterstation.Aussentemperatur", "val": -0.5 }, { "id": "0_userdata.0.Wetterstation.Taupunkt", "val": -1.5 }, { "id": "0_userdata.0.Wetterstation.Chillfaktor", "val": -0.5 }, { "id": "0_userdata.0.Wetterstation.Innenfeuchtigkeit", "val": 30 }, { "id": "0_userdata.0.Wetterstation.Aussenfeuchtigkeit", "val": 93 }, { "id": "0_userdata.0.Wetterstation.Wind", "val": 0.32 }, { "id": "0_userdata.0.Wetterstation.Wind_max", "val": 1.12 }, { "id": "0_userdata.0.Wetterstation.Windrichtung", "val": 76 }, { "id": "0_userdata.0.Wetterstation.Druck_absolut", "val": 1002.71 }, { "id": "0_userdata.0.Wetterstation.Druck_relativ", "val": 1023.37 }, { "id": "0_userdata.0.Wetterstation.Regen_Tag", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Regen_Woche", "val": 2.2 }, { "id": "0_userdata.0.Wetterstation.Regen_Monat", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Regen_Jahr", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Sonnenstrahlung", "val": 0 }, { "id": "0_userdata.0.Wetterstation.UV_Index", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Zeitstempel", "val": "01.01.2021 22:39:24" }, { "id": "0_userdata.0.Wetterstation.DP50.7.Temperatur", "val": 1.66 }, { "id": "0_userdata.0.Wetterstation.DP50.7.Feuchtigkeit", "val": 82 }, { "id": "0_userdata.0.Wetterstation.Regenstatus", "val": "" }, { "id": "0_userdata.0.Wetterstation.UV_Belastung", "val": "keine" }, { "id": "0_userdata.0.Wetterstation.Windrichtung_Text", "val": "ONO" } ] Messwerteblock: 23.77 -.50 -1.50 -.50 30 93 .32 1.12 76 1002.71 1023.37 0 2.2 0 0 0.0 0 01.01.2021%2022:39:24 temp7f 1.66 humidity7 82 Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)! Temperatur Innen : 23.77 °C Temperatur Aussen : -.50 °C Taupunkt : -1.50 °C Chill-Faktor : -.50 °C Luftfeuchte Innen : 30 % Luftfeuchte Aussen : 93 % Windgeschwindkeit : .32 km/h Windböengeschwindkeit : 1.12 km/h max. Windböe : km/h Windrichtung : 76 ° Windrichtung : ONO Luftdruck absolut : 1002.71 hPa Luftdruck relativ : 1023.37 hPa Regenrate : mm/h Regenstatus : Regen seit Regenbeginn : mm Regen Stunde : mm Regen Tag : 0 mm Regen Woche : 2.2 mm Regen Monat : 0 mm Regen Jahr : 0 mm Regen Gesamt : mm Sonnenstrahlung : 0.0 W/m² UV-Index : 0 Zeitstempel : 01.01.2021%2022:39:24 Firmware : Batteriestand: : Gateway-Modell : Zusatzsensoren:temp7f : 1.66 humidity7 : 82 Datenstring für ioBroker: 0_userdata.0.Wetterstation.Innentemperatur=23.77&0_userdata.0.Wetterstation.Aussentemperatur=-.50&0_userdata.0.Wetterstation.Taupunkt=-1.50&0_userdata.0.Wetterstation.Chillfaktor=-.50&0_userdata.0.Wetterstation.Innenfeuchtigkeit=30&0_userdata.0.Wetterstation.Aussenfeuchtigkeit=93&0_userdata.0.Wetterstation.Wind=.32&0_userdata.0.Wetterstation.Wind_max=1.12&0_userdata.0.Wetterstation.Windrichtung=76&0_userdata.0.Wetterstation.Druck_absolut=1002.71&0_userdata.0.Wetterstation.Druck_relativ=1023.37&0_userdata.0.Wetterstation.Regen_Tag=0&0_userdata.0.Wetterstation.Regen_Woche=2.2&0_userdata.0.Wetterstation.Regen_Monat=0&0_userdata.0.Wetterstation.Regen_Jahr=0&0_userdata.0.Wetterstation.Sonnenstrahlung=0.0&0_userdata.0.Wetterstation.UV_Index=0&0_userdata.0.Wetterstation.Zeitstempel=01.01.2021%2022:39:24&0_userdata.0.Wetterstation.DP50.7.Temperatur=1.66&0_userdata.0.Wetterstation.DP50.7.Feuchtigkeit=82&0_userdata.0.Wetterstation.Regenstatus=&0_userdata.0.Wetterstation.UV_Belastung=keine&0_userdata.0.Wetterstation.Windrichtung_Text=ONO DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=74.8&indoorhumidity=30&tempf=31.1&humidity=93&temp7f=35.0&humidity7=82&dewptf=29.3&windchillf=31.1&absbaromin=29.61&baromin=30.22&windspeedmph=0.2&windgustmph=0.7&winddir=76&windspdmph_avg2m=0.4&winddir_avg2m=118&windgustmph_10m=0.7&windgustdir_10m=114&dailyrainin=0.0&weeklyrainin=0.09&monthlyrainin=0.0&yearlyrainin=0&solarradiation=0.0&UV=0&dateutc=2021-1-1%2022:39:24&action=updateraw&realtime=1&rtfreq=5& HTTP/1.0 Debug VAR: Installationsverzeichnis: /home/Wetterstation IPP: 192.168.178.6:8087 WS_PORT: 80 WS_POLL: 30 PRE_DP: 0_userdata.0.Wetterstation WEB: HTTP WS_PROT: Wunderground DP50/100: 1 | 0 Script-Version: V2.0.0 Config-Version: V2.0.0 Sub-Version: V2.0.0
Vielen Dank für die großartige Unterstützung!
-
Hallo @SBorg,
mir ist heute aufgefallen, dass die Ermittlung der Maximaltemperatur von Vortag nicht funktioniert hat. Habe mal direkt in die Datenbank geschaut:
SELECT * FROM "0_userdata.0.Statistik.Wetter.VorTag.Temperatur_Hoechstwert" WHERE time > '2021-01-01' tz('Europe/Berlin')
SELECT * FROM "javascript.0.Wetterstation.Aussentemperatur" WHERE time > '2021-01-01' and time < '2021-01-02' tz('Europe/Berlin')
Da kommen 3,5 °C raus als maximaler Eintrag. (Aufgrund der vielzahl der Einträge habe ich mal nicht den kompletten Ausdruck eingefügt.
Eine Durchschnittstemperatur von 2,9 °C kommt wohl auch nicht hin:
Könnte es damit zusammenhängen, dass ich den noch den Haken bei "Nur Änderungen aufzeichnen" gesetzt hatte? Habe gesehen das teilweise Lücken von 30 Minuten (eingestellte Zeit im Datenpunkt) zwischen den Messwerten sind. Habe den Haken nun mal entfernt.
-
-
Danke für das tolle Skript, habe extra ioBroker, InfluxDB und Grafana dafür in meinem Proxmox aufgesetzt.
Das Skript selbst funktioniert auch und liest die Daten meiner DNT Weatherscreen PRO ein und übergibt diese nach ioBroker.
Was kann der Grund sein, dass nur ein kleiner Teil der Daten, die in ioBroker korrekt angezeigt werden, in Grafana angezeigt werden? In meinem Fall z.B Innentemperatur ok, Außentemperatur fehlt. Dort steht N/A.
-
@Petersilie sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Danke für das tolle Skript, habe extra ioBroker, InfluxDB und Grafana dafür in meinem Proxmox aufgesetzt.
Das Skript selbst funktioniert auch und liest die Daten meiner DNT Weatherscreen PRO ein und übergibt diese nach ioBroker.
Was kann der Grund sein, dass nur ein kleiner Teil der Daten, die in ioBroker korrekt angezeigt werden, in Grafana angezeigt werden? In meinem Fall z.B Innentemperatur ok, Außentemperatur fehlt. Dort steht N/A.
stoppe mal den service und zeige mal was deine WS liefert:
service wetterstation stop wetterstation.sh --debug
Passwort & Co aus-x-en.
-
Das wären die Daten:
Temperatur Innen: 21.77 °C Temperatur Aussen: 3.50 °C Taupunkt: 1.38 °C Chill-Faktor: 3.50 °C Luftfeuchte Innen: 55 % Luftfeuchte Aussen: 86 % Windgeschwindkeit: 0 km/h Windböengeschwindkeit: 0 km/h max. Windböe: km/h Windrichtung: 61 ° Windrichtung: ONO Luftdruck absolut: 1003.42 hPa Luftdruck relativ: 1003.42 hPa Regenrate: 0 mm/h Regenstatus: kein Regen Regen seit Regenbeginn: mm Regen Stunde: mm Regen Tag: 0 mm Regen Woche: 12.3 mm Regen Monat: 0 mm Regen Jahr: 0 mm Regen Gesamt: mm Sonnenstrahlung: 0.00 W/m² UV-Index: 0 Zeitstempel: 02.01.2021%2017:21:19 Firmware: EasyWeatherV1.5.6 Batteriestand:: Gateway-Modell: Zusatzsensoren: keine
-
und so im ioBroker:
-
@Petersilie das ist noch etwas wenig. was unten kommt ist interessant. Dort kann man die Parameter sehen, die an IoBroker übertragen werden.
-
@Petersilie sagte in [Linux Shell-Skript] WLAN-Wetterstation:
und so im ioBroker:
und was an Außentemp stimmt jetzt nicht?
-
@a200
Datenstring für ioBroker:javascript.0.Wetterstation.Innentemperatur=21.77&javascript.0.Wetterstation.Aussentemperatur=3.50&javascript.0.Wetterstation.Taupunkt=1.38&javas cript.0.Wetterstation.Chillfaktor=3.50&javascript.0.Wetterstation.Innenfeuchtigkeit=55&javascript.0.Wetterstation.Aussenfeuchtigkeit=86&javascri pt.0.Wetterstation.Wind=0&javascript.0.Wetterstation.Wind_max=0&javascript.0.Wetterstation.Windrichtung=61&javascript.0.Wetterstation.Druck_abso lut=1003.42&javascript.0.Wetterstation.Druck_relativ=1003.42&javascript.0.Wetterstation.Regenrate=0&javascript.0.Wetterstation.Regen_Tag=0&javas cript.0.Wetterstation.Regen_Woche=12.3&javascript.0.Wetterstation.Regen_Monat=0&javascript.0.Wetterstation.Regen_Jahr=0&javascript.0.Wetterstati on.Sonnenstrahlung=0.00&javascript.0.Wetterstation.UV_Index=0&javascript.0.Wetterstation.Zeitstempel=02.01.2021%2017:21:19&javascript.0.Wetterst ation.Info.FW_Version=EasyWeatherV1.5.6&javascript.0.Wetterstation.Regenstatus=kein Regen&javascript.0.Wetterstation.UV_Belastung=keine&javascri pt.0.Wetterstation.Windrichtung_Text=ONO
DATA von Wetterstation:
GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=71.2&tempf=38.3&dewptf=34.5&windchillf=38.3&indoorhumidity=55 &humidity=86&windspeedmph=0.0&windgustmph=0.0&winddir=61&absbaromin=29.631&baromin=29.631&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.488&mont hlyrainin=0.000&yearlyrainin=0.000&solarradiation=0.00&UV=0&dateutc=2021-01-02%2016:21:19&softwaretype=EasyWeatherV1.5.6&action=updateraw&realti me=1&rtfreq=5 HTTP/1.0
Mod-Edit: Code/Log in Code Tags gepackt. Bitte benutzt die Code Tags Funktion -> </>
Hier gehts zur Hilfe. -
@Petersilie Das sieht doch gut aus. Und was in IoBroker steht passt dazu. Wo siehst du jetzt ein Problem?
-
@a200 Das Problem ist, was davon im Grafana landet:
-
@Petersilie ok. Deine Datenbank hast du in Grafana eingebunden? Was steht unter: Configuration -> Data Sources
Sollte in etwa so aussehen:
Falls nicht, dann eine neue Datenquelle hinzufügen:
-
@a200 Die Datenbank ist eingebunden und einige Werte werden ja auch angezeigt.
-
@Petersilie wenn du jetzt in Grafana auf Außentemp klickst und dann auf Edit gehst:
sollte in etwa so aussehen. Prüfe die Bereiche.
-
@a200 danke für den Tipp. Scheint ein Grafana Problem mit dem kopierten Template zu sein. Wenn ich im Feld der Innentemperatur das Datenbankfeld der Aussentemperatur auswähle, wird die Aussentemperatur richtig angezeigt. Die Daten sind also da.
Ist im Augenblick aber schwer zu beheben, da ich im Augenblick nur mein Android Tablet nutze. Mache deshalb morgen weiter. Schönen Abend!
-
@Petersilie Wenn die Werte vorhanden sind, dann versuche mal mit reload der Seite.
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
kumulierte Jahresregenmenge nicht genullt
Regen_Jahr wurde auch nicht genullt
-
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Die Trockenperiode im Jahr wurde auf "2" gesetzt und unter Rekordwerte wurde diese bei mir noch nie beschrieben. Ist das bei euch auch so?
Muss bei allen so sein, zumindest wenn es dieses Jahr noch keinen Regenpuls gab.
Entweder nähen nachts die Kleiderzwerge nicht nur die Klamotten enger und löschen was aus meinem Quellcode, oder der JS-Speicherbug hat auch da zugeschlagen. Die kpl. Routine fehlt schon seit etlichen Versionen...
Vorsichtig ausgedrückt krieg ich so langsam das kalte ko**en...
...als hätte ich ja sonst nix zu tun, aber bringt ja nix --> fixed in V0.1.7@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
mir ist heute aufgefallen, dass die Ermittlung der Maximaltemperatur von Vortag nicht funktioniert hat.
Kann ich nicht bestätigen:
Stimmt bis auf die Rundungsfehler von WU ziemlich genau. Wenn du eine Influx-Abfrage fährst, daran denken, es handelt sich um eine Statistik, die Werte sind also nicht von Heute, sondern die "aktuellen" von Gestern, Vorgestern etc.
Eigentlich müsste ich "Werte von Gestern" genau genommen in "Werte von Vorgestern" ändern.