NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Hab ich jetzt mal auf jede Stunde geändert.
Falscher Screeny? 1 Stunde sind 60 Min * 60 Sek = 3600
"900" wären dann alle 15 MinutenMeine obige Einstellung ist eigentlich OK:
- Nur Änderungen aufzeichnen -- Man müllt sich sonst nur unnötig die Influx zu
- 43200 -- alle 12 Stunden einmalig einen Wert in Influx schreiben erzwingen (genügt bei einer 24h - Grafanaanzeige)
- Zeichenfolge -- um vorweg jedem Fehler aus dem Weg zu gehen
- Vorhaltezeit -- nach eigenem Gusto; zu lang müllt auch nur die Influx zu. Muss jeder selbst entscheiden, aber persönlich interessiert es mich nicht ob es vor 9 Monaten um 15:20 Uhr geregnet hat (die Regenmenge des entsprechenden Tages hab ich ja)...
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Falscher Screeny?
Ja, falscher Screen. Das ist der von den Standardeinstellungen!
-
Hallo,
mir ist gerade aufgefallen dass ich in den folgenden DPs keine Werte bekomme:
Was läuft da falsch? -
@rushmed
Edit: Falschaussage korrigiert!Min/Max Außentemperatur der letzten 24 Stunden (2)(4) Min/Max/Avg Außentemperatur vor einem Jahr (2)(4) Solarenergie Gestern, Heute, Woche, Monat, Jahr (2) Vorjahreswerte von Regenmenge, Sonnenscheindauer und Solarenergie (2) Zusatzsensoren (mittels Station oder Gateway DP1500/GW1000): bis zu 8 Stück DP50/WH31 Temperatur-/Luftfeuchtigkeit-Sensoren ein DP60/WH57 Blitzsensor bis zu 4 Stück DP70/WH55 Wasserleckage-Sensoren bis zu 8 Stück DP100/WH51 Bodenfeuchte-Sensoren bis zu 4 Stück DP200/WH43 PM2.5 Feinstaub-Sensoren (1) sofern dies die Wetterstation unterstützt (2) wird vom Shell-Skript berechnet / erzeugt (3) bei Nutzung des Ecowitt-Protokolls vom Skript berechnet (4) benötigt logging per InfluxDB + Aktivierung in der wetterstation.conf
Auszug aus der Anleitung!
-
Jupp, geht nur mittels Influx, da die entsprechenden Daten daraus gezogen werden:
24h dabei im Viertelstunden-Raster (xx:00, xx:15, xx:30 und xx:45 Uhr)
365tage einmalig pro Tag bei den Mitternachtjobs (liefert natürlich nur etwas wenn man auch schon mindestens 365 tage loggt )...vor einem Jahr war es hier runde 10°C wärmer...
-
Vielleicht möchtest du in deiner Anleitung noch anmerken, dass die Influxdb genutzt wird, die auch im Iobroker benutzt wird...
Es gibt so Trottel (ich), die legen erst eine neue Database an und wundern sich über Fehlermeldungen -
Die Werte sind eingetragen aber die DPs werden nicht befüllt, auch nicht zur Viertelstunde oder muss ich länger warten?
#InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx] INFLUX_API=192.168.178.020:08086 #Name, User und Passwort der InfluxDB-Datenbank INFLUX_DB=ioBroker_db INFLUX_USER=User INFLUX_PASSWORD=Pass
Muss ich bei INFLUX_API die vorgegebene Anzahl von stellen mit Nullen auffüllen so wie abgebildet?
-
@rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Die Werte sind eingetragen aber die DPs werden nicht befüllt
Port ist so bei dir richtig?
INFLUX_API=192.168.178.020:08086 -
@negalein Das ist ja meine Frage. Der Port ist 8086.
Soll ich den jetzt mit ner Null auffüllen um#IP und Port der API [xxx.xxx.xxx.xxx:xxxxx]
zu entsprechen?
Ging übrigens beides nicht.
-
@rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Soll ich den jetzt mit ner Null auffüllen
Nein, wie kommst du darauf?
-
-
@rushmed
Hast du das Skript über systemctl bzw init neugestartet?Was sagen die logs von influx?
Standardmässig sollte ja die html-Anfragen geloggt werden.Aug 11 10:15:07 ZEROSERVER influxd[1153]: [httpd] 127.0.0.1 - wetter [11/Aug/2021:10:15:07 +0200] "GET /query?db=iobroker&epoch=s&p=%5BREDACTED%5D&pretty=true&q=SELECT+min%28value%29+FROM+%220_userdata.0.Wetterstation.Aussentemperatur%22+WHERE+time+%3E%3D+now%28%29+-+1d&u=wetter HTTP/1.1" 200 524 "-" "curl/7.52.1" 3d709813-fa7c-11eb-9f3f-002590fc87b2 3926 Aug 11 10:15:07 ZEROSERVER influxd[1153]: ts=2021-08-11T08:15:07.877575Z lvl=info msg="Executing query" log_id=0VD_yEp0000 service=query query="SELECT max(value) FROM iobroker.autogen.\"0_userdata.0.Wetterstation.Aussentemperatur\" WHERE time >= now() - 1d"
So ähnlich sollten die Anfragen aussehen
-
@negalein bin mir nicht sicher, aber denk mal, daß beide right-y und mit max current arbeiten, die sich behindern.
versuch mal Wind auf der left-y... -
@boronsbruder Hab die Nullen wieder entfernt, nen anderen DB Nutzer eingestellt und einmal das Script im Debug laufen lassen und jetzt gehts. Keine Ahnung was da los war.
Danke -
@rushmed
Vielleicht hatte der Benutzer keine Rechte für die Datenbank?Ja, wenns jetzt läuft
-
@negalein bei mir ist das so eingetragen
-
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
bei mir ist das so eingetragen
funktioniert heute wieder. Schätze da hatte sich was verschluckt!
-
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Vielleicht möchtest du in deiner Anleitung noch anmerken, dass die Influxdb genutzt wird, die auch im Iobroker benutzt wird...
Es gibt so Trottel (ich), die legen erst eine neue Database an und wundern sich über FehlermeldungenMöchten schon, aber die liebe Zeit
Ich würde nämlich auch gerne noch darauf eingehen wie man bspw. das Logging am sinnvollsten konfiguriert etc.
...aber einen 08/15-Satz kann ich trotzdem schon mal in die WiKi ballern -
Hallo,
ich hab ein kleines Problem mit Solarenergie_Tag.
Hatte Anfang des Montas einige Probleme mit meinem System, die ich schlussendlich nur durch ein ioBroker Restore und Neuinstallation von Influx lösen konnte. Irgendwann so um die Zeit hab ich das Wetterskript noch auf 2.7 gebracht. Das war aber noch vor dem offiziellen Release.
Jetzt zu meinem Problem:
Wetterstation.0.Info.Solarenergie_Tag bringt seit meiner Wiederhestellerei utopische Werte.
Das ist gut das Dreifache von den erwarteten Werten.
Die Werte von Wetterstation.0.Sonnenstrahlung scheinen plausibel:
Edit: Welche Poll Intervalle nutzt ihr denn?
Ich hatte seit anfang immer 16 s. Dann ham ich kürzlich mal auf 60 s umgestellt. Jetzt bin ich seit gestern auf 30 s und die Werte sehen wieder plausibel aus. -
@rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich hatte seit anfang immer 16 s. Dann ham ich kürzlich mal auf 60 s umgestellt. Jetzt bin ich seit gestern auf 30 s
Wollte ich gerade schreiben. Ich brauche die Werte "über Zeit", nur so lässt sich die Leistung (Wattstunden ) berechnen. Da die Station aber keinen eigenen verwertbaren Zeitstempel hat und ich nicht das eingestellte Sende-Intervall des Nutzers kenne, muss ich einen festen Wert wissen. Entweder misst man selbst die Zeit zwischen zwei Datenpaketen, oder gibt zum Beispiel in der WS-View-App fest 30 Sekunden vor (man kann zwar auch 16 Sekunden einstellen, aber meine Station interessiert dies nicht, schneller als 30 Sekunden sendet sie nicht).
Jetzt muss man halt in der *.conf den Poll-Interval auf die oben eingestellten/ermittelten 30 Sekunden einstellen.
Nun kommt ein Wert: 500 Watt (der gilt aber nur jetzt + was ist mit den restlichen 29 Sekunden)
der nächste Wert x (wir nehmen jetzt mal 30) Sekunden später: 600 Watt...und nu? Wir bilden halt ein Mittel: (500 + 600) / 2 = 550 Watt für 30 Sekunden oder 4,583 Wh
Das ist nicht gerade ideal und ich hab schon mit Timern etc. experimentiert, aber bisher noch keine richtig zufriedenstellende Lösung gefunden. Das Problem sind die bewölkten Tage mit vielen Änderungen. Dann geht ohne den festen Poll-Interval zu viel an Daten verloren.
Wenn einer eine Idee hat...