Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Toggle von drei Werten Hoch - Stop -Runter

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    493

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    402

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

Toggle von drei Werten Hoch - Stop -Runter

Geplant Angeheftet Gesperrt Verschoben Blockly
7 Beiträge 3 Kommentatoren 583 Aufrufe 1 Beobachtet
  • Ä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.
  • B Offline
    B Offline
    BigChris
    schrieb am zuletzt editiert von
    #1

    Hallo,
    ich wurde gerne mit einem einfachen Taster meinen Shelly Rollladen Aktor steuern.
    Dieser hat drei Schaltzustände. Hoch - Stop - Runter
    Da ich an dem Shelly zwei Wippen dran habe, habe ich keinen typischen "Schalter" in den Objekten den ich ansteuern könnte.

    Diese Funktion würde ich also gerne im Blockly simulieren. Ein Tastendruck soll also den Rollladen hochfahren, nächster Tastendruck stoppen, nächste Tastendruck runterfahren, nächster Tastendruck stoppen u.s.w..
    Wie kann man das in Blockly umsetzen?

    mickymM paul53P 2 Antworten Letzte Antwort
    0
    • B BigChris

      Hallo,
      ich wurde gerne mit einem einfachen Taster meinen Shelly Rollladen Aktor steuern.
      Dieser hat drei Schaltzustände. Hoch - Stop - Runter
      Da ich an dem Shelly zwei Wippen dran habe, habe ich keinen typischen "Schalter" in den Objekten den ich ansteuern könnte.

      Diese Funktion würde ich also gerne im Blockly simulieren. Ein Tastendruck soll also den Rollladen hochfahren, nächster Tastendruck stoppen, nächste Tastendruck runterfahren, nächster Tastendruck stoppen u.s.w..
      Wie kann man das in Blockly umsetzen?

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von
      #2

      @bigchris Du nimmst eine Liste mit 3 Zuständen und läufst die bei jedem Tastendruck durch. Falls dieser Hinweis nicht hinreichend ist, gibt es sicher Beispiele und Blockly-Gurus, die Dir bei der Umsetzung unter die Arme greifen.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      B 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @bigchris Du nimmst eine Liste mit 3 Zuständen und läufst die bei jedem Tastendruck durch. Falls dieser Hinweis nicht hinreichend ist, gibt es sicher Beispiele und Blockly-Gurus, die Dir bei der Umsetzung unter die Arme greifen.

        B Offline
        B Offline
        BigChris
        schrieb am zuletzt editiert von
        #3

        @mickym
        Ja, das habe ich noch nicht gemacht, da bräuchte ich etwas mehr starthilfe

        mickymM 1 Antwort Letzte Antwort
        0
        • B BigChris

          @mickym
          Ja, das habe ich noch nicht gemacht, da bräuchte ich etwas mehr starthilfe

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #4

          @bigchris Wie gesagt - ich bin kein Blockly Freund - und vielleicht bekommst Du bald Hilfe - denn ich garantiere bei Blockly für nichts ;) :

          b9d94577-1f86-4a61-b390-59df04c2e851-image.png

          So würde ich das ungefähr umsetzen.

          Statt Hoch, Stop und Runter gibst halt in die Liste die Befehle ein, die Dein Datenpunkt braucht, um entsprechend zu reagieren. In den Trigger muss halt der Taster rein.

          EDIT: Habs nochmal geändert - da man die Liste ja nur einmal setzen muss.

          EDIT2: Es scheint auch so, dass der Zeiger nicht dem Array Index entspricht - also muss man wohl mit 1 beginnen.

          <xml xmlns="https://developers.google.com/blockly/xml">
           <variables>
             <variable id=".,o1mwT=2ngV/w!g[LJz">Zeiger</variable>
             <variable id="luCot.+i90Fw8%C,%|5g">mache</variable>
           </variables>
           <block type="variables_set" id="~[:U^[CsqLe|`%}0y!3V" x="-487" y="-812">
             <field name="VAR" id=".,o1mwT=2ngV/w!g[LJz">Zeiger</field>
             <value name="VALUE">
               <block type="math_number" id="^OxrhvFsVrGy3TOZimi`">
                 <field name="NUM">1</field>
               </block>
             </value>
             <next>
               <block type="variables_set" id="U)R{Yw{%eE].-hCma1P3">
                 <field name="VAR" id="luCot.+i90Fw8%C,%|5g">mache</field>
                 <value name="VALUE">
                   <block type="lists_create_with" id="D,tl/;P*Bkaq,6uMl){E">
                     <mutation items="3"></mutation>
                     <value name="ADD0">
                       <block type="text" id="2y$+@{Hw(YJhnJS|;0j{">
                         <field name="TEXT">Hoch</field>
                       </block>
                     </value>
                     <value name="ADD1">
                       <block type="text" id=",iI.YfcpW7h1~-c8DHO4">
                         <field name="TEXT">Stop</field>
                       </block>
                     </value>
                     <value name="ADD2">
                       <block type="text" id="YC@m/!trd|#K(JFMGZOi">
                         <field name="TEXT">Runter</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <next>
                   <block type="on_ext" id="?oYTiF^pl7unhVo!mYES">
                     <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                     <field name="CONDITION">any</field>
                     <field name="ACK_CONDITION"></field>
                     <value name="OID0">
                       <shadow type="field_oid" id="SU-?Q2fj.,@,Tq733YVs">
                         <field name="oid">default</field>
                       </shadow>
                     </value>
                     <statement name="STATEMENT">
                       <block type="control" id="b/rF2;6||Oe9%*[-)Nev">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                         <field name="OID">Object ID</field>
                         <field name="WITH_DELAY">FALSE</field>
                         <value name="VALUE">
                           <block type="lists_getIndex" id="#([`BL7%gUtBZ/k0M8XU">
                             <mutation statement="false" at="true"></mutation>
                             <field name="MODE">GET</field>
                             <field name="WHERE">FROM_START</field>
                             <value name="VALUE">
                               <block type="variables_get" id="F{dB4P#oyErs_m!m!Kgr">
                                 <field name="VAR" id="luCot.+i90Fw8%C,%|5g">mache</field>
                               </block>
                             </value>
                             <value name="AT">
                               <block type="variables_get" id="|U?Adq`NKG%rgTO%@HMa">
                                 <field name="VAR" id=".,o1mwT=2ngV/w!g[LJz">Zeiger</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <next>
                           <block type="math_change" id="M;i~ciU:QMTU6HjJAH/e">
                             <field name="VAR" id=".,o1mwT=2ngV/w!g[LJz">Zeiger</field>
                             <value name="DELTA">
                               <shadow type="math_number" id="5_+9|F^2{}2^$lOcsWu_">
                                 <field name="NUM">1</field>
                               </shadow>
                             </value>
                             <next>
                               <block type="controls_if" id="GfoKyvZY(?6VTNP,kt0@">
                                 <value name="IF0">
                                   <block type="logic_compare" id="$%%=*i0Bn9;v?.%u)KYu">
                                     <field name="OP">GT</field>
                                     <value name="A">
                                       <block type="variables_get" id="Jx{924,X#7!Sspnl|#{D">
                                         <field name="VAR" id=".,o1mwT=2ngV/w!g[LJz">Zeiger</field>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="math_number" id="0ya]U3fcbEDPk]Vo+^z8">
                                         <field name="NUM">3</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <statement name="DO0">
                                   <block type="variables_set" id="p@yALD4mEyi#Zg#s%K`/">
                                     <field name="VAR" id=".,o1mwT=2ngV/w!g[LJz">Zeiger</field>
                                     <value name="VALUE">
                                       <block type="math_number" id="w60D$u0Z9h~DM.mS//Vm">
                                         <field name="NUM">1</field>
                                       </block>
                                     </value>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </statement>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

          In die Objekt-ID von dem Trigger muss halt der Datenpunkt Deines Tasters - in die steuere Objekt-ID der Datenpunkt Deines Rollladens.

          Aber wie gesagt - ich bin da nicht die große Hilfe - sondern nur ungefähr - weil ich diese Eigenheiten von Blockly wie mit den Listenindizes nicht kenne.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          1 Antwort Letzte Antwort
          0
          • B Offline
            B Offline
            BigChris
            schrieb am zuletzt editiert von
            #5

            Vielen Dank schon mal, ich probiere es aus sobald ich es schaffe!

            1 Antwort Letzte Antwort
            0
            • B BigChris

              Hallo,
              ich wurde gerne mit einem einfachen Taster meinen Shelly Rollladen Aktor steuern.
              Dieser hat drei Schaltzustände. Hoch - Stop - Runter
              Da ich an dem Shelly zwei Wippen dran habe, habe ich keinen typischen "Schalter" in den Objekten den ich ansteuern könnte.

              Diese Funktion würde ich also gerne im Blockly simulieren. Ein Tastendruck soll also den Rollladen hochfahren, nächster Tastendruck stoppen, nächste Tastendruck runterfahren, nächster Tastendruck stoppen u.s.w..
              Wie kann man das in Blockly umsetzen?

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

              @bigchris sagte: Dieser hat drei Schaltzustände. Hoch - Stop - Runter

              Sind das nicht 3 Button-Datenpunkte (Open / Pause / Close)? Falls ja, dann so:

              Bild_2022-09-20_190757509.png

              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

              B 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @bigchris sagte: Dieser hat drei Schaltzustände. Hoch - Stop - Runter

                Sind das nicht 3 Button-Datenpunkte (Open / Pause / Close)? Falls ja, dann so:

                Bild_2022-09-20_190757509.png

                B Offline
                B Offline
                BigChris
                schrieb am zuletzt editiert von
                #7

                @paul53
                Vielen Dank.
                So funktioniert es :)
                Wieder was gelernt, dass es Listen gibt und wie man diese einsetzen kann. Vielen Dank!

                1 Antwort Letzte Antwort
                0

                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                Registrieren Anmelden
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                557

                Online

                32.8k

                Benutzer

                82.8k

                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