- ioBroker Community Home
- Deutsch
- Skripten / Logik
- Blockly
- Hilfe bei Steuerung der Dachlucke
Hilfe bei Steuerung der Dachlucke
-
@kxn sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977 Ich verstehe schon was du meinst, nur ist das nicht immer so einfach.
Leg mal wie in meinem Bild die Verzeinisse mit dem Datenpunkten an.
z.b.
Status.0.Luke.Außentemp true/false
Status.0.Luke.Feuchte true/fasle
Stauts.0.Luke.Innentemp true/fasleDann machst du für jeden ein Trigger
wenn Außentemp wird geändert und wert ist kleiner als 10 grad schreibe Status.0.Luke.Außentemp false
usw.dann trägst du das in dein eigendliches steuerskript ein nur ohne werte sondern mit dem true/fasle statements
Werde ich mal probieren, die Idee ist gut, danke!
@BBTown sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977
jetzt verliere ich schon wieder die Lust zu helfen ....In allen Screenshots ist die Zeit bis 20:00h ... nun soll es 22:00h sein
in alles Screenshots ist Feuchtigkeit > 65% .... nun soll es 60% seinDann warte ich lieber erst einmal ab, bis alle Anforderungen auch wirklich feststehen ... :-(
Das verstehe ich gut, würde mir auch die Lust vergehen. Ich hatte es jetzt nur schriftlich runtergeschrieben, und hatte nicht mehr auf die Werte im Script geachtet, welche die richtigen sind.
Es ging mir jetzt eher um die Beschreibung, als um die selben Werte wie im Script. Ich gelobe Besserung
@AxelF1977
als erstes würde ich diese beiden Scripte anlegenRegen -> Luke zu
Luftfeuchtigkeit zu hoch -> Luke auf

ioBroker auf NUC (VM debian v13 (Trixie ), node v22.22.2 npm v10.9.4, js-controller v7.1.1 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS
-
@kxn sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977 Ich verstehe schon was du meinst, nur ist das nicht immer so einfach.
Leg mal wie in meinem Bild die Verzeinisse mit dem Datenpunkten an.
z.b.
Status.0.Luke.Außentemp true/false
Status.0.Luke.Feuchte true/fasle
Stauts.0.Luke.Innentemp true/fasleDann machst du für jeden ein Trigger
wenn Außentemp wird geändert und wert ist kleiner als 10 grad schreibe Status.0.Luke.Außentemp false
usw.dann trägst du das in dein eigendliches steuerskript ein nur ohne werte sondern mit dem true/fasle statements
Werde ich mal probieren, die Idee ist gut, danke!
@BBTown sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977
jetzt verliere ich schon wieder die Lust zu helfen ....In allen Screenshots ist die Zeit bis 20:00h ... nun soll es 22:00h sein
in alles Screenshots ist Feuchtigkeit > 65% .... nun soll es 60% seinDann warte ich lieber erst einmal ab, bis alle Anforderungen auch wirklich feststehen ... :-(
Das verstehe ich gut, würde mir auch die Lust vergehen. Ich hatte es jetzt nur schriftlich runtergeschrieben, und hatte nicht mehr auf die Werte im Script geachtet, welche die richtigen sind.
Es ging mir jetzt eher um die Beschreibung, als um die selben Werte wie im Script. Ich gelobe Besserung
@AxelF1977
Für die Temperatur entweder einfach oder komplex:

ioBroker auf NUC (VM debian v13 (Trixie ), node v22.22.2 npm v10.9.4, js-controller v7.1.1 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS
-
@AxelF1977
Für die Temperatur entweder einfach oder komplex:

@BBTown sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977
Für die Temperatur entweder einfach oder komplex:

Cool, vielen Dank! Ich ziehe mir die Werte mal in Grafana rein, wie die Lucke bisher und mit welchen Werten aufgeht, um mal zusehen was an Werten überhaupt los ist.
Ich werde die Blocklys gleich mal nachbauen.
Danke
ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board
-
@BBTown sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977
Für die Temperatur entweder einfach oder komplex:

Cool, vielen Dank! Ich ziehe mir die Werte mal in Grafana rein, wie die Lucke bisher und mit welchen Werten aufgeht, um mal zusehen was an Werten überhaupt los ist.
Ich werde die Blocklys gleich mal nachbauen.
Danke
@AxelF1977
Vorschlag mit Funktion zur Verknüpfung der Entscheidungswerte.
Die Namen der Variablen sind (hoffentlich) selbst erklärend.
Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs -
@AxelF1977
Vorschlag mit Funktion zur Verknüpfung der Entscheidungswerte.
Die Namen der Variablen sind (hoffentlich) selbst erklärend.
@paul53 sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977
Vorschlag mit Funktion zur Verknüpfung der Entscheidungswerte.
Die Namen der Variablen sind (hoffentlich) selbst erklärend.
Danke!
Die Namen der Variablen sind logisch, ich überlege jetzt wie es das nachbaue. Ich würde die Variante von @BBTown und Deine beide Testen wollen.
Werden die Datenpunkte vorher angelegt, wie bei @kxn und dann gefüllt? Habe das glaube ich einmal schon gemacht, aber länger her.
ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board
-
@paul53 sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977
Vorschlag mit Funktion zur Verknüpfung der Entscheidungswerte.
Die Namen der Variablen sind (hoffentlich) selbst erklärend.
Danke!
Die Namen der Variablen sind logisch, ich überlege jetzt wie es das nachbaue. Ich würde die Variante von @BBTown und Deine beide Testen wollen.
Werden die Datenpunkte vorher angelegt, wie bei @kxn und dann gefüllt? Habe das glaube ich einmal schon gemacht, aber länger her.
@AxelF1977 sagte:
Werden die Datenpunkte vorher angelegt, wie bei @kxn und dann gefüllt?
Es gibt keine eigenen Datenpunkte, sondern nur vorhandene Datenpunkte und Skriptvariablen.
@AxelF1977 sagte in Hilfe bei Steuerung der Dachlucke:
ich überlege jetzt wie es das nachbaue.
Hier ein Export, in dem noch die Datenpunkt-IDs zugewiesen werden müssen.
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="f(l}-M6:n2@lQerSHfWp">regen</variable> <variable type="" id="($?UI5Un*9`Z_53!BWu1">oeffnung</variable> <variable type="" id="A57~k|$ZZt`5R,VO/vd{">entfeuchten</variable> <variable type="" id=",?l6kw!3JOeG60;y`h4z">zu_warm</variable> <variable type="" id="dO-SFWG@b-|BRqXp.3*)">aussen_ok</variable> </variables> <block type="on_ext" id="Uto$m/6Lf!HCh%pF$)cB" x="37" y="13"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="_iU5=t-a8Jo-SM6]+?zy"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="GEXq!}PWbT]8cGs6PFo1"> <field name="VAR" id="f(l}-M6:n2@lQerSHfWp" variabletype="">regen</field> <value name="VALUE"> <block type="on_source" id="xdK)InlsU+QqVv_~hj+N"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="procedures_callnoreturn" id="S?nM~o|}vf0R*t98ES#j"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="wWlM!cNQiX~)y`qYqIKg"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="zyesw8_^G0P*i;|sgHRg"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="q-=v)r7AYZ`_G7FV218}"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="O@%^`)1]@;|-kd3$ceBO"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id=",zsa[{[J|T,.WCf=W{wc"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="W2_^ycmP~ApYp/]-wsDG"> <field name="NUM">63</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="SZt`f~)?+/}7s4ON+fQz"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> <value name="VALUE"> <block type="logic_boolean" id="{KU~,vQ0lQDEX?:9Us6X"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="dN.[ws0Pyp*(asNZ^$30"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="0L4v30V=oa3;jl1m{^1w"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="[IgGI8$lT,Y2?kzz^]e("> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="1p)cQ#,9-25qXZ,aa+pI"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> <value name="VALUE"> <block type="logic_boolean" id="qKNtPJRU0*64WU.qLm~q"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="^`Co#XUQHtY,7U+j26u:"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="|}178V:jf,`A0dBftwI9"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="h6:9FwE?o-fzOmm426EG"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="^Nm8M~Hbv5J#!/%fg0fB"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="=AgtqhVbuAQn{2[M7qwU"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="EpFJAc`Q6R!(BaELBTw]"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="clbXve/Uj;g0[,9D%Mka"> <field name="NUM">23</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7J*(m0Dr,fG4x3f$FEtF"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> <value name="VALUE"> <block type="logic_boolean" id="UumwFnmQ{ca]b7!D4G}P"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id=";qaP9Mi=5]WFJWEp-wMY"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id="g(./Nbkr:?^#/w,v/jn|"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="xjYhW}`5I_U.z+j2=vL`"> <field name="NUM">22</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="VGhib`o7=G~3hQzX:ZJb"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> <value name="VALUE"> <block type="logic_boolean" id="nzNl67tS8idr_B2|f(A`"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="snZPt$S]vMvT8d6EPHVR"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="@@v~q4xy776vV84O0Xg0"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Sj!RIw`CM3$x181m_z]r"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="fX*iDbRr9WH@8@%V7[7q"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="I2vpO`1hnBH4|t_3Agtt"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="yWikV%2RcBw[~`jI.zl%"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="CvcgcpZ=VM,m_:s20_;#"> <field name="NUM">10.5</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7sfJ,OSyce!Qz7YPf@k1"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> <value name="VALUE"> <block type="logic_boolean" id="w7fe_FD[p137z?*5ASoA"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="_.kz)+Fpf(u^gai[oqbq"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="r@gzmIZnnC3rnOinAW.J"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="B9[ao$p-ge]8I,=RUDZz"> <field name="NUM">9.5</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="A~7fMEge9)q}X_5K5N~4"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> <value name="VALUE"> <block type="logic_boolean" id="Q{.m89t3V}RN@7AfqR7,"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="4sXU^G!ESsk3*ih@V:4~"> <mutation name="luke"></mutation> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="^6uH5JxK+/$,xcO0%}PK" x="412" y="13"> <field name="NAME">luke</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="[+O9kIzl^f^YtTc)FikW"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="Nzp~h_}`t7t(P1VMLUnF" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="3c*J5h|(f23BjL?XHqWq"> <value name="BOOL"> <block type="variables_get" id="UXuEb%HeXGDVDi9J6e@n"> <field name="VAR" id="f(l}-M6:n2@lQerSHfWp" variabletype="">regen</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="?yGNJhuPS}{~e_]Ja+w(" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="variables_get" id="}GZt6x4I9)vtR#$T0Y%O"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> </block> </value> <value name="B"> <block type="logic_operation" id="jJ$4p^hs=SjV[kTY$vP:" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="-=b(DU#PGqvdHy29#@Ek"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> </block> </value> <value name="B"> <block type="variables_get" id="8*__OHUDhJtF}jd@+XeC"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="8vND+yQNKn3W$R={/lHT"> <mutation else="1"></mutation> <value name="IF0"> <block type="time_compare" id="g5[I-rfduwFRhxRExkm?"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">6:00</field> <field name="END_TIME">20:00</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="MLIftHy`!b^lodBdt;1j"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="+$*%W%uM[drmpKQVIt|z"> <field name="NUM">20</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="qiF]Kb7P)9|U#mQr3~Qp"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="hxwwJ;J1d{|t9n#:xH#8"> <field name="NUM">10</field> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="[?8`VIA;_}NCXU-XwBf}"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="Gl?fXzIbmyy$k02[rQ+!"> <field name="NUM">0</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="o8Yj`kTS9`-8js0)hW$7"> <value name="IF0"> <block type="logic_compare" id=")Ed@^RWUhDNLPlB#=]Pm" inline="false"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="{C{c@LgFbxE{9;T-EA6%"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> </block> </value> <value name="B"> <block type="get_value" id="Sv)A@*7h8)8)%}fSPN.z"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="!wTi(Y+rX#sf]V!fjN^@"> <mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="^s:y.%;n3g}8/UVv/y6F"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </xml>Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs -
@AxelF1977 sagte:
Werden die Datenpunkte vorher angelegt, wie bei @kxn und dann gefüllt?
Es gibt keine eigenen Datenpunkte, sondern nur vorhandene Datenpunkte und Skriptvariablen.
@AxelF1977 sagte in Hilfe bei Steuerung der Dachlucke:
ich überlege jetzt wie es das nachbaue.
Hier ein Export, in dem noch die Datenpunkt-IDs zugewiesen werden müssen.
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="f(l}-M6:n2@lQerSHfWp">regen</variable> <variable type="" id="($?UI5Un*9`Z_53!BWu1">oeffnung</variable> <variable type="" id="A57~k|$ZZt`5R,VO/vd{">entfeuchten</variable> <variable type="" id=",?l6kw!3JOeG60;y`h4z">zu_warm</variable> <variable type="" id="dO-SFWG@b-|BRqXp.3*)">aussen_ok</variable> </variables> <block type="on_ext" id="Uto$m/6Lf!HCh%pF$)cB" x="37" y="13"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="_iU5=t-a8Jo-SM6]+?zy"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="GEXq!}PWbT]8cGs6PFo1"> <field name="VAR" id="f(l}-M6:n2@lQerSHfWp" variabletype="">regen</field> <value name="VALUE"> <block type="on_source" id="xdK)InlsU+QqVv_~hj+N"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="procedures_callnoreturn" id="S?nM~o|}vf0R*t98ES#j"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="wWlM!cNQiX~)y`qYqIKg"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="zyesw8_^G0P*i;|sgHRg"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="q-=v)r7AYZ`_G7FV218}"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="O@%^`)1]@;|-kd3$ceBO"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id=",zsa[{[J|T,.WCf=W{wc"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="W2_^ycmP~ApYp/]-wsDG"> <field name="NUM">63</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="SZt`f~)?+/}7s4ON+fQz"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> <value name="VALUE"> <block type="logic_boolean" id="{KU~,vQ0lQDEX?:9Us6X"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="dN.[ws0Pyp*(asNZ^$30"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="0L4v30V=oa3;jl1m{^1w"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="[IgGI8$lT,Y2?kzz^]e("> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="1p)cQ#,9-25qXZ,aa+pI"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> <value name="VALUE"> <block type="logic_boolean" id="qKNtPJRU0*64WU.qLm~q"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="^`Co#XUQHtY,7U+j26u:"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="|}178V:jf,`A0dBftwI9"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="h6:9FwE?o-fzOmm426EG"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="^Nm8M~Hbv5J#!/%fg0fB"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="=AgtqhVbuAQn{2[M7qwU"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="EpFJAc`Q6R!(BaELBTw]"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="clbXve/Uj;g0[,9D%Mka"> <field name="NUM">23</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7J*(m0Dr,fG4x3f$FEtF"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> <value name="VALUE"> <block type="logic_boolean" id="UumwFnmQ{ca]b7!D4G}P"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id=";qaP9Mi=5]WFJWEp-wMY"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id="g(./Nbkr:?^#/w,v/jn|"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="xjYhW}`5I_U.z+j2=vL`"> <field name="NUM">22</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="VGhib`o7=G~3hQzX:ZJb"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> <value name="VALUE"> <block type="logic_boolean" id="nzNl67tS8idr_B2|f(A`"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="snZPt$S]vMvT8d6EPHVR"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="@@v~q4xy776vV84O0Xg0"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Sj!RIw`CM3$x181m_z]r"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="fX*iDbRr9WH@8@%V7[7q"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="I2vpO`1hnBH4|t_3Agtt"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="yWikV%2RcBw[~`jI.zl%"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="CvcgcpZ=VM,m_:s20_;#"> <field name="NUM">10.5</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7sfJ,OSyce!Qz7YPf@k1"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> <value name="VALUE"> <block type="logic_boolean" id="w7fe_FD[p137z?*5ASoA"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="_.kz)+Fpf(u^gai[oqbq"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="r@gzmIZnnC3rnOinAW.J"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="B9[ao$p-ge]8I,=RUDZz"> <field name="NUM">9.5</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="A~7fMEge9)q}X_5K5N~4"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> <value name="VALUE"> <block type="logic_boolean" id="Q{.m89t3V}RN@7AfqR7,"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="4sXU^G!ESsk3*ih@V:4~"> <mutation name="luke"></mutation> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="^6uH5JxK+/$,xcO0%}PK" x="412" y="13"> <field name="NAME">luke</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="[+O9kIzl^f^YtTc)FikW"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="Nzp~h_}`t7t(P1VMLUnF" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="3c*J5h|(f23BjL?XHqWq"> <value name="BOOL"> <block type="variables_get" id="UXuEb%HeXGDVDi9J6e@n"> <field name="VAR" id="f(l}-M6:n2@lQerSHfWp" variabletype="">regen</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="?yGNJhuPS}{~e_]Ja+w(" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="variables_get" id="}GZt6x4I9)vtR#$T0Y%O"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> </block> </value> <value name="B"> <block type="logic_operation" id="jJ$4p^hs=SjV[kTY$vP:" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="-=b(DU#PGqvdHy29#@Ek"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> </block> </value> <value name="B"> <block type="variables_get" id="8*__OHUDhJtF}jd@+XeC"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="8vND+yQNKn3W$R={/lHT"> <mutation else="1"></mutation> <value name="IF0"> <block type="time_compare" id="g5[I-rfduwFRhxRExkm?"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">6:00</field> <field name="END_TIME">20:00</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="MLIftHy`!b^lodBdt;1j"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="+$*%W%uM[drmpKQVIt|z"> <field name="NUM">20</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="qiF]Kb7P)9|U#mQr3~Qp"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="hxwwJ;J1d{|t9n#:xH#8"> <field name="NUM">10</field> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="[?8`VIA;_}NCXU-XwBf}"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="Gl?fXzIbmyy$k02[rQ+!"> <field name="NUM">0</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="o8Yj`kTS9`-8js0)hW$7"> <value name="IF0"> <block type="logic_compare" id=")Ed@^RWUhDNLPlB#=]Pm" inline="false"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="{C{c@LgFbxE{9;T-EA6%"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> </block> </value> <value name="B"> <block type="get_value" id="Sv)A@*7h8)8)%}fSPN.z"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="!wTi(Y+rX#sf]V!fjN^@"> <mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="^s:y.%;n3g}8/UVv/y6F"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </xml>@paul53 sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977 sagte:
Werden die Datenpunkte vorher angelegt, wie bei @kxn und dann gefüllt?
Es gibt keine eigenen Datenpunkte, sondern nur vorhandene Datenpunkte und Skriptvariablen.
@AxelF1977 sagte in Hilfe bei Steuerung der Dachlucke:
ich überlege jetzt wie es das nachbaue.
Hier ein Export, in dem noch die Datenpunkt-IDs zugewiesen werden müssen.
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="f(l}-M6:n2@lQerSHfWp">regen</variable> <variable type="" id="($?UI5Un*9`Z_53!BWu1">oeffnung</variable> <variable type="" id="A57~k|$ZZt`5R,VO/vd{">entfeuchten</variable> <variable type="" id=",?l6kw!3JOeG60;y`h4z">zu_warm</variable> <variable type="" id="dO-SFWG@b-|BRqXp.3*)">aussen_ok</variable> </variables> <block type="on_ext" id="Uto$m/6Lf!HCh%pF$)cB" x="37" y="13"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="_iU5=t-a8Jo-SM6]+?zy"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="GEXq!}PWbT]8cGs6PFo1"> <field name="VAR" id="f(l}-M6:n2@lQerSHfWp" variabletype="">regen</field> <value name="VALUE"> <block type="on_source" id="xdK)InlsU+QqVv_~hj+N"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="procedures_callnoreturn" id="S?nM~o|}vf0R*t98ES#j"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="wWlM!cNQiX~)y`qYqIKg"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="zyesw8_^G0P*i;|sgHRg"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="q-=v)r7AYZ`_G7FV218}"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="O@%^`)1]@;|-kd3$ceBO"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id=",zsa[{[J|T,.WCf=W{wc"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="W2_^ycmP~ApYp/]-wsDG"> <field name="NUM">63</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="SZt`f~)?+/}7s4ON+fQz"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> <value name="VALUE"> <block type="logic_boolean" id="{KU~,vQ0lQDEX?:9Us6X"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="dN.[ws0Pyp*(asNZ^$30"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="0L4v30V=oa3;jl1m{^1w"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="[IgGI8$lT,Y2?kzz^]e("> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="1p)cQ#,9-25qXZ,aa+pI"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> <value name="VALUE"> <block type="logic_boolean" id="qKNtPJRU0*64WU.qLm~q"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="^`Co#XUQHtY,7U+j26u:"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="|}178V:jf,`A0dBftwI9"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="h6:9FwE?o-fzOmm426EG"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="^Nm8M~Hbv5J#!/%fg0fB"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="=AgtqhVbuAQn{2[M7qwU"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="EpFJAc`Q6R!(BaELBTw]"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="clbXve/Uj;g0[,9D%Mka"> <field name="NUM">23</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7J*(m0Dr,fG4x3f$FEtF"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> <value name="VALUE"> <block type="logic_boolean" id="UumwFnmQ{ca]b7!D4G}P"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id=";qaP9Mi=5]WFJWEp-wMY"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id="g(./Nbkr:?^#/w,v/jn|"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="xjYhW}`5I_U.z+j2=vL`"> <field name="NUM">22</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="VGhib`o7=G~3hQzX:ZJb"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> <value name="VALUE"> <block type="logic_boolean" id="nzNl67tS8idr_B2|f(A`"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="snZPt$S]vMvT8d6EPHVR"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="@@v~q4xy776vV84O0Xg0"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Sj!RIw`CM3$x181m_z]r"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="fX*iDbRr9WH@8@%V7[7q"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="I2vpO`1hnBH4|t_3Agtt"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="yWikV%2RcBw[~`jI.zl%"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="CvcgcpZ=VM,m_:s20_;#"> <field name="NUM">10.5</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7sfJ,OSyce!Qz7YPf@k1"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> <value name="VALUE"> <block type="logic_boolean" id="w7fe_FD[p137z?*5ASoA"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="_.kz)+Fpf(u^gai[oqbq"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="r@gzmIZnnC3rnOinAW.J"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="B9[ao$p-ge]8I,=RUDZz"> <field name="NUM">9.5</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="A~7fMEge9)q}X_5K5N~4"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> <value name="VALUE"> <block type="logic_boolean" id="Q{.m89t3V}RN@7AfqR7,"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="4sXU^G!ESsk3*ih@V:4~"> <mutation name="luke"></mutation> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="^6uH5JxK+/$,xcO0%}PK" x="412" y="13"> <field name="NAME">luke</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="[+O9kIzl^f^YtTc)FikW"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="Nzp~h_}`t7t(P1VMLUnF" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="3c*J5h|(f23BjL?XHqWq"> <value name="BOOL"> <block type="variables_get" id="UXuEb%HeXGDVDi9J6e@n"> <field name="VAR" id="f(l}-M6:n2@lQerSHfWp" variabletype="">regen</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="?yGNJhuPS}{~e_]Ja+w(" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="variables_get" id="}GZt6x4I9)vtR#$T0Y%O"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> </block> </value> <value name="B"> <block type="logic_operation" id="jJ$4p^hs=SjV[kTY$vP:" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="-=b(DU#PGqvdHy29#@Ek"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> </block> </value> <value name="B"> <block type="variables_get" id="8*__OHUDhJtF}jd@+XeC"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="8vND+yQNKn3W$R={/lHT"> <mutation else="1"></mutation> <value name="IF0"> <block type="time_compare" id="g5[I-rfduwFRhxRExkm?"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">6:00</field> <field name="END_TIME">20:00</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="MLIftHy`!b^lodBdt;1j"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="+$*%W%uM[drmpKQVIt|z"> <field name="NUM">20</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="qiF]Kb7P)9|U#mQr3~Qp"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="hxwwJ;J1d{|t9n#:xH#8"> <field name="NUM">10</field> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="[?8`VIA;_}NCXU-XwBf}"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="Gl?fXzIbmyy$k02[rQ+!"> <field name="NUM">0</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="o8Yj`kTS9`-8js0)hW$7"> <value name="IF0"> <block type="logic_compare" id=")Ed@^RWUhDNLPlB#=]Pm" inline="false"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="{C{c@LgFbxE{9;T-EA6%"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> </block> </value> <value name="B"> <block type="get_value" id="Sv)A@*7h8)8)%}fSPN.z"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="!wTi(Y+rX#sf]V!fjN^@"> <mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="^s:y.%;n3g}8/UVv/y6F"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </xml>Danke für den Export. Soweit verstehe ich es mit Deiner Erklärung. Hoffe ich zumindest. Ich habe mal einen Screenshot angehangen. Sorry, auf die Weise habe ich nicht nicht wirklich mit Blockly gearbeitet.

Aus diesem Punkt werde ich nicht schlau, was soll er machen?

ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board
-
@paul53 sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977 sagte:
Werden die Datenpunkte vorher angelegt, wie bei @kxn und dann gefüllt?
Es gibt keine eigenen Datenpunkte, sondern nur vorhandene Datenpunkte und Skriptvariablen.
@AxelF1977 sagte in Hilfe bei Steuerung der Dachlucke:
ich überlege jetzt wie es das nachbaue.
Hier ein Export, in dem noch die Datenpunkt-IDs zugewiesen werden müssen.
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="f(l}-M6:n2@lQerSHfWp">regen</variable> <variable type="" id="($?UI5Un*9`Z_53!BWu1">oeffnung</variable> <variable type="" id="A57~k|$ZZt`5R,VO/vd{">entfeuchten</variable> <variable type="" id=",?l6kw!3JOeG60;y`h4z">zu_warm</variable> <variable type="" id="dO-SFWG@b-|BRqXp.3*)">aussen_ok</variable> </variables> <block type="on_ext" id="Uto$m/6Lf!HCh%pF$)cB" x="37" y="13"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="_iU5=t-a8Jo-SM6]+?zy"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="GEXq!}PWbT]8cGs6PFo1"> <field name="VAR" id="f(l}-M6:n2@lQerSHfWp" variabletype="">regen</field> <value name="VALUE"> <block type="on_source" id="xdK)InlsU+QqVv_~hj+N"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="procedures_callnoreturn" id="S?nM~o|}vf0R*t98ES#j"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="wWlM!cNQiX~)y`qYqIKg"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="zyesw8_^G0P*i;|sgHRg"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="q-=v)r7AYZ`_G7FV218}"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="O@%^`)1]@;|-kd3$ceBO"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id=",zsa[{[J|T,.WCf=W{wc"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="W2_^ycmP~ApYp/]-wsDG"> <field name="NUM">63</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="SZt`f~)?+/}7s4ON+fQz"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> <value name="VALUE"> <block type="logic_boolean" id="{KU~,vQ0lQDEX?:9Us6X"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="dN.[ws0Pyp*(asNZ^$30"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="0L4v30V=oa3;jl1m{^1w"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="[IgGI8$lT,Y2?kzz^]e("> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="1p)cQ#,9-25qXZ,aa+pI"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> <value name="VALUE"> <block type="logic_boolean" id="qKNtPJRU0*64WU.qLm~q"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="^`Co#XUQHtY,7U+j26u:"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="|}178V:jf,`A0dBftwI9"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="h6:9FwE?o-fzOmm426EG"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="^Nm8M~Hbv5J#!/%fg0fB"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="=AgtqhVbuAQn{2[M7qwU"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="EpFJAc`Q6R!(BaELBTw]"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="clbXve/Uj;g0[,9D%Mka"> <field name="NUM">23</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7J*(m0Dr,fG4x3f$FEtF"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> <value name="VALUE"> <block type="logic_boolean" id="UumwFnmQ{ca]b7!D4G}P"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id=";qaP9Mi=5]WFJWEp-wMY"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id="g(./Nbkr:?^#/w,v/jn|"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="xjYhW}`5I_U.z+j2=vL`"> <field name="NUM">22</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="VGhib`o7=G~3hQzX:ZJb"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> <value name="VALUE"> <block type="logic_boolean" id="nzNl67tS8idr_B2|f(A`"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="snZPt$S]vMvT8d6EPHVR"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="@@v~q4xy776vV84O0Xg0"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Sj!RIw`CM3$x181m_z]r"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="fX*iDbRr9WH@8@%V7[7q"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="I2vpO`1hnBH4|t_3Agtt"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="yWikV%2RcBw[~`jI.zl%"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="CvcgcpZ=VM,m_:s20_;#"> <field name="NUM">10.5</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7sfJ,OSyce!Qz7YPf@k1"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> <value name="VALUE"> <block type="logic_boolean" id="w7fe_FD[p137z?*5ASoA"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="_.kz)+Fpf(u^gai[oqbq"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="r@gzmIZnnC3rnOinAW.J"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="B9[ao$p-ge]8I,=RUDZz"> <field name="NUM">9.5</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="A~7fMEge9)q}X_5K5N~4"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> <value name="VALUE"> <block type="logic_boolean" id="Q{.m89t3V}RN@7AfqR7,"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="4sXU^G!ESsk3*ih@V:4~"> <mutation name="luke"></mutation> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="^6uH5JxK+/$,xcO0%}PK" x="412" y="13"> <field name="NAME">luke</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="[+O9kIzl^f^YtTc)FikW"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="Nzp~h_}`t7t(P1VMLUnF" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="3c*J5h|(f23BjL?XHqWq"> <value name="BOOL"> <block type="variables_get" id="UXuEb%HeXGDVDi9J6e@n"> <field name="VAR" id="f(l}-M6:n2@lQerSHfWp" variabletype="">regen</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="?yGNJhuPS}{~e_]Ja+w(" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="variables_get" id="}GZt6x4I9)vtR#$T0Y%O"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> </block> </value> <value name="B"> <block type="logic_operation" id="jJ$4p^hs=SjV[kTY$vP:" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="-=b(DU#PGqvdHy29#@Ek"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> </block> </value> <value name="B"> <block type="variables_get" id="8*__OHUDhJtF}jd@+XeC"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="8vND+yQNKn3W$R={/lHT"> <mutation else="1"></mutation> <value name="IF0"> <block type="time_compare" id="g5[I-rfduwFRhxRExkm?"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">6:00</field> <field name="END_TIME">20:00</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="MLIftHy`!b^lodBdt;1j"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="+$*%W%uM[drmpKQVIt|z"> <field name="NUM">20</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="qiF]Kb7P)9|U#mQr3~Qp"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="hxwwJ;J1d{|t9n#:xH#8"> <field name="NUM">10</field> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="[?8`VIA;_}NCXU-XwBf}"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="Gl?fXzIbmyy$k02[rQ+!"> <field name="NUM">0</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="o8Yj`kTS9`-8js0)hW$7"> <value name="IF0"> <block type="logic_compare" id=")Ed@^RWUhDNLPlB#=]Pm" inline="false"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="{C{c@LgFbxE{9;T-EA6%"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> </block> </value> <value name="B"> <block type="get_value" id="Sv)A@*7h8)8)%}fSPN.z"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="!wTi(Y+rX#sf]V!fjN^@"> <mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="^s:y.%;n3g}8/UVv/y6F"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </xml>Danke für den Export. Soweit verstehe ich es mit Deiner Erklärung. Hoffe ich zumindest. Ich habe mal einen Screenshot angehangen. Sorry, auf die Weise habe ich nicht nicht wirklich mit Blockly gearbeitet.

Aus diesem Punkt werde ich nicht schlau, was soll er machen?

@AxelF1977 sagte:
Aus diesem Punkt werde ich nicht schlau, was soll er machen?
Er soll nur dann senden, wenn sich der Sollzustand vom Istzustand unterscheidet (Duty cycle bei HomeMatic). An diesen zwei Stellen muss die ID der Dachluke zugewiesen werden.
Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs -
@paul53 sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977 sagte:
Werden die Datenpunkte vorher angelegt, wie bei @kxn und dann gefüllt?
Es gibt keine eigenen Datenpunkte, sondern nur vorhandene Datenpunkte und Skriptvariablen.
@AxelF1977 sagte in Hilfe bei Steuerung der Dachlucke:
ich überlege jetzt wie es das nachbaue.
Hier ein Export, in dem noch die Datenpunkt-IDs zugewiesen werden müssen.
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="f(l}-M6:n2@lQerSHfWp">regen</variable> <variable type="" id="($?UI5Un*9`Z_53!BWu1">oeffnung</variable> <variable type="" id="A57~k|$ZZt`5R,VO/vd{">entfeuchten</variable> <variable type="" id=",?l6kw!3JOeG60;y`h4z">zu_warm</variable> <variable type="" id="dO-SFWG@b-|BRqXp.3*)">aussen_ok</variable> </variables> <block type="on_ext" id="Uto$m/6Lf!HCh%pF$)cB" x="37" y="13"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="_iU5=t-a8Jo-SM6]+?zy"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="GEXq!}PWbT]8cGs6PFo1"> <field name="VAR" id="f(l}-M6:n2@lQerSHfWp" variabletype="">regen</field> <value name="VALUE"> <block type="on_source" id="xdK)InlsU+QqVv_~hj+N"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="procedures_callnoreturn" id="S?nM~o|}vf0R*t98ES#j"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="wWlM!cNQiX~)y`qYqIKg"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="zyesw8_^G0P*i;|sgHRg"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="q-=v)r7AYZ`_G7FV218}"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="O@%^`)1]@;|-kd3$ceBO"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id=",zsa[{[J|T,.WCf=W{wc"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="W2_^ycmP~ApYp/]-wsDG"> <field name="NUM">63</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="SZt`f~)?+/}7s4ON+fQz"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> <value name="VALUE"> <block type="logic_boolean" id="{KU~,vQ0lQDEX?:9Us6X"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="dN.[ws0Pyp*(asNZ^$30"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="0L4v30V=oa3;jl1m{^1w"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="[IgGI8$lT,Y2?kzz^]e("> <field name="NUM">60</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="1p)cQ#,9-25qXZ,aa+pI"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> <value name="VALUE"> <block type="logic_boolean" id="qKNtPJRU0*64WU.qLm~q"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="^`Co#XUQHtY,7U+j26u:"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="|}178V:jf,`A0dBftwI9"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="h6:9FwE?o-fzOmm426EG"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="^Nm8M~Hbv5J#!/%fg0fB"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="=AgtqhVbuAQn{2[M7qwU"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="EpFJAc`Q6R!(BaELBTw]"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="clbXve/Uj;g0[,9D%Mka"> <field name="NUM">23</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7J*(m0Dr,fG4x3f$FEtF"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> <value name="VALUE"> <block type="logic_boolean" id="UumwFnmQ{ca]b7!D4G}P"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id=";qaP9Mi=5]WFJWEp-wMY"> <field name="OP">LTE</field> <value name="A"> <block type="on_source" id="g(./Nbkr:?^#/w,v/jn|"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="xjYhW}`5I_U.z+j2=vL`"> <field name="NUM">22</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="VGhib`o7=G~3hQzX:ZJb"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> <value name="VALUE"> <block type="logic_boolean" id="nzNl67tS8idr_B2|f(A`"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="snZPt$S]vMvT8d6EPHVR"> <mutation name="luke"></mutation> </block> </next> </block> </statement> <next> <block type="on_ext" id="@@v~q4xy776vV84O0Xg0"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Sj!RIw`CM3$x181m_z]r"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="fX*iDbRr9WH@8@%V7[7q"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="I2vpO`1hnBH4|t_3Agtt"> <field name="OP">GT</field> <value name="A"> <block type="on_source" id="yWikV%2RcBw[~`jI.zl%"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="CvcgcpZ=VM,m_:s20_;#"> <field name="NUM">10.5</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="7sfJ,OSyce!Qz7YPf@k1"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> <value name="VALUE"> <block type="logic_boolean" id="w7fe_FD[p137z?*5ASoA"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <value name="IF1"> <block type="logic_compare" id="_.kz)+Fpf(u^gai[oqbq"> <field name="OP">LT</field> <value name="A"> <block type="on_source" id="r@gzmIZnnC3rnOinAW.J"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="B9[ao$p-ge]8I,=RUDZz"> <field name="NUM">9.5</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="A~7fMEge9)q}X_5K5N~4"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> <value name="VALUE"> <block type="logic_boolean" id="Q{.m89t3V}RN@7AfqR7,"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> <next> <block type="procedures_callnoreturn" id="4sXU^G!ESsk3*ih@V:4~"> <mutation name="luke"></mutation> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="^6uH5JxK+/$,xcO0%}PK" x="412" y="13"> <field name="NAME">luke</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="controls_if" id="[+O9kIzl^f^YtTc)FikW"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_operation" id="Nzp~h_}`t7t(P1VMLUnF" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="3c*J5h|(f23BjL?XHqWq"> <value name="BOOL"> <block type="variables_get" id="UXuEb%HeXGDVDi9J6e@n"> <field name="VAR" id="f(l}-M6:n2@lQerSHfWp" variabletype="">regen</field> </block> </value> </block> </value> <value name="B"> <block type="logic_operation" id="?yGNJhuPS}{~e_]Ja+w(" inline="false"> <field name="OP">OR</field> <value name="A"> <block type="variables_get" id="}GZt6x4I9)vtR#$T0Y%O"> <field name="VAR" id="A57~k|$ZZt`5R,VO/vd{" variabletype="">entfeuchten</field> </block> </value> <value name="B"> <block type="logic_operation" id="jJ$4p^hs=SjV[kTY$vP:" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="variables_get" id="-=b(DU#PGqvdHy29#@Ek"> <field name="VAR" id=",?l6kw!3JOeG60;y`h4z" variabletype="">zu_warm</field> </block> </value> <value name="B"> <block type="variables_get" id="8*__OHUDhJtF}jd@+XeC"> <field name="VAR" id="dO-SFWG@b-|BRqXp.3*)" variabletype="">aussen_ok</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="8vND+yQNKn3W$R={/lHT"> <mutation else="1"></mutation> <value name="IF0"> <block type="time_compare" id="g5[I-rfduwFRhxRExkm?"> <mutation end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">6:00</field> <field name="END_TIME">20:00</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="MLIftHy`!b^lodBdt;1j"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="+$*%W%uM[drmpKQVIt|z"> <field name="NUM">20</field> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="qiF]Kb7P)9|U#mQr3~Qp"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="hxwwJ;J1d{|t9n#:xH#8"> <field name="NUM">10</field> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="[?8`VIA;_}NCXU-XwBf}"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> <value name="VALUE"> <block type="math_number" id="Gl?fXzIbmyy$k02[rQ+!"> <field name="NUM">0</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="o8Yj`kTS9`-8js0)hW$7"> <value name="IF0"> <block type="logic_compare" id=")Ed@^RWUhDNLPlB#=]Pm" inline="false"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="{C{c@LgFbxE{9;T-EA6%"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> </block> </value> <value name="B"> <block type="get_value" id="Sv)A@*7h8)8)%}fSPN.z"> <field name="ATTR">val</field> <field name="OID">ID auswählen</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="!wTi(Y+rX#sf]V!fjN^@"> <mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="^s:y.%;n3g}8/UVv/y6F"> <field name="VAR" id="($?UI5Un*9`Z_53!BWu1" variabletype="">oeffnung</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </xml>Danke für den Export. Soweit verstehe ich es mit Deiner Erklärung. Hoffe ich zumindest. Ich habe mal einen Screenshot angehangen. Sorry, auf die Weise habe ich nicht nicht wirklich mit Blockly gearbeitet.

Aus diesem Punkt werde ich nicht schlau, was soll er machen?

@AxelF1977
hier kommt jeweils als Objekt-ID die Dachluke rein.
Die Variablen hast Du korrekt gefüllt!

ioBroker auf NUC (VM debian v13 (Trixie ), node v22.22.2 npm v10.9.4, js-controller v7.1.1 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS
-
Vielen Dank,
sogar daran gedacht...
Ich habs jetzt mal am Laufen, und teste.
Danke nochmal
ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board
-
@AxelF1977
Vorschlag mit Funktion zur Verknüpfung der Entscheidungswerte.
Die Namen der Variablen sind (hoffentlich) selbst erklärend.
@paul53 sagte in Hilfe bei Steuerung der Dachlucke:
@AxelF1977
Vorschlag mit Funktion zur Verknüpfung der Entscheidungswerte.und wieder einmal habe ich etwas von dir gelernt

ioBroker auf NUC (VM debian v13 (Trixie ), node v22.22.2 npm v10.9.4, js-controller v7.1.1 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS
-
Hi zusammen,
das Skript läuft gut, die Dachlucke wird gesteuert wie ich es will. Aber, wie bekomme ich es hin, dass das Skript für 30min außer Kraft ausgeschaltet wird, wenn der Taster an der Wand, mit dem die Lucke manuell geschlossen und geöffnet werden kann, betätigt wird und wir die Lucke manuell öffnen.
Es geht also nur um den Zustand DIRECTION, und zwar Up(1). Ab dem Moment, wenn der Zustand auf Up wechselt, soll der Timer los gehen und die Lucke 30 min offen lassen. Dann soll das Skript wieder starten, und wenn die Bedingungen nicht erfüllt sind, die Lucke wieder schließen und automatisieren.

Das Skript als Bild

Leider kann ich das exportierte Skript nicht anhängen, das Forum meckert, dass es zu viele Zeichen sind
ASROCK Deskmini Intel I3 8100 16GB mit Proxmox VM ioBroker VM DIYHue| CCU piVCCU + FHEM auf Raspberry | Maria DB mit Grafana und Prometheus auf Tinker Board
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