Ah ok, das war mir nicht bewusst, danke
NEWS
Best posts made by Rand
-
RE: [Linux Shell-Skript] WLAN-Wetterstation
-
RE: Füllstandsmessung per Pegelsonde.
An einem?
Mehr Details für den unwissenden Anfänger bitte -
RE: [Linux Shell-Skript] WLAN-Wetterstation
Ja, mein letzter Beitrag war mehr eine Dokumentation meines Denkprozesses bei dem ich zum gleichen Ergebnis gekommen bin;)
Latest posts made by Rand
-
RE: [Linux Shell-Skript] WLAN-Wetterstation
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Meines Wissens sagte @Sborg irgendwann "Mein Skript schreibt nichts in die InfluxDB"
Mehr als einmal
Das macht der Influx-Adapter schon gut und komfortabel, da muss ich nicht nochmals das Rad erfinden.Lange nicht mitgelesen, lief ja;)
Noch eine (ggf schonmal beantwortete Frage) - wenn das Shell Skript ja keine direkte DB Verbindung hat, warum ist dann die Umstellung auf Influx2 relevant?
Das Interface zu Influx ist dann ja nur der Logging Adapter, der ja sowohl mit Influx 1 als auch 2 umgehen kann (neue Grafana Dashboards sind ein anderes Thema) ?Und wenn ich schon doofe Fragen stelle - ich nehme an die neueren "Smart" Geräte von Ecowitt (in meinem Fall WittFlow WFC01) werden eher nicht integriert werden oder?
Die pushen ja keine Wetterdaten sondern müssten per API abgefragt oder gesteuert werden, das ist ja ne völlig andere Logik... -
RE: [Linux Shell-Skript] WLAN-Wetterstation
Ja, mein letzter Beitrag war mehr eine Dokumentation meines Denkprozesses bei dem ich zum gleichen Ergebnis gekommen bin;)
-
RE: [Linux Shell-Skript] WLAN-Wetterstation
@boronsbruder Danke.
2x access denied heute mittag, aber seitdem nichts - nehme an das waren Versuche von mir. Hab den wetterstation service neu gestartet um einen etwaigen "habe aufgegeben" Status zu resetten - nichts...
dafür habe ich aber nochmal nach der Doku geschaut und auch eine test option gefunden... aber das ergebnis sagt mir jetzt leider nicht so richtig was:
INFLUX_WEB=HTTP INFLUX_API=127.0.0.1:8086 INFLUX_BUCKET=wetterstation INFLUX_TOKEN=<token> INFLUX_ORG=<org> ~/wetterstation$ ./wetterstation.sh --influx_test Testing InfluxDB... min/max Aussentemperatur 24h: °C °C
Vieleicht habe ich auch ein falsches Verständnis - schreibt das shell skript nach Influx oder ist das der Influx Logger im IOBroker?
Hab natürlich dummerweise auch die Variablen umgebogen weil ich 2 Basis Stationen habe und nicht beide 0_userdata.0.Wetterstation.Aussentemperatur nutzen können...
Das ist mir schon bewusst geworden, wollte dann einfach das Statistik js anpassen um die anderen DP zu nehme, aber dann bin ich über den leeren Bucket gestolpertWenn das shell skript in den konfigurierten Bucket schreibt, dann müssten ja zu mindestens die Werte dort stehen (mit dem Standard Namen)- das Statistik Script würde sie nicht finden aber es wäre nicht leer.
Das impliziert, dass das Logging nach Influx über IOBroker läuft... und da logge ich gar nichts in die zweite Influx Instanz, sondern alles in meine alte Influx1 (weil da Grafana drauf zugreift). Das würde dann wohl erklären warum alles leer ist.
Das sollte aber dann ja kein Problem sein ein zusätzliches Logging in die 2. Influx instanz zu machen... muss ich nur mal rausfinden wie man den bucket anspricht oder ob das der dbname ist den ich dann gerade auf iobroker habe.
Muss ich die Tage mal weiterschauen, aber klingt jetzt erstmal logisch, danke.Edit - ah ich sehe, Bucket=DB, das ich brauche also 3 Log Adapter, einmal Influx v1 (alt), je einmal v2 pro Wetterstation.
Dann kann ich auch die default Namen nehmen, muss aber dann die v1 Influx Daten in die neue db übernehmen und dabei umnennen.Fragt sich dann nur wie ich das Statistik Skript für ältere Zeiträume laufen lassen kann (wenn es das nicht automatisch macht...)
-
RE: [Linux Shell-Skript] WLAN-Wetterstation
@SBorg
Hi,wie kann ich denn prüfen ob das Skript sauber nach Influx schreibt (bzw schauen warum nicht) ?
Hab vor ein paar Monaten eine zweite Instanz aufgezogen (mit Influx2, weil mehr als 8 Temp Sensoren) und nachdem ich mich lange nicht gekümmert habe, wollte ich das Problem mal lösen, das die Statistiken nicht mehr funtionieren (2 Stations, unterschiedliche Datenpunkte usw).
Hab ein bisschen gesucht und am Ende ist der Fehler wohl das die Daten nicht in influx2 landen.
Bucket, Org und Token habe ich gesetzt und wenn ich über den IOBroker/Influx Instanz teste komme ich auch drauf. In der Influx Gui sehe ich keine Daten im Bucket, genau wie über influxCLI.Nach IOBroker kommt alles wie erwartet (in die 2 DPs), aber die Statistiken werden halt nicht erzeugt.
Einzige Auffälligkeit ist der jq Fehler den ich nicht erklären kann, aber sonst...?
Im Debug ist der part leider nicht enthalten, ggf wäre das eine sinnvolle Erweiterung der Ausgabe:)Danke
WLAN-Wetterstation V3.5.0 - (c)2019-2025 by SBorg Config-Version: V3.5.0 Sub-Version : V3.5.0 'bc' installiert: [✓] 'jq' installiert: [✓] 'dc' installiert: [✓] [sudo] password for wetterstation: 'nc' in der Openbsd-Variante installiert: [✓] 'netcat' in Openbsd-Variante aktiv, alles korrekt [✓] Connection to <myip> 8087 port [tcp/*] succeeded! jq: error (at <stdin>:1): null (null) and number (2) cannot be divided (standard_in) 12: syntax error [ { "id": "javascript.0.Wetterstation2.Innentemperatur", "val": "17.20" }, { "id": "javascript.0.Wetterstation2.Aussentemperatur", "val": "17.20" }, ... }, { "id": "javascript.0.Wetterstation2.Info.Wetterstation_Gateway", "val": "GW2000A" }, { "error": "Error: datapoint \"javascript.0.Wetterstation2.FT0300_Temperatur_1\" not found" }, { "error": "Error: datapoint \"javascript.0.Wetterstation2.FT0300_Feuchte_1\" not found" }, ... { "id": "javascript.0.Wetterstation2.Info.Hitzeindex", "val": "" } ] Messwerteblock: 17.20 17.20 7.55 59 53 994.11 994.11 0 0 0 4.394 151.612 18.05.2025%2014:10:50 GW2000A_V3.1.5 0 0 151.612 GW2000A 27.40 33 temp1f 27.40 humidity1 33 temp2f 21.60 humidity2 47 temp3f 23.60 humidity3 40 temp4f 15.50 humidity4 63 temp5f 9.30 humidity5 47 temp6f 5.10 humidity6 51 temp7f 19.10 humidity7 47 temp8f 23.80 humidity8 43 lightning_num 0 lightning 31 lightning_time 1747162791000 tf_ch1 23.80 batt1 0 batt2 0 batt3 0 batt4 0 batt5 0 batt6 0 batt7 0 batt8 0 wh57batt 4 tf_batt1 1.46 Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)! Temperatur Innen : 17.20 °C Temperatur Aussen : 17.20 °C Taupunkt : 7.55 °C Gefühlte Temperatur : °C Luftfeuchte Innen : 59 % Luftfeuchte Aussen : 53 % ... UV-Index : Zeitstempel : 18.05.2025 14:10:50 Firmware : GW2000A_V3.1.5 Batteriestand: : Gateway-Modell : GW2000A Zusatzsensoren: temp1f : 27.40 humidity1 : 33 temp2f : 21.60 humidity2 : 47 temp3f : 23.60 humidity3 : 40 temp4f : 15.50 humidity4 : 63 temp5f : 9.30 humidity5 : 47 temp6f : 5.10 humidity6 : 51 temp7f : 19.10 humidity7 : 47 temp8f : 23.80 humidity8 : 43 lightning_num : 0 lightning : 31 lightning_time : 1747162791000 tf_ch1 : 23.80 batt1 : 0 batt2 : 0 batt3 : 0 batt4 : 0 batt5 : 0 batt6 : 0 batt7 : 0 batt8 : 0 wh57batt : 4 tf_batt1 : 1.46 Datenstring für ioBroker: javascript.0.Wetterstation2.Innentemperatur=17.20&javascript.0.Wetterstation2.Aussentemperatur=17.20&javascript.0.Wetterstation2.Taupunkt=7.55&javascript.0.Wetterstation2.Innenfeuchtigkeit=59&javascript.0.Wetterstation2.Aussenfeuchtigkeit=53&javascript.0.Wetterstation2.Druck_absolut=994.11&javascript.0.Wetterstation2.Druck_relativ=994.11&javascript.0.Wetterstation2.Regenrate=0&javascript.0.Wetterstation2.Regen_Tag=0&javascript.0.Wetterstation2.Regen_Woche=0&javascript.0.Wetterstation2.Regen_Monat=4.394&javascript.0.Wetterstation2.Regen_Jahr=151.612&javascript.0.Wetterstation2.Zeitstempel=18.05.2025%2014:10:50&javascript.0.Wetterstation2.Info.FW_Version=GW2000A_V3.1.5&javascript.0.Wetterstation2.Regen_Event=0&javascript.0.Wetterstation2.Regen_Stunde=0&javascript.0.Wetterstation2.Regen_Total=151.612&javascript.0.Wetterstation2.Info.Wetterstation_Gateway=GW2000A&javascript.0.Wetterstation2.FT0300_Temperatur_1=27.40&javascript.0.Wetterstation2.FT0300_Feuchte_1=33&javascript.0.Wetterstation2.DP50.1.Temperatur=27.40&javascript.0.Wetterstation2.DP50.1.Feuchtigkeit=33&javascript.0.Wetterstation2.DP50.2.Temperatur=21.60&javascript.0.Wetterstation2.DP50.2.Feuchtigkeit=47&javascript.0.Wetterstation2.DP50.3.Temperatur=23.60&javascript.0.Wetterstation2.DP50.3.Feuchtigkeit=40&javascript.0.Wetterstation2.DP50.4.Temperatur=15.50&javascript.0.Wetterstation2.DP50.4.Feuchtigkeit=63&javascript.0.Wetterstation2.DP50.5.Temperatur=9.30&javascript.0.Wetterstation2.DP50.5.Feuchtigkeit=47&javascript.0.Wetterstation2.DP50.6.Temperatur=5.10&javascript.0.Wetterstation2.DP50.6.Feuchtigkeit=51&javascript.0.Wetterstation2.DP50.7.Temperatur=19.10&javascript.0.Wetterstation2.DP50.7.Feuchtigkeit=47&javascript.0.Wetterstation2.DP50.8.Temperatur=23.80&javascript.0.Wetterstation2.DP50.8.Feuchtigkeit=43&javascript.0.Wetterstation2.DP60.1.Anzahl=0&javascript.0.Wetterstation2.DP60.1.Entfernung=31&javascript.0.Wetterstation2.DP60.1.Zeitpunkt=1747162791000&javascript.0.Wetterstation2.DP35.1.Temperatur=23.80&javascript.0.Wetterstation2.DP50.1.Batterie=0&javascript.0.Wetterstation2.DP50.2.Batterie=0&javascript.0.Wetterstation2.DP50.3.Batterie=0&javascript.0.Wetterstation2.DP50.4.Batterie=0&javascript.0.Wetterstation2.DP50.5.Batterie=0&javascript.0.Wetterstation2.DP50.6.Batterie=0&javascript.0.Wetterstation2.DP50.7.Batterie=0&javascript.0.Wetterstation2.DP50.8.Batterie=0&javascript.0.Wetterstation2.DP60.1.Batterie=4&javascript.0.Wetterstation2.DP35.1.Batterie=1.46&javascript.0.Wetterstation2.Regenstatus=kein Regen&javascript.0.Wetterstation2.UV_Belastung=&javascript.0.Wetterstation2.Windrichtung_Text=&javascript.0.Wetterstation2.Info.Hitzeindex= DATA von Wetterstation: PASSKEY=xxxxxx&stationtype=GW2000A_V3.1.5&runtime=18759972&heap=143032&dateutc=2025-05-18+14:10:50&tempinf=62.96&humidityin=59&baromrelin=29.356&baromabsin=29.356&tempf=62.96&humidity=53&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.173&yearlyrainin=5.969&totalrainin=5.969&temp1f=81.32&humidity1=33&temp2f=70.88&humidity2=47&temp3f=74.48&humidity3=40&temp4f=59.90&humidity4=63&temp5f=48.74&humidity5=47&temp6f=41.18&humidity6=51&temp7f=66.38&humidity7=47&temp8f=74.84&humidity8=43&lightning_num=0&lightning=31&lightning_time=1747162791&tf_ch1=74.84&wh26batt=0&batt1=0&batt2=0&batt3=0&batt4=0&batt5=0&batt6=0&batt7=0&batt8=0&wh57batt=4&tf_batt1=1.46&freq=868M&model=GW2000A&interval=16 Debug VAR: Installationsverzeichnis: /home/wetterstation/wetterstation IPP: <myip>:8087 WS_PORT: 1080 WS_POLL: 16 PRE_DP: javascript.0.Wetterstation2 WEB: HTTP WS_PROT: Ecowitt Zusatzsensoren: DP10/35/40/50/60/70/100/200/250/300: 0 | 1 | 0 | 8 | 1 | 0 | 0 | 0 | 0 | 0 WH31: 0 || WS90: 0 Bresser: 7009999 [0] Script-Version: V3.5.0 Config-Version: V3.5.0 Sub-Version: V3.5.0
-
RE: [Vorlage] Denon HEOS Script
Hi,
Ich suche einen Weg die Lautstärke einer Heos Gruppe zu steuern.
ich spiele die meiste Musik über FooBar ab, kann dort aber immer nur einen Speaker steuern weil die Gruppe nicht als ansteuerbares Objekt im Netzwerk hängt (gleiches Problem wie beim Heos Adapter auch).
Kann ich das mit dem Heos Skript lösen?
Ich nehme an eine Gruppe manuell "definieren" und dann lauter/leiser Kommandos an alle "Mitglieder" schicken wäre eine Option (also ein JS was das Kommando nicht an ein Ziel sondern mehrere schickt) ?Bekomme ich das irgendwie in eine einfache Visualisierung?
Oder gibt es vieleicht viel bessere Möglichkeiten?
Danke
Edit:.
Hm, als ich eben nochmal die PlayerIDs zwecks Raumzuordnung durchgeschaut habe, habe ich doch tatsächlich die Gruppe gefundenNe, in jedem Player gibts ne Gruppen Info, unter anderem Group Volume... dann sollte das ja der relevante Daten punkt sein. Irgendwie ist zwar nirgendwo group_leader=true aber vlt macht das ja nichts
Damit sollte das dann ja theoretisch nicht so schwer sein...Edit2 - Ja das funktioniert halbwegs, damit kann ich weitere Versuche anstellen -
-
RE: Gelöst - Grafana Strom Summen in Zusammenspiel mit PVAnlage
Ich habe eine Lösung gefunden... ich erläutere sie hier, falls jemand ein ähnliches Problem hat oder zu mindestens Teile davon gebrauchen kann (export und reimport).
Ich habe es partout nicht hinbekommen, in Grafana die notwendige Aufteilung des Stromflusses in Lieferung & Bezug (negativ/positiv) durchzuführen, weder mit Transforms noch Expressions.
Daher habe ich dann einfach in meinem Javascript Adapter, der die Daten aus dem Volkszähler ausliest, eine Aufteilung eingebaut:
// aktueller_stromfluss aufteilen >0 Bezug, <0 Lieferung // Kann positiv sein - strombezug (= Gesamtbezug > Solarerzeugung) // Kann negativ sein - stromlieferung (= Solar > Gesamtbezug ) // Kann 0 sein - stromlieferung (= Solar = Gesamtbezug ) if (wert1 > 0 ) { wert1lief=0; wert1bezug=wert1; } else { if (wert1 < 0 ) { wert1lief=Math.abs(wert1) ; wert1bezug=0; } else // (wert1 == 0 ) { wert1lief=0 ; wert1bezug=0; } }
Damit werden jetzt 3 Werte nach Influx geschrieben - Stromfluss, Lieferung (absolut) und Bezug - das ermöglicht die Summierung neuer Daten.
Für die alten Daten habe ich dann die Stromflussdaten nach CSV exportiert
influx -username admin -password 'myPW' -database 'iobroker' -execute 'select * from "javascript.0.Volkszaehler.AKTUELLER_STROMFLUSS"' -format csv > stromfluss.csv
und diese Daten dann mit Hilfe eines kleinen Perlskripts (angehängtmod_csv.pl ) aufgeteilt und in ein importfähiges Format gebracht.
Dann mitinflux -username admin -password 'mypw' -database 'iobroker' -import -path=AKTUELLER_Bezug.csv
die beiden Dateien importieren und fertig.
Ich habe erst in ioBroker das Speichern der neuen Werte aktiviert und dann exportiert/importiert, damit waren die Measurements schon da (weil ich keine Ahnung habe ob der import Measurements anlegt oder nicht [oder ob man das überhaupt muss]).Zu guter Letzt habe ich dann einen Grafana Workspace angelegt der Gesamtverbrauch, Solarerzeugung und Lieferung/Bezug enthält und jeweils folgende Formel enthält
SELECT SUM("power"::float) / 60.0 FROM ( SELECT mean("value") AS power FROM "javascript.0.Volkszaehler.AKTUELLER_Bezug" WHERE $timeFilter GROUP BY time(1m) tz('Europe/Berlin') ) GROUP BY time(24h)
Über den unteren group by wird die Aggregation gesteuert, in diesem Fall Tageswerte, funktioniert aber auch mit Stunden (1h) oder Monatsähnlichen Werten (30d). Leider gehen 1mo/1y in der aktuellen Grafana/Infuxversion(1.8) nicht...
(Hier die flux version welche dann mit Monaten und Jahren umgehen kann... -> https://community.influxdata.com/t/multiple-aggregation-windows-for-power-aggregation/25292) -
Gelöst - Grafana Strom Summen in Zusammenspiel mit PVAnlage
Hallo zusammen,
ich weiss, ein altes Thema, aber ich bekomme es leider nicht hin. Hab schon ein paar Tage gesucht aber nicht das Ultimative gefunden.
Vielleicht sind meine Daten auch ungeeignetRahmenbedingungen
Hier läuft eine PV Anlage, kein Speicher, Tages-Gesamterzeugung in IOBroker/Influx
Ich lese den Stromzähler mit dem Volkszähler aus und schieben einen Teil der Daten via json query nach IOBroker.
Ich war doof und habe die Zählerstände nicht gesammelt (weder Bezug noch Lieferung), aber die historischen Daten liegen in einer MySQL so das ich zu Not die als Datenquelle nehmen könnte
Nach IOBroker gehen Gesamt_Verbrauch, Solarerzeugung und Stromfluss (positv oder negativ), die Daten werden alle 2s gespeichert (nach Influx nur bei Änderung bzw alle 60s/300s)Die meisten Beispiele die ich gefunden habe (z.B. https://www.smarthome-tricks.de/grafana/5-2-grafana-dashboard-fuer-den-stromzaehler/) ermitteln den Tages/ Wochen/ Monatswert über die Differenz des Zählerstandes im Zeitraum (die non_negative_difference Formel).
Ich habe aber dummerweise die Zählerstände vom Volkszähler nicht nach ioBroker geschoben und damit auch nicht nach Influx/Grafana.
Am Ende des Tages wären die Zählerstände aber auch ggf gar nicht korrekt, da dort der Eigenverbrauch ja verschwinden würde...Eigentlich bin ich also auf der Suche nach mehreren Grafana Abfragen -
-
Ich brauche den echten Verbrauch in einem Zeitraum (aktuell natürlich = Gesamt_Verbrauch), aber wie rechne ich da eine Summe über Zeitraum x aus wenn ich nicht weiss wieviele Datenpunkte ich am Ende habe?
-
Dann würde ich natürlich gerne wissen wieviel Solarstrom ich verbrauche bzw wieviel Kaufstrom, d.h. wie setzt sich der Gesamt_Verbrauch zusammen..
Das ist schon schwieriger, weil es ja Bedingungen enthält...
-Wenn SolarStrom >= Gesamt_Verbrauch dann alles Solar,
-wenn SolarStrom >0 & SolarStrom <GesamtVerbrauch dann Solaranteil entsprechend usw
-ggf auch statt dessen über den Stromfluss; wenn positiv wird Strom gekauft, wenn negativ geliefert.
Das kann sich ja dank Wolken etc ständig ändern, so das hier eine sehr grobe Summierung (1h, 1d) am Ende furchtbar ungenau wird, d.h. eigentlich muss man das in möglichst kleinen Scheiben rechnen und dann zu 1h/1d Werten aggregieren
Das Ganze sollte dann am Ende natürlich auf Stunden/Tage/Monats/Jahres Ebene aggregierbar sein
Idealerweise würde ich natürlich nicht bei 0 anfangen wollen, d.h. jetzt SourceAnalytix oder ein Skript zu nehmen wäre doof weil ich dann ja meine historischen Daten nicht nutzen kann, d.h. eine Grafana Lösung wäre schön...
Aber je mehr ich darüber nachdenken schwieriger erscheint es mir...Gibt es schon jemanden der in einer ähnlichen Konstellation eine Lösung mit Grafana gefunden hat?
Mit https://community.grafana.com/t/grafana-7-3-4-some-questions-visualizing-daily-usage-power-consumption/41194
kann ich zu mindestens Tagessummen ermitteln, z.B. den Tages-Gesamt-Verbrauch, aber mehr auch nicht...
Die Watt basierte Berechnung hier https://community.grafana.com/t/daily-power-consumption-from-watts/16196/31 habe ich nicht ans laufen bekommen -
-
RE: [Linux Shell-Skript] WLAN-Wetterstation
Das ist beruhigend zu wissen, vielen Dank
-
RE: [Linux Shell-Skript] WLAN-Wetterstation
Moin,
heute von 2.07 auf 2.13 aktualisiert...
Kleines "Problem" war das kein bevorzugter Editor definiert war ... also ggf vorher prüfen ob es die file gibt
Konfiguration nun öffnen? [J/N]: jcat: /home/iobroker/.selected_editor: No such file or directory /dev/fd/61: line 469: wetterstation.conf: command not found
Beim Teststart gab es dann jq Fehler
./wetterstation.sh Connection to <my ip port> port [tcp/*] succeeded! jq: error (at <stdin>:3): Cannot iterate over null (null) jq: error (at <stdin>:3): Cannot iterate over null (null)
aber das Test Datenpaket wurde sauber empfangen und sieht so aus als tut alles...
Zu Influx v2 - wäre super wenn es irgendwann geht, habe immer Angst das mir ein iobroker cli/npm update das Paket einfach zwangsweise draufbügelt...
-
RE: Pegelwerte Fritzbox 6490 Cable auslesen?
Ah ich hatte gesehen das es da unterschiedliche gibt aber nie was gefunden - interessant.