NEWS
Tasterschaltung
-
Moin. Bin ein wenig am verzweifeln. Ich möchte gerne mit einem Hue Motion Sensor (Taster) eine Lampe an schalten bei erstmaligen triggern und dann beim 2. mal trigger wieder ausschalten. Kann mir jemand mal ein Tipp geben.
-
Du musst nur den Status der Lampe prüfen beim Druck auf den Taster, wenn Lampe an -> dann ausschalten,.. Ansonsten ist die Lampe aus -> dann anschalten.
Gruß
-
danke für den Ansatz. Meinst du mit dem Funktionsbaustein und dann eine if else schleife? Bin noch nicht ganz fit in node red. Kenne nur SPS wie LOGO oder Siemens S7 die arbeiten mit Logik Verknüpfungen
-
warum willst du das mit node-red machen.
Für so eine einfache Funktion bietet sich IMHO eher Blockly an.
Gruß
Rainer
-
Moin. Bin ein wenig am verzweifeln. Ich möchte gerne mit einem Hue Motion Sensor (Taster) eine Lampe an schalten bei erstmaligen triggern und dann beim 2. mal trigger wieder ausschalten. Kann mir jemand mal ein Tipp geben. `
Wenn Deine Lampe mit .STATUS true/false ein- und ausgeschaltet wird, reicht ein Mini-Blockly.
Grüße
-
Ihr habt den ersten Post nicht richtig gelesen…
HueMotion sind die Bewegungsmelder von Hue.. die sind über den HUE Adapter noch nicht auslesbar..
Ich habe mir hier einiges Zusammengeklaut, lese per Javascript und API meine 4 HueMotions einmal pro Sekunde aus und schreibe das Ergebniss (Bewegung, Tageslichterkennung) in Datenpunkte und schalte dann mit Blockly die Lampen und über einen Timer wieder aus...
Definitv nix mit "Mini-Blockly"
-
Ihr habt den ersten Post nicht richtig gelesen… `
Hallo???HueMotion sind die Bewegungsmelder von Hue.. die sind über den HUE Adapter noch nicht auslesbar.. `
Wo steht denn das im 1. Post??Gruß
Rainer
-
Definitv nix mit "Mini-Blockly" `
Keine Ahnung was Dein Beitrag soll.Wenn Du eine Lösung hast, warum hilfst Du dem TE dann nicht :roll:
-
net streiten:)
Ja blockly bekomme ich nicht gelöst mit den hue Motion Sensor. Darum node red. Gibt es eine variante wo ich 2 Eingänge abfragen kann und wenn beide true sind, den Ausgang erst dann auf true setzen kann?
-
Ok… manchmal sollte man sich unterwegs zurückhalten.. .Ich gelobe Besserung und versuche zu helfen...
Wo steht denn das im 1. Post?? `
` >
@scarefire87:Ich möchte gerne mit einem Hue Motion Sensor (Taster) eine Lampe an schalten bei erstmaligen triggern und dann beim 2. mal trigger wieder ausschalten. Kann mir jemand mal ein Tipp geben.
hier mein (zusammengeklautes) Script zum auslesen der HueMotion Zustände:
!
! createState("Hue.1.Helligkeit_Flur", function () { }); createState("Hue.1.Bewegung_Flur", function () { }); createState("Hue.2.Helligkeit_Kueche", function () { }); createState("Hue.2.Bewegung_Kueche", function () { }); createState("Hue.4.Temp_Treppenhaus", function () { }); createState("Hue.4.Helligkeit_Treppenhaus", function () { }); createState("Hue.4.Bewegung_Treppenhaus", function () { }); createState("Hue.3.Temp_Windfang", function () { }); createState("Hue.3.Helligkeit_Windfang", function () { }); createState("Hue.3.Bewegung_Windfang", function () { }); schedule("*/1 * * * * *", function () { // Abfrage alle 1 Min ! //Flur EG Motion Sensor // 2\. Datenpunkt des Sensors: Helligkeit var url2 = "http://192.168.160.3/api/xxxxxxxxsensors/7"; var request2 = require("request"); request(url2, function (error, response, body) { var json = JSON.parse(body); setState("Hue.1.Helligkeit_Flur", json.state.dark); }); ! // 3\. Datenpunkt des Sensors: Anwesenheit var url3 = "http://192.168.160.3/api/xxxxxxxxsensors/6"; var request3 = require("request"); request(url3, function (error, response, body) { var json = JSON.parse(body); var anwesenheit = parseInt(json.state.presence); setState("Hue.1.Bewegung_Flur", json.state.presence); }); ! //Kueche Motion Sensor // 2\. Datenpunkt des Sensors: Helligkeit var url4 = "http://192.168.160.3/api/xxxxxxxxsensors/11"; var request4 = require("request"); request(url4, function (error, response, body) { var json = JSON.parse(body); setState("Hue.2.Helligkeit_Kueche", json.state.dark); }); ! // 3\. Datenpunkt des Sensors: Anwesenheit var url5 = "http://192.168.160.3/api/xxxxxxxxsensors/10"; var request5 = require("request"); request(url5, function (error, response, body) { var json = JSON.parse(body); var anwesenheit = parseInt(json.state.presence); setState("Hue.2.Bewegung_Kueche", json.state.presence); }); ! //Treppenhaus Motion Sensor ! // 2\. Datenpunkt des Sensors: Helligkeit var url7 = "http://192.168.160.3/api/xxxxxxxxsensors/17"; var request7 = require("request"); request(url7, function (error, response, body) { var json = JSON.parse(body); setState("Hue.4.Helligkeit_Treppenhaus", json.state.dark); }); ! // 3\. Datenpunkt des Sensors: Anwesenheit var url8 = "http://192.168.160.3/api/xxxxxxxxsensors/16"; var request8 = require("request"); request(url8, function (error, response, body) { var json = JSON.parse(body); var anwesenheit = parseInt(json.state.presence); setState("Hue.4.Bewegung_Treppenhaus", json.state.presence); ! //Treppenhaus_OG Motion Sensor ! // 2\. Datenpunkt des Sensors: Helligkeit var url1 = "http://192.168.160.3/api/xxxxxxxxsensors/14"; var request1 = require("request"); request(url1, function (error, response, body) { var json = JSON.parse(body); setState("Hue.3.Helligkeit_Windfang", json.state.dark); }); ! // 3\. Datenpunkt des Sensors: Anwesenheit var url9 = "http://192.168.160.3/api/xxxxxxxxsensors/13"; var request9 = require("request"); request(url9, function (error, response, body) { var json = JSON.parse(body); var anwesenheit = parseInt(json.state.presence); setState("Hue.3.Bewegung_Windfang", json.state.presence); }); ! }); // Schlusszeile aus Hauptteil !
Und hier ein "Mini-Blockly" zum einschalten des Lichts und nach einem Timeout wieder ausschalten…
Der Code zum Importieren:
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="rWopYP@=,UcTpOSQ_-jT" x="-437" y="-387"><field name="NAME">Flur_State</field>
<next><block type="create" id="Uzkta:J2#p(pK#gZWHts"><field name="NAME">Lichtautomatik</field>
<next><block type="variables_set" id="U,v}AxcbrG,o}/9r)R!"><field name="VAR">licht_Flur</field>
<value name="VALUE"><block type="get_value" id="7.:eScCos^))#So/]I7"><field name="ATTR">val</field>
<field name="OID">hm-rpc.0.OEQ1148093.1.STATE</field></block></value>
<next><block type="comment" id="bl5[_A@=Q=VNvb.TPlA"><field name="COMMENT">ID Bewegung</field> <next><block type="on" id="^E4sfXy
;J%7%N7!~KYN"><field name="OID">javascript.1.Hue.3.Bewegung_Windfang</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block type="controls_if" id="lZ(wkj5=qNXN;_`3W3EM"><mutation else="1"></mutation> <value name="IF0"><block type="logic_operation" id="E=HM_HQk,dla`gsD4{H:"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="yAl3)54s]@J2YzE(G|;@"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="ZX-.9|W|n;#5qqhAaW=S"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.3.Bewegung_Windfang</field></block></value> <value name="B"><block type="logic_boolean" id="6V:J2NqRah{XAt7XgmE4"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_operation" id="@TpyiC./.ECP0lF-~1?w"><field name="OP">AND</field> <value name="A"><block type="get_value" id="Y(b=sP`q47riGyA,XksN"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.3.Helligkeit_Windfang</field></block></value> <value name="B"><block type="logic_compare" id="P]kQc?n!H+Mpia7X93:k"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="HxQ1+yJnLg==AA(b^I,["><field name="ATTR">val</field> <field name="OID">javascript.1.Lichtautomatik</field></block></value> <value name="B"><block type="logic_boolean" id="CYow*`LxTLELZHktw]Wl"><field name="BOOL">TRUE</field></block></value></block></value></block></value></block></value> <statement name="DO0"><block type="timeouts_cleartimeout" id="hn7o@X`)MPX_2^EM:0iI"><field name="NAME">timeout</field> <next><block type="controls_if" id="K94}j.-.@0H_Qv0Gtd|k"><value name="IF0"><block type="logic_negate" id="#V;!K4AL,EVuI|e#@TR/"><value name="BOOL"><block type="variables_get" id="A.cSD(Zg%#/:Wc^b_H2?"><field name="VAR">licht_Flur</field></block></value></block></value> <statement name="DO0"><block type="control" id="uE]kwP%Z?J[RCFy42a,7"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1148093.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="a6o!G0N:bhTy-.[j1666"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="F^9Tzwg(SLNcM}-G6Ccx"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Flur_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="_?wQO6nl7WZRu:l.f-6h"><field name="BOOL">TRUE</field></block></value></block></next></block></statement></block></next></block></statement> <statement name="ELSE"><block type="timeouts_settimeout" id="26Qh!Rpw,HOnvZWR)fBO"><field name="NAME">timeout</field> <field name="DELAY">30</field> <field name="UNIT">sec</field> <statement name="STATEMENT"><block type="controls_if" id="E|Lu6baONWBoanxvjKfU"><value name="IF0"><block type="variables_get" id="Vk/QUZ21UvvUZ5Suw0,G"><field name="VAR">licht_Flur</field></block></value> <statement name="DO0"><block type="control" id="fN9ODQfdy]0,i1~n~SwP"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1148093.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="G{|*343fVJg|E6]vxm2Q"><field name="BOOL">FALSE</field></block></value> <next><block type="control" id="X~eFy^(RuTMycuS7T)fH"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Flur_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="BQ?|Yc.e[WL#BCmC-G~="><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement></block></statement></block></statement> <next><block type="comment" id="PlNbAyN^w;+~0DlYraf?"><field name="COMMENT">ID Licht</field> <next><block type="on" id="Qvir^Iyye;}YSbLTY*En"><field name="OID">hm-rpc.0.OEQ1148093.1.STATE</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"><block type="variables_set" id="8u+DfM@(Gb|Gpa*5V%gb"><field name="VAR">licht_Flur</field> <value name="VALUE"><block type="on_source" id="*z`p%tJ(Mc`=dl6(%0Q%"><field name="ATTR">state.val</field></block></value></block></statement> <next><block type="on" id="}aI25WTCM=kc26le`?nV"><field name="OID">hm-rpc.0.OEQ1148093.1.STATE</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"><block type="control" id="3/bf6l!Wl|;u=(/1q-.)"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Flur_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="on_source" id="~gQOm-`UF2*h}.qQhpO}"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block>
<block type="comment" id="2aV7tF/;%?p=WCSi2.Nl" x="-62" y="-312"><field name="COMMENT">ID Licht</field></block>
<block type="comment" id="_R;r`jr,.k+kj2BI-4b5" x="-62" y="-162"><field name="COMMENT">Kommentar</field></block>
<block type="comment" id="8FWPRKjHjiILtXhLpktJ" x="463" y="-162"><field name="COMMENT">ID dunkel</field></block>
<block type="comment" id="VXMi0OqpKSl8e^Ag_w?c" x="-37" y="-37"><field name="COMMENT">ID Licht</field></block>
<block type="comment" id="V~Zi4,Y5gD!CJ*}rZQ:W" x="-37" y="88"><field name="COMMENT">ID Licht</field></block></xml>Dann etwas Komplexer.. Die Küche: Hier ist das Problem, das sich schon mal jemand länger als für einen Timeout geeignet in der Küche aufhält.. Deswegen, schalte ich bei Bewegung das Licht an, starte , wenn sich nichts mehr bewegt einen Timeout und lösche diesen, falls sich innerhalb des Timeouts doch noch was bewegt… Den Timeout visualisiere ich in Vis.. (6 Minuten können lang sein, und man wundert sich immer, warum das Licht immer noch nicht aus ist..) filename="Küche.jpeg" index="0">~~ und der Code dazu: >! ```` <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="f/h+q}5V%y]EUJ;a=!VW" x="-421" y="-330"><field name="NAME">Kueche_State</field> <next><block type="create" id="Uzkta:J2#p(pK#gZWHts"><field name="NAME">Lichtautomatik_Kueche</field> <next><block type="variables_set" id="U,v}AxcbrG,o}/*9r)R!"><field name="VAR">licht_Kueche</field> <value name="VALUE"><block type="get_value" id="7.:eScC*os^))#So/]I7"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field></block></value> <next><block type="comment" id="bl5[_A`@=Q=VNvb.TPlA"><field name="COMMENT">ID Bewegung</field> <next><block type="on" id="^E4sfXy`;J%7%N7!~KYN"><field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="debug" id="5jySf};|1KIOz|-x5.4Z"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="fHy%l4TaB=O@7CVB%u0b"><field name="TEXT">Motion hat sich geändert</field></shadow></value> <next><block type="controls_if" id="lZ(wkj5=qNXN;_`3W3EM"><mutation elseif="2"></mutation> <value name="IF0"><block type="logic_operation" id="E=HM_HQk,dla`gsD4{H:" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_operation" id="=cIP!7w_p]G^(AgluL[v" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="Yh%8NG*Nuwjr^aKM=,nt"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="#K|]ht@w0d_Zr~6.T2~E"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="~y`_6?d~o4)_]EyZ4J;u"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="logic_compare" id="D55i4j~OO6*Hm9PfVjm="><field name="OP">NEQ</field> <value name="A"><block type="variables_get" id="}cCg)yznc~0`#7APGIT)"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id=";EV32f,;q=g1]+O8c)g2"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <value name="B"><block type="logic_operation" id="@TpyiC./.ECP0lF-~1?w" inline="false"><field name="OP">AND</field> <value name="A"><block type="get_value" id="Y(b=sP`q47riGyA,XksN"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Helligkeit_Kueche</field></block></value> <value name="B"><block type="get_value" id="HxQ1+yJnLg==AA(b^I,["><field name="ATTR">val</field> <field name="OID">javascript.1.Lichtautomatik_Kueche</field></block></value></block></value></block></value> <statement name="DO0"><block type="debug" id="TKfC_ji*Hm6VcZj*f0}Y"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="(oL_uo[8==.Z}qCFEfA."><field name="TEXT">Alle Bedingungen OK, Licht an</field></shadow></value> <next><block type="control" id="uE]kwP%Z?J[RCFy42a,7"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="a6o!G0N:bhTy-.[j1666"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="zYhzvwa{q{Q1;,[31^#C"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Kueche_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="?7AV-q45SnEA*.4nNt:6"><field name="BOOL">TRUE</field></block></value></block></next></block></next></block></statement> <value name="IF1"><block type="logic_operation" id="Y~.i/Pt44SuP|V}YcK|E" inline="false"><field name="OP">AND</field> <value name="A"><block type="variables_get" id="S5lo2]3s*YpRhW:VD/p4"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_operation" id="J5`Gld]}n*j10oxbS_?8" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="rNA:N3@NZ/-^dGkL{Z%u"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Ir,D1K,f_535w~SEt0hZ"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="qpW(m3)RxeTh?O5(O+L!"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="get_value" id="Q#8EVw/^yor:Ihj=[r_c"><field name="ATTR">val</field> <field name="OID">javascript.1.Lichtautomatik_Kueche</field></block></value></block></value></block></value> <statement name="DO1"><block type="timeouts_cleartimeout" id="~qHp3o*Wab.XYgl%rn#g"><field name="NAME">timeout</field> <next><block type="procedures_callnoreturn" id="wrAEd_G?=`yYct!%uGDb"><mutation name="TimerReset"></mutation> <next><block type="debug" id="@hNr3:jd6:lD:ehN19DA"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="RRyZEBWQ+9-D,P.D-Dd`"><field name="TEXT">Bewegung erkannt:Licht ist schon an</field></shadow></value></block></next></block></next></block></statement> <value name="IF2"><block type="logic_operation" id="|)+-]QQFMd2kz=~VB:))" inline="false"><field name="OP">AND</field> <value name="A"><block type="variables_get" id="y8LC=t/!+2P5:OUS3t@2"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_operation" id="Bm3Pez`%ZLJG4O{Ru5B+" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="C?YcLvjR8lVZpl.rcpv^"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="v#(Lfeg)d%*D{eJ25OAT"><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="Si}n@@VC@PmZhrx1i^Rl"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block type="get_value" id="diSen57XIb(F:wZQU.4_"><field name="ATTR">val</field> <field name="OID">javascript.1.Lichtautomatik_Kueche</field></block></value></block></value></block></value> <statement name="DO2"><block type="debug" id="L|}GJ8=gE|QE+9=_uQp1"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="OAG4qE^{qe/?ibyjauXE"><field name="TEXT">Keine bewegung timer starten</field></shadow></value> <next><block type="timeouts_cleartimeout" id="GM7ujBrSBNOMga4_(?Gv"><field name="NAME">timeout</field> <next><block type="procedures_callnoreturn" id="v3dr=QoaMQnL1~LmIcXb"><mutation name="Timer anzeigen"></mutation> <next><block type="timeouts_settimeout" id="F3Tex_`gJ**]n(K(Ua86"><field name="NAME">timeout</field> <field name="DELAY">6</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="controls_if" id="M60^Ic]cp0Mf2p9HbTir"><value name="IF0"><block type="logic_operation" id="_,O3L2RQ2,xI2|{|vz}Y"><field name="OP">AND</field> <value name="A"><block type="variables_get" id="1WQ7~2dm_.*+H)L(O5@{"><field name="VAR">licht_Kueche</field></block></value> <value name="B"><block type="logic_compare" id="w{.nM^Kf_iMRR0#tfRjE"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="`|/cV^AQND=!;Ly){42("><field name="ATTR">val</field> <field name="OID">javascript.1.Hue.2.Bewegung_Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="/(O?--g7uMK7C{qYo{mZ"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="*n8yTg,vzGkKwO`;srp."><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="aNXp7_a?dXcb]%{2)IVi"><field name="BOOL">FALSE</field></block></value> <next><block type="control" id="(u}jL-fI~[Fr8l?83;b8"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Kueche_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="7fg}SH%TtJ2QQl|iJkJH"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> <next><block type="debug" id="E#OW!Jp};j^VgNjy;/M/"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="%j{ya/RE`-XWSqqH1ut0"><field name="TEXT">Licht wieder ausmachen</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></statement></block></next></block></statement> <next><block type="comment" id="PlNbAyN^w;+~0DlYraf?"><field name="COMMENT">ID Licht</field> <next><block type="on" id="Qvir^Iyye;}YSbLTY*En"><field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"><block type="variables_set" id="8u+DfM@(Gb|Gpa*5V%gb"><field name="VAR">licht_Kueche</field> <value name="VALUE"><block type="on_source" id="*z`p%tJ(Mc`=dl6(%0Q%"><field name="ATTR">state.val</field></block></value> <next><block type="controls_if" id="Qu|38ncZ=aV_FiJ|{6B4"><value name="IF0"><block type="logic_compare" id="],+dP__za,Y^P.Ta|/St"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="*2`@L{}7PKr)=(fAPlO7"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.OEQ1148284.1.STATE</field></block></value> <value name="B"><block type="logic_boolean" id="}F{URw/H6b0^AHM1%:im"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="control" id="91r7zNW@!0LKaft8J-fU"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Kueche_State</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="on_source" id="L~AmN}EsEF#5mRDa7^dP"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block> <block type="comment" id="2aV7tF/;%?p=WCSi2.Nl" x="-62" y="-312"><field name="COMMENT">ID Licht</field></block> <block type="procedures_defnoreturn" id="SX!#UI#+ur=wNfwtc{!K" x="-413" y="1288"><field name="NAME">Timer anzeigen</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="variables_set" id="EAlJL/)HY9I:^5Icc[3R"><field name="VAR">Sekunden</field> <value name="VALUE"><block type="math_number" id="eQriaw|Wj;-Ezf7Ff]}}"><field name="NUM">0</field></block></value> <next><block type="variables_set" id="C-xh5t9.d[N-g;!Cwdoc"><field name="VAR">Minuten</field> <value name="VALUE"><block type="math_number" id="D+yH7JI/~rq{?0B8nae8"><field name="NUM">0</field></block></value> <next><block type="timeouts_setinterval" id="wep9]iM`2fD-hin|(=g;"><field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"><block type="variables_set" id="M.*syYfJJe7xToV)f?~8"><field name="VAR">Sekunden</field> <value name="VALUE"><block type="math_arithmetic" id="QBa}{/ZQYh*/g.^/pQH8"><field name="OP">ADD</field> <value name="A"><shadow type="math_number" id="wgepi;3~rr`6~)m.rQ47"><field name="NUM">1</field></shadow> <block type="variables_get" id="}r[4^3j@!w_)`P#fI/_)"><field name="VAR">Sekunden</field></block></value> <value name="B"><shadow type="math_number" id="Rf/|3~*~h)eU9fI@RPXA"><field name="NUM">1</field></shadow> <block type="math_number" id="e620G%~%h~q-,m}~@BS*"><field name="NUM">1</field></block></value></block></value> <next><block type="controls_if" id="o`Z_!0yKzzhBkv%v(y*a"><value name="IF0"><block type="logic_compare" id="fICmFlc^;(+TaqS,J4-B"><field name="OP">GT</field> <value name="A"><block type="variables_get" id="tF8q{EH]%=tc;X3?I((W"><field name="VAR">Sekunden</field></block></value> <value name="B"><block type="math_number" id="*KVOF%U,3xr9c.dW`|B2"><field name="NUM">59</field></block></value></block></value> <statement name="DO0"><block type="variables_set" id="5eH+|G+dv(xS7E5i6rOO"><field name="VAR">Minuten</field> <value name="VALUE"><block type="math_arithmetic" id="!Y`j=plFj3nX,x_~wbxY"><field name="OP">ADD</field> <value name="A"><shadow type="math_number" id="wgepi;3~rr`6~)m.rQ47"><field name="NUM">1</field></shadow> <block type="variables_get" id="PrEG=/Mk=6Es/!R+0nJT"><field name="VAR">Minuten</field></block></value> <value name="B"><shadow type="math_number" id="Rf/|3~*~h)eU9fI@RPXA"><field name="NUM">1</field></shadow> <block type="math_number" id="U}%x0QNbkBYXq9~:#K-K"><field name="NUM">1</field></block></value></block></value> <next><block type="variables_set" id="c}vlug~vNRipn8kWpyZ,"><field name="VAR">Sekunden</field> <value name="VALUE"><block type="math_number" id="d9+`!W5KB*{=?qC-treq"><field name="NUM">0</field></block></value></block></next></block></statement> <next><block type="update" id="AwNT4aEP=Q(BgthWVtWB"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Timer_Kueche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text_join" id="jVtk=Bkh{~Q|g^|lhY1H" inline="true"><mutation items="3"></mutation> <value name="ADD0"><block type="variables_get" id="Trdw+|O,f32hEO(mRG.F"><field name="VAR">Minuten</field></block></value> <value name="ADD1"><block type="text" id="+.P*/#Dw9qB^[h`!Kn07"><field name="TEXT">:</field></block></value> <value name="ADD2"><block type="variables_get" id="r-1c-/3JG;)2.t3HX`b3"><field name="VAR">Sekunden</field></block></value></block></value> <next><block type="timeouts_setinterval" id="(W@ZJ=fYjIV0VX#,[0BX"><field name="NAME">Intervall2</field> <field name="INTERVAL">6</field> <field name="UNIT">min</field> <statement name="STATEMENT"><block type="timeouts_clearinterval" id="tV)l{Ei7zyk_*H]W`w+."><field name="NAME">Intervall</field> <next><block type="procedures_callnoreturn" id="@qKBPM6~I?cNSLKpmpMb"><mutation name="TimerReset"></mutation></block></next></block></statement></block></next></block></next></block></next></block></statement></block></next></block></next></block></statement></block> <block type="math_number" id="im}Rl0Y?*pbOuFL%IEcC" x="-181" y="1369"><field name="NUM">0</field></block> <block type="procedures_defnoreturn" id="be)WOdimm6N}sW/H[f23" x="-12" y="1663"><field name="NAME">TimerReset</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="timeouts_clearinterval" id="6!SQcZ=./_v+zln^Uust"><field name="NAME">Intervall</field> <next><block type="variables_set" id="8WjYN!9L/p4n`[7xIMU]"><field name="VAR">Sekunden</field> <value name="VALUE"><block type="math_number" id=";~v=b.L6X4z`4mXl%-K4"><field name="NUM">0</field></block></value> <next><block type="variables_set" id="+Hhz?0=kZ)Ayo[#@9jmw"><field name="VAR">Minuten</field> <value name="VALUE"><block type="math_number" id="u#e@,|a(DSPS)8b,C[{K"><field name="NUM">0</field></block></value> <next><block type="update" id="`RQdiQP4(NtSW0M~)tRa"><mutation delay_input="false"></mutation> <field name="OID">javascript.1.Timer_Kueche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text_join" id="B71:Qx~Mo9P4mo_mvV0q" inline="true"><mutation items="3"></mutation> <value name="ADD0"><block type="variables_get" id=".L3BNQb^G]%}U7GE}?P6"><field name="VAR">Minuten</field></block></value> <value name="ADD1"><block type="text" id="({8n9^98sFS9PIo75I|2"><field name="TEXT">:</field></block></value> <value name="ADD2"><block type="variables_get" id="xD0no^G)r4a^rZrjBeCw"><field name="VAR">Sekunden</field></block></value></block></value></block></next></block></next></block></next></block></statement></block></xml>
Wieder gut mit mir ? Ich wollte keinem auf die Füße treten und bin ja auch immer froh, wenn mir geholfen wird. Sorry
-
Danke. alles gut. Steig nicht so recht hinter. Ziel ist es bei der ersten Erkennung der Bewegung das Lich an zu schalten. Bei der zweiten das licht wieder auszuschalten. Qwasi wenn ich durch die Haustür laufe bin ich anwesend wenn ich raus gehe durch die Tür dann nicht mehr. Das kann doch nicht so schwer sein mit node red:)). Werde mich aber mal mit deinem Blockly auch auseinandersetzen, evtl lässt sich da ja was raus basteln.
mir fehlt einfach nur so ne doofe UND-Verknüpfung und alles wäre gut.
-
Gibt es bei dir "irgendeinen" Datenpunkt, der mit dem gewünschten Tasterzustand korreliert?
Gruß
Rainer
-
Moin. So danke für die Hilfestellung. Habe es mit einfachen AND Bausteinen hinbekommen