NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
-
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.
-
@negalein Mhm - danke! Hat aber leider (erst mal) nichts gebracht. Ich habe die Sache gelöscht, aber beim Neu-Import waren alle Variablen schon gesetzt. Und natürlich wieder mit "Wetterdaten". Oder habe ich etwas falsch verstanden?
Dafür habe ich es jetzt endlich geschafft, den Bucket "Wetterdaten" zu löschen. Das führt dann hierzu:UPDATE: Ich hab's gefunden. In den Zeilen 7007 und 7008 stand "Wetterdaten".. <seufz>
-
@sebhoff sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Oder habe ich etwas falsch verstanden?
funktionierte bei mir.
War nur nicht lange mit den Variablen unterwegs, da ich sehr bald wieder auf das Kopieren aus dem DataExplorer umgestiegen bin.
Ist eigentlich auch schnell erledigt. -
Da hab ich mich doch selbst ins Abseits gestellt . Ich hab jetzt ein paar Tage (ok, schon seit März) nichts mehr am Wetterscript gemacht. Ich wollte ja auch auf InfluxDB2!
Aktuell habe ich das Script V3.2.0 laufen und bin jetzt dabei Influx anzubinden. Hier habe ich eine neue Instanz aufgesetzt mit einem Bucket 'weather'. Das Script läuft jetzt seit >3h, aktuell wurden noch keine Daten hierein geschrieben. Auch der Test mit '--influx_test' hat nichts geschrieben. Die Zugangsdaten habe ich in der wetterstation.conf drin. Hab ich das falsche Bucket? In dem Grafana-Script habe ich auch gesehen, dass es hier 'Wetterdaten' und 'TempData' gibt.
Kann mir jemand von den Wetterhelden kurz auf die Sprünge helfen? -
Zwei kurze Fragen zum Statistik-Skript:
- Habe ich es richtig verstanden, dass die Werte nach Start des Skripts nicht direkt berechnet werden, sondern zum ersten Mal um 1:03 Uhr (wenn die Einstellungen beim Default belassen werden)?
- Ist das Skript eigentlich bereit für den 29. Februar 2024? Ich sehe zwar "let monatstage = [31,28,31,30,31,30,31,31,30,31,30,31];", aber habe auf Anhieb nichts im Skript gefunden, was den Februar-Wert in einem Schaltjahr um einen Tag erhöht...
-
@rene55 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Auch der Test mit '--influx_test' hat nichts geschrieben. Die Zugangsdaten habe ich in der wetterstation.conf drin. Hab ich das falsche Bucket?
Hi, der Test schreibt auch nichts (ich schreibe zu keinem Zeitpunkt direkt in die InfluxDB), der baut nur eine Verbindung auf und will dann was lesen
Zeigt denn der Influx-Explorer überhaupt Daten bei deinem Bucket bei bspw. "Aussentemperatur"?
-
@sebhoff sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Habe ich es richtig verstanden, dass die Werte nach Start des Skripts nicht direkt berechnet werden, sondern zum ersten Mal um 1:03 Uhr (wenn die Einstellungen beim Default belassen werden)?
Jepp, ist ja eine Statistik und die kann nur richtig sein wenn alle Werte vorliegen. Ich kann ja (aktuell 14:07 Uhr) nicht jetzt schon sagen "die Höchsttemperatur lag heute bei 33.11°C". Das geht erst heute Nacht um 0:00 Uhr wenn der Tag durch ist.
Wenn du "jetzt" die bisherige Tageshöchsttemperatur möchtest kannst du das aber per Influx abfragen.
Die 1:03 Uhr ist extra ein krummer Wert, da möglichst nicht viel zu dem Zeitpunkt laufen sollte. Hat sich zwar seit Influx V2 gebessert, aber auf einem älteren Pi kann das schon mal paar Sekunden "haken".
...und 01:xx Uhr war/ist, um sicherzustellen, dass auch alle Werte vom RAM nun in die Influx geschrieben wurden....und keine Ahnung mehr wie ich mir das mit dem 29.02. gedacht hatte (oder ich überhaupt was gedacht habe/hatte ). Das entstand mehr aus einem Userwunsch heraus und ich nutze es selbst nicht, deswegen dümpelt das etwas Stiefmütterlich herum. So aus dem Bauch heraus würde ich aber meinen, dass der Tag einfach nicht in die Statistik einfließt.
-
@sborg OK - danke!
Dann schaue ich mal, ob morgen früh was in ioBroker erscheint, was da bis jetzt noch nicht steht... -
@sborg Danke für die Antwort. Es ist einfach schon zu lange her (Benutze dein Script ja schon seit der Version 1.3.1). Ich habe ja alles auf einem neuen Rechner (proxmox, Wetterstation, Influx, Grafana) installiert. Ich musste die neue Influx ja noch dem ioBroker bekannt geben und die jeweiligen Datenpunkte der Instanz zuordnen - das hatte ich total ausgeblendet ! Und schon kommen die die Werte in der Influx an.
Jetzt habe ich noch den Blackout mit dem Dashboard und den beiden 'Wetterdaten' und 'TempData'. Sind das zwei Buckets oder nur optional? -
Kurze Frage - habe ich das richtig verstanden?
Ich habe eine Sainlogic WS3500 mit entsprechender Basisstation, die nun den Input für das WLAN_Wetterstation Skript liefert. Das Skript könnte theoretisch zusätzliche Sensoren verarbeiten - und das ginge zum Beispiel mit einem Ecowitt Gateway (GW1100). Allerdings kann ich nicht beides gleichzeitig betreiben, oder? Also die bereits eingebundene Basisstation durch ein GW1100 ergänzen...? -
@rene55 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Jetzt habe ich noch den Blackout mit dem Dashboard und den beiden 'Wetterdaten' und 'TempData'. Sind das zwei Buckets oder nur optional?
Eigentlich zwei. Das Ganze spiegelt meine Installation wieder (von wegen "och, kannst du mal deins posten" ).
Bei mir ist es so, dass alles in einem Bucket mit einer Retention von xx Tagen landet (= damit wird automatisch immer alles älter als xx+1 Tag gelöscht).
Will ich nun etwas länger haben, läuft dafür ein Influx-Task der dann zB. die Daten aggregiert (min, max, avg oder was auch immer) bzw. die Daten in ein zweites Bucket schiebt mit einer Retention von "never".
Daher rühren die beiden Buckets. Du kannst sie entweder kpl. mit einem ersetzen oder alle Bucket-Variablen mittels eines festen Names (beides in der Dashboard.json). Ich wollte nur diesmal mittels der Variablen flexibel bleiben. Ändert sich was (Bucketname, Instanz...), muss ich es nur einmalig bei den Variablen ändern. -
@sborg Danke auch hierfür. Ich versuche mal das mit den Variablen zu verstehen. Ich bin weit entfernt davon eigene Influx-Tasks zu basteln. Ich geb mich mal ans Dashboard. Das V1 hab ich ja auch irgendwie hinbekommen - ist nur schon so lange her .