NEWS
Problem Blockly Skript für meine Lichttsteuerung
-
Hallo liebe Community,
ich habe folgendes Problem im nachfolgenden Auszug meines Skripts. Der Präsenzmelder wird nicht freigegeben bzw. gesperrt. Ich bin mit meinen Fähigkeiten am Ende
Seht ihr eventuell einen Fehler? Über eure Hilfe wäre ich sehr dankbar! LG Mathias
<block xmlns="https://developers.google.com/blockly/xml" type="on" id="n9b:#./AsEOU8:,x?Yd3" x="-1887.2" y="7362.04"> <field name="OID">javascript.0.jsState.Beleuchtungssteuerung.Freigaben.Flur OG</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION">false</field> <statement name="STATEMENT"> <block type="timeouts_setinterval" id="RIyYqJyQrxw7hCz.G[uI"> <field name="NAME">Flur OG</field> <field name="INTERVAL">60</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="19afQ@$=-;Rp,KjxbGhy"> <mutation name="Flur OG"> <arg name="Status Hue Erreichbarkeit - Flur OG"></arg> <arg name="Status Hue On - Flur OG"></arg> <arg name="Schalten - Flur OG"></arg> </mutation> <value name="ARG0"> <block type="logic_multi_and" id="nj3q(xX)q.x.i/bIn_1V"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <value name="AND0"> <block type="get_value" id="wCIzJZ{$5txC~dOzQITN"> <field name="ATTR">val</field> <field name="OID">hue.1.OG_AS_Flur_Treppe_EG.reachable</field> </block> </value> <value name="AND1"> <block type="get_value" id="-+|DOQlV~7TuzRJ*iO01"> <field name="ATTR">val</field> <field name="OID">hue.1.OG_AS_Flur_Spot_Bad.reachable</field> </block> </value> <value name="AND2"> <block type="get_value" id="G8ziHr#k/hRY=KKODuC4"> <field name="ATTR">val</field> <field name="OID">hue.1.OG_AS_Flur_Treppe_OG.reachable</field> </block> </value> </block> </value> <value name="ARG1"> <block type="logic_multi_and" id="=3^/xkh4!myvq!n}I$|g"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <value name="AND0"> <block type="get_value" id="RJa~9^@/XbBJAo*cs3L."> <field name="ATTR">val</field> <field name="OID">hue.1.OG_AS_Flur_Treppe_EG.on</field> </block> </value> <value name="AND1"> <block type="get_value" id="pwRCdC0Z09BX!|aL9vEz"> <field name="ATTR">val</field> <field name="OID">hue.1.OG_AS_Flur_Spot_Bad.on</field> </block> </value> <value name="AND2"> <block type="get_value" id="P:y9V_7[JsPt4mbIaQge"> <field name="ATTR">val</field> <field name="OID">hue.1.OG_AS_Flur_Treppe_OG.on</field> </block> </value> </block> </value> <value name="ARG2"> <block type="on_source" id=";-y3_Q@kf|]gi,xYcsrp"> <field name="ATTR">state.val</field> </block> </value> </block> </statement> </block> </statement> </block> Funktion: <block xmlns="https://developers.google.com/blockly/xml" type="procedures_defnoreturn" id="or`V{pFX;bvs`sZztfDL" x="-3688" y="5138"> <mutation> <arg name="Status Hue Erreichbarkeit - Flur OG" varid="R~s%Eb,wq~S5]/UK.2o,"></arg> <arg name="Status Hue On - Flur OG" varid="0;CxR:HZzQ[#ka_!Thc7"></arg> <arg name="Schalten - Flur OG" varid="`kL%mJz;VHSZc0R(WW-p"></arg> </mutation> <field name="NAME">Flur OG</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="}E65w/FNb^t)C-wsl0;Q"> <value name="IF0"> <block type="logic_multi_and" id="1`8aD7K|ig!56l$3([.`"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="variables_get" id=",|}U;pBqfKZX,..mxWnc"> <field name="VAR" id="`kL%mJz;VHSZc0R(WW-p">Schalten - Flur OG</field> </block> </value> <value name="AND1"> <block type="logic_negate" id="Xulbp6P(*{yu@XD#ftu!"> <value name="BOOL"> <block type="variables_get" id="KBDW+sivN%J0.*!M1*8+"> <field name="VAR" id="R~s%Eb,wq~S5]/UK.2o,">Status Hue Erreichbarkeit - Flur OG</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="|Or+ieIDHLx.y]}rbiWq"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">openknx.0.Beleuchtung.Anbau_-_Schaltaktoren.Aktor_für_Beleuchtung_OG_Flur</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="~.i08lv4:uV}IlhHzH^."> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id=",ZaO(df%jpGd@k9bGKLp"> <value name="IF0"> <block type="logic_multi_and" id="24,?F|A7SwlYCMT2%?U?"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="variables_get" id="K:PQ5H0-0lVg6dr)_:Yz"> <field name="VAR" id="`kL%mJz;VHSZc0R(WW-p">Schalten - Flur OG</field> </block> </value> <value name="AND1"> <block type="variables_get" id="x,Av2V_|jyruw~]M.K0^"> <field name="VAR" id="R~s%Eb,wq~S5]/UK.2o,">Status Hue Erreichbarkeit - Flur OG</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="OM^b1w2S.$N*O|IspPO-"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">openknx.0.Sensoren.Präsenzmelder.Flur_OG_-_Präsenzmelder_-_P1_Freigabe_Präsenzmelder</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="(_^(fYK0wMJ/w~Q9Veq2"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="update" id="C{LJ=0R-8MZl[a:SVSZ^"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.jsState.Beleuchtungssteuerung.Freigaben.Flur OG</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="+=*+[yxeV$3%=0_t=L#a"> <field name="VAR" id="`kL%mJz;VHSZc0R(WW-p">Schalten - Flur OG</field> </block> </value> <next> <block type="timeouts_clearinterval" id="os_LI)SA]84BxB@-M!JE"> <field name="NAME">Flur OG</field> </block> </next> </block> </next> </block> </statement> <next> <block type="controls_if" id="R9(pKZT2(guRC7PCq6(h"> <value name="IF0"> <block type="logic_multi_and" id="[TdxNtZkah`yj`uz07g,"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="AND0"> <block type="logic_negate" id="-eY`~aT.1W{Nnhbs9y1@"> <value name="BOOL"> <block type="variables_get" id="IjW2qRV#Pf$Jhg$OOaN2"> <field name="VAR" id="`kL%mJz;VHSZc0R(WW-p">Schalten - Flur OG</field> </block> </value> </block> </value> <value name="AND1"> <block type="variables_get" id="*j`Q(eZ(]Ybw{hhC#DFk"> <field name="VAR" id="R~s%Eb,wq~S5]/UK.2o,">Status Hue Erreichbarkeit - Flur OG</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="vq!()GY}W!+{X7:{)t2E"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">openknx.0.Sensoren.Präsenzmelder.Flur_OG_-_Präsenzmelder_-_P1_Freigabe_Präsenzmelder</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="w*5/^JqlMW4nea%[^e1_"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="=g.jHha+7q|J}K?[V#GY"> <value name="IF0"> <block type="logic_multi_and" id="H7k$(c:mtAC3X:jUQznC"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <value name="AND0"> <block type="logic_negate" id="2Eh2DD0UIcRfJ$P5Hph7"> <value name="BOOL"> <block type="variables_get" id=")qs(zNG3f{|5qGb,]1Op"> <field name="VAR" id="`kL%mJz;VHSZc0R(WW-p">Schalten - Flur OG</field> </block> </value> </block> </value> <value name="AND1"> <block type="logic_negate" id="4_iWJ*JjNou$pai.925E"> <value name="BOOL"> <block type="variables_get" id=":JC1^CmV`1p3I4GW$71H"> <field name="VAR" id="0;CxR:HZzQ[#ka_!Thc7">Status Hue On - Flur OG</field> </block> </value> </block> </value> <value name="AND2"> <block type="variables_get" id="Y#Fe,l]`,N]=*BGqs{(="> <field name="VAR" id="R~s%Eb,wq~S5]/UK.2o,">Status Hue Erreichbarkeit - Flur OG</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="}Q_RPH{X~ne9rp#e$e24"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">openknx.0.Beleuchtung.Anbau_-_Schaltaktoren.Aktor_für_Beleuchtung_OG_Flur</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id=",ffSx#(3TBNZ_9SIM1dd"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="controls_if" id=".1g}.(O+/swb@HZQ_~-4"> <value name="IF0"> <block type="logic_negate" id="ll],F0QR4N8r]vFs[:O="> <value name="BOOL"> <block type="logic_multi_and" id=";*N|Or3,k#mHa[To[qgB"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <value name="AND0"> <block type="variables_get" id="$xDXj+lyc#^lPEKg|g}N"> <field name="VAR" id="`kL%mJz;VHSZc0R(WW-p">Schalten - Flur OG</field> </block> </value> <value name="AND1"> <block type="variables_get" id="@%96M5-ts{`viN1_qJQa"> <field name="VAR" id="0;CxR:HZzQ[#ka_!Thc7">Status Hue On - Flur OG</field> </block> </value> <value name="AND2"> <block type="variables_get" id="0fbX?0MT0Cqzf+*?K_{|"> <field name="VAR" id="R~s%Eb,wq~S5]/UK.2o,">Status Hue Erreichbarkeit - Flur OG</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="8m]QA}Cv{1hn`@@^C*`f"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.jsState.Beleuchtungssteuerung.Freigaben.Flur OG</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="/r^LX:[^w6WK@gfJM^{^"> <field name="VAR" id="`kL%mJz;VHSZc0R(WW-p">Schalten - Flur OG</field> </block> </value> <next> <block type="timeouts_clearinterval" id="~^2{*y{3eJR@B3kZ^udY"> <field name="NAME">Flur OG</field> </block> </next> </block> </statement> <next> <block type="debug" id="rmMj+S]!Wk8WA0hVgpa["> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="R?6h]~;f9U0;LA`4[^2J"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="/hcdL@vlsv5c_6iT3dsY"> <field name="VAR" id="`kL%mJz;VHSZc0R(WW-p">Schalten - Flur OG</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block>
MOD-EDIT: Code in code-tags gesetzt!
-
@mathi86 erklär doch mal auf welcher Basis das funktionieren soll ?
A
-
Als System habe ich einen Raspi4b, Raspian und ioBroker. Ich habe eigene Datenpunkte erstellt. In dem Beispiel "Flur OG". Ich werte die Helligkeit von der Wetterstation aus und habe in einer Logik Schwellwerte für das Ein und Ausschalten hinterlegt. Wird die festgelegte Helligkeit unterschritten, wir der Datenpunkt Flur OG mit True gesteuert. Der Trigger der den Datenpunkt "Flur OG" überwacht reagiert auf unbestätigte Änderungen. Ist der Datenpunkt True so schaltet er die Stromversorgung der betreffenden Hue Leuchten per KNX Aktor zu. Ich erzeuge dann eine Intervallschaltung die dann den Erreichbarkeitsstatus (Status Hue Erreichbarkeit - Flur OG) der betreffenden Hue Lampen (hab im ioBroker der Hue Adapter) überwacht und wenn die Leuchtmittel erreichbar sind, dann wird der Präsenzmelder freigegeben, der Datenpunkt "Flur OG" aktualisiert und der Intervall wird gestoppt. Beim Ausschalten nach Außenhelligkeit wird dann wieder der Intervall gestartet und hinzukommt noch der Status "Hue On". Dieser stellt sicher, dass die Leuchten erst aus geschaltet sind, bevor die Trennung der Hue Leuchten von der Stromversorgung erfolgt. Mein Problem ist, dass er den Datenpunkt "Flur OG" aktualisiert (für erfolgte Schaltung), was auf ein funktionieren der Logik hindeutet, aber nicht den den Präsenzmelder freigibt.
Ich hoffe ich habe die Frage richtig beantwortet.