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
    216

  • 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.
  • T Tontechniker

    @jan1
    Ich kann nur sagen, dass es zur Zufriedenheit funktioniert.

    Hab das für alle Stockwerke eingebaut und es ist O.K.!

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

    @tontechniker
    Das Ding macht nix sinnvolles, wenn das gewünscht ist funktioniert es ;)

    Wenn Du Hilfe willst, musst Du Dich auch darauf ein lassen bestehende Fehler zu akzeptieren und da gehts schon mit dem aktualisieren los. Das geht wahrscheinlich nur, weil Du danach konvertierst, was sinnlos ist, da das schon passt, der Block aber dann das Steuern übernimmt, was man mit dem richtigen Block eh schon machen würde.

    T 1 Antwort Letzte Antwort
    0
    • J Jan1

      @tontechniker
      Das Ding macht nix sinnvolles, wenn das gewünscht ist funktioniert es ;)

      Wenn Du Hilfe willst, musst Du Dich auch darauf ein lassen bestehende Fehler zu akzeptieren und da gehts schon mit dem aktualisieren los. Das geht wahrscheinlich nur, weil Du danach konvertierst, was sinnlos ist, da das schon passt, der Block aber dann das Steuern übernimmt, was man mit dem richtigen Block eh schon machen würde.

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

      @jan1
      Das "Ding" zeigt mir im Ergebnis in der Visu-Übersicht, ob noch irgendwo ein Verbraucher eingeschaltet ist. Das ist die Funktion, die ich beabsichtige.

      J 1 Antwort Letzte Antwort
      0
      • T Tontechniker

        @jan1
        Das "Ding" zeigt mir im Ergebnis in der Visu-Übersicht, ob noch irgendwo ein Verbraucher eingeschaltet ist. Das ist die Funktion, die ich beabsichtige.

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

        @tontechniker
        Ja aber so wie Du das aufbaust, ist das eher purer Zufall, dass das so funktioniert, weil das nur Funktionen einzelner Blöcke z einer gesamt Funktion zusammen baut, die ein einzelner Block mehr schon als logische Funktion beinhaltet.

        Was ich auch nicht verstehe, ist die ODER Funktion in der Falls. Du willst das eine Objekt ODER das andere aktualisieren. Wo her soll der Block denn nun wissen was er aktualisieren soll?

        T 1 Antwort Letzte Antwort
        0
        • J Jan1

          @tontechniker
          Ja aber so wie Du das aufbaust, ist das eher purer Zufall, dass das so funktioniert, weil das nur Funktionen einzelner Blöcke z einer gesamt Funktion zusammen baut, die ein einzelner Block mehr schon als logische Funktion beinhaltet.

          Was ich auch nicht verstehe, ist die ODER Funktion in der Falls. Du willst das eine Objekt ODER das andere aktualisieren. Wo her soll der Block denn nun wissen was er aktualisieren soll?

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

          @jan1
          Wie würdest Du denn die Aufgabe lösen??

          J 1 Antwort Letzte Antwort
          0
          • T Tontechniker

            @jan1
            Wie würdest Du denn die Aufgabe lösen??

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

            @tontechniker
            Beschreibe bitte noch mal was Du erreichen willst, weil so ganz habe ich das noch nicht verstanden. Wobei Dein Blockly eben auch kein Sinn ergibt.

            Du willst doch lediglich ein paar Lampen (wie viele?) prüfen, ob die an sind und wenn eine davon an ist, dann soll ein DP auf wahr wechseln, richtig?

            1 Antwort Letzte Antwort
            0
            • T Tontechniker

              @paul53 sagt: Dann müssen auch diese 3 Datenpunkte triggern.

              Vielen Dank! Daran habe ich nicht gedacht. Bin noch blutiger Anfänger mit Blockly.
              Gruß
              Hans

              P.S.
              Es kam noch diese Fehlermeldung:
              "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".

              Blockly.jpg

              Nach einfügen von Konvertierung "nach Logikwert" funktionierte das Blockly wie gewünscht.

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

              @tontechniker sagte: Nach einfügen von Konvertierung "nach Logikwert" funktionierte das Blockly wie gewünscht.

              Enthalten die Datenpunkte "Rundumleuchten" und "Wege" Zahlen (Anzahl der eingeschalteten Leuchten)? Wenn ja, dann bilde die Summe und prüfe diese auf > 0.

              Bild_2021-03-21_155514.png

              Man kann auch mit Typwandlung arbeiten, was aber der Verständlichkeit abträglich 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

                @tontechniker sagte: Nach einfügen von Konvertierung "nach Logikwert" funktionierte das Blockly wie gewünscht.

                Enthalten die Datenpunkte "Rundumleuchten" und "Wege" Zahlen (Anzahl der eingeschalteten Leuchten)? Wenn ja, dann bilde die Summe und prüfe diese auf > 0.

                Bild_2021-03-21_155514.png

                Man kann auch mit Typwandlung arbeiten, was aber der Verständlichkeit abträglich ist.

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

                @paul53
                Du bist ja der Blockly Spezi, deshalb mal ne Frage zu dem Blockly so wie es jetzt ist. Wie kann ich ein Objekt mit ner ODER definiert setzten? Wenn die beiden Objekte unterschiedlich sind, welches ist dann dominant?

                mal von der Konvertierung abgesehen, kann das doch so nicht funktionieren:
                28008dce-f2a9-4272-a013-297e94c83d7f-grafik.png

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #16

                  @jan1
                  Bei ODER (||) wird der erste (von links nach rechts) Operand zurück gegeben, dessen implizite Typwandlung true ergibt.

                  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
                    Bei ODER (||) wird der erste (von links nach rechts) Operand zurück gegeben, dessen implizite Typwandlung true ergibt.

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

                    @paul53
                    OK, heißt tatsächlich wenn einer der beiden Werte TRUE ist (oder eben nicht einer der Werte die ein FALSE verursachen), wird auf TRUE aktualisiert, oder beziehst Du das jetzt doch auf die Konvertierung auf ein Logikwert?
                    Die Konvertierung wird ja eh nur benötigt, wenn die Objekte nicht boolen sind, was noch nicht geklärt ist.

                    Edit:
                    würde auch erklären warum das so funktioniert, obwohl das dann aber zu 100% Zufall ist, da er das was Du da aufführst als Anfänger nie und nimmer absichtlich gemacht hat :-)

                    Da empfehle ich aber trotz Funktion das auf "normal" umzubauen, da man diese Logik erst mal verinnerlichen muss.

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • J Jan1

                      @paul53
                      OK, heißt tatsächlich wenn einer der beiden Werte TRUE ist (oder eben nicht einer der Werte die ein FALSE verursachen), wird auf TRUE aktualisiert, oder beziehst Du das jetzt doch auf die Konvertierung auf ein Logikwert?
                      Die Konvertierung wird ja eh nur benötigt, wenn die Objekte nicht boolen sind, was noch nicht geklärt ist.

                      Edit:
                      würde auch erklären warum das so funktioniert, obwohl das dann aber zu 100% Zufall ist, da er das was Du da aufführst als Anfänger nie und nimmer absichtlich gemacht hat :-)

                      Da empfehle ich aber trotz Funktion das auf "normal" umzubauen, da man diese Logik erst mal verinnerlichen muss.

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

                      @jan1 sagte: Die Konvertierung wird ja eh nur benötigt, wenn die Objekte nicht boolen sind

                      Ja, siehe Beispiel:

                      Bild_2021-03-21_161901.png

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

                      J 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @jan1 sagte: Die Konvertierung wird ja eh nur benötigt, wenn die Objekte nicht boolen sind

                        Ja, siehe Beispiel:

                        Bild_2021-03-21_161901.png

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

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

                                          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

                                          480

                                          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