Hallo Zusammen,
Animiert von der neuen Testing 5.1 mit MQTT habe ich mich mal wieder um die einbindung meines WLanThermos gewagt.
Dank des neuen IPS MQTT-Server ging das auch ziemlich einfach.
- Einfach im WLanThermo den MQTT Client mit den IPS Daten aktivieren.
- Durch den MQTT Konfigurator die beiden Insatnzen anlegen lassen
- Mein Auswerteskript lasse ich mir duch ein Ereignis auf der Data Variable starten.
- So sieht das ergebnis Aktuell bei mir aus
Und die Auswertung mach ich momentan durch diese recht Simple Skript.
<?
$Akku = 29342; //Ladezustand
$RSSI = 54021; //Stärke Wlan
$K1 = 45866; //Kanal 1
$K2 = 44327; //Kanal 2
$K3 = 58900; //Kanal 3
$K4 = 35994; //Kanal 4
$K5 = 22727; //Kanal 5
$K6 = 23459; //Kanal 6
$K7 = 58374; //Kanal 7
$K8 = 31133; //Kanal 8
$content = GetValueString (47034); //ID des MQTT Device
$json=json_decode($content);
//print_r ($json);
//Akku
SetValueFloat($Akku, "".$json->system->soc."");
//RSSI
SetValueFloat($RSSI, "".$json->system->rssi."");
//Kanal1
SetValueFloat($K1, "".$json->channel[0]->temp."");
IPS_SetName($K1, "".$json->channel[0]->name."");
//Kanal2
SetValueFloat($K2, "".$json->channel[1]->temp."");
IPS_SetName($K2, "".$json->channel[1]->name."");
//Kanal3
SetValueFloat($K3, "".$json->channel[2]->temp."");
IPS_SetName($K3, "".$json->channel[2]->name."");
//Kanal4
SetValueFloat($K4, "".$json->channel[3]->temp."");
IPS_SetName($K4, "".$json->channel[3]->name."");
//Kanal5
SetValueFloat($K5, "".$json->channel[4]->temp."");
IPS_SetName($K5, "".$json->channel[4]->name."");
//Kanal6
SetValueFloat($K6, "".$json->channel[5]->temp."");
IPS_SetName($K6, "".$json->channel[5]->name."");
//Kanal7
SetValueFloat($K7, "".$json->channel[6]->temp."");
IPS_SetName($K7, "".$json->channel[6]->name."");
//Kanal8
SetValueFloat($K8, "".$json->channel[7]->temp."");
IPS_SetName($K8, "".$json->channel[7]->name."");
?>
Ich denke das ganze hat noch ziemlich Optimierungpotenzial aber für meinen ersten Versuch bin ich da recht zufrieden.
Vielleicht ist es ja für noch jemanden nützlich.
Grüße
Daniel