Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Merkwürdiges Verhalten 1 Jahr laufender Skripte...

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    965

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Merkwürdiges Verhalten 1 Jahr laufender Skripte...

Geplant Angeheftet Gesperrt Verschoben Blockly
javascriptblockly
35 Beiträge 5 Kommentatoren 2.5k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • XxJooOX Offline
    XxJooOX Offline
    XxJooO
    schrieb am zuletzt editiert von
    #1

    Liebe Freunde,

    Folgende Voraussetzungen:

    • ioBroker auf NUC unter Proxmox
    • Node.js v12.18.0, NPM 6.14.4
      -alles aktualisiert im latest Repo

    ich habe seit zwei Tagen das Problem, dass alle mein Rollladen-Skripte nicht mehr richtig arbeiten. Zwei Dinge habe ich erinnerlich geändert:

    1. Mit Erscheinen bin ich mit Node.js 12.17.0 auf 12.18.0
    2. Ich habe alle acht beteiligten Sonoff T2-kompatiblen Schalter von Tasmota 7.1.2 auf 8.3.1 angehoben.

    Leider kann ich im Moment den zeitlichen Zusammenhang zwischen dem Fehlverhalten der Skripte und den beiden Änderungen nicht genau nachhalten.

    Hier ist mal das Skript als Blockly, das ich dankenswerterweise aus dem Forum habe und für meine Bedürfnisse anpassen konnte.

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="GyN].9-*{UB%A=NA2/n[">Ist</variable>
       <variable id="6Yd-od,#Wfl2Fmp$%zsX">Diff</variable>
       <variable id="6:!@N+Z]j3K4@|LHwz(h">value</variable>
       <variable id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</variable>
       <variable type="interval" id="Count_hoch">Count_hoch</variable>
       <variable type="interval" id="Count_runter">Count_runter</variable>
       <variable id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</variable>
     </variables>
     <block type="on_ext" id="~CqH.z,DqIW?ux*1+7f@" x="-438" y="63">
       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
       <field name="CONDITION">any</field>
       <field name="ACK_CONDITION"></field>
       <value name="OID0">
         <shadow type="field_oid" id="qYZz~R~3T9;owx@kXL3P">
           <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.Soll-Position</field>
         </shadow>
       </value>
       <statement name="STATEMENT">
         <block type="variables_set" id="7!NQbdw6_9Uz)(iGQQ[=">
           <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
           <value name="VALUE">
             <block type="get_value" id="OVv#3%]vV-?|f4OqoLgZ">
               <field name="ATTR">val</field>
               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
             </block>
           </value>
           <next>
             <block type="variables_set" id="Jn[J}cdnx42T?NsJ+)9^">
               <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
               <value name="VALUE">
                 <block type="math_arithmetic" id="$2([zH0XbD;8%XOU-N4;">
                   <field name="OP">MINUS</field>
                   <value name="A">
                     <shadow type="math_number" id="%TRkaw.FqdAh`!RgzevS">
                       <field name="NUM">1</field>
                     </shadow>
                     <block type="variables_get" id="2J)S`GHqnoa@LeerUhZv">
                       <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                     </block>
                   </value>
                   <value name="B">
                     <shadow type="math_number" id="pRlYF4AL./rN.x?|g:^Z">
                       <field name="NUM">1</field>
                     </shadow>
                     <block type="variables_get" id="BOa/lrOvm:K6(WgfmWj0">
                       <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                     </block>
                   </value>
                 </block>
               </value>
               <next>
                 <block type="debug" id="NvlCu77J_+`1Mh}mBzx9">
                   <field name="Severity">log</field>
                   <value name="TEXT">
                     <shadow type="text" id="94Ea+N$wkWxg!Ik^7Le_">
                       <field name="TEXT">test</field>
                     </shadow>
                     <block type="variables_get" id="Ll/,Gfat6R[cE.B8@b|$">
                       <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                     </block>
                   </value>
                   <next>
                     <block type="debug" id="MdV5={6Y#7ZRC@8#Geq|">
                       <field name="Severity">log</field>
                       <value name="TEXT">
                         <shadow type="text">
                           <field name="TEXT">test</field>
                         </shadow>
                         <block type="variables_get" id="kLZFWX-P+:[/]:b1TNMt">
                           <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                         </block>
                       </value>
                       <next>
                         <block type="controls_if" id="qk=Q3cH.u=GPha!4t/3^">
                           <value name="IF0">
                             <block type="logic_operation" id="5~vZ^V/[rdcV8)bFJc[@">
                               <field name="OP">OR</field>
                               <value name="A">
                                 <block type="logic_compare" id="IfMvz`H.kKPteA+B}_D.">
                                   <field name="OP">LT</field>
                                   <value name="A">
                                     <block type="variables_get" id="bRU`GTVax_kO1g,?=Xy;">
                                       <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="6m=Y`,sjD0bgm{t35t!x">
                                       <field name="NUM">3</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="logic_compare" id="Ac69N,,0`+}=2];]j`g[">
                                   <field name="OP">GT</field>
                                   <value name="A">
                                     <block type="variables_get" id="X?IU^w}aFd9`yBU(~~wK">
                                       <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_number" id="^akO9vpOfim0CPI]+dc!">
                                       <field name="NUM">97</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="math_change" id="v%0t#pa+Q%^zQoh9Ph$!">
                               <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                               <value name="DELTA">
                                 <shadow type="math_number" id="6ku!Y[*^,np1!!wREKFi">
                                   <field name="NUM">2</field>
                                 </shadow>
                               </value>
                             </block>
                           </statement>
                           <next>
                             <block type="debug" id="]Ez};@k[xNy`@B#^81Di">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="variables_get" id="52JT%e%T,4[:[H,rpx}+">
                                   <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="controls_if" id="!N|KQ{sV{y]/d3R4UAXP">
                                   <mutation elseif="1"></mutation>
                                   <value name="IF0">
                                     <block type="logic_compare" id=":tO$i4^}+`}|t$F?liCc">
                                       <field name="OP">GT</field>
                                       <value name="A">
                                         <block type="variables_get" id=";Rs$REmx^*_W(V#p8bLT">
                                           <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="variables_get" id="*nx~[y~kZ,vf!n2t1r:Q">
                                           <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="variables_set" id="tX@P2$;scE61yi}^_+0z">
                                       <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                       <value name="VALUE">
                                         <block type="math_arithmetic" id="xpn9V7[XgTpl2e,khmp3">
                                           <field name="OP">MULTIPLY</field>
                                           <value name="A">
                                             <shadow type="math_number" id="^SKaP#+i84?oH1n]2n]K">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="get_value" id="Ej4rJR]`@:LXpe#BeZM=">
                                               <field name="ATTR">val</field>
                                               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <shadow type="math_number" id="+m1SPwl$}wcwD|3jK}v`">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="variables_get" id="i#b=Co_2J`*+jTHcxr~q">
                                               <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="controls_if" id="9{4?swho0(tukodWS@EB">
                                           <value name="IF0">
                                             <block type="logic_compare" id="})3B{KqG]m;,_flO94=V">
                                               <field name="OP">LTE</field>
                                               <value name="A">
                                                 <block type="variables_get" id="k?=XBS(db:X_L,]JG.$T">
                                                   <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="math_number" id="i6aEG[[PjgMkX{y}P$I_">
                                                   <field name="NUM">0</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <statement name="DO0">
                                             <block type="variables_set" id="fO`D/NEw,~}RR-oX#%v@">
                                               <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                               <value name="VALUE">
                                                 <block type="math_arithmetic" id="v10.o*Lh%zW;Y#$)m~!3">
                                                   <field name="OP">MULTIPLY</field>
                                                   <value name="A">
                                                     <shadow type="math_number" id="3jzib6:NBgE$Of{K14Lo">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="variables_get" id="eJXGjkpfkI!x|RhU_CHQ">
                                                       <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number" id="hv96WILW!-[d!2+Z.3w4">
                                                       <field name="NUM">-1</field>
                                                     </shadow>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </statement>
                                           <next>
                                             <block type="debug" id="{q$iAZj(*.NJB)TB,Ytn">
                                               <field name="Severity">log</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="2SXbrb]`y)h3(LyWCS1d">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="text_join" id=")Zz30{cZ0(W%{sipIACh">
                                                   <mutation items="2"></mutation>
                                                   <value name="ADD0">
                                                     <block type="text" id="sF-MYz/6rqMd06C{;oO@">
                                                       <field name="TEXT">Verzögerung </field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD1">
                                                     <block type="variables_get" id="s{k6MqjODRHW5*A+Oe=j">
                                                       <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="control_ex" id="o^:/#?64Tkd;|r2eZLrb">
                                                   <field name="TYPE">false</field>
                                                   <field name="CLEAR_RUNNING">TRUE</field>
                                                   <value name="OID">
                                                     <shadow type="field_oid" id="ZD9vo/fR-d?+f;dBg8K_">
                                                       <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="VALUE">
                                                     <shadow type="logic_boolean" id="s!a#9|CUy47(-Bsx$a#.">
                                                       <field name="BOOL">TRUE</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="DELAY_MS">
                                                     <shadow type="math_number" id="0Dl.snnKNJgxYeTJ0X.a">
                                                       <field name="NUM">0</field>
                                                     </shadow>
                                                   </value>
                                                   <next>
                                                     <block type="control_ex" id="ib1XmMUWU3It,%!y^cE[">
                                                       <field name="TYPE">false</field>
                                                       <field name="CLEAR_RUNNING">FALSE</field>
                                                       <value name="OID">
                                                         <shadow type="field_oid" id=")Bb.l5zcRmdPQ2Sx5=m,">
                                                           <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="VALUE">
                                                         <shadow type="logic_boolean" id="JX$/`zh9snVDb$RE9NSM">
                                                           <field name="BOOL">FALSE</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="DELAY_MS">
                                                         <shadow type="math_number" id="1a2wrKT!k%7Vo}gF,pzR">
                                                           <field name="NUM">0</field>
                                                         </shadow>
                                                         <block type="variables_get" id="y@#SUr:JG}qp~_`VGYsA">
                                                           <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                   <value name="IF1">
                                     <block type="logic_compare" id="GJ7fuH8+*W{YsYf6h02Y">
                                       <field name="OP">LT</field>
                                       <value name="A">
                                         <block type="variables_get" id="O-.]$P?KZ[6`!kHhed$h">
                                           <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="variables_get" id="n_KW~,bQ6ZagNHqn^d6#">
                                           <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO1">
                                     <block type="variables_set" id=",=}Q}Kwnh^Hjlt4h3?=~">
                                       <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                       <value name="VALUE">
                                         <block type="math_arithmetic" id="P#cYZLrv=l8/u}X%my/@">
                                           <field name="OP">MULTIPLY</field>
                                           <value name="A">
                                             <shadow type="math_number">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="get_value" id="C=azr~3d06gW8):C|U9H">
                                               <field name="ATTR">val</field>
                                               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <shadow type="math_number">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="variables_get" id="HFiSN(PAvv3~j`=^U+~p">
                                               <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="debug" id="9!cG?-!J=]L0!tH}vxZR">
                                           <field name="Severity">log</field>
                                           <value name="TEXT">
                                             <shadow type="text">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="text_join" id="*1x~VYC-q8D7lU1*J#.H">
                                               <mutation items="2"></mutation>
                                               <value name="ADD0">
                                                 <block type="text" id="Z2O9@X9[$4s?|pE5i%;3">
                                                   <field name="TEXT">Verzögerung </field>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="variables_get" id="Z_b]o:N^2!6`lt`DX*z_">
                                                   <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="control_ex" id="BVxdcGw:wk_.v@x(rHyg">
                                               <field name="TYPE">false</field>
                                               <field name="CLEAR_RUNNING">TRUE</field>
                                               <value name="OID">
                                                 <shadow type="field_oid" id="m$pNO?L!Gv5+ULz[,YS?">
                                                   <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                                 </shadow>
                                               </value>
                                               <value name="VALUE">
                                                 <shadow type="logic_boolean" id="=r37hin.e_[![R5J(Jqy">
                                                   <field name="BOOL">TRUE</field>
                                                 </shadow>
                                               </value>
                                               <value name="DELAY_MS">
                                                 <shadow type="math_number" id="*gk4~3YnEf#G:l;|jq(P">
                                                   <field name="NUM">0</field>
                                                 </shadow>
                                               </value>
                                               <next>
                                                 <block type="control_ex" id="l#|vm)F%`dM]P-*4/`t8">
                                                   <field name="TYPE">false</field>
                                                   <field name="CLEAR_RUNNING">FALSE</field>
                                                   <value name="OID">
                                                     <shadow type="field_oid" id="mIA~+uOU8%/z7_PqtMAH">
                                                       <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="VALUE">
                                                     <shadow type="logic_boolean" id="MsV?)vvrDR{SW.6HB1ua">
                                                       <field name="BOOL">FALSE</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="DELAY_MS">
                                                     <shadow type="math_number" id="/C/8]|DZ_V4YFkxH?g2K">
                                                       <field name="NUM">0</field>
                                                     </shadow>
                                                     <block type="variables_get" id="[A)jLsp!+.sA@lDwTZ}M">
                                                       <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
           </next>
         </block>
       </statement>
       <next>
         <block type="on_ext" id="`Ptuy7{309v8Qw|pe(x3">
           <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
           <field name="CONDITION">any</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id="DAv@77b52FO^V|[[|Pjb">
               <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
             </shadow>
           </value>
           <value name="OID1">
             <shadow type="field_oid" id="*xlrA5NztGc.VSLUrU+x">
               <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="controls_if" id="]2SjwH]G6iu!y8Z%2knb">
               <mutation elseif="1" else="1"></mutation>
               <value name="IF0">
                 <block type="get_value" id="zjS=4E5I3y+H(-Gy:7Sj">
                   <field name="ATTR">val</field>
                   <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="controls_if" id="hVN$8r%~a0Nge9KhKog%">
                   <value name="IF0">
                     <block type="get_value" id="Mf(U86fX(AbNiiFsR9F3">
                       <field name="ATTR">val</field>
                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.enable</field>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="control" id="~+W?Y=G;Mv5kfnt%%s1u">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.oeffnen</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="_HbQBG?xOC3PElH3VOm0">
                           <field name="BOOL">TRUE</field>
                         </block>
                       </value>
                     </block>
                   </statement>
                 </block>
               </statement>
               <value name="IF1">
                 <block type="get_value" id="XxqD259Z||ArR3rTQgXg">
                   <field name="ATTR">val</field>
                   <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                 </block>
               </value>
               <statement name="DO1">
                 <block type="controls_if" id="cHuU)JTL780]sxTj[!EE">
                   <value name="IF0">
                     <block type="get_value" id=")Z*gAd6,jB4eJG~gUSN~">
                       <field name="ATTR">val</field>
                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.enable</field>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="control" id="9r7O1MnZ{P7y7l#l?Y,@">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.schliessen</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="0_GJ47INA)oEFO}b=cX8">
                           <field name="BOOL">TRUE</field>
                         </block>
                       </value>
                     </block>
                   </statement>
                 </block>
               </statement>
               <statement name="ELSE">
                 <block type="timeouts_clearinterval" id="?o6,F6DpmE.=tnh?{VkW">
                   <field name="NAME">Count_hoch</field>
                   <next>
                     <block type="control" id="nQpILAvf[guA3D{_Jg(=">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.oeffnen</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="logic_boolean" id="xzCCzy0h=%i8[jnlt3e9">
                           <field name="BOOL">FALSE</field>
                         </block>
                       </value>
                       <next>
                         <block type="timeouts_clearinterval" id="+?6+ZMjbg@Pb9f/PvY#6">
                           <field name="NAME">Count_runter</field>
                           <next>
                             <block type="control" id="RRT}yn;MR4seqEp%1E%n">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.schliessen</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="Oy8TCw_~i+YK(apol)3B">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </statement>
           <next>
             <block type="on_ext" id="Z)70AY`d+tSfmoReZoxj">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
               <field name="CONDITION">ne</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="./qTP{AZ}W3+|I{%|F##">
                   <field name="oid">alias.0.Rollladen.Esszimmer.Fenster.oeffnen</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="controls_if" id="{;95MpyYW`W~FQ[jDb03">
                   <mutation else="1"></mutation>
                   <value name="IF0">
                     <block type="variables_get" id=":IG]~CW-/OJ~BZhYVjZ7">
                       <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="variables_set" id="H!WFT-BBdX.|):cvCjm1">
                       <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                       <value name="VALUE">
                         <block type="get_value" id="j:$9gD+MX]jp0J?lG`09">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                         </block>
                       </value>
                       <next>
                         <block type="variables_set" id="}U%y8@~hj603Ze43*jux">
                           <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                           <value name="VALUE">
                             <block type="math_arithmetic" id="WoTF!l8e4^Y]k|![:$dC">
                               <field name="OP">DIVIDE</field>
                               <value name="A">
                                 <shadow type="math_number" id="A3W)HPZ`HasjlQfXpZeR">
                                   <field name="NUM">-100</field>
                                 </shadow>
                               </value>
                               <value name="B">
                                 <shadow type="math_number" id="La~?[`Gj2ofOSE$EY@Uo">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="get_value" id="$M5XW]-ID`9a2yS#9p_K">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="timeouts_setinterval" id="cnHwKlWF4V(-p@cyMKV!">
                               <field name="NAME">Count_hoch</field>
                               <field name="INTERVAL">100</field>
                               <field name="UNIT">ms</field>
                               <statement name="STATEMENT">
                                 <block type="math_change" id="=g=]+ie8ztzAou6@oO@D">
                                   <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                   <value name="DELTA">
                                     <shadow type="math_number" id="L6].=%PhncZ0gTEZG]!$">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="variables_get" id="xdqR(`0atk}5Vg^cVAh3">
                                       <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="update" id="9;U5Z-6KvHjdftlZFGFF">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="math_round" id="}pL:d.AmKwdUrfLVl,4Y">
                                           <field name="OP">ROUND</field>
                                           <value name="NUM">
                                             <shadow type="math_number" id=":QYNFJS[?q-h]Q$rO$BT">
                                               <field name="NUM">3.1</field>
                                             </shadow>
                                             <block type="variables_get" id="bwmXs1Ag~mzlh.)uY$FA">
                                               <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="controls_if" id="pfniu-+|{0QVTf1`H`8#">
                                           <value name="IF0">
                                             <block type="logic_compare" id="#a`[s=lq2M.?1J^.Ug[G">
                                               <field name="OP">LTE</field>
                                               <value name="A">
                                                 <block type="variables_get" id="TVzZ(Pj.xdw$@5i^c[E1">
                                                   <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="math_number" id="Zha5h8Q68WZAOQDPW^iA">
                                                   <field name="NUM">0</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <statement name="DO0">
                                             <block type="update" id=")ro4)SzbW@19B/c1uth!">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                               <field name="WITH_DELAY">FALSE</field>
                                               <value name="VALUE">
                                                 <block type="logic_boolean" id="s.Fu=ez8{zv8rjOrBiT1">
                                                   <field name="BOOL">FALSE</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </statement>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </statement>
                   <statement name="ELSE">
                     <block type="timeouts_clearinterval" id="c9M]5X|a^YvU.P5Q9::(">
                       <field name="NAME">Count_hoch</field>
                       <next>
                         <block type="controls_if" id="*Mx^YjC40Qs%/~;]4K1b">
                           <value name="IF0">
                             <block type="get_value" id="X#NM@w7@GQQf@5Yx=8|.">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="update" id=")}Bi90!fP?TZ)AxlE{j2">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="x{,Zsu,cIN(k#0%u35h-">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </statement>
                 </block>
               </statement>
               <next>
                 <block type="on_ext" id=";hht}Ct^VuDJXZh=Pjtd">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                   <field name="CONDITION">ne</field>
                   <field name="ACK_CONDITION"></field>
                   <value name="OID0">
                     <shadow type="field_oid" id="Efk3[#.CdOKQkMrm{~1$">
                       <field name="oid">alias.0.Rollladen.Esszimmer.Fenster.schliessen</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="Q@3SZ[+i)`hS|wlEQ)c|">
                       <mutation else="1"></mutation>
                       <value name="IF0">
                         <block type="variables_get" id="Q(C)Czn%2rMD#Ys1mk*i">
                           <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="variables_set" id="g$%Oq0MSrdA:R)ltj_72">
                           <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                           <value name="VALUE">
                             <block type="get_value" id="`=6)/8qSG0!~)-9xU82X">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                             </block>
                           </value>
                           <next>
                             <block type="variables_set" id="j1/wm0)HO1)R`TuI[w!a">
                               <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                               <value name="VALUE">
                                 <block type="math_arithmetic" id="{hUBzvQI$][KBrQ=DPU{">
                                   <field name="OP">DIVIDE</field>
                                   <value name="A">
                                     <shadow type="math_number" id="T3K+tVxc,9jCR[SYmJR3">
                                       <field name="NUM">100</field>
                                     </shadow>
                                   </value>
                                   <value name="B">
                                     <shadow type="math_number">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="get_value" id="B6r0;fA%a:ZvCb*^+|,z">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="timeouts_setinterval" id="/$9/k,:hoUll4V_eusA]">
                                   <field name="NAME">Count_runter</field>
                                   <field name="INTERVAL">100</field>
                                   <field name="UNIT">ms</field>
                                   <statement name="STATEMENT">
                                     <block type="math_change" id="T#mnN2r:X|P.MZ%r#D*p">
                                       <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                       <value name="DELTA">
                                         <shadow type="math_number">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="variables_get" id="Q9(inl#Gvgwe2.W~N/Je">
                                           <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="update" id="Wl%(KKtgw]qefDwOZ:)L">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="math_round" id="p82DPN1ZSK;CWQ|;Zg4K">
                                               <field name="OP">ROUND</field>
                                               <value name="NUM">
                                                 <shadow type="math_number">
                                                   <field name="NUM">3.1</field>
                                                 </shadow>
                                                 <block type="variables_get" id="$HziMrPV8o9R|iIbR069">
                                                   <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="controls_if" id="QDdX{Qm6#I-@PTfnG0%O">
                                               <value name="IF0">
                                                 <block type="logic_compare" id="Zebb(Ohd..stH~!#ugks">
                                                   <field name="OP">GTE</field>
                                                   <value name="A">
                                                     <block type="variables_get" id="4)R2;-Tv2s+3IK2Xtd)1">
                                                       <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="math_number" id="7.mn7i*Ln[mKCNbEL(QA">
                                                       <field name="NUM">100</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO0">
                                                 <block type="update" id="Wx1[Rpu}B+$CqWiNKeP!">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="logic_boolean" id="wIFo$;Du(Gz~3Wv:phD5">
                                                       <field name="BOOL">FALSE</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </statement>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                       <statement name="ELSE">
                         <block type="timeouts_clearinterval" id="6d5LZGa-%fHs#TKwo[a=">
                           <field name="NAME">Count_runter</field>
                           <next>
                             <block type="controls_if" id="]@Fj*2-5kQl#n)_9vLO~">
                               <value name="IF0">
                                 <block type="get_value" id="=Bd^2!x7fG=IQF#3%{:t">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="update" id="t;tHB27(9=Uv!dxhEr-5">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                   <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                   <field name="WITH_DELAY">FALSE</field>
                                   <value name="VALUE">
                                     <block type="logic_boolean" id="Bx1]DY9HSvX*Puz}/%IH">
                                       <field name="BOOL">FALSE</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
               </next>
             </block>
           </next>
         </block>
       </next>
     </block>
    </xml>
    

    Und hier ist das Java-Skript, das mir angezeigt wird:

    var Ist, Diff, value, Delta_ist, Count_hoch, Count_runter, Verzoegerung;
    
    
    on({id: '0_userdata.0.Rolladen.Rolladen-Esszimmer.Soll-Position', change: "any"}, function (obj) {
     var value = obj.state.val;
     var oldValue = obj.oldState.val;
     Ist = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position").val;
     Diff = value - Ist;
     console.log(Ist);
     console.log(Diff);
     if (value < 3 || value > 97) {
       Diff = (typeof Diff == 'number' ? Diff : 0) + 2;
     }
     console.log(Diff);
     if (value > Ist) {
       Verzoegerung = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter").val * Diff;
       if (Verzoegerung <= 0) {
         Verzoegerung = Verzoegerung * -1;
       }
       console.log(('Verzögerung ' + String(Verzoegerung)));
       setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.runter', true, false, parseInt(0, 10), true);
       setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.runter', false, false, parseInt(Verzoegerung, 10), false);
     } else if (value < Ist) {
       Verzoegerung = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch").val * Diff;
       console.log(('Verzögerung ' + String(Verzoegerung)));
       setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch', true, false, parseInt(0, 10), true);
       setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch', false, false, parseInt(Verzoegerung, 10), false);
     }
    });
    on({id: new RegExp('0_userdata\\.0\\.Rolladen\\.Rolladen-Esszimmer\\.hoch' + "|" + '0_userdata\\.0\\.Rolladen\\.Rolladen-Esszimmer\\.runter'), change: "any"}, function (obj) {
       if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch").val) {
       if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.enable").val) {
         setState("alias.0.Rollladen.Esszimmer.Fenster.oeffnen"/*Rollladen.Esszimmer.Fenster.oeffnen*/, true);
       }
     } else if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter").val) {
       if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.enable").val) {
         setState("alias.0.Rollladen.Esszimmer.Fenster.schliessen"/*Rollladen.Esszimmer.Fenster.schliessen*/, true);
       }
     } else {
       (function () {if (Count_hoch) {clearInterval(Count_hoch); Count_hoch = null;}})();
       setState("alias.0.Rollladen.Esszimmer.Fenster.oeffnen"/*Rollladen.Esszimmer.Fenster.oeffnen*/, false);
       (function () {if (Count_runter) {clearInterval(Count_runter); Count_runter = null;}})();
       setState("alias.0.Rollladen.Esszimmer.Fenster.schliessen"/*Rollladen.Esszimmer.Fenster.schliessen*/, false);
     }
    });
    on({id: 'alias.0.Rollladen.Esszimmer.Fenster.oeffnen', change: "ne"}, function (obj) {
     var value = obj.state.val;
     var oldValue = obj.oldState.val;
     if (value) {
       Ist = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position").val;
       Delta_ist = -100 / getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch").val;
       Count_hoch = setInterval(function () {
         Ist = (typeof Ist == 'number' ? Ist : 0) + Delta_ist;
         setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position"/*Rolladen-Esszimmer.Ist-Position*/, (Math.round(Ist)), true);
         if (Ist <= 0) {
           setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch"/*Rolladen-Esszimmer.hoch*/, false, true);
         }
       }, 100);
     } else {
       (function () {if (Count_hoch) {clearInterval(Count_hoch); Count_hoch = null;}})();
       if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch").val) {
         setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch"/*Rolladen-Esszimmer.hoch*/, false, true);
       }
     }
    });
    on({id: 'alias.0.Rollladen.Esszimmer.Fenster.schliessen', change: "ne"}, function (obj) {
     var value = obj.state.val;
     var oldValue = obj.oldState.val;
     if (value) {
       Ist = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position").val;
       Delta_ist = 100 / getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter").val;
       Count_runter = setInterval(function () {
         Ist = (typeof Ist == 'number' ? Ist : 0) + Delta_ist;
         setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position"/*Rolladen-Esszimmer.Ist-Position*/, (Math.round(Ist)), true);
         if (Ist >= 100) {
           setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter"/*Rolladen-Esszimmer.runter*/, false, true);
         }
       }, 100);
     } else {
       (function () {if (Count_runter) {clearInterval(Count_runter); Count_runter = null;}})();
       if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter").val) {
         setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter"/*Rolladen-Esszimmer.runter*/, false, true);
       }
     }
    });
    

    Zu dem Skript gehören diese Variablen:
    a881b52c-723f-4c7f-a2f9-0bcbbc466006-image.png

    Das Skript ist mit Alexa verknüpft und ich kann z.B. sagen:

    • "Alexa, stell das Esszimmer-Rollo auf 100%".
    • In dem Fall wäre z.B. der DP "Ist-Position": 0%, somit offen. Der Befehl stellt die Variable "Soll-Position" auf 100%.
    • Das Skript soll dann den T2-Schalter für Rollladen schließen anschalten.
    • Das Rollo läuft "Laufzeit-runter": 320 Zehntelsekunden. Solange benötigt das Rollo zum kompletten Schließen.
    • Die Variable "Ist-Position" soll dabei von 0 auf 100% hochzählen, in Abhängigkeit von der Laufzeit. Also 0% ist offen, 100% komplett geschlossen.
    • Beim Erreichen der Soll-Position soll das Skript dann den Schalter des T2 ausmachen.
    • Alternativ kann ich den Schalter für Schließen betätigen und das Skript zählt entsprechend der Laufzeit die "Ist-Position".

    Bislang hat das seit fast einem Jahr problemlos mit 8 Rollos funktioniert. Jetzt auf einmal bleibt "Ist-Position" z.B. bei 84% oder bei 24% oder auch mal bei 100% stehen, während das Rollo weiter läuft und der Schalter dann nicht ausgeht. Es betrifft alle Rollos.
    Es passiert auch, dass das Rollo einfach abschaltet und bei 24% stehen bleibt. Dabei ist es egal ob es öffnen oder schließen soll. Die angezeigten Werte sind immer anders.

    Ich habe das Skript wegen des eigenartigen Verhaltens in einer weiteren Javaskript-Instanz noch einmal händisch eingegeben, um damit einen Fehler auszuschließen. Das Verhalten ist vollkommen gleich.

    Ich habe keine Idee mehr, was da los sein könnte. Könnte es tatsächlich an der neuen Tasmota liegen? Ich möchte kein Downgrade auf 7.1.2 machen, da ich die Schalter dazu auseinander nehmen müsste. Und dummerweise haben die Schalter keine Pins für Rx und Tx. Und ich glaube, ein OTA Downgrade funktioniert nicht...

    Kann mir jemand einen Hinweis geben? Eine Idee, wo ich noch schauen könnte. Bin fast soweit, den Broker neu zu installieren. Aber alles andere läuft eben normal.
    Kann mir jemand sagen wie ich feststellen kann, ob das Skript in irgendeine Schleife läuft, also vielleicht noch läuft während ich es neu starten will...

    Dankbar für jeden Hinweis!

    ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

    dslraserD paul53P 2 Antworten Letzte Antwort
    0
    • XxJooOX XxJooO

      Liebe Freunde,

      Folgende Voraussetzungen:

      • ioBroker auf NUC unter Proxmox
      • Node.js v12.18.0, NPM 6.14.4
        -alles aktualisiert im latest Repo

      ich habe seit zwei Tagen das Problem, dass alle mein Rollladen-Skripte nicht mehr richtig arbeiten. Zwei Dinge habe ich erinnerlich geändert:

      1. Mit Erscheinen bin ich mit Node.js 12.17.0 auf 12.18.0
      2. Ich habe alle acht beteiligten Sonoff T2-kompatiblen Schalter von Tasmota 7.1.2 auf 8.3.1 angehoben.

      Leider kann ich im Moment den zeitlichen Zusammenhang zwischen dem Fehlverhalten der Skripte und den beiden Änderungen nicht genau nachhalten.

      Hier ist mal das Skript als Blockly, das ich dankenswerterweise aus dem Forum habe und für meine Bedürfnisse anpassen konnte.

      <xml xmlns="https://developers.google.com/blockly/xml">
       <variables>
         <variable id="GyN].9-*{UB%A=NA2/n[">Ist</variable>
         <variable id="6Yd-od,#Wfl2Fmp$%zsX">Diff</variable>
         <variable id="6:!@N+Z]j3K4@|LHwz(h">value</variable>
         <variable id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</variable>
         <variable type="interval" id="Count_hoch">Count_hoch</variable>
         <variable type="interval" id="Count_runter">Count_runter</variable>
         <variable id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</variable>
       </variables>
       <block type="on_ext" id="~CqH.z,DqIW?ux*1+7f@" x="-438" y="63">
         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
         <field name="CONDITION">any</field>
         <field name="ACK_CONDITION"></field>
         <value name="OID0">
           <shadow type="field_oid" id="qYZz~R~3T9;owx@kXL3P">
             <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.Soll-Position</field>
           </shadow>
         </value>
         <statement name="STATEMENT">
           <block type="variables_set" id="7!NQbdw6_9Uz)(iGQQ[=">
             <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
             <value name="VALUE">
               <block type="get_value" id="OVv#3%]vV-?|f4OqoLgZ">
                 <field name="ATTR">val</field>
                 <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
               </block>
             </value>
             <next>
               <block type="variables_set" id="Jn[J}cdnx42T?NsJ+)9^">
                 <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                 <value name="VALUE">
                   <block type="math_arithmetic" id="$2([zH0XbD;8%XOU-N4;">
                     <field name="OP">MINUS</field>
                     <value name="A">
                       <shadow type="math_number" id="%TRkaw.FqdAh`!RgzevS">
                         <field name="NUM">1</field>
                       </shadow>
                       <block type="variables_get" id="2J)S`GHqnoa@LeerUhZv">
                         <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                       </block>
                     </value>
                     <value name="B">
                       <shadow type="math_number" id="pRlYF4AL./rN.x?|g:^Z">
                         <field name="NUM">1</field>
                       </shadow>
                       <block type="variables_get" id="BOa/lrOvm:K6(WgfmWj0">
                         <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <next>
                   <block type="debug" id="NvlCu77J_+`1Mh}mBzx9">
                     <field name="Severity">log</field>
                     <value name="TEXT">
                       <shadow type="text" id="94Ea+N$wkWxg!Ik^7Le_">
                         <field name="TEXT">test</field>
                       </shadow>
                       <block type="variables_get" id="Ll/,Gfat6R[cE.B8@b|$">
                         <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="MdV5={6Y#7ZRC@8#Geq|">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="variables_get" id="kLZFWX-P+:[/]:b1TNMt">
                             <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                           </block>
                         </value>
                         <next>
                           <block type="controls_if" id="qk=Q3cH.u=GPha!4t/3^">
                             <value name="IF0">
                               <block type="logic_operation" id="5~vZ^V/[rdcV8)bFJc[@">
                                 <field name="OP">OR</field>
                                 <value name="A">
                                   <block type="logic_compare" id="IfMvz`H.kKPteA+B}_D.">
                                     <field name="OP">LT</field>
                                     <value name="A">
                                       <block type="variables_get" id="bRU`GTVax_kO1g,?=Xy;">
                                         <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="math_number" id="6m=Y`,sjD0bgm{t35t!x">
                                         <field name="NUM">3</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="logic_compare" id="Ac69N,,0`+}=2];]j`g[">
                                     <field name="OP">GT</field>
                                     <value name="A">
                                       <block type="variables_get" id="X?IU^w}aFd9`yBU(~~wK">
                                         <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="math_number" id="^akO9vpOfim0CPI]+dc!">
                                         <field name="NUM">97</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="math_change" id="v%0t#pa+Q%^zQoh9Ph$!">
                                 <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                 <value name="DELTA">
                                   <shadow type="math_number" id="6ku!Y[*^,np1!!wREKFi">
                                     <field name="NUM">2</field>
                                   </shadow>
                                 </value>
                               </block>
                             </statement>
                             <next>
                               <block type="debug" id="]Ez};@k[xNy`@B#^81Di">
                                 <field name="Severity">log</field>
                                 <value name="TEXT">
                                   <shadow type="text">
                                     <field name="TEXT">test</field>
                                   </shadow>
                                   <block type="variables_get" id="52JT%e%T,4[:[H,rpx}+">
                                     <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="controls_if" id="!N|KQ{sV{y]/d3R4UAXP">
                                     <mutation elseif="1"></mutation>
                                     <value name="IF0">
                                       <block type="logic_compare" id=":tO$i4^}+`}|t$F?liCc">
                                         <field name="OP">GT</field>
                                         <value name="A">
                                           <block type="variables_get" id=";Rs$REmx^*_W(V#p8bLT">
                                             <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="variables_get" id="*nx~[y~kZ,vf!n2t1r:Q">
                                             <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="variables_set" id="tX@P2$;scE61yi}^_+0z">
                                         <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                         <value name="VALUE">
                                           <block type="math_arithmetic" id="xpn9V7[XgTpl2e,khmp3">
                                             <field name="OP">MULTIPLY</field>
                                             <value name="A">
                                               <shadow type="math_number" id="^SKaP#+i84?oH1n]2n]K">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="get_value" id="Ej4rJR]`@:LXpe#BeZM=">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow type="math_number" id="+m1SPwl$}wcwD|3jK}v`">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="variables_get" id="i#b=Co_2J`*+jTHcxr~q">
                                                 <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="controls_if" id="9{4?swho0(tukodWS@EB">
                                             <value name="IF0">
                                               <block type="logic_compare" id="})3B{KqG]m;,_flO94=V">
                                                 <field name="OP">LTE</field>
                                                 <value name="A">
                                                   <block type="variables_get" id="k?=XBS(db:X_L,]JG.$T">
                                                     <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="math_number" id="i6aEG[[PjgMkX{y}P$I_">
                                                     <field name="NUM">0</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="variables_set" id="fO`D/NEw,~}RR-oX#%v@">
                                                 <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                 <value name="VALUE">
                                                   <block type="math_arithmetic" id="v10.o*Lh%zW;Y#$)m~!3">
                                                     <field name="OP">MULTIPLY</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="3jzib6:NBgE$Of{K14Lo">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="variables_get" id="eJXGjkpfkI!x|RhU_CHQ">
                                                         <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="hv96WILW!-[d!2+Z.3w4">
                                                         <field name="NUM">-1</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </statement>
                                             <next>
                                               <block type="debug" id="{q$iAZj(*.NJB)TB,Ytn">
                                                 <field name="Severity">log</field>
                                                 <value name="TEXT">
                                                   <shadow type="text" id="2SXbrb]`y)h3(LyWCS1d">
                                                     <field name="TEXT">test</field>
                                                   </shadow>
                                                   <block type="text_join" id=")Zz30{cZ0(W%{sipIACh">
                                                     <mutation items="2"></mutation>
                                                     <value name="ADD0">
                                                       <block type="text" id="sF-MYz/6rqMd06C{;oO@">
                                                         <field name="TEXT">Verzögerung </field>
                                                       </block>
                                                     </value>
                                                     <value name="ADD1">
                                                       <block type="variables_get" id="s{k6MqjODRHW5*A+Oe=j">
                                                         <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="control_ex" id="o^:/#?64Tkd;|r2eZLrb">
                                                     <field name="TYPE">false</field>
                                                     <field name="CLEAR_RUNNING">TRUE</field>
                                                     <value name="OID">
                                                       <shadow type="field_oid" id="ZD9vo/fR-d?+f;dBg8K_">
                                                         <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="VALUE">
                                                       <shadow type="logic_boolean" id="s!a#9|CUy47(-Bsx$a#.">
                                                         <field name="BOOL">TRUE</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="DELAY_MS">
                                                       <shadow type="math_number" id="0Dl.snnKNJgxYeTJ0X.a">
                                                         <field name="NUM">0</field>
                                                       </shadow>
                                                     </value>
                                                     <next>
                                                       <block type="control_ex" id="ib1XmMUWU3It,%!y^cE[">
                                                         <field name="TYPE">false</field>
                                                         <field name="CLEAR_RUNNING">FALSE</field>
                                                         <value name="OID">
                                                           <shadow type="field_oid" id=")Bb.l5zcRmdPQ2Sx5=m,">
                                                             <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                                           </shadow>
                                                         </value>
                                                         <value name="VALUE">
                                                           <shadow type="logic_boolean" id="JX$/`zh9snVDb$RE9NSM">
                                                             <field name="BOOL">FALSE</field>
                                                           </shadow>
                                                         </value>
                                                         <value name="DELAY_MS">
                                                           <shadow type="math_number" id="1a2wrKT!k%7Vo}gF,pzR">
                                                             <field name="NUM">0</field>
                                                           </shadow>
                                                           <block type="variables_get" id="y@#SUr:JG}qp~_`VGYsA">
                                                             <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                     <value name="IF1">
                                       <block type="logic_compare" id="GJ7fuH8+*W{YsYf6h02Y">
                                         <field name="OP">LT</field>
                                         <value name="A">
                                           <block type="variables_get" id="O-.]$P?KZ[6`!kHhed$h">
                                             <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="variables_get" id="n_KW~,bQ6ZagNHqn^d6#">
                                             <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO1">
                                       <block type="variables_set" id=",=}Q}Kwnh^Hjlt4h3?=~">
                                         <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                         <value name="VALUE">
                                           <block type="math_arithmetic" id="P#cYZLrv=l8/u}X%my/@">
                                             <field name="OP">MULTIPLY</field>
                                             <value name="A">
                                               <shadow type="math_number">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="get_value" id="C=azr~3d06gW8):C|U9H">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <shadow type="math_number">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                               <block type="variables_get" id="HFiSN(PAvv3~j`=^U+~p">
                                                 <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="debug" id="9!cG?-!J=]L0!tH}vxZR">
                                             <field name="Severity">log</field>
                                             <value name="TEXT">
                                               <shadow type="text">
                                                 <field name="TEXT">test</field>
                                               </shadow>
                                               <block type="text_join" id="*1x~VYC-q8D7lU1*J#.H">
                                                 <mutation items="2"></mutation>
                                                 <value name="ADD0">
                                                   <block type="text" id="Z2O9@X9[$4s?|pE5i%;3">
                                                     <field name="TEXT">Verzögerung </field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD1">
                                                   <block type="variables_get" id="Z_b]o:N^2!6`lt`DX*z_">
                                                     <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="control_ex" id="BVxdcGw:wk_.v@x(rHyg">
                                                 <field name="TYPE">false</field>
                                                 <field name="CLEAR_RUNNING">TRUE</field>
                                                 <value name="OID">
                                                   <shadow type="field_oid" id="m$pNO?L!Gv5+ULz[,YS?">
                                                     <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                                   </shadow>
                                                 </value>
                                                 <value name="VALUE">
                                                   <shadow type="logic_boolean" id="=r37hin.e_[![R5J(Jqy">
                                                     <field name="BOOL">TRUE</field>
                                                   </shadow>
                                                 </value>
                                                 <value name="DELAY_MS">
                                                   <shadow type="math_number" id="*gk4~3YnEf#G:l;|jq(P">
                                                     <field name="NUM">0</field>
                                                   </shadow>
                                                 </value>
                                                 <next>
                                                   <block type="control_ex" id="l#|vm)F%`dM]P-*4/`t8">
                                                     <field name="TYPE">false</field>
                                                     <field name="CLEAR_RUNNING">FALSE</field>
                                                     <value name="OID">
                                                       <shadow type="field_oid" id="mIA~+uOU8%/z7_PqtMAH">
                                                         <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="VALUE">
                                                       <shadow type="logic_boolean" id="MsV?)vvrDR{SW.6HB1ua">
                                                         <field name="BOOL">FALSE</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="DELAY_MS">
                                                       <shadow type="math_number" id="/C/8]|DZ_V4YFkxH?g2K">
                                                         <field name="NUM">0</field>
                                                       </shadow>
                                                       <block type="variables_get" id="[A)jLsp!+.sA@lDwTZ}M">
                                                         <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
         <next>
           <block type="on_ext" id="`Ptuy7{309v8Qw|pe(x3">
             <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
             <field name="CONDITION">any</field>
             <field name="ACK_CONDITION"></field>
             <value name="OID0">
               <shadow type="field_oid" id="DAv@77b52FO^V|[[|Pjb">
                 <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
               </shadow>
             </value>
             <value name="OID1">
               <shadow type="field_oid" id="*xlrA5NztGc.VSLUrU+x">
                 <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
               </shadow>
             </value>
             <statement name="STATEMENT">
               <block type="controls_if" id="]2SjwH]G6iu!y8Z%2knb">
                 <mutation elseif="1" else="1"></mutation>
                 <value name="IF0">
                   <block type="get_value" id="zjS=4E5I3y+H(-Gy:7Sj">
                     <field name="ATTR">val</field>
                     <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="controls_if" id="hVN$8r%~a0Nge9KhKog%">
                     <value name="IF0">
                       <block type="get_value" id="Mf(U86fX(AbNiiFsR9F3">
                         <field name="ATTR">val</field>
                         <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.enable</field>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="control" id="~+W?Y=G;Mv5kfnt%%s1u">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.oeffnen</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="logic_boolean" id="_HbQBG?xOC3PElH3VOm0">
                             <field name="BOOL">TRUE</field>
                           </block>
                         </value>
                       </block>
                     </statement>
                   </block>
                 </statement>
                 <value name="IF1">
                   <block type="get_value" id="XxqD259Z||ArR3rTQgXg">
                     <field name="ATTR">val</field>
                     <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                   </block>
                 </value>
                 <statement name="DO1">
                   <block type="controls_if" id="cHuU)JTL780]sxTj[!EE">
                     <value name="IF0">
                       <block type="get_value" id=")Z*gAd6,jB4eJG~gUSN~">
                         <field name="ATTR">val</field>
                         <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.enable</field>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="control" id="9r7O1MnZ{P7y7l#l?Y,@">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.schliessen</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="logic_boolean" id="0_GJ47INA)oEFO}b=cX8">
                             <field name="BOOL">TRUE</field>
                           </block>
                         </value>
                       </block>
                     </statement>
                   </block>
                 </statement>
                 <statement name="ELSE">
                   <block type="timeouts_clearinterval" id="?o6,F6DpmE.=tnh?{VkW">
                     <field name="NAME">Count_hoch</field>
                     <next>
                       <block type="control" id="nQpILAvf[guA3D{_Jg(=">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.oeffnen</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="logic_boolean" id="xzCCzy0h=%i8[jnlt3e9">
                             <field name="BOOL">FALSE</field>
                           </block>
                         </value>
                         <next>
                           <block type="timeouts_clearinterval" id="+?6+ZMjbg@Pb9f/PvY#6">
                             <field name="NAME">Count_runter</field>
                             <next>
                               <block type="control" id="RRT}yn;MR4seqEp%1E%n">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.schliessen</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id="Oy8TCw_~i+YK(apol)3B">
                                     <field name="BOOL">FALSE</field>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
             </statement>
             <next>
               <block type="on_ext" id="Z)70AY`d+tSfmoReZoxj">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                 <field name="CONDITION">ne</field>
                 <field name="ACK_CONDITION"></field>
                 <value name="OID0">
                   <shadow type="field_oid" id="./qTP{AZ}W3+|I{%|F##">
                     <field name="oid">alias.0.Rollladen.Esszimmer.Fenster.oeffnen</field>
                   </shadow>
                 </value>
                 <statement name="STATEMENT">
                   <block type="controls_if" id="{;95MpyYW`W~FQ[jDb03">
                     <mutation else="1"></mutation>
                     <value name="IF0">
                       <block type="variables_get" id=":IG]~CW-/OJ~BZhYVjZ7">
                         <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                       </block>
                     </value>
                     <statement name="DO0">
                       <block type="variables_set" id="H!WFT-BBdX.|):cvCjm1">
                         <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                         <value name="VALUE">
                           <block type="get_value" id="j:$9gD+MX]jp0J?lG`09">
                             <field name="ATTR">val</field>
                             <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                           </block>
                         </value>
                         <next>
                           <block type="variables_set" id="}U%y8@~hj603Ze43*jux">
                             <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                             <value name="VALUE">
                               <block type="math_arithmetic" id="WoTF!l8e4^Y]k|![:$dC">
                                 <field name="OP">DIVIDE</field>
                                 <value name="A">
                                   <shadow type="math_number" id="A3W)HPZ`HasjlQfXpZeR">
                                     <field name="NUM">-100</field>
                                   </shadow>
                                 </value>
                                 <value name="B">
                                   <shadow type="math_number" id="La~?[`Gj2ofOSE$EY@Uo">
                                     <field name="NUM">1</field>
                                   </shadow>
                                   <block type="get_value" id="$M5XW]-ID`9a2yS#9p_K">
                                     <field name="ATTR">val</field>
                                     <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="timeouts_setinterval" id="cnHwKlWF4V(-p@cyMKV!">
                                 <field name="NAME">Count_hoch</field>
                                 <field name="INTERVAL">100</field>
                                 <field name="UNIT">ms</field>
                                 <statement name="STATEMENT">
                                   <block type="math_change" id="=g=]+ie8ztzAou6@oO@D">
                                     <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                     <value name="DELTA">
                                       <shadow type="math_number" id="L6].=%PhncZ0gTEZG]!$">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="variables_get" id="xdqR(`0atk}5Vg^cVAh3">
                                         <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="update" id="9;U5Z-6KvHjdftlZFGFF">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                         <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="math_round" id="}pL:d.AmKwdUrfLVl,4Y">
                                             <field name="OP">ROUND</field>
                                             <value name="NUM">
                                               <shadow type="math_number" id=":QYNFJS[?q-h]Q$rO$BT">
                                                 <field name="NUM">3.1</field>
                                               </shadow>
                                               <block type="variables_get" id="bwmXs1Ag~mzlh.)uY$FA">
                                                 <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="controls_if" id="pfniu-+|{0QVTf1`H`8#">
                                             <value name="IF0">
                                               <block type="logic_compare" id="#a`[s=lq2M.?1J^.Ug[G">
                                                 <field name="OP">LTE</field>
                                                 <value name="A">
                                                   <block type="variables_get" id="TVzZ(Pj.xdw$@5i^c[E1">
                                                     <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="math_number" id="Zha5h8Q68WZAOQDPW^iA">
                                                     <field name="NUM">0</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="update" id=")ro4)SzbW@19B/c1uth!">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                 <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="logic_boolean" id="s.Fu=ez8{zv8rjOrBiT1">
                                                     <field name="BOOL">FALSE</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </statement>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
                     <statement name="ELSE">
                       <block type="timeouts_clearinterval" id="c9M]5X|a^YvU.P5Q9::(">
                         <field name="NAME">Count_hoch</field>
                         <next>
                           <block type="controls_if" id="*Mx^YjC40Qs%/~;]4K1b">
                             <value name="IF0">
                               <block type="get_value" id="X#NM@w7@GQQf@5Yx=8|.">
                                 <field name="ATTR">val</field>
                                 <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="update" id=")}Bi90!fP?TZ)AxlE{j2">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id="x{,Zsu,cIN(k#0%u35h-">
                                     <field name="BOOL">FALSE</field>
                                   </block>
                                 </value>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </statement>
                 <next>
                   <block type="on_ext" id=";hht}Ct^VuDJXZh=Pjtd">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                     <field name="CONDITION">ne</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="Efk3[#.CdOKQkMrm{~1$">
                         <field name="oid">alias.0.Rollladen.Esszimmer.Fenster.schliessen</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="controls_if" id="Q@3SZ[+i)`hS|wlEQ)c|">
                         <mutation else="1"></mutation>
                         <value name="IF0">
                           <block type="variables_get" id="Q(C)Czn%2rMD#Ys1mk*i">
                             <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="variables_set" id="g$%Oq0MSrdA:R)ltj_72">
                             <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                             <value name="VALUE">
                               <block type="get_value" id="`=6)/8qSG0!~)-9xU82X">
                                 <field name="ATTR">val</field>
                                 <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                               </block>
                             </value>
                             <next>
                               <block type="variables_set" id="j1/wm0)HO1)R`TuI[w!a">
                                 <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                                 <value name="VALUE">
                                   <block type="math_arithmetic" id="{hUBzvQI$][KBrQ=DPU{">
                                     <field name="OP">DIVIDE</field>
                                     <value name="A">
                                       <shadow type="math_number" id="T3K+tVxc,9jCR[SYmJR3">
                                         <field name="NUM">100</field>
                                       </shadow>
                                     </value>
                                     <value name="B">
                                       <shadow type="math_number">
                                         <field name="NUM">1</field>
                                       </shadow>
                                       <block type="get_value" id="B6r0;fA%a:ZvCb*^+|,z">
                                         <field name="ATTR">val</field>
                                         <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="timeouts_setinterval" id="/$9/k,:hoUll4V_eusA]">
                                     <field name="NAME">Count_runter</field>
                                     <field name="INTERVAL">100</field>
                                     <field name="UNIT">ms</field>
                                     <statement name="STATEMENT">
                                       <block type="math_change" id="T#mnN2r:X|P.MZ%r#D*p">
                                         <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                         <value name="DELTA">
                                           <shadow type="math_number">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="variables_get" id="Q9(inl#Gvgwe2.W~N/Je">
                                             <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="update" id="Wl%(KKtgw]qefDwOZ:)L">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                             <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="math_round" id="p82DPN1ZSK;CWQ|;Zg4K">
                                                 <field name="OP">ROUND</field>
                                                 <value name="NUM">
                                                   <shadow type="math_number">
                                                     <field name="NUM">3.1</field>
                                                   </shadow>
                                                   <block type="variables_get" id="$HziMrPV8o9R|iIbR069">
                                                     <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="controls_if" id="QDdX{Qm6#I-@PTfnG0%O">
                                                 <value name="IF0">
                                                   <block type="logic_compare" id="Zebb(Ohd..stH~!#ugks">
                                                     <field name="OP">GTE</field>
                                                     <value name="A">
                                                       <block type="variables_get" id="4)R2;-Tv2s+3IK2Xtd)1">
                                                         <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="math_number" id="7.mn7i*Ln[mKCNbEL(QA">
                                                         <field name="NUM">100</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO0">
                                                   <block type="update" id="Wx1[Rpu}B+$CqWiNKeP!">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                     <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="logic_boolean" id="wIFo$;Du(Gz~3Wv:phD5">
                                                         <field name="BOOL">FALSE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </statement>
                         <statement name="ELSE">
                           <block type="timeouts_clearinterval" id="6d5LZGa-%fHs#TKwo[a=">
                             <field name="NAME">Count_runter</field>
                             <next>
                               <block type="controls_if" id="]@Fj*2-5kQl#n)_9vLO~">
                                 <value name="IF0">
                                   <block type="get_value" id="=Bd^2!x7fG=IQF#3%{:t">
                                     <field name="ATTR">val</field>
                                     <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                   </block>
                                 </value>
                                 <statement name="DO0">
                                   <block type="update" id="t;tHB27(9=Uv!dxhEr-5">
                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                     <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                     <field name="WITH_DELAY">FALSE</field>
                                     <value name="VALUE">
                                       <block type="logic_boolean" id="Bx1]DY9HSvX*Puz}/%IH">
                                         <field name="BOOL">FALSE</field>
                                       </block>
                                     </value>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </next>
       </block>
      </xml>
      

      Und hier ist das Java-Skript, das mir angezeigt wird:

      var Ist, Diff, value, Delta_ist, Count_hoch, Count_runter, Verzoegerung;
      
      
      on({id: '0_userdata.0.Rolladen.Rolladen-Esszimmer.Soll-Position', change: "any"}, function (obj) {
       var value = obj.state.val;
       var oldValue = obj.oldState.val;
       Ist = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position").val;
       Diff = value - Ist;
       console.log(Ist);
       console.log(Diff);
       if (value < 3 || value > 97) {
         Diff = (typeof Diff == 'number' ? Diff : 0) + 2;
       }
       console.log(Diff);
       if (value > Ist) {
         Verzoegerung = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter").val * Diff;
         if (Verzoegerung <= 0) {
           Verzoegerung = Verzoegerung * -1;
         }
         console.log(('Verzögerung ' + String(Verzoegerung)));
         setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.runter', true, false, parseInt(0, 10), true);
         setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.runter', false, false, parseInt(Verzoegerung, 10), false);
       } else if (value < Ist) {
         Verzoegerung = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch").val * Diff;
         console.log(('Verzögerung ' + String(Verzoegerung)));
         setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch', true, false, parseInt(0, 10), true);
         setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch', false, false, parseInt(Verzoegerung, 10), false);
       }
      });
      on({id: new RegExp('0_userdata\\.0\\.Rolladen\\.Rolladen-Esszimmer\\.hoch' + "|" + '0_userdata\\.0\\.Rolladen\\.Rolladen-Esszimmer\\.runter'), change: "any"}, function (obj) {
         if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch").val) {
         if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.enable").val) {
           setState("alias.0.Rollladen.Esszimmer.Fenster.oeffnen"/*Rollladen.Esszimmer.Fenster.oeffnen*/, true);
         }
       } else if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter").val) {
         if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.enable").val) {
           setState("alias.0.Rollladen.Esszimmer.Fenster.schliessen"/*Rollladen.Esszimmer.Fenster.schliessen*/, true);
         }
       } else {
         (function () {if (Count_hoch) {clearInterval(Count_hoch); Count_hoch = null;}})();
         setState("alias.0.Rollladen.Esszimmer.Fenster.oeffnen"/*Rollladen.Esszimmer.Fenster.oeffnen*/, false);
         (function () {if (Count_runter) {clearInterval(Count_runter); Count_runter = null;}})();
         setState("alias.0.Rollladen.Esszimmer.Fenster.schliessen"/*Rollladen.Esszimmer.Fenster.schliessen*/, false);
       }
      });
      on({id: 'alias.0.Rollladen.Esszimmer.Fenster.oeffnen', change: "ne"}, function (obj) {
       var value = obj.state.val;
       var oldValue = obj.oldState.val;
       if (value) {
         Ist = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position").val;
         Delta_ist = -100 / getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch").val;
         Count_hoch = setInterval(function () {
           Ist = (typeof Ist == 'number' ? Ist : 0) + Delta_ist;
           setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position"/*Rolladen-Esszimmer.Ist-Position*/, (Math.round(Ist)), true);
           if (Ist <= 0) {
             setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch"/*Rolladen-Esszimmer.hoch*/, false, true);
           }
         }, 100);
       } else {
         (function () {if (Count_hoch) {clearInterval(Count_hoch); Count_hoch = null;}})();
         if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch").val) {
           setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch"/*Rolladen-Esszimmer.hoch*/, false, true);
         }
       }
      });
      on({id: 'alias.0.Rollladen.Esszimmer.Fenster.schliessen', change: "ne"}, function (obj) {
       var value = obj.state.val;
       var oldValue = obj.oldState.val;
       if (value) {
         Ist = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position").val;
         Delta_ist = 100 / getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter").val;
         Count_runter = setInterval(function () {
           Ist = (typeof Ist == 'number' ? Ist : 0) + Delta_ist;
           setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position"/*Rolladen-Esszimmer.Ist-Position*/, (Math.round(Ist)), true);
           if (Ist >= 100) {
             setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter"/*Rolladen-Esszimmer.runter*/, false, true);
           }
         }, 100);
       } else {
         (function () {if (Count_runter) {clearInterval(Count_runter); Count_runter = null;}})();
         if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter").val) {
           setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter"/*Rolladen-Esszimmer.runter*/, false, true);
         }
       }
      });
      

      Zu dem Skript gehören diese Variablen:
      a881b52c-723f-4c7f-a2f9-0bcbbc466006-image.png

      Das Skript ist mit Alexa verknüpft und ich kann z.B. sagen:

      • "Alexa, stell das Esszimmer-Rollo auf 100%".
      • In dem Fall wäre z.B. der DP "Ist-Position": 0%, somit offen. Der Befehl stellt die Variable "Soll-Position" auf 100%.
      • Das Skript soll dann den T2-Schalter für Rollladen schließen anschalten.
      • Das Rollo läuft "Laufzeit-runter": 320 Zehntelsekunden. Solange benötigt das Rollo zum kompletten Schließen.
      • Die Variable "Ist-Position" soll dabei von 0 auf 100% hochzählen, in Abhängigkeit von der Laufzeit. Also 0% ist offen, 100% komplett geschlossen.
      • Beim Erreichen der Soll-Position soll das Skript dann den Schalter des T2 ausmachen.
      • Alternativ kann ich den Schalter für Schließen betätigen und das Skript zählt entsprechend der Laufzeit die "Ist-Position".

      Bislang hat das seit fast einem Jahr problemlos mit 8 Rollos funktioniert. Jetzt auf einmal bleibt "Ist-Position" z.B. bei 84% oder bei 24% oder auch mal bei 100% stehen, während das Rollo weiter läuft und der Schalter dann nicht ausgeht. Es betrifft alle Rollos.
      Es passiert auch, dass das Rollo einfach abschaltet und bei 24% stehen bleibt. Dabei ist es egal ob es öffnen oder schließen soll. Die angezeigten Werte sind immer anders.

      Ich habe das Skript wegen des eigenartigen Verhaltens in einer weiteren Javaskript-Instanz noch einmal händisch eingegeben, um damit einen Fehler auszuschließen. Das Verhalten ist vollkommen gleich.

      Ich habe keine Idee mehr, was da los sein könnte. Könnte es tatsächlich an der neuen Tasmota liegen? Ich möchte kein Downgrade auf 7.1.2 machen, da ich die Schalter dazu auseinander nehmen müsste. Und dummerweise haben die Schalter keine Pins für Rx und Tx. Und ich glaube, ein OTA Downgrade funktioniert nicht...

      Kann mir jemand einen Hinweis geben? Eine Idee, wo ich noch schauen könnte. Bin fast soweit, den Broker neu zu installieren. Aber alles andere läuft eben normal.
      Kann mir jemand sagen wie ich feststellen kann, ob das Skript in irgendeine Schleife läuft, also vielleicht noch läuft während ich es neu starten will...

      Dankbar für jeden Hinweis!

      dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      schrieb am zuletzt editiert von dslraser
      #2

      @XxJooO
      ich bin gerade nur am Handy und kann Dein Blockly nicht importieren.
      Schau mal ob Deine stop timeout jeweils so heißen wie sie sollen.
      Beim js-adapter Update gab es damit ein "Problem"
      Also mal alle stop timeout und stop interval überprüfen.

      Edit: das hier meine ich, vielleicht auch Dein Problem ?

      https://forum.iobroker.net/post/437235

      https://github.com/ioBroker/ioBroker.javascript/issues/566

      1 Antwort Letzte Antwort
      1
      • XxJooOX Offline
        XxJooOX Offline
        XxJooO
        schrieb am zuletzt editiert von
        #3

        1c0667a5-4de2-4710-b448-40bcf4df1320-image.png

        Grüß Dich und danke für den Hinweis. Der Ausschnitt aus dem Blockly zeigt, dass die stop-Befehle richtig gesetzt sind. Und ja, leider hatte ich dazu keinen Hinweis gelesen, aber den Fehler schon selber gefunden und korrigiert. Da stand "stop zyklische Ausführung Ist".

        Das hatte ich also schon erfolglos geändert...

        Die Links lese ich mir noch durch. Vielen Dank!

        ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

        1 Antwort Letzte Antwort
        0
        • XxJooOX Offline
          XxJooOX Offline
          XxJooO
          schrieb am zuletzt editiert von
          #4

          Ok, den Link auf github hatte ich interessanterweise auch gelesen. Hatte aber verpennt, meine Skripte danach zu durchsuchen. Und was mich wundert ist, dass die Skripte erst seit zwei Tagen streiken, das issue und die Lösung aber bereits 3 Wochen alt ist... Aber der Hinweis ist schon wichtig, muss tatsächlich noch andere Skripte prüfen...

          ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

          1 Antwort Letzte Antwort
          0
          • XxJooOX XxJooO

            Liebe Freunde,

            Folgende Voraussetzungen:

            • ioBroker auf NUC unter Proxmox
            • Node.js v12.18.0, NPM 6.14.4
              -alles aktualisiert im latest Repo

            ich habe seit zwei Tagen das Problem, dass alle mein Rollladen-Skripte nicht mehr richtig arbeiten. Zwei Dinge habe ich erinnerlich geändert:

            1. Mit Erscheinen bin ich mit Node.js 12.17.0 auf 12.18.0
            2. Ich habe alle acht beteiligten Sonoff T2-kompatiblen Schalter von Tasmota 7.1.2 auf 8.3.1 angehoben.

            Leider kann ich im Moment den zeitlichen Zusammenhang zwischen dem Fehlverhalten der Skripte und den beiden Änderungen nicht genau nachhalten.

            Hier ist mal das Skript als Blockly, das ich dankenswerterweise aus dem Forum habe und für meine Bedürfnisse anpassen konnte.

            <xml xmlns="https://developers.google.com/blockly/xml">
             <variables>
               <variable id="GyN].9-*{UB%A=NA2/n[">Ist</variable>
               <variable id="6Yd-od,#Wfl2Fmp$%zsX">Diff</variable>
               <variable id="6:!@N+Z]j3K4@|LHwz(h">value</variable>
               <variable id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</variable>
               <variable type="interval" id="Count_hoch">Count_hoch</variable>
               <variable type="interval" id="Count_runter">Count_runter</variable>
               <variable id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</variable>
             </variables>
             <block type="on_ext" id="~CqH.z,DqIW?ux*1+7f@" x="-438" y="63">
               <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
               <field name="CONDITION">any</field>
               <field name="ACK_CONDITION"></field>
               <value name="OID0">
                 <shadow type="field_oid" id="qYZz~R~3T9;owx@kXL3P">
                   <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.Soll-Position</field>
                 </shadow>
               </value>
               <statement name="STATEMENT">
                 <block type="variables_set" id="7!NQbdw6_9Uz)(iGQQ[=">
                   <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                   <value name="VALUE">
                     <block type="get_value" id="OVv#3%]vV-?|f4OqoLgZ">
                       <field name="ATTR">val</field>
                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="Jn[J}cdnx42T?NsJ+)9^">
                       <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                       <value name="VALUE">
                         <block type="math_arithmetic" id="$2([zH0XbD;8%XOU-N4;">
                           <field name="OP">MINUS</field>
                           <value name="A">
                             <shadow type="math_number" id="%TRkaw.FqdAh`!RgzevS">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="variables_get" id="2J)S`GHqnoa@LeerUhZv">
                               <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                             </block>
                           </value>
                           <value name="B">
                             <shadow type="math_number" id="pRlYF4AL./rN.x?|g:^Z">
                               <field name="NUM">1</field>
                             </shadow>
                             <block type="variables_get" id="BOa/lrOvm:K6(WgfmWj0">
                               <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="debug" id="NvlCu77J_+`1Mh}mBzx9">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id="94Ea+N$wkWxg!Ik^7Le_">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="variables_get" id="Ll/,Gfat6R[cE.B8@b|$">
                               <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="MdV5={6Y#7ZRC@8#Geq|">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="variables_get" id="kLZFWX-P+:[/]:b1TNMt">
                                   <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="controls_if" id="qk=Q3cH.u=GPha!4t/3^">
                                   <value name="IF0">
                                     <block type="logic_operation" id="5~vZ^V/[rdcV8)bFJc[@">
                                       <field name="OP">OR</field>
                                       <value name="A">
                                         <block type="logic_compare" id="IfMvz`H.kKPteA+B}_D.">
                                           <field name="OP">LT</field>
                                           <value name="A">
                                             <block type="variables_get" id="bRU`GTVax_kO1g,?=Xy;">
                                               <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="math_number" id="6m=Y`,sjD0bgm{t35t!x">
                                               <field name="NUM">3</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="logic_compare" id="Ac69N,,0`+}=2];]j`g[">
                                           <field name="OP">GT</field>
                                           <value name="A">
                                             <block type="variables_get" id="X?IU^w}aFd9`yBU(~~wK">
                                               <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="math_number" id="^akO9vpOfim0CPI]+dc!">
                                               <field name="NUM">97</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="math_change" id="v%0t#pa+Q%^zQoh9Ph$!">
                                       <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                       <value name="DELTA">
                                         <shadow type="math_number" id="6ku!Y[*^,np1!!wREKFi">
                                           <field name="NUM">2</field>
                                         </shadow>
                                       </value>
                                     </block>
                                   </statement>
                                   <next>
                                     <block type="debug" id="]Ez};@k[xNy`@B#^81Di">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="variables_get" id="52JT%e%T,4[:[H,rpx}+">
                                           <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="controls_if" id="!N|KQ{sV{y]/d3R4UAXP">
                                           <mutation elseif="1"></mutation>
                                           <value name="IF0">
                                             <block type="logic_compare" id=":tO$i4^}+`}|t$F?liCc">
                                               <field name="OP">GT</field>
                                               <value name="A">
                                                 <block type="variables_get" id=";Rs$REmx^*_W(V#p8bLT">
                                                   <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="variables_get" id="*nx~[y~kZ,vf!n2t1r:Q">
                                                   <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <statement name="DO0">
                                             <block type="variables_set" id="tX@P2$;scE61yi}^_+0z">
                                               <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                               <value name="VALUE">
                                                 <block type="math_arithmetic" id="xpn9V7[XgTpl2e,khmp3">
                                                   <field name="OP">MULTIPLY</field>
                                                   <value name="A">
                                                     <shadow type="math_number" id="^SKaP#+i84?oH1n]2n]K">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="get_value" id="Ej4rJR]`@:LXpe#BeZM=">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number" id="+m1SPwl$}wcwD|3jK}v`">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="variables_get" id="i#b=Co_2J`*+jTHcxr~q">
                                                       <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="controls_if" id="9{4?swho0(tukodWS@EB">
                                                   <value name="IF0">
                                                     <block type="logic_compare" id="})3B{KqG]m;,_flO94=V">
                                                       <field name="OP">LTE</field>
                                                       <value name="A">
                                                         <block type="variables_get" id="k?=XBS(db:X_L,]JG.$T">
                                                           <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <block type="math_number" id="i6aEG[[PjgMkX{y}P$I_">
                                                           <field name="NUM">0</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <statement name="DO0">
                                                     <block type="variables_set" id="fO`D/NEw,~}RR-oX#%v@">
                                                       <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                       <value name="VALUE">
                                                         <block type="math_arithmetic" id="v10.o*Lh%zW;Y#$)m~!3">
                                                           <field name="OP">MULTIPLY</field>
                                                           <value name="A">
                                                             <shadow type="math_number" id="3jzib6:NBgE$Of{K14Lo">
                                                               <field name="NUM">1</field>
                                                             </shadow>
                                                             <block type="variables_get" id="eJXGjkpfkI!x|RhU_CHQ">
                                                               <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <shadow type="math_number" id="hv96WILW!-[d!2+Z.3w4">
                                                               <field name="NUM">-1</field>
                                                             </shadow>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                   <next>
                                                     <block type="debug" id="{q$iAZj(*.NJB)TB,Ytn">
                                                       <field name="Severity">log</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="2SXbrb]`y)h3(LyWCS1d">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="text_join" id=")Zz30{cZ0(W%{sipIACh">
                                                           <mutation items="2"></mutation>
                                                           <value name="ADD0">
                                                             <block type="text" id="sF-MYz/6rqMd06C{;oO@">
                                                               <field name="TEXT">Verzögerung </field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="variables_get" id="s{k6MqjODRHW5*A+Oe=j">
                                                               <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="control_ex" id="o^:/#?64Tkd;|r2eZLrb">
                                                           <field name="TYPE">false</field>
                                                           <field name="CLEAR_RUNNING">TRUE</field>
                                                           <value name="OID">
                                                             <shadow type="field_oid" id="ZD9vo/fR-d?+f;dBg8K_">
                                                               <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                                             </shadow>
                                                           </value>
                                                           <value name="VALUE">
                                                             <shadow type="logic_boolean" id="s!a#9|CUy47(-Bsx$a#.">
                                                               <field name="BOOL">TRUE</field>
                                                             </shadow>
                                                           </value>
                                                           <value name="DELAY_MS">
                                                             <shadow type="math_number" id="0Dl.snnKNJgxYeTJ0X.a">
                                                               <field name="NUM">0</field>
                                                             </shadow>
                                                           </value>
                                                           <next>
                                                             <block type="control_ex" id="ib1XmMUWU3It,%!y^cE[">
                                                               <field name="TYPE">false</field>
                                                               <field name="CLEAR_RUNNING">FALSE</field>
                                                               <value name="OID">
                                                                 <shadow type="field_oid" id=")Bb.l5zcRmdPQ2Sx5=m,">
                                                                   <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                                                 </shadow>
                                                               </value>
                                                               <value name="VALUE">
                                                                 <shadow type="logic_boolean" id="JX$/`zh9snVDb$RE9NSM">
                                                                   <field name="BOOL">FALSE</field>
                                                                 </shadow>
                                                               </value>
                                                               <value name="DELAY_MS">
                                                                 <shadow type="math_number" id="1a2wrKT!k%7Vo}gF,pzR">
                                                                   <field name="NUM">0</field>
                                                                 </shadow>
                                                                 <block type="variables_get" id="y@#SUr:JG}qp~_`VGYsA">
                                                                   <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                           <value name="IF1">
                                             <block type="logic_compare" id="GJ7fuH8+*W{YsYf6h02Y">
                                               <field name="OP">LT</field>
                                               <value name="A">
                                                 <block type="variables_get" id="O-.]$P?KZ[6`!kHhed$h">
                                                   <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="variables_get" id="n_KW~,bQ6ZagNHqn^d6#">
                                                   <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <statement name="DO1">
                                             <block type="variables_set" id=",=}Q}Kwnh^Hjlt4h3?=~">
                                               <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                               <value name="VALUE">
                                                 <block type="math_arithmetic" id="P#cYZLrv=l8/u}X%my/@">
                                                   <field name="OP">MULTIPLY</field>
                                                   <value name="A">
                                                     <shadow type="math_number">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="get_value" id="C=azr~3d06gW8):C|U9H">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <shadow type="math_number">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="variables_get" id="HFiSN(PAvv3~j`=^U+~p">
                                                       <field name="VAR" id="6Yd-od,#Wfl2Fmp$%zsX">Diff</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="debug" id="9!cG?-!J=]L0!tH}vxZR">
                                                   <field name="Severity">log</field>
                                                   <value name="TEXT">
                                                     <shadow type="text">
                                                       <field name="TEXT">test</field>
                                                     </shadow>
                                                     <block type="text_join" id="*1x~VYC-q8D7lU1*J#.H">
                                                       <mutation items="2"></mutation>
                                                       <value name="ADD0">
                                                         <block type="text" id="Z2O9@X9[$4s?|pE5i%;3">
                                                           <field name="TEXT">Verzögerung </field>
                                                         </block>
                                                       </value>
                                                       <value name="ADD1">
                                                         <block type="variables_get" id="Z_b]o:N^2!6`lt`DX*z_">
                                                           <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="control_ex" id="BVxdcGw:wk_.v@x(rHyg">
                                                       <field name="TYPE">false</field>
                                                       <field name="CLEAR_RUNNING">TRUE</field>
                                                       <value name="OID">
                                                         <shadow type="field_oid" id="m$pNO?L!Gv5+ULz[,YS?">
                                                           <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="VALUE">
                                                         <shadow type="logic_boolean" id="=r37hin.e_[![R5J(Jqy">
                                                           <field name="BOOL">TRUE</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="DELAY_MS">
                                                         <shadow type="math_number" id="*gk4~3YnEf#G:l;|jq(P">
                                                           <field name="NUM">0</field>
                                                         </shadow>
                                                       </value>
                                                       <next>
                                                         <block type="control_ex" id="l#|vm)F%`dM]P-*4/`t8">
                                                           <field name="TYPE">false</field>
                                                           <field name="CLEAR_RUNNING">FALSE</field>
                                                           <value name="OID">
                                                             <shadow type="field_oid" id="mIA~+uOU8%/z7_PqtMAH">
                                                               <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                                             </shadow>
                                                           </value>
                                                           <value name="VALUE">
                                                             <shadow type="logic_boolean" id="MsV?)vvrDR{SW.6HB1ua">
                                                               <field name="BOOL">FALSE</field>
                                                             </shadow>
                                                           </value>
                                                           <value name="DELAY_MS">
                                                             <shadow type="math_number" id="/C/8]|DZ_V4YFkxH?g2K">
                                                               <field name="NUM">0</field>
                                                             </shadow>
                                                             <block type="variables_get" id="[A)jLsp!+.sA@lDwTZ}M">
                                                               <field name="VAR" id="cdY@Yepwsg/`VQJ?3LSM">Verzoegerung</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
               <next>
                 <block type="on_ext" id="`Ptuy7{309v8Qw|pe(x3">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                   <field name="CONDITION">any</field>
                   <field name="ACK_CONDITION"></field>
                   <value name="OID0">
                     <shadow type="field_oid" id="DAv@77b52FO^V|[[|Pjb">
                       <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                     </shadow>
                   </value>
                   <value name="OID1">
                     <shadow type="field_oid" id="*xlrA5NztGc.VSLUrU+x">
                       <field name="oid">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                     </shadow>
                   </value>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="]2SjwH]G6iu!y8Z%2knb">
                       <mutation elseif="1" else="1"></mutation>
                       <value name="IF0">
                         <block type="get_value" id="zjS=4E5I3y+H(-Gy:7Sj">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="controls_if" id="hVN$8r%~a0Nge9KhKog%">
                           <value name="IF0">
                             <block type="get_value" id="Mf(U86fX(AbNiiFsR9F3">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.enable</field>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="control" id="~+W?Y=G;Mv5kfnt%%s1u">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.oeffnen</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="_HbQBG?xOC3PElH3VOm0">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </statement>
                       <value name="IF1">
                         <block type="get_value" id="XxqD259Z||ArR3rTQgXg">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                         </block>
                       </value>
                       <statement name="DO1">
                         <block type="controls_if" id="cHuU)JTL780]sxTj[!EE">
                           <value name="IF0">
                             <block type="get_value" id=")Z*gAd6,jB4eJG~gUSN~">
                               <field name="ATTR">val</field>
                               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.enable</field>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="control" id="9r7O1MnZ{P7y7l#l?Y,@">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.schliessen</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="0_GJ47INA)oEFO}b=cX8">
                                   <field name="BOOL">TRUE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </statement>
                       <statement name="ELSE">
                         <block type="timeouts_clearinterval" id="?o6,F6DpmE.=tnh?{VkW">
                           <field name="NAME">Count_hoch</field>
                           <next>
                             <block type="control" id="nQpILAvf[guA3D{_Jg(=">
                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                               <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.oeffnen</field>
                               <field name="WITH_DELAY">FALSE</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="xzCCzy0h=%i8[jnlt3e9">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="timeouts_clearinterval" id="+?6+ZMjbg@Pb9f/PvY#6">
                                   <field name="NAME">Count_runter</field>
                                   <next>
                                     <block type="control" id="RRT}yn;MR4seqEp%1E%n">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">alias.0.Rollladen.Esszimmer.Fenster.schliessen</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="logic_boolean" id="Oy8TCw_~i+YK(apol)3B">
                                           <field name="BOOL">FALSE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </statement>
                   <next>
                     <block type="on_ext" id="Z)70AY`d+tSfmoReZoxj">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id="./qTP{AZ}W3+|I{%|F##">
                           <field name="oid">alias.0.Rollladen.Esszimmer.Fenster.oeffnen</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="controls_if" id="{;95MpyYW`W~FQ[jDb03">
                           <mutation else="1"></mutation>
                           <value name="IF0">
                             <block type="variables_get" id=":IG]~CW-/OJ~BZhYVjZ7">
                               <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="variables_set" id="H!WFT-BBdX.|):cvCjm1">
                               <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                               <value name="VALUE">
                                 <block type="get_value" id="j:$9gD+MX]jp0J?lG`09">
                                   <field name="ATTR">val</field>
                                   <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="variables_set" id="}U%y8@~hj603Ze43*jux">
                                   <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                                   <value name="VALUE">
                                     <block type="math_arithmetic" id="WoTF!l8e4^Y]k|![:$dC">
                                       <field name="OP">DIVIDE</field>
                                       <value name="A">
                                         <shadow type="math_number" id="A3W)HPZ`HasjlQfXpZeR">
                                           <field name="NUM">-100</field>
                                         </shadow>
                                       </value>
                                       <value name="B">
                                         <shadow type="math_number" id="La~?[`Gj2ofOSE$EY@Uo">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="get_value" id="$M5XW]-ID`9a2yS#9p_K">
                                           <field name="ATTR">val</field>
                                           <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="timeouts_setinterval" id="cnHwKlWF4V(-p@cyMKV!">
                                       <field name="NAME">Count_hoch</field>
                                       <field name="INTERVAL">100</field>
                                       <field name="UNIT">ms</field>
                                       <statement name="STATEMENT">
                                         <block type="math_change" id="=g=]+ie8ztzAou6@oO@D">
                                           <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                           <value name="DELTA">
                                             <shadow type="math_number" id="L6].=%PhncZ0gTEZG]!$">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="variables_get" id="xdqR(`0atk}5Vg^cVAh3">
                                               <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="update" id="9;U5Z-6KvHjdftlZFGFF">
                                               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                                               <field name="WITH_DELAY">FALSE</field>
                                               <value name="VALUE">
                                                 <block type="math_round" id="}pL:d.AmKwdUrfLVl,4Y">
                                                   <field name="OP">ROUND</field>
                                                   <value name="NUM">
                                                     <shadow type="math_number" id=":QYNFJS[?q-h]Q$rO$BT">
                                                       <field name="NUM">3.1</field>
                                                     </shadow>
                                                     <block type="variables_get" id="bwmXs1Ag~mzlh.)uY$FA">
                                                       <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="controls_if" id="pfniu-+|{0QVTf1`H`8#">
                                                   <value name="IF0">
                                                     <block type="logic_compare" id="#a`[s=lq2M.?1J^.Ug[G">
                                                       <field name="OP">LTE</field>
                                                       <value name="A">
                                                         <block type="variables_get" id="TVzZ(Pj.xdw$@5i^c[E1">
                                                           <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <block type="math_number" id="Zha5h8Q68WZAOQDPW^iA">
                                                           <field name="NUM">0</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <statement name="DO0">
                                                     <block type="update" id=")ro4)SzbW@19B/c1uth!">
                                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="logic_boolean" id="s.Fu=ez8{zv8rjOrBiT1">
                                                           <field name="BOOL">FALSE</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </statement>
                           <statement name="ELSE">
                             <block type="timeouts_clearinterval" id="c9M]5X|a^YvU.P5Q9::(">
                               <field name="NAME">Count_hoch</field>
                               <next>
                                 <block type="controls_if" id="*Mx^YjC40Qs%/~;]4K1b">
                                   <value name="IF0">
                                     <block type="get_value" id="X#NM@w7@GQQf@5Yx=8|.">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="update" id=")}Bi90!fP?TZ)AxlE{j2">
                                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch</field>
                                       <field name="WITH_DELAY">FALSE</field>
                                       <value name="VALUE">
                                         <block type="logic_boolean" id="x{,Zsu,cIN(k#0%u35h-">
                                           <field name="BOOL">FALSE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                       </statement>
                       <next>
                         <block type="on_ext" id=";hht}Ct^VuDJXZh=Pjtd">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                           <field name="CONDITION">ne</field>
                           <field name="ACK_CONDITION"></field>
                           <value name="OID0">
                             <shadow type="field_oid" id="Efk3[#.CdOKQkMrm{~1$">
                               <field name="oid">alias.0.Rollladen.Esszimmer.Fenster.schliessen</field>
                             </shadow>
                           </value>
                           <statement name="STATEMENT">
                             <block type="controls_if" id="Q@3SZ[+i)`hS|wlEQ)c|">
                               <mutation else="1"></mutation>
                               <value name="IF0">
                                 <block type="variables_get" id="Q(C)Czn%2rMD#Ys1mk*i">
                                   <field name="VAR" id="6:!@N+Z]j3K4@|LHwz(h">value</field>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="variables_set" id="g$%Oq0MSrdA:R)ltj_72">
                                   <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                   <value name="VALUE">
                                     <block type="get_value" id="`=6)/8qSG0!~)-9xU82X">
                                       <field name="ATTR">val</field>
                                       <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="variables_set" id="j1/wm0)HO1)R`TuI[w!a">
                                       <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                                       <value name="VALUE">
                                         <block type="math_arithmetic" id="{hUBzvQI$][KBrQ=DPU{">
                                           <field name="OP">DIVIDE</field>
                                           <value name="A">
                                             <shadow type="math_number" id="T3K+tVxc,9jCR[SYmJR3">
                                               <field name="NUM">100</field>
                                             </shadow>
                                           </value>
                                           <value name="B">
                                             <shadow type="math_number">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="get_value" id="B6r0;fA%a:ZvCb*^+|,z">
                                               <field name="ATTR">val</field>
                                               <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="timeouts_setinterval" id="/$9/k,:hoUll4V_eusA]">
                                           <field name="NAME">Count_runter</field>
                                           <field name="INTERVAL">100</field>
                                           <field name="UNIT">ms</field>
                                           <statement name="STATEMENT">
                                             <block type="math_change" id="T#mnN2r:X|P.MZ%r#D*p">
                                               <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                               <value name="DELTA">
                                                 <shadow type="math_number">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="variables_get" id="Q9(inl#Gvgwe2.W~N/Je">
                                                   <field name="VAR" id=".W^JOQg*|Os7x(tF@]^m">Delta_ist</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="update" id="Wl%(KKtgw]qefDwOZ:)L">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="math_round" id="p82DPN1ZSK;CWQ|;Zg4K">
                                                       <field name="OP">ROUND</field>
                                                       <value name="NUM">
                                                         <shadow type="math_number">
                                                           <field name="NUM">3.1</field>
                                                         </shadow>
                                                         <block type="variables_get" id="$HziMrPV8o9R|iIbR069">
                                                           <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="controls_if" id="QDdX{Qm6#I-@PTfnG0%O">
                                                       <value name="IF0">
                                                         <block type="logic_compare" id="Zebb(Ohd..stH~!#ugks">
                                                           <field name="OP">GTE</field>
                                                           <value name="A">
                                                             <block type="variables_get" id="4)R2;-Tv2s+3IK2Xtd)1">
                                                               <field name="VAR" id="GyN].9-*{UB%A=NA2/n[">Ist</field>
                                                             </block>
                                                           </value>
                                                           <value name="B">
                                                             <block type="math_number" id="7.mn7i*Ln[mKCNbEL(QA">
                                                               <field name="NUM">100</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                       <statement name="DO0">
                                                         <block type="update" id="Wx1[Rpu}B+$CqWiNKeP!">
                                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                           <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                                           <field name="WITH_DELAY">FALSE</field>
                                                           <value name="VALUE">
                                                             <block type="logic_boolean" id="wIFo$;Du(Gz~3Wv:phD5">
                                                               <field name="BOOL">FALSE</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </statement>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                               <statement name="ELSE">
                                 <block type="timeouts_clearinterval" id="6d5LZGa-%fHs#TKwo[a=">
                                   <field name="NAME">Count_runter</field>
                                   <next>
                                     <block type="controls_if" id="]@Fj*2-5kQl#n)_9vLO~">
                                       <value name="IF0">
                                         <block type="get_value" id="=Bd^2!x7fG=IQF#3%{:t">
                                           <field name="ATTR">val</field>
                                           <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="update" id="t;tHB27(9=Uv!dxhEr-5">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">0_userdata.0.Rolladen.Rolladen-Esszimmer.runter</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="logic_boolean" id="Bx1]DY9HSvX*Puz}/%IH">
                                               <field name="BOOL">FALSE</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </next>
             </block>
            </xml>
            

            Und hier ist das Java-Skript, das mir angezeigt wird:

            var Ist, Diff, value, Delta_ist, Count_hoch, Count_runter, Verzoegerung;
            
            
            on({id: '0_userdata.0.Rolladen.Rolladen-Esszimmer.Soll-Position', change: "any"}, function (obj) {
             var value = obj.state.val;
             var oldValue = obj.oldState.val;
             Ist = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position").val;
             Diff = value - Ist;
             console.log(Ist);
             console.log(Diff);
             if (value < 3 || value > 97) {
               Diff = (typeof Diff == 'number' ? Diff : 0) + 2;
             }
             console.log(Diff);
             if (value > Ist) {
               Verzoegerung = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter").val * Diff;
               if (Verzoegerung <= 0) {
                 Verzoegerung = Verzoegerung * -1;
               }
               console.log(('Verzögerung ' + String(Verzoegerung)));
               setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.runter', true, false, parseInt(0, 10), true);
               setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.runter', false, false, parseInt(Verzoegerung, 10), false);
             } else if (value < Ist) {
               Verzoegerung = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch").val * Diff;
               console.log(('Verzögerung ' + String(Verzoegerung)));
               setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch', true, false, parseInt(0, 10), true);
               setStateDelayed('0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch', false, false, parseInt(Verzoegerung, 10), false);
             }
            });
            on({id: new RegExp('0_userdata\\.0\\.Rolladen\\.Rolladen-Esszimmer\\.hoch' + "|" + '0_userdata\\.0\\.Rolladen\\.Rolladen-Esszimmer\\.runter'), change: "any"}, function (obj) {
               if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch").val) {
               if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.enable").val) {
                 setState("alias.0.Rollladen.Esszimmer.Fenster.oeffnen"/*Rollladen.Esszimmer.Fenster.oeffnen*/, true);
               }
             } else if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter").val) {
               if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.enable").val) {
                 setState("alias.0.Rollladen.Esszimmer.Fenster.schliessen"/*Rollladen.Esszimmer.Fenster.schliessen*/, true);
               }
             } else {
               (function () {if (Count_hoch) {clearInterval(Count_hoch); Count_hoch = null;}})();
               setState("alias.0.Rollladen.Esszimmer.Fenster.oeffnen"/*Rollladen.Esszimmer.Fenster.oeffnen*/, false);
               (function () {if (Count_runter) {clearInterval(Count_runter); Count_runter = null;}})();
               setState("alias.0.Rollladen.Esszimmer.Fenster.schliessen"/*Rollladen.Esszimmer.Fenster.schliessen*/, false);
             }
            });
            on({id: 'alias.0.Rollladen.Esszimmer.Fenster.oeffnen', change: "ne"}, function (obj) {
             var value = obj.state.val;
             var oldValue = obj.oldState.val;
             if (value) {
               Ist = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position").val;
               Delta_ist = -100 / getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_hoch").val;
               Count_hoch = setInterval(function () {
                 Ist = (typeof Ist == 'number' ? Ist : 0) + Delta_ist;
                 setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position"/*Rolladen-Esszimmer.Ist-Position*/, (Math.round(Ist)), true);
                 if (Ist <= 0) {
                   setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch"/*Rolladen-Esszimmer.hoch*/, false, true);
                 }
               }, 100);
             } else {
               (function () {if (Count_hoch) {clearInterval(Count_hoch); Count_hoch = null;}})();
               if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch").val) {
                 setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.hoch"/*Rolladen-Esszimmer.hoch*/, false, true);
               }
             }
            });
            on({id: 'alias.0.Rollladen.Esszimmer.Fenster.schliessen', change: "ne"}, function (obj) {
             var value = obj.state.val;
             var oldValue = obj.oldState.val;
             if (value) {
               Ist = getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position").val;
               Delta_ist = 100 / getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Laufzeit_runter").val;
               Count_runter = setInterval(function () {
                 Ist = (typeof Ist == 'number' ? Ist : 0) + Delta_ist;
                 setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.Ist-Position"/*Rolladen-Esszimmer.Ist-Position*/, (Math.round(Ist)), true);
                 if (Ist >= 100) {
                   setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter"/*Rolladen-Esszimmer.runter*/, false, true);
                 }
               }, 100);
             } else {
               (function () {if (Count_runter) {clearInterval(Count_runter); Count_runter = null;}})();
               if (getState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter").val) {
                 setState("0_userdata.0.Rolladen.Rolladen-Esszimmer.runter"/*Rolladen-Esszimmer.runter*/, false, true);
               }
             }
            });
            

            Zu dem Skript gehören diese Variablen:
            a881b52c-723f-4c7f-a2f9-0bcbbc466006-image.png

            Das Skript ist mit Alexa verknüpft und ich kann z.B. sagen:

            • "Alexa, stell das Esszimmer-Rollo auf 100%".
            • In dem Fall wäre z.B. der DP "Ist-Position": 0%, somit offen. Der Befehl stellt die Variable "Soll-Position" auf 100%.
            • Das Skript soll dann den T2-Schalter für Rollladen schließen anschalten.
            • Das Rollo läuft "Laufzeit-runter": 320 Zehntelsekunden. Solange benötigt das Rollo zum kompletten Schließen.
            • Die Variable "Ist-Position" soll dabei von 0 auf 100% hochzählen, in Abhängigkeit von der Laufzeit. Also 0% ist offen, 100% komplett geschlossen.
            • Beim Erreichen der Soll-Position soll das Skript dann den Schalter des T2 ausmachen.
            • Alternativ kann ich den Schalter für Schließen betätigen und das Skript zählt entsprechend der Laufzeit die "Ist-Position".

            Bislang hat das seit fast einem Jahr problemlos mit 8 Rollos funktioniert. Jetzt auf einmal bleibt "Ist-Position" z.B. bei 84% oder bei 24% oder auch mal bei 100% stehen, während das Rollo weiter läuft und der Schalter dann nicht ausgeht. Es betrifft alle Rollos.
            Es passiert auch, dass das Rollo einfach abschaltet und bei 24% stehen bleibt. Dabei ist es egal ob es öffnen oder schließen soll. Die angezeigten Werte sind immer anders.

            Ich habe das Skript wegen des eigenartigen Verhaltens in einer weiteren Javaskript-Instanz noch einmal händisch eingegeben, um damit einen Fehler auszuschließen. Das Verhalten ist vollkommen gleich.

            Ich habe keine Idee mehr, was da los sein könnte. Könnte es tatsächlich an der neuen Tasmota liegen? Ich möchte kein Downgrade auf 7.1.2 machen, da ich die Schalter dazu auseinander nehmen müsste. Und dummerweise haben die Schalter keine Pins für Rx und Tx. Und ich glaube, ein OTA Downgrade funktioniert nicht...

            Kann mir jemand einen Hinweis geben? Eine Idee, wo ich noch schauen könnte. Bin fast soweit, den Broker neu zu installieren. Aber alles andere läuft eben normal.
            Kann mir jemand sagen wie ich feststellen kann, ob das Skript in irgendeine Schleife läuft, also vielleicht noch läuft während ich es neu starten will...

            Dankbar für jeden Hinweis!

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #5

            @XxJooO
            Du steuerst "Fenster.oeffnen" und "Fenster.schliessen". Was hat es damit auf sich ?

            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

            1 Antwort Letzte Antwort
            0
            • XxJooOX Offline
              XxJooOX Offline
              XxJooO
              schrieb am zuletzt editiert von
              #6

              Herrje, hatte ich vergessen. Es sind alias-DPs. Diese verlinken auf den Sonoff Power 1 und Sonoff Power 2 DP und schalten die T2 direkt.

              ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

              1 Antwort Letzte Antwort
              0
              • XxJooOX Offline
                XxJooOX Offline
                XxJooO
                schrieb am zuletzt editiert von
                #7

                Leute, mir raucht der Kopf und ich finde den Fehler nicht. Es wird auch immer undurchschaubarer. Z.B. damit, dass während das Skript gar nicht getriggert wurde und zeitlich schon abgelaufen ist, die Variable für die Ist-Position auf einmal weiter zählt. So als würde das Skript im Hintergrund noch weiter laufen. Deshalb auch meine Frage wie ich sehen kann, ob das Skript, obwohl zeitlich beendet, doch noch läuft...

                ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                dslraserD 1 Antwort Letzte Antwort
                0
                • XxJooOX XxJooO

                  Leute, mir raucht der Kopf und ich finde den Fehler nicht. Es wird auch immer undurchschaubarer. Z.B. damit, dass während das Skript gar nicht getriggert wurde und zeitlich schon abgelaufen ist, die Variable für die Ist-Position auf einmal weiter zählt. So als würde das Skript im Hintergrund noch weiter laufen. Deshalb auch meine Frage wie ich sehen kann, ob das Skript, obwohl zeitlich beendet, doch noch läuft...

                  dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von dslraser
                  #8

                  @XxJooO sagte in Merkwürdiges Verhalten 1 Jahr laufender Skripte...:

                  Deshalb auch meine Frage wie ich sehen kann, ob das Skript, obwohl zeitlich beendet, doch noch läuft...

                  Das Script selbst läuft doch normalerweise immer.
                  Du kannst das Script mit debug Bausteinen versehen, dann siehst Du was passiert.

                  1 Antwort Letzte Antwort
                  0
                  • XxJooOX Offline
                    XxJooOX Offline
                    XxJooO
                    schrieb am zuletzt editiert von
                    #9

                    Also, nach meinem Verständnis schläft das Skript, bis es getriggert wird. Hier soll eine Zeitlang ein Schalter an und dann wieder ausgeschaltet werden. Während der An-Phase soll ein DP gezählt werden. Ich erkenne aber, dass die Zeit des laufenden Skripts abgelaufen ist, nach z.B. 30 Sekunden später läuft plötzlich der DP weiter. Das darf er aber ja nur, während das Skript läuft, und dafür muss es getriggert werden. Wurde es aber nicht!!!

                    ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • XxJooOX XxJooO

                      Also, nach meinem Verständnis schläft das Skript, bis es getriggert wird. Hier soll eine Zeitlang ein Schalter an und dann wieder ausgeschaltet werden. Während der An-Phase soll ein DP gezählt werden. Ich erkenne aber, dass die Zeit des laufenden Skripts abgelaufen ist, nach z.B. 30 Sekunden später läuft plötzlich der DP weiter. Das darf er aber ja nur, während das Skript läuft, und dafür muss es getriggert werden. Wurde es aber nicht!!!

                      paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #10

                      @XxJooO sagte:

                      nach z.B. 30 Sekunden später läuft plötzlich der DP weiter.

                      Dann wurde das Intervall wieder gestartet, was nur durch einen Trigger erfolgen kann oder das Intervall war durch Überlastung der CPU unterbrochen und läuft nun weiter. Logge mal alle Trigger-Ereignisse (debug output)

                      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

                      1 Antwort Letzte Antwort
                      0
                      • XxJooOX Offline
                        XxJooOX Offline
                        XxJooO
                        schrieb am zuletzt editiert von
                        #11

                        Kurze Hilfe, debug output wo aktivieren?
                        Danke

                        ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • XxJooOX XxJooO

                          Kurze Hilfe, debug output wo aktivieren?
                          Danke

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #12

                          @XxJooO sagte:

                          debug output wo aktivieren?

                          Blockly_temp.JPG

                          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

                          1 Antwort Letzte Antwort
                          0
                          • XxJooOX Offline
                            XxJooOX Offline
                            XxJooO
                            schrieb am zuletzt editiert von
                            #13

                            Ok, Kopf vor Stirn schlag und schäm...

                            ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                            1 Antwort Letzte Antwort
                            0
                            • XxJooOX Offline
                              XxJooOX Offline
                              XxJooO
                              schrieb am zuletzt editiert von
                              #14

                              Ok, es lebt... es arbeitet... es hat ein Bewusstsein entwickelt und will mich um den Verstand bringen...

                              javascript.0	2020-06-14 13:55:28.832	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: false
                              javascript.0	2020-06-14 13:55:28.778	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: true
                              javascript.0	2020-06-14 13:54:53.836	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: false
                              javascript.0	2020-06-14 13:54:53.788	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: true
                              javascript.0	2020-06-14 13:54:45.809	info	(2413) script.js.Rolladen.Rollladen_Test2: hoch oder runter geändert: undefined
                              javascript.0	2020-06-14 13:54:31.447	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false
                              javascript.0	2020-06-14 13:54:30.336	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true
                              javascript.0	2020-06-14 13:54:29.058	info	(2413) script.js.Rolladen.Rollladen_Test2: hoch oder runter geändert: undefined
                              javascript.0	2020-06-14 13:54:29.008	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false
                              javascript.0	2020-06-14 13:54:25.059	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true
                              javascript.0	2020-06-14 13:54:25.008	info	(2413) script.js.Rolladen.Rollladen_Test2: hoch oder runter geändert: undefined
                              javascript.0	2020-06-14 13:54:25.002	info	(2413) script.js.Rolladen.Rollladen_Test2: Soll-Position geändert: 100
                              

                              Um 13:54:25.002 wird der Soll Wert von 0 auf 100 gestellt, die Laufzeit müsste 32 Sekunden sein.
                              Um 13:54:25.059 wird schliessen korrekt getriggert, aber bereits
                              um 13:54:29.008, also nur nach 4 Sekunden auf false getriggert und das Rollo stoppt.
                              Die nachfolgenden Trigger kommen, obwohl ich nichts aktiviert, sondern nur beobachtet habe...

                              Unfassbar... ich bin am Ende

                              ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • XxJooOX Offline
                                XxJooOX Offline
                                XxJooO
                                schrieb am zuletzt editiert von
                                #15

                                Laufen Reste im Hintergrund, die sich überlagern? Wie kann ich das sehen?

                                ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                                1 Antwort Letzte Antwort
                                0
                                • XxJooOX Offline
                                  XxJooOX Offline
                                  XxJooO
                                  schrieb am zuletzt editiert von
                                  #16

                                  Und es triggert immer weiter...

                                  javascript.0	2020-06-14 14:02:13.382	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false
                                  javascript.0	2020-06-14 14:02:08.996	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true
                                  javascript.0	2020-06-14 14:01:16.749	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false
                                  javascript.0	2020-06-14 14:01:10.957	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true
                                  javascript.0	2020-06-14 14:00:28.820	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: false
                                  javascript.0	2020-06-14 14:00:28.720	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: true
                                  javascript.0	2020-06-14 13:59:34.504	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false
                                  javascript.0	2020-06-14 13:59:33.567	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true
                                  javascript.0	2020-06-14 13:58:09.669	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false
                                  javascript.0	2020-06-14 13:58:06.511	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true
                                  javascript.0	2020-06-14 13:55:28.832	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: false
                                  javascript.0	2020-06-14 13:55:28.778	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: true
                                  javascript.0	2020-06-14 13:54:53.836	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: false
                                  javascript.0	2020-06-14 13:54:53.788	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: true
                                  javascript.0	2020-06-14 13:54:45.809	info	(2413) script.js.Rolladen.Rollladen_Test2: hoch oder runter geändert: undefined
                                  javascript.0	2020-06-14 13:54:31.447	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false
                                  javascript.0	2020-06-14 13:54:30.336	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true
                                  javascript.0	2020-06-14 13:54:29.058	info	(2413) script.js.Rolladen.Rollladen_Test2: hoch oder runter geändert: undefined
                                  javascript.0	2020-06-14 13:54:29.008	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false
                                  javascript.0	2020-06-14 13:54:25.059	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true
                                  javascript.0	2020-06-14 13:54:25.008	info	(2413) script.js.Rolladen.Rollladen_Test2: hoch oder runter geändert: undefined
                                  javascript.0	2020-06-14 13:54:25.002	info	(2413) script.js.Rolladen.Rollladen_Test2: Soll-Position geändert: 100
                                  

                                  ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                                  1 Antwort Letzte Antwort
                                  0
                                  • XxJooOX XxJooO

                                    Ok, es lebt... es arbeitet... es hat ein Bewusstsein entwickelt und will mich um den Verstand bringen...

                                    javascript.0	2020-06-14 13:55:28.832	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: false
                                    javascript.0	2020-06-14 13:55:28.778	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: true
                                    javascript.0	2020-06-14 13:54:53.836	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: false
                                    javascript.0	2020-06-14 13:54:53.788	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.oeffnen getriggert: true
                                    javascript.0	2020-06-14 13:54:45.809	info	(2413) script.js.Rolladen.Rollladen_Test2: hoch oder runter geändert: undefined
                                    javascript.0	2020-06-14 13:54:31.447	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false
                                    javascript.0	2020-06-14 13:54:30.336	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true
                                    javascript.0	2020-06-14 13:54:29.058	info	(2413) script.js.Rolladen.Rollladen_Test2: hoch oder runter geändert: undefined
                                    javascript.0	2020-06-14 13:54:29.008	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: false
                                    javascript.0	2020-06-14 13:54:25.059	info	(2413) script.js.Rolladen.Rollladen_Test2: Fenster vorne.schliessen getriggert: true
                                    javascript.0	2020-06-14 13:54:25.008	info	(2413) script.js.Rolladen.Rollladen_Test2: hoch oder runter geändert: undefined
                                    javascript.0	2020-06-14 13:54:25.002	info	(2413) script.js.Rolladen.Rollladen_Test2: Soll-Position geändert: 100
                                    

                                    Um 13:54:25.002 wird der Soll Wert von 0 auf 100 gestellt, die Laufzeit müsste 32 Sekunden sein.
                                    Um 13:54:25.059 wird schliessen korrekt getriggert, aber bereits
                                    um 13:54:29.008, also nur nach 4 Sekunden auf false getriggert und das Rollo stoppt.
                                    Die nachfolgenden Trigger kommen, obwohl ich nichts aktiviert, sondern nur beobachtet habe...

                                    Unfassbar... ich bin am Ende

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von paul53
                                    #17

                                    @XxJooO sagte:

                                    nur nach 4 Sekunden auf false getriggert und das Rollo stoppt.

                                    Da laufen mehrere Intervalle parallel. Starte mal die Instanz neu.

                                    @XxJooO sagte in Merkwürdiges Verhalten 1 Jahr laufender Skripte...:

                                    hoch oder runter geändert: undefined

                                    Weshalb undefined ? Welcher Wert wird geloggt ?

                                    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

                                    1 Antwort Letzte Antwort
                                    0
                                    • XxJooOX Offline
                                      XxJooOX Offline
                                      XxJooO
                                      schrieb am zuletzt editiert von
                                      #18

                                      Ich glaube, es kommt von diesem debug

                                      257a86f6-1c20-42c6-8549-7ab5d93eaa76-image.png

                                      Was sollte "value" denn hier ausgeben?

                                      ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • XxJooOX Offline
                                        XxJooOX Offline
                                        XxJooO
                                        schrieb am zuletzt editiert von XxJooO
                                        #19

                                        Instanz und ioBroker habe ich unterwegs schon zigfach neu gestartet. Habe auch schon neue Instanzen angelegt und versucht, das in einer weiteren auszuführen. Immer gleiches Verhalten...

                                        ioBroker auf Intel NUC - Homematic CCU3/pivCCU auf Raspi 3B+

                                        1 Antwort Letzte Antwort
                                        0
                                        • XxJooOX XxJooO

                                          Ich glaube, es kommt von diesem debug

                                          257a86f6-1c20-42c6-8549-7ab5d93eaa76-image.png

                                          Was sollte "value" denn hier ausgeben?

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von
                                          #20

                                          @XxJooO sagte:

                                          es kommt von diesem debug

                                          Dort gibt es die lokale Variable value nicht. Wenn zwei Datenpunkte triggern, sollte man im Debug den Namen und den Wert ausgeben.

                                          Blockly_temp.JPG

                                          Weshalb Trigger auf "wurde aktualisiert" ?

                                          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

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          738

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe