ELV Wetterstation WS980Wifi in Homematic

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Aragorn0341
Beiträge: 7
Registriert: 15.02.2019, 17:10

ELV Wetterstation WS980Wifi in Homematic

Beitrag von Aragorn0341 » 15.02.2019, 17:39

Hallo
ich habe mal ein tcl Script für die Einbindung der WS980Wifi Wetterstation in die Homematic programmiert. Der Datenabruf erfolgt über ein TCP Paket im Netzwerk. Es wird kein CUL oder ähnliches benötigt.
Die Wetterdaten werden in vorher angelegte Systemvariablen gespeichert.

Voraussetzungen:
- Wetterstation WS980WiFi (im Heimnetzwerk eingebunden)
- CuxD installiert
- Zugriff auf CCU / Raspberry per ssh, am kompfortabelsten mit SCP (WinSCP)

Installation:
- per SCP im Ordner /usr/local/addons einen Ordner /weather anlegen (Rechte auf 777 setzen)
- dahin dann folgende 3 Dateien aus dem entpackten Archiv kopieren: weather.tcl, weatherini.tcl und weather.hexin (Rechte für jede Datei auf 777 setzen)
- das Script script_create_var.sh einmalig ausführen (zB. neues Programm erzeugen, das das Script einmal ausführt (per Copy/Paste einfügen) - kann dann wieder gelöscht werden) - legt nur automatisch alle Variablen an (ist doch besser als alles per Hand)
- ein CuxD-Gerät System mit Funktion Timer anlegen (Icon egal, habe aber Wetterstation genommen)
- Bei Geräteeinstellungen "TIMER_PRESET 60", "REPEAT angehakt", "CMD_EXE tclsh /usr/local/addons/weather/weather.tcl", "EXEC_FUNC system()", "EXEC_TIMEOUT 1"

Das Script wird dann einmal pro Minute aufgerufen und aktualisiert die Variablen, die dann weiter verwendet werden können

PS: habe noch nie etwas in TCL gemacht, wenn es Verbesserungsvorschläge gibt, immer her damit. Habe bisher nur Atmel programmiert.

Das Tool socat sendet das TCP Paket mit den Binärdaten aus weather.hexin an die WS980Wifi und liefert ein weather.hexout im Ordner /var zurück. Der Umweg über die Dateien ist umständlich, habe es aber anders nicht hinbekommen. Socat gab anders nie etwas zurück - vielleicht hat jemand eine andere Lösung.
Mit Netcat (nc) ging gar nichts. Scheinbar gibt es kein aktuelles nc was bei mir (Raspberrymatic auf RasspberryPi3) noch funktioniert.
Viele Grüße

Edit: hatte vergessen zu erwähnen, das im TCL-Script noch die IP Addresse der Wetterstation eingetragen werden muß.
Dateianhänge
Weather.png
WS980Wifi.zip
(4.56 KiB) 20-mal heruntergeladen
Zuletzt geändert von Aragorn0341 am 16.02.2019, 06:20, insgesamt 1-mal geändert.

dondaik
Beiträge: 9480
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden

Re: ELV Wetterstation WS980Wifi in Homematic

Beitrag von dondaik » 15.02.2019, 20:55

sehr schön !
( hoffe ich finde es bei bedarf wieder :-) - habe die station nämlich in der neuen elv gesehen ...)
-------
wer schreibfehler findet darf sie behalten.

Xel66
Beiträge: 4897
Registriert: 08.05.2013, 23:33
Wohnort: Nordwürttemberg

Re: ELV Wetterstation WS980Wifi in Homematic

Beitrag von Xel66 » 15.02.2019, 21:52

Ich habe es mir auch gleich gebookmarkt. Neben dem Preis- hat diese Lösung ja auch einen Funktionsvorteil. Theoretisch könnte man die Daten über einen CUL direkt empfangen (Sensoren kommunizieren ebenfalls über 868MHz). Aber so hat man weniger Reichweitenprobleme.

Gruß Xel66
---------------------------------------------------------------------------------
242 Kanäle in 89 Geräten und 125 CUxD-Kanäle in 23 CUxD-Geräten,
210 Programme, 145 Systemvariablen und 119 Direktverknüpfungen,
RaspberryMatic Version 3.41.11.20181222
---------------------------------------------------------------------------------

mule
Beiträge: 994
Registriert: 06.07.2010, 00:24

Re: ELV Wetterstation WS980Wifi in Homematic

Beitrag von mule » 15.02.2019, 22:40

Aragorn0341 hat geschrieben:
15.02.2019, 17:39
Hallo
ich habe mal ein tcl Script für die Einbindung der WS980Wifi Wetterstation in die Homematic programmiert. Der Datenabruf erfolgt über ein
Das Tool socat sendet das TCP Paket mit den Binärdaten aus weather.hexin an die WS980Wifi und liefert ein weather.hexout im Ordner /var zurück. Der Umweg über die Dateien ist umständlich, habe es aber anders nicht hinbekommen. Socat gab anders nie etwas zurück - vielleicht hat jemand eine andere Lösung.
Mit Netcat (nc) ging gar nichts. Scheinbar gibt es kein aktuelles nc was bei mir (Raspberrymatic auf RasspberryPi3) noch funktioniert.
Viele Grüße
Das Ganze sollte auch über TCL-Sockets ohne Socat&Co. funktionieren. Ich hatte zunächst auch für mein Automower Addon mit Socat gearbeitet, dies dann aber irgendwann durch reine TCL-Funktionalität ersetzt um so das Addon unabhängig von der CCU-Variante nutzen zu können, weniger Ressourcen zu nutzen und besser auf Kommunikationsfehler reagieren zu können. Wenn Du willst kannst Du ja einfach mal in mein Automower-Addon schauen (Link in meiner Signatur), um zu sehen wie man Binärwerte per TCL-Sockets empfängt und sendet.

Außerdem findest Du im Messenger-Addon (Link ebenfalls in meiner Signatur) auch noch eine Funktion zum automatisierten Anlegen von Homematic-Systemvariablen mit verschiedensten Zusatzfunktionalitäten wie bspw. Check auf bereits Vorhandensein, Überschreiben, Nachträgliche Änderung von bspw. Wertelisten etc.

Zusätzlich kannst Du auch sehen, wie man ein TCL-Script als Hintergrundprozess laufen lassen kann, um so ressourcenschonend und ohne Homematic-Timer die Systemvariablen permanent zu befüllen.
Bei Fragen einfach melden.
Aktuelle Projekte:
Direkter SMS-Versand und -Empfang über CCU2&Raspberrymatic ohne Cloud:
viewtopic.php?f=31&t=39483

Automower (G2) steuern über Homematic per WLAN:
viewtopic.php?f=31&t=7295

Aragorn0341
Beiträge: 7
Registriert: 15.02.2019, 17:10

Re: ELV Wetterstation WS980Wifi in Homematic

Beitrag von Aragorn0341 » 16.02.2019, 06:36

Danke für die Hinweise. Ich werde mir das mal anschauen.
Mein Problem ist, das ich mich mit TCL bis jetzt noch nie beschäftigt hatte. Die deutschsprachige Dokumentation von TCL lässt einen bei solchen Anwendungen im Regen stehen und mein Englisch ist leider nicht so gut.
Ich hatte das mal mit socket versucht, jedoch blieb das Script hängen.
Der Lösungsweg wie zur Zeit in meinem Script stammt ja auch vom automower, jedoch war das Jahre her.
Ich will ja auch noch so ne Art Autokonfig basteln, wenn man ein TCP Paket mit xFFxFFx12x00x04x16 als Inhalt an die Broadcast-IP an Port 46000 im Netzwerk sendet, meldet sich die Wetterstation mit MAC und IP-Addresse zurück.
Das Wissen darüber habe ich im ELV Forum zur Wetterstation gefunden. Dort steht auch wie man die Station in eigene Netzwerk einbindet, die orig. Anleitung von ELV ist da nicht so ganz richtig.

Edit: Ich habe das jetzt mit socket hinbekommen, indem ich die automower.tlc als Vorlage genommen und fleißig geändert habe. Funktioniert jetzt ohne socat, benötigt auch keine weather.hexin Datei mehr. Dafür vielen Dank. Auch die weatherini.tcl habe ich einkassiert, nehme jetzt die Indexe direkt als Zahl.
Bloß den Daemon benutze ich (noch) nicht, der Start bleibt erstmal über Cuxd Timer. Will mal sehen ob man noch mehr einbauen kann wie die gespeicherten max. und min. Werte. Auch eine Konfiguration der Anzeige wäre möglich. Das habe ich aber erstmal nicht vor.

Edit2: Habe gerade einen krassen Fehler entdeckt: Es wurden keine negativen Temperaturen angezeigt, sondern 65525.5 - korrigiert
Dateianhänge
WS980WiFiV2a.zip
Version 2 ohne socat, benutzt socket
(4.69 KiB) 30-mal heruntergeladen

Larsii
Beiträge: 3
Registriert: 02.11.2017, 15:06

Re: ELV Wetterstation WS980Wifi in Homematic

Beitrag von Larsii » 13.03.2019, 16:24

Hallo zusammen,

vielen Dank das sich dem Thema mal jemand angenommen hat :)

Ich habe eine Ventus W830 Wifi Station die ja relativ baugleich zu sein scheint...Leider bekomme ich lediglich den Wert 15 auf alle Variablen geschrieben. Gibt es eine Möglichkeit dein Script auf die W830 anzupassen?

Chemieka
Beiträge: 330
Registriert: 03.01.2017, 17:39

Re: ELV Wetterstation WS980Wifi in Homematic

Beitrag von Chemieka » 14.03.2019, 09:32

An diesem Thema hätte ich auch Interesse. Muss ich den Monitor anschließen oder kann ich den weg lassen? Ich hätte einen Cul 868 Stick dran.
Also ich würde mich freuen eine günstigere Variante einer Wetterstation anzuschließen. Schade das man die Station nicht ohne Monitor bekommt (wäre sicher günstiger).
PI3 mit RaspberryMatic; PI3 mit IOBroker; Samsung Tab A gerootet mit Mediola Visualisierung; Harmony Hub; Philips Hue; Zwei IP Cams; Zwei Leseköpfe an den Stromzählern zur Darstellung des Stromverbrauches. CUL433 für Intertechno und Somfy RTS

Aragorn0341
Beiträge: 7
Registriert: 15.02.2019, 17:10

Re: ELV Wetterstation WS980Wifi in Homematic

Beitrag von Aragorn0341 » 14.03.2019, 15:30

Hallo

@Chemieka - Der "Monitor" ist unbedingt nötig, da dieser den WLAN-Zugang in Dein heimisches Netzwerk bietet. Die CCU kommuniziert NUR mit Diesem per Netzwerk. Kein CUL notwendig !!!

@ Larsii - Da habe ich keine Ahnung, weil ich das Protokoll nicht kenne. Bei der W980 Wifi gibt es ja ein PC-Programm, das die Daten abgreift. Das Script setzt da an, es sendet einen Befehl (xFFFF0B0006040419) an die vom Router vergebene IP-Addresse auf Port 45000. (wie das PC Programm)
Das Wetterstationsbasisgerät sendet dann 82 Byte zurück. z.B. ist dann Byte 7 und 8 (bei 0 beginnend) die Innentemperatur, Byte 9 und 10 die Außentemperatur und so weiter. (siehe ELV Forum zum Produkt, weis nicht ob ich das verlinken darf)
Wenn du weist was Du senden mußt und was zurückkommt kann man das Script auch anpassen. Hatte auch erst die W830, die bot kein PC Anschluß per WLAN und habe diese dann getauscht.

Übrigens sind die Einheit für Windgeschwindigkeit in km/h und nicht in m/s, da war die Protokollbeschreibung wohl falsch, hatte Montag 127 km/h, bei m/s wären das ja 457 km/h gewesen - da würde die Station jetzt beim Nachbarn liegen ;-)

Grüße

Larsii
Beiträge: 3
Registriert: 02.11.2017, 15:06

Re: ELV Wetterstation WS980Wifi in Homematic

Beitrag von Larsii » 14.03.2019, 17:10

Danke für den Hinweis.

Die W830 hat ja eine Wifi Verbindung aber leider kein USB Anschluss.
Das ELV Tool funktioniert mit der Station leider nicht, da kommen keine Daten an. Nichts desto trotz kann ich aber die TCP Verbindung aufbauen.
Wie sende ich genau die Daten an die Station? - siehe Bild
Unbenannt.JPG

Aragorn0341
Beiträge: 7
Registriert: 15.02.2019, 17:10

Re: ELV Wetterstation WS980Wifi in Homematic

Beitrag von Aragorn0341 » 15.03.2019, 05:51

Tja
ich sehe das du das TCP-Paket sendest, es kommt aber nichts zurück. Meiner Meinung nach ist dort kein Server, dar auf dem Port 45000 "horcht" und dann antwortet. Deshalb wurde ja die W980Wifi auch bei ELV als Station mit PC-Anschluss (per Wifi) beworben, die W830 ist dagegen ohne.
Kannst ja noch versuchen mal per UDP 0xff, 0xff, 0x12, 0x00, 0x04, 0x16 an Port 46000 zu senden, aber Broadcast, also an 192.168.255.255, dann meldet sich die Station unter anderem mit ihrem Namen, ihrer aktuellen IP und ihrem Port, auf dem der Server läuft. Das sind dann auch mehrere Bytes.

Kommt da nichts zurück, kannst Du aufgeben
Grüße

Edit: Du trägst die Hexwerte falsch ein, dumust bei Hex FFFF0B0006040419 eintragen, nicht bei ASCII !!!
Zuletzt geändert von Aragorn0341 am 18.03.2019, 12:59, insgesamt 1-mal geändert.

Antworten

Zurück zu „Projektvorstellungen“