Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst] MQTT Befehl publishen per Button in Jarvis

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [gelöst] MQTT Befehl publishen per Button in Jarvis

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

      @kraxelhuber Gut ich will mich nicht weiter einmischen:

      https://shelly-api-docs.shelly.cloud/gen1/#shelly1-1pm-mqtt

      Die offizielle Doku sagt, dass man mit on einschaltet, mit off ausschaltet und toggle toggelt.

      90c958f6-4220-4896-9623-1335358687ac-image.png

      Aber das scheint ja nicht dein Problem zu sein.

      K 1 Reply Last reply Reply Quote 0
      • K
        Kraxelhuber @mickym last edited by Kraxelhuber

        @mickym said in MQTT Befehl publishen per Button in Jarvis:

        Aber das scheint ja nicht dein Problem zu sein.

        Genau, die eigentliche Funktion (Garagentor öffnen und schließen) läuft wie erwartet.
        Ich suche nur eine gute Möglichkeit das Tor über einen Button in Jarvis zu öffnen.

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

          @kraxelhuber

          Du solltest doch auch diesen Datenpunkt besitzen

          shellies/eg_garage_tor/relay/0/command
          

          Da einfach on/ off

          1 Reply Last reply Reply Quote 0
          • M
            MCU @Kraxelhuber last edited by MCU

            @kraxelhuber Welche Jarvis Version?

            jarvisv314-beta.21setOnOff.gif

            c55226d3-3670-4911-8500-10c5fdffd43e-image.png

            {"setOn":"on","setOff":"on"}
            

            Wenn man die Zustandsaktualisierung sehen möchte, muss man natürlich den LastChangeBody entsprechend umstellen, da der im Standard auf letzte Wertänderung steht.
            70025296-dd67-4919-877c-7353788cea8a-image.png
            f42e7c17-68d2-4f8e-badd-04855882da7b-image.png

            K 1 Reply Last reply Reply Quote 0
            • K
              Kraxelhuber @MCU last edited by

              @mcu said in MQTT Befehl publishen per Button in Jarvis:

              @kraxelhuber Welche Jarvis Version?

              v3.1.2

              Ich denke, deine Lösung hat am Ende das richtige Ergebnis. Mir ist nur noch nicht ganz klar, wie ich ganz konkret dort hin gelange.

              Hast du den Datenpunkt 0_userdata.0.jarvis.test.text3 zunächst manuell in den ioBroker Objekten erstellt? Wenn ja, könntest du davon die Eigenschaften evtl. noch mal als Screenshot zeigen?

              Oder wird der Datenpunkt aus Jarvis heraus erstellt (bin in Jarvis noch am Anfang)?

              M 1 Reply Last reply Reply Quote 0
              • M
                MCU @Kraxelhuber last edited by

                @kraxelhuber Den DP kann man auswählen oder einfügen. Du musst dort Deinen DP eingeben/ auswählen.
                Stell mal bitte die Objekt-Eigenschaften von dem DP rein. Ist es ein String oder number-DP?
                Es gibt in der Doku das Kapitel v3 für Einsteiger, dies sollte man erstmal lesen.

                K 1 Reply Last reply Reply Quote 0
                • K
                  Kraxelhuber @MCU last edited by

                  @mcu Ich konnte deine Beschreibung jetzt nachvollziehen, leider funktioniert es aber nicht so wie gewünscht. Das liegt allerdings nicht an Jarvis.
                  Ich habe jetzt einen Button, der das Topic mqtt.0.shellies.eg_garage_tor.relay.0.command mit dem String "on" aktualisiert. Das funktioniert, da sich der TimeStamp in der Objektansicht im ioBroker ändert, wenn ich den Button in Jarvis drücke.

                  Hier mal der Datenpunkt, um den es geht:

                  fa22d44a-3f18-4fc8-82f6-3d0d40002cdf-grafik.png

                  Vielleicht muss ich noch etwas ausholen, um die Garagentorsteuerung zu erklären. Der verbaute Shelly 1 verhält sich wie ein Taster. Er ist als "Momentary" Switch konfiguriert, der seinen Status nach einer Sekunde wieder automatisch auf "off" setzt, nachdem er ein "on" (oder "toggle") Signal bekommen hat.

                  230ab999-2e0f-4d08-8e4e-7c591bbdfb61-grafik.png

                  26384db2-054b-4b10-beb3-eb77eec7dda8-grafik.png

                  Was mich etwas irritiert ist folgendes:
                  Es macht einen Unterschied, ob ich im ioBroker im Objektbaum mqtt.0.shellies.eg_garage_tor.relay.0.command manuell auf "on" setze, oder ob ich eine MQTT Nachricht an dieses Topic mit dem Wert "on" übermittle. Im ersten Fall springt mqtt.0.shellies.eg_garage_tor.relay.0 nicht kurzfristig auf "on", sondern bleibt auf "off" stehen und das Garagentor bewegt sich nicht. Ich vermute, das es daran liegt, dass mqtt.0.shellies.eg_garage_tor.relay.0.command schon vorher auf "on" stand und sich der Wert damit nicht geändert hat.
                  Wenn ich eine MQTT Nachricht übermittle, ändert sich der Wert eigentlich auch nicht (er stand ja vorher schon auf "on"), nichtsdestotrotz springt mqtt.0.shellies.eg_garage_tor.relay.0 für eine Sekunde auf "on" und das Garagentor bewegt sich.

                  Wenn ich dieses Problem nicht so ohne weiteres lösen kann, frage ich mich, ob ich eine MQTT Message an mqtt.0.shellies.eg_garage_tor.relay.0.command absetzen kann, wenn ich den Button in Jarvis betätige?

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    MCU @Kraxelhuber last edited by MCU

                    @kraxelhuber sagte in MQTT Befehl publishen per Button in Jarvis:

                    mqtt.0.shellies.eg_garage_tor.relay.0.command

                    Bitte die Objekteigenschaften vom dem Objekt und die Einstellungen vom Geräte-DP der für das Schalten genutzt wird.
                    Hast du mal den ACK im Button umgestellt?

                    K 1 Reply Last reply Reply Quote 0
                    • K
                      Kraxelhuber @MCU last edited by

                      @mcu Hier die Objekteigentschaften.

                      effdbb25-e471-4b44-bd8c-b3630ade50b5-grafik.png

                      347cc042-98ce-402e-83f6-e25ad6a1d5d9-grafik.png

                      Jarvis:

                      564bb361-c1d4-4401-a7a4-be960edfb81a-grafik.png

                      634b892e-2e77-439c-a640-a05bae1137de-grafik.png

                      Auch das Setzen von Ack auf true bringt keine Besserung:

                      aef152b6-d5bc-45fe-9c4d-628f13ac79d3-grafik.png

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        MCU @Kraxelhuber last edited by MCU

                        @kraxelhuber Auch mal auf value gestellt?
                        8dfc3e34-ac32-4711-ae45-ee70e3e4947a-image.png
                        Stell mal die type auf "string"
                        10700a71-f74c-49b3-be74-2045207b1807-image.png

                        Als weitere Möglichkeit gäbe es noch den "Taster" -> Umstellen.
                        Dann aber "setOff":"off"

                        K 1 Reply Last reply Reply Quote 0
                        • K
                          Kraxelhuber @MCU last edited by

                          @mcu Das habe ich alles durchprobiert, ändert aber leider nichts am Ergebnis 😞

                          f9e8d876-7674-4ad1-bebe-c9806f555287-grafik.png

                          M 1 Reply Last reply Reply Quote 0
                          • M
                            MCU @Kraxelhuber last edited by MCU

                            @kraxelhuber

                            1. Was passiert, wenn du im ioBroker-DP den Wert off eingibst?
                              -> nix

                            Dann sollte es mit Button (val, ACK:true, Taster:true) und Datenpunkt-Eigenschaften

                            {"setOn":"on","setOff":"off"}
                            

                            funktionieren.

                            K 1 Reply Last reply Reply Quote 0
                            • K
                              Kraxelhuber @MCU last edited by

                              @mcu said in MQTT Befehl publishen per Button in Jarvis:

                              Dann sollte es mit Button (val, ACK:true) und Datenpunkt-Eigenschaften
                              {"setOn":"on","setOff":"off"}

                              funktionieren.

                              Nein, das hat leider nichs gebracht.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MCU @Kraxelhuber last edited by

                                @kraxelhuber Taster war eingeschaltet? Impulsdauer hochsetzen?

                                K 1 Reply Last reply Reply Quote 0
                                • K
                                  Kraxelhuber @MCU last edited by

                                  @mcu said in MQTT Befehl publishen per Button in Jarvis:

                                  @kraxelhuber Taster war eingeschaltet? Impulsdauer hochsetzen?

                                  d7943d0c-ae30-4f8b-9fb9-a3ad0854a4fe-grafik.png

                                  Alles ohne Erfolg.

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    MCU @Kraxelhuber last edited by MCU

                                    @kraxelhuber Aber "on" kommt doch an und wenn du es in iobroker eingibst wird doch geschaltet?
                                    Muss der command evtl anders aussehen?
                                    Auf "val" stellen.
                                    b6bc0bb7-c18c-4f11-9795-aae2275d4685-image.png

                                    K 1 Reply Last reply Reply Quote 0
                                    • K
                                      Kraxelhuber @MCU last edited by

                                      @mcu said in MQTT Befehl publishen per Button in Jarvis:

                                      @kraxelhuber Aber "on" kommt doch an und wenn du es in iobroker eingibst wird doch geschaltet?
                                      Muss der command evtl anders aussehen?

                                      Ja und Nein.

                                      Das hatte ich ja schon beschrieben. Der Wert "on" kommt in mqtt.0.shellies.eg_garage_tor.relay.0.command an. Das sehe ich an einem veränderten/aktualisierten TimeStamp, wenn ich in Jarvis den Button betätigt habe. Der Wert kommt übrigens an, egal welche Einstellungen ich vorgenommen habe (Taster, ack, val, etc.). Aber der Wert in mqtt.0.shellies.eg_garage_tor.relay.0 springt eben nicht für eine Sekunde auf "on". Das macht er nur, wenn ich eine MQTT message mit dem Wert "on" oder "toggle" nach mqtt.0.shellies.eg_garage_tor.relay.0.command absende.

                                      Und wenn ich den Wert im ioBroker in der Objektstruktur manuell auf "on" setze passiert mit dem Garagentor auch nichts, also das gleiche Ergebnis wie bei Jarvis.

                                      Wenn ich den Wert allerdings in der Objektstruktur manuell von "on" auf "toggle" stelle (oder umgekehrt), dann bewegt sich das Garagentor. Das hängt meiner Ansicht nach damit zusammen, dass der Inhalt dieses Datenfeldes geändert wurde.

                                      Man könnte mein Problem also evtl. auch dadurch lösen, dass ein Klick auf den Jarvis Button immer abwechseln "on" und "toggle" zurückliefert.

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        MCU @Kraxelhuber last edited by MCU

                                        @kraxelhuber Dann nimm doch

                                        {"setOn":"toggle","setOff":"on"}
                                        
                                        K 1 Reply Last reply Reply Quote 0
                                        • K
                                          Kraxelhuber @MCU last edited by Kraxelhuber

                                          @mcu Das wird nichts bringen, da dann immer der Wert "toggle" gesendet wird. Das hat denselben Effekt als wenn immer "on" gesendet wird.

                                          Also entweder, ich kann immer alternariend "on"/"toggle" senden oder ich muss irgendwie eine MQTT message absetzen. Vielleicht kann ich auch ein Blockly Script ausführen, welches eine MQTT Message absendet?

                                          M 1 Reply Last reply Reply Quote 0
                                          • M
                                            MCU @Kraxelhuber last edited by

                                            @kraxelhuber Nein, es ist doch Taster eingestellt, also sendet er erst toogle und 500ms später on.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            547
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            35
                                            1222
                                            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