NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
Wegen der neuen Datenpunkte des DP250-/WH45-Sensors muss auch wetterstation.js ersetzt und einmalig ausgeführt werden.
Super, danke, probiere ich.
Dazu ne Frage - hab letztens festgestellt das irgendwann um das letzte Update mein Jahres-Regenmengen-Datenpunkt in der DB auf 0 zurück gesetzt wurde...
kann das durch das Ausführen des .js passiert sein ? -
@rand sagte in [Linux Shell-Skript] WLAN-Wetterstation:
kann das durch das Ausführen des .js passiert sein ?
Nein.
Vielleicht mal wieder kurz was was eigentlich macht (für alle zum Verständnis, schließlich ließt wohl keiner bald 2.800 Post'):
- ws-updater.sh
- füht nur Änderungen in der wetterstation.conf durch die bei Versionswechsel nötig sind.
- Einstellungen werden dabei keine verändert
- wetterstation.js
- legt lediglich im ioB die nötigen Datenpunkte an (um den Usern das händische [und fehleranfällige] Anlegen zu ersparen.)
- Werte werden nicht verändert.
- Es werden nur neue DPs angelegt, bestehende werden übersprungen (ist beim Javascript-Controller Standard so)
Für den Betrieb wird nur die wetterstation.sh, -.sub und -.conf benötigt.
GitHub:
firmware.version : enthält die aktuelle Version der EasyWeather-Firmware. Wird nur vom Statistik-Addon benutzt, um festzustellen ob es ggf. eine neue Version gibt (sofern im Skript aktiviert)Als Zusatz "AddOn" schließlich noch wetterstation-statistik.js
Führt Auswertungen durch und legt eine Statistik an.
@Rand Zu deiner Eingangsfrage und meinem "Nein". Nur das Statistik-Skript setzt von sich aus Werte auf "0". Bei der Jahresregenmenge sollte das aber nur am 01.01. passieren, sofern du es überhaupt nutzt und auch nur die "kumulierte", denn die berechnet das Shell-Skript. Die, falls es deine Station kann, von der Station übertragene ist kpl. außen vor. Die nehme ich so wie sie von der Station kommt und "reiche" sie an den ioB durch, wie fast alle anderen Werte auch. "fast" weil bei einigen Werten noch eine Konvertierung stattfindet: F --> °C, mph --> km/h usw.
Ganz pauschal kann es also nichts mit einem reinen Update zu tun haben. Sollte natürlich trotzdem nicht sein. Da es aber anscheinend auch nur ein Einzelfehler (wie @Negalein 's -5.000 °C Temperaturproblem) ist, kann ich eigentlich ein prinzipielles Problem auch ausschließen. Da es bei dir wohl auch nicht regelmäßig auftritt wird das kaum zu finden/fixen sein (falls es von der Station kam kann ich eh nix mehr machen).
Wenn es die "kumulierte" ist: einfach den vorherigen Wert wieder eintragen. Das Shell-Skript ließt den dann wieder ein und addiert dann wieder neue Regenmengen dazu - ws-updater.sh
-
Super danke, dann lasse ich mal das Beta update laufen und schaue was passiert.
Der fehlerhafte Wert war der berechnete, nicht der aus der Station... hatte es in Influx korrigiert (über Export, drop, import), aber hab natürlich den IOBroker Wert nicht korrigiert
Jetzt ist wahrscheinlich Kraut und Rüben... im Augenblick zeigt er nur noch Tag/Woche im Grafana an... irgendwas ist wieder schief ...
seufz
Hm, jetzt wollte ich den Wert einfach im DP aktualisieren, aber das scheint ihm gar nicht zu gefallen?
Er übernimmt den Wert den ich gesetzt hab (374.3) nicht und markiert es lila - was sagt mir das?Edit - scheinbar habe ich das Statistik Skript beim letzten mal nicht aktualisiert, es läuft noch 2.1 statt 2.2...
Hab ich jetzt mal aktualisiert...
Scheinbar sind aber nur sehr spärlich Daten in Grafana gelandet (i.e. diese Woche für Monat/Jahr nicht nichts, weswegen er natürlich mit last() für Tag oder Woche nichts anzeigen kann...
Inzwischen hat er auch den gesetzten DP für den Jahreswert übernommen, dann war Lila wohl für "noch nicht weggeschrieben" osäDer DP250 sieht gut aus auf den ersten Blick,
Edit2 - jetzt hat sich das Problem mit dem kumulierten Jahreswert auch erledigt...
Hatte in der Influx einmal "javascript.0.Wetterstation.Regen_Jahr_kumuliert" und einmal javascript.0.Wetterstation.Regen_Jahr_kumuliert... (von meinen export import Versuchen)
Jetzt wollte ich "javascript.0.Wetterstation.Regen_Jahr_kumuliert" löschen weil es nervt, aber
drop SERIES from "javascript.0.Wetterstation.Regen_Jahr_kumuliert" hat die Series ohne "" gedroppt
Für die Series mit "" muss man drop SERIES from ""javascript.0.Wetterstation.Regen_Jahr_kumuliert"" nehmen... was ein $%/$§.Zum Glück hatte ich die meisten Werte noch vom Export von letzter Woche (und am Ende ist ja der Jahreswert interessant, und der ist ja auch noch in der Station, aber trotzdem irgendwie nervig:( )
-
-
@rand sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Inzwischen hat er auch den gesetzten DP für den Jahreswert übernommen, dann war Lila wohl für "noch nicht weggeschrieben" osä
Jepp. Da ich beim SimpleAPI-Adapter beim "Bulk-Update" (=schreiben mehrerer Werte gleichzeitig) kein ACK-Flag setzen kann/darf, sind die Werte "rot" (=unbestätigt). Erwischt man dann beim händischen setzen genau den falschen Augenblick (z.B. wenn der SimpleAPI auch gerade den Wert schreiben will), weiß der ioB nun nicht welcher Wert der richtige ist...
@rand sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Der DP250 sieht gut aus auf den ersten Blick
...auch auf den 2.
Noch ein kleiner Fehler, ist auf GitHub bereits gefixt: stell noch in den Objekten beim PM25_24 die Rolle von "state" auf "value" um. Auswirkungen hat das so erst mal keine, ist nur syntaktisch einfach falsch (alle alten laufen eh noch auf "state").Das droppen in Influx wird unter 2.0 einfacher, dann hat Influx eine GUI. Ich habe damit aber auch noch nicht getestet. so von wegen meiner defekten SSD + eh noch genügend Arbeit und der Influx-Adapter für 2.0 ist auch noch sehr rudimentär. For ME aktuell zu viele Baustellen
-
@negalein Nö, funktioniert:
Ev. vergessen, dass er erst bei >20°C erzeugt wird ?
Lt. deinem Screeny "erzwingst" du alle 15 Minuten das Schreiben des Wertes:
06:12 Uhr
06:27 Uhr
....
09:21 Uhr (bis jetzt einfach <20°C + alle Werte im 15 Minutenraster)
09:22 Uhr dann 20.96°C (also genau nur eine Minute später und jetzt über 20°C = Index wird berechnet)
09:22:4x Uhr (~30 Sekunden später neuer Messwert der Station) Hitze-Index nun 21.1x°CSieht man auch an der Quelle ob "inlux" oder "simple-api". Bis 09:22 Uhr kam vom Skript nichts (Quelle: "erzwungener" Influx), da es einfach nicht über 20°C warm war. Danach (Quelle: simple-api") schickt das Skript den errechneten Index.
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ev. vergessen, dass er erst bei >20°C erzeugt wird ?
Nein, das nicht.
Dachte nur irgendwas passt nicht, da trotz Value Mapping das NA steht.
-
@negalein Das liegt an der Grafana-Version bzw. am Panel:
unter Grafana 8.0.6 mit "Stat"-Panel.
Kein Wert ist nicht "0" (als Zahl) sondern "Null". Das aktuelle "Stat"-Panel behandelt "Null" als "0", deswegen geht dann auch ein Mapping bspw. von 0 >>> -- -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das liegt an der Grafana-Version bzw. am Panel:
Ich hab 8.0.3
Kein Wert ist nicht "0" (als Zahl) sondern "Null". Das aktuelle "Stat"-Panel behandelt "Null" als "0", deswegen geht dann auch ein Mapping bspw. von 0 >>> --
Ich habs so und so probiert.
Das NA bleibt.
EDIT:
Ich habs!
Special --> Empty --> --
-
Hallo,
ich habe eben das Script laut Wiki Anleitung eingerichtet und gestartet, allerdings geht es nach "Prüfe ob auch die Openbsd-Variante aktiviert ist..." nicht weiter ?
Die Conf- Datei habe ich unter Windows mit Notepad++ (Linuxkonform) angepasst.
Jemand eine Idee, warum das nicht "durchstartet" ?
Das Ganze läuft auf einem RPI4 gemeinsam mit Homematic und Iobroker...
Ich hoffe mir kann jemand helfen,
Danke und schöne Grüße,
df0101 -
@df0101 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich hoffe mir kann jemand helfen,
Na sicherlich
Das ist noch ein Bug in der 2.6.0 und tritt nur unter bestimmten Bedingungen auf. Du kannst entweder die V2.7.0 Beta nehmen (die läuft schon stable + da ist der Fehler gefixt), oder du drückst an der Stelle wo er hängt 2x [ENTER]
-
@negalein Hätte aber trotzdem mit "fill(0)" funktionieren sollen (was es bei mir auch tut). Aber ev. war es dann auch einfach Bug-Fixing von 8.0.3 --> 8.0.6 , denn diese Panels lassen sich nicht updaten da sie Bestandteil von Grafana sind
Deswegen fahre ich auch regelmäßig Updates, wenn ich dann auch die ein- oder andere Änderung verfluche... -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Deswegen fahre ich auch regelmäßig Updates
muss mal schaun, wie ich Grafana update.
Sollte ja jetzt in der VM viel einfacher sein als im Docker. -
@negalein Es genügt unter Debian/Ubuntu:
echo "deb https://packages.grafana.com/enterprise/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Damit werden die "stable"-Releases mit ins Repo übernommen und beim normalen Update mittels update/upgrade dann auch geupdated.
Willst du das irgendwann mal nicht mehr, einfach die Datei/etc/apt/sources.list.d/grafana.list
löschen, oder wenn du z.B. auch Betas möchtest, dann einfach innerhalb der Datei stable durch beta ersetzen -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Es genügt unter Debian/Ubuntu:
Cool, das ging ja sehr easy!
Ich hab nur lauter Mehrzeiler im Netz gefunden. -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@negalein Es genügt unter Debian/Ubuntu:
echo "deb https://packages.grafana.com/enterprise/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
Damit werden die "stable"-Releases mit ins Repo übernommen und beim normalen Update mittels update/upgrade dann auch geupdated.
Willst du das irgendwann mal nicht mehr, einfach die Datei/etc/apt/sources.list.d/grafana.list
löschen, oder wenn du z.B. auch Betas möchtest, dann einfach innerhalb der Datei stable durch beta ersetzenHabe mich jetzt auch getraut Grafana auf die aktuelle Version zu heben, hat super geklappt, danke @sborg
Ein kleines Problem habe ich aber jetzt, einige Codes werden nicht mehr umgesetzt
Bekomme das einfach nicht mehr hin, was mache ich falsch? -
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich hab nur lauter Mehrzeiler im Netz gefunden.
Da wird dann immer noch der Key mit installiert. Da Grafana aber schon seit etlicher Zeit in der offiziellen Debian/Ubuntu Repo gelistet ist, braucht man das nicht mehr. Man kann natürlich auch auf ein Update via Original-Repo warten, dass dauert aber meist ein halbes Jahr bis da eine Stable von der Grafana-Seite auftaucht...
Das ist ein Problem mit den Original-Panels von Grafana. Die scheinen pauschal ANSI-/HTML-Code zu verweigern.
Mit dem Update von Grafana wurde auch das "Blendstat"-Plugin disabelt, welches ich im Original-Dashboard nutze, da es u.a. auch ANSI/HTML kann. Das hat er dann mit dem normalen "Stat"-Panel ersetzt.
Musst also ggf. "Blendstat" wieder nachinstallieren und dann auf das Panel umstellen.
Blendstat: https://grafana.com/grafana/plugins/farski-blendstat-panel/
Hier zwar keine Windrichtung, aber Pfeil für die Luftdrucktendenz
-
@sborg danke für den Hinweis. Blendstat hatte ich nicht mehr auf dem Schirm
obwohl ich alle Plugins upgedatet hatte. Jetzt alles wieder ok, Danke -
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
Noch ein kleiner Fehler, ist auf GitHub bereits gefixt: stell noch in den Objekten beim PM25_24 die Rolle von "state" auf "value" um. Auswirkungen hat das so erst mal keine, ist nur syntaktisch einfach falsch (alle alten laufen eh noch auf "state").
Was hat denn das für eine Auswirkung? Das man ggf in Grafana mit State nicht rechnen kann?
Wollte gerade die Solarenergie Werte (die bei mir alle als State in ioBroker sind) in Grafana vereinheitlichen (sie werden teils als Wh und teils als kWh gesammelt) und in ein Bar Chart packen (à la Sonnenscheindauer) um Platz zu sparen, aber sobald ich eine math() Umrechnung reinsetze bekommt er keine Werte mehr...Kann das am State liegen? Kann ich das einfach in iobroker ändern und Influx kapiert das? Oder ist das dann wieder export/drop/import?
Danke
-
Kommando zurück, es läuft doch nicht alles wie es soll
Also in Blendstat alles neu eingetragen
aber mal zeigt er die Richtung an, mal nicht, obwohl sich die Daten ändern.Dann noch bei letzte Messung mit Haken bzw Kreuz wenn es nicht stimmt
(altes Bild)
werden nur Zahlen angezeigt. Verstehe nur nicht woher er die holt denn
in dem DP von ioBroker steht entweder 20 oder 90.
Die Einträge in der Datenbank mal komplet gelöscht aber sobald sich was ändert
kommen wieder diese Zahlen.
Werde einfach nicht schlau daraus