Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Adapter] Shelly Adapter mit MQTT

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Adapter] Shelly Adapter mit MQTT

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

      @apollon77
      Hallo Ingo,
      danke für dein konstruktives Feedback. Das Argument bezüglich der Updates im Sekundentakt kann ich nachvollziehen.
      Gibt es im io Broker eigentlich eine Möglichkeit Systemevents auf auf Instanzebene auf Änderungen zu beschränken?
      MQTT arbeitet da natürlich effizienter.
      Daher habe ich mich in meinem pull request fürs erste darauf beschränkt, die Updates unter Verwendung von MQTT optional zur Verfügung zu stellen.
      Was hälst du von der Idee?

      Ps: Sugestivfragen lasse ich nächstes mal weg. Da war ich gestern Abend etwas erregt über geringe Bereitschaft sich der Herausforderung anzunehmen.

      apollon77 1 Reply Last reply Reply Quote 0
      • apollon77
        apollon77 @Diggewuff last edited by

        @Diggewuff Am Ende ist jeder Adapter-Entwickler der "Guard" und muss für das implementierte System und Protokoll solche Entscheidungen treffen. Ich glaube nicht das es "geringe Bereitschafft" ist in dem Fall.

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

          @apollon77
          Es kann auch ein Missverständnis gewesen sein. Mal sehen was aus dem Pull request wird. Über Feedback zu meinem Vorschlag würde ich mich freuen.
          @Stuebi
          Wäre das nicht eine praktikable Lösung?

          1 Reply Last reply Reply Quote 0
          • B
            BlueBook last edited by

            Hallo zusammen,

            erst einmal danke für den super tollen Adapter 🙂

            Ich hab am Wochenende einen:
            https://shelly.cloud/products/shelly-button-1-smart-home-automation-device/

            connected und freute mich, dass dieser auch funktioniert.

            Der Buttonklick wird unter der variable "Event" angezeigt.
            S für Short
            SS für 2x Short
            usw.

            Allerdings wird (wenn ich es richtige verstehe) (vielleicht mach ich auch etwas falsch?)
            Wenn ich zuerst einmal kurz drücke und warte und dann noch einmal kurz drücke, nicht zweimal
            der Wert "s" gesetzt, sondern nur einmal.
            Wenn ich also auf die Variable "Event" "Lausche" bekomme ich den zweiten Klick (wenn es der gleiche Event wie der Vorgänger ist) nicht mit.

            Sollte man das anders Abfragen?
            Oder sollte das Event ggf. doch doppelt gesetzt werden?

            Viele Grüße
            BB

            Stuebi 1 Reply Last reply Reply Quote 0
            • Stuebi
              Stuebi @BlueBook last edited by

              @BlueBook , die Frage gab es schon ein einmal und wurde an Shelly weitergereicht. Wenn ich mich richtig erinnere, muss man warten bis der Button nicht mehr leuchtet. Anders geht es leider nicht.

              B 1 Reply Last reply Reply Quote 0
              • B
                BlueBook @Stuebi last edited by

                @Stuebi Danke für die Info.
                Ja, mit der Verzögerung hatte ich zuerst auch nicht gerechnet, ist für mich aber okay und auch verständlich, da der Button zum Strom sparen nicht dauerhaft ins WLAN connected ist.
                Jeder Event braucht so seine 2-3 Sekunden. Man kann aber einstellen, wie lange der Button nach dem Klick aktiv bleibt - so könnte man schnelle Klicks hintereinander beschleunigen.

                Vielleicht hatte ich mich mit meiner Frage undeutlich ausgedrückt.

                Folgendes Skript:

                event.jpg

                wird, wenn man zwei mal hintereinander die gleiche Aktion ausführt, nur einmal getriggert.
                Anscheinend wird der Wert in der Variable "Event" nicht neu gesetzt - wenn der gleiche Event ein zweites Mal getriggert wird.
                Zumindest steht in der Objektansicht bei Event noch der alte Zeitstempel.

                Das man zweimal hintereinander aber die gleich Aktion ausführt - wenn man z.B. eine Lampe darüber ein- und ausschaltet - halte ich für eine "normale" Anforderung. Diese bekomme ich aber schlecht abgebildet. Dies über die Uptime des Buttons abzufragen - wäre schon ein starker Workaround.

                Daher meine Frage:
                Hab ich hier einen Denkfehler?
                Hat einer dieses Problem schon gelöst?
                Oder sollte das Event nicht besser doppelt aus dem Adapter gesetzt werden, auch wenn es gleich ist?

                Gruß
                BB

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

                  @BlueBook ich glaube das es sich da um das gleiche Problem handelt, das ich auch habe.

                  @Diggewuff sagte in [Adapter] Shelly Adapter mit MQTT:

                  Der Shelly sendet einen wiederholten Longpress, aber dieser lässt sich nicht auswerten da der Adapter nur werte aktualisiert, wenn sie sich geändert haben. Werte die (nur) aktualisiert werden, werden absichtlich verworfen. Daher ist der Longpress nicht nutzbar. Ich habe das Thema einmal auf GitHub platziert und würde mich dort über Feedback dazu freuen, ob Ihr das so für sinnig haltet, oder ob Ihr auch denkt, dass Aktualisierungen die über MQTT oder CoAP eintreffen auch in die ioBroker states geschrieben werden sollten.

                  Diese Funktionsweise habe ich in einem Fork des Adapters angepasst, sodass man bei Verwendung von MQTT mit einem Haken in den Instanzeistellungen wählen kann, ob die werte auch aktualisiert werden sollen.
                  Wenn du möchtest, kannst du die Funktion gerne mal ausprobieren, vielleicht hilft es dir ja.
                  https://github.com/JoschaMiddendorf/ioBroker.shelly
                  Ich habe die Funktion auch als Pull Request eingereicht, sodass sie in den Adapter übernommen werden kann, wenn @Stuebi einverstanden ist, worauf ich sehr hoffe.
                  https://github.com/schmupu/ioBroker.shelly/pull/209
                  Der Request ist allerdings noch offen.

                  JoschaMiddendorf created this issue in schmupu/ioBroker.shelly

                  closed Implementation of an option in the settings that allows MQTT users to receive updates of unchanged values. #209

                  Stuebi B 2 Replies Last reply Reply Quote 1
                  • Stuebi
                    Stuebi @Diggewuff last edited by

                    @Diggewuff , Shelly stellt es sich wie folgt vor um Events wie Longpush / Shortpush abzufragen:

                    Right now such events are for example shortpush/longpush of buttons – devices will send a property of type “EV” to denote the exact event type
                    (“S” = shortpush, “L” = longpush), and a property of type “EVC” that will increment it’s value when a new event occurs (e.g. to be able
                    to know that two consecutive longpushes are actually two separate events). Please see “Input event” and “Input event counter” in the
                    property list below for additional information.
                    In the future, it’s possible that a type “EVV” (Event validity) will be added too, to denote how long an occurred event should be
                    considered “active” (e.g. for motion, vibration, etc.).

                    Es ist zusätzlich zum Event der Event Counter laut Herstellervorgaben zu berücksichtigen.

                    Stuebi 1 Reply Last reply Reply Quote 0
                    • Stuebi
                      Stuebi @Stuebi last edited by

                      @Diggewuff , ein kleines Update, ich habe Shelly gebeten, dass man analog zum MQTT Protokoll bei den CoAP Nachrichten nur die States in der payload mitschickt die sich wirklich ändern und nicht imm alle states. Mit dieser kleinen Anpassung wäre es ohne weiteres möglich, mehrere longpushes / shortpushes analog zu MQTT hintereinander auszuwerten.
                      Leider will der Shelly Entwickler von OpenHab diese Änderung nicht 😞 Ich habe parallel noch ein Ticket bei Shelly aufgegeben. Ich bin gespannt ob sich da etwas tut.
                      Das Lustige an der Geschichte ist, dass der Shelly DW2 mit Firmware 1.8 genau nur die Werte per CoAP liefert die angefasst wurden und nicht immer alle. Das ist aber ein Fehler in der Firmware 😞

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

                        @Stuebi danke für deinen Einsatz. 🙏
                        Könntest du in deiner GitHub repository eventuell einen „latest“ branch zur Verfügung stellen der jeweils den aktuellsten Release beinhaltet? Mir ist aufgefallen das der Master meist schon weiter ist als die releases.
                        Ein latest branch würde es stark vereinfachen den Fork aktuell zu halten.
                        Beste Grüße

                        apollon77 1 Reply Last reply Reply Quote 0
                        • apollon77
                          apollon77 @Diggewuff last edited by

                          @Diggewuff sagte in [Adapter] Shelly Adapter mit MQTT:

                          Ein latest branch würde es stark vereinfachen den Fork aktuell zu halten.

                          Am besten arbeitest Du immer gegen Master - idealweise mergest DU auch während deiner Entwicklung den Master immer in deinem Fork bzw rebased deine ARbeit auf Basis des Master - so ist es später bei dem PR am einfachsten

                          1 Reply Last reply Reply Quote 0
                          • Stuebi
                            Stuebi @Diggewuff last edited by

                            @Diggewuff , ich habe die Funktionalität Deines PRs in der Version 4.0.3 überführt. Den Schalter "Update objects even if there is no value change" gilt nun für CoAP, MQTT und http gleichermassen.
                            Kannst Du die Version 4.0.3 über GitHub laden und bitte testen.

                            D 2 Replies Last reply Reply Quote 0
                            • D
                              Diggewuff @Stuebi last edited by

                              @Stuebi Ich habe 4.0.3 getestet und es funktioniert bis jetzt alles erwartungsgemäß. Sollte mir doch noch etwas auffallen melde ich mich.
                              Danke

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

                                @Stuebi
                                In 4.0.3 werden die Namen selbst umbenannter datenpunkte teilweise überschrieben.

                                Stuebi 1 Reply Last reply Reply Quote 0
                                • Stuebi
                                  Stuebi @Diggewuff last edited by

                                  @Diggewuff , ja das kann passieren, aber nur dann wenn im Shelly im Devicename oder Channelname etwas steht.

                                  Bildschirmfoto 2020-08-20 um 07.01.56.png

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    BlueBook @Diggewuff last edited by

                                    @Diggewuff Danke für den Hinweis und auch deine Erweiterungen!

                                    Ich war gerade erfreut zu sehen, dass es eine neue Version gibt.
                                    Hab auf diese upgedatet.

                                    Dabei kam folgendes im Log:

                                    shelly.0	2020-08-23 17:09:52.951	info	(10150) Delete old state: shelly.0.SHBTN-1#xxxxxxxxxx#1.Button.Input
                                    shelly.0	2020-08-23 17:09:52.878	error	(10150) Cound not delete old state: shelly.0.SHBTN-1#xxxxxxxxx#1.Button.Input
                                    host.iobroker	2020-08-23 17:09:52.871	warn	Objects 127.0.0.1:55783 Error from InMemDB: Error: ERROR delObject shelly.0.SHBTN-xxxxxxx.Button.Input: Not exists
                                    shelly.0	2020-08-23 17:09:52.373	info	(10150) Shelly device 192.168.xxx.xxx (shellybutton1 / shellybutton1-xxxxxx / SHBTN-xxxxxxxxx) with CoAP connected!
                                    

                                    Da danach der Button zur keiner Zustandsänderung mehr im ioBroker führte, hab ich alle Instanzvariablen aus den Objekten und das Objekt gelöscht - ich hatte gehofft er erkennt den Button neu und legt diese neu an.

                                    Leider ist das nicht passiert.
                                    Der Button wird jetzt gar nicht mehr erkannt 😕
                                    War wohl doch eine dumme Idee ...

                                    Parallel hab ich die Firmeware des Buttons von 1.7 auf 1.8 erhöht - daher ist es jetzt leider schwer zu sagen, woran es liegt/lag.

                                    Neustarts auf beiden Seiten haben leider nichts gebracht.

                                    Wenn es über Coap nicht läuft, ist es nicht schlimm.
                                    Ich werde es die Tage dann auf MQTT umstellen - dass sollte ja funktionieren.

                                    Wollte euch nur hier das Feedback geben - ggf. hilft es ja 🙂

                                    Gruß
                                    BB

                                    Stuebi 1 Reply Last reply Reply Quote 0
                                    • Stuebi
                                      Stuebi @BlueBook last edited by

                                      @BlueBook , das kann ich nicht bestätigen. Ich habe gerade den Shelly Adapter in der Version 4.0.3 mit CoAP und MQTT und dem Button mit der Firmware 20200812-091606/v1.8.0@8acf41b0 getestet.
                                      Es funktioniert alles wunderbar.

                                      B 1 Reply Last reply Reply Quote 0
                                      • B
                                        BlueBook @Stuebi last edited by

                                        @Stuebi Ich hab es gerade noch mal verglichen.
                                        Gleiche Adapter-Versionen und gleiche Firmeware.
                                        Keine Ahnung warum der Button nicht mehr möchte - lief zuerst super.

                                        Ich hab es eben auch noch einmal über MQTT ausprobiert.
                                        Der Button meldet sich erfolgreich an.
                                        Es kommen sogar updateEvents, aber alle nur mit Event "s".
                                        Ein komisches Verhalten von dem Button. Ich vermute, dass das Firmewareupdate nicht 100% geklappt hat? Ich hab gerade schon einen Reset probiert, er bleibt aber bei der Firmewareversion und löscht "nur" die Einstellungen.

                                        Ich hab es jetzt über den direkt Aufruf der iobroker-RestApi vom Button beholfen, komischerweise funktioniert dies.
                                        Alles nicht wichtig, aber bissel komisch schon.

                                        Liegt aber meiner Meinung nach am Button! und nicht am Adapter.

                                        Schöne Woche euch noch!
                                        Gruß
                                        BB

                                        Stuebi 1 Reply Last reply Reply Quote 0
                                        • Stuebi
                                          Stuebi @BlueBook last edited by

                                          @BlueBook , da es nicht direkt um MQTT geht, bitte weiter hier diskutieren wenn Du die Shelly Adapter Version 4.0.3 installiert hast: https://forum.iobroker.net/topic/36200/test-adapter-shelly-v4-0-3-latest

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            Baummy last edited by

                                            Guten Morgen an die Community.
                                            Ich bin neu im Forum, lese aber schon länger eure Beiträge und diese konnten mir bereits mehrmals helfen.
                                            Erst einmal vielen Dank für die ganze Arbeit die alle Akteure hier bereits reingesteckt haben und alles kostenlos zur Verfügung stellen!!

                                            Nach dem ich mit dem IO-Broker in meiner Wohnung etwas rumgespielt habe, habe ich mich dann entschieden beim Hauskauf komplett auf das System zu setzen.
                                            Hierzu habe ich rund folgende Geräte im Einsatz:

                                            • Synology 218+
                                            • Raspberry Pi
                                            • 7x Shelly 4 Pro (4 per Cloud & 3 per MQTT)
                                            • 10x Shelly 2.5
                                            • 1x Shelly Dimmer
                                            • 2x Shelly 1
                                            • 2x Shelly 1PM
                                            • 1x Sonoff 4
                                            • 1x Sonoff Dual
                                            • 3x Sonoff Mini
                                            • 1x Ring-Klingel
                                            • diverse Echo-Geräte
                                            • Shelly I-3 --> Derzeit nur zu Testzecken

                                            Ich habe sämtliche Kabel in die UV gezogen und dort hardwaremäßig verdrahtet.

                                            Nun zu meinem eigentlichen Problem:
                                            Ich habe letztes WE den Shelly-Adapter geupdatet, in der Hoffnung, dass der I3 funktioniert.
                                            Im ersten Moment waren alle Shellys doppelt in der Liste und auf ihren ursprünglichen Namen benannt. Die Namen konnten nicht unbenannt werden.
                                            Dieses Problem wurde mit der V4-0-2 behoben
                                            Die doppelten Eintragungen habe ich per Hand gelöscht
                                            Soweit so gut
                                            Nun ist mein Problem, dass die drei Geräte die per MQTT betrieben werden nicht mehr über den Shelly-Adapter arbeiten können. Im MQTT-Adapter kann ich aber keine Relais steuern.
                                            Das heißt ich sehe zwar ob die Lampen an sind, aber ich kann weder über den Broker, noch über Alexa die Geräte ansteuern. Leider kann ich in den Einstellungen des Shellys die MQTT-Einstellungen nicht zurücksetzen, da es so aussieht als ob dort keine Einträge vorhanden sind.
                                            Beim Hardware-Reset eines Geräts (Shelly 4 - Pro) ist dieses leider komplett kaputtgegangen. Auf meine E-Mail antwortet natürlich wider niemand.

                                            Hat jemand von euch einen Rat, wie ich wieder an die Einstellungen komme, oder hilft mir ggf. die Version 4-0-3? Derzeit habe ich etwas Schiss was abzudaten, da die Gefahr besteht, dass noch weniger funktioniert.
                                            Hoffe, dass mir jemand helfen kann.

                                            Beste Grüße

                                            da_Woody 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

                                            848
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            mqtt shelly
                                            43
                                            213
                                            40774
                                            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