NEWS
Hue Skript Idee?
-
@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. -
Vielleicht bin ich da noch zu sehr "Noob" für, aber ich erkenne die speziellen Anforderungen nicht. Für mich ist die einzige Anforderung:
- X Minuten keine Bewegung --> Licht aus
Oder was muss darüber hinaus noch abgefangen werden?
Ich kann aber verstehen, dass man alles in einem Universum lösen will und deshalb eine Lösung im iobroker realisieren will.
LG Ulla
-
@Ullallalla Das Licht kann auch durch einen Schalter eingeschaltet werden und sollte dann ebenfalls nach 25 Minuten augeschaltet werden, sofern nicht zwischendurch eine Bewegung registriert wurde, Beim ersten Einschaltvorgang ist also der Bewegungsmelder (und damit ein Timer) noch gar nicht involviert.
-
@BBTown Aaah! Ok - vielen Dank für die Erhellung
-
Also ich hatte damals mal für meinen Dachboden ein gleiches Problem gelöst.
Leider habe ich das Blockly nicht mehr.
Aber prinzipiell hatte ich es so gelöst:
- "Trigger " schaltet bei erkannter Bewegung Licht an
. - "CRON" prüft jede Minute ob Licht im Raum an ist.
- Wenn ja, erhöhe Zähler (Datenpunkt oder Variable) um 1.
- Wenn Zähler>15 (Minuten), schalte Licht aus und setze Zähler auf 0.
- Wenn nein, setzte Zähler auf 0.
- Wenn ja, erhöhe Zähler (Datenpunkt oder Variable) um 1.
- "Trigger " schaltet bei erkannter Bewegung Licht an