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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

iobroker, MQTT und Shelly - Was geht wie?

Scheduled Pinned Locked Moved ioBroker Allgemein
167 Posts 10 Posters 49.2k Views 10 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mickymM mickym

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

    @mickym

    Die App geht und funktioniert sehr gut

    Gut dann sollte doch wenn du auf true schaltest - der Shelly sich nach einer Sekunde wieder ausschalten. Das hat mit mqtt nichts zu tun. Sprich wenn Du über mqtt einschaltest, solltest Du doch sehen, wie der Shelly in der App einschaltet und sich automatisch ausschaltet. Die Funktion, dass nach 1 Sekunde wieder ausgeschaltet wird, ist alleine eine Funktion des Shellies und hat nichts mit der Ansteuerung zu tun.

    Das true Schicken ist doch nichts anderes als den Shelly einzuschalten. Ausschalten mach t der Shelly selbst über die timer Funktion.

    Mit der App machst Du doch nichts anderes als immer wieder auf den EIN Knopf zu drücken? Wie bedienst du denn die App?

    TH GT Offline
    TH GT Offline
    TH G
    wrote on last edited by TH G
    #31

    @mickym

    Ich kann nur sagen, dass es derzeit nicht geht. Es hat keine Auswirkungen wenn ich nach dem ersten true nach 5 Sekunden ein zweites true sende. Das Tor stoppt nicht.

    Mir ist auch klar das das nicht mit MQTT zu tun hat. Die Frage ist ja, wenn über MQTT ein true gesendet wird, ob das sozusagen an der Schaltuhr vorbei geht.

    Ich werde das nochmals testen aber dafür muss ich in die Garage.

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

    Mit der App machst Du doch nichts anderes als immer wieder auf den EIN Knopf zu drücken? Wie bedienst du denn die App?

    Richtig. Knopf drücken und ist aktiv (Relais schaltet), dann dreht sich dieser für eine Sekunden, um dann bbzuschalten und Relais öffnet.

    mickymM 1 Reply Last reply
    0
    • TH GT TH G

      @mickym

      Ich kann nur sagen, dass es derzeit nicht geht. Es hat keine Auswirkungen wenn ich nach dem ersten true nach 5 Sekunden ein zweites true sende. Das Tor stoppt nicht.

      Mir ist auch klar das das nicht mit MQTT zu tun hat. Die Frage ist ja, wenn über MQTT ein true gesendet wird, ob das sozusagen an der Schaltuhr vorbei geht.

      Ich werde das nochmals testen aber dafür muss ich in die Garage.

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

      Mit der App machst Du doch nichts anderes als immer wieder auf den EIN Knopf zu drücken? Wie bedienst du denn die App?

      Richtig. Knopf drücken und ist aktiv (Relais schaltet), dann dreht sich dieser für eine Sekunden, um dann bbzuschalten und Relais öffnet.

      mickymM Online
      mickymM Online
      mickym
      Most Active
      wrote on last edited by mickym
      #32

      @th-g Das siehst Du doch in der app. Wenn Du in der app - einschaltest und ein Timer eingeschaltet ist, dann nimmt doch der blaue Ring ab. Das wieder ausschalten macht der Shelly ja selbst.

      Ansonsten kannst Du ja mit "on": true und "on": false - selbst ein und ausschalten. true und false bitte nicht in Anführungszeichen. sondern so wie ich das gepostet habe.

      Wenn Du über mqtt- einschaltest, dann sollte in der app der Ring ja auch blau leuchten und dann abnehmen.

      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 Reply Last reply
      0
      • mickymM mickym

        @th-g Das siehst Du doch in der app. Wenn Du in der app - einschaltest und ein Timer eingeschaltet ist, dann nimmt doch der blaue Ring ab. Das wieder ausschalten macht der Shelly ja selbst.

        Ansonsten kannst Du ja mit "on": true und "on": false - selbst ein und ausschalten. true und false bitte nicht in Anführungszeichen. sondern so wie ich das gepostet habe.

        Wenn Du über mqtt- einschaltest, dann sollte in der app der Ring ja auch blau leuchten und dann abnehmen.

        TH GT Offline
        TH GT Offline
        TH G
        wrote on last edited by
        #33

        @mickym

        In der App wird nichts angezeigt wenn es über den iobroker ausgeführt wird.

        mickymM 1 Reply Last reply
        0
        • TH GT TH G

          @mickym

          In der App wird nichts angezeigt wenn es über den iobroker ausgeführt wird.

          mickymM Online
          mickymM Online
          mickym
          Most Active
          wrote on last edited by
          #34

          @th-g Das ist komisch. Geht es denn wenn Du manuell EIN - und AUS schaltest?

          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 Reply Last reply
          0
          • mickymM mickym

            @th-g Das ist komisch. Geht es denn wenn Du manuell EIN - und AUS schaltest?

            TH GT Offline
            TH GT Offline
            TH G
            wrote on last edited by TH G
            #35

            @mickym

            Das Problem ist, wie schon vermutet, dass die Schaltuhr mit diesem JSON nicht angesprochen wird.

            Sende ich ein true geht das Tor hoch aber das Relais bleibt angezogen und blockiert jede weitere Eingabe.
            Sende ich dann ein false und danach wieder ein true fährt das Tor wieder runter.

            mickymM 1 Reply Last reply
            0
            • TH GT TH G

              @mickym

              Das Problem ist, wie schon vermutet, dass die Schaltuhr mit diesem JSON nicht angesprochen wird.

              Sende ich ein true geht das Tor hoch aber das Relais bleibt angezogen und blockiert jede weitere Eingabe.
              Sende ich dann ein false und danach wieder ein true fährt das Tor wieder runter.

              mickymM Online
              mickymM Online
              mickym
              Most Active
              wrote on last edited by mickym
              #36

              @th-g Na OK - dann funktioniert bei den Generation 2 der Timer halt wahrscheinlich per user - aber immerhin kannst Du mit manuellem EIN und Ausschalten das Tor erst mal schalten.

              So nun lesen wir die Config aus.

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

              und dann poste mal - ob den Response der dann zurück kommt.

              Die Antwort hast Du dann unter user_1 im rpc Datenpunkt.

              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 Reply Last reply
              0
              • mickymM mickym

                @th-g Na OK - dann funktioniert bei den Generation 2 der Timer halt wahrscheinlich per user - aber immerhin kannst Du mit manuellem EIN und Ausschalten das Tor erst mal schalten.

                So nun lesen wir die Config aus.

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

                und dann poste mal - ob den Response der dann zurück kommt.

                Die Antwort hast Du dann unter user_1 im rpc Datenpunkt.

                TH GT Offline
                TH GT Offline
                TH G
                wrote on last edited by
                #37

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

                Die Antwort hast Du dann unter user_1 im rpc Datenpunkt.

                {
                  "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": 1
                  }
                
                mickymM 1 Reply Last reply
                0
                • TH GT TH G

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

                  Die Antwort hast Du dann unter user_1 im rpc Datenpunkt.

                  {
                    "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": 1
                    }
                  
                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  wrote on last edited by
                  #38

                  @th-g Hmm das schaut aber gut aus:

                  auto_off ist true und auto_off_delay:1 -

                  Ich dachte Du hast 5 s gerade eingestellt?

                  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 Reply Last reply
                  0
                  • mickymM mickym

                    @th-g Hmm das schaut aber gut aus:

                    auto_off ist true und auto_off_delay:1 -

                    Ich dachte Du hast 5 s gerade eingestellt?

                    TH GT Offline
                    TH GT Offline
                    TH G
                    wrote on last edited by TH G
                    #39

                    @mickym

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

                    mickymM 1 Reply Last reply
                    0
                    • TH GT TH G

                      @mickym

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

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      wrote on last edited by
                      #40

                      @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

                      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 Reply Last reply
                      0
                      • 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
                        wrote on last edited by
                        #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 Reply Last reply
                        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 Online
                          mickymM Online
                          mickym
                          Most Active
                          wrote on last edited by 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 Reply Last reply
                          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
                            wrote on last edited by
                            #43

                            @mickym

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

                            1 Reply Last reply
                            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 Online
                              mickymM Online
                              mickym
                              Most Active
                              wrote on last edited by
                              #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 Reply Last reply
                              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
                                wrote on last edited by
                                #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 Reply Last reply
                                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 Offline
                                  haus-automatisierungH Offline
                                  haus-automatisierung
                                  Developer Most Active
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  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
                                    wrote on last edited by 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 Replies Last reply
                                    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 Online
                                      mickymM Online
                                      mickym
                                      Most Active
                                      wrote on last edited by 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 Reply Last reply
                                      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 Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        wrote on last edited by 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 Reply Last reply
                                        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
                                          wrote on last edited by 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 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

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

                                          302

                                          Online

                                          32.6k

                                          Users

                                          82.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe