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. (Frage) logik Problem Blocky

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    21
    1
    820

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

(Frage) logik Problem Blocky

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
16 Beiträge 3 Kommentatoren 1.2k Aufrufe
  • Ä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.
  • M Offline
    M Offline
    mrMuppet
    schrieb am zuletzt editiert von
    #1

    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! :-)

    ioBroker auf NUC (Celeron mit Ubuntu-Server)

    Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

    1 Antwort Letzte Antwort
    0
    • R Offline
      R Offline
      RappiRN
      Most Active
      schrieb am zuletzt editiert von
      #2

      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 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        mrMuppet
        schrieb am zuletzt editiert von
        #3

        @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… ??

        ioBroker auf NUC (Celeron mit Ubuntu-Server)

        Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          mrMuppet
          schrieb am zuletzt editiert von
          #4

          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?

          ioBroker auf NUC (Celeron mit Ubuntu-Server)

          Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

          1 Antwort Letzte Antwort
          0
          • rantanplanR Online
            rantanplanR Online
            rantanplan
            schrieb am zuletzt editiert von
            #5

            @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

            Rantanplan

            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

            1 Antwort Letzte Antwort
            0
            • rantanplanR Online
              rantanplanR Online
              rantanplan
              schrieb am zuletzt editiert von
              #6

              @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

              Rantanplan

              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

              1 Antwort Letzte Antwort
              0
              • R Offline
                R Offline
                RappiRN
                Most Active
                schrieb am zuletzt editiert von
                #7

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

                Enrico

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  mrMuppet
                  schrieb am zuletzt editiert von
                  #8

                  @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

                  ioBroker auf NUC (Celeron mit Ubuntu-Server)

                  Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                  1 Antwort Letzte Antwort
                  0
                  • rantanplanR Online
                    rantanplanR Online
                    rantanplan
                    schrieb am zuletzt editiert von
                    #9

                    @mrMuppet:

                    Sehr gerne! Danke. `

                    Stell doch mal einen Export rein.

                    Dann können wir besser basteln.

                    Grüße

                    Rantanplan

                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                    1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      mrMuppet
                      schrieb am zuletzt editiert von
                      #10

                      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> 
                      

                      ioBroker auf NUC (Celeron mit Ubuntu-Server)

                      Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                      1 Antwort Letzte Antwort
                      0
                      • R Offline
                        R Offline
                        RappiRN
                        Most Active
                        schrieb am zuletzt editiert von
                        #11

                        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 Antwort Letzte Antwort
                        0
                        • R Offline
                          R Offline
                          RappiRN
                          Most Active
                          schrieb am zuletzt editiert von
                          #12

                          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 Antwort Letzte Antwort
                          0
                          • M Offline
                            M Offline
                            mrMuppet
                            schrieb am zuletzt editiert von
                            #13

                            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

                            ioBroker auf NUC (Celeron mit Ubuntu-Server)

                            Homematic, HMIP, Hue, Unifi, Plex, Nest, Roborock, Google Assistant

                            1 Antwort Letzte Antwort
                            0
                            • rantanplanR Online
                              rantanplanR Online
                              rantanplan
                              schrieb am zuletzt editiert von
                              #14

                              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

                              Rantanplan

                              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                              1 Antwort Letzte Antwort
                              0
                              • R Offline
                                R Offline
                                RappiRN
                                Most Active
                                schrieb am zuletzt editiert von
                                #15

                                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 Antwort Letzte Antwort
                                0
                                • rantanplanR Online
                                  rantanplanR Online
                                  rantanplan
                                  schrieb am zuletzt editiert von
                                  #16

                                  @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

                                  Rantanplan

                                  CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                  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.5k

                                  Benutzer

                                  81.6k

                                  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