Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Shelly 1Plus über mqtt anbinden

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Shelly 1Plus über mqtt anbinden

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      spooky82 last edited by

      Hallo zusammen,

      Ich habe gestern Abend einen neuen Shelly 1Plus verbaut - dieser ist leider noch nicht im Shelly Adapter unterstützt.

      Nun versuche ich ihn per mqtt anzubinden.

      Also, im Objekt "mqtt.0.shellyplus1-a8032abe918c.status.switch:0" wird bei On bzw Off folgender String übergeben:

      für off:
      {"src":"shellyplus1-a8032abe918c","dst":"shellyplus1-a8032abe918c/events","method":"NotifyStatus","params":{"ts":1635344822.11,"switch:0":{"id":0,"output":false,"source":"http"}}}

      für on:
      {"src":"shellyplus1-a8032abe918c","dst":"shellyplus1-a8032abe918c/events","method":"NotifyStatus","params":{"ts":1635344860.12,"switch:0":{"id":0,"output":true,"source":"http"}}}

      Es ändert sich also der Wert von "output" und von "ts".
      Wie kann man auf diese Änderung triggern?
      Mit blockly geht das irgendwie nicht...

      dfd91651-79f2-4b37-be69-84088ac4fcc1-image.png

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

        @spooky82 Ehrlich gesagt finde ich diese Doku zu der mqtt Doku zur Generation mehr als bescheiden und blicke auch nicht nicht richtig durch.

        Sowie ich das verstehe, schaltet man den Shelly über den rpc Ast:

        shellyplus1-a8032abe918c/rpc
        

        da müsste man dann folgenden JSON schreiben

        {"id":0, "src":"user_1", "method":"Switch.Set", "params":{"id":0,"on":true}}
        

        Diese src - kann ein beliebiger String sein - und soll wohl dazu dienen, dass man unterscheiden kam von wem oder was der Befehl kam.

        Es sollte dann unter

        user_1/rpc
        

        eine Antwort geben, die je nach voherigem Zustand sowas enthalten soll:

        {"was_on": false}
        

        wie gesagt ich kenne diese neue Struktur auch nicht und die Beschreibung finde ich sowas von unlogisch und schlecht aufgebaut. Aber kannst es ja mal so versuchen - wie gesagt ich habe das Gerät nicht, sondern ich versuche nur aus der Beschreibung schlau zu werden.

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

          @spooky82 Das triggern ist einfach - es wird einfach der gesamte Wert getrigggert.

          Das heißt Du hast nur den Wert in mqtt.0.shellyplus1-a8032abe918c.status.switch.0 als JSON String - den in ein Objekt wandeln und dann musst halt dann über das Attribut rausfieseln.

          633fea0c-401a-4893-84ed-1b7746d14741-image.png

          Statt der String-Zuweisung triggerst Du natürlich über den Datenpunkt und kannst dann ja je nach output Wert triggern.

          Im Prinzip musst Du also nur den Wert Deines Triggers "mqtt.0.shellyplus1-a8032abe918c.status.switch:0" (also in Objekt ID einsetzen) in ein Objekt zu wandeln.

          e24a7d8f-2667-422e-b106-59fe2e0079dd-image.png

          S 1 Reply Last reply Reply Quote 1
          • S
            spooky82 @mickym last edited by spooky82

            @mickym Danke - ich werde es gleich ausprobieren!

            Edit: Ok, Den Status bekomme ich nun wunderbar hin.
            Aber wie schalte ich das jetzt?

            Danke schön.

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

              @spooky82 Na das mit dem Schalten habe ich ja in meinem ersten Posting gesagt - wie gesagt ich kenne diese neue und schlecht dokumentierte neue API auch nicht, aber so weit ich verstanden habe, erstellst Du einen neuen Datenpunkt "rpc" als String unter mqtt.0.shellyplus1-a8032abe918c, also mqtt.0.shellyplus1-a8032abe918c.rpc mit dem Namen shellyplus1-a8032abe918c/rpc und dort schreibst dann den JSON String.

              In den schreibst Du dann wie in meinem ersten Posting beschrieben entweder

              {"id":0, "src":"user_1", "method":"Switch.Set", "params":{"id":0,"on":true}}
              

              oder

              {"id":0, "src":"user_1", "method":"Switch.Set", "params":{"id":0,"on":false}}
              

              ansonsten noch mal mein 1. Posting anschauen - aber wie gesagt - sonst musst ggf. auch noch mal im Shelly Forum nachfragen.

              Manchmal frage ich mich warum Entwickler alles komplizierter anstelle von einfacher machen.

              S 1 Reply Last reply Reply Quote 0
              • S
                spooky82 @mickym last edited by

                @mickym said in Shelly 1Plus über mqtt anbinden:

                {"id":0, "src":"user_1", "method":"Switch.Set", "params":{"id":0,"on":false}}

                Verstanden. Habe ausprobiert - der Shelly schaltet leider nicht 😞
                Naja - sehr interessant - ich habe mich echt auf das Device gefreut - werde den 1Plus jetzt aber wohl erstmal durch einen 1erV3 ersetzen und auf ein Update des Adapters (falls es überhaupt möglich ist) warten.

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

                  @spooky82 Wie gesagt dann stell mal im Shelly Forum die Frage.

                  https://www.shelly-support.eu/forum/index.php?board/139-shelly-plus-1/

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

                    @spooky82 sagte in Shelly 1Plus über mqtt anbinden:

                    @mickym said in Shelly 1Plus über mqtt anbinden:

                    {"id":0, "src":"user_1", "method":"Switch.Set", "params":{"id":0,"on":false}}

                    Verstanden. Habe ausprobiert - der Shelly schaltet leider nicht 😞
                    Naja - sehr interessant - ich habe mich echt auf das Device gefreut - werde den 1Plus jetzt aber wohl erstmal durch einen 1erV3 ersetzen und auf ein Update des Adapters (falls es überhaupt möglich ist) warten.

                    Ich hab gesehen, Du warst im Shelly Forum aktiv und es scheint zu funktionieren. Nur Frage, warum hat es nicht funktioniert, wie ich bzw. Du es hier schon probiert hast.

                    An dem Blockly macht er doch genau das Gleiche:

                    124c4014-1fda-40e2-af56-41ada8030ac5-image.png

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      spooky82 @mickym last edited by

                      @mickym hi. Ich bin mir ziemlich sicher, dass ich der Grund war, warum es nicht funktioniert hat 😂

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

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      894
                      Online

                      31.6k
                      Users

                      79.6k
                      Topics

                      1.3m
                      Posts

                      2
                      9
                      4150
                      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