NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@mctom sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich finde die Zeiten etwas komisch
Das kommt schon hin. Influx ist in Zulu-Time (siehst du am "Z" im Zeitstempel). Sind aktuell zu uns -2h wg. Sommerzeit.
Damit wäre Zulu plus 2h UTC
- Start: 06.09.2023 um 0:00 Uhr
- Stop: 06.09.2023 um 23:59:59 Uhr
also genau ein ganzer Tag, nämlich der 06.09.
Die Statistik macht nichts anderes als den Max-Wert der Regenmenge (der Stand addiert sich auf) des Tages aus der InfluxDB zu ermitteln. Bei größer "0" = Regentag und Gesamtregentage = alter Stand Regentage + 1
Leider der Satz den man nicht hören mag: das funktioniert soweit tadellos, ist ein lokales Problem bei dir...
Vermutlich loggst du die Regenmenge nicht genau in das Bucket und/oder Instanz die du im Statistik-Script angegeben hast? -
@schittl sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Kann man dieses eventuell noch einbauen?
Wenn "man" nicht ich bin...
Jepp, mach ich, kann aber aktuell auch ein paar Tage dauern. Batteriestatus oä. liefert er nicht?
-
@schittl sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich habe einen neuen DP30 erworben
@schittl
Du weisst aber schon, dass der DP 30 nur ein Temperatursensor und kein Temp& Hum ist?7 Spezifikationen Energie: 2 x 1,5V AA Batterien (nicht im Lieferumfang enthalten) Frequenz: 868Mhz Temperaturbereich: -40°C – 50°C Auflösung: 0.1°C Genauigkeit: +/- 1°C
Oder geht darum, dass er im Skript dann mit Luftfeuchte geführt wird?
-
@SBorg
Vielen Dank. Dein Script ist ansonsten so super und funktioniert seit paar Jahren zuverlässig. Auch wenn ab und zu neue Sensoren dazu kommen. Batteriewerte liefert er. Das ist auf jedenfall nicht eilig.@Boronsbruder
Das ist mir bekannt. Liefert nur Temperatur und Batterie.Im Ecowittportal werden die Daten korrekt angezeigt.
Danke für Eure Mühe.
-
@schittl sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Batteriewerte liefert er
Da bräuchte ich dann den Teil des Strings noch
-
@sborg
Ich vermute bei der Übertragung prüfst Du, ob Temp und Humi vorhanden sind im String. Das müsstest Du nur "aufweichen" und auch einzeln übertragen oder nur auch bei einer Temp.Im String sollte es dann genauso aus wie bei DP50
Ich komme leider erst am Freitag wieder dazu Dir den Data-String nochmals zu schicken
-
@schittl sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich vermute bei der Übertragung prüfst Du, ob Temp und Humi vorhanden sind im String.
Nein
Anhand der Vorauswahl per "conf" wird dann selektiv geprüft. Sonst müsste ich bei jedem Datenpaket auf alle Sensoren prüfen. Viele (bspw. ich habe überhaupt keinen) haben aber nur wenige oder gar keine Zusatzsensoren.@schittl sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Im String sollte es dann genauso aus wie bei DP50
Dürfte eigentlich nicht, denn wenn du bspw. dann DP35 und DP50 hast, ließe sich nicht mehr unterscheiden welcher Sensor denn nun was ist. Der String geht ja so auch an andere Wetterdienste.
-
Hier der aktuelle Data-String:
Listening on [0.0.0.0] (family 2, port 1081) Connection from xxx.xxx.xxx.xxx 24659 received! PASSKEY=xxxx&stationtype=xxxx&runtime=13729033&dateutc=2023-09-14+09:33:00&tempinf=53.06&humidityin=65&baromrelin=28.175&baromabsin=28.175&tempf=52.88&humidity=93&winddir=24&windspeedmph=0.22&windgustmph=1.12&maxdailygust=9.17&solarradiation=117.44&uv=1&rainratein=0.000&eventrainin=0.150&hourlyrainin=0.000&dailyrainin=0.043&weeklyrainin=0.150&monthlyrainin=0.673&yearlyrainin=33.012&totalrainin=33.012&temp1f=67.64&humidity1=68&temp2f=75.20&soilmoisture1=4&soilmoisture2=50&soilmoisture3=18&soilmoisture4=37&soilmoisture5=43&lightning_num=0&lightning=10&lightning_time=1692962277&leak_ch1=0&tf_ch1=73.40&wh65batt=0&batt1=0&batt2=0&soilbatt1=1.5&soilbatt2=1.5&soilbatt3=1.5&soilbatt4=1.5&soilbatt5=1.5&wh57batt=5&leakbatt1=5&tf_batt1=1.58&freq=868M&model=xxxx
DP30 ist temp2f & batt2 meines Erachtens
-
@schittl sagte in [Linux Shell-Skript] WLAN-Wetterstation:
DP30 ist temp2f & batt2 meines Erachtens
"Leider"...
Da haben sie leider einen Bock geschossen, wohl aus den Anfängen des Ganzen. Bei neueren Sensoren sind sie schlauer.
Der DP30 lässt sich von der Kennung nicht von einem DP50 unterscheiden, außer dass ihm halt die Luftfeuchte fehlt.
Da die Daten aber "on-the-fly" verarbeitet werden, habe ich keine Möglichkeit festzustellen was es nun ist, da die Luftfeuchte erst später kommt, oder halt eben nicht kommt.
Den Datenstring im Nachgang zu patchen ist auch keine echte Option, dann kommt die ganze Kanalnummerierung durcheinander, da ich auch nicht weiß ob jemand bspw. auf Kanal1 einen DP50 hat, auf Kanal2 noch einen DP50, auf Kanal3 einen DP30...Es bleibt also wohl oder übel nichts anderes übrig als den DP30 als DP50 laufen zu lassen. Die überflüssigen DPs könnte man dann von Hand löschen oder halt stehen lassen, wirklich stören tun sie außer optisch nicht.
-
@sborg
Das stört mich nicht. Ich hatte anfangs den Verdacht, das die Werte nicht gespeichert werden. Nun erscheinen aber die Werte. Vllt war ich zu ungeduldig Also alles gut. Haste nix zu korrigieren. DP30 ist also wie DP50. Wieder was gelernt. Schönes WE und danke -
Funktioniert es auch mit dieser Station?
BRESSER-MeteoChamp-HD-WLAN-Wetterstation-7-in-1-mit-verschiedenen-Anzeige-ModiIch habe es heute erhalten und will es im ioBroker gerne einbinden.
-
@entraax
Hi, ja, sollte zumindest. Wissen tut man es allerdings erst wirklich wenn es läuft...
Da du sie eh schon hast, ist das Risiko ziemlich gering.Es bestehen drei Möglichkeiten:
- die Station unterstützt eigene Wetterserver. Dann kannst du einfach die IP + URL (siehe WiKi) von dem Rechner eingeben auf dem das Skript läuft
- die DNS-Anfrage umleiten (PiHole, dnsmasq,...), also die Daten die an WU geschickt werden sollten landen auf dem Rechner auf dem das Skript läuft.
- die Daten an AWEKAS schicken und dann mittels des (ev. bald erscheinenden) AWEKAS-Adapters abholen.
-
danke für das aufzählen der Möglichkeiten. Ich werde es mal testen.
-
@SBorg
kannst Du mir sagen was da heute Nacht schiefgelaufen ist2023-10-01 01:02:12.184 - info: linux-control.0 (2530934) successful received data from Proxmox (192.168.1.13:22) 2023-10-01 01:03:00.082 - error: javascript.0 (2529042) Error in callback: SyntaxError: Unexpected token o in JSON at position 1 2023-10-01 01:03:00.083 - error: javascript.0 (2529042) at JSON.parse () 2023-10-01 01:03:00.083 - error: javascript.0 (2529042) at VorJahr (script.js.Wetter.Statistik-WS:417:24) 2023-10-01 01:03:00.083 - error: javascript.0 (2529042) at Object.main (script.js.Wetter.Statistik-WS:158:4) 2023-10-01 01:03:00.083 - error: javascript.0 (2529042) at Job.job (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1617:34) 2023-10-01 01:03:00.083 - error: javascript.0 (2529042) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Job.js:171:15) 2023-10-01 01:03:00.083 - error: javascript.0 (2529042) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:268:28 2023-10-01 01:03:00.083 - error: javascript.0 (2529042) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/Invocation.js:228:7) 2023-10-01 01:03:00.083 - error: javascript.0 (2529042) at listOnTimeout (node:internal/timers:569:17) 2023-10-01 01:03:00.083 - error: javascript.0 (2529042) at processTimers (node:internal/timers:512:7) 2023-10-01 01:04:00.048 - info: host.ioBroker instance system.adapter.weatherunderground.0 started with pid 841580
Node 18.18.0
Admin 6.10.1
Javascript 7.1.4
IOB 5.0.12 -
Error in callback: SyntaxError: Unexpected token o in JSON at position 1
Ich würde behaupten, der Json den er vom Vorjahr parsen wollte, ist kein JSON (von der Formatierung), sondern ein Object?
Meiner sah z.B. so aus:
[{'Tiefstwert':2.1,'Hoechstwert':24.7,'Temp_Durchschnitt':12.14,'Max_Windboee':47.87,'Max_Regenmenge':19.304,'Regenmenge_Monat':60.51,'warme_Tage':9,'Sommertage':0,'heisse_Tage':0,'Frost_Tage':0,'kalte_Tage':0,'Eistage':0,'sehr_kalte_Tage':0}]
-
Jupp, alt bekanntes Problem. So wie es aktuell erstellt wird ist es auch kein ioB valides JSON. Das ist nur "hin- und zusammen gefrickelt" damit es "irgendwie" mit allem anderen funktioniert (zumindest mehr oder weniger).
Plan: korrektes JSON erstellen, Konverter für die Alt-Datensätze erstellen, um sie in korrektes JSON umzuwandeln, Skripte ggf. anpassen
Umsetzung: unbekannt, nicht in absehbarer Zeit meinerseits -
Hi, sorry war 3 Tage im Krankenhaus, daher erst jetzt. Kein Problem @SBorg , wird ja trotzdem alles korrekt angezeigt.
Also ganz in Ruhe irgendwann mal wenn Du Zeit hast. -
@nashra
Hoffe alles wieder gut, auf jeden Fall gute Besserung.Also ganz in Ruhe irgendwann mal wenn Du Zeit hast.
Also nie ?
Hier "stapelt" nix mehr, das "türmt" sich schon, von wegen Arbeit und so...
Prio hat jetzt aktuell meine Solaranlagenerweiterung, dann steht die Klima auf der ToDo und so weiter -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@nashra
Hoffe alles wieder gut, auf jeden Fall gute Besserung.Also ganz in Ruhe irgendwann mal wenn Du Zeit hast.
Also nie ?
Na Na Na, so war das aber jetzt auch nicht gemeint
Hier "stapelt" nix mehr, das "türmt" sich schon, von wegen Arbeit und so...
Prio hat jetzt aktuell meine Solaranlagenerweiterung, dann steht die Klima auf der ToDo und so weiterOk, wichtiger. Dann mal ran...
-
@sugomojawe said in [Linux Shell-Skript] WLAN-Wetterstation:
Hallo zusammen,
ich hätte da mal eine Frage. mein Vater hat mich mit dem ganzen Thema etwas angefixt. Er ist Amateurfunker und hat in seinem Hobbyraum eine ganze Station um Wetterbilder von Meteosat zu empfangen.
Aber zu meiner Frage, ich habe vor mir die Froggit HP1000SE PRO Display inkl. Innensensor + DP40 Aussen Temperatur/Luftfeuchte + DP80 Regensensor + DP300 Anemometer zu kaufen. Wie läuft das mit dem DP80 Regensensor? Der steht ja nicht in der Liste der Zusatzsensoren, wird der mit dem Display verbunden und dann so an ioBroker übermittelt oder wie kann ich mir das vorstellen?Danke und liebe Grüße aus dem Westerwald
MichaelHi,
ich habe von Froggit die HP1000SE PRO Single Sensor Edition und zusätzlich einen zweiten Außentemperatursensor und einen Blitzdetektor.
In der Single Sensor Edition ist auch der DP80 enthalten und das funktioniert ohne Probleme, er sendet also seine Werte als "regulärer Sensor" und muss nicht als zusätzlicher Sensor hinzugefügt werden.
In der config habe ich bei folgenden Sensoren eine 1 stehen:ANZAHL_WH31=1 #Außen Thermo-Hygrometer ANZAHL_DP40=1 #zusätzliches Außen Thermo-Hygrometer ANZAHL_DP50=1 #Innen Thermo-Hygrometer ANZAHL_DP60=1 #Blitzdetektor ANZAHL_DP300=1 #Anemometer und Lichtsensor