Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. (Frage) logik Problem Blocky

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    (Frage) logik Problem Blocky

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mrMuppet last edited by

      Hallo,

      ich komme gerade nicht weiter:

      Ich möchte nen Schalter für zwei Rolladen bauen. Die Rolladen sollen immer gemeinsam fahren. Sie fahren immer auf 0%- oder 100%-Stellung. Der Schalter soll nur einen Pfeil runter zeigen, wenn die Rolladen oben sind, und nur einen Pfeil nach oben, wenn sie unten sind.

      Ich habe gerade schon mit zwei Variablen gebastelt, einer für den Status, einer für den Taster, aber irgendwie sind mir die Bulb-funktionen (Extrasteuerung) auch zu unklar um da richtig weiter zu kommen.#

      Vielleicht habt ihr ja einen viel besseren Weg… ich hoffe einfach mal! 🙂

      1 Reply Last reply Reply Quote 0
      • R
        RappiRN Most Active last edited by

        Hast du HM Aktoren oder andere? Wenn andere zeig doch mal die Datenpuntke davon. Bei HM kannst auf die Bewegung triggern und den anderen Rollanden mitfahren lassen.

        Enrico

        1 Reply Last reply Reply Quote 0
        • M
          mrMuppet last edited by

          @RappiRN:

          Hast du HM Aktoren oder andere? Wenn andere zeig doch mal die Datenpuntke davon. Bei HM kannst auf die Bewegung triggern und den anderen Rollanden mitfahren lassen. ` Ja, habe Homamtic. Wie würdest du das machen?

          Ich hab jetzt gerade mal (ohne deinen Hinweis) diesen Block gemacht: 1136_blocky_rolladen_1.gif

          Dann funktioniert zwar wenn ich den schalter "rolladen_kueche_oben" umschalte, und ich kann die Grafik einfach über true/false umswitchen, aber was passiert, wenn jemand von Hand die Rolladen bedient? Dann stimmt plötzlich die Variable nicht und die Rolladen fahren direkt wieder zurück… ??

          1 Reply Last reply Reply Quote 0
          • M
            mrMuppet last edited by

            Mit diesem zusätzlichen Block sollte es gehen…
            1136_blocky_rolladen_2.gif
            Dann wird bei Veränderungen der Rolladen immer 1 Minute gewartet (bis sie zum Ziel gefahren sind) und dann wird bei Abweichungen der Datenpunkt umgeschaltet.

            Oder habe etwas vergessen?

            1 Reply Last reply Reply Quote 0
            • rantanplan
              rantanplan last edited by

              @mrMuppet:

              Dann funktioniert zwar wenn ich den schalter "rolladen_kueche_oben" umschalte, und ich kann die Grafik einfach über true/false umswitchen, aber was passiert, wenn jemand von Hand die Rolladen bedient? Dann stimmt plötzlich die Variable nicht und die Rolladen fahren direkt wieder zurück… ?? `
              Nun,dann wird 1x die Optik (Widget) nicht stimmen.

              Du fragst ja, richtigerweise, den Level vorher ab.

              Grüße

              1 Reply Last reply Reply Quote 0
              • rantanplan
                rantanplan last edited by

                @mrMuppet:

                Dann wird bei Veränderungen der Rolladen immer 1 Minute gewartet (bis sie zum Ziel gefahren sind) und dann wird bei Abweichungen der Datenpunkt umgeschaltet.

                Oder habe etwas vergessen? `
                ???? :roll:

                Sage doch einfach mal in Worten was Dein Script macht.

                Grüße

                1 Reply Last reply Reply Quote 0
                • R
                  RappiRN Most Active last edited by

                  Ich bin noch bis 22 Uhr arbeiten, wenn ich zu Hause bin, schreib ich mal meine Gedanken dazu.

                  Enrico

                  1 Reply Last reply Reply Quote 0
                  • M
                    mrMuppet last edited by

                    @RappiRN:

                    Ich bin noch bis 22 Uhr arbeiten, wenn ich zu Hause bin, schreib ich mal meine Gedanken dazu.

                    Enrico ` Sehr gerne! Danke.

                    Gesendet von meinem ONEPLUS A3003 mit Tapatalk

                    1 Reply Last reply Reply Quote 0
                    • rantanplan
                      rantanplan last edited by

                      @mrMuppet:

                      Sehr gerne! Danke. `

                      Stell doch mal einen Export rein.

                      Dann können wir besser basteln.

                      Grüße

                      1 Reply Last reply Reply Quote 0
                      • M
                        mrMuppet last edited by

                        Gerne.

                        ! ````
                        <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="!scELpDHGSp.3mtbL]Fl" x="337" y="-63"><mutation items="1"></mutation>
                        <field name="CONDITION">ne</field>

                        <value name="OID0"><shadow type="field_oid" id="~=)Z(*cdxLCdqgfolX*,"><field name="oid">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></shadow></value> 
                        <statement name="STATEMENT"><block type="controls_if" id="tjFfAB)f!x{S3xOz9]`["><value name="IF0"><block type="logic_compare" id=";Kc@i|8PVcr6TvWcSO0q"><field name="OP">EQ</field>
                                <value name="A"><block type="get_value" id="Ys7!z9P@QrC*g9n7B/@."><field name="ATTR">val</field>
                                    <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> 
                                <value name="B"><block type="logic_boolean" id="iHab!h_@Qv3w]Aj3=;:%"><field name="BOOL">TRUE</field></block></value></block></value> 
                            <statement name="DO0"><block type="controls_if" id="KM8EhQNmz7u~%Se,WH#;"><value name="IF0"><block type="logic_compare" id="@]nTuG+V-Wheas|7mp,8"><field name="OP">EQ</field>
                                    <value name="A"><block type="get_value" id="m{~4/%(,RMGKAz4nEL/]"><field name="ATTR">val</field>
                                        <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field></block></value> 
                                    <value name="B"><block type="math_number" id="Po{2+%~Pu`W6ARop}EwZ"><field name="NUM">0</field></block></value></block></value> 
                                <statement name="DO0"><block type="control" id="O=O)y^58]vlEy|=Oi`oG"><mutation delay_input="false"></mutation>
                                    <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE"><block type="math_number" id="4B*)/!]=*Rc4GutueA^x"><field name="NUM">100</field></block></value> 
                                    <next><block type="control" id="s8Iir/Q^mWa{F~%Elq/}"><mutation delay_input="false"></mutation>
                                        <field name="OID">hm-rpc.0.JEQ0107480.1.LEVEL</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE"><block type="math_number" id="u1TLD*+](oc%@h;:8s/R"><field name="NUM">100</field></block></value></block></next></block></statement></block></statement> 
                            <next><block type="controls_if" id="pKZ56)aRj;fK#/w/s^x%"><value name="IF0"><block type="logic_compare" id="~=(D0{QQ,HI[qW5l+5Is"><field name="OP">EQ</field>
                                    <value name="A"><block type="get_value" id="O7?d05+Lz/*6Sy~8QRrl"><field name="ATTR">val</field>
                                        <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> 
                                    <value name="B"><block type="logic_boolean" id="4n/_m%haum^#e?2s!PZC"><field name="BOOL">FALSE</field></block></value></block></value> 
                                <statement name="DO0"><block type="controls_if" id="c+lNW=k)([MRHBM`709["><value name="IF0"><block type="logic_compare" id="30766Znt34%T;Kx9*J~?"><field name="OP">EQ</field>
                                        <value name="A"><block type="get_value" id=")Or4_K5/ILKjtiS6Eky!"><field name="ATTR">val</field>
                                            <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field></block></value> 
                                        <value name="B"><block type="math_number" id="zph~k]Di:s19~#48Yng3"><field name="NUM">100</field></block></value></block></value> 
                                    <statement name="DO0"><block type="control" id="5!aUf8NkB(/W`)hGnF-5"><mutation delay_input="false"></mutation>
                                        <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE"><block type="math_number" id="JS|oFaQ,@_|.h9WkTKOd"><field name="NUM">0</field></block></value> 
                                        <next><block type="control" id="a-^g2!M),g%j?fi~)i@7"><mutation delay_input="false"></mutation>
                                            <field name="OID">hm-rpc.0.JEQ0107480.1.LEVEL</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE"><block type="math_number" id="^?BV^lwKI.-6]]sA1W`:"><field name="NUM">0</field></block></value></block></next></block></statement></block></statement></block></next></block></statement> 
                        <next><block type="on_ext" id="o;pq.{)MMWlN#u:d|l7b"><mutation items="1"></mutation>
                            <field name="CONDITION">ne</field>
                        
                            <value name="OID0"><shadow type="field_oid" id="EN6WTm@jpMzd!%4X/Mk("><field name="oid">hm-rpc.0.JEQ0109063.1.LEVEL</field></shadow></value> 
                            <statement name="STATEMENT"><block type="timeouts_settimeout" id="K!=m(|?2;QssSe(V-U{L"><field name="NAME">timeout</field>
                                <field name="DELAY">1</field>
                                <field name="UNIT">min</field>
                                <statement name="STATEMENT"><block type="controls_if" id="X!BS92E|)e:U]v;;x|SP"><value name="IF0"><block type="logic_compare" id="hb2gfXdjQcNm9;p7aYu}"><field name="OP">EQ</field>
                                        <value name="A"><block type="get_value" id="a{jIvxX(!P~DXhfxMt_w"><field name="ATTR">val</field>
                                            <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> 
                                        <value name="B"><block type="logic_boolean" id=";.4wyL9:o2FzO9D({kDd"><field name="BOOL">TRUE</field></block></value></block></value> 
                                    <statement name="DO0"><block type="controls_if" id="+WO^;%uM{yDld8KpVN.7"><value name="IF0"><block type="logic_compare" id="jOrs=8@MLo![35/%@,[)"><field name="OP">EQ</field>
                                            <value name="A"><block type="get_value" id="EU-XFS9q*Wu0Li_KI`13"><field name="ATTR">val</field>
                                                <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field></block></value> 
                                            <value name="B"><block type="math_number" id="zhwR@1A8dbnGp+/Ig9HE"><field name="NUM">0</field></block></value></block></value> 
                                        <statement name="DO0"><block type="control" id="K[){pmIa#0y!8!F!;Ztk"><mutation delay_input="false"></mutation>
                                            <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE"><block type="logic_boolean" id="F]OOPX~sstIRQ!Tvt`{M"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement> 
                                    <next><block type="controls_if" id="q_]V~qgBZyPSS.TKas;0"><value name="IF0"><block type="logic_compare" id="Tk9b/AN=b#97tRD_q^Gm"><field name="OP">EQ</field>
                                            <value name="A"><block type="get_value" id="`7V9zE[FR^.^czOxR;m}"><field name="ATTR">val</field>
                                                <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> 
                                            <value name="B"><block type="logic_boolean" id="SIfgPjex~N(Zd6M6n:7q"><field name="BOOL">FALSE</field></block></value></block></value> 
                                        <statement name="DO0"><block type="controls_if" id="^{l^@LGHW*7]42ZAty:l"><value name="IF0"><block type="logic_compare" id=";T_g!zFZR:;?Ex`o#(h2"><field name="OP">EQ</field>
                                                <value name="A"><block type="get_value" id="EU;WYFgN`#=ISwmxYrVv"><field name="ATTR">val</field>
                                                    <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field></block></value> 
                                                <value name="B"><block type="math_number" id="X.:_9U3X~1hEQ(f(x]^B"><field name="NUM">100</field></block></value></block></value> 
                                            <statement name="DO0"><block type="control" id="99:l#fPN/NPtCAxzg~r|"><mutation delay_input="false"></mutation>
                                                <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE"><block type="logic_boolean" id="j+=.Hzpz0}1o[ACRgqn4"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></next></block></statement></block></statement></block></next></block></xml> 
                        
                        1 Reply Last reply Reply Quote 0
                        • R
                          RappiRN Most Active last edited by

                          So, ich fange mal an, wie ich deine Anforderung verstanden habe.

                          Du möchtest mit einem Schalter im vis beide Rollladen schalten, soll das auch so sein, wenn du direkt am Taster schaltest, oder soll diese "Zwangsgemeinsamkeit" abschaltbar sein, z.B. für Wartungszwecke? Ich würde das so machen.

                          Wenn du beide Fragen mit JA beantworten solltest, kannst du auf diesen Datenpunkt reagieren:

                          ! 2216_rollladen.jpg

                          Die Zustände sind NONE, UP und DOWN. Also würde ich so reagieren, egal welcher Rollladen geschaltet wird, soll der andere in die gleiche Richtung gefahren werden. Damit brauchst du z.B. im vis nur einen Schalter, weil der andere Rollladen ja auch gesteuert wird.

                          ! 2216_rollladen_1.jpg

                          Export:

                          ! ````
                          <xml xmlns="http://www.w3.org/1999/xhtml"><block id="Tvh%OC]%9flS9qajVz}8" type="comment" x="288" y="13"><field name="COMMENT">auf beide "Directions" reagieren</field>
                          <next><block id="hLG*~kY8/q-Ai#3y=@O_" type="on_ext"><mutation items="2"></mutation>
                          <field name="CONDITION">ne</field>

                              <value name="OID0"><shadow id="qoWiEAaAT,Zi(6q*1?V4" type="field_oid"><field name="oid">default</field></shadow></value> 
                              <value name="OID1"><shadow id="X-8p[)B7KTSK-8.G^3JU" type="field_oid"><field name="oid">default</field></shadow></value> 
                              <statement name="STATEMENT"><block id="1X*sc/T`4{*{EgsIXuy1" type="comment"><field name="COMMENT">Rolladen 1</field>
                                  <next><block id="q.Xz]*WpU6*,(j0WQrxb" type="controls_if"><mutation elseif="1"></mutation>
                                      <value name="IF0"><block id="PTN:/48ZB9wJe_-Rn`T}" type="logic_compare"><field name="OP">EQ</field>
                                          <value name="A"><block id="gr+iT.yGJ=[VCIz5sqT%" type="get_value"><field name="ATTR">val</field>
                                              <field name="OID">ID auswählen</field></block></value> 
                                          <value name="B"><block id="H:QBzZ~G*;}~`3uM-VHe" type="text"><field name="TEXT">UP</field></block></value></block></value> 
                                      <statement name="DO0"><block id="d/Z;GT9QAxas?NDioihI" type="comment"><field name="COMMENT">Rollladen2 Level</field>
                                          <next><block id="Rr4ww}KP4d5sD)ETIQ8/" type="control"><mutation delay_input="false"></mutation>
                                              <field name="OID">Object ID</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block id="6;t%P+/|?,`1G-KS6UL#" type="math_number"><field name="NUM">100</field></block></value></block></next></block></statement> 
                                      <value name="IF1"><block id=":K-W41+a//o]y49@a,p+" type="logic_compare"><field name="OP">EQ</field>
                                          <value name="A"><block id="+oQeB:pf!Sw))e|]-qUK" type="get_value"><field name="ATTR">val</field>
                                              <field name="OID">ID auswählen</field></block></value> 
                                          <value name="B"><block id="7}]hAQ5RLh@U{a/xzSXy" type="text"><field name="TEXT">DOWN</field></block></value></block></value> 
                                      <statement name="DO1"><block id="h5|`T)@GWmK.N+bZ8%.?" type="comment"><field name="COMMENT">Rollladen2 Level</field>
                                          <next><block id="D1Mk=}5E_f=/?7a/cG8W" type="control"><mutation delay_input="false"></mutation>
                                              <field name="OID">Object ID</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block id="-n3Y[W9i*0zfw{S.t,*I" type="math_number"><field name="NUM">0</field></block></value></block></next></block></statement> 
                                      <next><block id=";b7]{5P++]}#3!JAJkWw" type="comment"><field name="COMMENT">Rollladen2</field>
                                          <next><block id="6Xamo}E}l6*I`(nxAjXI" type="controls_if"><mutation elseif="1"></mutation>
                                              <value name="IF0"><block id="j%ey!doUjsmK4_QS;-.o" type="logic_compare"><field name="OP">EQ</field>
                                                  <value name="A"><block id="jGe]6}!%4mid@c`WXJzU" type="get_value"><field name="ATTR">val</field>
                                                      <field name="OID">ID auswählen</field></block></value> 
                                                  <value name="B"><block id="Xy|]W^PR{Ue{^57(@+5`" type="text"><field name="TEXT">UP</field></block></value></block></value> 
                                              <statement name="DO0"><block id="hIzf#u@65X-pN[3xET`{" type="comment"><field name="COMMENT">Rolladen 1 Level</field>
                                                  <next><block id="L4:x+uSBI*|O%O?DNF/V" type="control"><mutation delay_input="false"></mutation>
                                                      <field name="OID">Object ID</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block id="Z/Mb6u?rwk5^thGot]ww" type="math_number"><field name="NUM">100</field></block></value></block></next></block></statement> 
                                              <value name="IF1"><block id=")c%/1u0m#=iNpkehqxQo" type="logic_compare"><field name="OP">EQ</field>
                                                  <value name="A"><block id="^[.-yDPY@iY:b_q~BM/#" type="get_value"><field name="ATTR">val</field>
                                                      <field name="OID">ID auswählen</field></block></value> 
                                                  <value name="B"><block id="Ba=*wb?n4nWX`N8,:5m|" type="text"><field name="TEXT">DOWN</field></block></value></block></value> 
                                              <statement name="DO1"><block id="v].nH7~-%l)OL{k{@nwd" type="comment"><field name="COMMENT">Rolladen 1 Level</field>
                                                  <next><block id="zXW;XF!wcnqF~XJ9g)4R" type="control"><mutation delay_input="false"></mutation>
                                                      <field name="OID">Object ID</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block id="wY;3D%OT5tP8m]C_|Zgx" type="math_number"><field name="NUM">0</field></block></value></block></next></block></statement></block></next></block></next></block></next></block></statement></block></next></block></xml> 
                          
                          
                          Damit würden immer beide Rollläden gleichzeitig fahren. Wenn nötig kannst du bei "falls" noch eine zweite Bedingung, eben die oben beschriebene Abschaltung der Zwangsehe ;), einfügen.
                          
                          So nun bin ich mal gespannt was ihr sagt. Zwischendurch kam ja schon der Export, den sehe ich mir mal an! :D
                          
                          Enrico
                          1 Reply Last reply Reply Quote 0
                          • R
                            RappiRN Most Active last edited by

                            Möchtest du die Endpunkte der Rollläden auch visualisieren? Dann würde ich auf die beiden Level triggern, wenn beide 0 dann Datenpunkt = zu wenn beide 100 dann Datenpunkt auf.

                            Zum schalten meines Beispiels kannst du jeden Button nehmen, mit dem du z.B. einen Wert eingeben kannst und damit einen von beiden Rollläden ansteuern. Als i-Tüpfelchen kannst du ja, falls diese Zwangsehe abschaltbar ist, noch Button für den zweiten Rollladen einblenden, wenn Zwangsehe aus! Dann können notfalls auch beide Rollläden separat geschaltet werden.

                            Enrico

                            1 Reply Last reply Reply Quote 0
                            • M
                              mrMuppet last edited by

                              Wow, das sieht schon mal super aus! Vielen Dank RappiRN!

                              Ich glaub ich muss jetzt ins Bett, deshalb werde ich die Umsetzung deiner Ratschläge auf morgen verschieben müssen. Trotzdem schon jetzt vielen Dank!

                              Damit die Intention klarer wird, hier noch ein Bild meines Views. Ich möchte halt für beide Zimmer jeweils nur noch einen Knopf anzeigen:
                              1136_blocky_rolladen_3.gif

                              1 Reply Last reply Reply Quote 0
                              • rantanplan
                                rantanplan last edited by

                                Ich habe einen etwas anderen Ansatz als RappiRN.

                                Seine Idee der "Scheidung" finde ich gut.

                                Grundsätzlich ist es immer ein Problem wenn manuell in einen Automatismus eingegriffen wird.

                                Bei meiner Lösung laufen die Rollos immer in den gleichen Zustand.

                                Auch Beschattungshöhen sind auch möglich.

                                (hoffentlich sind beide Rollos gleich)

                                1. Bedienung über VIS / Variable "virtuelle_datenpunkte….."

                                Wird nicht aktualisiert wenn manuell gefahren wird.

                                Widget einfach klicken um den Zustand zu aktualisieren.

                                Da passiert nicht, weil die aktuellen Level vorher abgefragt werden.

                                2. Steuerung über Taster, egal welcher.
                                147_beispiel.png

                                Zum Importieren

                                ! ````
                                <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="!scELpDHGSp.3mtbL]Fl" x="13" y="-112"><mutation items="1"></mutation>
                                <field name="CONDITION">ne</field>

                                <value name="OID0"><shadow type="field_oid" id="~=)Z(*cdxLCdqgfolX*,"><field name="oid">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></shadow></value> 
                                <statement name="STATEMENT"><block type="controls_if" id="tjFfAB)f!x{S3xOz9]`["><value name="IF0"><block type="logic_compare" id=";Kc@i|8PVcr6TvWcSO0q"><field name="OP">EQ</field>
                                        <value name="A"><block type="get_value" id="Ys7!z9P@QrC*g9n7B/@."><field name="ATTR">val</field>
                                            <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> 
                                        <value name="B"><block type="logic_boolean" id="iHab!h_@Qv3w]Aj3=;:%"><field name="BOOL">TRUE</field></block></value></block></value> 
                                    <statement name="DO0"><block type="procedures_callnoreturn" id="R#fcEQ,w|i3I9Z,qy8N8"><mutation name="etwas tun"><arg name="Level"></arg></mutation> 
                                        <value name="ARG0"><block type="math_number" id="MT[73+2SEc;C,6asW{Jy"><field name="NUM">100</field></block></value></block></statement> 
                                    <next><block type="controls_if" id="pKZ56)aRj;fK#/w/s^x%"><value name="IF0"><block type="logic_compare" id="~=(D0{QQ,HI[qW5l+5Is"><field name="OP">EQ</field>
                                            <value name="A"><block type="get_value" id="O7?d05+Lz/*6Sy~8QRrl"><field name="ATTR">val</field>
                                                <field name="OID">javascript.0.virtuelle_datenpunkte.rolladen_kueche_:oben</field></block></value> 
                                            <value name="B"><block type="logic_boolean" id="4n/_m%haum^#e?2s!PZC"><field name="BOOL">FALSE</field></block></value></block></value> 
                                        <statement name="DO0"><block type="procedures_callnoreturn" id="_jkhL1@9i@.5Cc*-E_WT"><mutation name="etwas tun"><arg name="Level"></arg></mutation> 
                                            <value name="ARG0"><block type="math_number" id="u?FJSD;}]-kw[d6(`J6R"><field name="NUM">0</field></block></value></block></statement></block></next></block></statement> 
                                <next><block type="on_ext" id="o;pq.{)MMWlN#u:d|l7b"><mutation items="2"></mutation>
                                    <field name="CONDITION">ne</field>
                                
                                    <value name="OID0"><shadow type="field_oid" id="EN6WTm@jpMzd!%4X/Mk("><field name="oid">hm-rpc.0.JEQ0109063.1.LEVEL</field></shadow></value> 
                                    <value name="OID1"><shadow type="field_oid" id="AYpOu;p{zWk8|j}QVdd+"><field name="oid">default</field></shadow></value> 
                                    <statement name="STATEMENT"><block type="procedures_callnoreturn" id="#Pr(7/+o:!S1D!+Mb|Bh"><mutation name="etwas tun"><arg name="Level"></arg></mutation> 
                                        <value name="ARG0"><block type="on_source" id="6J~bvl)4q,S!^alYQw2P"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block> 
                                

                                <block type="procedures_defnoreturn" id="Q0a1#E_-?lT|TFt@9R.." x="13" y="363"><mutation><arg name="Level"></arg></mutation>
                                <field name="NAME">etwas tun</field>
                                <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                                <statement name="STACK"><block type="controls_if" id="U7M=GzY2pWZKL6W1-GV"><value name="IF0"><block type="logic_compare" id="@]nTuG+V-Wheas|7mp,8"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="m{~4/%(,RMGKAz4nEL/]"><field name="ATTR">val</field> <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field></block></value> <value name="B"><block type="variables_get" id="k[@]!12ntI0TB6Z~KE%F"><field name="VAR">Level</field></block></value></block></value> <statement name="DO0"><block type="control" id="5!aUf8NkB(/W)hGnF-5"><mutation delay_input="false"></mutation>
                                <field name="OID">hm-rpc.0.JEQ0109063.1.LEVEL</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE"><block type="variables_get" id="4V.9:,^UV:E!mUEy^r^p"><field name="VAR">Level</field></block></value></block></statement>
                                <next><block type="controls_if" id="TDgac.e{5kL`SOp|-,T3"><value name="IF0"><block type="logic_compare" id="mZ)5=0N.nhfFxOu!fa-."><field name="OP">NEQ</field>
                                <value name="A"><block type="get_value" id="Fc|H6ESN6DBDt4DXlX6E"><field name="ATTR">val</field>
                                <field name="OID">ID auswählen</field></block></value>
                                <value name="B"><block type="variables_get" id="7cvl+lOS+t=H%-IKA%."><field name="VAR">Level</field></block></value></block></value>
                                <statement name="DO0"><block type="control" id="a-^g2!M),g%j?fi~)i@7"><mutation delay_input="false"></mutation>
                                <field name="OID">hm-rpc.0.JEQ0107480.1.LEVEL</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE"><block type="variables_get" id="k]S4x:Ng)5^z_wm19Qc
                                "><field name="VAR">Level</field></block></value></block></statement></block></next></block></statement></block></xml>

                                ! ````

                                Die ObjektID des zweiten Rollos muss noch eingesetzt werden.

                                Grüße und Gute Nacht

                                1 Reply Last reply Reply Quote 0
                                • R
                                  RappiRN Most Active last edited by

                                  Da kann man wieder den Wissensstand sehen. Ich habe das ja relativ einfach gemacht, aber ich glaube auch zu verstehen was du da zusammengeklickt hast.Wir lassen mrMuppet einfach mal testen, ob das erreicht wird was er möchte!

                                  Eine Frage hab ich noch: Was meinst du mit:

                                  @rantanplan:

                                  Grundsätzlich ist es immer ein Problem wenn manuell in einen Automatismus eingegriffen wird. ` ?

                                  In welchen Automatismus wird denn deiner Meinung nach eingegriffen? Die Rollläden (oder Rollladen?) fahren doch trotzdem automatisch hoch und runter!? :?:

                                  Enrico

                                  1 Reply Last reply Reply Quote 0
                                  • rantanplan
                                    rantanplan last edited by

                                    @RappiRN:

                                    In welchen Automatismus wird denn deiner Meinung nach eingegriffen? Die Rollläden (oder Rollladen?) fahren doch trotzdem automatisch hoch und runter!? :?: `
                                    Der "Automatismus" ist Variable schalten = beide Rollos fahren rauf/runter.

                                    Man hat aber die Möglichkeit über einen Taster die Rollos manuell zu schalten.

                                    Schon hat man eingegriffen und man muss ein Konstrukt bauen um dies wieder auszugleichen.

                                    Und dieses Konstrukt kann sehr umfangreich werden.

                                    Denke z.B. an die Aktualisierung der Variablen, damit der Zustand in VIS aktuell dargestellt wird.

                                    OK. Man kann sie im Blockly entsprechen anpassen.

                                    Die wird aber auch gleichzeitig getriggert!

                                    Und schon geht's los. Zwischenvariable, aktuellen Zustand, vorherigen Zustand usw. usw.

                                    Das kann schon umfangreich und unübersichtlich werden.

                                    Und hier geht es nur um 2 Rolladen EDIT: hier stand was dummes

                                    Grüße

                                    1 Reply Last reply Reply Quote 0
                                    • First post
                                      Last post

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    467
                                    Online

                                    31.7k
                                    Users

                                    79.8k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    16
                                    1141
                                    Loading More Posts
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                    The ioBroker Community 2014-2023
                                    logo