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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • 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.
    • mickym
      mickym Most Active @hotspot_2 last edited by mickym

      @hotspot_2 Freilich einfach ein debug dahinter setzen - dann siehst du ja was rauskommt. Du solltest außerdem ein

      2d43ed80-8eb0-40e0-b2bb-2238c268dc07-image.png

      command Datenpunkt direkt unter shellies haben. Dort das Kommando announce reinschreiben, dann werden alle Shellies ihren Status aktualisieren.

      Anhand der topics der einzelnen Nachrichten siehst Du im debug doch, von welchem Shelly die Nachricht stammt.

      das sollte auch für Gen2 Geräte funktionieren:

      b8273d17-bf1a-4bd6-a581-7fec218a00a0-image.png

      entweder für alle oder einzelne Geräte

      H 1 Reply Last reply Reply Quote 0
      • H
        hotspot_2 @mickym last edited by

        @mickym Irgendwie klappt das nicht bei mir. Da passiert nichts im debug.

        [
            {
                "id": "80576c1b365aebef",
                "type": "mqtt in",
                "z": "10e6b7a36260eb50",
                "name": "",
                "topic": "shellies/licht/garten/hof/status/sys",
                "qos": "2",
                "datatype": "auto-detect",
                "broker": "b22fc4d3e3f172bb",
                "nl": false,
                "rap": true,
                "rh": 0,
                "inputs": 0,
                "x": 190,
                "y": 180,
                "wires": [
                    [
                        "cd4cde48c92b7d8b"
                    ]
                ]
            },
            {
                "id": "cd4cde48c92b7d8b",
                "type": "debug",
                "z": "10e6b7a36260eb50",
                "name": "debug 1",
                "active": true,
                "tosidebar": true,
                "console": false,
                "tostatus": false,
                "complete": "true",
                "targetType": "full",
                "statusVal": "",
                "statusType": "auto",
                "x": 520,
                "y": 180,
                "wires": []
            },
            {
                "id": "111bda243154cac4",
                "type": "inject",
                "z": "10e6b7a36260eb50",
                "name": "",
                "props": [
                    {
                        "p": "payload"
                    }
                ],
                "repeat": "",
                "crontab": "",
                "once": false,
                "onceDelay": 0.1,
                "topic": "",
                "payload": "announce",
                "payloadType": "str",
                "x": 140,
                "y": 240,
                "wires": [
                    [
                        "322b9cc7039a66b2"
                    ]
                ]
            },
            {
                "id": "322b9cc7039a66b2",
                "type": "mqtt out",
                "z": "10e6b7a36260eb50",
                "name": "",
                "topic": "shellies/command",
                "qos": "",
                "retain": "",
                "respTopic": "",
                "contentType": "",
                "userProps": "",
                "correl": "",
                "expiry": "",
                "broker": "b22fc4d3e3f172bb",
                "x": 490,
                "y": 240,
                "wires": []
            },
            {
                "id": "b22fc4d3e3f172bb",
                "type": "mqtt-broker",
                "name": "iobroker mqtt adapter",
                "broker": "localhost",
                "port": "1883",
                "clientid": "mqttin_nodered",
                "autoConnect": true,
                "usetls": false,
                "protocolVersion": "4",
                "keepalive": "60",
                "cleansession": true,
                "birthTopic": "",
                "birthQos": "0",
                "birthPayload": "",
                "birthMsg": {},
                "closeTopic": "",
                "closeQos": "0",
                "closePayload": "",
                "closeMsg": {},
                "willTopic": "",
                "willQos": "0",
                "willPayload": "",
                "willMsg": {},
                "userProps": "",
                "sessionExpiry": ""
            }
        ]
        
        mickym H 2 Replies Last reply Reply Quote 0
        • mickym
          mickym Most Active @hotspot_2 last edited by

          @hotspot_2 Hmm das müsste gehen - Du siehst doch unter den Objekten im mqtt welche Datenpunkte aktualisiert werden. Steht das denn unter sys mit dem Update? - Wie gesagt da ich kein Gen2 Geräte habe - kann ich nur mutmaßen, wie es funktionieren sollte.

          1 Reply Last reply Reply Quote 0
          • H
            hotspot_2 @hotspot_2 last edited by hotspot_2

            Ich habs. Man muss "status_update" senden.

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

              @hotspot_2 Ah stimmt steht ja auch so drin. 😉

              620914eb-1ba6-4492-a5ba-97f1bdcfc1bd-image.png

              H 1 Reply Last reply Reply Quote 0
              • H
                hotspot_2 @mickym last edited by

                @mickym Ja, so passt das. Habe jetzt mit den "+" Zeichen von allen Gen2 eine Antwort bekommen. Kann dann auch die Gen1 einbauen und mal einen schönen Flow basteln ;-). Danke für deine Hilfe, vielleicht melde ich mich nochmal wenn's klemmt.

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

                  @mickym

                  Hi, darf ich dich nochmals um Hilfe bitten.
                  ich habe eine Shelly Bewegungsmelder mit folfendem Inhalt

                  Bildschirmfoto 2023-07-05 um 21.41.56.png

                  Bildschirmfoto 2023-07-05 um 21.42.29.png

                  habe auch die Datenpunkte aus dem Payload als DP im Iobroker, klappt alles soweit.

                  Der Wert zeigt an ob der Bewegungsmelder "scharf" ist
                  active: true/ false

                  Bildschirmfoto 2023-07-05 um 21.47.22.png

                  Der Wert wird basierend des Status mittels mqqt aktualisiert, aber ich würde den DP auch gern schalten können mit true/false

                  0_userdata.0.Wohnung.Status.Shellys.1-Wohnzimmer.Ipad-Motion_new.Bewegungsmelder_aktiv
                  

                  habe leider keinen Schimmer wie ich es angehen muss.
                  Kannst du helfen?

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

                    @dos1973 Bewegungsmelder sind Gen1 Geräte https://shelly-api-docs.shelly.cloud/gen1/#shelly-motion-mqtt

                    Was willst Du denn an einem Bewegungsmelder bitte schalten?

                    Die Parameter etc. kann man sowie ich die Doku verstehen, alle über HTTP steuern - dafür musst dann halt HTTP requests raussenden.

                    Also über die Get Methode - ich würde halt übers WEB Interface prüfen, ob der Parameter dann angekommen ist.

                    https://shelly-api-docs.shelly.cloud/gen1/#shelly-motion-settings

                    Also wenn du eine LED deaktivieren willst müsstest Du ein Objekt wie folgt senden:

                    {
                        "led_status_disable": true
                    }
                    

                    Also ausser konfigurieren weiss ich nicht was man an einem BWM schalten soll. Wie gesagt viel kann man da nicht über mqtt machen, sondern muss halt über http schalten.

                    79630eb3-7f40-46bb-9742-88ec9e1b094b-image.png

                    [
                       {
                           "id": "cec3303cec8685fb",
                           "type": "inject",
                           "z": "289f539dcc33814e",
                           "name": "",
                           "props": [
                               {
                                   "p": "payload"
                               }
                           ],
                           "repeat": "",
                           "crontab": "",
                           "once": false,
                           "onceDelay": 0.1,
                           "topic": "",
                           "payload": "{\"led_status_disable\":true}",
                           "payloadType": "json",
                           "x": 470,
                           "y": 4900,
                           "wires": [
                               [
                                   "766024d31b1a30a6"
                               ]
                           ]
                       },
                       {
                           "id": "766024d31b1a30a6",
                           "type": "http request",
                           "z": "289f539dcc33814e",
                           "name": "GET Request for settings",
                           "method": "GET",
                           "ret": "txt",
                           "paytoqs": "query",
                           "url": "http://192.168.178.49/settings",
                           "tls": "",
                           "persist": false,
                           "proxy": "",
                           "authType": "basic",
                           "senderr": false,
                           "credentials": {},
                           "x": 690,
                           "y": 4900,
                           "wires": [
                               [
                                   "6536cdaefffc1d9f"
                               ]
                           ]
                       },
                       {
                           "id": "6536cdaefffc1d9f",
                           "type": "debug",
                           "z": "289f539dcc33814e",
                           "name": "",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "true",
                           "targetType": "full",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 890,
                           "y": 4900,
                           "wires": []
                       }
                    ]
                    

                    Ansonsten kann man ihn ggf. ausschalten - muss dann aber ans Gerät wieder um ihn einzuschalten.
                    6b03af81-2fc7-459d-ab0c-4844c1e59921-image.png

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

                      @mickym

                      Motion sensor aktivieren oder deaktivieren will ich schalten.
                      Also dass der BW melder bei Bewegung eben nicht reagiert

                      Über http habe ich den weg… aber ich dachte via true/ false aus node red wäre ganz nett.

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

                        @dos1973 Na wie gesagt wenn der Shelly kein MQTT nicht annimmt - dann ist das halt nicht implementiert, kannst Du doch über Node-Red direkt HTTP befehle schicken. Hab doch einen Beispielflow eingestellt. Insbesondere wenn Du die Befehle schon über HTTP ausprobiert hast.

                        473cc0f7-1a0e-4ecd-8252-b50495c41808-image.png

                        kannst Du ja senden - ersetzt das halt in meiner Inject Node und schau ob das geht und sendest halt:

                        {
                            "motion_enable" : false
                        }
                        
                        D 1 Reply Last reply Reply Quote 0
                        • D
                          dos1973 @mickym last edited by

                          @mickym
                          Ok, dann bleibe ich bei dem http. Ich dachte das geht ggfs evtl doch.
                          Danke dir.

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

                            @dos1973 Nochmal Du sendest aus Node Red HTTP Requests - hast Du meinen Flow mal importiert? HTTP Requests kann NodeRed auch.

                            Von außen merkt das doch niemand ob Du via NodeRed ein HTTP Request oder ein Mqtt-Command schickst??

                            Oder sendest Du bereits HTTP aus NodeRed?

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

                              @mickym

                              yupp, das klappt soweit
                              aktivieren / deaktivieren des Sensors

                              Bildschirmfoto 2023-07-05 um 23.52.30.png

                              nur noch eine DP erzeugen und dann via true/ false den richtigen Befehl steuern.
                              aber heute nicht mehr, die erste versuche haben nicht gefruchtet

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

                                @dos1973 Na dann kannst Du es doch in Deine VIS oder Logik einbauen. 😉 Indem Fall brauchst Du aber nur eine HTTP-Request Node und schickst ja nur unterschiedliche Objekte in den Request. Na mit dem DP ist ja für Dich alten Hasen schon Routine. 😉

                                Du hängst einfach diese beiden Nodes vor EINE Request Node.

                                b0f00e52-aba6-4fad-af9d-dd66208c3863-image.png

                                Hier die Change Node 😉

                                [
                                   {
                                       "id": "d9116e3f6adc938e",
                                       "type": "ioBroker in",
                                       "z": "289f539dcc33814e",
                                       "name": "aktiv - Name",
                                       "topic": "0_userdata.0.Test.aktiv",
                                       "payloadType": "value",
                                       "onlyack": "",
                                       "func": "all",
                                       "gap": "",
                                       "fireOnStart": "false",
                                       "outFormat": "MQTT",
                                       "x": 290,
                                       "y": 4820,
                                       "wires": [
                                           [
                                               "a17a1d8569647d9a"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "a17a1d8569647d9a",
                                       "type": "change",
                                       "z": "289f539dcc33814e",
                                       "name": "",
                                       "rules": [
                                           {
                                               "t": "move",
                                               "p": "payload",
                                               "pt": "msg",
                                               "to": "payload.motion_enable",
                                               "tot": "msg"
                                           }
                                       ],
                                       "action": "",
                                       "property": "",
                                       "from": "",
                                       "to": "",
                                       "reg": false,
                                       "x": 500,
                                       "y": 4820,
                                       "wires": [
                                           []
                                       ]
                                   }
                                ]
                                

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

                                  @mickym

                                  Danke dir, muss ich mir heute abend mal ansehen.

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

                                    @mickym

                                    läuft jetzt alles.
                                    Bildschirmfoto 2023-07-06 um 18.30.30.png

                                    das sieht am Ende alles so simpel aus - ist es aber nicht.
                                    Ich finds immer sehr kompliziert 😉

                                    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:

                                      das sieht am Ende alles so simpel aus - ist es aber nicht.
                                      Ich finds immer sehr kompliziert

                                      Also wieso ist das kompliziert - wenn es simple aussieht. Selbst in der Change Node passiert doch nicht viel. Klär mich auf, um es EINFACHER zu erklären. 😕 (Ich finde es dauert immer, bis ich endlich das passende Smiley finde. 😁 - Das sind Probleme. 🤣 )

                                      Und jetzt sag nur, dass Blockly einfacher ist. Da kannst ja nicht mal im Text suchen und ersetzen. Schau mal was ich hier für Verrenkungen machen musste. 😉 https://forum.iobroker.net/post/1013199

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

                                        @mickym
                                        blockly hat natürlich auch seine Tücken... aber das nodered ist irgendwie "unerklärlich". 😇

                                        Wie schon gesagt, am Ende sieht das ganz easy aus aber dahin zu kommen scheint für mich unmöglich. Wenn ich mal ein Beispiel habe, dann kann ich das auch irgendwie hin/ nachbauen, aber ein neuen Flow ausdenken und bauen - puhhh schwer.

                                        Ich gebe zu ich finde es echt cool, aber ich finde nicht rein. Mit Blockly hatte ich auch 0 Erfahrung, aber da hatte ich recht schnell alles raus was ich für meine Zwecke benötigt habe, klar gabs da auch Fragen - aber ich finde es meißten intuitiver.

                                        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:

                                          Wie schon gesagt, am Ende sieht das ganz easy aus aber dahin zu kommen scheint für mich unmöglich. Wenn ich mal ein Beispiel habe, dann kann ich das auch irgendwie hin/ nachbauen, aber ein neuen Flow ausdenken und bauen - puhhh schwer.

                                          Na dann machen wir das nächste Mal Schritt für Schritt und ich präsentiere Dir in Zukunft nicht mehr einfach die Lösung. Wie wäre das?

                                          H 1 Reply Last reply Reply Quote 2
                                          • H
                                            hotspot_2 @mickym last edited by

                                            @dos1973

                                            Ich würde das Angebot von @mickym annehmen ;-). Hat mir auch sehr geholfen und ich möchte NodeRED nicht mehr missen. Habe vorher auch (fast) alles mit Blockly gemacht und bin mittlerweile der Meinung wenn man das Prinzip von NodeRED verstanden ist es für das Thema IoT deutlich besser geeignet ;-).

                                            Vielleicht kann ich ja bei dem ein oder anderen Punkt auch was dazu beitragen das du auch auf den Trichter kommst ;-).

                                            D 1 Reply 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

                                            893
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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