NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@andre105 aber konzentriert und step by step machen. du hast schneller einen knopf drinnen, als du glaubst...
grafana visus gibts ja schöne... -
Ich habe die Feiertage genutzt um von 1.5 auf die aktuellste Version umzusteigen. Ich habe per Updater (später auch manuell) die neue Version gezogen, die Datenpunkte per js Script aktualisiert und auch die config aktualisiert.
Laut Debug kommen auch Daten von der Station an, aber der Datenstring für ioBroker wird nicht erzeugt. Ich habe es auch zwecks Test kurz mit "Ecowitt" versucht, hier kommt es zum selben Fehler. Irgendetwas übersehe ich scheinbar, hat jemand einen Tipp wo ich noch ansetzen könnte?
WLAN-Wetterstation V2.10.1 - (c)2019-2021 by SBorg Config-Version: V2.10.0 Sub-Version : V2.10.1 'bc' installiert: [✓] 'jq' installiert: [✓] 'nc' in der Openbsd-Variante installiert: [✓] 'netcat' in Openbsd-Variante aktiv, alles korrekt [✓] Connection to 192.168.254.50 8087 port [tcp/*] succeeded! Messwerteblock: Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)! Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C Gefühlte Temperatur : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h Windböengeschwindkeit : km/h max. Windböe : km/h Windrichtung : ° Windrichtung : Luftdruck absolut : hPa Luftdruck relativ : hPa Regenrate : mm/h Regenstatus : Regen seit Regenbeginn : mm Regen Stunde : mm Regen Tag : mm Regen Woche : mm Regen Monat : mm Regen Jahr : mm Regen Gesamt : mm Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Firmware : Batteriestand: : Gateway-Modell : Zusatzsensoren: keine Datenstring für ioBroker: DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=74.5&tempf=48.9&dewptf=46.0&windchillf=48.9&indoorhumidity=49&humidity=90&windspeedmph=2.9&windgustmph=5.8&winddir=186&absbaromin=29.197&baromin=30.440&rainin=0.000&dailyrainin=0.122&weeklyrainin=0.323&monthlyrainin=2.882&yearlyrainin=0&solarradiation=35.11&UV=0&dateutc=2021-12-30%2008:19:22&softwaretype=EasyWeatherV1.6.1&action=updateraw&realtime=1&rtfreq=5 HTTP/1.1 Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 192.168.254.50:8087 WS_PORT: 1080 WS_POLL: 30 PRE_DP: javascript.0.Wetterstation WEB: HTTP WS_PROT: Wunderground DP40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 WH31: 0 Script-Version: V2.10.1 Config-Version: V2.10.0 Sub-Version: V2.10.1 Kommunikationsfehler!
-
@melonea Hi, hast du es als Service oder per cron laufen?
Ich vermute als Service, denn mich macht stutzig:
@melonea sagte in [Linux Shell-Skript] WLAN-Wetterstation:Kommunikationsfehler!
Es sieht so aus als würde der Service noch laufen, dann schlägt der
./wetterstation.sh --debug
fehl, da sich dann zwei Programme um einen Port "prügeln", dass geht schiefService beenden:
systemctl stop wetterstation
(oder falls cronsudo pkill -9 wetterstation.sh
-
ja, via service => dieser läuft aber nicht wenn ich die Tests mache:
root@debian-iobroker:/home/iobroker/test-update# ps -aux | grep wetter root 237771 0.0 0.0 3088 680 pts/1 S+ 11:17 0:00 grep wetter
Ich habe jetzt die Version 1.5 und 2.11 jeweils in einem eigenen Ordner. Bei 1.5 läuft der debug fehlerfrei, bei 2.11 kommt der o.g. Fehler.
-
Startest du das skript auch als root? Solltest du nicht tun.
-
Ok, nach einer kurzen DIFF Session der Konfigs war der Fehler dann doch recht einfach zu finden - die WS_ID war nicht korrekt.
In älteren Versionen gab es dazu einen Hinweis im Debug:
Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?
In der aktuellen 2.10 kommt nur noch die Meldung "Kommunikationsfehler".
-
@melonea sagte in [Linux Shell-Skript] WLAN-Wetterstation:
In älteren Versionen gab es dazu einen Hinweis im Debug:
Das ist mittlerweile obsolet, da beim Ecowitt-Protokoll keine WS_ID benutzt wird und dies aktuell das Default-Protokoll ist. Es bietet halt auch den Batteriestatus und unterstützt neben den Zusatzsensoren auch Gateways.
Ich kann halt nur feststellen, dass die Kommunikation nicht funktioniert, leider nicht das warum (WU ev. wie bei dir die WS_ID, Ecowitt...?)....aber, ich habe eben mal schnell nachgeschaut. Ich kann auch problemlos die Meldung wieder hinzufügen wenn man eben WU nutzt
btw: wenn du
./ws_updater.sh --patch
nutzt, wird die "conf" problemlos auf die gewünschte Version gepatcht (mit jedem Aufruf +1 Version von der aktuell installierten), ohne dass man noch irgendwas selbst editieren muss, lediglich ggf. halt neu hinzugekommene Parameter. -
@SBorg Ich habe erst jetzt festgestellt, dass ich im Datenpunkt "DP_DRUCK_TENDENZ" neben den erwarteten Werten auch öfters den Wert -999 drin habe. Dann funktioniert natürlich das Grafana-Dashboard nicht. Hast du eine Ahnung, wo der Wert herkommen könnte oder wie man den falschen Wert rausfiltern kann? In Influx ist das schon sehr mühselig.
-
@rene55 Ist die Frage wo das herkommt. Das Skript speichert in einer RRD (Datenbank im RAM; da wird der aktuelle Wert hineingeschrieben und der älteste fliegt dafür raus) den Luftdruck der ca. letzten 5 Minuten (10 Werte in der RRD möglich; Datenintervall ca. alle 30 Sekunden der Station).
Nun wird vom ältesten Wert (also ca. vor 5 Minuten) der aktuelle Luftdruck abgezogen = Tendenz (kein Mittelwert oder Gleitwert; der Luftdruck ändert sich binnen 5 Minuten nicht so signifikant +/-3 ist da schon Maximum).Loggst du den Luftdruck per Influx? Dann könnte man mal sehen ob die Ausreißer von der Station kommen, oder ob dein Rechner irgendwie ein Problem hat (zB. zerschießt die RRD; dann ist klar wenn ich von 0 was abziehe, dass das negativ wird )
Ich könnte es auch pauschal begrenzen und nur +/-9 zulassen, aber dann wäre es auch nicht sehr aussagefähig wenn der korrekte Wert bspw. "+2" wäre, und ich die fälschlichen "-999" dann auf "-9" setze...
-
@SBorg Merci für die schnelle und erklärende Antwort. Die Logs von 'Druck_relativ' undf 'Druck_absolut' sehen sauber aus - regelmäßige Daten und keine 0-Werte. Als erste Rettung dachte ich daran, Werte kleiner als -9 einfach zu ignorieren. Hier mal ein Auszug aus 'Luftdruckdendenz':
timestamp;value;acknowledged;from; 2021-12-30T12:00:28.404Z;0;false;simple-api.0 2021-12-30T12:15:23.485Z;0;false;simple-api.0 2021-12-30T12:30:03.636Z;0;false;simple-api.0 2021-12-30T12:45:32.269Z;0;false;simple-api.0 2021-12-30T13:00:27.579Z;0;false;simple-api.0 2021-12-30T13:15:23.569Z;0;false;simple-api.0 2021-12-30T13:30:04.114Z;0;false;simple-api.0 2021-12-30T13:45:32.276Z;1;false;simple-api.0 2021-12-30T14:00:27.500Z;1;false;simple-api.0 2021-12-30T14:15:08.457Z;1;false;simple-api.0 2021-12-30T14:30:03.450Z;1;false;simple-api.0 2021-12-30T14:30:43.245Z;-999;false;simple-api.0 2021-12-30T14:45:00.806Z;1;false;simple-api.0 2021-12-30T14:45:06.867Z;-999;false;simple-api.0 2021-12-30T15:00:27.444Z;1;false;simple-api.0 2021-12-30T15:00:37.088Z;-999;false;simple-api.0 2021-12-30T15:15:01.176Z;-999;false;simple-api.0 2021-12-30T15:15:23.455Z;1;false;simple-api.0 2021-12-30T15:30:03.288Z;1;false;simple-api.0 2021-12-30T15:30:30.302Z;-999;false;simple-api.0 2021-12-30T15:45:32.543Z;2;false;simple-api.0 2021-12-30T15:45:58.824Z;-999;false;simple-api.0 2021-12-30T16:00:23.080Z;-999;false;simple-api.0 2021-12-30T16:00:27.498Z;2;false;simple-api.0
Ich hab ja wohl keine Chance, die RRD näher zu betrachten.
-
@rene55 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich hab ja wohl keine Chance, die RRD näher zu betrachten.
Da könnte ich notfalls eine Ausgabe hinzufügen, aber mich macht eher das stutzig:
2021-12-30T14:45:00.806Z;1;false;simple-api.0 2021-12-30T14:45:06.867Z;-999;false;simple-api.0
Sieht bei den anderen ähnlich aus. 1. Wert noch Ok (kommt alle 15 Minuten + x Sekunden wann das nächste Paket eintrudelt).
2. Wert dann willkürlich später und mit -999?!
Ich schreib da eigentlich nichts mehr und soweit ich mich erinnere auch nix mit -999 (muss ich aber mal eruieren). Kann das von irgendwas anderem (JS-Skript, Alias...) kommen? Denn alle 00, 15, 30 und 45 Minuten kommt auch immer ein korrekter Wert. Wenn man alle -999 eliminiert, hat man einen sauberen Verlauf. -
Ich glaube ich muss allmählich das Projekt einstellen....
@SBorg <-- Voll-Honk
@rene55 Zum einen sind es alle 15 Minuten, nicht 5 Minuten. Zum anderen wird die RRD gespeichert, sonst müsste man bei jedem Restart 3 Stunden warten...
Habe ich aber erst bemerkt, als ich eine Konsolen-Ausgabe eingebaut habe...
-
@SBorg Ich wüsste nicht, wer da noch auf den gleichen, doch recht speziellen Datenpunkt schreiben sollte. Meine Test-Instanzen laufen derzeit nicht und es wär auch ein anderer ioB. Da muss ich wohl dranbleiben. Aber erstmal wünsche ich, auch allen Mitlesern, einen guten Rutsch ins nächste Jahr, mit viel Erfolg und bester Gesundheit.
LG Rainer -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Voll-Honk
Den nimmst du bitte zurück. Ich hab ja noch nichtmal gemerkt, dass die -999 so regelmäßig kommt. Naja, an den Timestamps erkennt man es ja auch nicht direkt -
-
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@andre105 aber konzentriert und step by step machen. du hast schneller einen knopf drinnen, als du glaubst...
grafana visus gibts ja schöne...Hier hänge ich auch schon fest.
Habe die Daten schon mal auf den Rechner geladen.
Aber wie ich die in den ioBroker bekomme weiß ich nicht.P.S. Was genau muss ich denn in der App eingeben bei Path?
Port hab ich noch 80. -
@andre105 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Aber wie ich die in den ioBroker bekomme weiß ich nicht.
na wies dort steht. z.b. mit winSCP. dort meldest du dich auf deinem ioB mit deinen zugangsdaten an (nicht als root!),
die 4 datein in dein home verzeichniss rein.
von welcher APP redest du? welchen port? -
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
von welcher APP redest du? welchen port?
WS View
Ich habe FileZilla.
Ist das so richtig?
Dort unten dann die Daten reinschieben?
-
@andre105 na das ist ja in teil 1 erklärt.
-
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@andre105 na das ist ja in teil 1 erklärt.
Ja ,hab es ja nicht richtig kappiert.
Die Vorbereitung habe ich geschafft.