Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst]Telegram Abfragen mit Buttons als Antwortmöglichkeit

    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]Telegram Abfragen mit Buttons als Antwortmöglichkeit

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

      Hallo zusammen
      Ich verwende das Telegram Menü mit den Buttons. Nun hätte ich gerne folgendes weiss aber nicht konkret wie ich das umsetzen kann.
      Ich würde mir gerne eine Abfrage einrichten, welche jeden Abend prüft ob z.B. um 20 Uhr das Garagentor noch offen ist. Das ist kein Problem und kann ich ohne weiteres in Telegram umsetzen. Wenn also um 20 Uhr die Garage noch offen ist sollte folgendes passieren. Ich kriege eine Meldung in Telegram --> Die Garage ist noch offen. Aber dann würde ich gerne gleich zwei Buttons anzeigen und vorab die Frage. Möchtest Du die Garage schliessen und dann ein Button Ja und ein Button nein.
      Ich habe die Garagensteuerung bereits als Telegram Befehl integriert wie könnte ich das machen so dass die Buttons kommen?
      Danke für Eure Hilfe

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

        @drapo nicht alle auf einmal bitte 😁😉

        1 Reply Last reply Reply Quote 0
        • Christian Wöhrle
          Christian Wöhrle last edited by

          im prinzip müsstest du dir ein 2. Menü bauen das dann aufgerufen wird wenn dein wert open = true ist.
          Das muss dann halt mit einem anderen Befehl aufgerufen werden. Z. B. Anstatt "Hauptmenü" müsste dann bspw. "Garagensteuerung" heißen.

          D 1 Reply Last reply Reply Quote 0
          • D
            drapo @Christian Wöhrle last edited by

            @christian-wöhrle könntest Du mir einen kleinen Input geben wie ich das mit Blockly aufrufen kann? Dank dir

            Meister Mopper D 2 Replies Last reply Reply Quote 0
            • Meister Mopper
              Meister Mopper @drapo last edited by

              @drapo

              Das wird glaube ich für's Forum zu aufwändig. Hier wird gezeigt, wie man mit Untermenüs arbeitet.

              1 Reply Last reply Reply Quote 0
              • D
                Donald @drapo last edited by

                @drapo
                Ich nutze nicht das Telegram Menü, sondern etwas ähnliches wie im Video gezeigt.
                Dabei baue ich mir die Schaltflächen dynamisch in Blockly als Liste zusammen - der Text ist dann auch gleich das was im Bot abgefangen werden muss zur Steuerung. Dabei helfen mir Unicode-Zeichen um die verschiedenen Aufgaben zu triggern.

                In diesem Fall irgendein passendes Symbol für Garagentor.

                19f54321-1cac-440d-aba6-a50d3221ce21-image.png

                e4cd933b-736b-4539-96a2-04be0b6073a4-image.png

                <xml xmlns="https://developers.google.com/blockly/xml">
                  <variables>
                    <variable id="uY3*38OniOeq%)U6KGW#">TELEusers</variable>
                    <variable id="R$?pZ24u9fcJBfy=Syd%">textstring</variable>
                    <variable id="YX#@TW_+hCt}+vQh`fDz">KeyboardArray</variable>
                    <variable id="zLn-Y^R#MqRA^zKdxxvT">menu_letzter_Absender</variable>
                  </variables>
                  <block type="procedures_defcustomnoreturn" id="ZW]/?a+X1UQl%k5(ST=x" x="113" y="188">
                    <mutation statements="false">
                      <arg name="TELEusers" varid="uY3*38OniOeq%)U6KGW#"></arg>
                      <arg name="textstring" varid="R$?pZ24u9fcJBfy=Syd%"></arg>
                      <arg name="KeyboardArray" varid="YX#@TW_+hCt}+vQh`fDz"></arg>
                    </mutation>
                    <field name="NAME">Telegram_send_KBbutton</field>
                    <field name="SCRIPT">c2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIHVzZXI6IChURUxFdXNlcnMpLA0KICAgIHRleHQ6ICAodGV4dHN0cmluZyksDQogICAgcGFyc2VfbW9kZTogJ01hcmtkb3duJywNCiAgICByZXBseV9tYXJrdXA6IHsNCiAgICAgICAga2V5Ym9hcmQ6IChLZXlib2FyZEFycmF5KSwNCiAgICAgICAgcmVzaXplX2tleWJvYXJkOiAgIHRydWUsDQogICAgICAgIG9uZV90aW1lX2tleWJvYXJkOiB0cnVlDQogICAgfQ0KfSk7</field>
                    <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                  </block>
                  <block type="variables_get" id="M)7k389WqVqw2p[/!pOa" x="363" y="238">
                    <field name="VAR" id="zLn-Y^R#MqRA^zKdxxvT">menu_letzter_Absender</field>
                  </block>
                  <block type="procedures_callcustomnoreturn" id="pMVpl:N!UiL0R2LuOXci" inline="false" x="113" y="263">
                    <mutation name="Telegram_send_KBbutton">
                      <arg name="TELEusers"></arg>
                      <arg name="textstring"></arg>
                      <arg name="KeyboardArray"></arg>
                    </mutation>
                    <value name="ARG0">
                      <block type="text" id="J:$i5(/z=v*Bpv2r{Oim">
                        <field name="TEXT">nutzername</field>
                      </block>
                    </value>
                    <value name="ARG1">
                      <block type="text_join" id="}OhGPFW1la?[E:0~;hSJ" inline="true">
                        <mutation items="4"></mutation>
                        <value name="ADD0">
                          <block type="text" id="%r`Z8^?A^0B-qmv`{m10">
                            <field name="TEXT">🚪</field>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="text" id="H!F%:fa($538x+jul]7z">
                            <field name="TEXT"> Garagentor offen!</field>
                          </block>
                        </value>
                        <value name="ADD2">
                          <block type="text_newline" id="c!n*MC=#E9gKf[cT2!n,">
                            <field name="Type">\n</field>
                          </block>
                        </value>
                        <value name="ADD3">
                          <block type="text" id="~n+1;Q8{1?d;rlc3f(3n">
                            <field name="TEXT">Soll jetzt geschlossen werden?</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="ARG2">
                      <block type="lists_create_with" id="q}ZQX7%qFaK`bCz}r^w1">
                        <mutation items="2"></mutation>
                        <value name="ADD0">
                          <block type="lists_create_with" id="Kd5WIb/V)L}%l7,a_qYu" inline="true">
                            <mutation items="2"></mutation>
                            <value name="ADD0">
                              <block type="text" id="7x./JEj38tmtWs^itwl=">
                                <field name="TEXT">🚪 Ja</field>
                              </block>
                            </value>
                            <value name="ADD1">
                              <block type="text" id="Z1,I[nw@T3_*Ig%X4/j@">
                                <field name="TEXT">🚪 Nein</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="lists_create_with" id=".R=c1N1,5^XS:UQo@y2Z" inline="true">
                            <mutation items="2"></mutation>
                            <value name="ADD0">
                              <block type="text" id="6J=ehZ]i{0w=/;0wQWvN">
                                <field name="TEXT">🚪 Ja</field>
                              </block>
                            </value>
                            <value name="ADD1">
                              <block type="text" id="Em?06)7Xc8}%($@Vr5f0">
                                <field name="TEXT">🚪 Nein</field>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                    </value>
                  </block>
                  <block type="comment" id="Uq%p#x%g:D$)Rvp*;}9k" x="938" y="363">
                    <field name="COMMENT">doppelte Nennung nur zur Demonstration für mehrzeilige Buttonleiste</field>
                  </block>
                </xml>
                

                D Schmakus 2 Replies Last reply Reply Quote 0
                • D
                  drapo @Donald last edited by

                  @donald der Ansatz gefällt mir sehr gut. vielen dank dafür. Das werde ich auch mal versuchen.

                  B 1 Reply Last reply Reply Quote 0
                  • Schmakus
                    Schmakus Developer @Donald last edited by

                    @donald sagte in Telegram Abfragen mit Buttons als Antwortmöglichkeit:

                    @drapo
                    Ich nutze nicht das Telegram Menü, sondern etwas ähnliches wie im Video gezeigt.
                    Dabei baue ich mir die Schaltflächen dynamisch in Blockly als Liste zusammen - der Text ist dann auch gleich das was im Bot abgefangen werden muss zur Steuerung. Dabei helfen mir Unicode-Zeichen um die verschiedenen Aufgaben zu triggern.

                    In diesem Fall irgendein passendes Symbol für Garagentor.

                    19f54321-1cac-440d-aba6-a50d3221ce21-image.png

                    e4cd933b-736b-4539-96a2-04be0b6073a4-image.png

                    <xml xmlns="https://developers.google.com/blockly/xml">
                      <variables>
                        <variable id="uY3*38OniOeq%)U6KGW#">TELEusers</variable>
                        <variable id="R$?pZ24u9fcJBfy=Syd%">textstring</variable>
                        <variable id="YX#@TW_+hCt}+vQh`fDz">KeyboardArray</variable>
                        <variable id="zLn-Y^R#MqRA^zKdxxvT">menu_letzter_Absender</variable>
                      </variables>
                      <block type="procedures_defcustomnoreturn" id="ZW]/?a+X1UQl%k5(ST=x" x="113" y="188">
                        <mutation statements="false">
                          <arg name="TELEusers" varid="uY3*38OniOeq%)U6KGW#"></arg>
                          <arg name="textstring" varid="R$?pZ24u9fcJBfy=Syd%"></arg>
                          <arg name="KeyboardArray" varid="YX#@TW_+hCt}+vQh`fDz"></arg>
                        </mutation>
                        <field name="NAME">Telegram_send_KBbutton</field>
                        <field name="SCRIPT">c2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIHVzZXI6IChURUxFdXNlcnMpLA0KICAgIHRleHQ6ICAodGV4dHN0cmluZyksDQogICAgcGFyc2VfbW9kZTogJ01hcmtkb3duJywNCiAgICByZXBseV9tYXJrdXA6IHsNCiAgICAgICAga2V5Ym9hcmQ6IChLZXlib2FyZEFycmF5KSwNCiAgICAgICAgcmVzaXplX2tleWJvYXJkOiAgIHRydWUsDQogICAgICAgIG9uZV90aW1lX2tleWJvYXJkOiB0cnVlDQogICAgfQ0KfSk7</field>
                        <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                      </block>
                      <block type="variables_get" id="M)7k389WqVqw2p[/!pOa" x="363" y="238">
                        <field name="VAR" id="zLn-Y^R#MqRA^zKdxxvT">menu_letzter_Absender</field>
                      </block>
                      <block type="procedures_callcustomnoreturn" id="pMVpl:N!UiL0R2LuOXci" inline="false" x="113" y="263">
                        <mutation name="Telegram_send_KBbutton">
                          <arg name="TELEusers"></arg>
                          <arg name="textstring"></arg>
                          <arg name="KeyboardArray"></arg>
                        </mutation>
                        <value name="ARG0">
                          <block type="text" id="J:$i5(/z=v*Bpv2r{Oim">
                            <field name="TEXT">nutzername</field>
                          </block>
                        </value>
                        <value name="ARG1">
                          <block type="text_join" id="}OhGPFW1la?[E:0~;hSJ" inline="true">
                            <mutation items="4"></mutation>
                            <value name="ADD0">
                              <block type="text" id="%r`Z8^?A^0B-qmv`{m10">
                                <field name="TEXT">🚪</field>
                              </block>
                            </value>
                            <value name="ADD1">
                              <block type="text" id="H!F%:fa($538x+jul]7z">
                                <field name="TEXT"> Garagentor offen!</field>
                              </block>
                            </value>
                            <value name="ADD2">
                              <block type="text_newline" id="c!n*MC=#E9gKf[cT2!n,">
                                <field name="Type">\n</field>
                              </block>
                            </value>
                            <value name="ADD3">
                              <block type="text" id="~n+1;Q8{1?d;rlc3f(3n">
                                <field name="TEXT">Soll jetzt geschlossen werden?</field>
                              </block>
                            </value>
                          </block>
                        </value>
                        <value name="ARG2">
                          <block type="lists_create_with" id="q}ZQX7%qFaK`bCz}r^w1">
                            <mutation items="2"></mutation>
                            <value name="ADD0">
                              <block type="lists_create_with" id="Kd5WIb/V)L}%l7,a_qYu" inline="true">
                                <mutation items="2"></mutation>
                                <value name="ADD0">
                                  <block type="text" id="7x./JEj38tmtWs^itwl=">
                                    <field name="TEXT">🚪 Ja</field>
                                  </block>
                                </value>
                                <value name="ADD1">
                                  <block type="text" id="Z1,I[nw@T3_*Ig%X4/j@">
                                    <field name="TEXT">🚪 Nein</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <value name="ADD1">
                              <block type="lists_create_with" id=".R=c1N1,5^XS:UQo@y2Z" inline="true">
                                <mutation items="2"></mutation>
                                <value name="ADD0">
                                  <block type="text" id="6J=ehZ]i{0w=/;0wQWvN">
                                    <field name="TEXT">🚪 Ja</field>
                                  </block>
                                </value>
                                <value name="ADD1">
                                  <block type="text" id="Em?06)7Xc8}%($@Vr5f0">
                                    <field name="TEXT">🚪 Nein</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                      </block>
                      <block type="comment" id="Uq%p#x%g:D$)Rvp*;}9k" x="938" y="363">
                        <field name="COMMENT">doppelte Nennung nur zur Demonstration für mehrzeilige Buttonleiste</field>
                      </block>
                    </xml>
                    

                    Jetzt muss nur noch sichergestellt werden, das der response "ja" oder "nein" auch zum Garagentor passt. Deshalb sollte man dies entweder mit einem callback machen oder per question.

                    Xnip2023-12-20_11-51-29.jpg

                    Xnip2023-12-20_11-51-43.jpg

                    D 1 Reply Last reply Reply Quote 0
                    • B
                      BobBruni @drapo last edited by BobBruni

                      @drapo

                      Hallo Drapo,

                      hier hast du die fertige Lösung:
                      https://forum.iobroker.net/topic/64968/test-adapter-telegram-menu-v-0-9-x/957?_=1703070393109

                      Sobald mein Gargentor länger als 1h offen steht, lasse mir diese Nachricht, mit entsprechender Antwortmöglichkeit, senden:
                      630eec74-a73e-4b07-8f2e-4b9fbac893cb-image.png

                      Die Antwortmöglichkeiten können dabei beliebig gestaltet werden.

                      Gruß

                      D 1 Reply Last reply Reply Quote 1
                      • D
                        drapo @Schmakus last edited by

                        @schmakus ich finde das eine sehr elegante alternative. Das mit dem Menü dynamisch zusammenbauen funktioniert soweit ganz gut. wie krieg ich jedoch die Antwort dann mittels blockly eingefangen. Also wenn ich dann Ja drücke auf dem Button so dass das Tor nach unten fährt. Ich müsste dann einfach einen Status im ändern. Aber halt nur dann wenn Ja gedrückt wurde. Könntest Du mir da nochmals auf die Sprünge helfen?

                        Dank Dir

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          drapo @BobBruni last edited by

                          @bobbruni hab damit mal rumgespielt bin aber überhaupt nicht klar gekommen mit dem telegram menü adapter.

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

                            @Schmakus will ja nicht lästig sein aber könntest du mir nochmals einen tip geben? Danke

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

                              @drapo ich habs mittlerweile hingekriegt. Habe dazu einen Beitrag im Netz gefunden. Dieser beschreibt das Vorgehen mit Javascript sehr gut. Bei mir funktioniert nun die Abfrage der Garage wenn sie offen ist wenn es dunkel wird und ob ich sie schliessen möchte mittels den Ja und Nein Buttons.

                              Hier der Link zur Anleitung:

                              https://www.smarthome-tricks.de/software-iobroker/iobroker-auf-telegram-nachrichten-reagieren/amp/

                              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

                              743
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

                              6
                              13
                              756
                              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