Hallo zusammen,
ich weiß ja nicht ob jemand hier im Forum diesen Sensorwürfel kenn? --> Der WIFFI-WZ 2.0 … der Wohnzimmersensor | STALL
Der kommuniziert per WLAN mit der Homematic CCU und schreibt da seine Werte in die Variablen.
Soweit funktioniert das auch mit CCU in der Testumgebung. Normal im Einsatz habe ich allerdings einen Win-Rechner mit HM Lan-Adapter und dann noch einen Raspi mit HM-Modul und Homegear. In beiden Fällen fehlt mir also die CCU-Funktionalität (und damit auch die Variablen).
Ich hab in IPS mal einfach einen Server-Socket erstellt und geschaut was der Wiffi so sendet und das schaut dann folgendermaßen aus:
So… und nun schnippel ich mir recht unelegant die ankommenden Daten raus und verteil sie auf die Variablen:
<?
$data = trim($_IPS['VALUE']);
$data = str_replace('GET /xy.exe?antwort=dom.GetObject("',"",$data);
$data = str_replace('").State(',"#",$data);
$data = str_replace(')',"",$data);
$data_array=explode("#",$data);
if ($data_array[0]=="wz_motion_left") {setvalue(53684 /*[Sensoren/Aktoren\Wiffi\wz_motion_left]*/,$data_array[1]);};
if ($data_array[0]=="wz_baro") {setvalue(22790 /*[Sensoren/Aktoren\Wiffi\wz_baro]*/,$data_array[1]);};
if ($data_array[0]=="wz_luftdrucktrend") {setvalue(21746 /*[Sensoren/Aktoren\Wiffi\wz_luftdrucktrend]*/,$data_array[1]);};
if ($data_array[0]=="wz_elevation") {setvalue(53346 /*[Sensoren/Aktoren\Wiffi\wz_elevation]*/,$data_array[1]);};
if ($data_array[0]=="wz_lux") {setvalue(30152 /*[Sensoren/Aktoren\Wiffi\wz_lux]*/,$data_array[1]);};
if ($data_array[0]=="wz_azimut") {setvalue(34973 /*[Sensoren/Aktoren\Wiffi\wz_azimut]*/,$data_array[1]);};
if ($data_array[0]=="wz_noise") {setvalue(55523 /*[Sensoren/Aktoren\Wiffi\wz_noise]*/,$data_array[1]);};
if ($data_array[0]=="wz_motion_right") {setvalue(33634 /*[Sensoren/Aktoren\Wiffi\wz_motion_right]*/,$data_array[1]);};
if ($data_array[0]=="wz_temp") {setvalue(24414 /*[Sensoren/Aktoren\Wiffi\wz_temp]*/,$data_array[1]);};
if ($data_array[0]=="wz_feuchte") {setvalue(16421 /*[Sensoren/Aktoren\Wiffi\wz_feuchte]*/,$data_array[1]);};
if ($data_array[0]=="wz_co2") {setvalue(17909 /*[Sensoren/Aktoren\Wiffi\wz_co2]*/,$data_array[1]);};
?>
Wenn das Teil jeman im Einsatz hat und eine bessere Lösung hat, bitte mal melden;)