NEWS
Anwesenheitserkennung Life360 - Eco-Modus HmIP
-
-
@Taubsi95 Dann stimmt die Trigger-ID nicht wähle die nochmal aus.
-
Selbe Ergebnis
-
Welche Javascript Version hast du eigentlich installiert?
-
-
Die gleiche...
-
@Taubsi95 Eigentlich hätte es so schon längst funktinieren müssen, aber weiter:
setze mal
statt auf wurde geändert auf aktualisiertUnd dann den Wert bei People@Wohnort nur einmal anklicken und bestätigen.
-
-
@Taubsi95 Ich würde fast sagen, da stimmt etwas nicht mit dem Javascript. Ich bitte einmal @paul53 drüber zuschauen? Vielleicht hat er noch eine andere Idee als den Adapter "javascript" neu zu installieren? Ich bin dann erstmal mit meinem Latein am Ende. Warte bitte auf den Komentar von @paul53. Schon vorab Danke.
-
Ich hab zu danken gerade für die Geduld.
-
@Taubsi95 Kein Problem. Gerne. Vielleicht bis zum nächsten Mal.
-
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 } });
-
@Taubsi95 Was ich dann nicht verstehe ist, du fragst ein "Boolean" ab, obwohl der Wert ein Type "Number" ist? Aber wenn es funktioniert!
-
@MCU Ja sehr komisch aber ich werde es die Tage ja sehen ob es auch zuverlässig läuft.