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 @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

                        915
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

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