NEWS
Anwesenheitserkennung Life360 - Eco-Modus HmIP
-
@Taubsi95 Hast du bei der Eingabe immer die Shift Taste gedrückt an? Denn es ist eine Zahl! Gib mal die Zahl über den Nummernblock ein und du siehst auch die Zahl! Bitte vor dem Return ein Bild machen und dann LOG schicken.
-
@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.
-
@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 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 } });
-
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!
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden








