NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@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... -
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