NEWS
Licht mit Bewegungsmelder nicht an wenn manuell aus
-
@theboon sagte: wo hast du den Trigger "manuell aus" her?
Das ist kein Trigger, sondern eine selbst erstellte Variable.

@paul53 okay hab soweit alles mal übernommen. Dann hab ich vorerst nur eine frage noch. In dem Hauptscript bei "falls -> und -> und -> nicht Wert von Objekt ID" was für ein Objekt muss ich da auswählen? Das womit erkannt wird ob jemand Zuhause ist?
-
@paul53 okay hab soweit alles mal übernommen. Dann hab ich vorerst nur eine frage noch. In dem Hauptscript bei "falls -> und -> und -> nicht Wert von Objekt ID" was für ein Objekt muss ich da auswählen? Das womit erkannt wird ob jemand Zuhause ist?
-
@theboon sagte: nicht Wert von Objekt ID" was für ein Objekt muss ich da auswählen?
"daylight", wie im urprünglichen Skript.
@paul53 wow scheint tatsächlich zu funktionieren bis jetzt. Habs mal kurz angetestet dafür schon mal ein riesen Lob und Dankeschön. Wenn ich jetzt nachts um 01:15 Uhr "manuell_aus" so setzen will das am nächsten Abend das Licht aber wieder von alleine angehen würde, was müsste ich dann Anhängen?

-
@paul53 wow scheint tatsächlich zu funktionieren bis jetzt. Habs mal kurz angetestet dafür schon mal ein riesen Lob und Dankeschön. Wenn ich jetzt nachts um 01:15 Uhr "manuell_aus" so setzen will das am nächsten Abend das Licht aber wieder von alleine angehen würde, was müsste ich dann Anhängen?

-
@paul53 Hab jetzt nochmal ein bisschen rum probiert. Was jetzt aber nicht mehr funktioniert ist das automatische angehen bei Bewegung und Dunkelheit, nachdem es automatisch (durch nicht mehr bewegen) ausgegangen ist. Ich hoffe wir können das noch zusammen lösen :)
-
@paul53 Hab jetzt nochmal ein bisschen rum probiert. Was jetzt aber nicht mehr funktioniert ist das automatische angehen bei Bewegung und Dunkelheit, nachdem es automatisch (durch nicht mehr bewegen) ausgegangen ist. Ich hoffe wir können das noch zusammen lösen :)
@theboon sagte: Was jetzt aber nicht mehr funktioniert ist das automatische angehen bei Bewegung und Dunkelheit
Dann poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags und logge, wie und weshalb die Variable
manuell_ausgesetzt wird:
-
@theboon sagte: Was jetzt aber nicht mehr funktioniert ist das automatische angehen bei Bewegung und Dunkelheit
Dann poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags und logge, wie und weshalb die Variable
manuell_ausgesetzt wird:
-
@theboon sagte: Wie kann ich das abrufen?
Im Tab "Protokolle" und dort filtern, z.B. nach "manuell aus".
-
@paul53 Also es kam raus
Wert: false, Quelle: system.adapter.hue.0, bestätigt: true, manuell aus: trueund ein paar Minuten davor
Wert: true, Quelle: system.adapter.hue.0, bestätigt: true, manuell aus: false@theboon sagte: Wert: false, Quelle: system.adapter.hue.0, bestätigt: true, manuell aus: true
Künftig bitte die kompletten Zeilen in Code tags posten!
Wenn die Quelle des Ausschaltens (Änderung des Wertes true --> false) der Hue-Adapter ist, muss manuell ausgeschaltet worden sein. -
@theboon sagte: Wert: false, Quelle: system.adapter.hue.0, bestätigt: true, manuell aus: true
Künftig bitte die kompletten Zeilen in Code tags posten!
Wenn die Quelle des Ausschaltens (Änderung des Wertes true --> false) der Hue-Adapter ist, muss manuell ausgeschaltet worden sein. -
@paul53 sorry werde ich dann machen.
Das Licht wurde allerdings nicht manuell ausgeschaltet. Es wurde durch eine "transition" im Hue Adapter langsam ausgeschaltet. Fälscht das dann den Wert? -
@theboon sagte: Fälscht das dann den Wert?
Das kann natürlich sein, wenn der falsche Datenpunkt triggert.
-
@theboon sagte: hab ich denn sonst noch eine andere Möglichkeit?
Versuche es mal so:

Aber: Es ist doch der Alias, der gesteuert und auf den getriggert wird. Der müsste auf jeden Fall bei Änderung durch das Skript als Quelle "system.adapter.javascript.0" liefern. Mit einem Trigger auf "Wohnzimmer.anyOn" kann es nicht funktionieren.
Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags, so wie das:var manuell_aus; on({id: [].concat(['0_userdata.0.Blockly.presence']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (!manuell_aus && !getState("ID auswählen").val && compareTime("11:00", "1:00", "between") && (obj.state ? obj.state.val : "") == 'HOME') { setState("alias.0.Wohnzimmer.Licht"/*Licht Wohnzimmer*/, true); setStateDelayed("alias.0.Wohnzimmer.Licht"/*Licht Wohnzimmer*/, false, 3600000, true); } }); on({id: [].concat(['alias.0.Wohnzimmer.Licht']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; manuell_aus = (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0' && !(obj.state ? obj.state.val : ""); console.log((['Wert: ',(obj.state ? obj.state.val : ""),', Quelle: ',(obj.state ? obj.state.from : ""),', bestätigt: ',(obj.state ? obj.state.ack : ""),', manuell aus: ',manuell_aus].join(''))); }); -
@theboon sagte: hab ich denn sonst noch eine andere Möglichkeit?
Versuche es mal so:

Aber: Es ist doch der Alias, der gesteuert und auf den getriggert wird. Der müsste auf jeden Fall bei Änderung durch das Skript als Quelle "system.adapter.javascript.0" liefern. Mit einem Trigger auf "Wohnzimmer.anyOn" kann es nicht funktionieren.
Poste bitte den erzeugten Javascript-Code ohne die letzte Zeile in Code tags, so wie das:var manuell_aus; on({id: [].concat(['0_userdata.0.Blockly.presence']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (!manuell_aus && !getState("ID auswählen").val && compareTime("11:00", "1:00", "between") && (obj.state ? obj.state.val : "") == 'HOME') { setState("alias.0.Wohnzimmer.Licht"/*Licht Wohnzimmer*/, true); setStateDelayed("alias.0.Wohnzimmer.Licht"/*Licht Wohnzimmer*/, false, 3600000, true); } }); on({id: [].concat(['alias.0.Wohnzimmer.Licht']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; manuell_aus = (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0' && !(obj.state ? obj.state.val : ""); console.log((['Wert: ',(obj.state ? obj.state.val : ""),', Quelle: ',(obj.state ? obj.state.from : ""),', bestätigt: ',(obj.state ? obj.state.ack : ""),', manuell aus: ',manuell_aus].join(''))); });@paul53 das ist jetzt das script was du mir netterweise zur verfügung gestellt hast aus dem ersten Anlauf
var manuell_aus; on({id: [].concat(['hue.0.Bewegungsmelder/Lichtsensor.presence']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (!manuell_aus && !getState("hue.0.Hue_ambient_light_sensor_1.daylight").val && compareTime('11:00', '01:00', "between", null) && getState("tado.0.896439.Home.state.presence").val == 'HOME') { setState("alias.0.Wohnzimmer.Licht"/*Licht*/, true); setStateDelayed("alias.0.Wohnzimmer.Licht"/*Licht*/, false, 3600000, true); } }); // Alias on({id: [].concat(['alias.0.Wohnzimmer.Licht']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; manuell_aus = (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0' && !(obj.state ? obj.state.val : ""); console.log((['Wert: ',(obj.state ? obj.state.val : ""),', Quelle: ',(obj.state ? obj.state.from : ""),', bestätigt: ',(obj.state ? obj.state.ack : ""),', manuell aus: ',manuell_aus].join(''))); }); // Reset nach einem Tag schedule("15 1 * * *", async function () { manuell_aus = false; });was mir da natürlich auffällt ist Zeile 6, da steht bei dir "ID auswählen". Ich habe da eine ID ausgewählt da es sonst für mich nicht logisch erschien, hoffe das ist aber auch richtig?
-
@paul53 das ist jetzt das script was du mir netterweise zur verfügung gestellt hast aus dem ersten Anlauf
var manuell_aus; on({id: [].concat(['hue.0.Bewegungsmelder/Lichtsensor.presence']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (!manuell_aus && !getState("hue.0.Hue_ambient_light_sensor_1.daylight").val && compareTime('11:00', '01:00', "between", null) && getState("tado.0.896439.Home.state.presence").val == 'HOME') { setState("alias.0.Wohnzimmer.Licht"/*Licht*/, true); setStateDelayed("alias.0.Wohnzimmer.Licht"/*Licht*/, false, 3600000, true); } }); // Alias on({id: [].concat(['alias.0.Wohnzimmer.Licht']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; manuell_aus = (obj.state ? obj.state.from : "") != 'system.adapter.javascript.0' && !(obj.state ? obj.state.val : ""); console.log((['Wert: ',(obj.state ? obj.state.val : ""),', Quelle: ',(obj.state ? obj.state.from : ""),', bestätigt: ',(obj.state ? obj.state.ack : ""),', manuell aus: ',manuell_aus].join(''))); }); // Reset nach einem Tag schedule("15 1 * * *", async function () { manuell_aus = false; });was mir da natürlich auffällt ist Zeile 6, da steht bei dir "ID auswählen". Ich habe da eine ID ausgewählt da es sonst für mich nicht logisch erschien, hoffe das ist aber auch richtig?
@theboon sagte: hoffe das ist aber auch richtig?
Ja, "daylight" ist der richtige Datenpunkt.
Als Bewegung wertest Du nicht den Trigger-Datenpunkt aus, sondern "tado.0.896439.Home.state.presence"?
Das Skript müsste ansonsten funktionieren, da hier (Alias als Trigger) die "transition time" nur eine untergeordnete Rolle spielt. -
@theboon sagte: hoffe das ist aber auch richtig?
Ja, "daylight" ist der richtige Datenpunkt.
Als Bewegung wertest Du nicht den Trigger-Datenpunkt aus, sondern "tado.0.896439.Home.state.presence"?
Das Skript müsste ansonsten funktionieren, da hier (Alias als Trigger) die "transition time" nur eine untergeordnete Rolle spielt. -
@paul53 Der Tado Datenpunkt erkennt ob überhaupt jemand Zuhause ist (Kombination aus GPS und WLAN Verbindung). Natürlich soll die Bewegung aber vom Hue Sensor erkannt werden.
-
@theboon sagte: Der Tado Datenpunkt erkennt ob überhaupt jemand Zuhause ist
Falls nicht, kann Bewegung stattfinden?
@paul53 weiß nicht genau ob ich die Frage richtig verstanden habe. Also als Trigger ist ja "presence" vom Hue Bewegungsmelder. Dann gibt es als "falls" Bedingung ja eine Erkennung:
- Status von "manuell_aus"
- Tageslicht draußen ist
- Uhrzeit zwischen 11:00 und 01:00 Uhr
- Presence von Tado, was aber in diesem Fall keine Bewegung ist sondern eben eine Erkennung ob jemand Zuhause ist oder nicht anhand von GPS bzw WLAN Verbindungen
Bewegung an sich kann aber immer erkannt werden, sollte aber nur das Licht auch anmachen wenn jemand zuhause ist.
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