Windwächter mit externem Windsensor realisieren

Ich möchte euch heute Vorstellen wie ich einen externen Windsensor in mein Homematic-System eingebunden habe. Kurz zur Vorgeschichte:
Bei unserem Neubau sind teilweise ziemlich große Raffstores verbaut (bis zu 2,50×3,00m). Um diese vor zu starkem Wind zu schützen war ich auf der Suche nach einem Windsensor. Natürlich habe ich mir zuerst den bekannten OC3-Kombi-Sensor angeschaut, mich aber aus folgenden Gründen dagegen entschieden:
– Viele negative Berichte im Internet, vor allem über die Messqualität des Windsensors
– Funkbetrieb (meine CCU steht im Keller, der Sensor soll aufs Dach)
– Batteriebetrieb (zum Batteriewechsel immer aufs Dach klettern…)

Nach langer Suche bin ich im Internet auf die tschechische Firma Papouch (http://www.papouch.com) gestoßen, welche diverse Sensoren für die Industrie herstellt und vertreibt. Unter anderem auch ein Anemometer mit Netzwerkanschluss und Webinterface. Da in meinem Homematic-System bereits die Heizungswerte von einem Webinterface ausgelesen werden wusste ich: Das kann funktionieren. Also hab ich den Sensor TX20ETH (mittlerweile wurde der Nachfolger WindETH vorgestellt) bestellt und eine Woche später am Dach montiert:

tx20eth-anemometer   20160430_150645 (Large)

Der Windsensor selbst ist wird per RJ11-Buchse angeschlossen, da ich bereits Leerrohre vom Technikraum aufs Dach habe war es kein Problem die Leitung dort zu verlegen, sie musste nur verlängert werden da am Sensor „nur“ 10 Meter Kabel vorhanden sind..
Nachdem noch die IP-Adresse an meine Netzwerkkonfiguration angepasst war zeigt sich folgendes Bild im Webinterface:

Screenshot_20160502-091339

Jetzt kam der schwierige Teil – die Einbindung ins Homematic-System. An dieser Stelle möchte ich mich gleich nochmal bei alchy aus dem Homematic-Forum bedanken. Er hat mir bereits bei meinen Heizungswerten geholfen und auch jetzt hat er es wieder geschafft, die Werte des Windsensors über ein Script in Homematic-Variablen zu speichern:

! Website xml auslesen Windmesser – for dax by Alchy v0.4
var url = „http://10.0.0.200/fresh.xml“;
dom.GetObject(„CUxD.CUX2801001:1.CMD_SETS“).State(„wget -q -O – ‚“#url#“‚“);
dom.GetObject(„CUxD.CUX2801001:1.CMD_QUERY_RET“).State(1);
string srueck = dom.GetObject(„CUxD.CUX2801001:1.CMD_RETS“).State();
string slist = „“;
var posValueStart = „vals=\““;
var posValueEnd = „\“ „;
var posValue = srueck.Find(posValueStart) + posValueStart.Length();
var s1tmp = srueck.Substr(posValue, 50).StrValueByIndex(posValueEnd, 0);
! was ist da los?
var s2tmp = srueck.StrValueByIndex(“ „,23);
var s3tmp = s2tmp.StrValueByIndex(„=“,1);
var s4tmp = 0.1*(s3tmp.Substr(1, 6).ToInteger());
! slist = „Der Wind kommt aus: „#s1tmp # “ mit “ #s4tmp.ToString(2) #“ m/s“ ;
! WriteLine(slist);
dom.GetObject(„SV_Windspeed“).State(s4tmp);
dom.GetObject(„SV_Windrichtung“).State(s1tmp);

 

Und was soll ich sagen außer: Es funktioniert! Über einen CUXD-Timer werden alle 10 Sekunden (muss noch testen, ev. wird das noch verkürzt) die Werte abgelesen und gespeichert. Ab 7,5m/s werden die großen Raffstores hochgefahren, ab 10,5m/s noch die kleinen. Zusätzlich wird in einer zweiten Variable die aktuelle Windrichtung gespeichert, und kann so zb. In DashUI angezeigt werden.

Fazit:
Klar ist es keine günstige Variante (kostet ca. gleich viel wie der OC-3 Sensor, kann aber eben nur Wind), aber die Vorteile (kein Batterie- und Funkbetrieb) haben mich voll überzeugt!