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
    215

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

  • 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

    @paul53
    OK, wieder was gelernt.
    Mal schauen was @Tontechniker noch schreibt und ob die Konvertierung wirklich nötig ist, oder ob die nur zufällig das Blockly so zurecht biegt, dass es augenscheinlich das Tut was gewünscht ist, was wirklich Zufall sein sollte ;)

    T Online
    T Online
    Tontechniker
    schrieb am zuletzt editiert von Tontechniker
    #20

    @jan1
    Das mit der Konvertierung macht mich auch etwas stutzig. Meine verwendeten Objekte sind alle "bool". Trotzdem kommt die schon oben erwähnte Fehlermeldung im Log, wenn ich die Konvertierung nicht einfüge.
    Ich habe drei Stockwerke mit je ca. 10 Objekten. In der Visu habe ich für jedes Stockwerk einen Indikator (bool) eingebaut, der anzeigt, dass noch nicht alle Objekte (Leuchten) aus sind.
    Nach meinem Kentnisstand habe ich ein logisches "oder" über die Objekte mit meinem Blockly gebaut, das - bis auf die Konvertierung - so funktioniert wie gedacht.
    Das das ein Zufallsprodukt sein soll, kann ich nicht glauben. Ich kann auch mal den Code des Blocklys hier einstellen, dann können die Spezialisten nachsehen, warum es funktioniert.
    Hans

    J paul53P 3 Antworten Letzte Antwort
    0
    • T Tontechniker

      @jan1
      Das mit der Konvertierung macht mich auch etwas stutzig. Meine verwendeten Objekte sind alle "bool". Trotzdem kommt die schon oben erwähnte Fehlermeldung im Log, wenn ich die Konvertierung nicht einfüge.
      Ich habe drei Stockwerke mit je ca. 10 Objekten. In der Visu habe ich für jedes Stockwerk einen Indikator (bool) eingebaut, der anzeigt, dass noch nicht alle Objekte (Leuchten) aus sind.
      Nach meinem Kentnisstand habe ich ein logisches "oder" über die Objekte mit meinem Blockly gebaut, das - bis auf die Konvertierung - so funktioniert wie gedacht.
      Das das ein Zufallsprodukt sein soll, kann ich nicht glauben. Ich kann auch mal den Code des Blocklys hier einstellen, dann können die Spezialisten nachsehen, warum es funktioniert.
      Hans

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

      @tontechniker
      Das ist ein Zufallsprodukt ;-)

      Wenn das wirklich boolen sind, dann ist die Konvertierung überflüssig.
      Ich fasse jetzt noch mal zusammen, was Du überhaupt machen willst.

      Beleuchtung Garten soll auf true wechseln, wenn Rundumleuchten oder Wege true sind, richtig?
      Wenn ja dann poste mal bitte den Export, damit ich das so umbaue, wie es für mich am logischsten wäre.

      T 1 Antwort Letzte Antwort
      0
      • J Jan1

        @tontechniker
        Das ist ein Zufallsprodukt ;-)

        Wenn das wirklich boolen sind, dann ist die Konvertierung überflüssig.
        Ich fasse jetzt noch mal zusammen, was Du überhaupt machen willst.

        Beleuchtung Garten soll auf true wechseln, wenn Rundumleuchten oder Wege true sind, richtig?
        Wenn ja dann poste mal bitte den Export, damit ich das so umbaue, wie es für mich am logischsten wäre.

        T Online
        T Online
        Tontechniker
        schrieb am zuletzt editiert von Tontechniker
        #22

        @jan1
        Ich schicke Dir mal ein komplettes Stockwerk.
        Erster Stock.txt
        Und hier das einfache Beispiel.
        Garten.txt
        Danke!

        J 1 Antwort Letzte Antwort
        0
        • T Tontechniker

          @jan1
          Ich schicke Dir mal ein komplettes Stockwerk.
          Erster Stock.txt
          Und hier das einfache Beispiel.
          Garten.txt
          Danke!

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

          @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?

          paul53P T 2 Antworten Letzte Antwort
          1
          • T Tontechniker

            @jan1
            Das mit der Konvertierung macht mich auch etwas stutzig. Meine verwendeten Objekte sind alle "bool". Trotzdem kommt die schon oben erwähnte Fehlermeldung im Log, wenn ich die Konvertierung nicht einfüge.
            Ich habe drei Stockwerke mit je ca. 10 Objekten. In der Visu habe ich für jedes Stockwerk einen Indikator (bool) eingebaut, der anzeigt, dass noch nicht alle Objekte (Leuchten) aus sind.
            Nach meinem Kentnisstand habe ich ein logisches "oder" über die Objekte mit meinem Blockly gebaut, das - bis auf die Konvertierung - so funktioniert wie gedacht.
            Das das ein Zufallsprodukt sein soll, kann ich nicht glauben. Ich kann auch mal den Code des Blocklys hier einstellen, dann können die Spezialisten nachsehen, warum es funktioniert.
            Hans

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

            @tontechniker sagte: Ich kann auch mal den Code des Blocklys hier einstellen, dann können die Spezialisten nachsehen, warum es funktioniert.

            Das nutzt nichts, da wir nicht nachvollziehen können, was die Trigger-Datenpunkte liefern. Bau besser zwei Debug-Blöcke für die Log-Ausgabe der beiden Datenpunkt-Werte ein.

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

            1 Antwort Letzte Antwort
            0
            • 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?

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

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

              Nein.

              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: könnte man sich das viele Oder in der FALLS auch mit "ist wahr" im Trigger und WERT in der FALLS noch verkürzen?

                Nein.

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

                @paul53
                Hatte ich mir gedacht, da der Trigger hier leider nicht als ODER fungiert und die Zuordnung WERT wohl auch nicht so ist wie es bei einem einzelnen Objekt wäre, schade da man so alles doppelt angeben muss.

                @Tontechniker
                Der RAW eines der Trigger DPs wäre hier auch nützlich, da man da sieht wie der deklariert ist.

                paul53P 1 Antwort Letzte Antwort
                0
                • J Jan1

                  @paul53
                  Hatte ich mir gedacht, da der Trigger hier leider nicht als ODER fungiert und die Zuordnung WERT wohl auch nicht so ist wie es bei einem einzelnen Objekt wäre, schade da man so alles doppelt angeben muss.

                  @Tontechniker
                  Der RAW eines der Trigger DPs wäre hier auch nützlich, da man da sieht wie der deklariert ist.

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

                  @jan1 sagte: Der RAW eines der Trigger DPs wäre hier auch nützlich, da man da sieht wie der deklariert ist.

                  Aber nur dann, wenn sich die Werte im Datenpunkt an die Deklaration halten, was leider nicht immer der Fall 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

                  J 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @jan1 sagte: Der RAW eines der Trigger DPs wäre hier auch nützlich, da man da sieht wie der deklariert ist.

                    Aber nur dann, wenn sich die Werte im Datenpunkt an die Deklaration halten, was leider nicht immer der Fall ist.

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

                    @paul53
                    Die Anbindung der Geräte erfolgt wohl über den KNX Adapter, der auch die Objekte generiert. Ist das dann nicht automatisch richtig?

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • J Jan1

                      @paul53
                      Die Anbindung der Geräte erfolgt wohl über den KNX Adapter, der auch die Objekte generiert. Ist das dann nicht automatisch richtig?

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

                      @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).

                      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 Antwort Letzte Antwort
                      1
                      • T Tontechniker

                        @jan1
                        Das mit der Konvertierung macht mich auch etwas stutzig. Meine verwendeten Objekte sind alle "bool". Trotzdem kommt die schon oben erwähnte Fehlermeldung im Log, wenn ich die Konvertierung nicht einfüge.
                        Ich habe drei Stockwerke mit je ca. 10 Objekten. In der Visu habe ich für jedes Stockwerk einen Indikator (bool) eingebaut, der anzeigt, dass noch nicht alle Objekte (Leuchten) aus sind.
                        Nach meinem Kentnisstand habe ich ein logisches "oder" über die Objekte mit meinem Blockly gebaut, das - bis auf die Konvertierung - so funktioniert wie gedacht.
                        Das das ein Zufallsprodukt sein soll, kann ich nicht glauben. Ich kann auch mal den Code des Blocklys hier einstellen, dann können die Spezialisten nachsehen, warum es funktioniert.
                        Hans

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

                        @tontechniker sagte: Meine verwendeten Objekte sind alle "bool".

                        Der Javascript-Adapter denkt sich das nicht aus:

                        You are assigning a number to the state "0_userdata.0.Überwachte_Verbraucher.Beleuchtung_Garten" which expects a boolean. Please fix your code to use a boolean or change the state type to number
                        

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

                        1 Antwort Letzte Antwort
                        1
                        • 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 Online
                          T Online
                          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 Online
                            T Online
                            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

                                          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

                                          492

                                          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