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 Logik verstehen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    300

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

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

Blockly Logik verstehen

Scheduled Pinned Locked Moved Skripten / Logik
blockly
21 Posts 5 Posters 2.3k Views 3 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.
  • T tcfigge

    @oFbEQnpoLKKl6mbY5e13
    Aha, danke für die Info!
    Das schränkt einen aber schon ziemlich ein..:hankey:

    O Offline
    O Offline
    oFbEQnpoLKKl6mbY5e13
    wrote on last edited by
    #9

    @tcfigge
    Kein bisschen!

    1 Reply Last reply
    0
    • T tcfigge

      @oFbEQnpoLKKl6mbY5e13
      Aha, danke für die Info!
      Das schränkt einen aber schon ziemlich ein..:hankey:

      J Offline
      J Offline
      Jan1
      wrote on last edited by
      #10

      @tcfigge sagte in Blockly Logik verstehen:

      @oFbEQnpoLKKl6mbY5e13
      Aha, danke für die Info!
      Das schränkt einen aber schon ziemlich ein..:hankey:

      Am Trigger im ersten Blockly hast eine Funktion gleich mit eingebaut und das geht nicht, was mit der FALLS darunter überhaupt nichts zu tun hat. Bei der FALLS kannst so viel dranhängen wie Du willst.

      Das zweite Blockly ist von Aufbau richtig, da wird sich nur die Logik etwas beißen, da es sonst wie gewünscht funktionieren sollte. Spiel das einfach mal durch und pass die Werte gegebenenfalls an.

      T 1 Reply Last reply
      0
      • BBTownB BBTown

        @tcfigge
        Zum Nachbilden deines HomeMatic Programmes würde ich folgendes Vorschlagen
        dc1f2f68-5067-458d-880d-7895d0025fbc-grafik.png

        Wenn deine Beschattung bei 30% liegt könnte das ggf. so mit berücksichtigt werden
        9ab3235b-6ef1-4170-820d-253ed7be4c5f-grafik.png

        <xml xmlns="http://www.w3.org/1999/xhtml">
         <block type="on_ext" id="obbkvR7Jau#O.YpSbHC}" x="26" y="30">
           <mutation items="1"></mutation>
           <field name="CONDITION">ne</field>
           <field name="ACK_CONDITION"></field>
           <value name="OID0">
             <shadow type="field_oid" id="5bi^^aaJ:}R}0z%HWxXI">
               <field name="oid">Test.0.Lichtsensor</field>
             </shadow>
           </value>
           <statement name="STATEMENT">
             <block type="controls_if" id="Rp{YLo^%o#6S$hO_jJ]=">
               <value name="IF0">
                 <block type="logic_operation" id="WavvC@ol3puffWimMIaK" inline="false">
                   <field name="OP">AND</field>
                   <value name="A">
                     <block type="logic_compare" id="w0o}=^/,(S9XR|LJ|b]c">
                       <field name="OP">GT</field>
                       <value name="A">
                         <block type="get_value" id="Z{GMEnU7rX]0O8mdWRRU">
                           <field name="ATTR">val</field>
                           <field name="OID">Test.0.Lichtsensor</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="math_number" id="g:v/6kRn6k]#IZD#I-I8">
                           <field name="NUM">500</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <value name="B">
                     <block type="logic_compare" id="x{#)E^ZuVTudA1KwVEb#">
                       <field name="OP">LTE</field>
                       <value name="A">
                         <block type="on_source" id="~n!^b0||-!,k!%4.hQIa">
                           <field name="ATTR">oldState.val</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="math_number" id="4?s-ka=#-J;Y[8/?W;+y">
                           <field name="NUM">500</field>
                         </block>
                       </value>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="controls_if" id="`jw~`H=+@JExWnm-tk|}">
                   <value name="IF0">
                     <block type="logic_compare" id="QRI4iR;cx8$l%-#t$$Zo">
                       <field name="OP">LT</field>
                       <value name="A">
                         <block type="get_value" id="lrN%TGF=C}j_m.!%WTvP">
                           <field name="ATTR">val</field>
                           <field name="OID">Test.0.Rolladen-1</field>
                         </block>
                       </value>
                       <value name="B">
                         <block type="math_number" id="Es^Lrw^L]]_P/H11-BF/">
                           <field name="NUM">30</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <statement name="DO0">
                     <block type="control" id="jRY{^8jlj@y~HZ[%R1Do">
                       <mutation delay_input="false"></mutation>
                       <field name="OID">Test.0.Rolladen-1</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="math_number" id="(IWcuFtW`O/gFilb1Nmv">
                           <field name="NUM">100</field>
                         </block>
                       </value>
                     </block>
                   </statement>
                 </block>
               </statement>
             </block>
           </statement>
         </block>
        </xml>
        

        T Offline
        T Offline
        tcfigge
        wrote on last edited by
        #11

        @BBTown
        Ausprobiert:
        87d899a4-3a54-4996-a7ea-60fc72ccfa33-image.png
        Funktioniert!
        Danke!

        ThomasBahnT 1 Reply Last reply
        0
        • J Jan1

          @tcfigge sagte in Blockly Logik verstehen:

          @oFbEQnpoLKKl6mbY5e13
          Aha, danke für die Info!
          Das schränkt einen aber schon ziemlich ein..:hankey:

          Am Trigger im ersten Blockly hast eine Funktion gleich mit eingebaut und das geht nicht, was mit der FALLS darunter überhaupt nichts zu tun hat. Bei der FALLS kannst so viel dranhängen wie Du willst.

          Das zweite Blockly ist von Aufbau richtig, da wird sich nur die Logik etwas beißen, da es sonst wie gewünscht funktionieren sollte. Spiel das einfach mal durch und pass die Werte gegebenenfalls an.

          T Offline
          T Offline
          tcfigge
          wrote on last edited by
          #12

          @Jan1
          Danke!
          Habe ich verstanden, auch wenn direkt auf einen Wert zu triggern charmanter wäre...
          So ist das Programm in der Homematic einfacher...

          J 1 Reply Last reply
          0
          • T tcfigge

            @Jan1
            Danke!
            Habe ich verstanden, auch wenn direkt auf einen Wert zu triggern charmanter wäre...
            So ist das Programm in der Homematic einfacher...

            J Offline
            J Offline
            Jan1
            wrote on last edited by
            #13

            @tcfigge
            Mit Blockly ist das auch recht einfach und im Trigger sind ja Objekte erlaubt, nur eben keine weitere Logik als Trigger.
            Die eigentliche Logik in Blockly ist auch nicht so schwer und man kann sich da sehr schnell und einfach ran tasten. Mit dem Debug Block kann man dann auch schön sehen wo es klemmt, einfach dem Block ein Namen verpassen und dort einbauen wo was passieren soll, so taucht dann dieser Name im Log auf und man sieht ob es funktioniert, oder eben nicht.

            1 Reply Last reply
            0
            • T tcfigge

              @BBTown
              Ausprobiert:
              87d899a4-3a54-4996-a7ea-60fc72ccfa33-image.png
              Funktioniert!
              Danke!

              ThomasBahnT Offline
              ThomasBahnT Offline
              ThomasBahn
              wrote on last edited by
              #14

              @tcfigge Vielleicht solltest du die Variable "vorheriger Wert" am Ende - also noch im Falls Objekt-Block, nach dem falls/mache-Block - auf den aktuellen Wert setzen.

              Und wenn das Skript startet, könntest du "vorheriger Wert" noch mit dem aktuellen Helligkeitswert initialisieren.

              J BBTownB 2 Replies Last reply
              0
              • ThomasBahnT ThomasBahn

                @tcfigge Vielleicht solltest du die Variable "vorheriger Wert" am Ende - also noch im Falls Objekt-Block, nach dem falls/mache-Block - auf den aktuellen Wert setzen.

                Und wenn das Skript startet, könntest du "vorheriger Wert" noch mit dem aktuellen Helligkeitswert initialisieren.

                J Offline
                J Offline
                Jan1
                wrote on last edited by
                #15

                @ThomasBahn
                Das ist keine Variable in dem Sinn, sondern bezieht sich auf das Objekt im Trigger und ist somit immer definiert.

                1 Reply Last reply
                0
                • ThomasBahnT ThomasBahn

                  @tcfigge Vielleicht solltest du die Variable "vorheriger Wert" am Ende - also noch im Falls Objekt-Block, nach dem falls/mache-Block - auf den aktuellen Wert setzen.

                  Und wenn das Skript startet, könntest du "vorheriger Wert" noch mit dem aktuellen Helligkeitswert initialisieren.

                  BBTownB Offline
                  BBTownB Offline
                  BBTown
                  wrote on last edited by BBTown
                  #16

                  @ThomasBahn
                  den Baustein findest Du an folgender Stelle und kannst dann über das Dropdown aussuchen was dieser beinhalten soll.
                  triggerWert.gif 26cdc03d-81a8-4b24-9b07-67962de172f3-grafik.png

                  ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                  T 1 Reply Last reply
                  0
                  • BBTownB BBTown

                    @ThomasBahn
                    den Baustein findest Du an folgender Stelle und kannst dann über das Dropdown aussuchen was dieser beinhalten soll.
                    triggerWert.gif 26cdc03d-81a8-4b24-9b07-67962de172f3-grafik.png

                    T Offline
                    T Offline
                    tcfigge
                    wrote on last edited by
                    #17

                    @BBTown
                    Hi!
                    Habe jetzt ein paar Skripte gebaut.
                    Läuft auch soweit!
                    Jetzt hae ich ein neues gebaut( noch nicht getestet, ob es funktioniert)
                    Aber da kam folgende Frage:
                    Wenn ich mehrere Objekte als Trigger einbaue, kann ich dann das Trigger Modul noch nutzen?
                    Beispiel.JPG
                    Woher weißt das Modul, welcher WERT gemeint ist?
                    Ich hoffe man versteht mich :-)

                    Danke!!!
                    Thorsten

                    BBTownB 1 Reply Last reply
                    0
                    • T tcfigge

                      @BBTown
                      Hi!
                      Habe jetzt ein paar Skripte gebaut.
                      Läuft auch soweit!
                      Jetzt hae ich ein neues gebaut( noch nicht getestet, ob es funktioniert)
                      Aber da kam folgende Frage:
                      Wenn ich mehrere Objekte als Trigger einbaue, kann ich dann das Trigger Modul noch nutzen?
                      Beispiel.JPG
                      Woher weißt das Modul, welcher WERT gemeint ist?
                      Ich hoffe man versteht mich :-)

                      Danke!!!
                      Thorsten

                      BBTownB Offline
                      BBTownB Offline
                      BBTown
                      wrote on last edited by
                      #18

                      @tcfigge

                      Der Trigger übernimmt den Auslöser.

                      So wie ich das verstehe, handelt es sich bei den von dir verwendeten Triggerpunkten um unterscheidliche Typen (mal ist es ein boolscher Wert (true/false) und mal ein Zahl), wie soll das dann in deinem Script gehen?
                      Wie soll denn "true" zum Beispiel mit "> 200" vergliechen werden?

                      Schreibe doch einmal EXAKT auf was Du umsetzen willst.
                      Was soll denn nun wann geschen oder auch nicht?
                      So wie ich es bisher sehe wird es so oder auf eine "Funktion" hinauslaufen, was kein Problem ist sofern völlig klar ist auf was reagiert werden soll ud wie das Ergebnis ausschauen soll.

                      ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                      T 1 Reply Last reply
                      0
                      • BBTownB BBTown

                        @tcfigge

                        Der Trigger übernimmt den Auslöser.

                        So wie ich das verstehe, handelt es sich bei den von dir verwendeten Triggerpunkten um unterscheidliche Typen (mal ist es ein boolscher Wert (true/false) und mal ein Zahl), wie soll das dann in deinem Script gehen?
                        Wie soll denn "true" zum Beispiel mit "> 200" vergliechen werden?

                        Schreibe doch einmal EXAKT auf was Du umsetzen willst.
                        Was soll denn nun wann geschen oder auch nicht?
                        So wie ich es bisher sehe wird es so oder auf eine "Funktion" hinauslaufen, was kein Problem ist sofern völlig klar ist auf was reagiert werden soll ud wie das Ergebnis ausschauen soll.

                        T Offline
                        T Offline
                        tcfigge
                        wrote on last edited by tcfigge
                        #19

                        @BBTown
                        Hi!
                        Das ist wieder eine Rollladensteuerung.
                        Trigger soll die Helligkeit, ein Systemvariable, die ich setzte ob ich im "imBett" Modus bin, oder nicht, und eine Zweite, die erkennt, ob ich im Bett angekommen bin, oder noch auf dem Weg dahin...
                        Das ist nicht so einfach ;-)

                        Mir ginge es jetzt primär um den Block, den Du mir gezeigt hast, weil der "vorheriger Wert" ist praktisch! Man kann ihm aber nicht sagen, auf welchen Trigger er reagiert?

                        1 Reply Last reply
                        0
                        • T Offline
                          T Offline
                          tcfigge
                          wrote on last edited by
                          #20

                          Mist, den Screenshot kann man nicht erkennen...und nicht mehr löschen :-(

                          Es ist wieder eine Rollladensteuerung.

                          Trigger soll sein: Helligkeit und 2 Systemvariablen.

                          Die Logik ist nicht so einfach erklärt ;-)

                          Mir ging es darum, ob es einen Weg gibt, den Block, welchen Du mir die Tage geziegt hast, quasi zu sagen, welchem Trigger er zugeordnet ist?
                          Die Funktion "vorheriger Wert" ist nämlich recht praktisch...

                          1 Reply Last reply
                          0
                          • T Offline
                            T Offline
                            tcfigge
                            wrote on last edited by
                            #21

                            e7a4b2a1-db24-4f21-9998-225f2e8f394f-image.png
                            9c3eae3d-8922-4c84-8af0-93ccefc8b871-image.png
                            Hallo!
                            So, komme erst jetzt wieder dazu, mich um Blockly zu kümmern... Sorry!
                            Kann man das mit 2 Shots erkennen?
                            Schön wäre wenn man mehrere Trigger verwenden könnte, und trotzdem den "vorheriger Wert" Block nutzen könnte.
                            Da habe ich aber keinen Weg gefunden...

                            1 Reply Last reply
                            0
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            595

                            Online

                            32.7k

                            Users

                            82.5k

                            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