Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Dieter Zimmermann
Beiträge: 13
Registriert: 4. Mär 2021 11:36
Answers: 0

Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Beitrag von Dieter Zimmermann »

Meine Systemumgebung:
Synology DS220+, Installierte DSM-Version 6.2.4-25556, Docker, Openhab:3.4.0.M5

Voraussetzung zum Abruf der Daten:

Es muss ein Account unter www.ecowitt.net angelegt werden.
Im erstellten Account kann unter „User profil“ der Application Key und der API Key erzeugt werden.
(API Keys --> create) Die Schlüssel werden zum Einlesen des JSON-String in OH3 benötigt.
MAC-Adresse der WS3500 Wetterstation

1.Anlegen eines http-Thing

Basis-Url
https://api.ecowitt.net/api/v3/device/r ... l_back=all

Aktualisierungsintervall kann nach Wunsch in Sekunden eingestellt werden. Ich habe hier 60 Sek. gewählt

Anlegen eines Item im Channel zur Speicherung des ausgelesenen JSON-String

Anmerkung:
Der erhaltene String kann zum besseren Erkennen der Aufbaustruktur mit einem Json-Parser angeschaut werden.
Ich nutze hierzu den http://json.parser.online.fr/ Online Parser
Hinweis: Die Ecowitt-Daten werden im Imperialen System geliefert.

2. Erstellen einer Rule zum Auslesen der Wetterwerte aus dem JSON-String mit Blockly

When
Als Trigger für die Rule ist „an item state change“ mit dem angelegten Item aus dem http-Thing auszuwählen.
Then
Als Action ist “Run script --> Design with Blockly” auszuwählen

3. Erstellen des scripts mit Blockly

1. Schritt
Erstellen von 2 Blockly-Variablen unter Menüpunkt „Variables“
var_json_string_ecowitt --> (bekommt den json-String zugewiesen)
var_sensorwert_ecowitt --> (bekommt nacheinander alle Sensorwerte zugewiesen)

2. Schritt
Einlesen und Umwandeln des Items das den JSON-String enthält und speichern in der Blockly-Variablen
(„create text with“ unter Menüpunkt Text)

3. Schritt
Auslesen der einzelnen, gewünschten Wetterstationswerte mit Umwandlung vom imperialem in metrisches System und Runden auf eine Nachkommastelle.

Anmerkung:
Für alle gewünschten Wetterstationswerte müssen Items angelegt werden die die Daten speichern.

Blockly-Beispiel "Temperaturwerte und Luftfeuchtigkeit aussen und innen"
Wetterstation_WS3500_OH3_Blockly.png
Struktur aus dem JSON-Sting für die Aussentemperatur --> $.data.outdoor.temperature.value
Umwandlung Temperaturwert von °F in °C --> (°F-32) x 5/9 = °C

Ist analog für weitere gewünschte Wetterdaten anzuwenden
Korrekturwerte hierzu:
Luftdruck von inHg in hPa --> inHg x 33.8639
Niederschlag von Inch in mm --> inch x 25.4
Windgeschwindigkeit von Inch in mm --> miles x 1.77028
usw.

Viel Erfolg beim Umsetzen
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

J-N-K
Beiträge: 126
Registriert: 20. Jun 2020 12:21
Answers: 4
Wohnort: Gelsenkirchen, NRW

Re: Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Beitrag von J-N-K »

Geht das nicht einfacher mit der JSONPath Transformation? Mit °F als Unit-Symbol sollte die Umwandlung dann von openHAB selbst übernommen werden (bei einem Number:Temperature Item).
openHAB 4.0.0-SNAPSHOT - - local build -
APU2, 4GB RAM, 32GB SSD, Debian Buster
openHAB Core/Distro/Addons & SmartHome/J Maintainer

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Beitrag von sihui »

Dieter Zimmermann hat geschrieben: 10. Dez 2022 17:28 WS3500
Da diese wohl baugleich mit der Fine Offset WH2910 ist würde ich mal das dazu passende Binding ausprobieren.
Würde die Konfiguration enorm vereinfachen.

https://www.openhab.org/addons/bindings ... erstation/
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Dieter Zimmermann
Beiträge: 13
Registriert: 4. Mär 2021 11:36
Answers: 0

Re: Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Beitrag von Dieter Zimmermann »

Erstmal danke für die Hinweise
@ J-N-K
Ob das einfacher geht mit der JSONPath Transformation weiß ich nicht. Dazu sind meine Programmierkenntnisse zu limitiert.
Wie/wo müsste das mit der Unit-Einheit umgesetzt werden ? (Item ist Number:Temperature)

@sihui
Die WS3500 bekomme ich mit dem FineOffsetWeatherStation-Binding nicht zum laufen.
Ich hatte das zuvor ohne Erfolg ausprobiert und hab mich deshalb für das HTTP-Binding entschieden

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Beitrag von sihui »

Dieter Zimmermann hat geschrieben: 11. Dez 2022 14:54 @sihui
Die WS3500 bekomme ich mit dem FineOffsetWeatherStation-Binding nicht zum laufen.
Ich hatte das zuvor ohne Erfolg ausprobiert und hab mich deshalb für das HTTP-Binding entschieden
Und mit dem IPObserver Binding?

https://www.openhab.org/addons/bindings/ipobserver/
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Dieter Zimmermann
Beiträge: 13
Registriert: 4. Mär 2021 11:36
Answers: 0

Re: Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Beitrag von Dieter Zimmermann »

Mit dem IPObserver-Binding bekomme ich zwar alle Channels angezeigt aber die Items werden nicht mit Daten gefüllt.
Möglicherweise benötigt es zum Abrufen der Daten von weatherunderground einen kostenpflichtigen Account/API Key ?
Ich bin da jedenfalls nicht weitergekommen und hab deshalb letztendlich den Weg über Ecowitt mit dem HTTP-Binding gewählt was funktioniert.

Benutzeravatar
sihui
Beiträge: 1827
Registriert: 11. Apr 2018 19:03
Answers: 21

Re: Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Beitrag von sihui »

Dieter Zimmermann hat geschrieben: 11. Dez 2022 15:35 was funktioniert.
Das ist die Hauptsache :D
openHAB3 mit Zwave, Alexa, ESPEasy, MQTT, Logitech Harmony, Philips HUE und ZigBee Hardware auf Proxmox VE.

Dieter Zimmermann
Beiträge: 13
Registriert: 4. Mär 2021 11:36
Answers: 0

Re: Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Beitrag von Dieter Zimmermann »

So sehe ich das auch ;-)

mike69
Beiträge: 64
Registriert: 17. Nov 2020 22:38
Answers: 0

Re: Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Beitrag von mike69 »

Hi.

Zufällig Linux am laufen?

Dann wäre das eventuell was für Dich: https://loxwiki.atlassian.net/wiki/spac ... ic+version

Das Tool fungiert als Broker, fragt die Wetterstation ab, füttert influxdb, stellt die Daten per MQTT zur Verfügung und vieles mehr. Looft komplett lokal, ohne irgendwelche Accounts. Kann, wenn Du willst, Ecowitt, OWM, WU oder what ever füttern.


Edit:
Hast ja ne Syno, ganz übersehen. :)
openHAB 4.2.0 auf Debian 12 als VM unter Proxmox

Dieter Zimmermann
Beiträge: 13
Registriert: 4. Mär 2021 11:36
Answers: 0

Re: Wetterstation WS3500 (Sainlogic) mit Daten von Ecowitt in OH3 mit HTTP-Binding einbinden

Beitrag von Dieter Zimmermann »

Danke für den Tip, werde ich mir mal anschauen.

Antworten