Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Verständnisfrage: Virtuelle Schalter und nutzen in Blockly

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    719

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

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

Verständnisfrage: Virtuelle Schalter und nutzen in Blockly

Scheduled Pinned Locked Moved Blockly
58 Posts 5 Posters 5.7k Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P paul53

    @topsurfer sagte: %-Zahl mitgeben

    Zum Anzeigen der Position erstelle einen Datenpunkt "0_userdata.0.OG.Rollladen.Empore.Position" vom Typ "Zahl", Einheit "%" und schreibe den mit dem Blockly:

    Blockly_temp.JPG

    Zum Importieren:

    <xml xmlns="https://developers.google.com/blockly/xml">
     <variables>
       <variable id="ubynHLy4Dkh(Bv|X]_*t">Laufzeit</variable>
       <variable id="~Us6?lh=kFptMa4QP{$0">delta</variable>
       <variable type="interval" id="Intervall">Intervall</variable>
       <variable id="tlq{(llW7V(^GQehrm$.">Position</variable>
     </variables>
     <block type="variables_set" id="^fYO/}KqtQShj`:mjfuz" x="437" y="13">
       <field name="VAR" id="ubynHLy4Dkh(Bv|X]_*t">Laufzeit</field>
       <value name="VALUE">
         <block type="math_number" id="oyoWG$hfc:fFIa52SAm{">
           <field name="NUM">40</field>
         </block>
       </value>
       <next>
         <block type="on" id="HgzzbyYLT*Y!Y]+VC7}6">
           <field name="OID">alias.0.OG.Rollladen.Empore.Hoch</field>
           <field name="CONDITION">ne</field>
           <field name="ACK_CONDITION"></field>
           <statement name="STATEMENT">
             <block type="controls_if" id="*@@!+W{JMo1hIOX%d^n;">
               <mutation else="1"></mutation>
               <value name="IF0">
                 <block type="on_source" id="t2};(y7^^wt!hO:!V.8l">
                   <field name="ATTR">state.val</field>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="variables_set" id=":#R#[Quf{4thw:|N($z+">
                   <field name="VAR" id="tlq{(llW7V(^GQehrm$.">Position</field>
                   <value name="VALUE">
                     <block type="get_value" id="#PU*/$UU)B=om(D6YClL">
                       <field name="ATTR">val</field>
                       <field name="OID">0_userdata.0.OG.Rollladen.Empore.Position</field>
                     </block>
                   </value>
                   <next>
                     <block type="controls_if" id="$-Fd2_ANAq!C[C+iX#1m">
                       <value name="IF0">
                         <block type="logic_compare" id="b5+P%Im-{mvrHh=VmO]a">
                           <field name="OP">LT</field>
                           <value name="A">
                             <block type="variables_get" id="2Gn;!xdZpUF.q!Ksv_O/">
                               <field name="VAR" id="tlq{(llW7V(^GQehrm$.">Position</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="math_number" id="F+^kqZlJc0SZmlv?=V}d">
                               <field name="NUM">100</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="procedures_callnoreturn" id="{|/R)xVeWWh(/Q65()Wd" inline="true">
                           <mutation name="Bewegung">
                             <arg name="delta"></arg>
                           </mutation>
                           <value name="ARG0">
                             <block type="math_arithmetic" id="cvK!GsF-~6I_6%n7qkM|">
                               <field name="OP">DIVIDE</field>
                               <value name="A">
                                 <shadow type="math_number" id="9CRFR~Vr_lFc+g_r+g:T">
                                   <field name="NUM">100</field>
                                 </shadow>
                               </value>
                               <value name="B">
                                 <shadow type="math_number" id="`CLAP0TZNGf^#-EprpY}">
                                   <field name="NUM">1</field>
                                 </shadow>
                                 <block type="variables_get" id="JEBL%(9A~5SisY46[KC_">
                                   <field name="VAR" id="ubynHLy4Dkh(Bv|X]_*t">Laufzeit</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </statement>
                     </block>
                   </next>
                 </block>
               </statement>
               <statement name="ELSE">
                 <block type="timeouts_clearinterval" id="[TE[hW3sC8{e$;!?6]!H">
                   <field name="NAME">Intervall</field>
                 </block>
               </statement>
             </block>
           </statement>
           <next>
             <block type="on" id="5+LLXzYNqGTN})GG|+?]">
               <field name="OID">alias.0.OG.Rollladen.Empore.Runter</field>
               <field name="CONDITION">ne</field>
               <field name="ACK_CONDITION"></field>
               <statement name="STATEMENT">
                 <block type="controls_if" id="6D:#Z;A;5`jlBIMju{zy">
                   <mutation else="1"></mutation>
                   <value name="IF0">
                     <block type="on_source" id="m9]Id4L)i7efpljb7yWi">
                       <field name="ATTR">state.val</field>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="variables_set" id="fW::dZfiG1nr$qR5b$({">
                       <field name="VAR" id="tlq{(llW7V(^GQehrm$.">Position</field>
                       <value name="VALUE">
                         <block type="get_value" id="cMP_n^~r2N}cH${yciKi">
                           <field name="ATTR">val</field>
                           <field name="OID">0_userdata.0.OG.Rollladen.Empore.Position</field>
                         </block>
                       </value>
                       <next>
                         <block type="controls_if" id="C/xM@kL8sqG/0keKFGs_">
                           <value name="IF0">
                             <block type="logic_compare" id="M%=yBvc^YNmFUKxZ7SZ^">
                               <field name="OP">GT</field>
                               <value name="A">
                                 <block type="variables_get" id="VG.=+~Fz5O21^dD1gFV;">
                                   <field name="VAR" id="tlq{(llW7V(^GQehrm$.">Position</field>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="math_number" id="T{UF~M)^tgZ7AeK~Itt?">
                                   <field name="NUM">0</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="procedures_callnoreturn" id="LTx*?C8)Ay+m{qmPh;e`" inline="true">
                               <mutation name="Bewegung">
                                 <arg name="delta"></arg>
                               </mutation>
                               <value name="ARG0">
                                 <block type="math_arithmetic" id="a1^%,)KgrSTF=lNlSSgg">
                                   <field name="OP">DIVIDE</field>
                                   <value name="A">
                                     <shadow type="math_number" id="7nDX?;s[Jtc`K/uG1P_W">
                                       <field name="NUM">-100</field>
                                     </shadow>
                                   </value>
                                   <value name="B">
                                     <shadow type="math_number" id="`CLAP0TZNGf^#-EprpY}">
                                       <field name="NUM">1</field>
                                     </shadow>
                                     <block type="variables_get" id="x?5?m+!X;a;-(^I:?oDZ">
                                       <field name="VAR" id="ubynHLy4Dkh(Bv|X]_*t">Laufzeit</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                       </next>
                     </block>
                   </statement>
                   <statement name="ELSE">
                     <block type="timeouts_clearinterval" id="P%Y=s@Y,?vdFdBHnEfo$">
                       <field name="NAME">Intervall</field>
                     </block>
                   </statement>
                 </block>
               </statement>
             </block>
           </next>
         </block>
       </next>
     </block>
     <block type="procedures_defnoreturn" id="rRQ$1-2OAn]gR1,}{`hW" x="888" y="12">
       <mutation>
         <arg name="delta" varid="~Us6?lh=kFptMa4QP{$0"></arg>
       </mutation>
       <field name="NAME">Bewegung</field>
       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       <statement name="STACK">
         <block type="timeouts_setinterval" id="ke{vOu8S.$kqCsW7+FCJ">
           <field name="NAME">Intervall</field>
           <field name="INTERVAL">1</field>
           <field name="UNIT">sec</field>
           <statement name="STATEMENT">
             <block type="math_change" id="L}5!UMn{D8dWO:tLLs5b">
               <field name="VAR" id="tlq{(llW7V(^GQehrm$.">Position</field>
               <value name="DELTA">
                 <shadow type="math_number" id="|?d1vQ;3K8WuO!?u]4W}">
                   <field name="NUM">1</field>
                 </shadow>
                 <block type="variables_get" id="qq}B*ow4|l_lBvAq_iKG">
                   <field name="VAR" id="~Us6?lh=kFptMa4QP{$0">delta</field>
                 </block>
               </value>
               <next>
                 <block type="update" id="Y4[C4U/~g#ZvET]J}mS#">
                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                   <field name="OID">0_userdata.0.OG.Rollladen.Empore.Position</field>
                   <field name="WITH_DELAY">FALSE</field>
                   <value name="VALUE">
                     <block type="math_round" id="cCw=+n-f:9Ot)PoaD)Pl">
                       <field name="OP">ROUND</field>
                       <value name="NUM">
                         <shadow type="math_number" id=";f@o4zD`5B6DpL,ul_P$">
                           <field name="NUM">3.1</field>
                         </shadow>
                         <block type="variables_get" id="]}P0X,zGiS#N_N?l5;!h">
                           <field name="VAR" id="tlq{(llW7V(^GQehrm$.">Position</field>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </next>
             </block>
           </statement>
         </block>
       </statement>
     </block>
     <block type="on" id="xRIy,@2?.mn!S^I*(NP@" x="1062" y="238">
       <field name="OID">alias.0.OG.Rollladen.Empore.unten</field>
       <field name="CONDITION">gt</field>
       <field name="ACK_CONDITION"></field>
       <statement name="STATEMENT">
         <block type="update" id="1%WA2;XDWkAD#Y.%d~BQ">
           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
           <field name="OID">0_userdata.0.OG.Rollladen.Empore.Position</field>
           <field name="WITH_DELAY">FALSE</field>
           <value name="VALUE">
             <block type="math_number" id="OHRPH%DUaWI9!q_@[fig">
               <field name="NUM">0</field>
             </block>
           </value>
         </block>
       </statement>
       <next>
         <block type="on" id="aT^xEv1={`IA|m,gvx/V">
           <field name="OID">alias.0.OG.Rollladen.Empore.oben</field>
           <field name="CONDITION">gt</field>
           <field name="ACK_CONDITION"></field>
           <statement name="STATEMENT">
             <block type="update" id="k*.tp(r/NAab3tGRTZ%s">
               <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
               <field name="OID">0_userdata.0.OG.Rollladen.Empore.Position</field>
               <field name="WITH_DELAY">FALSE</field>
               <value name="VALUE">
                 <block type="math_number" id="JRbL!!N%TjnL-DkGo|qJ">
                   <field name="NUM">100</field>
                 </block>
               </value>
             </block>
           </statement>
         </block>
       </next>
     </block>
    </xml>
    

    T Offline
    T Offline
    topsurfer
    wrote on last edited by topsurfer
    #8

    @paul53 said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

    Zum Anzeigen der Position erstelle einen Datenpunkt "0_userdata.0.OG.Rollladen.Empore.Position" vom Typ "Zahl", Einheit "%"

    Und schon wieder ein "Hänger" :-(
    Datenpunkt angelegt, aber wo kann ich da eine Einheit vergeben? Manuellin den "Objektdaten"?
    6311582a-9951-4b2c-83de-fd1345417280-grafik.png

    paul53P 1 Reply Last reply
    0
    • T topsurfer

      @paul53 said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

      Zum Anzeigen der Position erstelle einen Datenpunkt "0_userdata.0.OG.Rollladen.Empore.Position" vom Typ "Zahl", Einheit "%"

      Und schon wieder ein "Hänger" :-(
      Datenpunkt angelegt, aber wo kann ich da eine Einheit vergeben? Manuellin den "Objektdaten"?
      6311582a-9951-4b2c-83de-fd1345417280-grafik.png

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #9

      @topsurfer sagte: Manuellin den "Objektdaten"?

      Ja, im Tab "COMMON" ganz unten.

      COMMON.JPG

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      T 1 Reply Last reply
      0
      • paul53P paul53

        @topsurfer sagte: Manuellin den "Objektdaten"?

        Ja, im Tab "COMMON" ganz unten.

        COMMON.JPG

        T Offline
        T Offline
        topsurfer
        wrote on last edited by topsurfer
        #10

        OK, verstanden, in diesem DP sollte dann immer der aktuelle Standd es Rollladen sabfragbar sein.
        (Blockly importiert, läuft ...; Thx!)

        Aber wie erfolgt die eigentliche Steuerung des Rollladens, die Objekt-ID vom DT (0_userdata.0.OG.Rollladen.Empore.Position) steuert ja nicht_)
        Und im "Icon" vom Rollladen unter "Alggmeien" kann ich doch nur eine Objekt-ID angeben, und bei "CMD" müßte ich ja noch irgendwo angeben, welches CMD er ausführen soll ...
        2025-01-25_163912.png

        paul53P 3 Replies Last reply
        0
        • T topsurfer

          OK, verstanden, in diesem DP sollte dann immer der aktuelle Standd es Rollladen sabfragbar sein.
          (Blockly importiert, läuft ...; Thx!)

          Aber wie erfolgt die eigentliche Steuerung des Rollladens, die Objekt-ID vom DT (0_userdata.0.OG.Rollladen.Empore.Position) steuert ja nicht_)
          Und im "Icon" vom Rollladen unter "Alggmeien" kann ich doch nur eine Objekt-ID angeben, und bei "CMD" müßte ich ja noch irgendwo angeben, welches CMD er ausführen soll ...
          2025-01-25_163912.png

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #11

          @topsurfer sagte: bei "CMD" müßte ich ja noch irgendwo angeben, welches CMD er ausführen soll ...

          Dafür kann man ein weiteres Widget mit "ValueList" im Namen nehmen. "ValueList" kann mehr als nur zwei Werte steuern. Im alten Vis gab es z.B. "Radiobuttons ValueList", die man beschriften konnte (z.B. "hoch;stop;runter").

          Radiobutton.JPG
          Radiobutton.JPG

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Reply Last reply
          0
          • T topsurfer

            OK, verstanden, in diesem DP sollte dann immer der aktuelle Standd es Rollladen sabfragbar sein.
            (Blockly importiert, läuft ...; Thx!)

            Aber wie erfolgt die eigentliche Steuerung des Rollladens, die Objekt-ID vom DT (0_userdata.0.OG.Rollladen.Empore.Position) steuert ja nicht_)
            Und im "Icon" vom Rollladen unter "Alggmeien" kann ich doch nur eine Objekt-ID angeben, und bei "CMD" müßte ich ja noch irgendwo angeben, welches CMD er ausführen soll ...
            2025-01-25_163912.png

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by paul53
            #12

            @topsurfer
            In Vis-2 gibt es "Radioliste mit Werten":

            Radiobutton2.JPG

            EDIT: Man kann auch Symbole verwenden:

            Radiobutton2.JPG

            Reihenfolge der Werte: 1 - 0 - 2

            Radiobutton2.JPG

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Reply Last reply
            1
            • T Offline
              T Offline
              topsurfer
              wrote on last edited by topsurfer
              #13

              @paul53
              Ja, das kommt mir aus OpenHab bekannt vor ... Valuelisten etc.

              Aber das "einfache" steuern vom Rollladen ...

              Ich spreche den DP "alias.0.OG.Rollladen.Empore_UP" (testweise) mit einem einfachen Taster an, setze auch den "Test: WAHR", aber es passiert nichts wenn ich den virt. Taster drücke (das sollte ja komplett ohne das ein Script läuft funktionieren, oder?

              2025-01-25_174345.png

              Mein Alias, den ich für den Rollladen für "Up" angelegt habe, sieht so aus:
              2025-01-25_174726.png

              So langsam verstehe ich das "Prinzip" und finde auch die entsprechenden Optionen, daher dachte ich, dass dieser angelegte einfache Schalter ein hochfahren vom Rollladen auslösen sollte (wenn Knopf gedrück, schicke den Wert "True" an den DP "Empore_up")

              paul53P 1 Reply Last reply
              0
              • T topsurfer

                @paul53
                Ja, das kommt mir aus OpenHab bekannt vor ... Valuelisten etc.

                Aber das "einfache" steuern vom Rollladen ...

                Ich spreche den DP "alias.0.OG.Rollladen.Empore_UP" (testweise) mit einem einfachen Taster an, setze auch den "Test: WAHR", aber es passiert nichts wenn ich den virt. Taster drücke (das sollte ja komplett ohne das ein Script läuft funktionieren, oder?

                2025-01-25_174345.png

                Mein Alias, den ich für den Rollladen für "Up" angelegt habe, sieht so aus:
                2025-01-25_174726.png

                So langsam verstehe ich das "Prinzip" und finde auch die entsprechenden Optionen, daher dachte ich, dass dieser angelegte einfache Schalter ein hochfahren vom Rollladen auslösen sollte (wenn Knopf gedrück, schicke den Wert "True" an den DP "Empore_up")

                paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by paul53
                #14

                @topsurfer sagte: DP "alias.0.OG.Rollladen.Empore_UP" (testweise) mit einem einfachen Taster an

                Der Enocean-DP "UP" ist "read only" (Schlosssymbol neben der ID). Gesteuert werden kann nur über "CMD" mit den Werten 0;1;2.
                Was stört dich an der "Radioliste mit Werten"? Ist die Version mit den Symbolen nicht brauchbar?

                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

                T 1 Reply Last reply
                0
                • T topsurfer

                  OK, verstanden, in diesem DP sollte dann immer der aktuelle Standd es Rollladen sabfragbar sein.
                  (Blockly importiert, läuft ...; Thx!)

                  Aber wie erfolgt die eigentliche Steuerung des Rollladens, die Objekt-ID vom DT (0_userdata.0.OG.Rollladen.Empore.Position) steuert ja nicht_)
                  Und im "Icon" vom Rollladen unter "Alggmeien" kann ich doch nur eine Objekt-ID angeben, und bei "CMD" müßte ich ja noch irgendwo angeben, welches CMD er ausführen soll ...
                  2025-01-25_163912.png

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #15

                  @topsurfer sagte: Blockly importiert, läuft

                  Im Blockly habe ich diese Alias-DP verwendet:

                  Alias_Enocean_Rollo.JPG

                  Der Kommando-Alias für Vis-2 hat folgende Objektdaten:

                  {
                    "common": {
                      "name": "Rollladen Empore Kommando",
                      "desc": "Manuell erzeugt",
                      "role": "level",
                      "type": "number",
                      "read": true,
                      "write": true,
                      "def": 0,
                      "states": {
                        "0": "stop",
                        "1": "hoch",
                        "2": "runter"
                      },
                      "alias": {
                        "id": "enocean.0.fffd10a5.CMD"
                      }
                    },
                    "type": "state",
                  

                  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 Reply Last reply
                  0
                  • paul53P paul53

                    @topsurfer sagte: DP "alias.0.OG.Rollladen.Empore_UP" (testweise) mit einem einfachen Taster an

                    Der Enocean-DP "UP" ist "read only" (Schlosssymbol neben der ID). Gesteuert werden kann nur über "CMD" mit den Werten 0;1;2.
                    Was stört dich an der "Radioliste mit Werten"? Ist die Version mit den Symbolen nicht brauchbar?

                    T Offline
                    T Offline
                    topsurfer
                    wrote on last edited by topsurfer
                    #16

                    @paul53 said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                    Was stört dich an der "Radioliste mit Werten"? Ist die Version mit den Symbolen nicht brauchbar?

                    Nichts ;-)
                    Hatte ich auch alles schon probiert, wegen misserfolg wollte ich "einfachen" Taster probieren.

                    Mit den Radiobutton und den Wert 0,1,2 und kann ich jetzt den Rollladen (wenn ich ihn direkt als Objekt enocean.0.fffd10a5.CMD eintrage, nicht über den Alias) eintrage, hoch- und runter fahren. Aber nach ca. 20cm (4s) bleibt er immer wieder stehen. Dann muss ich wieder auf "runter" drücken für die nächsten 20cm ... Was ist das jetzt wieder? Mit "0" kann ich sofort stoppen, das geht auch.

                    Bisher habe ich nur den Alias für das CMD Kommande, die anderen erstelle ich jetzt.

                    Und zum Verständis, der erstellete DP in Userdata_0.OG.Rollladen.Empore.Position, der auch in Blockly genutzt wird, ist der zum steuern des Rollladens an die gewünschte Stelle (60%) oder als Rückgabewert für die Position des Rolladens (60%) gedacht?

                    paul53P 2 Replies Last reply
                    0
                    • T topsurfer

                      @paul53 said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                      Was stört dich an der "Radioliste mit Werten"? Ist die Version mit den Symbolen nicht brauchbar?

                      Nichts ;-)
                      Hatte ich auch alles schon probiert, wegen misserfolg wollte ich "einfachen" Taster probieren.

                      Mit den Radiobutton und den Wert 0,1,2 und kann ich jetzt den Rollladen (wenn ich ihn direkt als Objekt enocean.0.fffd10a5.CMD eintrage, nicht über den Alias) eintrage, hoch- und runter fahren. Aber nach ca. 20cm (4s) bleibt er immer wieder stehen. Dann muss ich wieder auf "runter" drücken für die nächsten 20cm ... Was ist das jetzt wieder? Mit "0" kann ich sofort stoppen, das geht auch.

                      Bisher habe ich nur den Alias für das CMD Kommande, die anderen erstelle ich jetzt.

                      Und zum Verständis, der erstellete DP in Userdata_0.OG.Rollladen.Empore.Position, der auch in Blockly genutzt wird, ist der zum steuern des Rollladens an die gewünschte Stelle (60%) oder als Rückgabewert für die Position des Rolladens (60%) gedacht?

                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by paul53
                      #17

                      @topsurfer sagte: zum steuern des Rollladens an die gewünschte Stelle (60%) oder als Rückgabewert für die Position des Rolladens (60%) gedacht?

                      Nur als Rückgabewert zur Anzeige der Position.

                      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 Reply Last reply
                      0
                      • T topsurfer

                        @paul53 said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                        Was stört dich an der "Radioliste mit Werten"? Ist die Version mit den Symbolen nicht brauchbar?

                        Nichts ;-)
                        Hatte ich auch alles schon probiert, wegen misserfolg wollte ich "einfachen" Taster probieren.

                        Mit den Radiobutton und den Wert 0,1,2 und kann ich jetzt den Rollladen (wenn ich ihn direkt als Objekt enocean.0.fffd10a5.CMD eintrage, nicht über den Alias) eintrage, hoch- und runter fahren. Aber nach ca. 20cm (4s) bleibt er immer wieder stehen. Dann muss ich wieder auf "runter" drücken für die nächsten 20cm ... Was ist das jetzt wieder? Mit "0" kann ich sofort stoppen, das geht auch.

                        Bisher habe ich nur den Alias für das CMD Kommande, die anderen erstelle ich jetzt.

                        Und zum Verständis, der erstellete DP in Userdata_0.OG.Rollladen.Empore.Position, der auch in Blockly genutzt wird, ist der zum steuern des Rollladens an die gewünschte Stelle (60%) oder als Rückgabewert für die Position des Rolladens (60%) gedacht?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by paul53
                        #18

                        @topsurfer sagte: Aber nach ca. 20cm (4s) bleibt er immer wieder stehen.

                        Muss man dem Aktor die Laufzeit vorgeben? Datenpunkt ("TTT"?) dafür ist vorhanden.

                        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

                        Jey CeeJ 1 Reply Last reply
                        0
                        • paul53P paul53

                          @topsurfer sagte: Aber nach ca. 20cm (4s) bleibt er immer wieder stehen.

                          Muss man dem Aktor die Laufzeit vorgeben? Datenpunkt ("TTT"?) dafür ist vorhanden.

                          Jey CeeJ Offline
                          Jey CeeJ Offline
                          Jey Cee
                          Developer
                          wrote on last edited by
                          #19

                          @paul53 sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                          @topsurfer sagte: Aber nach ca. 20cm (4s) bleibt er immer wieder stehen.

                          Muss man dem Aktor die Laufzeit vorgeben? Datenpunkt ("TTT"?) dafür ist vorhanden.

                          Ja muss man.

                          Persönlicher Support
                          Spenden -> paypal.me/J3YC33

                          T 1 Reply Last reply
                          0
                          • Jey CeeJ Jey Cee

                            @paul53 sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                            @topsurfer sagte: Aber nach ca. 20cm (4s) bleibt er immer wieder stehen.

                            Muss man dem Aktor die Laufzeit vorgeben? Datenpunkt ("TTT"?) dafür ist vorhanden.

                            Ja muss man.

                            T Offline
                            T Offline
                            topsurfer
                            wrote on last edited by topsurfer
                            #20

                            @jey-cee said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                            Datenpunkt ("TTT"?) dafür ist vorhanden.

                            Ahhh .... sehe den DP "TTT", wie kann ich den erhöhen oder muss man dem Schalter den TTT Wert mitgeben (wie?)
                            Und auch ein Alias erstellen?

                            Apropos Alias:
                            Muss "Unterschiedliche IDs für Lesen und Schreiben" aktiviert sein,
                            und "Konvertiere beim Schreiben: val ? 1 : 0" targe ich dei allen Aliase ein, korrekt?

                            Hab jetzt gesehen, bei dir haben die Alias Objekte anderen "Rollen" (indicator und level), beir mir immer "state".
                            Kann und muss ich das korrigieren, wenn ja wie/wo?

                            So, ich glaube das reicht für heute - 10 Stunden und zumindest gehen die Rollladen 3s hoch und runter ;-)

                            Thx !!!

                            paul53P 1 Reply Last reply
                            0
                            • T topsurfer

                              @jey-cee said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                              Datenpunkt ("TTT"?) dafür ist vorhanden.

                              Ahhh .... sehe den DP "TTT", wie kann ich den erhöhen oder muss man dem Schalter den TTT Wert mitgeben (wie?)
                              Und auch ein Alias erstellen?

                              Apropos Alias:
                              Muss "Unterschiedliche IDs für Lesen und Schreiben" aktiviert sein,
                              und "Konvertiere beim Schreiben: val ? 1 : 0" targe ich dei allen Aliase ein, korrekt?

                              Hab jetzt gesehen, bei dir haben die Alias Objekte anderen "Rollen" (indicator und level), beir mir immer "state".
                              Kann und muss ich das korrigieren, wenn ja wie/wo?

                              So, ich glaube das reicht für heute - 10 Stunden und zumindest gehen die Rollladen 3s hoch und runter ;-)

                              Thx !!!

                              paul53P Offline
                              paul53P Offline
                              paul53
                              wrote on last edited by paul53
                              #21

                              @topsurfer sagte: Muss "Unterschiedliche IDs für Lesen und Schreiben" aktiviert sein,
                              und "Konvertiere beim Schreiben: val ? 1 : 0" targe ich dei allen Aliase ein, korrekt?

                              Zweimal: Nein. Die Alias-DP sind - wie die Enocean-DP - "read only".

                              @topsurfer sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                              Kann und muss ich das korrigieren, wenn ja wie/wo?

                              Du solltest es korrigieren im Tab "COMMON".

                              @topsurfer sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                              sehe den DP "TTT", wie kann ich den erhöhen

                              Ich würde mal die Sekunden eingeben, die von geschlossen bis voll offen benötigt werden. Alias braucht man nicht, da es ein konstanter Wert ist.

                              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

                              T 1 Reply Last reply
                              0
                              • paul53P paul53

                                @topsurfer sagte: Muss "Unterschiedliche IDs für Lesen und Schreiben" aktiviert sein,
                                und "Konvertiere beim Schreiben: val ? 1 : 0" targe ich dei allen Aliase ein, korrekt?

                                Zweimal: Nein. Die Alias-DP sind - wie die Enocean-DP - "read only".

                                @topsurfer sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                                Kann und muss ich das korrigieren, wenn ja wie/wo?

                                Du solltest es korrigieren im Tab "COMMON".

                                @topsurfer sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                                sehe den DP "TTT", wie kann ich den erhöhen

                                Ich würde mal die Sekunden eingeben, die von geschlossen bis voll offen benötigt werden. Alias braucht man nicht, da es ein konstanter Wert ist.

                                T Offline
                                T Offline
                                topsurfer
                                wrote on last edited by
                                #22

                                @paul53 👍

                                Sieht gut aus,
                                das mit dem Symbol ist aber auch sehr gut versteckt!
                                Die drei Punkte habe ich bislang noch nicht gesehen bzw. erkannt! Das ist ja tricky!
                                2025-01-25_210842.png

                                Wenn ich dann noch die Rückmeldung über den Rollladen hinbekomme (Bsp: 55%"),
                                Morgen Aliase anlegen und das noch versuchen.

                                Ich meld mich falls ich wieder hänge ;-)

                                Thx und G'Nacht

                                1 Reply Last reply
                                0
                                • T Offline
                                  T Offline
                                  topsurfer
                                  wrote on last edited by
                                  #23

                                  Hab das Blockly Script für die Rückmeldung der Rollladenhöhe importiert und "angepasst", sieht meiner Meinung analog zu deinem richtig aus, aber es wird kein Wert "zurückgegeben".
                                  Hab einem Schieberegler den DP "0_userdata.0.OG.Rollladen.Empore.Position" gegeben, aber der steht immer auf "0"

                                  2025-01-27_121259.png

                                  Was meine Frau mir gerade sagt, wir haben Katzen, und die Rollläden an den 2 Terrassentüren fahren wir manuell immer nur 75% herunter.
                                  Diese Position müßte man "auswählen" können, das "blöde" ist ja, unsere Rollläden keine direkten %-Werte kennen :-(

                                  Eine Schalter / Knopf mit den Optionen:
                                  OBEN
                                  STOP
                                  75%
                                  UNTEN

                                  wäre gut.
                                  Wäre wohl bei uns nur über die Laufzeit einstellbar, wobei die Laufzeit ja je nach aktuellem Stand berechnet werden müßte.
                                  Alternativ könnte man davon ausgehen, das der Rollladen nur über iobroker gesteuert wird und nur in diese drei Position "gefahren" wird.

                                  paul53P 2 Replies Last reply
                                  0
                                  • T topsurfer

                                    Hab das Blockly Script für die Rückmeldung der Rollladenhöhe importiert und "angepasst", sieht meiner Meinung analog zu deinem richtig aus, aber es wird kein Wert "zurückgegeben".
                                    Hab einem Schieberegler den DP "0_userdata.0.OG.Rollladen.Empore.Position" gegeben, aber der steht immer auf "0"

                                    2025-01-27_121259.png

                                    Was meine Frau mir gerade sagt, wir haben Katzen, und die Rollläden an den 2 Terrassentüren fahren wir manuell immer nur 75% herunter.
                                    Diese Position müßte man "auswählen" können, das "blöde" ist ja, unsere Rollläden keine direkten %-Werte kennen :-(

                                    Eine Schalter / Knopf mit den Optionen:
                                    OBEN
                                    STOP
                                    75%
                                    UNTEN

                                    wäre gut.
                                    Wäre wohl bei uns nur über die Laufzeit einstellbar, wobei die Laufzeit ja je nach aktuellem Stand berechnet werden müßte.
                                    Alternativ könnte man davon ausgehen, das der Rollladen nur über iobroker gesteuert wird und nur in diese drei Position "gefahren" wird.

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    wrote on last edited by
                                    #24

                                    @topsurfer sagte: Rollladenhöhe importiert und "angepasst"

                                    Den "stop zyklische Ausführung" ist eine falsche Variable zu geordnet! Das passiert leider regelmäßig beim Import.
                                    Anstelle der 40 s oben solltest du die tatsächliche Laufzeit eintragen.

                                    @topsurfer sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                                    Wäre wohl bei uns nur über die Laufzeit einstellbar, wobei die Laufzeit ja je nach aktuellem Stand berechnet werden müßte.

                                    So ist es.

                                    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 Reply Last reply
                                    0
                                    • T topsurfer

                                      Hab das Blockly Script für die Rückmeldung der Rollladenhöhe importiert und "angepasst", sieht meiner Meinung analog zu deinem richtig aus, aber es wird kein Wert "zurückgegeben".
                                      Hab einem Schieberegler den DP "0_userdata.0.OG.Rollladen.Empore.Position" gegeben, aber der steht immer auf "0"

                                      2025-01-27_121259.png

                                      Was meine Frau mir gerade sagt, wir haben Katzen, und die Rollläden an den 2 Terrassentüren fahren wir manuell immer nur 75% herunter.
                                      Diese Position müßte man "auswählen" können, das "blöde" ist ja, unsere Rollläden keine direkten %-Werte kennen :-(

                                      Eine Schalter / Knopf mit den Optionen:
                                      OBEN
                                      STOP
                                      75%
                                      UNTEN

                                      wäre gut.
                                      Wäre wohl bei uns nur über die Laufzeit einstellbar, wobei die Laufzeit ja je nach aktuellem Stand berechnet werden müßte.
                                      Alternativ könnte man davon ausgehen, das der Rollladen nur über iobroker gesteuert wird und nur in diese drei Position "gefahren" wird.

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      wrote on last edited by paul53
                                      #25

                                      @topsurfer sagte: nur 75% herunter.

                                      Position 25 %?
                                      Oder ist 100 % ganz unten? Dann wäre es umgekehrt zum Skript.

                                      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 Reply Last reply
                                      0
                                      • T Offline
                                        T Offline
                                        topsurfer
                                        wrote on last edited by topsurfer
                                        #26

                                        @paul53 said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                                        Den "stop zyklische Ausführung" ist eine falsche Variable zu geordnet! Das passiert leider regelmäßig beim Import.
                                        Anstelle der 40 s oben solltest du die tatsächliche Laufzeit eintragen.

                                        Die Variablen hab ich an den zwei Stellen koggrigiert, den Laufzeit auf korrekte 27s eingestellt.
                                        Was er "macht", wenn ich den Positions-Wert manuell auf 50% Stelle, und Taste hoch drücke: Nichts.
                                        Drücke ich "runter", beginnt der Wert von 50 Richtung 0 zu laufen. Auch wenn ich nach 3s "Stopp" drücke, läuft der Slider (Positions-Wert) bewegt bis auf "0" runter.

                                        Versuche das Blockly-Script zu verstehen, rechts "Um Bewegung mit delta" ist eine Funktion, der man einen Parameter mitgibt (?).

                                        Aber was ist:
                                        Falls => Wert
                                        2025-01-27_140827.png
                                        Wert ist doch nur True" (oder: 1), oder? (von: "Rollladen Empore hoch wurde geändert").
                                        Soll hier dann der "mache ..." Teil nur Ausgeführt werden, wenn es WAHR ist, also Rollladen-hoch-Taste von False auf True gesprungen ist, nicht von: True auf false?

                                        paul53P 2 Replies Last reply
                                        0
                                        • T topsurfer

                                          @paul53 said in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                                          Den "stop zyklische Ausführung" ist eine falsche Variable zu geordnet! Das passiert leider regelmäßig beim Import.
                                          Anstelle der 40 s oben solltest du die tatsächliche Laufzeit eintragen.

                                          Die Variablen hab ich an den zwei Stellen koggrigiert, den Laufzeit auf korrekte 27s eingestellt.
                                          Was er "macht", wenn ich den Positions-Wert manuell auf 50% Stelle, und Taste hoch drücke: Nichts.
                                          Drücke ich "runter", beginnt der Wert von 50 Richtung 0 zu laufen. Auch wenn ich nach 3s "Stopp" drücke, läuft der Slider (Positions-Wert) bewegt bis auf "0" runter.

                                          Versuche das Blockly-Script zu verstehen, rechts "Um Bewegung mit delta" ist eine Funktion, der man einen Parameter mitgibt (?).

                                          Aber was ist:
                                          Falls => Wert
                                          2025-01-27_140827.png
                                          Wert ist doch nur True" (oder: 1), oder? (von: "Rollladen Empore hoch wurde geändert").
                                          Soll hier dann der "mache ..." Teil nur Ausgeführt werden, wenn es WAHR ist, also Rollladen-hoch-Taste von False auf True gesprungen ist, nicht von: True auf false?

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          wrote on last edited by paul53
                                          #27

                                          @topsurfer sagte: wenn ich den Positions-Wert manuell auf 50% Stelle

                                          Die Position ist nur zur Anzeige. Manuelles Verstellen hat keine Auswirkung.

                                          @topsurfer sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                                          Soll hier dann der "mache ..." Teil nur Ausgeführt werden, wenn es WAHR ist, also Rollladen-hoch-Taste von False auf True gesprungen ist, nicht von: True auf false?

                                          ... wenn der Datenpunkt "Up" Bewegung nach oben anzeigt (true), wird der mache-Zweig ausgeführt. Wenn die Bewegung nach oben beendet ist (stop oder Endlage oben) sollte der DP "Up" auf false wechseln und das Intervall gestoppt werden. Passiert es nicht so? Baue zum Testen mal eine Log-Ausgabe ein:

                                          Blockly_temp.JPG

                                          Die beiden Endlagen-Trigger (rechts) sollen die Position synchronisieren, da es sonst im Laufe der Zeit eine immer größere Abweichung gibt.

                                          @topsurfer sagte in Verständnisfrage: Virtuelle Schalter und nutzen in Blockly:

                                          rechts "Um Bewegung mit delta" ist eine Funktion, der man einen Parameter mitgibt (?).

                                          Richtig.

                                          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 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          229

                                          Online

                                          32.7k

                                          Users

                                          82.6k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe