Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Shelly per MQTT schalten geht nicht

    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

    Shelly per MQTT schalten geht nicht

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

      @gutgut30 ich weiß zwar gerade nicht von was du gerade redest, den shelly schaltet man in der Gen1 über command und in der Gen2 über Switch: soweit ich das weiß. Der Status in der Gen1 direkt auf 0 als relay/0 über dem command angezeigt. Du brauchst 2 verschiedene Punkte wie unten zu schreiben und lesen. Dass der Status im set oder Setzen nichts mit dem aktuellen Zustand zu tun hast ist klar. Diese topic enthält immer nur den letzten Befehl, der abgesetzt wurde. Außerdem muss man halt aufpassen dass nicht mehrere Adapter schalten. Du solltest den überall rausnehmen, geschrieben was für ein Shelly das ist Gen1 oder Gen2 und dann implementieren. Jedenfalls macht es keinen Sinn die Shellie’s per mqtt nativ und per Adapter zu schalten.

      a2f9f123-6448-4aec-82a2-6bf1e8eeb9ec-image.png

      Grün: ist der Status
      Gelb: das letzte Kommando

      Kann natürlich unterschiedlich sein, wenn man den Schalter physisch oder mit der App schaltet.

      G 1 Reply Last reply Reply Quote 0
      • G
        gutgut30 @mickym last edited by

        @mickym
        Dann ist das wohl ein Problem, wenn man ihn physisch schaltet. Denn dann hat man dieses Bild und schon war es das mit dem Schalten über die Objekte:
        48f49bf7-590c-441f-8b3b-a63eb89d312e-image.png

        Ich werde dann wohl doch auf den Shelly Adapter umziehen müssen, sofern der nicht in das gleiche Dilemma läuft. Ärgerlich 😞

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

          @gutgut30 Quatsch - ich habe gezeigt wie man das mit dem Alias macht, mit unterschiedlichen Datenpunkten zu Lesen und Schreiben.

          https://forum.iobroker.net/post/979214

          Zum Lesen den Relay0 Datenpunkt, zum Schreiben den Command Datenpunkt und auch die unterschiedlichen Konvertierungsfunktionen sind in dem Screenshot - mehr kann man glaub ich nicht zeigen. Wenn Du Fragen hast, dann frag - wenn Du lieber den Shelly Adapter nutzen willst, kannst Du das gerne tun, wenn nicht habe ich es in dem Beitrag gezeigt, wie es geht.

          Wie gesagt, dass ist kein Grund deswegen den Shelly Adapter zu nutzen. In dem Beitrag unten zeigt der Alias dann nur nicht on/off sondern true/false zum Schalten und als Status an.

          G 1 Reply Last reply Reply Quote 0
          • G
            gutgut30 @mickym last edited by

            @mickym
            Dein Posting habe ich gesehen und so habe ich es auch konfiguriert:

            c5de9b80-7dbf-4fe3-b077-e4bc57057698-image.png

            ON_Actual:
            5a77bb92-c865-47bd-bc2f-11ab0ce92783-image.png

            *SET
            e4358672-f962-4704-bee2-f5ebad94627b-image.png

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

              @gutgut30 Das ist doch verkehrt rum.

              Du liest doch den Status aus relay.0
              und schreibst den Status in relay.0.command

              6ff04114-1be2-4502-bf41-043e04fb8950-image.png

              und die Konvertierung hast Du auch nicht richtig abgeschrieben:

              7470e582-fbd6-48e4-bf62-f0c06bbc2f29-image.png

              Ausserdem mach das nicht mit dem "BLÖDEN" Geräteadapter sondern trage das in den Alias direkt in den Objekten ein.
              Dieser Adapter macht Dir alles kaputt.

              G 1 Reply Last reply Reply Quote 0
              • G
                gutgut30 @mickym last edited by

                @mickym OMG - du hast Recht, ich hab lesen und schreiben vertauscht. Ich Idiot! Danke.

                Die Konvertierung habe ich tatsächlich nicht aus diesem Thread, die Syntax sollte aber passen. Checke ich noch mal.

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

                  @gutgut30 Na und schmeiß diesen Geräteadapter raus - der macht nur UNSINN. Mach das direkt im Alias Datenpunkt in den Objekten. Dieser Geräteadapter macht mehr kaputt, als er ganz macht. Das habe ich schon mehrfach ausprobiert - ICH kann nur abraten.

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

                    @gutgut30 sagte in Shelly per MQTT schalten geht nicht:

                    Die Konvertierung habe ich tatsächlich nicht aus diesem Thread, die Syntax sollte aber passen. Checke ich noch mal.

                    ist nur umständlich, weil val == true ? - entspricht val ?

                    Aber ich habe keine Ahnung warum ich alles da rein schreibe, wenn man es sich dann irgendwoher sucht. Aber am Schlimmsten ist der Geräteadapter - das ist wahrscheinlich auch wieder ein Video aus dem vorigen Jahrhundert.

                    G 1 Reply Last reply Reply Quote 0
                    • G
                      gutgut30 @mickym last edited by gutgut30

                      @mickym
                      Bin das Spielchen gerade noch mal durch. Auch das klappt nicht. Liegt aber auch wieder am command, das auf off bleibt. Denn auch der Alias macht am Ende ja auch nichts anderes, als aus dem false ein off zu schreiben. Daher aber der command auf off bleibt wenn ich extern schalte, gewinne ich hier nichts.

                      Also doch ein Adapter-Versuch 😞

                      Edit: Alternativ setze ich den Shelly von Edge Switch auf Detached Switch und steure nur im iobroker. Nicht die eleganteste Lösung, aber dann würde immerhin alles über den command laufen und dieser immer korrekt sein.

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

                        @gutgut30 Ich kann Dir nur sagen es geht. Vergiss den Device Adapter und mach es so wie ich beschrieben habe. Wenn Du den Schalter physisch betätigst, dann springt der relay.0 auf den Zustand um. Der command Datenpunkt wird im Alias nie angezeigt, in den wird nur geschrieben. Ich kann Dir nur sagen es funktioniert - ich habe es selbst ausprobiert.

                        Und zwar gerade nochmal:

                        WICHTIG ist, dass Du den Alias als Logikwert definierst. Wir können es gerne Schritt für Schritt durchgehen:

                        61bf8da5-f47c-45f4-859e-e10a6678b482-image.png
                        1b006486-400d-4885-818e-fceee2460e10-image.png

                        30126282-ccc4-4837-836b-331cf57da9e7-image.png

                        Ich hab da zwar toggle switch, aber das spielt keine Rolle.

                        Also Fragen;

                        1. Neuen Alias selbst unter 0.alias - ohne irgendwelche Adapter als Logikwert erstellt?
                        2. relay/0 Datenpunkt zum Lesen im Alias Tab definiert?
                        3. relay/0/command Datenpunkt zum Schreiben im Alias Tab definiert
                        4. Konvertierungsfunktion beim Lesen:
                        val == "on" ? true : false
                        
                        1. Konvertierungsfunktion beim Schreiben
                        val ? "on" : "off"
                        

                        Wichtig ist, dass der Aliasdatenpunkt als Logikwert angelegt wurde.

                        Wenn der Aliasdatenpunkt als Alias angelegt wurde, dann kannst Du keinen Text mehr eingeben:
                        413f611f-0e33-4606-9dac-966e383e1972-image.png

                        Und wie immer beim Schalten - darf man das ganz nur "unbestätigt" schalten - das heißt der Haken Bestätigt darf NIE gesetzt sein.

                        Und egal welchen Schaltertyp (ausser detached) Du verwendest - relay/0 gibt immer den aktuellen Status des Relais aus (egal welcher Schaltertyp - und egal ob Du am Schalter, in einer App oder über VIS geschaltet hast).

                        G E 2 Replies Last reply Reply Quote 0
                        • G
                          gutgut30 @mickym last edited by

                          @mickym
                          Ich hab es letztendlich genau so aufgebaut. Aber wie gesagt, wenn das Command bei einer externen Aktionen nicht umschaltet, dann kann auch der Alias da nichts machen.

                          Ich hab das ganze mal mit einem anderen Shelly 2.5 verglichen. Der andere setzt den Command bei externer Aktion korrekt identisch auf den Wert aus 0. Und dann klappt das auch. Die Settings beider Shellys sind absolut gleich. Auch nach einem Factory Reset tanzt dieser eine leider aus der Reihe.

                          Hab es jetzt mit einem Script gelöst, dass das Command identisch zum relay hält. Vielleicht hat der Shelly einfach einen weg, so gehts jetzt aber.

                          64d0dcce-954f-4a03-afd8-d158c861634d-image.png

                          Danke & frohe Tanne

                          1 Reply Last reply Reply Quote 0
                          • E
                            exitus @mickym last edited by

                            @mickym hallo könnte mir auch jemand helfen.
                            Ich möchte auch shelly über mqtt adapter schalten.
                            das Read funktion geht wenn ich den relai über den Web von shelly schalte, dann Aktualisiert sich das Datenpunkt , möchte ich aber über iobroker schalten geht es nicht habe den datenpunkt command nicht unter reali nur 0 befehl on oder off geht nicht.Muss ich den datenpunkt comman selber erstellen wenn ja wie???

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

                              @exitus ja du musst den Datenpunkt selbst erstellen. Entweder direkt in der Objektansicht oder indem Du „on“ off direkt im topic

                              xxxxx/command/switch:0
                              

                              publishst. Geht auch mit einer mqtt App auf dem Handy wenn du dich mit dem mqtt Broker verbindest.

                              Mit Blockly gibts auch direkt ein mqtt Puzzleteil.

                              E 1 Reply Last reply Reply Quote 0
                              • E
                                exitus @mickym last edited by

                                @mickym danke erstmal.
                                Wie muss es den heissen bzw . Wie mache Ich es über App.
                                Zb mein Datenpunkt ist
                                mqtt.4.shellies.Garage_vorne.relay.0
                                Muss ich jetzt einfach unter garage_vorne Ordner in Objekt ein datenpunkt erstellen der so ist
                                mqtt.4.shellies.Garage_vorne.relay.command
                                Oder
                                mqtt.4.shellies.Garage_vorne.relay.0.command
                                Das erste klappt nicht

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

                                  @exitus sagte in Shelly per MQTT schalten geht nicht:

                                  mqtt.4.shellies.Garage_vorne.relay.0.command
                                  Wenn es ein Generation 1 ist dann ist we wohl

                                  mqtt.4.shellies.Garage_vorne.relay.0.command
                                  

                                  Wenn es Gen 2 oder 3 ist dann wihl

                                  mqtt.4.shellies.Garage_vorne.command.switch:0
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • mickym
                                    mickym Most Active @exitus last edited by

                                    @exitus sagte in Shelly per MQTT schalten geht nicht:

                                    mqtt.4.shellies.Garage_vorne.relay.0.command
                                    Das erste klappt nicht

                                    Na wenn das klappt ist es doch OK - Gen1

                                    L 1 Reply Last reply Reply Quote 0
                                    • L
                                      Laser @mickym last edited by Laser

                                      verschoben

                                      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

                                      977
                                      Online

                                      31.9k
                                      Users

                                      80.2k
                                      Topics

                                      1.3m
                                      Posts

                                      5
                                      25
                                      3234
                                      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