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. Rolladensteuerung errechnen des Standes

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

Rolladensteuerung errechnen des Standes

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
38 Beiträge 13 Kommentatoren 8.0k Aufrufe 5 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.
  • W Offline
    W Offline
    wecker6789
    schrieb am zuletzt editiert von
    #7

    Ich danke euch trotzdem.

    Ja das hast du Recht ich bin leider nie dazu gekommen mich mit JavaScript zu befassen.

    Bin immer nur bei C++ geblieben.

    Dadurch war ich froh das es Blockly gibt.

    Aber in die Feinheiten muss ich mich noch ein arbeiten.

    Das mit dem True und False muss ich noch erledigen das stimmt.

    Nun probiere ich mich nur noch an Sommer und Winterzeit.

    Wie macht ihr das ?

    Abhängig vom Datum oder macht ihr zwei Programme und schaltet dann per Hand zum richtigen Zeitpunkt um?

    Ich habe leider keine Temperatur/Helligkeitssensoren außen am Haus.

    Die Lage der elektrischen Rollos würde das eh nicht helfen, da ich selten direkte Sonneneinstrahlung durch diese Fenster habe.

    Mir würde es eher um Einbruchschutz und Energie Gewinnung / Verlust im Winter und Sommer gehen.

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

      @wecker6789:

      Gibt es denn überhaupt die Möglichkeit in einem Scipt mitlesen zu lassen wie lange ein gewählter Ausgang angesteuert wird? `
      Es gibt so etwas wie "letzte Änderung". Habe aber jetzt kein Beispiel.

      So könnte es auch gehen.
      147_beispiel.png

      @wecker6789:

      Aber wenn die Laufzeiten unterschiedlich sind zum Hoch oder Runter fahren könnte man das ja gegen rechnen. `
      So einfach ist es leider nicht ;)

      Selbst wenn wir sagen "Der Motor läuft in einer Richtung immer gleich schnell"

      Aber das sichtbare Ende des Rollos bewegt sich unterschiedlich schnell.

      Der Durchmesser der Rolle auf dem das Rollo auf- oder abgedreht wird ändert sich.

      Wenn man IMMER NUR KOMPLETT auf und zu fährt geht das.

      Aber wenn man von 0% auf 10% auf 40% auf 20% auf 50% usw. fährt geht's ins Auge.

      Selbst HM Aktoren machen bei so etwas zwischendurch Kontrollfahrten.

      D.h. sie fahren zwischendurch eine Endposition an.

      Grüße

      Rantanplan

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

      1 Antwort Letzte Antwort
      0
      • W Offline
        W Offline
        wecker6789
        schrieb am zuletzt editiert von
        #9

        Mist stimmt die fahren ja nicht gleichmäßig herunter.

        Den Gedanken hatte ich mal.

        Müsste ich ggf. durch eine Formel lösen die natürlich pro Fenster unterschiedlich wäre.

        ich habe quasi 3 Klassen von Fenstern mit unterschiedlichen Größen.

        Heißt sechs Formeln aufstellen.

        Damit beschäftige ich mich mal morgen.

        Danke euch.

        Und eine Gute Nacht.

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

          @wecker6789:

          Nun probiere ich mich nur noch an Sommer und Winterzeit.

          Wie macht ihr das ? `
          Anderes Thema. Bitte neuen Thread erstellen.

          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
            #11

            @wecker6789:

            Heißt sechs Formeln aufstellen.

            Damit beschäftige ich mich mal morgen. `
            Na, auf diese Formel bin ich mal gespannt.

            Durchmesser der Walzenrolle, Wandstärke des Rollos, Durchmesser Rollorolle, Länge des Rollos, Bewegung rauf oder runter usw. usw.usw.

            Falls gelöst und Dein Rechner während der Echtzeitberechnung noch Zeit für etwas hat, bitte hier posten ;)

            Grüße

            Rantanplan

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

            1 Antwort Letzte Antwort
            0
            • AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              schrieb am zuletzt editiert von
              #12

              Der Geschwindigkeitsunterschied in Abhängigkeit vom Motor-Winkel sollte sich näherungsweise über Volumenkonstanz berechnen lassen.

              "Rohr"volumen des Rollos im Kasten + "Platten"volumen des Rollos vorm Fenster = konstant.
              

              So schrecklich aufwändig ist das nicht in der Berechnung, erfordert aber etwas Hirnschmalz.

              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

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

                @AlCalzone:

                Der Geschwindigkeitsunterschied in Abhängigkeit vom Motor-Winkel sollte sich näherungsweise über Volumenkonstanz berechnen lassen.

                "Rohr"volumen des Rollos im Kasten + "Platten"volumen des Rollos vorm Fenster = konstant.
                

                So schrecklich aufwändig ist das nicht in der Berechnung, erfordert aber etwas Hirnschmalz. `

                Ein paar Parameter fehlen mir da aber noch.

                Allein die "Anfangsparameter" zu ermitteln ist fast unmöglich.

                Ich habe z.B. auf einer Etage 17 Rollos. Und fast alle sind unterschiedlich (Altbau).

                Wenn die Rollos unten sind, sind einige mehr oder weniger von der Motorwalze abgerollt.

                Einige sind komplett abgerollt und 10 bis 20 cm Metallzugbänder liegen zwischen Motorwalze und Rollo.

                Allein da hast Du schon 2 unterschiedliche "Platten"volumen. So ein Metallband ist nur ca. 1 mm stark.

                Ich bin kein Mathematiker. Aber immer interessiert. ;)

                Passt ja alles noch zum Thema dieses Threads :D

                Vielleicht findest Du (oder jemand anders) die richtige Formel.

                E=mc zum Quadrat ist ja auch nicht so kompliziert. :D

                Grüße

                Rantanplan

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

                1 Antwort Letzte Antwort
                0
                • AlCalzoneA Offline
                  AlCalzoneA Offline
                  AlCalzone
                  Developer
                  schrieb am zuletzt editiert von
                  #14

                  @rantanplan:

                  Ich habe z.B. auf einer Etage 17 Rollos. Und fast alle sind unterschiedlich (Altbau). `
                  Ich habe nicht behauptet dass die Parameteridentifikation einfach wäre :lol:

                  Ein Ansatz wäre folgender, ob er funktioniert muss sich noch zeigen:

                  • Formel aufstellen und nach %Position(Zeit, Max-Zeit) umstellen. Mit Max-Zeit könnte die unterschiedliche Geschwindigkeit hoch/runter berücksichtigt werden.

                  • So viele wie mögliche Unbekannte zu einer "Rollladenkonstante" zusammenfassen

                  Für jeden Rollladen wäre dann folgendes zu tun:

                  • Ein paar Messwerte aufstellen durch Anfahren bestimmter Positionen aus dem Nullpunkt

                  • Durch Curve-Fitting die Rollladenkonstante bestimmen.

                  Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                  1 Antwort Letzte Antwort
                  0
                  • snotechS Offline
                    snotechS Offline
                    snotech
                    schrieb am zuletzt editiert von
                    #15

                    Hallo,

                    bin gerade beim gleichen Thema, Hat es bei einem denn nun geklappt?

                    Kann jemand von euch denn den fertigen Code hier posten?

                    Ob die Rollladen nun bei 50% reell bei 55% steht ist mir nicht wirklich wichtig und macht sicher auch nur bei sehr langen Rollladen was aus.

                    Durchmesser = Umfang/ Pi

                    Gruß

                    SNO

                    1 Antwort Letzte Antwort
                    0
                    • paul53P Offline
                      paul53P Offline
                      paul53
                      schrieb am zuletzt editiert von paul53
                      #16

                      @wecker6789:

                      Bin immer nur bei C++ geblieben. `

                      Dann sollte Dir Javascript nicht schwer fallen.

                      @wecker6789:

                      Gibt es denn überhaupt die Möglichkeit in einem Scipt mitlesen zu lassen wie lange ein gewählter Ausgang angesteuert wird?

                      Ja, einfach ist die Abfrage der Einschaltdauer im Zeitpunkt des Ausschaltens.

                      const idHoch = '...';  // Aktor "hoch fahren"
                      const idPos = '...';  // Postion
                      const faktor = ...;  // Faktor Umrechnung dt(ms) --> dPos(%)
                      
                      var pos = getState(idPos).val; // Position bei Skriptstart
                      
                      on(idHoch, function(dp) {
                         if(!dp.state.val) {  // Aktor schaltet aus
                            var thoch = dp.state.lc - dp.oldState.lc;  // Einschaltdauer im ms
                            pos = pos + faktor * thoch;  // neue Postion
                            setState(idPos, pos, true);
                         }
                      });
                      

                      Runterfahren funktioniert analog.

                      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
                      • snotechS Offline
                        snotechS Offline
                        snotech
                        schrieb am zuletzt editiert von
                        #17

                        Ja wie bekomme ich dies nun in Blocky? :?:

                        Bei Import zeigt er mir einen Fehler, weil es ja kein Java ist.

                        Gruß SNO

                        1 Antwort Letzte Antwort
                        0
                        • B Offline
                          B Offline
                          bishop
                          schrieb am zuletzt editiert von
                          #18

                          das würde mich auch interessieren wie man das hin bekommt.

                          1 Antwort Letzte Antwort
                          0
                          • snotechS Offline
                            snotechS Offline
                            snotech
                            schrieb am zuletzt editiert von
                            #19

                            Hallo

                            ich habe etwas gebraucht um nun alles zu programieren.

                            Man braucht unter Objekten 4 Variablen. Im meinen fall sind dies:

                            Rollo_Bad (Art:Zahl 0-100)

                            Rollo_Bad_Richtung (Art: Zeichenkette auf/zu)

                            Rollo_Bad_Schalter (Art: Logikwert)

                            Rollo_Bad_Soll (Art:Zahl 0-100)

                            https://www.bilder-upload.eu/bild-b720ea-1541794454.png.html ~~Die "Schalter" sind:

                            Rollade Bad zu

                            Rollade Bad auf

                            zum Importieren im Skript:
                            ` > <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">

                            <block type="on" id="-hk[!J4+#8`b#1q/4]@1" x="-37" y="-337"><field name="OID">admin.0.Rollo_Bad_Soll</field>

                            <field name="CONDITION">ne</field>

                            <statement name="STATEMENT"><block type="timeouts_clearinterval" id="f]HBYG*K(=-v.dS-g?VD"><field name="NAME">unsereSchleife</field>

                            <next><block type="comment" id="awGc9FNE!0|4f8r7)jJk"><field name="COMMENT">Falls Schalter ein = ein dann schalte Motor aus und Schalter aus</field>

                            <next><block type="controls_if" id="MCuL(lHsfnfQDj}DV2hl"><value name="IF0"><block type="get_value" id="-Gl~mJe;TN+k%(Iw^x(2"><field name="ATTR">val</field>

                            <field name="OID">admin.0.Rollo_Bad_Schalter</field></block></value>

                            <statement name="DO0"><block type="update" id="Zm5UmM@kZow{jwL]./^:"><mutation delay_input="false"></mutation>

                            <field name="OID">admin.0.Neues_Objekt</field>

                            <field name="WITH_DELAY">FALSE</field>

                            <value name="VALUE"><block type="logic_boolean" id="V2D}sN!5!T{+UoJzc%PS"><field name="BOOL">TRUE</field></block></value>

                            <next><block type="controls_if" id="tYCDMgP;ffC`1d6h(;u)"><mutation else="1"></mutation>

                            <value name="IF0"><block type="logic_compare" id="zTc+?_%f1zN{5?7Txyy;"><field name="OP">EQ</field>

                            <value name="A"><block type="get_value" id="f/%q~^7}G8Jet6M,oT+~"><field name="ATTR">val</field>

                            <field name="OID">admin.0.Rollo_Bad_Richtung</field></block></value>

                            <value name="B"><block type="text" id="1|b`xNcJE)8E5oc[f5O]"><field name="TEXT">zu</field></block></value></block></value>

                            <statement name="DO0"><block type="toggle" id="{A:CeIf?#uKBIf{9NhxX"><mutation delay_input="false"></mutation>

                            <field name="OID">broadlink.0.learnedSignals.Rollade Bad zu</field>

                            <field name="WITH_DELAY">FALSE</field></block></statement>

                            <statement name="ELSE"><block type="toggle" id="|9,:zHv*YDCAt~Bsu9mI"><mutation delay_input="false"></mutation>

                            <field name="OID">broadlink.0.learnedSignals.Rollade Bad auf</field>

                            <field name="WITH_DELAY">FALSE</field></block></statement>

                            <next><block type="control" id="]Rd=9XO%jtM8E6.x*yGD"><mutation delay_input="false"></mutation>

                            <field name="OID">admin.0.Rollo_Bad_Schalter</field>

                            <field name="WITH_DELAY">FALSE</field>

                            <value name="VALUE"><block type="logic_boolean" id="[[M#TNHtXz}W6CB}d+N-"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></statement>

                            <next><block type="variables_set" id="B7o=+#^;E:inQxfXLXx="><field name="VAR">counter</field>

                            <value name="VALUE"><block type="get_value" id="Yd,v6dy3n+o#NB`g:8~Q"><field name="ATTR">val</field>

                            <field name="OID">admin.0.Rollo_Bad</field></block></value>

                            <next><block type="comment" id="ut(S}7vCe;0gXa;1A86;"><field name="COMMENT">Prüfe Richtung / Schalte Motor / Schalte Schalter / Speicher Richtung</field>

                            <next><block type="controls_if" id="}Tc[x6-r-We.*]#7;jPP"><mutation elseif="1"></mutation>

                            <value name="IF0"><block type="logic_compare" id="h(U(pOI6[8Bcr{J_Mldf"><field name="OP">LT</field>

                            <value name="A"><block type="get_value" id="V6d+wMK88Xr?le}6U#o!"><field name="ATTR">val</field>

                            <field name="OID">admin.0.Rollo_Bad_Soll</field></block></value>

                            <value name="B"><block type="get_value" id="kHzj#w6l2ceAJ1|wBUlv"><field name="ATTR">val</field>

                            <field name="OID">admin.0.Rollo_Bad</field></block></value></block></value>

                            <statement name="DO0"><block type="variables_set" id="!wFi^Iw0}bFVGTf}r?/z"><field name="VAR">richtung</field>

                            <value name="VALUE"><block type="math_number" id="S:#VTX+#[dIZU:0WG=b{"><field name="NUM">-1</field></block></value>

                            <next><block type="toggle" id="J(-*+5mgUSiz%!E@ljs7"><mutation delay_input="true"></mutation>

                            <field name="OID">broadlink.0.learnedSignals.Rollade Bad zu</field>

                            <field name="WITH_DELAY">TRUE</field>

                            <field name="DELAY_MS">700</field>

                            <field name="UNIT">ms</field>

                            <field name="CLEAR_RUNNING">FALSE</field>

                            <next><block type="control" id="Z%#8`8Vzxg6{tDeNP[x_"><mutation delay_input="false"></mutation>

                            <field name="OID">admin.0.Rollo_Bad_Schalter</field>

                            <field name="WITH_DELAY">FALSE</field>

                            <value name="VALUE"><block type="logic_boolean" id="MmWqv/n8#k73vUL`BpYr"><field name="BOOL">TRUE</field></block></value>

                            <next><block type="update" id=";%p[[s2Gwwk+aVAgRwO#"><mutation delay_input="false"></mutation>

                            <field name="OID">admin.0.Rollo_Bad_Richtung</field>

                            <field name="WITH_DELAY">FALSE</field>

                            <value name="VALUE"><block type="text" id="Xd-dwd4As,E1C.:p.!Js"><field name="TEXT">zu</field></block></value></block></next></block></next></block></next></block></statement>

                            <value name="IF1"><block type="logic_compare" id="JBN*igDsyu|e0Am!R8Yn"><field name="OP">GT</field>

                            <value name="A"><block type="get_value" id="bNZ8{hmyy!w(iS)DjqQ_"><field name="ATTR">val</field>

                            <field name="OID">admin.0.Rollo_Bad_Soll</field></block></value>

                            <value name="B"><block type="get_value" id="2Ye37!J|Sunn8{+g/Kjc"><field name="ATTR">val</field>

                            <field name="OID">admin.0.Rollo_Bad</field></block></value></block></value>

                            <statement name="DO1"><block type="variables_set" id="o0nK17BbK[o8j|Jsmc_1"><field name="VAR">richtung</field>

                            <value name="VALUE"><block type="math_number" id="Ns-Qe5gi1*(/nHScjWkZ"><field name="NUM">1</field></block></value>

                            <next><block type="toggle" id="lpj{5gS?^hg~4M,fdfk|"><mutation delay_input="true"></mutation>

                            <field name="OID">broadlink.0.learnedSignals.Rollade Bad auf</field>

                            <field name="WITH_DELAY">TRUE</field>

                            <field name="DELAY_MS">700</field>

                            <field name="UNIT">ms</field>

                            <field name="CLEAR_RUNNING">FALSE</field>

                            <next><block type="control" id="TfpbWV?LIl[Df%~^/~rQ"><mutation delay_input="false"></mutation>

                            <field name="OID">admin.0.Rollo_Bad_Schalter</field>

                            <field name="WITH_DELAY">FALSE</field>

                            <value name="VALUE"><block type="logic_boolean" id="[D^-5I=-zE0Qc;wW|xo/"><field name="BOOL">TRUE</field></block></value>

                            <next><block type="update" id="}b|}p_*@pc(#Xu=0;tW8"><mutation delay_input="false"></mutation>

                            <field name="OID">admin.0.Rollo_Bad_Richtung</field>

                            <field name="WITH_DELAY">FALSE</field>

                            <value name="VALUE"><block type="text" id="b;KFd90|IQEuaN(?R;"><field name="TEXT">auf</field></block></value></block></next></block></next></block></next></block></statement>

                            <next><block type="comment" id="b_;Ju]{ELW;i]{59,fG]"><field name="COMMENT">Zustand aktualisieren und Ende wenn Soll erreicht oder max (min fehlt noch)</field>

                            <next><block type="timeouts_setinterval" id="w]h?In(s!~d]I7QmfTd;"><field name="NAME">unsereSchleife</field>

                            <field name="INTERVAL">700</field>

                            <field name="UNIT">ms</field>

                            <statement name="STATEMENT"><block type="math_change" id="Fqr?I-7F()/dgF}wm:k9"><field name="VAR">counter</field>

                            <value name="DELTA"><shadow type="math_number" id=":c]qbMuR*(79!fD=t8l*"><field name="NUM">1</field></shadow>

                            <block type="variables_get" id="GNi4=q!R,!_Y*NJe7mcj"><field name="VAR">richtung</field></block></value>

                            <next><block type="control_ex" id="+BX6DN?T!Mk~`;W-Gzdf"><field name="TYPE">true</field>

                            <field name="CLEAR_RUNNING">FALSE</field>

                            <value name="OID"><shadow type="field_oid" id="{r/:GqC=J.*~jm;B.EmA"><field name="oid">admin.0.Rollo_Bad</field></shadow></value>

                            <value name="VALUE"><shadow type="logic_boolean" id="uPjr7F%~]C)m-@x#fCY8"><field name="BOOL">TRUE</field></shadow>

                            <block type="variables_get" id="4b2yl12okSme#F1|M5`r"><field name="VAR">counter</field></block></value>

                            <value name="DELAY_MS"><shadow type="math_number" id="K@BUQtiO,0ixd^%~xX|y"><field name="NUM">0</field></shadow></value>

                            <next><block type="controls_if" id="|PmR)v+f1fTNuF-jwq/t"><value name="IF0"><block type="logic_compare" id=".=a8}2|b=IagAT(IcHvn"><field name="OP">EQ</field>

                            <value name="A"><block type="variables_get" id="oJ]wUkRi305|L4Eb=R.7"><field name="VAR">counter</field></block></value>

                            <value name="B"><block type="get_value" id="NJ0i:.g}8z8nK_iz~~"><field name="ATTR">val</field>

                            <field name="OID">admin.0.Rollo_Bad_Soll</field></block></value></block></value>

                            <statement name="DO0"><block type="controls_if" id="?)00a5]PBzo!.-e@uP8_"><mutation elseif="1"></mutation>

                            <value name="IF0"><block type="logic_compare" id="bK#T3t10hj|iY/ynh{#*"><field name="OP">EQ</field>

                            <value name="A"><block type="variables_get" id="}~P#d6He`.2OnQJpIQel"><field name="VAR">richtung</field></block></value>

                            <value name="B"><block type="math_number" id="j:d_/wiP}M^B^rF)@+~p"><field name="NUM">-1</field></block></value></block></value>

                            <statement name="DO0"><block type="toggle" id="]eWfOnW!.Vyqlz.RC?ku"><mutation delay_input="false"></mutation>

                            <field name="OID">broadlink.0.learnedSignals.Rollade Bad zu</field>

                            <field name="WITH_DELAY">FALSE</field>

                            <next><block type="control" id="(~oMiIm[VMzq!iJLS.zz"><mutation delay_input="false"></mutation>

                            <field name="OID">admin.0.Rollo_Bad_Schalter</field>

                            <field name="WITH_DELAY">FALSE</field>

                            <value name="VALUE"><block type="logic_boolean" id="/wOr*aMbI~Y#+|`9Nk@k"><field name="BOOL">FALSE</field></block></value></block></next></block></statement>

                            <value name="IF1"><block type="logic_compare" id="u!^KI*te/sQ)-FCt`WEQ"><field name="OP">EQ</field>

                            <value name="A"><block type="variables_get" id=".rNO3Y}X4S;?1.5^MTCs"><field name="VAR">richtung</field></block></value>

                            <value name="B"><block type="math_number" id="MU`jx6Ns=o};Qvl!1o_7"><field name="NUM">1</field></block></value></block></value>

                            <statement name="DO1"><block type="toggle" id="Mq3c}.%ajCvNiDF-Ao83"><mutation delay_input="false"></mutation>

                            <field name="OID">broadlink.0.learnedSignals.Rollade Bad auf</field>

                            <field name="WITH_DELAY">FALSE</field>

                            <next><block type="control" id="%c|Ve@)S+w!iCqNEE.1N"><mutation delay_input="false"></mutation>

                            <field name="OID">admin.0.Rollo_Bad_Schalter</field>

                            <field name="WITH_DELAY">FALSE</field>

                            <value name="VALUE"><block type="logic_boolean" id="*jWSJ|l=0XP8-GUNjVCd"><field name="BOOL">FALSE</field></block></value></block></next></block></statement>

                            <next><block type="timeouts_clearinterval" id="DCt0zTxKV#udTsqNd90x"><field name="NAME">unsereSchleife</field></block></next></block></statement>

                            <next><block type="controls_if" id="WJDqh;fUDlnlZBuXoLp{"><value name="IF0"><block type="logic_compare" id="XeA0m#q.5UI%J1]jW6"><field name="OP">EQ</field>

                            <value name="A"><block type="variables_get" id="=h[@TF=f#}NWpW{ugFa["><field name="VAR">counter</field></block></value>

                            <value name="B"><block type="math_number" id="@|9RCDK(KI,3EB+w!y,+"><field name="NUM">101</field></block></value></block></value>

                            <statement name="DO0"><block type="timeouts_clearinterval" id="*Y6H)Sz]Vl717wjw7LP#"><field name="NAME">unsereSchleife</field></block></statement></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement>

                            <next><block type="comment" id="q?Sa)Lu@zN|9etj.9YG}"><field name="COMMENT">rolllade variabel</field></block></next></block></xml> `

                            Ich hoffe ihr könnt was damit anfangen.

                            Rollo_Bad_Soll (Art:Zahl 0-100) kann nun in Vis eingefügt werden und schon funktioniert es. :D~~ 5992_rolllade.png

                            A 1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              Skrella
                              schrieb am zuletzt editiert von
                              #20

                              Hallo,

                              Ich hänge gerade etwas mit meiner Rolladensteuerung in der Luft und wäre über frischen Input / Erfahrungsaustausch sehr dankbar.

                              Hier kurz etwas zum aktuellen Stand der Dinge:

                              Ich habe Jarolift Rolladen im ganzen Haus verbaut und steuere diese über ein an der Jarolift-Fernbedienung angeschlossenes Sonoff 4Ch Modul.

                              Die Darstellung der Rolldadenposition habe ich über ein an der Rollade befestigten Fensterkontakt und seitlich an der Führungsschiene angebrachte Magnete realisiert. Fährt das Rollo runter, startet ein Skript und zählt die abgefahrenen Magnete. Anschließend wird die Position in VIS über das hqwidget Window and Shutter dargestellt. Das funktioniert soweit auch ganz gut…

                              Jetzt zu meinem Prolem:

                              Momentan dient das HQ-Widget "nur" als Output/Anzeige der aktuellen Position. Über das Widget kann man nun ja auch einen Wert dem Rollo übergeben. Das wollte ich nun noch mit in VIS implementieren und stoße an meine Grenzen. Da ich nun ein und dieselbe Variable (Rolloposition) sowohl als Output für die visuelle Anzeige in VIS als auch als Input für das ansteuern des Rollos habe. Das klappt natürlich nicht... zumindest weiss ich nicht wie :oops:

                              Ist es möglich z.B. zwei hqwidget's in VIS übereinander zulegen, das untere (z-Ebene 0) nur als optische Anzeige zu verwenden (wie es momentan schon läuft) und das zweite (z-Ebene 1) transparent darüber zu legen? Über das transparente würde dann der Input für die Rolloposition erfolgen. Bedeutet natürlich auch, dass das zweite Widget nur in der Fenter-Anzeige transparent sein darf. Nachdem man darauf klickt und sich das Rollo offnet in dem man die Position übergibt, müsste es natürlich sichtbar werden. Das hätte den Charme, dass ich einem Rollo 2 Variablen zuordnen könnte.

                              Vielleicht gibt es ja noch eine elegantere Methode mein Vorhaben umzusetzen... Bin für jede Hilfe sehr Dankbar

                              1 Antwort Letzte Antwort
                              0
                              • snotechS Offline
                                snotechS Offline
                                snotech
                                schrieb am zuletzt editiert von
                                #21

                                Inerreasnnter Ansatz mit den Fensterkontakt aber is dies nicht zu kostenintensiev?

                                Wie viele Kontakte hast du den an einer Rollade verbaut?

                                Mit den Variabelen wäre es doch einfacher die zu trennen.

                                Gruß

                                SNO

                                1 Antwort Letzte Antwort
                                0
                                • J Offline
                                  J Offline
                                  Jan1
                                  schrieb am zuletzt editiert von
                                  #22

                                  Also das ganze über die Zeit zu bestimmen ist recht simpel und wenn mans schon mit nem Sonoff macht, gibt's von StefanBode eine Fork der Tasmota, da braucht man nicht mal ein Script dazu, weil das schon die Tasmota intern macht. Einziges Problem, der Sonoff Adapter verwendet das MQT Topic der aktuellen Position des Rollladen von Tasmota nicht und legt folglich auch keinen DP für den aktuellen Stand an. Dazu habe ich aber auch schon ein Issues auf Github geschrieben, allerdings hat sich dazu leider noch keiner geäußert.

                                  1 Antwort Letzte Antwort
                                  0
                                  • D Offline
                                    D Offline
                                    dos1973
                                    schrieb am zuletzt editiert von
                                    #23

                                    @Skrella:

                                    Die Darstellung der Rolldadenposition habe ich über ein an der Rollade befestigten Fensterkontakt und seitlich an der Führungsschiene angebrachte Magnete realisiert. Fährt das Rollo runter, startet ein Skript und zählt die abgefahrenen Magnete. Anschließend wird die Position in VIS über das hqwidget Window and Shutter dargestellt. Das funktioniert soweit auch ganz gut… `

                                    Du Fuchs!! Das finde ich super genial,

                                    du hast den Kontakt aussen am Rolladen angebracht? Welche hast du genutzt und wie siehts mit der Batterie Laufzeit aus, mit Hinblick auf Minustemperaturen im Winter

                                    1 Antwort Letzte Antwort
                                    0
                                    • J Offline
                                      J Offline
                                      Jan1
                                      schrieb am zuletzt editiert von
                                      #24

                                      Na dann beachte mal den Aufwand wenn so ca. 15 Rollläden auswerten willst :lol:

                                      Warum nicht der FW das überlassen und einfach den DP danach fragen?

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        Skrella
                                        schrieb am zuletzt editiert von
                                        #25

                                        @snotech:

                                        Inerreasnnter Ansatz mit den Fensterkontakt aber is dies nicht zu kostenintensiev?

                                        Wie viele Kontakte hast du den an einer Rollade verbaut?

                                        Mit den Variabelen wäre es doch einfacher die zu trennen.

                                        Gruß

                                        SNO `

                                        ein Fensterkontakt (Xiaomi) und an der Seite 4 Magnete geklebt die beim vobeifahren des Rollos den Fensterkontakt auslösen.

                                        Zum trennen der Variablen, wüsste ich im Moment nicht wie. Über das Rolladen-Widget habe ich momentan die Ausgabe und möchte in Zukunft darüber auch das Rollo steuern… sprich ich hätte eine zweite Variable. Wie soll das gehen?

                                        Gruß

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          Skrella
                                          schrieb am zuletzt editiert von
                                          #26

                                          @dos1973:

                                          @Skrella:

                                          Die Darstellung der Rolldadenposition habe ich über ein an der Rollade befestigten Fensterkontakt und seitlich an der Führungsschiene angebrachte Magnete realisiert. Fährt das Rollo runter, startet ein Skript und zählt die abgefahrenen Magnete. Anschließend wird die Position in VIS über das hqwidget Window and Shutter dargestellt. Das funktioniert soweit auch ganz gut… `

                                          Du Fuchs!! Das finde ich super genial,

                                          du hast den Kontakt aussen am Rolladen angebracht? Welche hast du genutzt und wie siehts mit der Batterie Laufzeit aus, mit Hinblick auf Minustemperaturen im Winter `

                                          Den Kontakt habe ich von der Innenseite angebracht, was die Batterielaufzeit angeht, kann ich dir noch nichts sagen. Habe das ganze System erst vor zwei Monaten Stück für Stück aufgebaut und die Batterien der Fensterkontakte sind noch recht frisch. Frag mich im Frühjahr noch mal ;)

                                          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

                                          701

                                          Online

                                          32.6k

                                          Benutzer

                                          82.0k

                                          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