NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
String wird aussehen wie immer nehme ich an, sind ja alles keine neuen Werte, nur in der Kombination;)
(Edit: Ups, Co2 haben wir glaube ich doch noch nicht)Und ja der Sensor ist recht neu, daher kann das gut sein, dass Froggit noch keinen im Programm hat.
-
@rand Bis auf CO2 zwar nicht, aber ich brauche ja auch wie die Bezeichnung des Wertes genau lautet. Ich kann es mir zwar in etwa denken, aber wie das mit raten halt so ist: mal liegt man daneben, mal war der andere Wert richtig...
-
Jetzt geht es.
-
@west und woran lag es?
-
Keine Ahnung.
Wie ist den das Intervall für die Datenübertragung am ioBroker.
Habe noch ein Fehler bei sudo systemctl status wetterstation
pi@raspberrypi:~/WLAN-Wetterstation $ sudo systemctl status wetterstation ● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2021-03-14 20:50:35 CET; 12s ago Process: 2937 ExecStart=/home/pi/WLAN-Wetterstation/wetterstation.sh %(#ff0000)[(code=exited, status=1/FAILURE)] Main PID: 2937 (code=exited, status=1/FAILURE) Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Datenstring für ioBroker: Mär 14 20:50:35 raspberrypi systemd[1]: wetterstation.service: Failed with result 'exit-code'. Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: javascript.0.Wetterstation.Innentemperatur=18.61&javascript.0.Wetterstation.Aussentemperatur=4.38&javascript.0.Wetterst Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: DATA von Wetterstation: Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: PASSKEY=67DFA69FDA50D968AE98B9D507E496AC&stationtype=EasyWeatherV1.5.7&dateutc=2021-03-14+19:50:31&tempinf=65.5&humidit Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Debug VAR: Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Installationsverzeichnis: /home/pi/WLAN-Wetterstation Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: IPP: 192.168.178.12:8087 WS_PORT: 8090 WS_POLL: 30 PRE_DP: javascript.0.Wetterstat Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: WEB: HTTP WS_PROT: Ecowitt DP50/60/70/100/200: 0 | 0 | 0 | 0 | 0 Mär 14 20:50:35 raspberrypi wetterstation.sh[2937]: Script-Version: V2.5.0 Config-Version: V2.5.0 Sub-Version: V2.5.0 lines 1-16/16 (END)
Process: 2937 ExecStart=/home/pi/WLAN-Wetterstation/wetterstation.sh (code=exited, status=1/FAILURE)
Main PID: 2937 (code=exited, status=1/FAILURE) -
Jupp, das ist dann IMHO der 3. Fall wo offensichtlich kein Fehler vorliegt und nach dem x-ten mal probieren ohne etwas zu ändern geht es plötzlich.
@west Hast du in der wetterstation.conf ev. noch debug=true stehen? Lt. Ausgabe sieht es danach aus. Für den laufenden Betrieb muss es auf false gesetzt sein.
-
@west
Nochmal probiert dann ging es .
Habe jetzt mal den debug=true auf false gesetzt dann gings.
Intervall alle ??? -
@west sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Intervall alle ???
Was du in WS-View stehen hast. Bei "30 Sekunden" dann halt 30. Schneller senden die Stationen eh nicht.
-
Kleiner Bug in der V2.5.0 bei der "Durchschnittstemperatur vor einem Jahr". Die bleibt bei -99.99°C hängen. Fix ist in der kommenden Version schon drin, die kann aber noch paar Wochen dauern (aktuell nur der neue WH45-Sensor geplant).
Wen es stört/schneller haben will:
in der wetterstation.sub ziemlich am Ende den BlockAVG_TEMP_365D=$(curl -sG "http://${INFLUX_API}/query?pretty=true" --data-urlencode "epoch=s" --data-urlencode "db=${INFLUX_DB}" \ --data-urlencode "u=${INFLUX_USER}" --data-urlencode "p=${INFLUX_PASSWORD}" \ --data-urlencode "q=SELECT avg(value) FROM \"${PRE_DP}.Aussentemperatur\" WHERE time >= now() - 366d AND time <= now() - 365d" |\ jq -r '.results | .[].series | .[].values[] | .[1]' 2> /dev/null) if [ -z "${AVG_TEMP_365D}" ]; then SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=-99.99&ack=true" else SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=${AVG_TEMP_365D}&ack=true" fi
durch
AVG_TEMP_365D=$(curl -sG "http://${INFLUX_API}/query?pretty=true" --data-urlencode "epoch=s" --data-urlencode "db=${INFLUX_DB}" \ --data-urlencode "u=${INFLUX_USER}" --data-urlencode "p=${INFLUX_PASSWORD}" \ --data-urlencode "q=SELECT mean(value) FROM \"${PRE_DP}.Aussentemperatur\" WHERE time >= now() - 366d AND time <= now() - 365d" |\ jq -r '.results | .[].series | .[].values[] | .[1]' 2> /dev/null) if [ -z "${AVG_TEMP_365D}" ]; then SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=-99.99&ack=true" else AVG_TEMP_365D=$(round ${AVG_TEMP_365D} 2) SAPI "Single" "set/${DP_AVG_TEMP_365D}?value=${AVG_TEMP_365D}&ack=true" fi
ersetzen:
-
@sborg Habs geändert, macht hier aber trotzdem nix:
-
@ilovegym Loggst du die Aussentemperatur schon >= 365 Tage?
Bei mir ging es auch erst seit gestern, da ich wohl genau da angefangen hatte zu loggen
Die Durchschnittstemperatur war aber schlichtweg falsch ("avg" gibt es bei Influx gar nicht + dann war auch noch runden nötig)...btw: Hast du deinen Trichter wieder gefunden, neuen gedruckt, bei Froggit oä. einen geordert...?
-
@sborg ahh nee, erster Log ist vom 4.6.20, da werde ich noch etwas warten müssen...
Mein Trichter habe ich aus den Blumen gefischt, ist nix kaputt, keine Ahnung wie der sich lösen konnte..
Kann zur Zeit wegen Bandscheibe nicht so aufs Dach.. -
@rushmed Welcher Fehler war das? Ich bekomme auch keine Daten
lgr -
Hallo!
Ich habe ein Problem mit der InfluxDB. Die Verbindung zur Station passt, die Werte kommen auch in den iobroker nur es kommt nichts in die Datenbank. Suche schon eine ganze Zeit, finde aber nichts.
Danke mal.lgr
Übersicht
Javascript
Einstellungen
Adapter InofluxDB
Raspi InofluxDB
-
@ratte01 Hast du eine falschen Screenshot erwischt? Denn du hast einen vom "History-Adapter" gepostet, oder hast du den aus versehen anstelle vom Influx aktiviert ?
-
@sborg Ma! Danke!
Dieser iobroker macht mich noch Wahnsinnig.
Jetzt sehe ich die Daten in der influxDB.Muss aber noch mal lästig sein.
1.) Ich habe das Grafana konfiguriert und dieses JSON eingespielt: Dashboard, die DB Connection geht, aber ich sehe keine Werte im Dashboard.
2.) Gibt es fuer die influxDB Werte im iobroker eine best practice? Was stellt man da ein? Ich hole derzeit alle 60s die Daten von der Wetterstation. Was stelle ich bei den Punkten 1-7 am Besten ein?
Danke -
@ratte01
Jetzt habe ich auch das Grafana geschafft
Schwere Geburt. Die DB Verbindung muss "wetterstation" heissen -
Mir ist noch etwas aufgefallen...
Die gefühlte Temperatur stimmt manchmal (soweit ich gesehen hab bei schwachem Wind) nicht (ist höher als die wirkliche).
Meines Wissen nach kann die Formel (siehe Wikipedia) nur bei Windgeschwindigkeiten ab 5km/h und bei Temperaturen unter 10°C angewendet werden.Ich hatte das in Verbindung mit dem Sainlogic-Adapter mit einem Javascript so gelöst:
var windchill = 13.12 + (0.6215*temp) + ((0.3965*temp) - 11.37)* Math.pow(wind, 0.16); if (wind < 5.0 || temp > 10.0 || windchill > temp) windchill = temp;
Grüße
-
@boronsbruder sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Mir ist noch etwas aufgefallen...
Die gefühlte Temperatur stimmt manchmal (soweit ich gesehen hab bei schwachem Wind) nicht (ist höher als die wirkliche).
Meines Wissen nach kann die Formel (siehe Wikipedia) nur bei Windgeschwindigkeiten ab 5km/h und bei Temperaturen unter 10°C angewendet werden.Ich hatte das in Verbindung mit dem Sainlogic-Adapter mit einem Javascript so gelöst:
var windchill = 13.12 + (0.6215*temp) + ((0.3965*temp) - 11.37)* Math.pow(wind, 0.16); if (wind < 5.0 || temp > 10.0 || windchill > temp) windchill = temp;
Grüße
Das stimmt.
Wie wird der Windchill berechnet?
Die aktuell gültige Formel zur Berechnung des Windchill-Faktors lautet:
Formel zur Berechnung des Windchill-EffektsDabei beschreibt Ta die Lufttemperatur in Celsius und v ist die Windgeschwindigkeit in km/h. Die Formel bezieht sich dabei nicht auf eine komplett windstille Umgebung, denn bei Windgeschwindigkeiten unter 1,34 m/s könnte man einen positiven Windchill-Effekt errechnen. Das hat mit der isolierenden Wirkung der hautnahen Luftschicht zu tun, die sich bei Windstille erwärmt und nicht weggetragen wird. Daher wird die Gültigkeit der Formel erst ab einer Windgeschwindigkeit von 5 km/h veranschlagt.
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Daher wird die Gültigkeit der Formel erst ab einer Windgeschwindigkeit von 5 km/h veranschlagt.
Hatte ich auch geflissentlich überlesen
Ich bin von "größer 0km/h" ausgegangen. Ist für die 2.6.0 geändert; fix steht auf GitHub. Einfach die wetterstation.sh austauschen und service neustarten.
Alternativ so um Zeile #206 die "0" durch "5" ersetzen:if (( $(bc -l <<< "${MESSWERTE[6]} > 5") )); then