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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    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 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
                                    • D
                                      dos1973 @SabineT last edited by dos1973

                                      @sabinet
                                      okay, habe da auch versucht, ich kann dann zwar aus iobroker mit on/off schalten, aber es synct nicht. d.h schalte ich am Schalter geht der command DP nicht mit.

                                      Bildschirmfoto 2023-04-07 um 22.39.53.png

                                      @mickym
                                      wäre dann wieder soweit 🙂

                                      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:

                                        @sabinet
                                        okay, habe da auch versucht, ich kann dann zwar aus iobroker mit on/off schalten, aber es synct nicht. d.h schalte ich am Schalter geht der command DP nicht mit.

                                        Bildschirmfoto 2023-04-07 um 22.39.53.png

                                        @mickym
                                        wäre dann wieder soweit 🙂

                                        Das muss er auch nicht. Wenn Du über den Command Datenpunkt schaltest - wird trotzdem der Status Datenpunkt aktualisiert. Wenn Du mit dem Schalter schaltest hat das auf die Kommandodatenpunkte keinen Einfluss. Für Dich ist immer nur der Status ausschlaggebend.

                                        Also willst Du über die Command Datenpunkt lieben schalten?

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

                                          @mickym
                                          ich möchte einen DP true/false der mit dem Shelly im Sync ist, damit es keine Rolle spielt - ob ich den Schalter, Das Webinterface oder von wo auch immer schalte

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

                                            @dos1973 Ok dann machen wir jetzt einen eigenen Datenpunkt unter Userdata für jeden Switch. Und da sagst mir wo Du den angelegt hast. Also erstelle unter 0_userdata.0 und weiter unten einen Datenpunkt für jeden Switch und ich mache Dir den Flow soweit fertig. Oder ich kann den auch im Flow erstellen, wenn Du erlaubst dass NodeRed Datenpunkte erstellen darf. Dann sag mir nur wo.

                                            D 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

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

                                            695
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            512
                                            75151
                                            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