NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@rene55 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@a200 Direkt versucht. Beim Ecowitt-Protokoll kommt gar nichts. Ich musste doch nur in der .conf das von 1 auf 2 umstellen, oder?
Nein. Du musst auch noch in der App die Ausgabe auf ecowitt einstellen. Link Text
Punkt 2 -
@a200 Danke für die (erweiterte) Hilfe. ich hab die App aufm Tablet, da sieht es etwas anders aus. Aber, he, es funktioniert:
Muss ich mir jetzt mal in Ruhe anschauen. Auf jeden Fall, Danke für den Tip.Erste Erkenntnis: Die fehlenden Werte sind da, leider Verlust des Chill-Faktor und des Taupunkts.
-
@SBorg Moin!
Bin heute durch einen Issue zu meinem Docker Container auf dieses interessante Stückchen Code gestoßen. Ich gebe zu ich habe jetzt nicht alle 2100 Beiträge gelesen, aber nach einem oberflächlichen Studium der Doku auf Github stellt sich mir gerade die Frage, warum aus diesem Projekt noch kein Adapter geworden ist. Das Interesse scheint ja relativ groß zu sein.Wenn ich die Struktur richtig verstehe, dann agiert das Script als Broker zwischen der Wetterstation und dem ioBroker. Aus meiner kleine Docker Welt Sicht wäre es sicherlich auch möglich das Script zu einem Docker Container weiter zu entwickeln (Adapter ist zwar schöner, aber da könnte ich leider auch nicht helfen).
Egal ob Adapter oder Container, damit würde man m. E. diese tolle Integration auch Usern verfügbar machen die nicht so versiert im Umgang mit Scripten und Linux sind. Gibt es diesbezüglich Überlegungen im Hinblick auf die Weiterentwicklung der Lösung?
MfG,
AndréPS: Noch habe ich leider keine Wetterstation, steht aber auf meiner Wishlist...
-
ZITAT:
Ich würde das Script für die Wetterstation nicht manuell mit in den Container installieren. Das ist einfach völlig entgegen des Docker gedanken und wird spätestens beim Update des Containers zu Problemen (eine notwendigen Neuinstalltion des Scripts) führen.Sehr guter Hinweis hier im Thread (für Docker), denn einige sind sich nicht im klaren wie und was sie damit verursachen .
Habe es vorher auf der Raspberry gehabt und nach einen Tip von @lembua in eine VM von der Synology ausgelagert.
-
Kurze Frage zur Wetter-Statistik.
Wenn ich das Script ausführe, wird mir lediglich unter:
javascript.0.Wetterstation ein weiterer "Ordner" Statistik angelegt, und darin ein DP "Wetter".
Ist das so richtig? Also werden die anderen DPs erst dann erstellt wenn sie auch das erste mal befüllt werden,
oder läuft da was schief bei mir? -
@glasfaser Darf ich fragen wie du das gemacht hast. Ich bin mit Linux, Docker usw noch recht unerfahren.
Hab akt. den iobroker Docker von @andre am laufen, und hab den inhaltlich sicher schon mehr als zerstört sorry andreIn meinem jugendlichen Leichtsinn würd ich sagen ich brauch nen neuen Docker (hab ne QNAP) der einfach nur n Ubuntu bereitstellt und installier darin dann das WLan Wetterstation Script?
meinen IOB Docker müsste ich dann hald zum 4. mal neu machen, aber ist ja noch nicht so schlimm.
-
@glasfaser Grundsätzlich wäre ich bereit da Richtung Docker was bei zu steuern. Wollte mir nur vorher mal einen Überblick verschaffen. Da vermutlich ein Adapter die bessere Lösung wäre, würde ich vorher gerne einmal ergründen woran es liegt, dass diese Lösung noch nicht zum Adapter gewachsen ist und was ggf. dagegen sprechen würde. Ganz getreu dem Motto: Das Rad muss ja nicht neu erfunden werden...
@amiethaner sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Hab akt. den iobroker Docker von @andre am laufen, und hab den inhaltlich sicher schon mehr als zerstört
Das ist das Problem was ich sehe. Erfahrungsgemäß endet das dann früher oder später in einem schier unendlichen Forum Thread, weil Adapterupdates o. Ä. im Container nicht laufen und wir vergeblich den Fehler suchen.
MfG,
André -
Zur Info: Ich betreibe es schon in einem Docker was auch super funktioniert Hier mal meine Lösung. Soll aber lediglich als Hilfe/Unterstützung dienen. Das Dockerfile ist ganz easy, wenn man weiß wie man eigene Docker erstellt. Ich kenne mich allerdings nicht so aus, wie man ggf. fertige Dockerimages bereitstellt auf Docker Hub und diese parametrierbar macht zweck wetterstation.conf. Hier mal mein Dockerfile Beispiel:
FROM amd64/debian:buster ENV DEBIAN_FRONTEND noninteractive # Install prerequisites RUN apt-get update && apt-get install -y \ bc \ jq \ curl \ netcat-openbsd \ && rm -rf /var/lib/apt/lists/* RUN useradd -ms /bin/bash wh3000se # Create wh3000se scripts directorys and copy scripts WORKDIR /home/wh3000se/ COPY scripts/wetterstation.conf wetterstation.conf COPY scripts/wetterstation.sh wetterstation.sh COPY scripts/wetterstation.sub wetterstation.sub RUN chmod +x wetterstation.sh USER wh3000se # Run startup-script ENTRYPOINT ["/bin/bash", "-c", "/home/wh3000se/wetterstation.sh"]
Ich habe einfach dieses Dockerfile erstellt und per folgendem Befehl ein Image erstellt. Darauf ist zu achten, dass es den Unterordner scripts geben muss mit den angepassten Dateien, um diese ins Docker-Image zu kopieren(Pfad etc. muss natürlich individuell angepasst werden):
docker build -t wh3000se:latest /share/Container/_dockerfile/iobroker/wh3000se
Anschließend einfach mit folgendem Befehl gestartet:
docker run -d --name wh3000se --restart always --net=host -e TZ=Europe/Berlin wh3000se:latest
Das ist mein Weg womit ich zufrieden bin.
-
@schittl Jo, das ist schonmal ein guter Ansatz. Würde das dann noch ein wenig weiter treiben und dem Container z.B. die Konfigurationsparameter dann per Umgebungsvariable mitgeben. Und natürlich als Multi Arch Image bereitstellen... die Frage ist halt ob es sich wirklich lohnt die Arbeit in ein Docker Image zu investieren, denn generell kann die gesamte Lösung eigentlich aus meiner Sicht auch als Adapter abgebildet werden.
So ähnlich ist es ja mit dem Heos Script auch gelaufen. Am Anfang stand ein Script welches nun zum Adapter geworden ist....
MfG,
André -
@andre Zum einen aus der Historie heraus. Es entstand ursprünglich als kleiner Mehrzeiler. Mittlerweile ist es "etwas" umfangreicher. Die Diskussion warum kein Adapter gab es schon zur Genüge
Es braucht so gut wie keinerlei Ressourcen und ist jedem Adapter überlegen. Außer mal einen Bug entfernen und neue Funktionen hinzufügen läuft es seit > 1 Jahr völlig problemlos im Dauerbetrieb, hat jedwedes wie auch immer geartetes Update überstanden. Ich habe keine JS- oder sonstige Abhängigkeiten (bspw. Wegfall/Umstallung von request etc.). Ich habe extra eine ausführliche Doku geschrieben mit C&P-Befehlen, so dass auch der Linux-N00b damit zu Rande kommt, solange er eben lesen kann.
Warum also meine Zeit mit einem Adapter verschwenden, mehr Zeit in die Wartung dessen, wenn der Anwender selbst nicht mal paar Minuten investieren will? Einen halbfertigen Adapter gibt es übrigens schon...
...und ich erkläre auch geduldig zum x-ten mal immer dieselben Fehler, wenn es auch so schon in der Wiki steht. Es braucht also auch der Anfänger keine Angst vor der Installation zu haben.
...und sorry, meine Meinung: Windows als BS für ein SmartHome ist IMHO eh ein "no go"
Außerdem wird ja keiner davon abgehalten einen Adapter zu schreiben, zB. VirtualBox als VM für eine kleine Linux-Distri einzusetzen, oder wie bspw. bei mir Proxmox mit VMs/LXC-Containern, einen alten RaspberryPi oder Zero zu nutzen...Mit Docker hatte ich mich einfach nicht beschäftigt, ich nutze Proxmox.
Es ist zwar alles mehr oder minder Hobby und geschieht in meiner Freizeit, aber ich persönlich opfere für einen Adapter, den ich nicht mal selbst benutzen würde, nichts von meiner knappen Zeit (die unschöne Wahrheit: das kostet mich dann auch Geld).
...und jetzt mal alle melden bei denen es nach der Installation nicht problemlos läuft...
-
@amiethaner sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Kurze Frage zur Wetter-Statistik.
Wenn ich das Script ausführe, wird mir lediglich unter:
javascript.0.Wetterstation ein weiterer "Ordner" Statistik angelegt, und darin ein DP "Wetter".
Ist das so richtig? Also werden die anderen DPs erst dann erstellt wenn sie auch das erste mal befüllt werden,
oder läuft da was schief bei mir?Jepp, eine Statistik kann immer nur rückwirkend sein. Ich kann bspw. von Heute noch keine Höchsttemperatur haben, oder mitten in der Woche einen Wochenstatistik etc. Per default wird sie immer um 01:03 Uhr nachts erstellt. Die DPs befüllen sich also so nach und nach. Die Jahresstatistik wird aber "etwas" länger dauern...
-
@sborg kann man diese diskussion (?) nicht auslagern in eine extra fred?
gehört IMHO nicht hier ehr... -
@da_woody Kann/könnte ich eh nicht, aber es gibt dazu meinerseits auch keine Diskussion. Adapter von mir = never ever (Diskussion beendet ).
...und auslagern wäre eh so eine Sache. Titel "Warum macht SBorg keinen Adapter für die Wetterstation...?"Wir ( @a200 unterstützt mich mittlerweile in der Weiterentwicklung) haben noch paar Punkte auf der Agenda die wir nun abarbeiten. Neue Funktionen, implementieren der "Artfremden Stationen", danach können wir auch wieder über Wünsche reden (mit Adapter braucht aber keiner kommen, s.o.).
-
Für mich braucht es auch keinen Adapter.
Für was auch? Es läuft sehr sehr gut.
Kann da @SBorg sehr gut verstehn! -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@amiethaner sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Kurze Frage zur Wetter-Statistik.
Wenn ich das Script ausführe, wird mir lediglich unter:
javascript.0.Wetterstation ein weiterer "Ordner" Statistik angelegt, und darin ein DP "Wetter".
Ist das so richtig? Also werden die anderen DPs erst dann erstellt wenn sie auch das erste mal befüllt werden,
oder läuft da was schief bei mir?Jepp, eine Statistik kann immer nur rückwirkend sein. Ich kann bspw. von Heute noch keine Höchsttemperatur haben, oder mitten in der Woche einen Wochenstatistik etc. Per default wird sie immer um 01:03 Uhr nachts erstellt. Die DPs befüllen sich also so nach und nach. Die Jahresstatistik wird aber "etwas" länger dauern...
Danke dir, ja das war mir klar, meine Frage war anders gemeint. Hat sich aber schon erledigt, es lang iwie am Browser. Nach nem neustart wurde alles richtig angezeigt.
Aber eine (vorerst) letzte Frage:
Ich will mir die Anzeige meiner DNT Weatherscreen Pro im Vis nachbauen. Find ich iwo den Tageshöchst und tiefstwert der Aussentemperatur? Ob auf der DNT einfach nur die letzten 24h oder wirklich aktueller Tag also 00:00 bis 23:59 genommen wird weis ich leider ned. -
@amiethaner sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Danke dir, ja das war mir klar, meine Frage war anders gemeint.
Hätte ich richtig gelesen...
...auch wenn zu spät (ev. ließt es ja auch ein Anderer), erstellt wird sofort alles und mit Dummy-Werten befüllt, wobei +/-99.99° dem System geschuldet sind und 99999 einfach darauf hinweist, dass noch keinerlei Daten vorliegen. "0" ist nur ein temporärer Füllwert und wird idR. zügig durch einen aktuellen ersetzt.Die min/max-Temps liefert die (bisherigen) Station(en) leider nicht. Wenn du das Skript stopst (
sudo systemctl stop wetterstation
) und dann im Installationsverzeichnis./wetterstation.sh --data
ausführst, bekommst du den Datenstring den die Station sendet. Wenn da nix mit min/max-Temp ist sieht es aktuell schlecht aus. Min/max von gestern liefert aber das Statistik-Skript, min/max "JETZT - 24 Stunden", so viel sei schon verraten, dann aber auch das WLAN-Skript -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
min/max "JETZT - 24 Stunden", so viel sei schon verraten, dann aber auch das WLAN-Skript
Ohh, kommt wieder was neues?
-
Hallo zusammen,
vielleicht ein wenig OT. Aber gibt es hier im thread einige andere Nutzer mit einer Sainlogic FT 0300? @SBorg und @a200 hatten mich auf die richtige Fährte gebracht, so dass meine Station auch munter Werte liefert. Allerdings funktioniert das mit der Regenmenge überhaupt nicht. Die Station zeigt und der ioBroker loggt seit Tagen immer 0ml obwohl es munter regnet. Ich hatte die Station schon wieder runter genommen und bewegt. Die Wippe funktioniert und dann kommen auch Werte an. Aber wenn die Box am Dach ist kommen keine Regenwerte.
Grüße -
@xxjooo sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Hallo zusammen,
Allerdings funktioniert das mit der Regenmenge überhaupt nicht. Die Station zeigt und der ioBroker loggt seit Tagen immer 0ml obwohl es munter regnet. Ich hatte die Station schon wieder runter genommen und bewegt. Die Wippe funktioniert und dann kommen auch Werte an. Aber wenn die Box am Dach ist kommen keine Regenwerte.
Grüßeok, dann poste mal die Ausgabe von
wetterstation.sh --debug
Ich schaue mir das mal an.
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ok, dann poste mal die Ausgabe von
wetterstation.sh --debug
Vielen Dank!
Hier die Ausgabe: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 13641 received! /home/Wetterstation/wetterstation.sub: line 266: [: : integer expression expected /home/Wetterstation/wetterstation.sub: line 266: [: : integer expression expected /home/Wetterstation/wetterstation.sub: line 266: [: : integer expression expected /home/Wetterstation/wetterstation.sub: line 266: [: : integer expression expected [ { "id": "0_userdata.0.Wetterstation.Innentemperatur", "val": 23.38 }, { "id": "0_userdata.0.Wetterstation.Aussentemperatur", "val": 6.05 }, { "id": "0_userdata.0.Wetterstation.Taupunkt", "val": 3.88 }, { "id": "0_userdata.0.Wetterstation.Chillfaktor", "val": 6.05 }, { "id": "0_userdata.0.Wetterstation.Innenfeuchtigkeit", "val": 32 }, { "id": "0_userdata.0.Wetterstation.Aussenfeuchtigkeit", "val": 86 }, { "id": "0_userdata.0.Wetterstation.Wind", "val": 3.21 }, { "id": "0_userdata.0.Wetterstation.Wind_max", "val": 4.66 }, { "id": "0_userdata.0.Wetterstation.Windrichtung", "val": 143 }, { "id": "0_userdata.0.Wetterstation.Druck_absolut", "val": 1000 }, { "id": "0_userdata.0.Wetterstation.Druck_relativ", "val": 1016.59 }, { "id": "0_userdata.0.Wetterstation.Regen_Tag", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Regen_Woche", "val": 0 }, { "id": "0_userdata.0.Wetterstation.Regen_Monat", "val": 42.9 }, { "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": "19.01.2021 18:14:21" }, { "id": "0_userdata.0.Wetterstation.DP50.7.Temperatur", "val": 7.22 }, { "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": "SO" } ] Messwerteblock: 23.38 6.05 3.88 6.05 32 86 3.21 4.66 143 1000.00 1016.59 0 0 42.9 0 0.0 0 19.01.2021%2018:14:21 temp7f 7.22 humidity7 82 Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)! Temperatur Innen : 23.38 °C Temperatur Aussen : 6.05 °C Taupunkt : 3.88 °C Chill-Faktor : 6.05 °C Luftfeuchte Innen : 32 % Luftfeuchte Aussen : 86 % Windgeschwindkeit : 3.21 km/h Windböengeschwindkeit : 4.66 km/h max. Windböe : km/h Windrichtung : 143 ° Windrichtung : SO Luftdruck absolut : 1000.00 hPa Luftdruck relativ : 1016.59 hPa Regenrate : mm/h Regenstatus : Regen seit Regenbeginn : mm Regen Stunde : mm Regen Tag : 0 mm Regen Woche : 0 mm Regen Monat : 42.9 mm Regen Jahr : 0 mm Regen Gesamt : mm Sonnenstrahlung : 0.0 W/m² UV-Index : 0 Zeitstempel : 19.01.2021%2018:14:21 Firmware : Batteriestand: : Gateway-Modell : Zusatzsensoren: temp7f : 7.22 humidity7 : 82 Datenstring für ioBroker: 0_userdata.0.Wetterstation.Innentemperatur=23.38&0_userdata.0.Wetterstation.Aussentemperatur=6.05&0_userdata.0.Wetterstation.Taupunkt=3.88&0_userdata.0.Wetterstation.Chillfaktor=6.05&0_userdata.0.Wetterstation.Innenfeuchtigkeit=32&0_userdata.0.Wetterstation.Aussenfeuchtigkeit=86&0_userdata.0.Wetterstation.Wind=3.21&0_userdata.0.Wetterstation.Wind_max=4.66&0_userdata.0.Wetterstation.Windrichtung=143&0_userdata.0.Wetterstation.Druck_absolut=1000.00&0_userdata.0.Wetterstation.Druck_relativ=1016.59&0_userdata.0.Wetterstation.Regen_Tag=0&0_userdata.0.Wetterstation.Regen_Woche=0&0_userdata.0.Wetterstation.Regen_Monat=42.9&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=19.01.2021%2018:14:21&0_userdata.0.Wetterstation.DP50.7.Temperatur=7.22&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=SO DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=74.1&indoorhumidity=32&tempf=42.9&humidity=86&temp7f=45.0&humidity7=82&dewptf=39.0&windchillf=42.9&absbaromin=29.53&baromin=30.02&windspeedmph=2.0&windgustmph=2.9&winddir=143&windspdmph_avg2m=1.8&winddir_avg2m=111&windgustmph_10m=0.9&windgustdir_10m=124&dailyrainin=0.0&weeklyrainin=0.0&monthlyrainin=1.69&yearlyrainin=0&solarradiation=0.0&UV=0&dateutc=2021-1-19%2018:14:21&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: Sainlogic Pro DP50/100: 1 | 0 Script-Version: V2.1.0 Config-Version: V2.1.0 Sub-Version: V2.1.0
Ich möchte Dich aber darauf hinweisen, dass die 42.9mm, die in Zeile 128 stehen, sich seit dem Abnehmen und Bewegen der Station nicht mehr geändert haben. Das Statsistik- Script errechnet somit den letzten Regentag vor 19 Tagen. Hier regnet es gefühlt tgl.
Die geloggten Werte entsprechen dern Werten in der Anzeige. Habe eben noch mal extra geschaut. Die angezeigte Menge Regen für den Monat sind die 42.9mm.
Das ist ärgerlich, da ich die Station vor allem auch wegen der Regenmenge gekauft habe, um damit die Gartenbewässerung besser zu machen.Vielen Dank fürs drüber schauen!