@MCU
Ich habe das ganze jetzt mal via JavaScript versucht zu realisieren und es scheint auch zu funktionieren...
Falls es einen Interessiert habe ich hier mal den Quellcode, um diesen ggf. anzupassen oder zu Verbessern.
//Einschalten des Ecomodus wenn Personenanzahl@home = 0, sowie Abschalten wenn Personenanzahl@home > 0
var People_Home; //Variable die verhindert das dieses Script ausgeführt wird, wenn sich der Life360 Adapter Aktualisiert aber PPersonenanzahl@home keine Wertänderung hat (sonst geht Homematic in den Duty-Cycle)
var status = "life360.1.circles.5e31e512-b269-406c-84e1-8d2b95b3ad9c.places.9ba9522f-c586-454f-9d77-37b4dbee6cc2.membersPresent"; //An- und Abwesenheitsüberprüfung mit Life360
var deactivate_em = "hmip.0.homes.2ba96519-f95b-4b00-bed6-8c850c338058.functionalHomes.indoorClimate.deactivateAbsence"; //Schalter zum deaktivieren des Ecomodus
People_Home = false; //gibt der Variable den Wert 0
on ({id: status, change: "any"}, function (obj){ //Überprüfung ob People@home > 0
if(getState("life360.1.circles.5e31e512-b269-406c-84e1-8d2b95b3ad9c.places.9ba9522f-c586-454f-9d77-37b4dbee6cc2.membersPresent").val!=false && People_Home == false){ //Wertabfrage der Variablen
People_Home = true; //gibt der Variable den Wert 1
log("Anwesenheit erkannt. Schalte Ecomodus aus") //Schreibt in das Log
setState(deactivate_em,true); //Deaktiviert den Eco-Modus
}
else if(getState("life360.1.circles.5e31e512-b269-406c-84e1-8d2b95b3ad9c.places.9ba9522f-c586-454f-9d77-37b4dbee6cc2.membersPresent").val==false && People_Home == true){ //Wertabfrage der Variablen
People_Home = false; //gibt der Variable den Wert 0
log("Abwesenheit erkannt. Schalte Ecomodus ein!"); //Schreibt in das Log
setState("hmip.0.homes.2ba96519-f95b-4b00-bed6-8c850c338058.functionalHomes.indoorClimate.setAbsenceEndTime", formatDate(getDateObject(), "2100_12_31 23:59")); //Aktiviert den Eco-Modus bis zum 31.12.2100 23:59Uhr
}
});