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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
            • K
              Kraxelhuber @MCU last edited by

              @mcu Das stimmt zwar, aber bringt dann ein anderes Problem mit sich. Beim ersten "toggle" fährt das Garagentor hoch. Sollte es nicht vollständig hochgefahren sein, stoppt es mit dem nächsten "on" auf (möglichweise) teilweise offener Position. Bei einem Taster mit 500ms wird das erste Signal aber faktisch unmittelbar negiert.

              Ich merke also gerade, dass die Einstellung "Taster" auch nicht wirklich clever ist für meine Situation.

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

                @kraxelhuber Das Relais des Shelly muss dazu gebracht werden, dass es nach einer Zeit, die dem Garagentorantrieb zur Detektion reicht wieder abfällt.
                Das ist auch wichtig, damit parallel auf den Eingang des Torantriebs geschaltete normale Taster oder Schlüsselschalter weiter funktionieren.

                Eventuell mit einem dazwischen geschalteten Blockly Script zu machen.

                Button aus Jarvis triggert einen Blockly Ablauf -> Setzen Shelly, und danach Löschen Shelly mit Verzögerung ...

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

                  @martinp Meine ursprüngliche Idee war ja, einen MQTT Befehl per Blockly zu erzeugen und dass dann per Jarvis Button ausführen zu lassen (siehe Überschrift 😉 ). Dann sollten alle anderen Einstellungen am Shelly eigentlich unverändert bleiben. So die Theorie...

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

                    Mit diesem kleinen Blockly Script lässt sich das Garagentor wie gewünscht steuern.

                    a2ff9ef9-82c2-4613-8872-3c7c32004d1d-image.png

                    Jetzt noch mal die Frage an die Jarvis Experten: Wie kann ich mir einen Button erstellen, der dieses Script ausführt?

                    M MartinP 2 Replies Last reply Reply Quote 0
                    • M
                      MCU @Kraxelhuber last edited by

                      @kraxelhuber Leg einen boolean DP an und setzt den als Trigger für den sendto.

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

                        @mcu Genau, habe ich gemacht. Es läuft 🙂

                        Vielen Dank!!!

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

                          @kraxelhuber Stellst du bitte alle notwendigen Bilder(jarvis) und auch das Blockly als Export rein, ich nehme es dann mit in die Doku auf. Danke.

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

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

                            Mit diesem kleinen Blockly Script lässt sich das Garagentor wie gewünscht steuern.

                            a2ff9ef9-82c2-4613-8872-3c7c32004d1d-image.png

                            Jetzt noch mal die Frage an die Jarvis Experten: Wie kann ich mir einen Button erstellen, der dieses Script ausführt?

                            Das Relais des Shelly ist ja wahrscheinlich am Taster-Eingang des Garagentorantriebs angeschlossen. Deshalb darf es ja eigentlich nur für vielleicht eine Sekunde angezogen bleiben.
                            Wie wird es wieder zurückgesetzt?
                            Es könnte sein, dass das ein Seiteneffekt des nicht gesetzten Hakens bei "with results" ist....

                            Ich hatte etwas ähnliches mit einem ESP-01 Relais-Board gebastelt. Da mit etwas Javascript und explizitem Zurücksetzen ...

                            https://forum.iobroker.net/topic/64248/edited-javascript-esp01-mit-orig-firmware

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

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

                              Das Relais des Shelly ist ja wahrscheinlich am Taster-Eingang des Garagentorantriebs angeschlossen. Deshalb darf es ja eigentlich nur für vielleicht eine Sekunde angezogen bleiben.
                              Wie wird es wieder zurückgesetzt?

                              Der Shelly ist als "Momentary Switch" definiert, mit einem Auto-Off nach 1 Sekunde (siehe Screenshots weiter oben).

                              Was genau bewirkt die with results Tickbox?

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

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

                                @kraxelhuber Stellst du bitte alle notwendigen Bilder(jarvis) und auch das Blockly als Export rein, ich nehme es dann mit in die Doku auf. Danke.

                                User-defined button:
                                38e3cb78-ecb8-449f-92eb-11493e2aa379-grafik.png

                                Blockly script, welches eine MQTT message versendet, um das Garagentor zu öffnen/schließen.
                                bfac6a78-36cc-453b-bfea-e2886f4f9826-grafik.png

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                  <block type="on_ext" id="v3k}0IJYeg%f#Q_X{$7j" x="-87" y="-62">
                                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                                    <field name="CONDITION">any</field>
                                    <field name="ACK_CONDITION"></field>
                                    <value name="OID0">
                                      <shadow type="field_oid" id="frWa5)|+yq0%F[zz^aSY">
                                        <field name="oid">0_userdata.0.garage</field>
                                      </shadow>
                                    </value>
                                    <statement name="STATEMENT">
                                      <block type="sendto_custom" id="Jk@yEg*?oRGz[ovksWQM">
                                        <mutation xmlns="http://www.w3.org/1999/xhtml" items="topic,message" with_statement="false"></mutation>
                                        <field name="INSTANCE">mqtt.0</field>
                                        <field name="COMMAND">sendMessage2Client</field>
                                        <field name="LOG"></field>
                                        <field name="WITH_STATEMENT">FALSE</field>
                                        <value name="ARG0">
                                          <shadow type="text" id="o2pI)aO9s-J7dm,Vt)$N">
                                            <field name="TEXT">shellies/eg_garage_tor/relay/0/command</field>
                                          </shadow>
                                        </value>
                                        <value name="ARG1">
                                          <shadow type="text" id="81sL8f/h7MmvC?9-0p;X">
                                            <field name="TEXT">on</field>
                                          </shadow>
                                        </value>
                                      </block>
                                    </statement>
                                  </block>
                                </xml>
                                

                                Gerät in Jarvis:
                                82d2a2d6-6fa5-4b35-995e-a1c9fc34550f-grafik.png

                                0749ba2b-c029-42b6-b895-7651026307f7-grafik.png

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

                                  @kraxelhuber Bitte den Export korrigieren.
                                  23a1a109-b55b-45f7-b970-86faa42fccd5-image.png

                                  ->

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

                                    @mcu DONE

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    840
                                    Online

                                    31.8k
                                    Users

                                    79.9k
                                    Topics

                                    1.3m
                                    Posts

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