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. [gelöst] Eingeschaltete Verbraucher überwachen

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    215

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

[gelöst] Eingeschaltete Verbraucher überwachen

Geplant Angeheftet Gesperrt Verschoben Blockly
44 Beiträge 4 Kommentatoren 3.1k Aufrufe 2 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.
  • J Jan1

    @tontechniker
    So und hier mein Vorschlag den ich wesentlich logischer finde:

    <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="aSL),`N,s0i@ArEv$A,T" x="-1637" y="-987">
     <mutation xmlns="http://www.w3.org/1999/xhtml" items="9"></mutation>
     <field name="CONDITION">ne</field>
     <field name="ACK_CONDITION"></field>
     <value name="OID0">
       <shadow type="field_oid" id="5RiuB:XDJ~tm=HDWM#kr">
         <field name="oid">knx.0.1_Stock.Licht.Arbeit</field>
       </shadow>
     </value>
     <value name="OID1">
       <shadow type="field_oid" id="1mpLoQ:n2UBJd2so=~O.">
         <field name="oid">knx.0.1_Stock.Licht.Bad.Decke</field>
       </shadow>
     </value>
     <value name="OID2">
       <shadow type="field_oid" id="emIdUTu]So9[!X`P{yKh">
         <field name="oid">knx.0.1_Stock.Licht.Bad.Spiegel</field>
       </shadow>
     </value>
     <value name="OID3">
       <shadow type="field_oid" id="XL[]B8CQXkpuWOB/evm~">
         <field name="oid">knx.0.1_Stock.Licht.Essen</field>
       </shadow>
     </value>
     <value name="OID4">
       <shadow type="field_oid" id="=9#{V8yK`Ak=}BQiHyuP">
         <field name="oid">knx.0.1_Stock.Licht.Flur</field>
       </shadow>
     </value>
     <value name="OID5">
       <shadow type="field_oid" id="C6.!8kg8of7u%4sEEz;a">
         <field name="oid">knx.0.1_Stock.Licht.Gast</field>
       </shadow>
     </value>
     <value name="OID6">
       <shadow type="field_oid" id="zAc)X_A2y^IgN8%FT,8X">
         <field name="oid">knx.0.1_Stock.Licht.Kueche</field>
       </shadow>
     </value>
     <value name="OID7">
       <shadow type="field_oid" id="b$QgTEX8SKBi]D`:pBZH">
         <field name="oid">knx.0.1_Stock.Licht.Treppenhaus_unten</field>
       </shadow>
     </value>
     <value name="OID8">
       <shadow type="field_oid" id="ORi`Be@]12yiXBvsBIwQ">
         <field name="oid">knx.0.1_Stock.Licht.WZ</field>
       </shadow>
     </value>
     <statement name="STATEMENT">
       <block type="controls_if" id="4S6DfuWI.,%VDo`^`n2)">
         <mutation else="1"></mutation>
         <value name="IF0">
           <block type="logic_operation" id="j.Mr^GxgdN#HCf}j@mod" inline="false">
             <field name="OP">OR</field>
             <value name="A">
               <block type="logic_operation" id="csH^6{[qEDcqfl!dqpwI" inline="false">
                 <field name="OP">OR</field>
                 <value name="A">
                   <block type="logic_operation" id="=S33T*(g*`IeD~Vh*rxX" inline="false">
                     <field name="OP">OR</field>
                     <value name="A">
                       <block type="logic_operation" id="-C1LADSKx^[dl!vC`O=U" inline="false">
                         <field name="OP">OR</field>
                         <value name="A">
                           <block type="logic_operation" id="af@O9e#J]l*$5Pnw]vG?" inline="false">
                             <field name="OP">OR</field>
                             <value name="A">
                               <block type="logic_operation" id="_T(QHJ.!BWh5sjtNjli}" inline="false">
                                 <field name="OP">OR</field>
                                 <value name="A">
                                   <block type="logic_operation" id="cox!ZPgfn+sq#K3!-zDz" inline="false">
                                     <field name="OP">OR</field>
                                     <value name="A">
                                       <block type="logic_operation" id="1ZHx?$RN=.G[NrA$DDAu" inline="false">
                                         <field name="OP">OR</field>
                                         <value name="A">
                                           <block type="get_value" id="0]-tlVapqsWqsbC62o!M">
                                             <field name="ATTR">val</field>
                                             <field name="OID">knx.0.1_Stock.Licht.Arbeit</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="get_value" id="|x$c|fd~$gC*k_l53o{%">
                                             <field name="ATTR">val</field>
                                             <field name="OID">knx.0.1_Stock.Licht.Bad.Decke</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="B">
                                       <block type="get_value" id="Viw`.6J%=s3pD.@dMya1">
                                         <field name="ATTR">val</field>
                                         <field name="OID">knx.0.1_Stock.Licht.Bad.Spiegel</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="get_value" id="_P4ScFk/u!^cD:H:pz9V">
                                     <field name="ATTR">val</field>
                                     <field name="OID">knx.0.1_Stock.Licht.Essen</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <value name="B">
                               <block type="get_value" id="3O;Si1n0c6[a2@F}xQr[">
                                 <field name="ATTR">val</field>
                                 <field name="OID">knx.0.1_Stock.Licht.Flur</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <value name="B">
                           <block type="get_value" id="VA0r$;Go3YWDS[Y!2_Ia">
                             <field name="ATTR">val</field>
                             <field name="OID">knx.0.1_Stock.Licht.Gast</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="B">
                       <block type="get_value" id="Em9b-qYo-R(0Qyo#7+jT">
                         <field name="ATTR">val</field>
                         <field name="OID">knx.0.1_Stock.Licht.Kueche</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <value name="B">
                   <block type="get_value" id="1T2-up7b4t^MOH$FrVk(">
                     <field name="ATTR">val</field>
                     <field name="OID">knx.0.1_Stock.Licht.Treppenhaus_unten</field>
                   </block>
                 </value>
               </block>
             </value>
             <value name="B">
               <block type="get_value" id="iX4$;A(yRbNt(?2SF3{a">
                 <field name="ATTR">val</field>
                 <field name="OID">knx.0.1_Stock.Licht.WZ</field>
               </block>
             </value>
           </block>
         </value>
         <statement name="DO0">
           <block type="update" id="G(%K%A!eTuh5]/et5opa">
             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
             <field name="OID">0_userdata.0.Überwachte_Verbraucher.Beleuchtung_Obergeschoss</field>
             <field name="WITH_DELAY">FALSE</field>
             <value name="VALUE">
               <block type="logic_boolean" id="ecrg;1Vgu?#uT;ScHD:#">
                 <field name="BOOL">TRUE</field>
               </block>
             </value>
           </block>
         </statement>
         <statement name="ELSE">
           <block type="update" id="8([~8K672PMbnU#Xh,Ud">
             <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
             <field name="OID">0_userdata.0.Überwachte_Verbraucher.Beleuchtung_Obergeschoss</field>
             <field name="WITH_DELAY">FALSE</field>
             <value name="VALUE">
               <block type="logic_boolean" id="72XK[@tG@}5rQ.4U~X1#">
                 <field name="BOOL">FALSE</field>
               </block>
             </value>
           </block>
         </statement>
       </block>
     </statement>
    </block>
    


    c7a21008-bc85-4344-ac70-4446c366bf39-grafik.png
    Dann noch ein Tipp für die Übersicht, rechte Maustaste auf den Block und "externe Eingänge" wählen ;)

    @paul53
    könnte man sich das viele Oder in der FALLS auch mit "ist wahr" im Trigger und WERT in der FALLS noch verkürzen?

    T Offline
    T Offline
    Tontechniker
    schrieb am zuletzt editiert von
    #31

    @jan1
    Habe alle Blocklys so wie Du vorgeschlagen umgestellt. Es funktioniert ohne Konvertierung.
    Vielen Dank!
    Gruss
    Hans

    J 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @jan1 sagte: KNX Adapter, der auch die Objekte generiert. Ist das dann nicht automatisch richtig?

      Ich weiß nicht, ob der KNX-Adapter alle Datenpunkte richtig behandelt (habe kein KNX).

      T Offline
      T Offline
      Tontechniker
      schrieb am zuletzt editiert von
      #32

      @paul53
      Du vermutest richtig. Alle Datenpunkte kommen von KNX. Deshalb konnte ich mir die Fehlermeldung nicht erklären. Ich glaube, ich habe mit meiner ersten Version ein "feature" entdeckt und mit der Konvertierung den dabei entstehenden Fehler ausgebügelt.

      1 Antwort Letzte Antwort
      0
      • T Tontechniker

        @jan1
        Habe alle Blocklys so wie Du vorgeschlagen umgestellt. Es funktioniert ohne Konvertierung.
        Vielen Dank!
        Gruss
        Hans

        J Offline
        J Offline
        Jan1
        schrieb am zuletzt editiert von
        #33

        @tontechniker
        Und wenn Dir das jetzt anschaust, sieht das auch logischer aus, oder?
        Ehrlich wenn das nicht funktioniert hätte, hätte ich immer noch nicht verstanden, was Du eigentlich tun willst :)

        paul53P 1 Antwort Letzte Antwort
        1
        • J Jan1

          @tontechniker
          Und wenn Dir das jetzt anschaust, sieht das auch logischer aus, oder?
          Ehrlich wenn das nicht funktioniert hätte, hätte ich immer noch nicht verstanden, was Du eigentlich tun willst :)

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

          @jan1 sagte: Und wenn Dir das jetzt anschaust, sieht das auch logischer aus, oder?

          Eigentlich nicht, wenn die Datenpunkte tatsächlich boolesche Werte liefern würden. Falls (if) macht eine implizite Typwandlung, wenn die Oder-Verknüpfung eine Zahl liefert.

          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

          J 1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @jan1 sagte: Und wenn Dir das jetzt anschaust, sieht das auch logischer aus, oder?

            Eigentlich nicht, wenn die Datenpunkte tatsächlich boolesche Werte liefern würden. Falls (if) macht eine implizite Typwandlung, wenn die Oder-Verknüpfung eine Zahl liefert.

            J Offline
            J Offline
            Jan1
            schrieb am zuletzt editiert von
            #35

            @paul53
            Von der Funktion ist was anderes, wenn man noch nicht weiß, was da wirklich im DP drin steht.
            Ich meinte auch die Optik, da man hier eigentlich sehr schnell und einfach sehen kann, was das Blockly tun soll. Das war vorher auch mein Problem, dass irgendwie das was er geschrieben hat, nicht zu dem Blockly gepasst hat, was angeblich sogar das tut was es soll.

            Da das jetzt auch ohne Konvertierung und Fehler im Log läuft, war wohl vorher noch wo ein Fehler begraben.

            paul53P 1 Antwort Letzte Antwort
            1
            • J Jan1

              @paul53
              Von der Funktion ist was anderes, wenn man noch nicht weiß, was da wirklich im DP drin steht.
              Ich meinte auch die Optik, da man hier eigentlich sehr schnell und einfach sehen kann, was das Blockly tun soll. Das war vorher auch mein Problem, dass irgendwie das was er geschrieben hat, nicht zu dem Blockly gepasst hat, was angeblich sogar das tut was es soll.

              Da das jetzt auch ohne Konvertierung und Fehler im Log läuft, war wohl vorher noch wo ein Fehler begraben.

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

              @jan1 sagte: Da das jetzt auch ohne Konvertierung und Fehler im Log läuft

              Die Konvertierung erfolgt jetzt nicht durch einen Konvertierungs-Block, sondern implizit durch den falls-Block.

              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

              J 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @jan1 sagte: Da das jetzt auch ohne Konvertierung und Fehler im Log läuft

                Die Konvertierung erfolgt jetzt nicht durch einen Konvertierungs-Block, sondern implizit durch den falls-Block.

                J Offline
                J Offline
                Jan1
                schrieb am zuletzt editiert von
                #37

                @paul53
                Ist das dann wieder die Typwandlung wie oben schon geschrieben? Wobei ich davon ausgegangen bin, dass der Block nur auf true und false regiert. Aber selbst wenn, müsste das nicht auch im Log auftauchen?

                paul53P 1 Antwort Letzte Antwort
                1
                • J Jan1

                  @paul53
                  Ist das dann wieder die Typwandlung wie oben schon geschrieben? Wobei ich davon ausgegangen bin, dass der Block nur auf true und false regiert. Aber selbst wenn, müsste das nicht auch im Log auftauchen?

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

                  @jan1 sagte: dass der Block nur auf true und false regiert.

                  Der falls-Block reagiert auf alle Datentypen und macht bei nicht booleschen Werten eine implizite Typwandlung.
                  Kleiner Test (variiere den Zahlenwert):

                  Bild_2021-03-21_191506.png

                  @jan1 sagte in Eingeschaltete Verbraucher überwachen:

                  müsste das nicht auch im Log auftauchen?

                  Das Log warnt nur, wenn bei setState() der Datentyp des geschriebenen Wertes nicht mit der Deklaration in common.type übereinstimmt.

                  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

                  J 1 Antwort Letzte Antwort
                  1
                  • paul53P paul53

                    @jan1 sagte: dass der Block nur auf true und false regiert.

                    Der falls-Block reagiert auf alle Datentypen und macht bei nicht booleschen Werten eine implizite Typwandlung.
                    Kleiner Test (variiere den Zahlenwert):

                    Bild_2021-03-21_191506.png

                    @jan1 sagte in Eingeschaltete Verbraucher überwachen:

                    müsste das nicht auch im Log auftauchen?

                    Das Log warnt nur, wenn bei setState() der Datentyp des geschriebenen Wertes nicht mit der Deklaration in common.type übereinstimmt.

                    J Offline
                    J Offline
                    Jan1
                    schrieb am zuletzt editiert von Jan1
                    #39

                    @paul53
                    Hätte nicht gedacht, dass ich bei so einer leichten Aufgabe noch dermaßen viel dazu lerne. Ich habe schon verstanden was da passiert und warum, war mir nur nicht bewusst, dass das so schon automatisch abläuft.

                    Dass das nur bei setState passiert ist dann auch klar, da er hier eben auch gleich ein eventuelles Folgeproblem anmeckert. Beim Einlese ist es dem Block wurscht, da er es eh so konvertiert wie er es versteht. Merkt man dann eventuell erst, wenn was rauskommt, was man so nicht erwartet ;)

                    T 1 Antwort Letzte Antwort
                    1
                    • J Jan1

                      @paul53
                      Hätte nicht gedacht, dass ich bei so einer leichten Aufgabe noch dermaßen viel dazu lerne. Ich habe schon verstanden was da passiert und warum, war mir nur nicht bewusst, dass das so schon automatisch abläuft.

                      Dass das nur bei setState passiert ist dann auch klar, da er hier eben auch gleich ein eventuelles Folgeproblem anmeckert. Beim Einlese ist es dem Block wurscht, da er es eh so konvertiert wie er es versteht. Merkt man dann eventuell erst, wenn was rauskommt, was man so nicht erwartet ;)

                      T Offline
                      T Offline
                      Tontechniker
                      schrieb am zuletzt editiert von Tontechniker
                      #40

                      @jan1
                      Vielen Dank nochmal für eure Hilfe!
                      Wie kann ich denn diesen tread auf "erledigt" setzen?

                      J 1 Antwort Letzte Antwort
                      0
                      • T Tontechniker

                        @jan1
                        Vielen Dank nochmal für eure Hilfe!
                        Wie kann ich denn diesen tread auf "erledigt" setzen?

                        J Offline
                        J Offline
                        Jan1
                        schrieb am zuletzt editiert von Jan1
                        #41

                        @tontechniker
                        Paul ist eben der absolute Spezi, wenn es um Blocklys geht, er kennt die Funktion wohl besser als jeder andere. Dürfte einiges für Dich als Anfänger noch zu hoch gewesen sein, aber ich kann Dich beruhigen, ran tasten hilft hier ungemein um einige Funktionen schnell zu verstehen. Einiges hier war für mich auch etwas überraschend und neu, wobei ich ein paar Dinge schon so vermutet hatte, aber nie wusste warum das so ist.

                        Bedanken geht übrigens auch sehr einfach, einfach unten rechts auf den Pfeil nach oben klicken in dem Post der Dir geholfen hat ;)

                        Erledigt geht auch einfach. Geh in Dein ersten Post und dann auf bearbeiten, dann kannst in der Überschrift einfach "gelöst" hinzufügen.

                        1 Antwort Letzte Antwort
                        1
                        • T Tontechniker

                          Mein Blockly funktioniert nicht! Aufgabe: wenn eines der bool - Objekte "wahr" wird, soll "Beleuchtung Dachgeschoss" auch "wahr" werden, wenn keines "wahr" ist, "falsch".
                          Ich habe mehrere Objekte mit "oder" verknüft. Das Ergebnis solle im angelegten Objekt "Beleuchtung Dachgeschoss" als bool gespeichert werden.

                          Blockly.jpg

                          Warum funktioniert mein Ansatz nicht?
                          Danke für eure Antworten!
                          Hans

                          T Offline
                          T Offline
                          Tontechniker
                          schrieb am zuletzt editiert von Tontechniker
                          #42

                          @tontechniker said in Eingeschaltete Verbraucher überwachen:
                          Ich schaffe es nicht, diesen Beitrag als "gelöst" zu kennzeichnen. Bitte Anleitung oder Ausführung durch Admin.

                          T 1 Antwort Letzte Antwort
                          0
                          • T Tontechniker

                            @tontechniker said in Eingeschaltete Verbraucher überwachen:
                            Ich schaffe es nicht, diesen Beitrag als "gelöst" zu kennzeichnen. Bitte Anleitung oder Ausführung durch Admin.

                            T Offline
                            T Offline
                            Tontechniker
                            schrieb am zuletzt editiert von Tontechniker
                            #43

                            @tontechniker Falscher tread!

                            HomoranH 1 Antwort Letzte Antwort
                            0
                            • T Tontechniker

                              @tontechniker Falscher tread!

                              HomoranH Nicht stören
                              HomoranH Nicht stören
                              Homoran
                              Global Moderator Administrators
                              schrieb am zuletzt editiert von
                              #44

                              @tontechniker ?????

                              kein Support per PN! - Fragen im Forum stellen -
                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton oben rechts. Danke!
                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              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

                              483

                              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