Code Monkey home page Code Monkey logo

wlan-wetterstation's Introduction

⛅ WLAN-Wetterstation



Current Release Downloads GitHub download Contributors Average time to resolve an issue Percentage of issues still open GitHub issues Commits since last release License

schafft eine Verbindung von einer WLAN-Wetterstation zum ioBroker und kann optional die Wetterdaten für AWEKAS.at, openSenseMap, Windy, WeatherObservationsWebsite (WOW) und wetter.com zur Verfügung stellen (Projekt läuft nur unter Linux)

Die Wetterstation muss dazu in der Lage sein ihre Daten im "Wunderground/Ecowitt"-Format zu senden.

Bisher getestete Stationen:

  • BRESSER®
    • WLAN Farb-Wetter Center mit 5-in-1 Profi-Sensor V (*)
    • WLAN Comfort Wetterstation mit 7-in-1 Profi-Sensor (*)
  • ChiliTec Funk Wetterstation 12in1
  • Curconsa FT0300 (*) (inkl. Zusatzsensor)
  • DNT Weatherscreen PRO
  • Ecowitt
    • Gateway GW1000
    • Gateway GW2000A
    • WS2910
  • ELV WS980WiFi
  • Eurochron EFWS 2900 (baugleich zu Sainlogic 10in1 Wifi, Ambient Weather WS-2902, Chilitec CTW-902 Wifi)
  • Froggit
    • Gateway/USB-Dongle DP1500/DP2000
    • HP1000SE Pro
    • WH3000 SE
    • WH4000 SE
    • WH6000 Pro
  • Renkforce WH2600
  • Sainlogic
    • 7in1 WiFi WS3500
    • Profi Wlan Wetterstation FT0300 (*)
  • Ventus W830

(*) über DNS-Server wie bspw. PiHole oder dnsmasq

Zusatzsensoren (mittels Station oder Gateway DP1500/DP2000/GW1000/GW2000A):

  • bis zu 8 Stück DP10/WN35 Blattfeuchte-Sensoren
  • bis zu 8 Stück DP30/WH31 Temperatur-Sensoren(3)(4)
  • bis zu 8 Stück DP35/WN34 Wassertemperatur-Sensoren
  • ein DP40/WH32 (bzw. WH26) Außentemperatur- und Luftfeuchtigkeitssensor
  • bis zu 8 Stück DP50/WH31A Temperatur-/Luftfeuchtigkeit-Sensoren(4)
  • ein DP60/WH57 Blitzsensor
  • bis zu 4 Stück DP70/WH55 Wasserleckage-Sensoren
  • bis zu 8 Stück DP100/WH51[L] Bodenfeuchte-Sensoren(4)
  • bis zu 4 Stück DP200/WH43 PM2.5 Feinstaub-Sensoren
  • ein DP250/WH45 5-In-1 CO2 / PM2.5 / PM10 / Temperatur / Luftfeuchte Innenraumsensor
  • ein DP300/WS68 Solarunterstütztes Anemometer mit UV-Lichtsensor
  • ein WH25 Sensor
  • ein WS90 "Wittboy" Sensor
  • BRESSER® (1)
    • bis zu 4 Stück(2) BRESSER® Thermo-/Hygro-Sensor 7 Kanal #7009999


(1) nicht alle Bresser-Stationen unterstützen Zusatzsensoren! siehe hier
(2) durch das verwendete Wunderground-Protokoll limitiert
(3) sind als DP50 einzutragen
(4) es sind in Summe nur max. 8 Sensoren der Typen DP30/50/100 bzw. deren WHxx-Derivate möglich.

Die mögliche Anzahl der Zusatzsensoren ist nicht durch das Skript begrenzt, sondern wird vom Display und/oder Gateway bestimmt.


über eigenen DNS-Server:

  • Stationen ohne Möglichkeit der Konfiguration mittels App WS View[+] wie bspw. Sainlogic Profi Wlan Wetterstation FT0300 oder Stationen der Firma BRESSER®
  • Installation siehe WiKi

Unterstützung für dieses/zukünftige Projekte

Wer möchte kann mir gerne einen Kaffee ausgeben und mich bei den Projekten unterstützen. Ich freue mich über jedweden Support.

paypal

Beispiel einer Visualisierung per Grafana (zu finden hier): Grafana Grafana

Datenpunkte im ioBroker:
ioB-Datenpunkte

Daten in openSenseMap:
Bild openSenseMap

Daten in Windy:
Bild Windy

Daten in Wetter.com:
Bild Wetter.com

Daten in Awekas.at (Stationsseite, kostenlos):
Bild Stationsseite AWEKAS
und kostenpflichtiges "Stationsweb": Bild Stationsweb AWEKAS

Auszug von WeatherObservationsWebsite (WOW): Bild WOW

Weiterführende Informationen

Thread im ioBroker-Forum

Installation

siehe WiKi

Wetterstation-Statistik (Addon)

ioB-Datenpunkte
siehe WiKi

Versionen

V3.2.0 - 12.08.2023

    + Support für WeatherObservationsWebsite (WOW)
    + Fix Zeitstempel für neuere Gateway-Firmwarereleases die ein URL-Encoding enthalten

V3.1.1 - 05.06.2023 Bugfix Release

    + Fix "MetSommer" (Skript bleibt bei den Mitternachtjobs hängen)

V3.1.0 - 16.03.2023 Bugfix Release

    + Windböe max für Stationen die den Wert nicht liefern
    + Option "k" für selbstsignierte Zertifikate bei der Influx-Abfrage hinzugefügt
    + Parameter "--influx_test" zum test der Influx-Konnektivität
    + Fix "MetSommer" (Skript bleibt bei den Mitternachtjobs hängen)

V3.0.0 - 08.02.2023 Breaking Release

    ~ Breaking Release / Support für (und nur noch!) InfluxDB V2.x / Issue #41
    ~ Mindestintervall von 65 Sekunden beim Datenversand an AWEKAS.at
    + Support Zusatzsensor Curconsa FT0300 / Pull Request #55 (LukasTr1980)
    ~ Anzahl maximaler interner Sensoren von 30 auf 35 angehoben

V2.21.0 - 15.01.2023

    + Support für AWEKAS
    ~ fix fehlende Regenwerte wenn nur der WS90 ohne weitere Außeneinheit benutzt wird / Issue #51

V2.20.0 - 12.12.2022

    ~ fix Wolkenbasis (keine Werte falls Taupunkt negativ) / Issue #46 (viper4iob)
    ~ fix Wetterwarnung (Reif) / Issue #47 (viper4iob)
    ~ fix OpenSenseMap für Stationen die 10-Minutendurchschnittswerte bereits liefern / Issue #48 (viper4iob)

V2.19.0 - 12.08.2022

    + Wetterwarnungen Schwüle, Tau/Nebel und Reif
    ~ URL-Encoding für Umlaute
    + Unterstützung für WS90 "Wittboy"

V2.18.0 - 28.07.2022

    + Höhe der Wolkenbasis
    + Windrichtung der letzten 10 Minuten als Text
    + Unterstützung für DP10/WN35 Blattfeuchte-Sensor
    + Ausgabe der Skriptversion in Datenpunkt beim Start

V2.17.0 - 22.07.2022

    + durchschnittliche Windrichtung und -geschwindigkeit der letzten 10 Minuten alternativ anstelle
    der aktuellen Werte an OpenSenseMap, windy und wetter.com senden
    + Temperaturtrend Aussentemperatur der letzten Stunde
    ~ Fix für Datenübertragung an nicht antwortenden OSeM-Server

V2.16.0 - 12.07.2022

    + Windrichtung der letzten 10 Minuten für alle Stationen (benötigt wird dafür nun noch 'dc')
    + durchschnittliche Windgeschwindigkeit der letzten 10 Minuten für alle Stationen
    ~ Bugfix gelegentlicher "jq parse"-Fehler
    ~ Bugfix Regenmenge des meteorologischen Sommers aktualisiert sich nicht

V2.15.0 - 19.06.2022

    + neuer DP "Meldungen"; für Status- und Fehlermeldungen
    + Datenübertragung an Wunderground.com auch bei eigenem DNS-Server (Protokoll #9)(@git-ZeR0)
    + Windrichtung und -geschwindigkeit der letzten 10 Minuten (aktuell HP1000SE Pro)
    + ws_updater: anlegen neuer Datenpunkte per Rest-API möglich

V2.14.0 - 28.05.2022

    ~ Fixed authentication for Simple-API setBulk requests (@crycode-de)
    + Set ack flag on setBulk requests (requires PR ioBroker/ioBroker.simple-api#145) (@crycode-de)
    + Added option to ignore SSL errors if HTTPS is used together with a self-signed certificate (@crycode-de)
    + Added the state .Info.Sonnenschein_VorTag_Text (@crycode-de)
    ~ Merge some SAPI "Single" calls into SAPI "Bulk" calls (@crycode-de)

V2.13.0 - 05.04.2022

    + Unterstützung für DP35/WN34 Sensor (@Omnedon)

V2.12.1 - 29.03.2022

    ~ Fehler bei "FIX_AUSSENTEMP" behoben (keine Datenübertragung an den ioB / Issue #31)

V2.12.0 - 26.03.2022

    + bei fehlerhafter Außentemperatur erfolgt keine Datenübertragung des Paketes an den ioB

V2.11.1 - 14.02.2022

    ~ Reduzierung valides Datenpaket auf 250 Zeichen
    ~ "SainLogic Pro"-Protokoll in "DNS" umbenannt

V2.11.0 - 03.12.2021

    ~ Windgeschwindigkeit bei wetter.com in m/s
    + Konfigurationsmöglichkeit des Kommunikationsfehlers (Issue #26)
    ~ Bugfix Speicherort beim logging
    ~ Ergänzung bei Prüfung auf valides Datenpaket (Außentemperatur hinzugefügt)
    + Hinweis auf korrekte WS_ID bei Wunderground-Protokoll falls Kommunikationsfehler

V2.10.1 - 22.11.2021

    ~ Bugfix 'jq'-Fehlermeldungen von 0:00 Uhr bis 01:00 Uhr
    ~ Bugfix Fehlermeldung "bereits existierender User" bei der OSeM-Registrierung obwohl keiner angelegt
    + bei Option '--debug' werden, sofern aktiviert, nun auch die Daten an den/die Wetter-Dienst(e) geschickt und deren Meldung(en) ausgegeben
    ~ Fix auftretende Fehlermeldung falls SimpleAPI nicht erreichbar war
    ~ Codeoptimierungen

V2.10.0 - 21.10.2021

     ~ Bugfix Option '--data' bei Ecowitt-Protokoll
     ~ Passkey bei Nutzung des Ecowitt-Protokolls maskieren
     + logging des Datenstrings der Wetterstation in eine Datei
     + Unterstützung für DP40/WH32 (bzw. WH26) Sensor
     + Unterstützung für DP300/WS68 Sensor
     + Unterstützung für WH31 (bzw. WH25) Sensor
     + netcat-/Success-Meldungen im Syslog entfernt
     + Patch Sommer-/Winterzeit für wetter.com

V2.9.0 - 25.08.2021

     + Min-/Max-Aussentemperatur des heutigen Tages
     ~ Änderung bei Datenübertragung per Simple-API wg. InfluxDB 2.x
     + Meteorologischer Sommer Durchschnittstemperatur und Regenmenge
     + neuer Shell-Parameter --metsommer (zur manuellen Berechnung der Werte des meteorologischen Sommers)

V2.8.0 - 14.08.2021

     ~ Änderung am Messverfahren der Solarenergie (festes Poll-Intervall --> Zeitstempel)
     + Support für wetter.com

V2.7.0 - 15.07.2021

     + Bei bereits eingetragenem OSEM-User erfolgt Abbruch der OSEM-Registrierung
     + Unterstützung für DP250/WH45 Sensor
     ~ Fix Prüfung netcat-Version
     ~ Berechnung Windchill nur bis 11°C

V2.6.0 - 04.05.2021

     ~ Fix Avg Aussentemperatur vor einem Jahr
     ~ Windchill erst ab 5km/h Windgeschwindigkeit
     + Prüfung bei Option "v" ob die netcat-Version korrekt ist
     + Support für Windy
     ~ Hitzeindex

V2.5.0 - 08.02.2021

     ~ Fix für Protokoll #9 wg. fehlender Regenrate
     + Min/Max/Avg Aussentemperatur vor einem Jahr
     + Unterstützung von max. 4 DP70 Sensoren
     ~ Codeoptimierungen

V2.4.0 - 03.02.2021

    + Hitzeindex (>20°C)
    + Unterstützung von max. 4 DP200 Sensoren

V2.3.0 - 26.01.2021

    ~ Fix Rundungsfehler Windchill/Taupunkt
    + Min/max Aussentemperatur der letzten 24h
    + Unterstützung für DP60 Sensor
    ~ Fix für Protokoll #9 wg. fehlender Regenrate

V2.2.0 - 21.01.2021

    ~ Fix Batteriestatus
    ~ Chillfaktor umbenannt auf Windchill/gefühlte Temperatur
    + Berechnung Windchill + Taupunkt für Ecowitt-Protokoll

V2.1.0 - 10.01.2021

    + zusätzliches Protokoll "9" für userspezifische Abfrage
    ~ Fix Reset kumulierte Regenmenge zum Jahresanfang
    ~ Fix für DP100 Bodenfeuchte

V2.0.0 - 15.12.2020

    + Unterstützung des Gateways und Zusatzsensoren (@a200)
    + Protokoll (wunderground oder ecowitt) wählbar

V1.6.0 - 06.12.2020

    + Patch (@a200) für neuere Firmwareversionen (V1.6.3) speziell bei Nutzung eines Gateways
    ~ Reset des Error-Kommunikationszählers
    + Prüfung bei Option "-v" ob 'bc' und 'jq' installiert sind
    ~ Option "n" bei netcat hinzugefügt

V1.5.0 - 30.11.2020

    + Verschlüsselung mittels HTTPS möglich
    + Authentifizierung mittels User/Passwort
    + ws_updater.sh (zum updaten der wetterstation.conf)

V1.4.0 - 15.11.2020

    + Support für OpenSenseMap

V1.3.1 - 10.10.2020

    ~ fix für Leerzeichen im Verzeichnisnamen
    + Wetterstation-Statistik (JS-Addon)

V1.3.0 - 22.06.2020

    + letztes Regenereignis und Regenmenge
    + Fehlermeldung bei falscher WS_ID / ID der Wetterstation
    + Sonnenscheindauer + Solarenergie vom Vortag
    ~ Änderung/Fix Sonnenscheindauer

V1.2.0 - 01.05.2020

   + Firmwareupgrade verfügbar?
   + Firmwareversion
   + Sonnenscheindauer Heute, Woche, Monat, Jahr
   + UV-Belastung
   + Solarenergie Heute, Woche, Monat, Jahr
   + Vorjahreswerte von Regenmenge, Sonnenscheindauer und Solarenergie

V1.1.0 - 14.04.2020

   + aktueller Regenstatus
   + Luftdrucktendenz, Wettertrend und aktuelles Wetter

V1.0.0 - 18.03.2020

   + Berechnung der Jahresregenmenge
   + Windrichtung zusätzlich als Text
   ~ Änderung "Regen Aktuell" in "Regenrate"
   ~ Splitt in conf- + sub-Datei

V0.1.3 - 08.02.2020

    + Unterstützung für Datenpunkt "Regenmenge Jahr", zB. für Froggit WH4000SE
    + Shell-Parameter -s (Klartextanzeige Passwort + Station-ID)
    + Shell-Parameter --data (zeigt nur das gesendete Datenpaket der Wetterstation an)

V0.1.2 - 31.01.2020

    + Prüfung auf Datenintegrität
    + neuer Datenpunkt bei Kommunikationsfehler
    + Ausgabe Datenpaket der Wetterstation bei Debug

V0.1.1 - 01.01.2020

    + UTC-Korrektur
    + Config-Versionscheck
    + Shell-Parameter -v/-h/--debug

V0.1.0 - erstes Release (29.12.2019)

    + erstes Release



📜 License

MIT License

Copyright (c)2019-2024 by SBorg

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

wlan-wetterstation's People

Contributors

crycode-de avatar git-zer0 avatar latzi0710 avatar sborg2014 avatar unltdnetworx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wlan-wetterstation's Issues

jq: error (at <stdin>:7): Cannot iterate over null (null)

Hallo, mein Server meldet plötzlich folgenden Fehler "jq: error (at :7): Cannot iterate over null (null)" und es kommt keine Kommunikation zu Stande. Was kann das sein ?
Ich habe bereits auf 2.10 umgestellt
Bin etwas ratlos
Danke im Voraus

Zusatzesensor

Erstmal Vielen Dank für das Projekt, echt eine tolle Arbeit.

Habe eine DNT WeatherScreen PRO.

Die Integration der Anlage hat soweit geklappt.
Nur leider bekomme ich den Zusatzsensor für Außen nicht integriert.

Der passt zu keiner im Script genannten Type.

Sensor:

Temp & Feuchte mit DCF77
DNT000005

Hat jemand zufällig eine gute Idee?

Daten an Windy werden nicht übertragen?

Hi,
meine Station taucht in Windy nicht auf. Wie kann ich prüfen, ob alles korrekt verläuft?

Die Wetterstation schreibt erfolgreich in ioBroker. Bei Windy habe ich eine Station angemeldet. Aber irgendwie wird da nichts übertragen. Im ioBroker unter Objekte / javascript / 0 / Wetterstation / Info / Windy steht der Parameter auf false. In der wetterstation.sh auf true.
Stehe irgendwie gerade auf dem Schlauch.

Many log entries in daemon.log

Hi,

there are a lot of log entries in the daemon.log:

Dec 11 17:09:32 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 7224 received!
Dec 11 17:09:35 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:09:59 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 36302 received!
Dec 11 17:10:02 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:10:31 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 34567 received!
Dec 11 17:10:34 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:11:03 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 15790 received!
Dec 11 17:11:06 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:11:32 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 36617 received!
Dec 11 17:11:35 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:11:51 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 44360 received!
Dec 11 17:11:54 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:12:23 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 39445 received!
Dec 11 17:12:26 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:12:39 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 13641 received!
Dec 11 17:12:42 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:13:11 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 35319 received!
Dec 11 17:13:14 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)
Dec 11 17:13:32 raspberrypi wetterstation.sh[483]: Connection from 192.168.178.68 46116 received!
Dec 11 17:13:35 raspberrypi wetterstation.sh[483]: Listening on [0.0.0.0] (family 2, port 1080)

Is it possible to deactivate it? I dont think that this kind of information is useful in this kind of log file

Problem Wetterwarnungen

Es scheint, dass der Vergleich zwischen Taupunkt und Außentemperatur falsch herum ist.
In der Funktion do_Wetterwarnung():
if [ 1 -eq "$(echo "${MESSWERTE[2]} < ${MESSWERTE[1]}" | bc -l)" ]; then
Wobei
MESSWERTE[1] = Außentemperatur
MESSWERTE[1] = Taupunkt
Dieses statement ist true, wenn der Taupunkt niedriger ist als die Außentemperatur.
Wenn ich es richtig verstanden habe, muss der Taupunkt aber über der Außentemperatur liegen, damit es Tau/Nebel oder Reif gibt.
D.h. richtig wäre dann:
if [ 1 -eq "$(echo "${MESSWERTE[1]} < ${MESSWERTE[2]}" | bc -l)" ]; then

Mir ist es deshalb aufgefallen, weil wir gerade dauerhaft Temperaturen unter 0,5°C haben, was das Kriterium für Reif ist, und bei mir dauerhaft Reif ausgegeben wird, obwohl der Taupunkt die ganze Zeit unter der Außentemperatur liegt.

JavaScript error after Statistik-script update

Hallo,
nach einem Update von 2.6.0 auf 2.10.0 bekomme ich regelmäßig beim Durchlaufen vom Statistik-Script folgende Fehlermeldung:

2021-12-16 01:03:00.069 - debug: javascript.0 (23274) sendTo "query" to system.adapter.influxdb.0 from system.adapter.javascript.0: select * FROM "0_userdata.0.Wetterstation.Aussentemperatur" WHERE time >= 1639522800000000000 AND time <= 1639609199000000000; select * FROM "0_userdata.0.Wetterstation.Wind_max" WHERE time >= 1639522800000000000 AND time <= 1639609199000000000; select * FROM "0_userdata.0.Wetterstation.Regen_Tag" WHERE time >= 1639522872000000000 AND time <= 1639609199000000000

2021-12-16 01:03:00.073 - info: javascript.0 (23274) script.js.common.Wetterstatistik_1_0_0: Auswertung durchgeführt...

2021-12-16 01:03:00.910 - error: javascript.0 (23274) script.js.common.Wetterstatistik_1_0_0: error: TypeError: Cannot read property '0' of null

(debug vom Javascript-Adapter ist aufgedreht)

hast Du eine Idee woran dies liegen kann?

Danke,
lg
Manfred

Docker Support

Hi @SBorg2014,

vielen Dank für dein Script. Es funktioniert wunderbar mit meiner CHILITEC CTW-902.

Um dein Script in meine bestehende Docker Umgebung einzubinden, habe ich ein docker-compose file geschrieben.

Wenn du Lust hast, kannst du es gerne in die Anleitung mit aufnehmen, da es dem einen oder anderen bestimmt weiterhelfen kann.

Hier eine kurze Beschreibung:

Die 3 Dateien (wetterstation.conf, wetterstation.sh,wetterstation.sub) in einen Ordner mit dem Namen "wetterstation" im gleichen Pfad wie das "docker-compose.yml" file ablegen und entsprechend der eigenen Konfiguration bearbeiten. Dieser Ordner wird dann im Docker Compose eingebunden und unter /opt/wetterstation im Linux Container gemountet.

Zum Starten, einfach das Dockerfile im Anhang mit dem Befehl "docker-compose up" im gleichen Ordner starten.
Github erlaubt den Dateityp ".yml" nicht. Daher muss die hier hochgeladene Datei von "docker-compose.txt" in "docker-compose.yml" umbenannt werden.

Falls der Port in der "wetterstation.conf" angepasst wurde, müssen auch die Ports im "docker-compose.yml" angepasst werden.

docker-compose.txt

Viele Grüße
Daniel

Einige Daten werden ab 19 Uhr nicht mehr aktualisiert - iobroker

Hallo,

leider werden einige Daten ab 19 Uhr im Info Channel nicht mehr aktualisiert (schon vor dem Update). Ich hoffe, es ist im Screenshot zu erkennen. Zudem ich auf die Version 1.53 von easyweather upgedated habe und es steht immer noch die 1.50 dort... restart der wetterstation.sh habe ich durchgeführt.
image

Es hat den Anschein, als ob einige Berechnungen nicht mehr durchgeführt werden. Sonnenscheindauer_Tag bleibt jeden Tag bei 40647 stehen... komisch..

Die Daten empfängt das Skript auf jeden fall...

Connection to 192.168.178.97 8087 port [tcp/*] succeeded!
Listening on [0.0.0.0] (family 2, port 1080)
Connection from ESP-E39300.fritz.box 16868 received!
[
{
"id": "javascript.0.Wetterstation.Innentemperatur",
"val": 37.5
},
{
"id": "javascript.0.Wetterstation.Aussentemperatur",
"val": 29
},
{
"id": "javascript.0.Wetterstation.Taupunkt",
"val": 10.22
},
{
"id": "javascript.0.Wetterstation.Chillfaktor",
"val": 29
},
{
"id": "javascript.0.Wetterstation.Innenfeuchtigkeit",
"val": 20
},
{
"id": "javascript.0.Wetterstation.Aussenfeuchtigkeit",
"val": 31
},
{
"id": "javascript.0.Wetterstation.Wind",
"val": 1.77
},
{
"id": "javascript.0.Wetterstation.Wind_max",
"val": 1.77
},
{
"id": "javascript.0.Wetterstation.Windrichtung",
"val": 261
},
{
"id": "javascript.0.Wetterstation.Windrichtung_Text",
"val": "W\n"
},
{
"id": "javascript.0.Wetterstation.Druck_absolut",
"val": 984.42
},
{
"id": "javascript.0.Wetterstation.Druck_relativ",
"val": 1008.94
},
{
"id": "javascript.0.Wetterstation.Regenrate",
"val": 0
},
{
"id": "javascript.0.Wetterstation.Regen_Tag",
"val": 0
},
{
"id": "javascript.0.Wetterstation.Regen_Woche",
"val": 2.3
},
{
"id": "javascript.0.Wetterstation.Regen_Monat",
"val": 2.3
},
{
"id": "javascript.0.Wetterstation.Regen_Jahr",
"val": 0
},
{
"id": "javascript.0.Wetterstation.Sonnenstrahlung",
"val": 45.51
},
{
"id": "javascript.0.Wetterstation.UV_Index",
"val": 0
},
{
"id": "javascript.0.Wetterstation.Regenstatus",
"val": "kein Regen"
},
{
"id": "javascript.0.Wetterstation.UV_Belastung",
"val": "keine"
},
{
"id": "javascript.0.Wetterstation.Zeitstempel",
"val": "06.08.2020 19:54:26"
}
]

Messwerteblock: 99.5 84.2 50.4 84.2 20 31 1.1 1.1 261 29.070 29.794 0.000 0.000 0.091 0.091 0 45.51 0 2020-08-06%2017:54:26 EasyWeatherV1.5.2

Temperatur Innen : 37.50 °C
Temperatur Aussen : 29.00 °C
Taupunkt : 10.22 °C
Chill-Faktor : 29.00 °C
Luftfeuchte Innen : 20 %
Luftfeuchte Aussen : 31 %
Windgeschwindkeit : 1.77 km/h
max. Windgeschwindkeit : 1.77 km/h
Windrichtung : 261 °
Windrichtung : W
Luftdruck absolut : 984.42 hPa
Luftdruck relativ : 1008.94 hPa
Regenrate : 0 mm/h
Regenstatus : kein Regen
Regen Tag : 0 mm
Regen Woche : 2.3 mm
Regen Monat : 2.3 mm
Regen Jahr : 0 mm
Sonnenstrahlung : 45.51 W/m²
UV-Index : 0
Zeitstempel : 06.08.2020 19:54:26
Firmware : EasyWeatherV1.5.2

Datenstring für ioBroker:
javascript.0.Wetterstation.Innentemperatur=37.50
&javascript.0.Wetterstation.Aussentemperatur=29.00
&javascript.0.Wetterstation.Taupunkt=10.22
&javascript.0.Wetterstation.Chillfaktor=29.00
&javascript.0.Wetterstation.Innenfeuchtigkeit=20
&javascript.0.Wetterstation.Aussenfeuchtigkeit=31
&javascript.0.Wetterstation.Wind=1.77
&javascript.0.Wetterstation.Wind_max=1.77
&javascript.0.Wetterstation.Windrichtung=261
&javascript.0.Wetterstation.Windrichtung_Text=W
&javascript.0.Wetterstation.Druck_absolut=984.42
&javascript.0.Wetterstation.Druck_relativ=1008.94
&javascript.0.Wetterstation.Regenrate=0
&javascript.0.Wetterstation.Regen_Tag=0
&javascript.0.Wetterstation.Regen_Woche=2.3
&javascript.0.Wetterstation.Regen_Monat=2.3
&javascript.0.Wetterstation.Regen_Jahr=0
&javascript.0.Wetterstation.Sonnenstrahlung=45.51
&javascript.0.Wetterstation.UV_Index=0&javascript.0.Wetterstation.Regenstatus=kein Regen&javascript.0.Wetterstation.UV_Belastung=keine&javascript.0.Wetterstation.Zeitstempel=06.08.2020 19:54:26

DATA von Wetterstation:
GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=99.5&tempf=84.2&dewptf=50.4&windchillf=84.2&indoorhumidity=20&humidity=31&windspeedmph=1.1&windgustmph=1.1&winddir=261&absbaromin=29.070&baromin=29.794&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.091&monthlyrainin=0.091&yearlyrainin=0&solarradiation=45.51&UV=0&dateutc=2020-08-06%2017:54:26&softwaretype=EasyWeatherV1.5.2&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0

Debug VAR:
Installationsverzeichnis: /home/iobroker
IPP: 192.168.178.97:8087 WS_PORT: 1080 WS_POLL: 60 PRE_DP: javascript.0.Wetterstation
Script-Version: V1.3.0 Config-Version: V1.3.0 Sub-Version: V1.3.0

Falls ich noch was wegen der Fehlersuche tun, kann sag einfach bescheid.

Freue mich über eine Rückmeldung. ;-)

VG Tom

LUX

Servus
Zuerst mal danke für dieses mega Projekt! Tolle Arbeit!

Würde noch LUX aus zusätzlichen Datenpunkt vorschlagen.

Zur Umrechnung aus der Sonnenenergie hab ich folgende Beschreibung in den "froggit Wetterstation" Dokumenten gefunden:

Der Standardumrechnungsfaktor, basierend auf der Wellenlänge für helles
Sonnenlicht, beträgt 126,7 Lux / w/m2. Diese Variable kann von Photovoltaikexperten
basierend auf der interessierenden Lichtwellenlänge eingestellt werden, ist aber für die
meisten Besitzer von Wetterstationen für typische Anwendungen, wie z.B. die
Berechnung der Verdampfung und der Effizienz des Solarmoduls, genau.

Ich denke diese 126,7 solltest du als config hinterlegen, sodass diese bei bedarf angepasst werden kann.

LG und guten Rutsch

Vorjahres-Monat Statistik geht schief

Hallo.
Heute nach bei der Statistikauswertung folgende log-Einträge:

javascript.0 2023-02-01 01:03:00.244 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Regentage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.243 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Tropennaechte" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.242 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Wuestentage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.241 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.sehr_kalte_Tage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.240 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Eistage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.239 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.kalte_Tage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.239 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Frost_Tage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.238 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.heisse_Tage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.236 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Sommertage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.236 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.warme_Tage" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.235 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Regenmenge_Monat" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.234 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Max_Regenmenge" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.233 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Max_Windboe" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.232 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Temperatur_Durchschnitt" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.230 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Hoechstwert" has to be type "number" but received type "object"
javascript.0 2023-02-01 01:03:00.229 info State value to set for "0_userdata.0.Statistik.Wetter.Vorjahres_Monat.Tiefstwert" has to be type "number" but received type "object"

die dazugehörigen Objekte zeigen daher nur Schrott an:
grafik
Benutzte script-Version: v1.3.0

danke
lg Manfred

Log file?

Ich habe alles erfolgreich eingerichtet und es kommt auch so ... 20 Minuten lang updates im iobroker an und nichts mehr. Wenn ich den Service dann neu starte läuft es wieder ca 20 Minuten.

Gibt es irgendwo ein LogFile in dem ich nach Fehlern suchen könnte oder wie kann ich dem auf den Grund gehen?

Mein iobroker läuft auf dem gleichen RaspberryPi wie das weatherstation.sh und ich habe es als system service eingerichtet.

Zeitstempel in UTC; fix nötig?

Da der Zeitstempel direkt von der WLAN-Station gelesen wird, ist dieser nur in UTC.
Bei Winterzeit sind wir aber UTC +1, Sommerzeit (wie und wann das auch immer mal anders wird) UTC +2
Diese Umrechnung wird vom Display vorgenommen.
Sollte der Zeitstempel also bei UTC bleiben, oder anhand des verarbeitenden Systems auf UTC +1/2 automatisch geändert werden (z.B. in der *.conf UTC=+1)

Statistik 'Regen Vortag'

Hallo,

Bin mir nicht sicher ob dies wirklich ein Bug ist oder ich was falsch mache.

Mein Problem:
Statistik-Sctipt Version 1.1.1
im Datenpunkt 'VorTag.Regenmenge' steht 'null', falls es am Vortag nicht geregnet hat.
Influx ignoriert dies und speichert somit leider nichts ab (also auch nicht '0,0').
Damit ist die Statistik vom Vortag nicht korrekt auszuwerten.

Ich denke, hier müsste das Statistiksript prüfen, ob die Berechnung gültig ist:
Max_Regenmenge = Math.max(...regen);
da kommt nämlich '.Infinite' raus, falls keine Datensätze für Regeneinträge vorhanden sind.

2022-06-15 01:03:00.031 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Auswertung durchgeführt...
2022-06-15 01:03:00.423 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Daten ab 14. Jun 2022 00:00:00
2022-06-15 01:03:00.424 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Daten bis 14. Jun 2022 23:59:59
2022-06-15 01:03:00.424 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Erster Messwert: 2022-06-13T22:01:03.506Z ***13.5
2022-06-15 01:03:00.424 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Letzter Messwert: 2022-06-14T21:59:58.802Z ***13.61
2022-06-15 01:03:00.425 - info: javascript.0 (2066) script.js.common.Wetterstatistik.Wetterstatistik_script: Anzahl Datensätze: T_1287\|W_1403\|R_0

und
setState(PRE_DP+'.VorTag.Regenmenge', Max_Regenmenge, true);
schreibt dann eben scheinbar 'null' auf den Datenpunkt.
Und Influx mach dann eben nix:

Additionally, InfluxDB do not support "null" values, so these are not written at all into the DB.

Quelle: https://github.com/ioBroker/ioBroker.influxdb

kann auch sein, das ich was falsch eingestellt habe, aber auch der Switch 'Zero- oder Nullwerte ignorieren (==0)' ändert gar nichts am Verhalten.

Danke,
lg
Manfred

wetterstation.sh bringt syntax error

Ich habe die ELV WS980WiFi Wetterstation eingebunden. Beim Aufruf von ./wetterstation.sh --debug werden einige Daten an ioBroker gesendet, aber am Anfang des Skripts kommen Fehlermeldungen syntax error
image

Bei Abfrage des Service mit systemctl status wetterstation erscheint auch das das Skript die Melungen syntax error bringt
image

Credentials für Simple API-Adapter

Verbesserungsvorschlag:
Hinzufügen von Benutzername und Kennwort des Simple API-Adapters um auch passwortgeschütze ioBroker Installationen befüttern zu können.

Der String zum Übertragen an ioBroker müsste dann nur um &user=UsernameAusIobroker&pass=PasswordAusIobroker ergänzt werden.

Bei der Gelegenheit könnte auch http/https variabel gestaltet werden.

Grafana Dashboards

@SBorg2014: very nice Grafana dashboards.
Would you mind sharing it with us?
Especially, I'm interested in your visualisation for windspeed and direction.

Anbindung auch über RFLink möglich?

Ich weiß es ist off-topic, aber vielleicht bist Du im Rahmen Deiner "Forschung" auch schon darüber gestolpert...

Ich würde mir gerne die Wetterstation als "Sonsor only" kaufen: https://www.conrad.de/de/p/eurochron-ec-3802394-kombi-sensor-1901197.html
Um sie dann mit diesem Projekt: http://www.rflink.nl/blog2/devlist
Über einen ESP32: https://youtu.be/oYfbEyzT-Gs

Direkt MQTT Messages senden zu lassen (die dann über IOTStack in eine Influx-DB gespeist werden und mit Grafana visualisiert werden)...

Bisher habe ich davon noch genau NICHTS umgesetzt - aber vielleicht hast Du ja auch schon überlegt ob man direkt auf der Proprietären Schnittstelle zur "Basis" lauschen könnte ... evtl würde hier auch Niederschlag schneller angezeigt, denn als Regensensor für die Markiese wollte ich die Wetterdaten auch gerne nutzen.

Gruß,
Gilbert

Daten werden übertragen, aber nicht in iobroker übergeben

Hi und Danke für den Adapter! Hab das soweit jetzt zum laufen gebracht. Allerdings werden von meiner Station folgende Daten übergeben:

PASSKEY=67739703DBA3AE1C297E2E2A5082776D&stationtype=WH2650A_V1.6.3&dateutc=2021-04-07+19:43:39&tempinf=75.6&humidityin=31&baromrelin=31.379&baromabsin=28.815&tempf=32.0&humidity=92&winddir=210&windspeedmph=0.89&windgustmph=3.36&maxdailygust=13.65&solarradiation=0.00&uv=0&rainratein=0.000&eventrainin=0.000&hourlyrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.000&yearlyrainin=0.000&totalrainin=0.000&wh65batt=0&wh25batt=0&freq=868M&model=WH2650

Diese werden aber weder in der Konsole beim debug angezeigt, noch in die Datenpunkte in iobroker übertragen. Mach ich was falsch oder.... :)

Problem mit openSenseMap Upload bei USE_AVG_WIND auf true

Ich glaube da sind 2 Probleme beim Upload zu openSenseMap.
Aktuell sieht das so aus:

	let ii=0
	unset OSeM_DATA
	for i in "${SENSEBOX_IDSENSOR[@]}"
	do

        #Windgeschwindigkeit aktuell oder per 10 Minuten-Durchschnitt
         if [ ${USE_AVG_WIND} == "true" ] && [ ${i} == 7 ]; then
           if [ ! -z ${WIND_AVGSPEED_10M} ]; then
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${WIND_AVGSPEED_10M}\"}"
            elif [ ! -z ${MESSWERTE[27]} ]; then
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[27]}\"}"
            else
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
           fi
          else
           OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
         fi

        #Windrichtung aktuell oder per 10 Minuten-Durchschnitt
         if [ ${USE_AVG_WIND} == "true" ] && [ ${i} == 8 ]; then
           if [ ! -z ${WIND_AVGANGEL_10M} ]; then
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${WIND_AVGANGEL_10M}\"}"
            elif [ ! -z ${MESSWERTE[26]} ]; then
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[26]}\"}"
            else
              OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
           fi
          else
           OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
         fi


         let ii++
	done

Punkt 1:
if [ ${USE_AVG_WIND} == "true" ] && [ ${i} == 7 ]; then
if [ ${USE_AVG_WIND} == "true" ] && [ ${i} == 8 ]; then
${i} ist die Sensor-ID und nicht der Schleifenzähler, d.h. es müsste ${ii} sein

Punkt2:
Jetzt wird es etwas komplizierter.
Wir haben 2 Haupt if Schleifen, eine für Windgeschwindigkeit und eine für Windrichtung.
Beide haben einen else-Zweig.
Wenn jetzt beispielsweise USE_AVG_WIND auf true steht und die Schleife beim Counter 7 landet, dann geht er zwar in den ersten if-Block und nimmt dann einen 10 min Durchschnittswert der Windgeschwindigkeit. Leider geht er dann aber auch in den else Block der 2. if Schleife, die eigentlich für die Windrichtung ist, und hängt den Wert wieder mit dem normalen Windgeschwindigkeitswert auch noch an. OSeM nimmt dann den letzten der beiden Werte.

Ich habe jetzt mal die ganze for Schleife etwas umrangiert und die sieht jetzt bei mir so aus:

        let ii=0
        unset OSeM_DATA
        for i in "${SENSEBOX_IDSENSOR[@]}"
        do

          #Windgeschwindigkeit aktuell oder per 10 Minuten-Durchschnitt
          if [ ${USE_AVG_WIND} == "true" ]; then
            if [ ${ii} == 7 ]; then
              if [ ! -z ${WIND_AVGSPEED_10M} ]; then
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${WIND_AVGSPEED_10M}\"}"
                #echo -e "OSeM Upload - use calculated 10 min average speed - ${i}: ${WIND_AVGSPEED_10M}"
              elif [ ! -z ${MESSWERTE[27]} ]; then
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[27]}\"}"
                #echo -e "OSeM Upload - use 10 min average speed directly from weatherstation - ${i}: ${MESSWERTE[27]}"
              else
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
                #echo -e "OSeM Upload - use normal speed - ${i}: ${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}"
              fi

            #Windrichtung aktuell oder per 10 Minuten-Durchschnitt
            elif [ ${ii} == 8 ]; then
              if [ ! -z ${WIND_AVGANGEL_10M} ]; then
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${WIND_AVGANGEL_10M}\"}"
                #echo -e "OSeM Upload - use calculated 10 min average direction - ${i}: ${WIND_AVGANGEL_10M}"
              elif [ ! -z ${MESSWERTE[26]} ]; then
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[26]}\"}"
                #echo -e "OSeM Upload - use 10 min average direction directly from weatherstation - ${i}: ${MESSWERTE[26]}"
              else
                OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
                #echo -e "OSeM Upload - use normal direction - ${i}: ${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}"
              fi
            else
               OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
               #echo -e "OSeM Upload - AVG_WIND true - ${i}: ${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}"
            fi
          else
             OSeM_DATA="${OSeM_DATA}{\"sensor\":\"${i}\", \"value\":\"${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}\"}"
             #echo -e "OSeM Upload - AVG_WIND false - ${i}:  ${MESSWERTE[${SENSEBOX_IDMESSWERT[ii]}]}"
          fi

          let ii++
        done

Ich habe bei mir USE_AVG_WIND in der config auf true und meine Wetterstation liefert direkt die 10 min Durschnittswerte.
Bei mir scheint es jetzt so zu gehen.
Ich habe in jedem if Statement mal echos eingebaut, aber deaktiviert.
Falls das jemand bei sich prüfen will, kann man die ganzen echos einfach wieder aktivieren und dann im syslog checken, ob er in die richtigen if Statements springt.

Datenpunkte 'Temperatur.xx.Min_24h'

Zuerst Danke für das tolle Dashboard. In einem Panel fehlen mir allerdings die Werte für "Statistik.Temperatur.Außen.Min_24h" und "Statistik.Temperatur.Außen.Max_24h". Die konnte ich bisher nirgends finden. Muss ich da noch etwas hinzubasteln?

ACK wird nicht auf true gesetzt

Hi @SBorg2014,

vielen Dank für das Script. Es funktioniert einwandfrei.
Allerdings wird leider beim Update der Werte das ACK-Flag nicht auf true gesetzt. Dadurch funktioniert zum Beispiel der Statistics Adapter nicht.

Ich habe das jetzt momentan für die benötigten Werte über ein Javascript Script gelöst, das nach jedem Update das ACK auf true setzt. Es wäre schön, wenn es direkt mit deinem Script funktionieren würde.

Danke und viele Grüße
Daniel

Update auf V2.16.0 schlägt fehl

Hi, beim Versuch mittels ws_updater.sh von V2.15.0 auf V2.16.0 zu kommen passiert bei mir folgendes:

`

     Auswahlmenü für WLAN-Wetterstation:
    _____________________________________


     [1] im aktuellen Verzeichnis installieren

     [2] als Service einrichten

     [3] Konfigurationsdatei patchen

     [4] Update ausführen


     [E] Exit



     Ihre Auswahl: [1-4]: 4

┌────────────────────────┐
│ │
│ WS-Updater V2.16.0 │
│ │
└────────────────────────┘

'bc' installiert: [✓]
'jq' installiert: [✓]
'dc' installiert: [✓]
'unzip' installiert: [✓]
'patch' installiert: [✓]

Zugriff auf 'Rest-API' im ioBroker: [✗]
(Dies ist kein Problem, es können nur keine neuen Datenpunkte bei Bedarf automatisch angelegt werden.
Dies muss im Fall neuer Datenpunkte per 'wetterstation.js' von Hand im ioBroker erfolgen.)

Aktuelle Version (latest) auf GitHub: V2.16.0 vom 12.07.2022
Version im aktuellen Verzeichnis : V2.15.0

Informationen zum Release V2.16.0:
─────────────────────────────────────────────────────────────

Neu/Änderungen im Release:

  • Windrichtung der letzten 10 Minuten für alle Stationen (benötigt wird dafür nun noch 'dc')
  • durchschnittliche Windgeschwindigkeit der letzten 10 Minuten für alle Stationen
    ~ Bugfix gelegentlicher "jq parse"-Fehler
    ~ Bugfix Regenmenge des meteorologischen Sommers aktualisiert sich nicht

Soll ein Update von WLAN-Wetterstation durchgeführt werden? [J/N]: J

Führe Update aus...

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 34484 100 34484 0 0 66700 0 --:--:-- --:--:-- --:--:-- 66700
Archive: tmp.zip
V2.16.0
inflating: wetterstation.js
inflating: wetterstation.sh
inflating: wetterstation.sub
inflating: ws_updater.sh
./ws_updater.sh: Zeile 2: $'\r': Kommando nicht gefunden.
./ws_updater.sh: Zeile 4: $'\r': Kommando nicht gefunden.
./ws_updater.sh: Zeile 11: $'\r': Kommando nicht gefunden.

┌────────────────────────┐
│ │
WS-Upda │ V2.15.0
│ │
└────────────────────────┘

./ws_updater.sh: Zeile 17: $'\r': Kommando nicht gefunden.
./ws_updater.sh: Zeile 37: Syntaxfehler beim unerwarteten Wort $'{\r'' '/ws_updater.sh: Zeile 37: checker() {

`

openSenseMap

Hey, soweit ich das sehe funktioniert die Anlage der "senseBox" in einen vorhandenen Account nicht. Das Skript meldet das erfolgreiche einloggen und die erfolgreiche anlage, jedoch ist auf der Website die SenseBox nicht aufrufbar sodass id und token nicht kopiert werden können. Was benötigst du zum debuggen oder kannst du das selbst für dich einmal testen?

Konflikt mit WeeWx

Hallo,
habe die WLAN Wetterstation auf einem Raspberry Pi4 mit einer Frogitt HP1000SE-PRO_Pro_V1.7.8 auf IOBroker zum Laufen gebracht. Sieht richtig gut aus.
ABER ... auf dem gleichen Raspberry läuft WeeWX, genauer gesagt lief. Es scheint da einen Konflikt zu geben, der WeeWx hindert. Könnte es ein Konflikt mit den Ports sein? WeeWx / der Interpreter für die Froggit hat die Daten über den Port 8000 ausgelesen. Hatte ich diesen Port auch in WLAN- Wetterstation eingestellt bekam ich die Info, daß die Verbindung belegt sein. Dann habe ich den Port in WLAN Wetterstation und der Frogitt geändert und die Verbindung zum IOBroker ging.
Unabhängig davon hängt aber WeeWx im main loop. Ist das Problem bekannt?
Hier kurz der Status von WeeWX:

pi@raspberrypi:~ $ systemctl status weewx

  • weewx.service - LSB: weewx weather system
    Loaded: loaded (/etc/init.d/weewx; generated)
    Active: active (running) since Thu 2022-12-29 07:02:59 CET; 22min ago
    Docs: man:systemd-sysv-generator(8)
    Process: 454 ExecStart=/etc/init.d/weewx start (code=exited, status=0/SUCCESS)
    Tasks: 3 (limit: 4915)
    CPU: 1.249s
    CGroup: /system.slice/weewx.service
    `-680 python3 /usr/share/weewx/weewxd --daemon --pidfile=/var/run/weewx.pid /etc/weewx/weewx.conf

Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.restx: PWSweather: Posting not enabled.
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.restx: CWOP: Posting not enabled.
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.restx: WOW: Posting not enabled.
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.restx: AWEKAS: Data will be uploaded for user jernst
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.engine: 'pyephem' detected, extended almanac data is available
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO main: Starting up weewx version 4.9.1
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.manager: Starting backfill of daily summaries
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.manager: Daily summaries up to date
Dez 29 07:03:00 raspberrypi python3[680]: weewx[680] INFO weewx.engine: Starting main packet loop.

Und hier der Statuns von Wetterstation:

pi@raspberrypi:~ $ systemctl status wetterstation

  • wetterstation.service - Service für ioBroker Wetterstation
    Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled)
    Active: active (running) since Thu 2022-12-29 07:02:55 CET; 30min ago
    Main PID: 459 (wetterstation.s)
    Tasks: 5 (limit: 4915)
    CPU: 2min 5.455s
    CGroup: /system.slice/wetterstation.service
    |- 459 /bin/bash /home/pi/wetterstation/wetterstation.sh
    |-17524 /bin/bash /home/pi/wetterstation/wetterstation.sh
    |-17525 timeout 66 nc -nlvw 1 -p 2242
    |-17526 tail -1
    `-17527 nc -nlvw 1 -p 2242

Dez 29 07:02:55 raspberrypi systemd[1]: Started Service für ioBroker Wetterstation.
Dez 29 07:02:56 raspberrypi wetterstation.sh[550]: nc: connect to 192.168.222.172 port 8087 (tcp) failed: Network is unreachable
Dez 29 07:03:41 raspberrypi wetterstation.sh[974]: nc: connect to 192.168.222.172 port 8087 (tcp) failed: Connection refused
Dez 29 07:04:11 raspberrypi wetterstation.sh[1093]: nc: connect to 192.168.222.172 port 8087 (tcp) failed: Connection refused
Dez 29 07:04:41 raspberrypi wetterstation.sh[1254]: nc: connect to 192.168.222.172 port 8087 (tcp) failed: Connection refused
Dez 29 07:05:11 raspberrypi wetterstation.sh[1319]: Connection to 192.168.222.172 8087 port [tcp/*] succeeded!

Danke
Jürgen

Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?

hoi hoi,
hab hier jetzt einiges gelesen, finde zu meinem problem leider nichts

bei mir kommt wenn ich in der konsole den befehl ./wetterstation.sh --debug eingebe manchmal
"Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?"
und ein anderes mal funktioniert es. woran könnte das liegen?

und automatisch an den broker senden tut garnicht

ich danke im vorraus

ws_updater.sh problem in Version 2.11.1

Hallo und vielen lieben Dank für diese tolle Implementierung um die Wetterstationen an den IoB zu koppeln.
Allerdings habe ich seit dem Update auf V2.11.1 folgendes Problem,
wenn ich die ws_update.sh ausführe, erhalte ich folgende Ausgabe:

 ┌────────────────────────┐
 │                        │
 WS-Upda  │ V2.11.1
 │                        │
 └────────────────────────┘

ws_updater.sh: Zeile 17: $'\r': Kommando nicht gefunden.
ws_updater.sh: Zeile 18: $'\r': Kommando nicht gefunden.
ws_updater.sh: Zeile 19: $'\r': Kommando nicht gefunden.
ws_updater.sh: Zeile 20: Syntaxfehler beim unerwarteten Wort `$'{\r''
's_updater.sh: Zeile 20: `checker() {
foo

Der Fehler scheint von dem Code: ${BL} das als BL='\e[1;36m' definiert ist zu stammen, entferne ich ihn, läuft das Script wieder.
Vielleicht kannst Du das bei Gelegenheit mal anschauen.
Vielen lieben Dank !

Solarenergie_Tag auf zwei Datenpunkte aufteilen

Hi,
nach fast einem Jahr zufriedener Nutzung dieses schönen Projekts habe ich mal in meine InfluxDB geschaut und die Datenpunkte pro Measurement ausgewertet. The winner was: "Solarenergie_Tag" mit etwas über 500k Datenpunkten.
Da der Wert bei jeder Messung steigt, erzeugt eigentlich jede Nachricht von der Wetterstation einen neuen Eintrag.
Dabei interessiert ja nur der letzte Wert des Tages.
Wäre es möglich, einen "neuen Datenpunkt" : SolarenergieVortrag_gesamt (oder so ähnlich) einzufügen, der einmalig/Tag, bei Deinen Mitternachtsverrechnungen mit dem Wert von Solarenergie_Tag beschrieben wird? Dann könnte man den sich ständig ändernden Datenpunkt einfach von der Aufzeichnung ausschließen und hätte trotzdem mit 365 Datenpunkten das jeweilige Tagesmaximum zum Aufzeichnen ?

Vielen lieben Dank !

Bresser 7 in 1 Zusätzliche Sensoren

Für die Bresser 7 in 1
lassen sich bis zu 6 zusätzliche Sensoren (Temperatur + Luftfeuchtigkeit) installieren.
An Wunderground werden diese Daten mit übertragen.
Code Auszug:
soiltemp2f=34.8&soilmoisture2=99&soiltemp3f=45.1&soilmoisture3=60&soiltemp4f=25.8&soilmoisture4=96.
Stellt man in wetterstation.conf Zusatzsensor DP100 auf aktiv (1,2.... ,8) wird von diesen Sensoren nur die Luftfeuchtigkeit
ausgelesen. Eine Abfrage auf "soiltemp(X)" erfolgt nicht, sicher auch nicht beabsichtigt.
Meine Bitte wäre diese Zusatzsensoren der Bresser Wetterstation mit auszuwerten.

Testergebnis Script

Hi!

Hat etwas gedauert, schaut aber gut aus soweit. Anbei die Ausgabe (leider ohne Farbe ;) )

`Listening on [0.0.0.0] (family 2, port 80)
Connection from 10.0.0.35 37735 received!
[
{
"id": "javascript.0.Wetterstation.Innentemperatur",
"val": 24.38
},
{
"id": "javascript.0.Wetterstation.Aussentemperatur",
"val": -1.5
},
{
"id": "javascript.0.Wetterstation.Taupunkt",
"val": -5.88
},
{
"id": "javascript.0.Wetterstation.Chillfaktor",
"val": -1.5
},
{
"id": "javascript.0.Wetterstation.Innenfeuchtigkeit",
"val": 38
},
{
"id": "javascript.0.Wetterstation.Aussenfeuchtigkeit",
"val": 72
},
{
"id": "javascript.0.Wetterstation.Wind",
"val": 0.32
},
{
"id": "javascript.0.Wetterstation.Wind_max",
"val": 1.77
},
{
"id": "javascript.0.Wetterstation.Windrichtung",
"val": 286
}
]

Messwerteblock: 24.38 -1.50 -5.88 -1.50 38 72 .32 1.77 286

Temperatur Innen : 24.38 °C
Temperatur Aussen : -1.50 °C
Taupunkt : -5.88 °C
Chill-Faktor : -1.50 °C
Luftfeuchte Innen : 38 %
Luftfeuchte Aussen : 72 %
Windgeschwindkeit : .32 km/h
max. Windgeschwindkeit : 1.77 km/h
Windrichtung : 286 °
Luftdruck absolut : 983.81 hPa
Luftdruck relativ : 1044.33 hPa
Regen aktuell : 0 mm
Regen Tag : 0 mm
Regen Woche : .9 mm
Regen Monat : .9 mm
Sonnenstrahlung : 0.00 W/m²
UV-Index : 0
Zeitstempel : 28.12.2019 20:14:29

Datenstring für ioBroker:
javascript.0.Wetterstation.Innentemperatur=24.38&javascript.0.Wetterstation.Aussentemperatur=-1.50&javascript.0.Wetterstation.Taupunkt=-5.88&javascript.0.Wetterstation.Chillfaktor=-1.50&javascript.0.Wetterstation.Innenfeuchtigkeit=38&javascript.0.Wetterstation.Aussenfeuchtigkeit=72&javascript.0.Wetterstation.Wind=.32&javascript.0.Wetterstation.Wind_max=1.77&javascript.0.Wetterstation.Windrichtung=286&prettyPrint

`

Communication failure not reset

Hallo.
Hatte heute Nacht eine Kommunikationsstörung auf meinem WLAN, das das Script auch korekt mit setzten von Objekt
'_Kommunikationsfehler' auf 'true' berichtete.
Leider steht dieser DP immer noch auf 'true', auch obwohl die Kommunikation wieder funktioniert und alle DP richtig gelesen bzw. zum ioBroker geschrieben werden.

Kurze Codeanalyse hat gezeigt, dass der 'DP_KOMFEHLER' nur beim Script-Start in Prozedur 'setup()' auf 'false' resetiert wird, nicht aber im laufenden Betrieb wenn der Ausfallszähler '$KOMFEHLER' wieder '0' erreicht hat.

Weiters: der Ausfallszähler zählt ja bei nicht empfangenen Daten bis in's Unendliche, bei korrektem Datenempfang wird dann dieser Zähler wieder bei jedem korrektem Datenempfang bis auf '0' zurückgezählt. Also: je länger der Ausfall, umso länger muss er auch wieder bis '0' zurückzählen...

fast vergessen: Script-Version 2.11.0

lg
Manfred

Probleme bei installation in QNAP Docker

Sorry erst mal das ich hier n Issue aufmache.
Aber ich hoffe du kannst mir helfen.
Ich hab auf einer QNAP in der Containerstation n Docker mit iobroker laufen.
Ich geh nun per Putty auf die QNAP und von dort mit docker exec -i -t iobroker-1 bash in den Docker.
Per Host Share hab ich ein Verzeichnis im Docker zugänglich den ich per FileStation mit den nötigen Files (conf sh js usw) versorge.
Wenn ich nun per (sudo) ./wetterstation.sh --debug starte, bekomm ich nur:

root@iobroker:/opt/iobroker/transfer# sudo ./wetterstation.sh
/opt/iobroker/transfer/wetterstation.conf: line 4: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 7: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 10: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 13: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 16: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 19: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 23: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 26: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 29: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 32: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 35: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 40: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 42: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 56: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 58: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 59: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 60: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 67: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 70: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 73: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 76: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 79: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 82: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 83: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 84: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 87: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 90: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 93: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 96: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 100: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 104: $'\r': command not found
/opt/iobroker/transfer/wetterstation.conf: line 105: $'\r': command not found
")syntax error: invalid arithmetic operator (error token is "
: integer expression expectedstation.sub: line 577: [: 30

  • 6 + ANZAHL_DP100 * 4 : syntax error: invalid arithmetic operator (error token * 6 + ANZAHL_DP100 * 4 ")

ist ungültig. Bitte die Einagbe in wetterstation.conf korrigieren

root@iobroker:/opt/iobroker/transfer#

Daten kommen von der Wetterstation aber an, und das Config file hab ich auch entsprechend angepasst.
Wo könnte hier der Fehler liegen? Ich muss sagen ich bin bei Linux und auch Dockern ziemlich neu, wenn auch EDV technisch sicher kein Depp :)

Debian 10 - Start wetterstation.sh hängt, falls netcat-traditional installiert

Hi,

danke für die tolle Software - ich habe gestern das ganze auf einer Debian 10 VM installiert, und dabei festgestellt, dass das Shell-Skript bei der Prüfung auf netcat-openbsd hängen bleibt, wenn das Paket "netcat-traditional" installiert ist (z.b. auch parallel zur openbsd-Variante). Nach Entfernen des Paketes ging es dann sofort. Das könnte vielleicht noch in die checks eingebaut werden.

Zeile 687: [: : Ganzzahliger Ausdruck erwartet - Portadresse des socket.io scheint nicht "verträglich"

Guten Abend,

ich bin durch die Installation so weit sehr gut durchgekommen und es hat alles geklappt - insbesondere Dank der hervorragenden Beschreibung. Der Test ist allerdings erfolglos.

Der Port meiner socket.io Instanz in ioBroker ist 8084 - warum-auch-immer NICHT der Standard 8087
Trage ich "8087" erscheint erwartungsgemäß "...connection refused"
Bei "8084" erscheint:

Connection to 192.168.178.121 8084 port [tcp/*] succeeded!
parse error: Invalid numeric literal at line 1, column 4
(standard_in) 1: syntax error
(standard_in) 1: syntax error
/home/iobroker/wetterstation.sub: Zeile 687: [: : Ganzzahliger Ausdruck erwartet.
parse error: Invalid numeric literal at line 1, column 4
(standard_in) 1: syntax error
(standard_in) 2: syntax error
/home/iobroker/wetterstation.sub: Zeile 339: /86400: Syntax Fehler: Operator erwartet. (Fehlerverursachendes Zeichen ist "/86400").

Wie bei Issue #6 habe ich es schon mit netcat-openbsd versucht - leider ohne Erfolg.

Hast du evtl. noch eine Idee?

Wetterstation.sh funktioniert nach Update auf v2.0.17 nicht mehr

Hi,

nach einem eigentlich erfolgreichen Update auf v2.0.17 bekomme ich beim debug-Aufruf nur folgende Meldung in einem endlos loop:

(standard_in) 1: syntax error
./wetterstation.sh: Zeile 198: get_DATA: Kommando nicht gefunden.
./wetterstation.sh: Zeile 326: debuging: Kommando nicht gefunden.
(standard_in) 1: syntax error
./wetterstation.sh: Zeile 198: get_DATA: Kommando nicht gefunden.
./wetterstation.sh: Zeile 326: debuging: Kommando nicht gefunden.

Zeile 536: [: : Ganzzahliger Ausdruck erwartet.

Ich bekomme das Script nicht zum laufen.....die Ports scheinen zu passen, IPs auch, 2 bis 3 mal habe ich nach zig Fehlermeldungen auch die korrekten Werte übermittelt bekommen, aber in der Regel habe ich den folgenden Output 👍

root@debHubobel:[/home/carsten/Scripts]:./wetterstation.sh --debug
debhubobel [10.0.1.59] 9087 (?) open
(standard_in) 1: syntax error
(standard_in) 1: syntax error
/home/carsten/Scripts/wetterstation.sub: Zeile 536: [: : Ganzzahliger Ausdruck erwartet.
listening on [any] 8876 ...
no connection : Connection timed out

Messwerteblock:

Temperatur Innen : °C
Temperatur Aussen : °C
Taupunkt : °C
Chill-Faktor : °C
Luftfeuchte Innen : %
Luftfeuchte Aussen : %
Windgeschwindkeit : km/h
max. Windgeschwindkeit : km/h
Windrichtung : °
Windrichtung :
Luftdruck absolut : hPa
Luftdruck relativ : hPa
Regenrate : mm/h
Regenstatus :
Regen Tag : mm
Regen Woche : mm
Regen Monat : mm
Regen Jahr : mm
Sonnenstrahlung : W/m²
UV-Index :
Zeitstempel :
Firmware :

Datenstring für ioBroker:

DATA von Wetterstation:

Debug VAR:
Installationsverzeichnis: /home/carsten/Scripts
IPP: 10.0.1.59:9087 WS_PORT: 8876 WS_POLL: 35 PRE_DP: javascript.0.Wetterstation
Script-Version: V1.3.1 Config-Version: V1.3.0 Sub-Version: V1.3.0

Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?

Vielen Dank für Hilfe!

Trennung von "Poll_Intervall" und "IoBroker Update Intervall"

Bei mir scheint das "Poll Intervall" (bei einer Sainlogic WS3500) irgendwie nicht so recht zu funktionieren: Obwohl sowohl in der wetterstation.conf ein WS_POLL-Intervall von 120 Sekunden hinterlegt ist und ich auch die Wetterstation mit dem "Custom Service" analog konfiguriert habe, bekomme ich im IoBroker öfters Updates im Abstand von weniger als 30 sec.

In Summe würden mir für die meisten Werte eigentlich Update-Intervalle (im IoBroker, wo ich diese Werte auch logge) von ca. 5 Minuten reichen. Allerdings möchte ich natürlich die Maximal/Minimal-Messwerte möglichst genau haben, was für kurze Update-Zyklen spricht.

Daher die Frage ob Du eine Chance für folgenden Feature-Request siehst:

  • Das Poll-Intervall so belassen wie es ist, wo man dann natürlich möglichst "kleine" Werte verwenden würde
  • Einführung eines zusätzlichen Parameters: IoB Update Intervall

Für die meisten "IST"-Werte, würde einfach bei Eintreffen eines Telegramms geprüft ob das IoB Update Intervall bereits erreicht wurde und wenn ja, erfolgt nur dann ein Update der Messwerte.

Für die "Min/Max" Werte, wäre ein "caching" innerhalb dieses Zeitfensters sehr cool, d.h. dass z.B. Windgeschwindigkeit maximal bei jedem erhaltenen Telegramm 'lokal' aktualisiert wird, wenn der gemeldete Wert höher ist, als der bereits bekannte, wird er erhöht. Und bei Erreichen des "IoB_Update-Intervalls" würde dann der höchste in dem Zeitfenster gemeldete Wert übermittelt.

Die Einführung könnte man auch für die meisten user "minimalinvasiv" machen: Wenn kein "IoB Update Interval" festgelegt ist, wird dafür das WS_POLL intervall genutzt - dann ändert sich eigentlich nichts, außer dass bei den Benutzern ggf. durch das Caching auch die "Max" Werte genauer werden.

Statistik am Monatsersten nicht vollständig

Hallo,
Auf der Suche nach dem fehlenden Vortages-Regenwert bin ich darauf gestoßen, dass jeweils am Monatsersten das Script mit 'return' abgebrochen wird, ohne die restlichen Statistiken zu rechnen. Es kommt auch im Log keine Entsprechende Meldung dass 'Auswertung durchgeführt' wäre.
Ist dies so gewollt? Ich denke nicht.....

lg
Manfred

Fehlermeldung seit JS-Controller 3.3.x

Wo muss ich im Script was ändern damit diese Meldung im LOG nicht mehr kommt?

`

simple-api.0 2021-08-09 12:13:36.088 info (18475) State value to set for "javascript.0.Wetterstation.Info.Hitzeindex" has to be type "string" but received type "number"
`

Trockenperiode ist immer 0 Tage

Hallo,

alle Werte in Bezug auf Trockenperiode (egal ob Jahreswerte oder Rekordwerte) werden mit 0 Tage angezeigt.
Ich kann mit Sicherheit sagen, dass es nicht jeden Tag geregnet hat. ;-)
image

Bitte um Check bzw. Erklärung.

Danke!

lg

Update Prozess

Hallo es wäre doch klasse in dem Wiki eine kurze Einleitung einzubinden, welche Dateien ich tauschen muss, um auf die neue Variante upzudaten.

Habe vor wenigen Tagen V1.2.0 bei mir installiert.
Kann ich meine Config weiter verwenden? Muss ich alle Dateien, oder nur bestimmte. Denke auch das man das DP-Skript neu reinkopieren und ausführen muss. :)

Da wäre etwas Info zu doch klasse?

Danke im Voraus!

Daten kommen von DP1500 Pro nicht an

Hallo, ich habe doe WLAN Wetterstation soweit installiert und im IOBroker die Datenpunkte angelegt nach Anleitung - sieht alles gut aus.

Ebenso habe ich mit WS View konfiguriert.

Leider kommen aber keine Daten an

Connection to 192.168.1.201 8087 port [tcp/*] succeeded!

Warte maximal 66 Sekunden auf Datenpaket der Wetterstation...

Listening on [0.0.0.0] (family 2, port 1080)

Da kommt nichts.
Wo könnte ich noch suchen?

Unplausible Werte aus Wetterstation

Hallo,

zunächst einmal Vielen Dank für die Spitzenanleitung und die "WLAN-Wetterstation". Die Installation hat super geklappt und ich bekomme endlich alle Werte aus meiner Wetterstation (Renkforce WH2600). Womit ich aktuell noch ein wenig kämpfe ist das OpenSense-Skript. Das Anlegen der Werte/Sensoren etc. funktioniert soweit. Nur die Einbindung des Skriptes erzeugt bei mir aktuell noch ein paar Fragezeichen. Das Problem hier liegt vermutlich zwischen den Ohren ;). Aber nochmal: Auf genau diese "WLAN-Wetterstation" habe ich gewartet und bin darüber höchst erfreut.

Nun zu meinem eigentlichen Problem, weswegen ich hier poste:
Die WLAN-Wetterstation läugt nun seit mehreren Tagen, so dass ich inzwischen ganz passable Verläufe angezeigt bekomme. Was mir allerdings aufgefallen ist, dass zu manchen Zeiten die Werte ins Bodenlose fallen. Durch die automatische Skalierung werden dadurch die "normalen" Verläufe nicht mehr wirklich erkennbar. Ich habe versucht durch das Setzen eines "Min-values" im Objekt einen Wert <0 zu verhindern, doch aus irgendeinem Grund funktioniert das nicht.
grafik

Nun könnte ich zwar die Skalen der Diagramme manuell bei 0 begrenzen, doch eine Auswertung eines Min/Max/Mittelwertes der Werte über einen bestimmten Zeitraum liefert aufgrund der Extremwerte falsche Werte.

Woran könnte das liegen? Die Wetterstation hat einen Innen- einen Außensensor. Beide sind über Funk mit der Basisstation verbunden. Die Extremwerte treten aber nur bei Werten der Außenstation auf (s. Screenshot unten). Kann das an der Verbindung des Außensensors liegen, d.h. keine Verbindung = Extremwert? Wie ließe sich solch ein Extremwert verhindern?

Über eine Einschätzung oder Anregung deiner-/eurerseits wäre ich dankbar.

Gruß, Fabian

grafik

GW 2000 Datenpunkte unvollständig

Hi!

Ich nutze eine GW200 mit einem WS90. Die Datenpunkte für Regen unter WS90 werden befüllt. Die unter Wetterstation nicht. Zwei Beispiele:
javascript.0.Wetterstation.WS90.1.jaehrliche_Regenmenge wird befüllt. javascript.0.Wetterstation.Regen_Jahr dagegen nicht.

Abgeholt werden die Informationen:

Connection to 192.168.178.106 8087 port [tcp/*] succeeded!

/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
/home/wetter/wetterstation/wetterstation.sub: Zeile 364: [: : Ganzzahliger Ausdruck erwartet.
[
{
"id": "javascript.0.Wetterstation.Innentemperatur",
"val": 17.8
},
{
"id": "javascript.0.Wetterstation.Aussentemperatur",
"val": 8
},
{
"id": "javascript.0.Wetterstation.Taupunkt",
"val": 4.77
},
{
"id": "javascript.0.Wetterstation.Gefuehlte_Temperatur",
"val": 8
},
{
"id": "javascript.0.Wetterstation.Innenfeuchtigkeit",
"val": 50
},
{
"id": "javascript.0.Wetterstation.Aussenfeuchtigkeit",
"val": 80
},
{
"id": "javascript.0.Wetterstation.Wind",
"val": 4.31
},
{
"id": "javascript.0.Wetterstation.Wind_max",
"val": 7.91
},
{
"id": "javascript.0.Wetterstation.Windrichtung",
"val": 125
},
{
"id": "javascript.0.Wetterstation.Druck_absolut",
"val": 990.58
},
{
"id": "javascript.0.Wetterstation.Druck_relativ",
"val": 990.58
},
{
"id": "javascript.0.Wetterstation.Sonnenstrahlung",
"val": 0
},
{
"id": "javascript.0.Wetterstation.UV_Index",
"val": 0
},
{
"id": "javascript.0.Wetterstation.Zeitstempel",
"val": "13.01.2023 07:12:43"
},
{
"id": "javascript.0.Wetterstation.Info.FW_Version",
"val": "GW2000A_V2.2.0"
},
{
"id": "javascript.0.Wetterstation.Windboeen_max",
"val": 16.91
},
{
"id": "javascript.0.Wetterstation.Info.Wetterstation_Gateway",
"val": "GW2000A"
},
{
"id": "javascript.0.Wetterstation.WS90.1.aktuelle_Regenrate",
"val": 0
},
{
"id": "javascript.0.Wetterstation.WS90.1.aktuelle_Regenmenge",
"val": 16.103
},
{
"id": "javascript.0.Wetterstation.WS90.1.stuendliche_Regenmenge",
"val": 0
},
{
"id": "javascript.0.Wetterstation.WS90.1.taegliche_Regenmenge",
"val": 0.609
},
{
"id": "javascript.0.Wetterstation.WS90.1.woechentliche_Regenmenge",
"val": 17.805
},
{
"id": "javascript.0.Wetterstation.WS90.1.monatliche_Regenmenge",
"val": 19.71
},
{
"id": "javascript.0.Wetterstation.WS90.1.jaehrliche_Regenmenge",
"val": 19.71
},
{
"id": "javascript.0.Wetterstation.WS90.1.Spannung_GoldCap",
"val": 2.4
},
{
"id": "javascript.0.Wetterstation.WS90.1.Firmwareversion",
"val": 126
},
{
"id": "javascript.0.Wetterstation.WS90.1.Batterie",
"val": 3.06
},
{
"id": "javascript.0.Wetterstation.Regenstatus",
"val": ""
},
{
"id": "javascript.0.Wetterstation.UV_Belastung",
"val": "keine"
},
{
"id": "javascript.0.Wetterstation.Windrichtung_Text",
"val": "SO"
},
{
"id": "javascript.0.Wetterstation.Info.Hitzeindex",
"val": ""
}
]

Messwerteblock: 17.80 8.00 4.77 8.00 50 80 4.31 7.91 125 990.58 990.58 0.00 0 13.01.2023%2007:12:43 GW2000A_V2.2.0 16.91 GW2000A rrain_piezo 0 erain_piezo 16.103 hrain_piezo 0 drain_piezo .609 wrain_piezo 17.805 mrain_piezo 19.710 yrain_piezo 19.710 ws90cap_volt 2.4 ws90_ver 126 wh90batt 3.06

Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)!

Temperatur Innen : 17.80 °C
Temperatur Aussen : 8.00 °C
Taupunkt : 4.77 °C
Gefühlte Temperatur : 8.00 °C
Luftfeuchte Innen : 50 %
Luftfeuchte Aussen : 80 %
Windgeschwindigkeit : 4.31 km/h
Windgeschwindigkeit 10min : km/h
Windböengeschwindigkeit : 7.91 km/h
max. Windböe : 16.91 km/h
Windrichtung : 125 °
Windrichtung : SO
Windrichtung 10min : °
Luftdruck absolut : 990.58 hPa
Luftdruck relativ : 990.58 hPa
Regenrate : mm/h
Regenstatus :
Regen seit Regenbeginn : mm
Regen Stunde : mm
Regen Tag : mm
Regen Woche : mm
Regen Monat : mm
Regen Jahr : mm
Regen Gesamt : mm
Sonnenstrahlung : 0.00 W/m²
UV-Index : 0
Zeitstempel : 13.01.2023 07:12:43
Firmware : GW2000A_V2.2.0
Batteriestand: :
Gateway-Modell : GW2000A

Zusatzsensoren:

rrain_piezo : 0
erain_piezo : 16.103
hrain_piezo : 0
drain_piezo : .609
wrain_piezo : 17.805
mrain_piezo : 19.710
yrain_piezo : 19.710
ws90cap_volt : 2.4
ws90_ver : 126
wh90batt : 3.06

Datenstring für ioBroker:
javascript.0.Wetterstation.Innentemperatur=17.80&javascript.0.Wetterstation.Aussentemperatur=8.00&javascript.0.Wetterstation.Taupunkt=4.77&javascript.0.Wetterstation.Gefuehlte_Temperatur=8.00&javascript.0.Wetterstation.Innenfeuchtigkeit=50&javascript.0.Wetterstation.Aussenfeuchtigkeit=80&javascript.0.Wetterstation.Wind=4.31&javascript.0.Wetterstation.Wind_max=7.91&javascript.0.Wetterstation.Windrichtung=125&javascript.0.Wetterstation.Druck_absolut=990.58&javascript.0.Wetterstation.Druck_relativ=990.58&javascript.0.Wetterstation.Sonnenstrahlung=0.00&javascript.0.Wetterstation.UV_Index=0&javascript.0.Wetterstation.Zeitstempel=13.01.2023%2007:12:43&javascript.0.Wetterstation.Info.FW_Version=GW2000A_V2.2.0&javascript.0.Wetterstation.Windboeen_max=16.91&javascript.0.Wetterstation.Info.Wetterstation_Gateway=GW2000A&javascript.0.Wetterstation.WS90.1.aktuelle_Regenrate=0&javascript.0.Wetterstation.WS90.1.aktuelle_Regenmenge=16.103&javascript.0.Wetterstation.WS90.1.stuendliche_Regenmenge=0&javascript.0.Wetterstation.WS90.1.taegliche_Regenmenge=.609&javascript.0.Wetterstation.WS90.1.woechentliche_Regenmenge=17.805&javascript.0.Wetterstation.WS90.1.monatliche_Regenmenge=19.710&javascript.0.Wetterstation.WS90.1.jaehrliche_Regenmenge=19.710&javascript.0.Wetterstation.WS90.1.Spannung_GoldCap=2.4&javascript.0.Wetterstation.WS90.1.Firmwareversion=126&javascript.0.Wetterstation.WS90.1.Batterie=3.06&javascript.0.Wetterstation.Regenstatus=&javascript.0.Wetterstation.UV_Belastung=keine&javascript.0.Wetterstation.Windrichtung_Text=SO&javascript.0.Wetterstation.Info.Hitzeindex=

DATA von Wetterstation:
PASSKEY=xxxxxx&stationtype=GW2000A_V2.2.0&runtime=753417&dateutc=2023-01-13+06:12:43&tempinf=64.04&humidityin=50&baromrelin=29.252&baromabsin=29.252&tempf=46.40&humidity=80&winddir=125&windspeedmph=2.68&windgustmph=4.92&maxdailygust=10.51&solarradiation=0.00&uv=0&rrain_piezo=0.000&erain_piezo=0.634&hrain_piezo=0.000&drain_piezo=0.024&wrain_piezo=0.701&mrain_piezo=0.776&yrain_piezo=0.776&ws90cap_volt=2.4&ws90_ver=126&wh90batt=3.06&freq=868M&model=GW2000A

Debug VAR:
Installationsverzeichnis: /home/wetter/wetterstation
IPP: 192.168.178.106:8087 WS_PORT: 1080 WS_POLL: 30 PRE_DP: javascript.0.Wetterstation
WEB: HTTP WS_PROT: Ecowitt

Zusatzsensoren:
DP10/35/40/50/60/70/100/200/250/300: 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
WH31: 0 || WS90: 1

Script-Version: V2.20.0 Config-Version: V2.20.0 Sub-Version: V2.20.0

Wenn ich noch mehr Infos liefern kann, gerne.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.