NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@worxweis Letztendlich weiß es zwar nur Othmar, aber es wird einfach ein Zeitproblem sein. Ich komme aktuell bspw. auch zu nix hier mehr, nicht mal täglich vorbeischauen ist aktuell drin. Vorschriften gab es auch keine, dass waren nur Voraussetzungen für einen korrekt funktionierenden Adapter. Ähnliches gilt übrigens wenn ich Daten an Awekas schicke, da muss ich auch gewisse Voraussetzungen erfüllen.
...und zur Erklärung: der Adapter macht was völlig anderes wie "mein" Skript. Ich schicke zwar optional Daten an Awekas, der Adapter richtet sich aber an Leute die keine eigene Wetterstation haben. Mittels des Adapters kann man sich Wetterdaten von jedem Ort aus Awekas ziehen der seine Daten dahin sendet. Man hat bspw. im Allgäu eine Wochenendhütte aber dort keine eigene Wetterstation, ein Nachbar schon und schickt seine Daten an Awekas, dann kann man sich das aktuelle Wetter dort über den Adapter ziehen. Oder man hat am Wohnort keine Eigene, einer im Ort aber schon...
-
Frogitt WH4000SE
Tja, heute Morgen gegen 03:30 Uhr hat meine Außeneinheit wohl den Geist aufgegeben
Nach jetzt 3 1/2 Jahren darf das ja auch, weil Garantie abgelaufen
Auch das Solarmodul sieht etwas seltsam aus, milchig, Batterien sind aber ok.
Die Displayeinheit war ja schon vor über 1 Jahr nicht mehr lesbar und mit einer Mail an den Hersteller
war es auch nicht so toll, genau gesagt, keine Reaktion. Dabei sollte es schon eins von den Neuen
sein wo dieser Fehler nicht mehr passieren sollte.
Da die Teile einzeln mehr kosten als ein neues Set und da ich mit dem Kundenservice nicht zufrieden
bin/war, überlege ich welche Station ich nun nehmen soll bzw. welcher Hersteller.Überlege ob es die Eurochron EFWS 2900 sein soll oder doch wieder eine Froggit WH3000 SE PRO.
Obwohl wenn ich mir die Displayeinheiten ansehe, sieht es so aus als wenn beide gleich sind, also
vom selben Hersteller.Hat jemand hier die neue Frogitt WH3000 SE PRO in Gebrauch und kann mal was zu der sagen?
Oder wie ist es mit der zuverlässigkeit der Eurochron EFWS 2900 ? -
@nashra
ich hab die Eurochron EFWS 2900 seit mehr als 4 Jahren im Einsatz, läuft wie am ersten Tag - sowohl Innen- als auch Außeneinheit ohne Probleme (nur etwas Reinigungsaufwand der Außeneinheit einmal jährlich)! -
@latzi sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ich hab die Eurochron EFWS 2900 seit mehr als 4 Jahren im Einsatz, läuft wie am ersten Tag - sowohl Innen- als auch Außeneinheit ohne Probleme (nur etwas Reinigungsaufwand der Außeneinheit einmal jährlich)!
Dito für ca. 3.5 Jahre, nur habe ich seit 3.5 Jahren genau mal gar nix an der Außeneinheit gemacht
...sind sogar noch die ersten Batterien drin.
Bzgl. Display: meins sieht noch wie am ersten Tag aus bei ca. 16/7 - Betrieb.Alternativ wenn du eh kaum das Display genutzt hast / nutzen willst, ev. nur den Wettermast und ein Gateway.
-
Hallo Leute,
jetzt bin ich wirklich sauer.
Letzten Sonntag hatte sich ja die Außeneinheit verabschiedet, die Displayeinheit funktionierte
zwar noch aber seit langem konnte man kaum noch was darauf erkennen.
Hatte noch das Solarmodul sauber gemacht und auch mal neue Batterien eingelegt, aber nichts.
Ok, am Dienstag ein neues Set bestellt, eine Ecowitt WS2910
Das Teil kam schon Mittwoch an und was muß ich feststellen.....
Die alte Außeneinheit funkt auf einmal wieder als wenn sie nur darauf
gewartet hat das die Neue kommt.
Egal, die fliegt jetzt raus und die Neue geht in den Betrieb.
Frau freut sich auf neue Displayeinheit, da schon lange gemeckert wegen der alten.
Und ich, schau mal Schatzi, deine neue Wetterstation schon mal vorab zu Weihnachten.
Ups, der Blick hätte töten können. -
Windrose
meine aktuelle Windrose in Grafana wird anscheinend nicht mehr unterstützt.
"Angular plugin
This plugin uses a deprecated, legacy platform based on AngularJS and will stop working in future releases of Grafana."Hat jemand eine funktioierende Windrose vorzugsweise in Grafana?
-
@nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ups, der Blick hätte töten können.
Wie hieß das in der Werbung "Für alles hat man... Alles andere ist unbezahlbar"
@tritor
AngularJS ist ein Sicherheitsrisiko. Das hatten sie schon zu Anfang der 10er angekündigt es nicht weiter unterstützen zu wollen. Mit der aktuellen Grafana-Version haben sie es jetzt endgültig abgeschaltet.
Einen Ersatz für das Windrose-Plugin habe ich bis dato leider auch noch nicht gefunden
Hilft wohl nur warten und hoffen... -
@sborg
Ouch das hatte auch das AngularJS als BasisAber es gibt opensource Varianten:
https://github.com/spectraphilic/grafana-windrose/ -
@boronsbruder
Genau die ist in meinem Demo-Dashboard drin und geht nicht mehrAber es hat sich bei Grafana was getan, nur getestet habe ich es noch nicht: https://grafana.com/grafana/plugins/operato-windrose-panel/
-
merci für die Info, das hilft schon sehr weiter, dann werd ich mal die Windinfo "zu Fuß" darstellen.
die Operato Windrose hab ich gesehen, und ein wenig experimentiert: Zumindest wird mal was angezeigt:InfluxDB - Windrose - Operato
from(bucket: "ioBroker") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Windrichtung_10min" or r._measurement == "0_userdata.0.Wetterstation.Wind_10min") |> filter(fn: (r) => r._field == "value") |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value") |> filter(fn: (r) => exists r["0_userdata.0.Wetterstation.Windrichtung_10min"] and exists r["0_userdata.0.Wetterstation.Wind_10min"]) |> rename(columns: {"0_userdata.0.Wetterstation.Windrichtung_10min": "wind_direction", "0_userdata.0.Wetterstation.Wind_10min": "wind_speed"}) |> map(fn: (r) => ({ r with direction: r.wind_direction})) |> map(fn: (r) => ({ r with speed: r.wind_speed})) |> aggregateWindow(every: 2m0s, fn: first, column: "direction", createEmpty: false)
Die Legende skalieren läßt sich nur mit dem Auswählen der "speed-buckets". Also wieviele "Farben" man darstellen möchte.
8 sind der Standard, ich habs auf 5 reduziert, dann passt es auch mit meiner Vis.
-
@tritor Supi, danke fürs testen. Dann werde ich es mal bei Gelegenheit einbauen.
...und wieder was für die ToDo-Liste... -
@tritor
schade, der Code von dir funktioniert bei mir nicht.
Oben links das rote Zeichen und wenn ich mit der Maus darauf gehe
zeigt er an: t.fields[0] is undefined -
ich hab das in Grafana 10.1 eingegeben mit einer InfluxDB2 ver. 2.7 als Datensource eingegeben.
Eventuell postest mal einen Screenshot?
sieht bei mir so aus:
-
@tritor
Grafana 10.2.2
InflusDB 2.7.4 -
na dann stellen sich folgende Fragen:
- deine Datensource (Bucket) heisst: iobroker (hast du zumindest geändert)
- deine WetterstionsDPs sind alle unter 0_userdata.0 oder sind die unter javascript.0.Wetterstation....
- die Datenpunkte sind bei dir genauso vorhanden
Sonst kann ich es mir nicht erklären, wo es sonst noch haken könnte.
-
@Nashra
Du hast wahrscheinlich keine Daten im Bucket. Wenn es relativ Windstill ist oder sich die Richtung im 10 Minutenraster nicht ändert, steht kaum was in der DB.
Entweder musst du beim loggen bspw. jede Stunde mal das schreiben eines Wertes erzwingen, oder die aktuellen Werte nutzen (also nicht den 10 Minuten Durchschnitt):from(bucket: "${DatenBucket}") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Windrichtung" or r._measurement == "0_userdata.0.Wetterstation.Wind") |> filter(fn: (r) => r._field == "value") |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value") |> filter(fn: (r) => exists r["0_userdata.0.Wetterstation.Windrichtung"] and exists r["0_userdata.0.Wetterstation.Wind"]) |> rename(columns: {"0_userdata.0.Wetterstation.Windrichtung": "wind_direction", "0_userdata.0.Wetterstation.Wind": "wind_speed"}) |> map(fn: (r) => ({ r with direction: r.wind_direction})) |> map(fn: (r) => ({ r with speed: r.wind_speed})) |> aggregateWindow(every: 2m0s, fn: first, column: "direction", createEmpty: false)
-
-
Also erst mal Visualisierung Bar Gauge und dann 4 Queries:
Jahr
from(bucket: "ioBroker") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Regen_Jahr" and r._field == "value" )
Monat
from(bucket: "ioBroker") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Regen_Monat" and r._field == "value" )
Woche
from(bucket: "ioBroker") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Regen_Woche" and r._field == "value" )
Tag
from(bucket: "ioBroker") |> range(start: v.timeRangeStart, stop:v.timeRangeStop) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Regen_Tag" and r._field == "value" )
Und dann die settings & Overrides:
Die Max Werte mußt du halt so wählen damit es dann auch passt, z.B. beim Jahr hab ich 900 als max Wert genommen, das kann natürlich abhängig von deiner Region, wie oft und wieviel es da regnet, auch zu hoch sein. Ich habe noch kein ganzes Jahr gelogged, deshalb hab ich es mal auf 900 gesetzt.
-
@tritor sagte in [Linux Shell-Skript] WLAN-Wetterstation:
na dann stellen sich folgende Fragen:
- deine Datensource (Bucket) heisst: iobroker (hast du zumindest geändert)
- deine WetterstionsDPs sind alle unter 0_userdata.0 oder sind die unter javascript.0.Wetterstation....
- die Datenpunkte sind bei dir genauso vorhanden
Sonst kann ich es mir nicht erklären, wo es sonst noch haken könnte.
Ja, alles unter 0_userdata.0, DP vorhanden und auch befüllt. Aber ohne die ....__10min funktioniert es.
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@Nashra
Du hast wahrscheinlich keine Daten im Bucket. Wenn es relativ Windstill ist oder sich die Richtung im 10 Minutenraster nicht ändert, steht kaum was in der DB.
Entweder musst du beim loggen bspw. jede Stunde mal das schreiben eines Wertes erzwingen, oder die aktuellen Werte nutzen (also nicht den 10 Minuten Durchschnitt):from(bucket: "${DatenBucket}") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r._measurement == "0_userdata.0.Wetterstation.Windrichtung" or r._measurement == "0_userdata.0.Wetterstation.Wind") |> filter(fn: (r) => r._field == "value") |> pivot(rowKey:["_time"], columnKey: ["_measurement"], valueColumn: "_value") |> filter(fn: (r) => exists r["0_userdata.0.Wetterstation.Windrichtung"] and exists r["0_userdata.0.Wetterstation.Wind"]) |> rename(columns: {"0_userdata.0.Wetterstation.Windrichtung": "wind_direction", "0_userdata.0.Wetterstation.Wind": "wind_speed"}) |> map(fn: (r) => ({ r with direction: r.wind_direction})) |> map(fn: (r) => ({ r with speed: r.wind_speed})) |> aggregateWindow(every: 2m0s, fn: first, column: "direction", createEmpty: false)
Moin, die ..._10min rausgenommen und läuft. Obwohl Daten ohne Ende in den Datenpunkten.
Schau mir das am Wochenende mal genau an, da habe ich mehr Zeit.