Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. iobroker, MQTT und Shelly - Was geht wie?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

iobroker, MQTT und Shelly - Was geht wie?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
167 Beiträge 10 Kommentatoren 46.4k Aufrufe 10 Watching
  • Ä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.
  • mickymM mickym

    @th-g sagte in iobroker, MQTT und Shelly - Was geht wie?:

    @mickym

    Nein das war nur meine Wartezeit geschätzt hätten auch drei sein können. 1 Sekunde ist eingestellt im Shelly

    Ja aber selbst die Konfig meldet es richtig zurück. Schalte halt mal auf 2 oder 3 Sekunden, ob das was ändert.

    25ede6ae-4166-4598-92c1-d7b997b4f81b-image.png

    TH GT Offline
    TH GT Offline
    TH G
    schrieb am zuletzt editiert von
    #41

    @mickym

    Jetzt mit drei Sekunden.

    {
      "id": 1,
      "src": "shellyplus1-441793cda980",
      "dst": "user_1",
      "result": {
        "id": 0,
        "name": null,
        "in_mode": "detached",
        "initial_state": "off",
        "auto_on": false,
        "auto_on_delay": 60,
        "auto_off": true,
        "auto_off_delay": 3
      }
    
    mickymM 1 Antwort Letzte Antwort
    0
    • TH GT TH G

      @mickym

      Jetzt mit drei Sekunden.

      {
        "id": 1,
        "src": "shellyplus1-441793cda980",
        "dst": "user_1",
        "result": {
          "id": 0,
          "name": null,
          "in_mode": "detached",
          "initial_state": "off",
          "auto_on": false,
          "auto_on_delay": 60,
          "auto_off": true,
          "auto_off_delay": 3
        }
      
      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #42

      @th-g

      Nach dem Schalten - (evtl. Sekunden nochmal erhöhen) - schicke einen Status Request hinterher:

      {
       "id": 1,
         "src":"user_1",
         "method":"Switch.GetStatus",
         "params": {
            "id":0
         }
      }
      

      In dem Status - sollte es 2 Werte geben, ob der timer getriggert wurde:

      14ff513a-9b88-4e6b-8e14-189efb14af6d-image.png

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

      TH GT 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @th-g

        Nach dem Schalten - (evtl. Sekunden nochmal erhöhen) - schicke einen Status Request hinterher:

        {
         "id": 1,
           "src":"user_1",
           "method":"Switch.GetStatus",
           "params": {
              "id":0
           }
        }
        

        In dem Status - sollte es 2 Werte geben, ob der timer getriggert wurde:

        14ff513a-9b88-4e6b-8e14-189efb14af6d-image.png

        TH GT Offline
        TH GT Offline
        TH G
        schrieb am zuletzt editiert von
        #43

        @mickym

        Das mache ich morgen, sonst nerve ich die Nachbarn mit dem ständigen ruf und runter :-)

        1 Antwort Letzte Antwort
        0
        • mickymM mickym

          @th-g Ein Shelly 1 kann doch nur ein oder aus geschaltet werden. Du solltest doch erst mal schauen, wie das mit ein und ausschalten über den datenpunkt funktioniert.- VIS kommt erst viel später. Also sag erst mal on das mit dem Ein- und Ausschalten über den JSON so geht.

          So wie Du im Shelly konfiguriert hast. schaltet der EIN und nach 1 Sekunde wieder aus. Somit tut der Shelly ja erst mal. Im VIS schickst Du wahrscheinlich nur ein true - weil ein Schalter nichts anderes kann. Entweder machst Du alles über Deine Logikmaschine - oder Du nutzt einen Alias.

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von
          #44

          @mickym Gut - aber im Moment bin ich auch etwas ratlos - in meinen Augen hängt es eigentlich nicht an der Konfiguration oder MQTT - aber keine Ahnung warum der interne Timer nicht losläuft.

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

          1 Antwort Letzte Antwort
          0
          • haus-automatisierungH haus-automatisierung

            @mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:

            Ja kein Problem - beim mir laufen alle Shellies über MQTT wie geschmiert.

            Finde solche Aussagen immer Interessant. Klar läuft das. Aber: Den Shelly Adapter installiert man, liest kurz die Doku und konfiguriert alles so. Selbst als Einsteiger ist man (ohne etwas mit Topics oder JSON zu tun zu haben) in 5min fertig.

            Jetzt kann man das alles natürlich noch einmal selbst implementieren und die Topics selbst zerlegen und die Payloads zusammenbauen und auf die richtigen Topics publishen um die Geräte anzusteuern. Aber da sitzt man sehr sehr viel länger dran, liest lange in der Shelly API-Dokumentation und muss sich wirklich mit dem Thema auseinandersetzen.

            Das sollte jedem klar sein. Also 5min vs. mehrere Stunden.
            Ich gucke hier mal zu, wie lange es dauert, bis das per MQTT mit allen benötigten Features bei @TH-G läuft :)

            A Offline
            A Offline
            andrew
            schrieb am zuletzt editiert von
            #45

            @haus-automatisierung said in iobroker, MQTT und Shelly - Was geht wie?:

            Finde solche Aussagen immer Interessant. Klar läuft das. Aber: Den Shelly Adapter installiert man, liest kurz die Doku und konfiguriert alles so. Selbst als Einsteiger ist man (ohne etwas mit Topics oder JSON zu tun zu haben) in 5min fertig.

            Ich bin noch relativ neu im Bereich IOBroker. Für meinen Shelly Plus Plug S benötige ich die Version 6.4.0.
            Laut github ist die Version 6.4.0 als latest auch schon released.
            npm weist diese Version jedoch als Beta aus und im IOBroker wird auch nur die 6.3.1 als verfügbare Version ausgewiesen.
            Ist da in den kommenden Tagen mit einer Änderung zu rechnen oder muss ich tatsächlich die Repo von IOBroker auf Beta umstellen um die Version 6.4.0 verwenden zu können?

            Ach ja, der Shelly Plus Plug S wirft bei mir unter der Version 6.3.1 den Fehler "device unknown, configuration for client with id "shellyplusplugs-3ce90e2fbd70" does not exist!", was vermutlich daran liegt, dass der Plus Plug S in 6.3.1 noch nicht bekannt ist ;-)

            Um einigen Anmerkungen entgegen zu treten "shellyplusplugs-3ce90e2fbd70" ist natürlich die originäre Client-ID :-)

            haus-automatisierungH 1 Antwort Letzte Antwort
            0
            • A andrew

              @haus-automatisierung said in iobroker, MQTT und Shelly - Was geht wie?:

              Finde solche Aussagen immer Interessant. Klar läuft das. Aber: Den Shelly Adapter installiert man, liest kurz die Doku und konfiguriert alles so. Selbst als Einsteiger ist man (ohne etwas mit Topics oder JSON zu tun zu haben) in 5min fertig.

              Ich bin noch relativ neu im Bereich IOBroker. Für meinen Shelly Plus Plug S benötige ich die Version 6.4.0.
              Laut github ist die Version 6.4.0 als latest auch schon released.
              npm weist diese Version jedoch als Beta aus und im IOBroker wird auch nur die 6.3.1 als verfügbare Version ausgewiesen.
              Ist da in den kommenden Tagen mit einer Änderung zu rechnen oder muss ich tatsächlich die Repo von IOBroker auf Beta umstellen um die Version 6.4.0 verwenden zu können?

              Ach ja, der Shelly Plus Plug S wirft bei mir unter der Version 6.3.1 den Fehler "device unknown, configuration for client with id "shellyplusplugs-3ce90e2fbd70" does not exist!", was vermutlich daran liegt, dass der Plus Plug S in 6.3.1 noch nicht bekannt ist ;-)

              Um einigen Anmerkungen entgegen zu treten "shellyplusplugs-3ce90e2fbd70" ist natürlich die originäre Client-ID :-)

              haus-automatisierungH Online
              haus-automatisierungH Online
              haus-automatisierung
              Developer Most Active
              schrieb am zuletzt editiert von
              #46

              @andrew Ich muss mal gucken, wieviele die Beta aktuell installiert haben. Das läuft immer ein paar Wochen, bis diese in stable freigegeben wird.

              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
              📚 Meine inoffizielle ioBroker Dokumentation

              TH GT 1 Antwort Letzte Antwort
              1
              • haus-automatisierungH haus-automatisierung

                @andrew Ich muss mal gucken, wieviele die Beta aktuell installiert haben. Das läuft immer ein paar Wochen, bis diese in stable freigegeben wird.

                TH GT Offline
                TH GT Offline
                TH G
                schrieb am zuletzt editiert von TH G
                #47

                @mickym

                Habe heute einen weiteren Shelly Plus 1 mit Add-On in Betrieb genommen. In der Shelly App funktioniert alles und das Gerät sendet auch fleißig seine Werte an den MQTT Broker.

                Hier möchte ich nur die drei Temperaturwerte im VIS anzeigen lassen.

                Drei DP habe ich fürs VIS schon angelegt.

                Über MQTT kommt folgendes:

                {
                  "src": "shellyplus1-441793d07ba4",
                  "dst": "shellyplus1-441793d07ba4/events",
                  "method": "NotifyStatus",
                  "params": {
                    "ts": 1677158862.21,
                    "temperature:101": {
                      "id": 101,
                      "tC": 10.31,
                      "tF": 50.56
                    }
                  }
                }
                

                Je nach dem wie sich die Werte ändern, steht dort für die Temperatur die ID 100, 101 oder 102 mit den entsprechendem tC Wert.

                Nun möchte ich, dass bei jeder Änderung der Wert in dem entsprechenden Datenpunkt geändert wird.

                Also

                id100 zum DP Ansaugluft
                id101 zum DP Zuluft
                id102 zum DB Abluft

                Wie mache ich das im Blockly (ich brauche ein Erfolgserlebnis :-)?

                mickymM 2 Antworten Letzte Antwort
                0
                • TH GT TH G

                  @mickym

                  Habe heute einen weiteren Shelly Plus 1 mit Add-On in Betrieb genommen. In der Shelly App funktioniert alles und das Gerät sendet auch fleißig seine Werte an den MQTT Broker.

                  Hier möchte ich nur die drei Temperaturwerte im VIS anzeigen lassen.

                  Drei DP habe ich fürs VIS schon angelegt.

                  Über MQTT kommt folgendes:

                  {
                    "src": "shellyplus1-441793d07ba4",
                    "dst": "shellyplus1-441793d07ba4/events",
                    "method": "NotifyStatus",
                    "params": {
                      "ts": 1677158862.21,
                      "temperature:101": {
                        "id": 101,
                        "tC": 10.31,
                        "tF": 50.56
                      }
                    }
                  }
                  

                  Je nach dem wie sich die Werte ändern, steht dort für die Temperatur die ID 100, 101 oder 102 mit den entsprechendem tC Wert.

                  Nun möchte ich, dass bei jeder Änderung der Wert in dem entsprechenden Datenpunkt geändert wird.

                  Also

                  id100 zum DP Ansaugluft
                  id101 zum DP Zuluft
                  id102 zum DB Abluft

                  Wie mache ich das im Blockly (ich brauche ein Erfolgserlebnis :-)?

                  mickymM Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #48

                  @th-g Ja kommt gleich - ich hasse nur puzzle - in Zukunft - steigst Du auf ein anderes Tool um. wenn ich es fertig habe - muss ich auch erst mal weg. ;) Ich verstehe nicht, warum man auf diese Google Teile steht - ist mir gerade auch 3 mal abgeschmiert. ,)

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

                  TH GT 1 Antwort Letzte Antwort
                  0
                  • TH GT TH G

                    @mickym

                    Habe heute einen weiteren Shelly Plus 1 mit Add-On in Betrieb genommen. In der Shelly App funktioniert alles und das Gerät sendet auch fleißig seine Werte an den MQTT Broker.

                    Hier möchte ich nur die drei Temperaturwerte im VIS anzeigen lassen.

                    Drei DP habe ich fürs VIS schon angelegt.

                    Über MQTT kommt folgendes:

                    {
                      "src": "shellyplus1-441793d07ba4",
                      "dst": "shellyplus1-441793d07ba4/events",
                      "method": "NotifyStatus",
                      "params": {
                        "ts": 1677158862.21,
                        "temperature:101": {
                          "id": 101,
                          "tC": 10.31,
                          "tF": 50.56
                        }
                      }
                    }
                    

                    Je nach dem wie sich die Werte ändern, steht dort für die Temperatur die ID 100, 101 oder 102 mit den entsprechendem tC Wert.

                    Nun möchte ich, dass bei jeder Änderung der Wert in dem entsprechenden Datenpunkt geändert wird.

                    Also

                    id100 zum DP Ansaugluft
                    id101 zum DP Zuluft
                    id102 zum DB Abluft

                    Wie mache ich das im Blockly (ich brauche ein Erfolgserlebnis :-)?

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    schrieb am zuletzt editiert von mickym
                    #49

                    @th-g So nun zu dem Puzzlen - ich mach das aber nicht nochmal - es kostet einfach viel Zeit und ist so umständlich. Du solltest dir doch mal NodeRed anschauen. ;) Nur eine Empfehlung. Ich weiß ich bin hier in der Minderheit. ;)

                    c1d68f64-d3fc-4910-8045-35bd5f844f1a-image.png

                    So es hängt nun davon ab - ob in dem JSON das Objekt unter params immer "temperature:101" heißt oder nicht. Je nachdem habe ich Dir eine JSONATA Variante mit einem Wildcard unter ID 101 gezeigt, ansonsten wenn das konstant ist, dann halt direkt mit Attribut von Objekt.

                    Das Falls attribute funktioniert nicht - dann stürzt diese blöde Teil einfach ab. Also musst Du eine Variable id auf jedenfall verwenden, wenn Du den Switch verwenden willst.

                    Wenn temperature:101 - immer als Eigenschaftsname bleibt dann kannst auch oben die id direkt als

                    b1a0bdd8-d44b-44cf-9bb6-a2775f8058db-image.png

                    Attribut des Objektes auslesen.

                    Hier zum Import:

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable id="[a]yK.@;lwe0hytxaDXA">id</variable>
                     </variables>
                     <block type="on" id="I#AN;X#!LbosD^UgyrUP" x="63" y="-12">
                       <field name="OID">0_userdata.0.test0.test.string</field>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <statement name="STATEMENT">
                         <block type="variables_set" id="pW37MZI?+I4ri?OB$[rH">
                           <field name="VAR" id="[a]yK.@;lwe0hytxaDXA">id</field>
                           <value name="VALUE">
                             <block type="convert_jsonata" id="{0;3c~:mA@O7((M{87]R">
                               <value name="EXPRESSION">
                                 <shadow type="text" id="JtT{Vmu?F`dDz:rZ0(mU">
                                   <field name="TEXT">$.params.*.id</field>
                                 </shadow>
                               </value>
                               <value name="TARGET">
                                 <block type="convert_json2object" id="dpi5p(O9T~Pp-XiWI}d7">
                                   <value name="VALUE">
                                     <block type="on_source" id="eHBBR/P07v$],9nDH*]r">
                                       <field name="ATTR">state.val</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="debug" id="h=(1|fnX7IO~e,(-kYry">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text" id="^0;n}1}em$2-Zejz]*U7">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="variables_get" id="N1]?0|],@)3g%qO3yM:#">
                                   <field name="VAR" id="[a]yK.@;lwe0hytxaDXA">id</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="logic_switch_case" id="o^4jl(330$j{NbSRsr7{">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" case="2"></mutation>
                                   <value name="CONDITION">
                                     <block type="variables_get" id="||X*9k_pV$s#GlHv!K9X">
                                       <field name="VAR" id="[a]yK.@;lwe0hytxaDXA">id</field>
                                     </block>
                                   </value>
                                   <value name="CASECONDITION0">
                                     <block type="math_number" id="k?OULZ|M:hCKCS*d_hVg">
                                       <field name="NUM">101</field>
                                     </block>
                                   </value>
                                   <statement name="CASE0">
                                     <block type="debug" id="kTTm]Fz@=D@RQ:^}Ah:I">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="cWU4Hj5v+x*sBl8MuUDm">
                                           <field name="TEXT">id 101</field>
                                         </shadow>
                                         <block type="convert_jsonata" id="9n/Ozt-A6~E=%`vY!XOf">
                                           <value name="EXPRESSION">
                                             <shadow type="text" id="-=r=l}OaKh[fr[I4Ywo#">
                                               <field name="TEXT">$.params.*.tC</field>
                                             </shadow>
                                           </value>
                                           <value name="TARGET">
                                             <block type="convert_json2object" id="Y6(O{kPhP*bH*9%C=.PM">
                                               <value name="VALUE">
                                                 <block type="on_source" id="S:cP;c*f6j:b=P)V+i:2">
                                                   <field name="ATTR">state.val</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="update" id="^iy,~%wVLh1bxe+^,=i8" disabled="true">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">Object ID</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="convert_jsonata" id="D;zw{zpb.b?uVIYP@]D{">
                                               <value name="EXPRESSION">
                                                 <shadow type="text" id="qJ8Uq/v,KAQSy{Lm9=fE">
                                                   <field name="TEXT">$.params.*.tC</field>
                                                 </shadow>
                                               </value>
                                               <value name="TARGET">
                                                 <block type="convert_json2object" id="7ZT;;i2dz:LzQw2bXl#K">
                                                   <value name="VALUE">
                                                     <block type="on_source" id="zlz-Q8]{p4$8:(P0*V{|">
                                                       <field name="ATTR">state.val</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                   <value name="CASECONDITION1">
                                     <block type="math_number" id="zH*rxz}.8O#:J(.pf/SQ">
                                       <field name="NUM">102</field>
                                     </block>
                                   </value>
                                   <statement name="CASE1">
                                     <block type="debug" id="!^hYhpf4XvBN;kCQDE-9">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="4Vm}G!}ZMjt[-R5=!t_]">
                                           <field name="TEXT">id102</field>
                                         </shadow>
                                         <block type="get_attr" id=",e:GwcEvTg4!,0IN+=7v">
                                           <value name="PATH">
                                             <shadow type="text" id="[T/l=5I8)2NQ#2d}PJ0e">
                                               <field name="TEXT">params.temperature:101.tC</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <block type="on_source" id="OK0n{G`P_D0mDGHC=o*G">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="update" id="R=.58x%jtiL$hE2$VZCJ" disabled="true">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">Object ID</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="get_attr" id="V{|oE`%C;K16g*@;UC/:">
                                               <value name="PATH">
                                                 <shadow type="text" id="sBBws^iR_I:7eSyk-SN?">
                                                   <field name="TEXT">params.temperatur:101.tC</field>
                                                 </shadow>
                                               </value>
                                               <value name="OBJECT">
                                                 <block type="on_source" id="jIqE7zE)gvuTaR_Dd@Nv">
                                                   <field name="ATTR">state.val</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                   <value name="CASECONDITION2">
                                     <block type="math_number" id="(b$M=qlY11Bo4oGG8-1C">
                                       <field name="NUM">103</field>
                                     </block>
                                   </value>
                                   <statement name="CASE2">
                                     <block type="debug" id="atqz_e:q/95.$CT/~pb{">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="Q?h}V,]vbw6{joQalb=.">
                                           <field name="TEXT">id103</field>
                                         </shadow>
                                         <block type="get_attr" id=",+Ibn.:.rz[?;fv7|qX6">
                                           <value name="PATH">
                                             <shadow type="text" id="DL3*0$uq0[-3vsf8XKV|">
                                               <field name="TEXT">params.temperature:101.tC</field>
                                             </shadow>
                                           </value>
                                           <value name="OBJECT">
                                             <block type="on_source" id="FcqdwY%a8kb%Ui./K*;=">
                                               <field name="ATTR">state.val</field>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="update" id=".Lf^d}Ob9pX]:ZH:cZWy" disabled="true">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                           <field name="OID">Object ID</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="get_attr" id="$8GKiNoofme:dUOYQD?a">
                                               <value name="PATH">
                                                 <shadow type="text" id="~Hch_u6oO:D+Uze36~(~">
                                                   <field name="TEXT">params.temperatur:101.tC</field>
                                                 </shadow>
                                               </value>
                                               <value name="OBJECT">
                                                 <block type="on_source" id="Bg7$(BB5=Jan5-xfg~Kx">
                                                   <field name="ATTR">state.val</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                    </xml>
                    

                    aber wie gesagt - viel weiter werde ich nicht puzzeln. Aber nun muss ich erst mal weg. Wenn Du Fragen hast, melde ich mich sporadisch von unterwegs. Aber nicht mit Code. ;)

                    Als Trigger nimmst natürlich Deinen mqtt- Datenpunkt.

                    Alias funktioniert nicht, da Du ja je ID andere Datenpunkte beschreiben willst.

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

                    1 Antwort Letzte Antwort
                    0
                    • mickymM mickym

                      @th-g Ja kommt gleich - ich hasse nur puzzle - in Zukunft - steigst Du auf ein anderes Tool um. wenn ich es fertig habe - muss ich auch erst mal weg. ;) Ich verstehe nicht, warum man auf diese Google Teile steht - ist mir gerade auch 3 mal abgeschmiert. ,)

                      TH GT Offline
                      TH GT Offline
                      TH G
                      schrieb am zuletzt editiert von TH G
                      #50

                      @mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:

                      Ich verstehe nicht, warum man auf diese Google Teile steht

                      Was meinst du damit? Welche Google Teile?

                      Danke für dein Blockly. Irgendwie hatte ich mir das anders vorgestellt und ich glaube ich werde doch mal über den Shelly Adapter nachdenken. Das ist mit MQTT für mich dann doch nicht so anwenderfreundlich.

                      mickymM 1 Antwort Letzte Antwort
                      0
                      • TH GT TH G

                        @mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:

                        Ich verstehe nicht, warum man auf diese Google Teile steht

                        Was meinst du damit? Welche Google Teile?

                        Danke für dein Blockly. Irgendwie hatte ich mir das anders vorgestellt und ich glaube ich werde doch mal über den Shelly Adapter nachdenken. Das ist mit MQTT für mich dann doch nicht so anwenderfreundlich.

                        mickymM Offline
                        mickymM Offline
                        mickym
                        Most Active
                        schrieb am zuletzt editiert von mickym
                        #51

                        @th-g Na diese Blockly Puzzles stammen von Google. ;) - ich mag halt lieber die IBM Nodes von NodeRed. ;)

                        Falls Du gedacht hast, das Blockly was eigenes für iobroker ist, dann muss ich Dich leider enttäuschen. ;)

                        https://de.wikipedia.org/wiki/Blockly

                        Es ist eine "Umgebung zum spielerischen Erlernen von Programmierprinzipien" :grin:

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

                        TH GT 2 Antworten Letzte Antwort
                        0
                        • mickymM mickym

                          @th-g Na diese Blockly Puzzles stammen von Google. ;) - ich mag halt lieber die IBM Nodes von NodeRed. ;)

                          Falls Du gedacht hast, das Blockly was eigenes für iobroker ist, dann muss ich Dich leider enttäuschen. ;)

                          https://de.wikipedia.org/wiki/Blockly

                          Es ist eine "Umgebung zum spielerischen Erlernen von Programmierprinzipien" :grin:

                          TH GT Offline
                          TH GT Offline
                          TH G
                          schrieb am zuletzt editiert von
                          #52

                          @mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:

                          Falls Du gedacht hast, das Blockly was eigenes für iobroker ist, dann muss ich Dich leider enttäuschen.

                          Oh das wusste ich nicht, danke für die Info.

                          1 Antwort Letzte Antwort
                          0
                          • mickymM mickym

                            @th-g Na diese Blockly Puzzles stammen von Google. ;) - ich mag halt lieber die IBM Nodes von NodeRed. ;)

                            Falls Du gedacht hast, das Blockly was eigenes für iobroker ist, dann muss ich Dich leider enttäuschen. ;)

                            https://de.wikipedia.org/wiki/Blockly

                            Es ist eine "Umgebung zum spielerischen Erlernen von Programmierprinzipien" :grin:

                            TH GT Offline
                            TH GT Offline
                            TH G
                            schrieb am zuletzt editiert von
                            #53

                            @mickym

                            Funktioniert so:

                            Bildschirm­foto 2023-02-23 um 16.59.52.png

                            Ich habe noch gesehen, dass unter Status auch die Temperaturen einzeln ankommen. Das würde das Blockly wohl deutlich vereinfachen oder?

                            Bildschirm­foto 2023-02-23 um 17.14.30.png

                            mickymM 2 Antworten Letzte Antwort
                            0
                            • TH GT TH G

                              @mickym

                              Funktioniert so:

                              Bildschirm­foto 2023-02-23 um 16.59.52.png

                              Ich habe noch gesehen, dass unter Status auch die Temperaturen einzeln ankommen. Das würde das Blockly wohl deutlich vereinfachen oder?

                              Bildschirm­foto 2023-02-23 um 17.14.30.png

                              mickymM Offline
                              mickymM Offline
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von mickym
                              #54

                              @th-g klar wäre das viel einfacher du könntest direkt das Attribut tC des Objektes in die Datenpunkt e schreiben und die Datenpunkte getrennt abfragen. Auf die Prüfung der id kannst dann verzichten.

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

                              TH GT 1 Antwort Letzte Antwort
                              0
                              • mickymM mickym

                                @th-g klar wäre das viel einfacher du könntest direkt das Attribut tC des Objektes in die Datenpunkt e schreiben und die Datenpunkte getrennt abfragen. Auf die Prüfung der id kannst dann verzichten.

                                TH GT Offline
                                TH GT Offline
                                TH G
                                schrieb am zuletzt editiert von
                                #55

                                @mickym

                                Ich finde das sehr verwirrend bei MQTT. Ist das immer so, dass die Daten an unterschiedlichen Stellen stehen?

                                mickymM 1 Antwort Letzte Antwort
                                0
                                • TH GT TH G

                                  @mickym

                                  Ich finde das sehr verwirrend bei MQTT. Ist das immer so, dass die Daten an unterschiedlichen Stellen stehen?

                                  mickymM Offline
                                  mickymM Offline
                                  mickym
                                  Most Active
                                  schrieb am zuletzt editiert von
                                  #56

                                  @th-g in der Generation 2 ist es komplexer wenn ich daheim bin suche ich mal den Link. Hat schon System. Ich zeig dir dann noch 2 Varianten mit einzelnen Datenpunkten.

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

                                  mickymM 1 Antwort Letzte Antwort
                                  1
                                  • mickymM mickym

                                    @th-g in der Generation 2 ist es komplexer wenn ich daheim bin suche ich mal den Link. Hat schon System. Ich zeig dir dann noch 2 Varianten mit einzelnen Datenpunkten.

                                    mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #57

                                    @mickym So Du musst halt bei Deinem Gerät schauen : https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch#status

                                    Hier für den Shelly 1 Plus - vielleicht geht auch noch eine andere Methode den zu schalten. Nicht nur über den rpc Datenpunkt:
                                    https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch#status

                                    584ece66-5cb5-4bed-9300-4e5ebbda729b-image.png

                                    Erstelle mal einen Ordner unter Deinem Shelly:

                                    command

                                    und dann einen Datenpunkt: switch:0 und da schreibst mal on und off rein oder on,1 - vielleicht switched dann Dein Schalter nach einer Sekunde wieder zurück.

                                    Ansonsten ist im /events/rpc alles was der Shelly sonst selbst meldet wenn nicht im Status und der Ast (bei Dir user_1) kommt aus Deinem rpc Kommando. Du kannst verschiedene User angeben, die dann unter einem eigenen Namen was publishen. Das ist erst alles mit der Generation2 so. Das hat den Vorteil einen User im eigenen RPC anzugeben, da Du dann quasi auch in unterschiedlichen RPC Calls (zum Beispiel Blocklies) die Antwort unter unterschiedlichen topics Dir ausgeben lassen kannst.

                                    Bockly folgt später.

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

                                    1 Antwort Letzte Antwort
                                    0
                                    • TH GT TH G

                                      @mickym

                                      Funktioniert so:

                                      Bildschirm­foto 2023-02-23 um 16.59.52.png

                                      Ich habe noch gesehen, dass unter Status auch die Temperaturen einzeln ankommen. Das würde das Blockly wohl deutlich vereinfachen oder?

                                      Bildschirm­foto 2023-02-23 um 17.14.30.png

                                      mickymM Offline
                                      mickymM Offline
                                      mickym
                                      Most Active
                                      schrieb am zuletzt editiert von mickym
                                      #58

                                      @th-g So hier die erste Vereinfachung - einfach die Datenpunkte einzeln triggern lassen:

                                      60f53772-46d3-44ea-88c7-86011864b535-image.png

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                       <block type="on" id="a}k/B^QTub@J%E5dJ|pC" x="-13" y="688">
                                         <field name="OID">0_userdata.0.test0.test.temperature:100</field>
                                         <field name="CONDITION">ne</field>
                                         <field name="ACK_CONDITION"></field>
                                         <statement name="STATEMENT">
                                           <block type="debug" id="s-|Jl5zYA9X1`UMZt$}r">
                                             <field name="Severity">log</field>
                                             <value name="TEXT">
                                               <shadow type="text" id="q~.$g9ZGc_=:Cy!G_H`l">
                                                 <field name="TEXT">test</field>
                                               </shadow>
                                               <block type="text_join" id="N2xj0`=Yf)W5T!wi8QCn">
                                                 <mutation items="2"></mutation>
                                                 <value name="ADD0">
                                                   <block type="text" id="`C`,kpO1O5n0kDM[gl@P">
                                                     <field name="TEXT">Ansaugluft: </field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD1">
                                                   <block type="get_attr" id="G-LpRTHoLe$aehb1w`Rb">
                                                     <value name="PATH">
                                                       <shadow type="text" id="?q7NTiKTg@JtdMgq5scX">
                                                         <field name="TEXT">tC</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="OBJECT">
                                                       <block type="on_source" id="tldQ}a(xD}q%H]0E([a`">
                                                         <field name="ATTR">state.val</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="update" id=".Lf^d}Ob9pX]:ZH:cZWy" disabled="true">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                 <field name="OID">Object ID</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="get_attr" id="$8GKiNoofme:dUOYQD?a">
                                                     <value name="PATH">
                                                       <shadow type="text" id="~Hch_u6oO:D+Uze36~(~">
                                                         <field name="TEXT">tC</field>
                                                       </shadow>
                                                     </value>
                                                     <value name="OBJECT">
                                                       <block type="on_source" id="Bg7$(BB5=Jan5-xfg~Kx">
                                                         <field name="ATTR">state.val</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                         <next>
                                           <block type="on" id="0XwZXKyuDaab|q.nPuCd">
                                             <field name="OID">0_userdata.0.test0.test.temperature:101</field>
                                             <field name="CONDITION">ne</field>
                                             <field name="ACK_CONDITION"></field>
                                             <statement name="STATEMENT">
                                               <block type="debug" id="%,?p^$iA9M[Zt(if8^,v">
                                                 <field name="Severity">log</field>
                                                 <value name="TEXT">
                                                   <shadow type="text" id="+!]Pxz1($g-eCm0K,3MG">
                                                     <field name="TEXT">test</field>
                                                   </shadow>
                                                   <block type="text_join" id="YuY0,s6+TAB,gZ|[DKnq">
                                                     <mutation items="2"></mutation>
                                                     <value name="ADD0">
                                                       <block type="text" id="liH$7~DHa;#y,flx:0!6">
                                                         <field name="TEXT">Zuluft: </field>
                                                       </block>
                                                     </value>
                                                     <value name="ADD1">
                                                       <block type="get_attr" id="O,Xo7tA6Dm%]aNEFvj=}">
                                                         <value name="PATH">
                                                           <shadow type="text" id="ize*PfWN?]+V9Q,Z5COg">
                                                             <field name="TEXT">tC</field>
                                                           </shadow>
                                                         </value>
                                                         <value name="OBJECT">
                                                           <block type="on_source" id="2V^zuCqRdEhSt{3K@qMQ">
                                                             <field name="ATTR">state.val</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </statement>
                                             <next>
                                               <block type="on" id="]fpct~=(9RY,gh/Qr%6s">
                                                 <field name="OID">0_userdata.0.test0.test.temperature:102</field>
                                                 <field name="CONDITION">ne</field>
                                                 <field name="ACK_CONDITION"></field>
                                                 <statement name="STATEMENT">
                                                   <block type="debug" id="#{/hC/_x/c=)[r=I3;sI">
                                                     <field name="Severity">log</field>
                                                     <value name="TEXT">
                                                       <shadow type="text" id="ABz2wpsk}ric{cqY~i4|">
                                                         <field name="TEXT">test</field>
                                                       </shadow>
                                                       <block type="text_join" id="(=llnRfO{Dg+QJ,{3b+K">
                                                         <mutation items="2"></mutation>
                                                         <value name="ADD0">
                                                           <block type="text" id="K:%Ur(V~2.7X}~rd}rhR">
                                                             <field name="TEXT">Abluft. </field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD1">
                                                           <block type="get_attr" id="*ljvq2C_Og98)|gU@K;J">
                                                             <value name="PATH">
                                                               <shadow type="text" id="GW+:X(Q#A,@I*LbYT;gF">
                                                                 <field name="TEXT">tC</field>
                                                               </shadow>
                                                             </value>
                                                             <value name="OBJECT">
                                                               <block type="on_source" id="WAK_N{-75Ey$?3;Hj3|u">
                                                                 <field name="ATTR">state.val</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                      </xml>
                                      

                                      zweite Vereinfachung - alles in einem Trigger - hier muss man die ID wieder selektieren aber der Zugriff auf die Eigenschaften ist easy:

                                      ba33a929-c448-4dd1-a3db-39734f4c9ef1-image.png

                                      <xml xmlns="https://developers.google.com/blockly/xml">
                                       <variables>
                                         <variable id="[a]yK.@;lwe0hytxaDXA">id</variable>
                                       </variables>
                                       <block type="on_ext" id="duM0}v3uz%0%DY+(bTuU" x="-537" y="-312">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
                                         <field name="CONDITION">ne</field>
                                         <field name="ACK_CONDITION"></field>
                                         <value name="OID0">
                                           <shadow type="field_oid" id="mD:]e7oEWiavExzl9;GD">
                                             <field name="oid">0_userdata.0.test0.test.temperature:100</field>
                                           </shadow>
                                         </value>
                                         <value name="OID1">
                                           <shadow type="field_oid" id="Nf[6bLs)::GGL_v}.3W7">
                                             <field name="oid">0_userdata.0.test0.test.temperature:101</field>
                                           </shadow>
                                         </value>
                                         <value name="OID2">
                                           <shadow type="field_oid" id=";+X8ZOvZQfF30`JG8Lpw">
                                             <field name="oid">0_userdata.0.test0.test.temperature:102</field>
                                           </shadow>
                                         </value>
                                         <statement name="STATEMENT">
                                           <block type="variables_set" id="-}*p(~s(a|ZGkXG;icH)">
                                             <field name="VAR" id="[a]yK.@;lwe0hytxaDXA">id</field>
                                             <value name="VALUE">
                                               <block type="get_attr" id="~c9H+gET+XUUOBh[$9L@">
                                                 <value name="PATH">
                                                   <shadow type="text" id="FpaW/vGe6AGc)^U2]e4b">
                                                     <field name="TEXT">id</field>
                                                   </shadow>
                                                 </value>
                                                 <value name="OBJECT">
                                                   <block type="on_source" id="C|[J^?OqD*:Eo5.^?}%u">
                                                     <field name="ATTR">state.val</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="logic_switch_case" id="eDw]M3uC~U,_5LpDbk~]">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" case="2"></mutation>
                                                 <value name="CONDITION">
                                                   <block type="variables_get" id="/IZ8gTN:2x6hAl08h9P!">
                                                     <field name="VAR" id="[a]yK.@;lwe0hytxaDXA">id</field>
                                                   </block>
                                                 </value>
                                                 <value name="CASECONDITION0">
                                                   <block type="math_number" id="IPxmhuKO0jg*SJ.RoB4|">
                                                     <field name="NUM">100</field>
                                                   </block>
                                                 </value>
                                                 <statement name="CASE0">
                                                   <block type="debug" id=";H{?Hu($};lv9agjb^mM">
                                                     <field name="Severity">log</field>
                                                     <value name="TEXT">
                                                       <shadow type="text" id="k%BLf~H|$%e)J`k0Xr=B">
                                                         <field name="TEXT">test</field>
                                                       </shadow>
                                                       <block type="text_join" id="N2xj0`=Yf)W5T!wi8QCn">
                                                         <mutation items="2"></mutation>
                                                         <value name="ADD0">
                                                           <block type="text" id="`C`,kpO1O5n0kDM[gl@P">
                                                             <field name="TEXT">Ansaugluft: </field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD1">
                                                           <block type="get_attr" id="G-LpRTHoLe$aehb1w`Rb">
                                                             <value name="PATH">
                                                               <shadow type="text" id="?q7NTiKTg@JtdMgq5scX">
                                                                 <field name="TEXT">tC</field>
                                                               </shadow>
                                                             </value>
                                                             <value name="OBJECT">
                                                               <block type="on_source" id="tldQ}a(xD}q%H]0E([a`">
                                                                 <field name="ATTR">state.val</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                                 <value name="CASECONDITION1">
                                                   <block type="math_number" id="SbXAsK^ElrJs,!R7NBJ8">
                                                     <field name="NUM">101</field>
                                                   </block>
                                                 </value>
                                                 <statement name="CASE1">
                                                   <block type="debug" id="w:_qaJ%=8y-;G0nL3}!~">
                                                     <field name="Severity">log</field>
                                                     <value name="TEXT">
                                                       <shadow type="text">
                                                         <field name="TEXT">test</field>
                                                       </shadow>
                                                       <block type="text_join" id=",T8p5e(]GUGMr}VT?Hk@">
                                                         <mutation items="2"></mutation>
                                                         <value name="ADD0">
                                                           <block type="text" id="Lco@yDP8Re?@2UDI{S_0">
                                                             <field name="TEXT">Zuluft: </field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD1">
                                                           <block type="get_attr" id="Rk(W8BY+`E;dF4YU%Y$]">
                                                             <value name="PATH">
                                                               <shadow type="text" id="=IV1RuSJEeXp-y0W.RZ5">
                                                                 <field name="TEXT">tC</field>
                                                               </shadow>
                                                             </value>
                                                             <value name="OBJECT">
                                                               <block type="on_source" id="KwLx},`R;y|vCF^SJA^k">
                                                                 <field name="ATTR">state.val</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                                 <value name="CASECONDITION2">
                                                   <block type="math_number" id="RG,@2Ci(sYY90v)BSKaj">
                                                     <field name="NUM">102</field>
                                                   </block>
                                                 </value>
                                                 <statement name="CASE2">
                                                   <block type="debug" id="cA2pV5M)8DRL0w|aSz^J">
                                                     <field name="Severity">log</field>
                                                     <value name="TEXT">
                                                       <shadow type="text">
                                                         <field name="TEXT">test</field>
                                                       </shadow>
                                                       <block type="text_join" id="-gEcC9oqiRv/syjd|_b1">
                                                         <mutation items="2"></mutation>
                                                         <value name="ADD0">
                                                           <block type="text" id="wjjiHE|%orae0E,#)1`W">
                                                             <field name="TEXT">Abluft: </field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD1">
                                                           <block type="get_attr" id="2sk?+G]l!,x9cwe4YG4V">
                                                             <value name="PATH">
                                                               <shadow type="text" id="Gb?H=VyW`%YxMOR/a)Dl">
                                                                 <field name="TEXT">tC</field>
                                                               </shadow>
                                                             </value>
                                                             <value name="OBJECT">
                                                               <block type="on_source" id=":tW^geR{l`}l.;Kio}M-">
                                                                 <field name="ATTR">state.val</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                      </xml>
                                      

                                      Aber nun wieder genug gepuzzelt - das können andere besser als ich.

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

                                      TH GT 1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @th-g So hier die erste Vereinfachung - einfach die Datenpunkte einzeln triggern lassen:

                                        60f53772-46d3-44ea-88c7-86011864b535-image.png

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                         <block type="on" id="a}k/B^QTub@J%E5dJ|pC" x="-13" y="688">
                                           <field name="OID">0_userdata.0.test0.test.temperature:100</field>
                                           <field name="CONDITION">ne</field>
                                           <field name="ACK_CONDITION"></field>
                                           <statement name="STATEMENT">
                                             <block type="debug" id="s-|Jl5zYA9X1`UMZt$}r">
                                               <field name="Severity">log</field>
                                               <value name="TEXT">
                                                 <shadow type="text" id="q~.$g9ZGc_=:Cy!G_H`l">
                                                   <field name="TEXT">test</field>
                                                 </shadow>
                                                 <block type="text_join" id="N2xj0`=Yf)W5T!wi8QCn">
                                                   <mutation items="2"></mutation>
                                                   <value name="ADD0">
                                                     <block type="text" id="`C`,kpO1O5n0kDM[gl@P">
                                                       <field name="TEXT">Ansaugluft: </field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD1">
                                                     <block type="get_attr" id="G-LpRTHoLe$aehb1w`Rb">
                                                       <value name="PATH">
                                                         <shadow type="text" id="?q7NTiKTg@JtdMgq5scX">
                                                           <field name="TEXT">tC</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="OBJECT">
                                                         <block type="on_source" id="tldQ}a(xD}q%H]0E([a`">
                                                           <field name="ATTR">state.val</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="update" id=".Lf^d}Ob9pX]:ZH:cZWy" disabled="true">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                   <field name="OID">Object ID</field>
                                                   <field name="WITH_DELAY">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="get_attr" id="$8GKiNoofme:dUOYQD?a">
                                                       <value name="PATH">
                                                         <shadow type="text" id="~Hch_u6oO:D+Uze36~(~">
                                                           <field name="TEXT">tC</field>
                                                         </shadow>
                                                       </value>
                                                       <value name="OBJECT">
                                                         <block type="on_source" id="Bg7$(BB5=Jan5-xfg~Kx">
                                                           <field name="ATTR">state.val</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                           <next>
                                             <block type="on" id="0XwZXKyuDaab|q.nPuCd">
                                               <field name="OID">0_userdata.0.test0.test.temperature:101</field>
                                               <field name="CONDITION">ne</field>
                                               <field name="ACK_CONDITION"></field>
                                               <statement name="STATEMENT">
                                                 <block type="debug" id="%,?p^$iA9M[Zt(if8^,v">
                                                   <field name="Severity">log</field>
                                                   <value name="TEXT">
                                                     <shadow type="text" id="+!]Pxz1($g-eCm0K,3MG">
                                                       <field name="TEXT">test</field>
                                                     </shadow>
                                                     <block type="text_join" id="YuY0,s6+TAB,gZ|[DKnq">
                                                       <mutation items="2"></mutation>
                                                       <value name="ADD0">
                                                         <block type="text" id="liH$7~DHa;#y,flx:0!6">
                                                           <field name="TEXT">Zuluft: </field>
                                                         </block>
                                                       </value>
                                                       <value name="ADD1">
                                                         <block type="get_attr" id="O,Xo7tA6Dm%]aNEFvj=}">
                                                           <value name="PATH">
                                                             <shadow type="text" id="ize*PfWN?]+V9Q,Z5COg">
                                                               <field name="TEXT">tC</field>
                                                             </shadow>
                                                           </value>
                                                           <value name="OBJECT">
                                                             <block type="on_source" id="2V^zuCqRdEhSt{3K@qMQ">
                                                               <field name="ATTR">state.val</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </statement>
                                               <next>
                                                 <block type="on" id="]fpct~=(9RY,gh/Qr%6s">
                                                   <field name="OID">0_userdata.0.test0.test.temperature:102</field>
                                                   <field name="CONDITION">ne</field>
                                                   <field name="ACK_CONDITION"></field>
                                                   <statement name="STATEMENT">
                                                     <block type="debug" id="#{/hC/_x/c=)[r=I3;sI">
                                                       <field name="Severity">log</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="ABz2wpsk}ric{cqY~i4|">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="text_join" id="(=llnRfO{Dg+QJ,{3b+K">
                                                           <mutation items="2"></mutation>
                                                           <value name="ADD0">
                                                             <block type="text" id="K:%Ur(V~2.7X}~rd}rhR">
                                                               <field name="TEXT">Abluft. </field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="get_attr" id="*ljvq2C_Og98)|gU@K;J">
                                                               <value name="PATH">
                                                                 <shadow type="text" id="GW+:X(Q#A,@I*LbYT;gF">
                                                                   <field name="TEXT">tC</field>
                                                                 </shadow>
                                                               </value>
                                                               <value name="OBJECT">
                                                                 <block type="on_source" id="WAK_N{-75Ey$?3;Hj3|u">
                                                                   <field name="ATTR">state.val</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                        </xml>
                                        

                                        zweite Vereinfachung - alles in einem Trigger - hier muss man die ID wieder selektieren aber der Zugriff auf die Eigenschaften ist easy:

                                        ba33a929-c448-4dd1-a3db-39734f4c9ef1-image.png

                                        <xml xmlns="https://developers.google.com/blockly/xml">
                                         <variables>
                                           <variable id="[a]yK.@;lwe0hytxaDXA">id</variable>
                                         </variables>
                                         <block type="on_ext" id="duM0}v3uz%0%DY+(bTuU" x="-537" y="-312">
                                           <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
                                           <field name="CONDITION">ne</field>
                                           <field name="ACK_CONDITION"></field>
                                           <value name="OID0">
                                             <shadow type="field_oid" id="mD:]e7oEWiavExzl9;GD">
                                               <field name="oid">0_userdata.0.test0.test.temperature:100</field>
                                             </shadow>
                                           </value>
                                           <value name="OID1">
                                             <shadow type="field_oid" id="Nf[6bLs)::GGL_v}.3W7">
                                               <field name="oid">0_userdata.0.test0.test.temperature:101</field>
                                             </shadow>
                                           </value>
                                           <value name="OID2">
                                             <shadow type="field_oid" id=";+X8ZOvZQfF30`JG8Lpw">
                                               <field name="oid">0_userdata.0.test0.test.temperature:102</field>
                                             </shadow>
                                           </value>
                                           <statement name="STATEMENT">
                                             <block type="variables_set" id="-}*p(~s(a|ZGkXG;icH)">
                                               <field name="VAR" id="[a]yK.@;lwe0hytxaDXA">id</field>
                                               <value name="VALUE">
                                                 <block type="get_attr" id="~c9H+gET+XUUOBh[$9L@">
                                                   <value name="PATH">
                                                     <shadow type="text" id="FpaW/vGe6AGc)^U2]e4b">
                                                       <field name="TEXT">id</field>
                                                     </shadow>
                                                   </value>
                                                   <value name="OBJECT">
                                                     <block type="on_source" id="C|[J^?OqD*:Eo5.^?}%u">
                                                       <field name="ATTR">state.val</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="logic_switch_case" id="eDw]M3uC~U,_5LpDbk~]">
                                                   <mutation xmlns="http://www.w3.org/1999/xhtml" case="2"></mutation>
                                                   <value name="CONDITION">
                                                     <block type="variables_get" id="/IZ8gTN:2x6hAl08h9P!">
                                                       <field name="VAR" id="[a]yK.@;lwe0hytxaDXA">id</field>
                                                     </block>
                                                   </value>
                                                   <value name="CASECONDITION0">
                                                     <block type="math_number" id="IPxmhuKO0jg*SJ.RoB4|">
                                                       <field name="NUM">100</field>
                                                     </block>
                                                   </value>
                                                   <statement name="CASE0">
                                                     <block type="debug" id=";H{?Hu($};lv9agjb^mM">
                                                       <field name="Severity">log</field>
                                                       <value name="TEXT">
                                                         <shadow type="text" id="k%BLf~H|$%e)J`k0Xr=B">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="text_join" id="N2xj0`=Yf)W5T!wi8QCn">
                                                           <mutation items="2"></mutation>
                                                           <value name="ADD0">
                                                             <block type="text" id="`C`,kpO1O5n0kDM[gl@P">
                                                               <field name="TEXT">Ansaugluft: </field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="get_attr" id="G-LpRTHoLe$aehb1w`Rb">
                                                               <value name="PATH">
                                                                 <shadow type="text" id="?q7NTiKTg@JtdMgq5scX">
                                                                   <field name="TEXT">tC</field>
                                                                 </shadow>
                                                               </value>
                                                               <value name="OBJECT">
                                                                 <block type="on_source" id="tldQ}a(xD}q%H]0E([a`">
                                                                   <field name="ATTR">state.val</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                   <value name="CASECONDITION1">
                                                     <block type="math_number" id="SbXAsK^ElrJs,!R7NBJ8">
                                                       <field name="NUM">101</field>
                                                     </block>
                                                   </value>
                                                   <statement name="CASE1">
                                                     <block type="debug" id="w:_qaJ%=8y-;G0nL3}!~">
                                                       <field name="Severity">log</field>
                                                       <value name="TEXT">
                                                         <shadow type="text">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="text_join" id=",T8p5e(]GUGMr}VT?Hk@">
                                                           <mutation items="2"></mutation>
                                                           <value name="ADD0">
                                                             <block type="text" id="Lco@yDP8Re?@2UDI{S_0">
                                                               <field name="TEXT">Zuluft: </field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="get_attr" id="Rk(W8BY+`E;dF4YU%Y$]">
                                                               <value name="PATH">
                                                                 <shadow type="text" id="=IV1RuSJEeXp-y0W.RZ5">
                                                                   <field name="TEXT">tC</field>
                                                                 </shadow>
                                                               </value>
                                                               <value name="OBJECT">
                                                                 <block type="on_source" id="KwLx},`R;y|vCF^SJA^k">
                                                                   <field name="ATTR">state.val</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                   <value name="CASECONDITION2">
                                                     <block type="math_number" id="RG,@2Ci(sYY90v)BSKaj">
                                                       <field name="NUM">102</field>
                                                     </block>
                                                   </value>
                                                   <statement name="CASE2">
                                                     <block type="debug" id="cA2pV5M)8DRL0w|aSz^J">
                                                       <field name="Severity">log</field>
                                                       <value name="TEXT">
                                                         <shadow type="text">
                                                           <field name="TEXT">test</field>
                                                         </shadow>
                                                         <block type="text_join" id="-gEcC9oqiRv/syjd|_b1">
                                                           <mutation items="2"></mutation>
                                                           <value name="ADD0">
                                                             <block type="text" id="wjjiHE|%orae0E,#)1`W">
                                                               <field name="TEXT">Abluft: </field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="get_attr" id="2sk?+G]l!,x9cwe4YG4V">
                                                               <value name="PATH">
                                                                 <shadow type="text" id="Gb?H=VyW`%YxMOR/a)Dl">
                                                                   <field name="TEXT">tC</field>
                                                                 </shadow>
                                                               </value>
                                                               <value name="OBJECT">
                                                                 <block type="on_source" id=":tW^geR{l`}l.;Kio}M-">
                                                                   <field name="ATTR">state.val</field>
                                                                 </block>
                                                               </value>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                         </block>
                                        </xml>
                                        

                                        Aber nun wieder genug gepuzzelt - das können andere besser als ich.

                                        TH GT Offline
                                        TH GT Offline
                                        TH G
                                        schrieb am zuletzt editiert von
                                        #59

                                        @mickym

                                        Du bist ja ganz schön fit in den Dingen. Für mich ist das schon schwierig alles zu verstehen. Ich werde mir auch RedNode mal ansehen, denn das was ich dort schon gesehen habe, hat ja einen ganz anderen Ansatz.

                                        mickymM 1 Antwort Letzte Antwort
                                        0
                                        • TH GT TH G

                                          @mickym

                                          Du bist ja ganz schön fit in den Dingen. Für mich ist das schon schwierig alles zu verstehen. Ich werde mir auch RedNode mal ansehen, denn das was ich dort schon gesehen habe, hat ja einen ganz anderen Ansatz.

                                          mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von
                                          #60

                                          @th-g Der logische Ansatz ist immer der gleiche -

                                          Etwas triggert (Du selbst manuell, eine Hardware, ein zeitliches Ereignis) und Du gibst was aus oder steuerst was. Dazwischen kann man Bedingungen einfügen oder die Daten aufbereiten - das ist bei allen Logikmaschinen gleich .
                                          Bei NodeRed hast Du halt viele Nodes - die bestimmte Teile (wie ein Unterprogramm für Dich erledigen) und deshalb nicht selbst programmiert werden müssen. Wenn ich Dir dabei helfen soll - gerne. :)

                                          Probierst Du das mal mit dem Datenpunkt unter command und dem on,1 aus - würde mich interessieren, ob damit Dein Tor steuerbar ist.

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

                                          TH GT 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          822

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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