NEWS
Hue Skript Idee?
-
Hi Leute!
Muss mal meiner Frau einen Wunsch erfüllen.Die Kids schalten Imme rim Esszimmer das Licht nicht aus.
Hue Deckenlampe mit Funktaster in der Wand an Hue Bridge.Die Idee?
prüfe alle 15 Minuten mittels eines Hue Bewegungsmelder ob noch wer im Raum
ansonsten schalte ausdazu müsst ich dort halt nen Bewegungsmelder installieren.
wie müsst den so ein Skript dann aussehen?
Es müsste ja nach der letzten Bewegung erkannt des Hue Melders (presence = true)
dann ein timer laufen der bei erneuter Bewegung immer redetet wird
falls er ablest dann Kommando aus an Hue Deckenlampe
?!!?
lg
tom -
@freaktech sagte:
15 Minuten mittels eines Hue Bewegungsmelder ob noch wer im Raum
ansonsten schalte aus// IDs eintragen ! const idBWM = '...'; const idLicht = '...'; var timer = null; on(idBWM, function(dp) { if(dp.state.val) clearTimeout(timer); else { timer = setTimeout(function() { setState(idLicht, false); }, 900000); // 15 Minuten } });
-
@freaktech
in Blockly könnte dies zum Ziel führen.
Nachtrag:
In dem obigen Beispiel fehlt das Stoppen des 2. Timers.
Weiter unten ist es korrekt -
danke
das blocky kapier ich fast
der wechselt also immer zwischen 2 Timern bei jeder Bewegungsänderung
das werd ich mal testen
lg
tom -
@freaktech
Mein Ansatz war:
Lampe wird eingeschaltet ... und nach 15 Minuten ausgeschaltet
Sollte innerhalb dieser 15 Minuten jedoch Bewegung erkannt werden, dann wird nach jeder Bewegungserkennung der timer zurückgesetzt und somit wird das Licht 15 Minuten nach der letzten erkannten Bewegung ausgeschaltet. -
ja hört sich vernünftig an
-
Du kannst auch den Zeitpunkt der letzten Änderung auslesen, also "wann war die letzte Bewegung".
Damit könntest du vom Bewegungssensor ausgehen:
Wenn Bewegung, prüfe in 15 minuten ob noch Bewegunung war, sonst schalte aus.
Kenn mich in Blockly nicht aus aber mit js wäre das sehr kurz und knapp. -
@freaktech
Du könntest es auch so versuchen
Dann würde zusätzlich bei erkannter Bewegung in der Dunkelheit und derzeit ausgeschaltetem Licht, das Licht eingeschaltet, und automatisch nach 2 Minuten wieder ausgeschaltet werden.
Aber Vorsicht, bei erneuter Bewegung innerhalb dieser 2 Minuten würde der 15 Minuten timer nun starten.
Am besten Du spielst mit den Zeiten ein wenig rum -
hallo
ich teste gerade, leider schaltest er immer nach 4 Minuten ab auch wenn Bewegung erkannt wurde ?!!?
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="LampeAus">LampeAus</variable> <variable type="undefined" id="LampeAus2">LampeAus2</variable> </variables> <block type="on_ext" id="jKGzmF9.YaF(fmPo.mWx" x="63" y="13"> <mutation items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="rn?qw-/+i|2Jh99JvM9M"> <field name="oid">hue.0.Philips_hue.Esszimmer.on</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_settimeout" id="|/ueUjoWt{]4.D0f[L$Q"> <field name="NAME">LampeAus</field> <field name="DELAY">4</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="%z*U]3{!$Ksy$0L^tH7e"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Philips_hue.Esszimmer.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="2E*zc|^Ar}dVf0$XU!^A"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="0`-J$f?33TiL-|:`;vlh"> <mutation items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="9!]VeQ58J/C`#T_{W+%d"> <field name="oid">hue.0.Philips_hue.Esszimmer-Bewegungsmelder.presence</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="xkh=:-W/BJjc%v@JsMpW"> <value name="IF0"> <block type="logic_compare" id="B,rVf8CcnOQCce$k;`@!"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="?{.]rGva`*gM(e8k}d!l"> <field name="ATTR">val</field> <field name="OID">hue.0.Philips_hue.Esszimmer.on</field> </block> </value> <value name="B"> <block type="logic_boolean" id="gRCG[Fwd9Yr^NB~~AS]7"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="V4r[%^60xRf.)CLys]`3"> <field name="NAME">LampeAus</field> <next> <block type="timeouts_settimeout" id="tozQwH0qZ=hacI#!eO@N"> <field name="NAME">LampeAus2</field> <field name="DELAY">4</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="Vj|9Ji{#y;/af9zmvXIX"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Philips_hue.Esszimmer.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="4/TLV6wl%dRGh8zbBA)R"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml>
hab ich was falsch nachgebaut?
-
@freaktech
Du musst bei erkannter Bewegung den Timer "LampeAus2" auch stoppen -
?!? checke ich grad nicht wo
-
so?
-
Vielleicht ist es mit den längeren "Timer-Beschreibunsgtexten" besser nachzuvollziehen?!
-
irgendwie klappt das nicht
kam grad ins Esszimmer, setzte mich und nach 1 Min war ich im dunklen.
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="LampeAus">LampeAus</variable> <variable type="undefined" id="LampeAus2">LampeAus2</variable> </variables> <block type="on_ext" id="jKGzmF9.YaF(fmPo.mWx" x="63" y="13"> <mutation items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="rn?qw-/+i|2Jh99JvM9M"> <field name="oid">hue.0.Philips_hue.Esszimmer.on</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id="|$n%j6|VV_$z}k%#*K4E"> <field name="NAME">LampeAus2</field> <next> <block type="timeouts_settimeout" id="|/ueUjoWt{]4.D0f[L$Q"> <field name="NAME">LampeAus</field> <field name="DELAY">25</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="%z*U]3{!$Ksy$0L^tH7e"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Philips_hue.Esszimmer.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="2E*zc|^Ar}dVf0$XU!^A"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> <next> <block type="on_ext" id="0`-J$f?33TiL-|:`;vlh"> <mutation items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="9!]VeQ58J/C`#T_{W+%d"> <field name="oid">hue.0.Philips_hue.Esszimmer-Bewegungsmelder.presence</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="xkh=:-W/BJjc%v@JsMpW"> <value name="IF0"> <block type="logic_compare" id="B,rVf8CcnOQCce$k;`@!"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="?{.]rGva`*gM(e8k}d!l"> <field name="ATTR">val</field> <field name="OID">hue.0.Philips_hue.Esszimmer.on</field> </block> </value> <value name="B"> <block type="logic_boolean" id="gRCG[Fwd9Yr^NB~~AS]7"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="V4r[%^60xRf.)CLys]`3"> <field name="NAME">LampeAus</field> <next> <block type="timeouts_cleartimeout" id="z~~7HGim(:=9$A++YR$n"> <field name="NAME">LampeAus2</field> <next> <block type="timeouts_settimeout" id="tozQwH0qZ=hacI#!eO@N"> <field name="NAME">LampeAus2</field> <field name="DELAY">25</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="Vj|9Ji{#y;/af9zmvXIX"> <mutation delay_input="false"></mutation> <field name="OID">hue.0.Philips_hue.Esszimmer.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="4/TLV6wl%dRGh8zbBA)R"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
@freaktech sagte in Hue Skript Idee?:
nach 1 Min war ich im dunklen
Kann aber nicht an diesem Skript liegen. Da schaltet es erst nach frühestens 25 Minuten aus. Ich hatte früher auch immer wieder Probleme mit Hue. Bei mir wurden einzelnen Birnen etwa eine Minute nach dem Ausschalten wieder eingeschaltet. Jetzt ist bei Aus der Strom weg und alles passt.
-
vorher war natürlich meine Frau schon im Esszimmer
als ich in den räum kam
müsste der BWM sicher geschalten habendaher versteh ich nicht wieso ich nach 1 Min sitzen im dunklen war.
-
@freaktech Warum war deine Frau "natürlich" schon im Zimmer? Wer kann das wissen?
Du müsstest mal prüfen ob der BWM wirklich auf die Bewegung reagiert hat und ioBroker das auch registriert hat. Bau doch mal ein paar Debug-Blöcke ein, dann kannst du das leicht nach verfolgen.
-
@freaktech
Da es sich sowohl um eine HUE Lampe als auch um einen HUE Bewegungsmelder handelt, hast Du bei der Einrichtung des HUE Bewegungsmelders in einer HUE App womöglich eine Verbindung zwischen diesen beiden hergstellt?!Schau mal in den Einstellungen der/einer HUE App ob dort 1 Minute für das Ausschalten voreingestellt ist. Am besten Du löst die Verbindung oder aber stellst diese auf einen höhren Wert als 25min
-
Wenn es ein Hue-Bewegungsmelder ist: Gibt es einen Grund, warum Du den Sensor nicht einfach in der Hue-App konfigurierst?
Unter Zubehör einrichten kannst Du das Verhalten einstellen: Wann der Sensor im Raum schalten soll, welche Farbe und wie lange (sogar getrennte Modi für Tag und Nacht).
-
Diese speziellen Konstellationen kannst Du mit der App nicht lösen.
Blockly ist da schon richtig.