Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Shellys ("Alt und Plus") über MQTT Adapter

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Shellys ("Alt und Plus") über MQTT Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dos1973 @mickym last edited by

      @mickym sagte in Shellys ("Alt und Plus") über MQTT Adapter:

      @hotspot_2 OK - dann ist das der richtig - in der Output eigenschaft steht der Status - dann also bitte die mqtt-In Node auf dieses Status topic und dann eine debug-Node dahinter machen.

      HI Mickym,
      ich bekomme es leider nicht hin, ich stehe irgendwie auf dem Schlauch 😞
      habe den Post jetzt x-xmal gelesen...

      Bildschirmfoto 2023-04-07 um 15.47.57.png

      ich mache das, aber er debuggt nicht, kann schalten wie ich will.

      ich habe einen Shelly 2pm Plus, welcher im switch 0 und 1 via "output":false/ true gesteuert wurd
      Bildschirmfoto 2023-04-07 um 15.49.05.png

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @dos1973 last edited by mickym

        @dos1973 Also als allererstes wenn Du mit mqtt Nodes arbeitest musst Du auch mqtt Schreibweise verwenden - da Du die nicht aus dem iobroker ausliest sonder via mqtt. Die topics stehen in dem mqtt Adapter unter Name. Du musst als den Namen aus dem mqtt-Adapter kopieren und nicht den Pfad zum Objekt.

        Um also den Status von deinem switch:0 und switch:1 auszulesen musst Du die topics in der mqtt-IN Node auf

        shellies/Licht/Badezimmer/status/switch:0
        

        bzw.

        shellies/Licht/Badezimmer/status/switch:1
        

        setzen.

        Sie Hierarchien der topics in der mqtt Schreibweise werden durch einen Schrägstrich und nicht durch einen Punkt getrennt. (mqtt kennt auch keine iobroker-Adapter und folglich auch keine Adapterinstanzen. 😉 )
        Wenn das funktioniert melde Dich mal mit einem Screen-shot der debug1 Ausgabe.

        D 1 Reply Last reply Reply Quote 0
        • D
          dos1973 @mickym last edited by dos1973

          @mickym
          oh mann ... ja jetzt debuggt das

          Mensch das hätte ich merken müssen

          Bildschirmfoto 2023-04-07 um 16.06.00.png

          output:false /true ist die Steuerung

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @dos1973 last edited by

            @dos1973 Genau - Du musst also nur nach dem output selektieren bei Dir aber gleichzeitig noch nach der id - damit Du weisst welcher Schalter. Ich würde also das topic auf die ID setzen und die payload auf den output. Wenn Du das gerne also Flow hast. dann kopiere mal bitte den ganzen Wert in code-tags hier rein in dem Du in der ersten Zeile den Wert des objects kopierst.

            D 1 Reply Last reply Reply Quote 0
            • D
              dos1973 @mickym last edited by dos1973

              @mickym
              ich bekomme gerade nix verstanden 🙂

              ich verstehe momentan noch nicht was mein Ziel ist. mit den Gen1 Adaptern habe ich ja einen IOBroker DP den ich mit True / false schalte

              muss ich den Output wert als auch DP erzeugen?

              mickym S 3 Replies Last reply Reply Quote 0
              • mickym
                mickym Most Active @dos1973 last edited by mickym

                @dos1973 Nun Du schaltest über den rpc Datenpunkt - den brauchst Du wenn Du NodeRed mqtt-Out Nodes machst nicht erstellen, weil Du dann direkt das topic publishst - anschliessend siehst Du ihn auch im mqtt Adapter.

                Zum Schalten geht alles in einen rpc topic von dem ganzen Shelly:

                c52fa202-0988-4cf4-ad09-a7a0e984a965-image.png

                Ich habs schon mal in das msg.topic reingemacht - also selbst wenn du die mqtt-In Node nicht konfigurierst müsste es gehen:

                Also das topic habe ich gelb/orange markiert:

                7af426eb-5d00-4ad4-bafa-9750424e0f14-image.png

                Ich habe mal um es flexibel für Dich zu machen - eine Nachrichteneigenschaft "switch" definiert!

                15dc36d9-5cf8-4485-aa44-2ca22512d5dc-image.png

                Mit 0 oder 1 definierst Du welchen Schalter du schalten willst.

                Grün siehst du als die payload und den switch im Objekt dass Du an den rpc Datenpunkt schickst

                Letzlich noch lila markiert die beiden Parameter, die Du frei vergeben kannst.

                Die ID - ist eine Nummer von Dir - die userid der Name - damit identifiziert werden kann, wer das Kommando geschickt hat. Ich habe hier mal deinen Nickname verwendet, könnte aber auch Dein Flow Name sein, damit Du siehst woher das Kommando stammt.

                Unter command oder response - keine Ahnung wie das heißt wirst du dann unter diesem Namen den Response finden - auf Dein Kommando.

                Hier der Flow ohne mqtt Node:

                [
                   {
                       "id": "f5a80b40528a75e8",
                       "type": "change",
                       "z": "2e7d4cac81c671e3",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "{\t   \"id\":123,\t   \"src\":\"dos1973\",\t   \"method\":\"Switch.Set\",\t   \"params\":{\"id\":switch,\"on\":payload}\t}\t",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 330,
                       "y": 2560,
                       "wires": [
                           [
                               "9ec24ed42e790442",
                               "9490029127cb8eb3"
                           ]
                       ]
                   },
                   {
                       "id": "9490029127cb8eb3",
                       "type": "debug",
                       "z": "2e7d4cac81c671e3",
                       "name": "shelly2 pm plus schalten",
                       "active": true,
                       "tosidebar": true,
                       "console": false,
                       "tostatus": false,
                       "complete": "payload",
                       "targetType": "msg",
                       "statusVal": "",
                       "statusType": "auto",
                       "x": 570,
                       "y": 2560,
                       "wires": []
                   },
                   {
                       "id": "2eba21bbc3e88516",
                       "type": "inject",
                       "z": "2e7d4cac81c671e3",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "switch",
                               "v": "0",
                               "vt": "num"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "shellies/Licht/Badezimmer/rpc",
                       "payload": "true",
                       "payloadType": "bool",
                       "x": 130,
                       "y": 2540,
                       "wires": [
                           [
                               "f5a80b40528a75e8"
                           ]
                       ]
                   },
                   {
                       "id": "cc1bcd656187fadb",
                       "type": "inject",
                       "z": "2e7d4cac81c671e3",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "switch",
                               "v": "1",
                               "vt": "num"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "shellies/Licht/Badezimmer/rpc",
                       "payload": "true",
                       "payloadType": "bool",
                       "x": 130,
                       "y": 2580,
                       "wires": [
                           [
                               "f5a80b40528a75e8"
                           ]
                       ]
                   }
                ]
                

                1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @dos1973 last edited by mickym

                  @dos1973 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                  @mickym
                  ich bekomme gerade nix verstanden 🙂

                  ich verstehe momentan noch nicht was mein Ziel ist. mit den Gen1 Adaptern habe ich ja einen IOBroker DP den ich mit True / false schalte

                  muss ich den Output wert als auch DP erzeugen?

                  So nachdem Du mir Dein Objekt nicht direkt hier rauskopiert hast (worum ich Dich gebeten hatte), habe ich eins von @hotspot_2 vom Shelly 1pm Plus genommen. Es geht ja nur um den Schaltzustand in der output Eigenschaft.

                  Du kannst also über Deine ID - also auch über das topic selbst ermitteln welcher Schalter geschaltet wurde:

                  eb999900-eeb1-4745-b746-9dc2ad14b4d1-image.png

                  [
                     {
                         "id": "75f785e48b93fffe",
                         "type": "inject",
                         "z": "2e7d4cac81c671e3",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             },
                             {
                                 "p": "topic",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "shellies/Licht/Badezimmer/status/switch:0",
                         "payload": "{\"id\":0,\"source\":\"WS_in\",\"output\":false,\"temperature\":{\"tC\":50.9,\"tF\":123.5}}",
                         "payloadType": "json",
                         "x": 130,
                         "y": 2720,
                         "wires": [
                             [
                                 "7473ead3ad33cf0d",
                                 "546e59d40d12cb04"
                             ]
                         ]
                     },
                     {
                         "id": "7473ead3ad33cf0d",
                         "type": "debug",
                         "z": "2e7d4cac81c671e3",
                         "name": "status:0 ausgabe",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 390,
                         "y": 2680,
                         "wires": []
                     },
                     {
                         "id": "546e59d40d12cb04",
                         "type": "change",
                         "z": "2e7d4cac81c671e3",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "topic",
                                 "pt": "msg",
                                 "to": "\"Badezimmer switch:\" & payload.id",
                                 "tot": "jsonata"
                             },
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "payload.output",
                                 "tot": "msg"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 350,
                         "y": 2720,
                         "wires": [
                             [
                                 "2dd3b3ffbc52a638"
                             ]
                         ]
                     },
                     {
                         "id": "2dd3b3ffbc52a638",
                         "type": "debug",
                         "z": "2e7d4cac81c671e3",
                         "name": "analysiert",
                         "active": true,
                         "tosidebar": true,
                         "console": false,
                         "tostatus": false,
                         "complete": "payload",
                         "targetType": "msg",
                         "statusVal": "",
                         "statusType": "auto",
                         "x": 580,
                         "y": 2720,
                         "wires": []
                     }
                  ]
                  

                  Damit sollte nun aber alles klar sein???

                  adbeba73-8101-4d4b-a397-b53c23be525e-image.png

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    dos1973 @mickym last edited by dos1973

                    @mickym
                    Ich probiere es gleich mal aus.
                    Danke für deine Mühe und Geduld

                    @mickym
                    ich trau mich gear nicht fragen...
                    sollte jetzt etwas passieren wenn ich dein Flow importiere?

                    mickym 1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @dos1973 last edited by mickym

                      @dos1973 ... wir schaffen das zusammen. 🙂

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        dos1973 @mickym last edited by

                        @mickym
                        passiert leider nichts

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @dos1973 last edited by mickym

                          @dos1973 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                          @mickym
                          passiert leider nichts

                          Hast Du auch Deine mqtt-out Node drangehängt? Wie sieht dein flow jetzt aus - Screenshot - debug Ausgabe?

                          D mickym 2 Replies Last reply Reply Quote 0
                          • D
                            dos1973 @mickym last edited by

                            @mickym
                            Bildschirmfoto 2023-04-07 um 17.24.06.png

                            ich kapiers nicht.
                            gibt kein debug ausgabe

                            1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @mickym last edited by mickym

                              @mickym Nein das ist zum Status abrufen - und diese mqtt-Out Node macht keinen Sinn (also wieder weg machen - da darfst Du nicht reinschreiben). Du machst statt der Inject Node zum Beispiel beide Status mqtt-In Nodes dran.

                              Zum Schalten musst Du doch den anderen Flow nehmen: https://forum.iobroker.net/post/974483

                              Ich hab doch 2 Flows erstellt einen zum Schalten und einen um den Status zu bekommen. Du hast gerade den für den Status genommen.

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                dos1973 @mickym last edited by dos1973

                                @mickym
                                ich weiß nicht was ich machen soll.

                                ich muss mal abbrechen.
                                Sitze seit Stunden an dem Ding und hab kein Nerv mehr und verstehe auch nix mehr.
                                Würde den am liebsten aus dem Fenster werfen...

                                ich versuchs mal in 2-3 Stunden nochmals

                                mickym 2 Replies Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @dos1973 last edited by

                                  @dos1973 Ok hast Du meinen Flow importiert? Hier nochmal

                                  [
                                     {
                                         "id": "f5a80b40528a75e8",
                                         "type": "change",
                                         "z": "2e7d4cac81c671e3",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "{\t   \"id\":123,\t   \"src\":\"dos1973\",\t   \"method\":\"Switch.Set\",\t   \"params\":{\"id\":switch,\"on\":payload}\t}\t",
                                                 "tot": "jsonata"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 710,
                                         "y": 2560,
                                         "wires": [
                                             [
                                                 "9ec24ed42e790442",
                                                 "9490029127cb8eb3"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "9ec24ed42e790442",
                                         "type": "mqtt out",
                                         "z": "2e7d4cac81c671e3",
                                         "d": true,
                                         "name": "",
                                         "topic": "shellies/Licht/Badezimmer/rpc",
                                         "qos": "",
                                         "retain": "",
                                         "respTopic": "",
                                         "contentType": "",
                                         "userProps": "",
                                         "correl": "",
                                         "expiry": "",
                                         "broker": "",
                                         "x": 970,
                                         "y": 2500,
                                         "wires": []
                                     },
                                     {
                                         "id": "9490029127cb8eb3",
                                         "type": "debug",
                                         "z": "2e7d4cac81c671e3",
                                         "name": "shelly2 pm plus schalten",
                                         "active": true,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "payload",
                                         "targetType": "msg",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 950,
                                         "y": 2560,
                                         "wires": []
                                     },
                                     {
                                         "id": "2eba21bbc3e88516",
                                         "type": "inject",
                                         "z": "2e7d4cac81c671e3",
                                         "name": "schalter 0",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             },
                                             {
                                                 "p": "switch",
                                                 "v": "0",
                                                 "vt": "num"
                                             },
                                             {
                                                 "p": "topic",
                                                 "vt": "str"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "shellies/Licht/Badezimmer/rpc",
                                         "payload": "true",
                                         "payloadType": "bool",
                                         "x": 500,
                                         "y": 2540,
                                         "wires": [
                                             [
                                                 "f5a80b40528a75e8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "cc1bcd656187fadb",
                                         "type": "inject",
                                         "z": "2e7d4cac81c671e3",
                                         "name": "schalter 1",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             },
                                             {
                                                 "p": "switch",
                                                 "v": "1",
                                                 "vt": "num"
                                             },
                                             {
                                                 "p": "topic",
                                                 "vt": "str"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "shellies/Licht/Badezimmer/rpc",
                                         "payload": "true",
                                         "payloadType": "bool",
                                         "x": 500,
                                         "y": 2580,
                                         "wires": [
                                             [
                                                 "f5a80b40528a75e8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "c3d1c63e97c6ae55",
                                         "type": "comment",
                                         "z": "2e7d4cac81c671e3",
                                         "name": "Schalten",
                                         "info": "",
                                         "x": 480,
                                         "y": 2440,
                                         "wires": []
                                     }
                                  ]
                                  

                                  Dann trägst Du hier deinen mqtt Broker ein:

                                  11e305c1-caea-43aa-8948-c724213ec846-image.png

                                  Mit den Inject Nodes kannst Du dann schalten.

                                  1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @dos1973 last edited by mickym

                                    @dos1973 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                                    ich muss mal abbrechen.
                                    Sitze seit Stunden an dem Ding und hab kein Nerv mehr und verstehe auch nix mehr.
                                    Würde den am liebsten aus dem Fenster werfen...
                                    ich versuchs mal in 2-3 Stunden nochmals

                                    OK - wir machen es dann ganz langsam - Schritt für Schritt, wenn Du wieder da bist. Du postest dann sofort nach jedem Schritt das Ergebnis und das schaffen wir schon zu zweit. Da bin ich mir sicher. 🙂 - Wenn Du den Shelly mit der App schalten kannst, dann bekommen wir das auch über MQTT und NodeRed hin. Sei zuversichtlich und hab Geduld. Wie gesagt wir gehen beide jeden Schritt gemeinsam durch, OK?

                                    Und Du musst sofort eine Frage stellen, wenn ich mich unklar ausgedrückt habe - nicht selbst probieren und Dich frusten lassen.

                                    Hier habe ich noch ein kleines Video gemacht - wie Du dann erst den Switch_0 und dann den Switch_1 schaltest:

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      dos1973 @mickym last edited by

                                      @mickym
                                      Ich hab das gesamt bild nicht verstanden. Flow hier, inject dort…
                                      Ich habe den DP und da muss ich beginnen.

                                      Ich melde mich später hier 👍

                                      mickym 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @dos1973 last edited by

                                        @dos1973 sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                                        @mickym
                                        Ich hab das gesamt bild nicht verstanden. Flow hier, inject dort…
                                        Ich habe den DP und da muss ich beginnen.

                                        Ich melde mich später hier 👍

                                        Gut. 🙂 - Hier ein kleines Video wie Du den Shelly mit dem Flow dann schalten können müsstest, wenn Du deine mqtt-Out Node entsprechend konfiguriert hast:

                                        Shelly 2 pm schalten.mp4

                                        Wie gesagt wir machen alles Schritt für Schritt.

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          SabineT @dos1973 last edited by

                                          @dos1973 Den Shelly Plus 2pm kannst du über MQTT schalten, in dem du an den Topic "shellies/Licht/Badezimmer/command/switch:0" "on", "off" oder "toggle" schickst (für den 2. Kanal natürlich dann switch:1 verwenden).

                                          mickym D 2 Replies Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @SabineT last edited by mickym

                                            @sabinet sagte in Shellys ("Alt und Plus") über MQTT Adapter:

                                            @dos1973 Den Shelly Plus 2pm kannst du über MQTT schalten, in dem du an den Topic "shellies/Licht/Badezimmer/command/switch:0" "on", "off" oder "toggle" schickst (für den 2. Kanal natürlich dann switch:1 verwenden).

                                            OK - heißt dass ich kann die Kommandos direkt als switch:0 etc. im mqtt anlegen und muss nicht über den rpc Datenpunkt schalten?

                                            Ah ja - steht ja da - allerdings wohl erst ab einer bestimmten FW- Version war mir neu:

                                            ea511e5c-eb22-4f37-8acc-63b71d095450-image.png

                                            Danke auch wieder dazu gelernt. 🙂

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

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

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            512
                                            60445
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo