NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@sebhoff Sieht gut aus. Nach dem 1. "Mitternachtsrun" dürften heute auch schon wieder mehr Werte dazu gekommen sein.
Falls du Graphen oder Min/Max-Werte etc. möchtest, dann gleich noch Logging per Influx aktivieren
-
@sborg Ja, danke - das soll auf jeden Fall auch noch umgesetzt werden. Habe ich auch schon für meine beiden Stromzähler gemacht. Allerdings habe ich da ziemlich lange gebraucht, bis ich InfluxDB und Grafana zum laufen gebraucht habe (DBRP mapping, Tokens anstelle von Username/Password usw.). So genau durchschaut habe ich das nicht... Die Tatsache, dass das alles in Docker auf einer Synology läuft, hat die Sache noch komplizierter gemacht.
Ich schaue mir das mal genauer an, sobald ich ein wenig Ruhe habe. Vielleicht stelle ich dann noch ein paar Anfänger-Fragen. Aber hier wird einem ja toll geholfen! -
Mini-Update der Beta-Version V3.2.0 des Wetterstation WLAN-Skriptes auf GitHub V3.2.0-1
(Beta-Releases lassen sich nicht! über den ws_updater.sh installieren, nur die *.conf lässt sich mit dem ws_updater.beta ggf. patchen [s.u.])
- + Windrichtung
Wie immer zu finden im GitHub
Update-Routine:
- wetterstation.sub ersetzen bzw. kopieren
- nun mittels
[sudo] systemctl restart wetterstation
den Service neu starten
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Mini-Update der Beta-Version V3.2.0 des Wetterstation WLAN-Skriptes auf GitHub V3.2.0-1
bin erst jetzt zum testen gekommen (in Tirol am Arsch der Welt gabs kein Inet).
Funktioniert wie immer perfekt.
-
Hallo
nachdem ich ganz am Anfang (2020) mit Eurer Hilfe die WLAN Wetterstation von SBorg zum laufen gebracht habe, lief diese erst mal über ein Jahr lang ohne Probleme.
Dann verlor ich aus privaten Gründen den Focus auf den iobroker mit den ganzen Adaptern.
Doch nun habe ich wieder etwas Zeit und wollte alles ( iobroker und die apps) auf den neusten Stand bringen.
Mit einigen Mühen habe ich nun alles mal soweit gebracht.
Der iobroker ist nun wohl auf dem aktuellen Stand:Node.js v18.16.1
NPM 9.5.1
Datenträgergröße
19.56 GB
freier Festplattenspeicher
9.9 GB
Betriebszeit
03:38:19
Aktive Instanzen 20
Weg /opt/iobroker/Einige der Adapter funktionieren , doch die WLAN Wetterstation zeigt bei den Objekten einen letzten Wert von Dez 2022.
Ich habe dann dummerweise alles, was mit der WLAN Wetterstation zusammenhing, gelöscht und neu installiert..
Nun sehe ich bei den objekten "Wetterstation" außer den Maß-Einheiten keine Werte mehr.
Nachdem ich nun die Wlan Wetterstation auf die neuste Version upgedatet hatte, kommt nur noch "Kommunikationsfehler",
Mit dem Adapter von sainlogic kommen Werte im IOBroker an.:
Wenn ich./wetterstation.sh --debug
aufrufe, erscheint sofort, ohne Wartezeit folgendes. Vorher dauerte das immer erst eine Weile, bis Daten von der Wetterstation kamen.
Debug VAR: Installationsverzeichnis: /home/panki IPP: 192.168.178.159:8087 WS_PORT: 9999 WS_POLL: 30 PRE_DP: 0_userdata.0.Wetterstation WEB: HTTP WS_PROT: Ecowitt Zusatzsensoren: DP10/35/40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 WH31: 0 || WS90: 0 Bresser: 7009999 [0] Script-Version: V3.1.1 Config-Version: V3.0.0 Sub-Version: V3.1.1 Kommunikationsfehler! panki@iobroker-nuc:~$ ^C panki@iobroker-nuc:~$
IP Adresse, port, ecowitt habe ich angepasst.
Entweder es liegt an der Hitze oder ich seh mal wieder vor lauter Wald die Bäume nicht mehr.Vielleicht kann mir jemand paar Tips geben.
Mir ist aufgefallen, dass die Datenpunkte? früher mit "javascript.0. ... und nun mit 0_userdata.0.... anfängt??
Weiter muss meine Installation auf dem NUC in verschiedenen Verzeichnissen gespeichert sein. Ich habe bemerkt, dass ich die Wetterstationsfiles (conf, js,sh,sub mehrfach in verschiedenen Verzeichnissen liegen habe.Ich bin schon etwas "alter" und kenne mich mit Linux nur insoweit aus, dass ich in einer console entsprechende Befehle eingeben kann. Zu mehr hat es in den letzten 73 Jahren nicht gereicht.
Trotzdem würde ich gerne meinen iobroker wieder zum laufen bringen, da noch einige Solarprojekte darauf warten, "verarbeitet" zu werden.OK, ich hoffe, das war jetzt nicht zu verwirrend,
ich freu mich auf den einen oder anderen Tipp. -
Moin, bin auch erst jetzt dazu gekommen die Beta zu installieren.....läuft
-
@panki2 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wenn ich
./wetterstation.sh --debugaufrufe, erscheint sofort, ohne Wartezeit folgendes
Hi,
ohne Wartezeit ist schon mal schlecht, außer man erwischt haargenau den Zeitpunkt in dem die Station ein Paket sendet, sonst wartet das Skript bis zum eintreffen des ersten Paketes. Hast du die Ausgabe gekürzt oder kam wirklich nur das was du gepostet hast?Lass die anderen "Fehlversuche" ruhig erst mal da wo sie sind, wir beschränken uns nur auf "/home/panki".
Erst mal der Check was beim Rechnerstart geladen werden soll (am besten kpl. Cut & Paste):
cat /etc/systemd/system/wetterstation.service|grep ExecStart
Da sollte jetzt eigentlichExecStart=/home/panki/wetterstation.sh
kommen, dann ist das schon mal richtig.
Die "159" ist der Rechner auf dem das Skript und der ioB läuft, oder läuft auf der "159" nur der ioB?
Zumindest musst du in der WS-View[+] App die IP und Port (lt. Ausgabe bei dir 9999) eintragen auf dem das Skript läuft.
Bringt denn ein./wetterstation.sh --data
etwas an Daten von der Station? -
-
@sborg Also
ExecStart=/home/panki/wetterstation.sh
erscheint.
auf der IP Adresse ...159 läuft nur der IOB../wetterstation.sh --debug
bringt plötzlich Daten. Frage mich nicht warum. Ich hatte alles mal ausgesteckt, gestoppt, neugestartet und 0_Javascript und userdat als Speicherort hin und her gewechselt.
Und ich fand ganz oben in den Objekten die userdat. Ich hatte bislang immer nur bei javascript geschaut.
Also, erst mal Entwarnung, ich schau mir nun mal alles in Ruhe an. Vielleicht stehen in dem Wald doch etwas zu viel Bäume. -
Mini-Update der Beta-Version V3.2.0 des Wetterstation WLAN-Skriptes auf GitHub V3.2.0-2
(Beta-Releases lassen sich nicht! über den ws_updater.sh installieren, nur die *.conf lässt sich mit dem ws_updater.beta ggf. patchen [s.u.])
- WOW-Update:
- + Windrichtung
- + Luftdruck
Wie immer zu finden im GitHub
Update-Routine:
- wetterstation.sub ersetzen bzw. kopieren
- nun mittels
[sudo] systemctl restart wetterstation
den Service neu starten
WiKi beachten (Punkt Einstellungen für "Luftdruck") ! Es muss hier der Druck für den Stationslevel (relativ) aktiviert werden und es darf nicht zusätzlich der ÜNN (absolute) aktiviert werden (siehe Hardcopy dort )!
- WOW-Update:
-
@sborg
funktioniert -
-
Hallo,
Kann mir mal einer erklären wie man die Froggit WH6000Pro auslesen kann?
EcoWitt Support hat die Wetterstation nicht. -
@west said in [Linux Shell-Skript] WLAN-Wetterstation:
Froggit WH6000Pro
Auszug aus der Bedienungsanleitung:
Hier mal http://ADRESSE_DES_IOBROKER:PORT/ testen?
ID und Stationkey würde ich ertmal leer lassen... -
**** Lösung gefunden - Antwort steht ganz unten ****
Kurze Frage - ein wenig off-topic(?), hat aber mit der WLAN-Wetterstation zu tun...
Ich habe vorhin mal angefangen, das Grafana Dashboard auszuprobieren, und nun gibt es natürlich wieder mal erste Probleme mit der Tatsache, dass alles auf einer Synology in Docker läuft. Bei mir wird nämlich das Windrose-Plugin wohl nicht richtig erkannt:Grundsätzlich scheint es allerdings installiert zu sein, und zwar via die "environment variables" in Docker:
In der File Station der Synology sieht man auch, dass der entsprechende Ordner angelegt wird:
Könnte es vielleicht damit zu tun haben, dass ich ja eigentlich auch noch /etc/grafana/grafana.ini anpassen müsste, um unsigned plugins zuzulassen?
Ich habe noch keine Möglichkeit gefunden, dies im Grafana Container zu tun - es gibt weder nano noch pico, um grafana.ini von der Shell aus zu bearbeiten. Außerdem wäre das ja glaube ich auch gar keine gute Idee, weil es bei einem Container-Update ja dann wohl überschrieben würde?
Update: Habe nun entdeckt, dass in der Shell vi läuft. Allerdings ist grafana.ini "read only"...
Falls jemand einen Tipp hat, freue ich mich über Rückmeldung!
Update2: Wahnsinn - ich habe es für einmal sogar selbst geschafft!
Es klappt mit einer zusätzlichen environment variable:GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=spectraphilic-windrose-panel
Vielleicht hilft das ja jemandem mal in Zukunft...
-
Sorry - ich stehe hier anscheinend gerade wieder mal auf der Leitung...
Ich bin schon relativ weit mit dem Grafana Dashboard:Allerdings ist die Darstellung nicht ganz so wie gewünscht - das Boom Theme scheint nicht aktiviert/konfiguriert zu sein. Es ist aber definitiv installiert. Im 3326ten Post hier im Thread (5 Jan 2022 at 16:41) ist von einem Boom-Theme-Settings-Panel die Rede:
Mein Problem ist: ich finde es einfach nicht. Bevor ich hier schon wieder stundenlang suche, kann mir jemand ggf. einen Tipp geben? Danke!
(Wie oben schon erwähnt: Grafana/ioBroker/InfluxDB läuft bei mir (leider) in Docker-Containern auf einer Synology.)
-
@sebhoff sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Mein Problem ist: ich finde es einfach nicht. Bevor ich hier schon wieder stundenlang suche, kann mir jemand ggf. einen Tipp geben? Danke!
müsste mWn hier sein
-
@negalein Vielen Dank! Da ist es in der Tat...
Nun muss ich nur noch herausfinden, was ich wie konfigurieren muss. -
OK - irgendwas ist komisch hier...
Bei der Einrichtung der Wetterstation und des Grafana Dashboards hatte ich "Wetter" und "Wetterstation" irgendwann mal verwechselt. Das Resultat war, dass es jeweils einen Bucket mit diesem Namen gab, obwohl ich bloß "Wetter" bräuchte. Ich habe auch mal einen Wert in "Wetterstation" geschrieben, bevor ich das gemerkt hatte. Inzwischen werden die Sachen aber richtig abgespeichert:Dies lässt sich zum Beispiel für die Außentemperatur im Data Explorer von InfluxDB gut überprüfen:
Interessanterweise schaffe ich es nicht, diesen Bucket in InfluxDB zu löschen...
Wenn ich nun zum Grafana Dashboard gehe, wird die Außentemperatur nicht richtig angezeigt:
Der entsprechende Query für die Außentemperatur sieht ja so aus:
from(bucket: "${longtermBucket}") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r._measurement == "${Data_Prefix}.${Data_Instanz}.${Data_Ordnername}.Aussentemperatur" and r._field == "value") |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false) |> set(key: "_field", value: "Aussen") |> yield(name: "Aussen")
Wenn ich aber den Query Inspector aufrufe, zeigt sich, dass aus mir nicht erklärbarem Grund der Bucket "Wetterdaten" abgefragt wird:
from(bucket: "Wetterdaten") |> range(start: 2023-07-16T17:41:46.143Z, stop: 2023-07-17T17:41:46.143Z) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Aussentemperatur" and r._field == "value") |> aggregateWindow(every: 1m0s, fn: last, createEmpty: false) |> set(key: "_field", value: "Aussen") |> yield(name: "Aussen")
Ich gehe dann also (zum x-ten Mal) zu den Dashboard settings, und dort zu den Variablen. Das sieht so aus:
Der longtermBucket ist "Wetter" - und nicht "Wetterdaten". Dann gehe ich in die Konfiguration der Variable longtermBucket und ändere nichts - bis auf eine minimale Änderung in der Beschreibung (z. B. ein zusätzliches Leerzeichen), damit ich auf "apply" drücken und das Dashboard neu speichern kann.
Anschließend sieht natürlich alles genauso wie vorher aus - ich habe ja effektiv auch nichts geändert.
Manchmal - aber eben auch nicht immer - ist das Ergebnis dann wie gewünscht und die Außentemperaturkurve wird richtig angezeigt:
Wenn ich dann aber einen Reload der Seite mache, dann ist das Problem wieder da:
Wo wird dieser Verweis auf "Wetterdaten" gespeichert, so dass er immer wieder als Basis für die Queries benutzt wird???
-
@sebhoff sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wo wird dieser Verweis auf "Wetterdaten" gespeichert, so dass er immer wieder als Basis für die Queries benutzt wird???
hatte ich auch am Anfang.
einfachste Lösung (da du mit dem DB noch frisch bist), lösch es und leg das Dashboard neu an.Ich bin von den Variablen aber ganz weg gegangen und hab mir alles mit dem DataExplorer zusammengebaut.