Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Telegram ChatID+MsgID von Bot-Empfängern speichern

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Telegram ChatID+MsgID von Bot-Empfängern speichern

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

      Hallo allerseits,
      Ich bin im Moment dabei herumzuspielen und suche eine Lösung für folgendes Problem:

      Ich sende per Telegram-Bot eine Nachricht "Wurde die Wäsche aufgehängt?" inkl. Inline-Buttons (JA/NEIN) an mehrere User (Momentan nur mein Frauchen und ich).
      Sobald einer die Wäsche aufgehängt hat, quittiert er dies durch "Ja", woraufhin er ein "Danke!" bekommt und der Telegram-Text mit den Buttons auf "Wäsche wurde aufgehängt!" geändert wird.

      Soweit, so gut. Bis hierhin kein Problem.
      Nun möchte ich, dass die Nachricht auch bei allen anderen Teilnehmern der Bot-Benachrichtigungen geupdatet wird.
      Wenn Frauchen die Wäsche aufhängt, sollen bei mir die Frage "Wurde die Wäsche aufgehängt? Ja/Nein" durch die Antwort "Wäsche wurde aufgehängt!" korrigiert werden....bzw. umgekehrt auch, falls ich mal den Weg zur Waschmaschine finde.

      Um das zu realisieren, muss ich mir irgendwie beim Absenden der Frage "Wurde aufgehängt?" merken, an wen die Nachricht alles ging und mit welcher MsgID dies geschah. (ChatID und Msg der Teilnehmer müssen irgendwie zwischengespeichert werden).

      Und hier wird es kniffelig und ich komme nicht weiter. Wie setzt man sowas halbwegs elegant um?

      Ein Workaround wäre folgendes:

      1. die ChatID von uns beiden bleibt scheinbar immer identisch, sofern ich das sehe....man könnte diese also statisch benutzen. Das ist nicht wirklich schön, wäre aber eine Möglichkeit.
      2. die "letzte" MsgID könnte man aus der BotSendMsgID auslesen kurz nachdem die Frage "Wurde aufgehängt" raus ging. Die letzte MsgID wäre dann dieser Wert -1
      3. Nun muss man nur noch hoffen, dass die Reihenfolge der Abarbeitung des Bots immer die gleiche bleibt... dann wäre das Problem "irgendwie" gelöst, aber nicht wirklich schön und mehr mit hoffen als mit wissen behaftet.

      Da ich ein großer Freund von universell nutzbaren Lösungen bin, die evtl. auch irgendwann al wem anders dienlich sein könnten, wäre es schön, wenn es hierfür eine Lösung gäbe, die nicht auf statische ChatIDs und festgelegte Anzahl der User setzt.

      Ich hänge mal meinen Bastel-Blockly-Script an und kommentiere diesen im Spoiler darunter ein wenig.
      Screenshot 2021-03-14 15.43.46.png

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="l/Hhs}-OqimAs![DYo.E">callbackquerytext</variable>
          <variable id="tSZlb72TXQF59Ip}bblm">last_sender_name</variable>
          <variable id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</variable>
        </variables>
        <block type="procedures_defcustomnoreturn" id="`qTJ-;y={AJ[sVdW~f1/" x="288" y="-738">
          <mutation statements="false">
            <arg name="callbackquerytext" varid="l/Hhs}-OqimAs![DYo.E"></arg>
          </mutation>
          <field name="NAME">answercallbackquerymittext</field>
          <field name="SCRIPT">c2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIC8vY2hhdElkIGZ1bmt0aW9uaWVydCBuaWNodCAtIHN0YW5kIDAzLzIwMjENCiAgICAvL2NoYXRJZDogZ2V0U3RhdGUoInRlbGVncmFtLjEuY29tbXVuaWNhdGUucmVxdWVzdENoYXRJZCIpLnZhbCwNCiAgICB1c2VyOiBsYXN0X3NlbmRlcl9uYW1lLA0KICAgIGFuc3dlckNhbGxiYWNrUXVlcnk6IHsNCiAgICAgICAgdGV4dDogY2FsbGJhY2txdWVyeXRleHQsDQogICAgICAgIHNob3dBbGVydDogdHJ1ZSAvLyBPcHRpb25hbCBwYXJhbWV0ZXINCiAgICB9DQp9KTs=</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
        </block>
        <block type="comment" id="l.5HJmvKSgDhA/k(8Nd#" x="913" y="-763">
          <field name="COMMENT">Sende Nachricht bei Script-Start</field>
          <next>
            <block type="procedures_callcustomnoreturn" id="8~%wcY?B-a.zVb4v[S!%">
              <mutation name="Telegram_Abfrage_Wäsche_aufgehängt"></mutation>
              <next>
                <block type="on_ext" id="(v7Rvt%da+1+}1OIu5U;">
                  <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="blC:9%UTQ2jY@Z#lx{@~">
                      <field name="oid">telegram.0.communicate.request</field>
                    </shadow>
                  </value>
                  <statement name="STATEMENT">
                    <block type="comment" id="%Q7KMMnYYJxR(xO1cFuZ">
                      <field name="COMMENT">Variablen verarbeiten</field>
                      <next>
                        <block type="variables_set" id="@05QF)c1s~CvvQSRNtAI" collapsed="true">
                          <field name="VAR" id="tSZlb72TXQF59Ip}bblm">last_sender_name</field>
                          <value name="VALUE">
                            <block type="text_getSubstring" id="JP^UEo5`~=)JxXGC+#w)" inline="false">
                              <mutation at1="true" at2="true"></mutation>
                              <field name="WHERE1">FROM_START</field>
                              <field name="WHERE2">FROM_START</field>
                              <value name="STRING">
                                <block type="on_source" id="byETLC8e~w]`;mXmqna!">
                                  <field name="ATTR">state.val</field>
                                </block>
                              </value>
                              <value name="AT1">
                                <block type="math_number" id="}?Msw=(W[QvfHPSPXW![">
                                  <field name="NUM">2</field>
                                </block>
                              </value>
                              <value name="AT2">
                                <block type="math_arithmetic" id="2Z8KU~r:/AnJS]Yes,td" inline="false">
                                  <field name="OP">MINUS</field>
                                  <value name="A">
                                    <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="text_indexOf" id="wCMjeY!P]5e%(C1sV:Ep">
                                      <field name="END">FIRST</field>
                                      <value name="VALUE">
                                        <block type="on_source" id="WI2G7cig)r*D_0V|`E_b">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="FIND">
                                        <shadow xmlns="http://www.w3.org/1999/xhtml" type="text">
                                          <field name="TEXT">abc</field>
                                        </shadow>
                                        <block type="text" id="2CQjCKzN5$pjdtvq]T7^">
                                          <field name="TEXT">]</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="math_number" id="Re)p[9LE1hB?vJTO]YEU">
                                      <field name="NUM">1</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="debug" id="_B6dl|IVt|VYXH(Mm=Zg" inline="true" collapsed="true">
                              <field name="Severity">log</field>
                              <value name="TEXT">
                                <shadow type="text">
                                  <field name="TEXT">test</field>
                                </shadow>
                                <block type="text_join" id="EpwR$`2%0-`V4;m~{zPe" inline="true">
                                  <mutation items="2"></mutation>
                                  <value name="ADD0">
                                    <block type="text" id="JMg%*Mp!M]5k|_;e=?U$">
                                      <field name="TEXT">***last_sender_name: </field>
                                    </block>
                                  </value>
                                  <value name="ADD1">
                                    <block type="variables_get" id="l2%%t/#%DGqz(,1dJRF5">
                                      <field name="VAR" id="tSZlb72TXQF59Ip}bblm">last_sender_name</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="variables_set" id="gVCtKgem;;f?9/.3!!7(" collapsed="true">
                                  <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                  <value name="VALUE">
                                    <block type="text_getSubstring" id="i5eWSB[+aMfC#$e8Poh;" inline="false">
                                      <mutation at1="true" at2="false"></mutation>
                                      <field name="WHERE1">FROM_START</field>
                                      <field name="WHERE2">LAST</field>
                                      <value name="STRING">
                                        <block type="on_source" id="x.S63u%:c%zb?9VXZK7l">
                                          <field name="ATTR">state.val</field>
                                        </block>
                                      </value>
                                      <value name="AT1">
                                        <block type="math_arithmetic" id="AJ~SAHp@;WP!9x2Ec)bp" inline="false">
                                          <field name="OP">ADD</field>
                                          <value name="A">
                                            <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="text_indexOf" id="d},vOvJ?$skVE@SaxrEp" inline="false">
                                              <field name="END">FIRST</field>
                                              <value name="VALUE">
                                                <block type="on_source" id="G1:,tnL1Me^FpPM,DRj{">
                                                  <field name="ATTR">state.val</field>
                                                </block>
                                              </value>
                                              <value name="FIND">
                                                <shadow xmlns="http://www.w3.org/1999/xhtml" type="text">
                                                  <field name="TEXT">abc</field>
                                                </shadow>
                                                <block type="text" id="ok)Zh69Ds4XsXpm:7!{!">
                                                  <field name="TEXT">]</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="math_number" id="UOLiY%(e5NVj3-CkuqFY">
                                              <field name="NUM">1</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="debug" id="GJOcG8p0H9LEzoMU{A07" inline="true" collapsed="true">
                                      <field name="Severity">log</field>
                                      <value name="TEXT">
                                        <shadow type="text">
                                          <field name="TEXT">test</field>
                                        </shadow>
                                        <block type="text_join" id="x3v??K^S*u{.EXX|Ea9r" inline="true">
                                          <mutation items="2"></mutation>
                                          <value name="ADD0">
                                            <block type="text" id="6%E~Mfe`m)UvGXwj2CQ{">
                                              <field name="TEXT">***last_received_request: </field>
                                            </block>
                                          </value>
                                          <value name="ADD1">
                                            <block type="variables_get" id="AmX#Ajim8sF`e/wKxgYF">
                                              <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="comment" id=";;/H{UC!K`AccYBLrbaV">
                                          <field name="COMMENT">### Verarbeitung ###</field>
                                          <next>
                                            <block type="controls_if" id="`W9kjvMAvYe2l1lH4;}7">
                                              <mutation elseif="1"></mutation>
                                              <value name="IF0">
                                                <block type="logic_compare" id="/e$G{#tEL7c42?zJMfC)">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="variables_get" id="K;___=jmMpr.Z|F7svO|">
                                                      <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="UEIRsAWNKBn~d^a3wi=|">
                                                      <field name="TEXT">Wäsche_Wurde_AufgehängtJa</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <statement name="DO0">
                                                <block type="procedures_callcustomnoreturn" id="V0fEr,CAW0xVJ7-%9UbQ">
                                                  <mutation name="Telegram_Antwort_Wäsche_aufgehängt"></mutation>
                                                  <next>
                                                    <block type="procedures_callcustomnoreturn" id="iA;,Ns.DTMU*_GPnh]N+">
                                                      <mutation name="answercallbackquerymittext">
                                                        <arg name="callbackquerytext"></arg>
                                                      </mutation>
                                                      <value name="ARG0">
                                                        <block type="text" id="d983t4(7APF?R}0Qah4b">
                                                          <field name="TEXT">Sehr schön! 😊</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                              <value name="IF1">
                                                <block type="logic_compare" id="y#x@)wrX,@?KxjQ7b.-N">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="variables_get" id="{g;.+Nn=2wZyLb#vZn_p">
                                                      <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="IUO~}-[q/yo^R0HDz(|,">
                                                      <field name="TEXT">Wäsche_Wurde_AufgehängtNein</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <statement name="DO1">
                                                <block type="procedures_callcustomnoreturn" id="=+Vc/kRL{O*qs/Bd_f@z">
                                                  <mutation name="answercallbackquerymittext">
                                                    <arg name="callbackquerytext"></arg>
                                                  </mutation>
                                                  <value name="ARG0">
                                                    <block type="text" id="`C2fGg|`dMvK)G98%`WC">
                                                      <field name="TEXT">Tjoar..dann eben nicht 🤷</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </statement>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </next>
        </block>
        <block type="procedures_defcustomnoreturn" id="m()l~;8~p9[=w2(I|U|k" x="288" y="-687">
          <mutation statements="false"></mutation>
          <field name="NAME">Telegram_Abfrage_Wäsche_aufgehängt</field>
          <field name="SCRIPT">Ly8gU2VuZGV0IGVpbiBCdXR0b24tTWVuw7wgw7xiZXIgZGVuIFRlbGVncmFtLUJvdA0KY29uc29sZS5sb2coJyoqKlRlbGVncmFtOiBXdXJkZSBkaWUgV8Okc2NoZSBhdWZnZWjDpG5ndD8nKTsNCnNlbmRUbygndGVsZWdyYW0uMCcsIHsNCiAgICB0ZXh0OiAiV3VyZGUgZGllIFfDpHNjaGUgYXVmZ2Vow6RuZ3Q/IiwNCiAgICByZXBseV9tYXJrdXA6IHsNCiAgICAgICAgaW5saW5lX2tleWJvYXJkOiBbDQogICAgICAgICAgICBbeyB0ZXh0OiAnSmEnLCBjYWxsYmFja19kYXRhOiAnV8Okc2NoZV9XdXJkZV9BdWZnZWjDpG5ndEphJyB9LHsgdGV4dDogJ05laW4nLCBjYWxsYmFja19kYXRhOiAnV8Okc2NoZV9XdXJkZV9BdWZnZWjDpG5ndE5laW4nIH1dLA0KICAgICAgICBdDQogICAgfQ0KfSk7</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
        </block>
        <block type="procedures_defcustomnoreturn" id="Qt[{0Ir(rV]7ah:NrW=S" x="288" y="-638">
          <mutation statements="false"></mutation>
          <field name="NAME">Telegram_Antwort_Wäsche_aufgehängt</field>
          <field name="SCRIPT">Ly8gTMO2c2NoZSBkaWUgQnV0dG9ucyBiZWkgYWxsZW4gVXNlcm4NCmNvbnNvbGUubG9nKCcqKipUZWxlZ3JhbTogRGllIFfDpHNjaGUgd3VyZGUgYXVmZ2Vow6RuZ3QhJyk7DQpzZW5kVG8oJ3RlbGVncmFtLjAnLCB7DQogICAgdGV4dDogJ0RpZSBXw6RzY2hlIHd1cmRlIGF1ZmdlaMOkbmd0IScsDQogICAgZWRpdE1lc3NhZ2VUZXh0OiB7DQogICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgIC8vSGllciBtw7xzc3RlbiBkaWUgendpc2NoZW5nZXNwZWljaGVydGVuIFdlcnRlIGRlciBDaGF0SUQgbWl0IHp1Z2Vow7ZyaWdlciBNc2dJRCBkcmluIHN0ZWhlbg0KICAgICAgICAgICAgY2hhdF9pZDogZ2V0U3RhdGUoInRlbGVncmFtLjAuY29tbXVuaWNhdGUucmVxdWVzdENoYXRJZCIpLnZhbCwNCiAgICAgICAgICAgIG1lc3NhZ2VfaWQ6IGdldFN0YXRlKCJ0ZWxlZ3JhbS4wLmNvbW11bmljYXRlLnJlcXVlc3RNZXNzYWdlSWQiKS52YWwNCiAgICAgICAgfQ0KICAgIH0NCn0pOw0KDQovL0RpZXNlciBrb21wbGV0dGUgVGVpbCBtdXNzIG1laHJmYWNoIGFiZ2VhcmJlaWV0IHdlcmRlbiAtIGpld2VpbHMgbWl0IGRlciBrb3JyZWt0ZW4gQ2hhdElEIHVuZCBNc2dJRCBkZXIgdmVyc2NoaWVkZW5lbiBVc2Vy</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
        </block>
        <block type="comment" id="Kb]?I+=1vw`XJkKs51`K" x="113" y="-563">
          <field name="COMMENT">Nur für Testzwecke</field>
          <next>
            <block type="on_ext" id="EqUQDx,#~_K}v303_W|h">
              <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <value name="OID0">
                <shadow type="field_oid" id="zVVBTh4/Ujr/eO.?j8@J">
                  <field name="oid">telegram.0.communicate.botSendChatId</field>
                </shadow>
              </value>
              <value name="OID1">
                <shadow type="field_oid" id="1fv?8@%d3(otkNku=-87">
                  <field name="oid">telegram.0.communicate.botSendMessageId</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="debug" id="g!))}yJgM?_n]mMO8mui">
                  <field name="Severity">log</field>
                  <value name="TEXT">
                    <shadow type="text">
                      <field name="TEXT">test</field>
                    </shadow>
                    <block type="text_join" id="@ftN/ju$Sy{-bw[]DdU(" inline="false">
                      <mutation items="2"></mutation>
                      <value name="ADD0">
                        <block type="text" id="}_-TyB}g`=tXj^RKaIoz">
                          <field name="TEXT">###***bot send chatID: </field>
                        </block>
                      </value>
                      <value name="ADD1">
                        <block type="get_value" id="@~1u31WeExN;lsU!Rq]u">
                          <field name="ATTR">val</field>
                          <field name="OID">telegram.0.communicate.botSendChatId</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="debug" id="Gn+3kn}QU-J3evIl`sK;">
                      <field name="Severity">log</field>
                      <value name="TEXT">
                        <shadow type="text">
                          <field name="TEXT">test</field>
                        </shadow>
                        <block type="text_join" id="R2LMc(9jl:W#/y*NITKR" inline="false">
                          <mutation items="2"></mutation>
                          <value name="ADD0">
                            <block type="text" id="?ft$fAoYisnrTu1t5o:S">
                              <field name="TEXT">###***bot send MsgID: </field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="get_value" id="6),y==.^q;9enhe-.]P)">
                              <field name="ATTR">val</field>
                              <field name="OID">telegram.0.communicate.botSendMessageId</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </next>
        </block>
      </xml>
      


      Beim Script-Start wird die Abfrage "Wurde die Wäsche aufgehängt" rausgeschickt

      Sobald der Bot eine Antwort bekommt (egal von wem) wird kontrolliert, ob diese für diesen Script relevant ist und wie es weiter geht.
      Wurde mit "Wäsche_Wurde_AufgehängtJa" über den Inline-Button in Telegram geantwortet (Also "Ja" gedrückt, wird der Javascript "Telegram_Antwort_Wäsche_aufgehängt" ausgeführt.

      Dieser korrigiert beim User, der auf Ja gedrückt hat die Frage "Wurde die Wäsche aufgehängt? Ja/Nein" zu "Wäsche wurde aufgehängt!"

      Weiterhin geht der Alert "Danke!" mit dem AnswewrCallbackQuery raus, welche den Button bestätigt.

      Wird "Nein" gedrückt, kommt hier im Beispiel nur die Nachricht "Tjoar..dann eben nicht" mit dem quittierenden AnswerCallbackQuery. Die Buttons bleiben weiterhin angezeigt.

      Anbei auch noch ein kleiner Screenshot der Log, welcher zeigt, dass MsgID und ChatID leider nicht zeitgleich aktualisiert werden:
      Screenshot 2021-03-14 15.47.16.png

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

        @foodfighter Im Telegram-Adapter bzw in der Instanz unter Nachrichten:

        72a36bce-0f11-46b2-b27f-9bbfbd78afe2-image.png
        damit erhält man:

        8aa07877-ce4e-4ff9-8ad8-e21194ba8347-image.png

        ein json zu jeder messageid. Die kannst du dann in einem eigenen Objekt speichern und verarbeiten.

        FoodFighter 1 Reply Last reply Reply Quote 1
        • FoodFighter
          FoodFighter @MCU last edited by

          @mcu danke für den Ansatz,
          aber wirklich weiter bringt mich der leider nicht.

          Ich muss ja zwischenspeichern, an welche ChatIDs und MessageIDs der Bot die Anfrage "Wurde die Wäsche aufgehängt?" raus geschickt hat (um dort im Nachhinein die ursprüngliche Anfrage durch "Wäsche wurde aufgehängt!" zu überschreiben).

          Im requestRaw-Objekt erhalte ich ja "nur" Daten der zuletzt empfangen Nachrich/Request.
          Alles was hierzu interessant ist, ist die ChatID und die MsgID für die direkte Antwort "Danke!" oder "Dann eben nicht" - die beiden IDs hat man bereits in eigenen Objekten.

          Vielleicht stehe ich auf dem Schlauch, aber ich glaube das hilft mir nicht weiter.

          Was jedoch helfen könnte wäre das Telegram-Objekt "users"...hier könnte man die Anzahl und Chat-IDs der Users raus parsen.

          Wenn man jetzt noch raus bekommt, ob die Reihenfolge der User-Abarbeitung immer die gleiche ist und dann auch noch der Reihenfolge der User im User-Objekt entspricht, könnte man sich kurz nach dem Absenden der Frage "Wurde Wäsche aufgehängt?" direkt die letzte MsgID des Bots in ein Objekt schreiben bzw. Merken.
          Wenn dann das Aufhängen der Wäsche von jemanden quittiert wird, könnte man mit dieser MsgID beim letzten User (ChatID) anfangen das MsgUpdate raus zu senden, so User für User abarbeiten und die MsgID jeweils -1 runter zählen (vorausgesetzt die ID erhöht sich bei jedem Absenden des Bots wirklich immer um exakt 1 pro User)
          ...das wäre wieder viel "könnte" und "sollte" ... dazu müsste man vermutlich den kompletten Telegram-Adapter auf github studieren und sich über dessen Gesetzmäßigkeiten schlau machen (oder kennt den exakten Ablauf beim Nachrichtenversand des Bots in Bezug auf Reihenfolge der User und Aufzählung der MsgIDs zufällig sogar jemand aus dem Stegreif?)

          N 1 Reply Last reply Reply Quote 0
          • N
            Nahasapee @FoodFighter last edited by Nahasapee

            @foodfighter ich glaub du machst es dir viel zu schwer statisch hin oder her.... der telegram adapter schickt wenn du keine user angibst pauschal eh an alle users ansonsten hat der adapter einen state users
            den kannst du abfragen mit

            getState('telegram.0.communicate.users'/).val;
            

            der enthält alle users den könntest du verwenden , wenn du da einen user nicht verwendet willst filterst du einen raus oder nimmst ne eigene liste mit der entsprechenden IDs an den du du senden möchtest
            zb.

            sendTo('telegram.0', {  text: "TestList",
              chatId: "UserID1"});
            

            Wenn du jetzt an alle User raus schreibst "wäsche aufhängen!"
            mit z.b.

            sendTo('telegram.0', {  text: "Wäsche abhängen"});
            

            und ein user antwortet "erledigt"
            dann guckst du wer "erledigt" geschrieben hat, dass steht im State des Adapters
            im Object : telegram.0.communicate.requestChatId
            diese ID nimmst du um zu antworten:

            let ID = getState('telegram.0.communicate.requestChatId').val;
            sendTo('telegram.0', {  text: "danke",
              chatId:ID});
            

            wenn du jetzt allen anderen user schreiben möchtest wurde abgehängt dann einfach die Liste der user filtern:

            const allUsers =JSON.parse( getState('telegram.0.communicate.users').val);
            const userIDs = Object.keys(allUsers);
            let lastID =  getState('telegram.0.communicate.requestChatId').val;
            const filterList = userIDs.filter((id) => id != lastID);
            filterList.forEach((id)=>{
            sendTo('telegram.0',
                { text:"wude aufgehängt",
                 chatId:id});
            });
            
            

            viele grüße

            FoodFighter 1 Reply Last reply Reply Quote 1
            • FoodFighter
              FoodFighter @Nahasapee last edited by FoodFighter

              @nahasapee
              Danke auch für deinen Ansatz.

              Ich versuche mich nochmal anders auszudrücken:

              Sobald einer die Wäsche aufgehängt und quittiert hat, möchte ich nicht eine neue Nachricht an alle schicken, ich will die bestehende Anfrage bearbeiten:

              sendTo('telegram.0', {
                  text: 'Die Wäsche wurde aufgehängt!',
                  editMessageText: {
                      options: {
                          chat_id: *ChatID von User1*,
                          message_id: *MsgID von Anfrage an User1*
                      }
                  }
              });
              

              ~ Wiederholen mit den ChatID + MsgID von User2 ~

              Damit das funktioniert, muss ich mir irgendwie merken, an welche ChatID die Anfrage "Wurde aufgehängt?" mit welcher MsgID raus ging.
              Im Screenshot vom ersten Beitrag war das
              ChatID ...5521 - MsgID 1295 und
              ChatID ...4560 - MsgID 1296

              Das heißt, dass folgender Script die Anfrage über den Bot an alle User raus schickt, bei jedem User (mit zugehöriger ChatID) aber eine andere MsgID hat!:

              sendTo('telegram.0', {
                  text: "Wurde die Wäsche aufgehängt?",
                  reply_markup: {
                      inline_keyboard: [
                          [{ text: 'Ja', callback_data: 'Wäsche_Wurde_AufgehängtJa' },{ text: 'Nein', callback_data: 'Wäsche_Wurde_AufgehängtNein' }],
                      ]
                  }
              });
              

              Irgendwie muss ich mir also zwischenspeichern, an welche ChatID die Nachricht "Wurde augfehängt?" welche MsgID hatte.

              In Telegram soll das also folgendermaßen aussehen:

              Schritt 1: Anfrage wird an alle gesendet:
              Screenshot 2021-03-14 15.42.00.png

              Schritt 2: Sobald EIN User Quittiert, soll aus der Anfrage bei ALLEN Usern die Nachricht der Anfrage zu "Wäsche wurde aufgehängt!" werden (Die Buttons sollen verschwinden, der Text soll sich ändern...es soll keine neue Nachricht im Chat erscheinen! (um den Chat aufgeräumt zu halten)...das wäre ja einfach 😁 ) :
              Screenshot 2021-03-14 15.42.20.png

              Leider ist es nicht so, dass die Abarbeitung der User eine feste Reihenfolge haben...
              Sobald die Frage "Wurde aufgehängt?" raus geht, bekommt teilweise User1 und teilweise User2 die "erste" MsgID
              (Bsp.
              Bot->User2: MsgID=1750
              Bot->User1: MsgID=1751
              ...beim Nächsten mal dann
              Bot->User1: MsgID=1752
              Bot->User2: MsgID=1753
              )

              Wenn wenigstens das gleich wäre, würde folgender Script schon funktionieren (vllt trägt der auch nochmal zum Verständnis meines Vorhabens bei):
              Screenshot 2021-03-15 17.38.09.png

              <xml xmlns="https://developers.google.com/blockly/xml">
                <variables>
                  <variable id="l/Hhs}-OqimAs![DYo.E">callbackquerytext</variable>
                  <variable id="@Ge$`9Uzwc7wh3bOp,|s">ChatID_Markus</variable>
                  <variable id="UjOxi^;`~CUn-}-P3@b,">ChatID_Johanna</variable>
                  <variable type="timeout" id="timeout">timeout</variable>
                  <variable id="tSZlb72TXQF59Ip}bblm">last_sender_name</variable>
                  <variable id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</variable>
                </variables>
                <block type="procedures_defcustomnoreturn" id="`qTJ-;y={AJ[sVdW~f1/" x="288" y="-738">
                  <mutation statements="false">
                    <arg name="callbackquerytext" varid="l/Hhs}-OqimAs![DYo.E"></arg>
                  </mutation>
                  <field name="NAME">answercallbackquerymittext</field>
                  <field name="SCRIPT">c2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIC8vY2hhdElkIGZ1bmt0aW9uaWVydCBuaWNodCAtIHN0YW5kIDAzLzIwMjENCiAgICAvL2NoYXRJZDogZ2V0U3RhdGUoInRlbGVncmFtLjEuY29tbXVuaWNhdGUucmVxdWVzdENoYXRJZCIpLnZhbCwNCiAgICB1c2VyOiBsYXN0X3NlbmRlcl9uYW1lLA0KICAgIGFuc3dlckNhbGxiYWNrUXVlcnk6IHsNCiAgICAgICAgdGV4dDogY2FsbGJhY2txdWVyeXRleHQsDQogICAgICAgIHNob3dBbGVydDogdHJ1ZSAvLyBPcHRpb25hbCBwYXJhbWV0ZXINCiAgICB9DQp9KTs=</field>
                  <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                </block>
                <block type="comment" id="l.5HJmvKSgDhA/k(8Nd#" x="913" y="-763">
                  <field name="COMMENT">Sende Nachricht bei Script-Start</field>
                  <next>
                    <block type="procedures_callcustomnoreturn" id="8~%wcY?B-a.zVb4v[S!%">
                      <mutation name="Telegram_Abfrage_Wäsche_aufgehängt"></mutation>
                      <next>
                        <block type="variables_set" id="@t{pxlyH:czXCd;~Z`Ma">
                          <field name="VAR" id="@Ge$`9Uzwc7wh3bOp,|s">ChatID_Markus</field>
                          <value name="VALUE">
                            <block type="math_number" id="v|y]y2EGL1KnMvxYcwB8">
                              <field name="NUM">4560</field>
                            </block>
                          </value>
                          <next>
                            <block type="variables_set" id="iN3z`25~U}EWqDOTM-}6">
                              <field name="VAR" id="UjOxi^;`~CUn-}-P3@b,">ChatID_Johanna</field>
                              <value name="VALUE">
                                <block type="math_number" id="_,;VGj8otq$H!F2-P|~F">
                                  <field name="NUM">5521</field>
                                </block>
                              </value>
                              <next>
                                <block type="timeouts_settimeout" id="o2AbY~WZhS3ZyRMoUL_6">
                                  <field name="NAME">timeout</field>
                                  <field name="DELAY">1500</field>
                                  <field name="UNIT">ms</field>
                                  <statement name="STATEMENT">
                                    <block type="control" id="%B8Tr6lvVk|Y:v4)}iix">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                      <field name="OID">0_userdata.0.Waschmaschine.WäscheAufgehängtLastBotSendMsgID</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="get_value" id="+s?KL2_-miQG9S$/}~`d">
                                          <field name="ATTR">val</field>
                                          <field name="OID">telegram.0.communicate.botSendMessageId</field>
                                        </block>
                                      </value>
                                    </block>
                                  </statement>
                                  <next>
                                    <block type="comment" id="|]aZ}%yY]V}BYG3N1v~p">
                                      <field name="COMMENT">Abarbeitung der Telegram-Requests</field>
                                      <next>
                                        <block type="on_ext" id="(v7Rvt%da+1+}1OIu5U;">
                                          <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="blC:9%UTQ2jY@Z#lx{@~">
                                              <field name="oid">telegram.0.communicate.request</field>
                                            </shadow>
                                          </value>
                                          <statement name="STATEMENT">
                                            <block type="comment" id="%Q7KMMnYYJxR(xO1cFuZ">
                                              <field name="COMMENT">Variablen verarbeiten</field>
                                              <next>
                                                <block type="variables_set" id="@05QF)c1s~CvvQSRNtAI" collapsed="true">
                                                  <field name="VAR" id="tSZlb72TXQF59Ip}bblm">last_sender_name</field>
                                                  <value name="VALUE">
                                                    <block type="text_getSubstring" id="JP^UEo5`~=)JxXGC+#w)" inline="false">
                                                      <mutation at1="true" at2="true"></mutation>
                                                      <field name="WHERE1">FROM_START</field>
                                                      <field name="WHERE2">FROM_START</field>
                                                      <value name="STRING">
                                                        <block type="on_source" id="byETLC8e~w]`;mXmqna!">
                                                          <field name="ATTR">state.val</field>
                                                        </block>
                                                      </value>
                                                      <value name="AT1">
                                                        <block type="math_number" id="}?Msw=(W[QvfHPSPXW![">
                                                          <field name="NUM">2</field>
                                                        </block>
                                                      </value>
                                                      <value name="AT2">
                                                        <block type="math_arithmetic" id="2Z8KU~r:/AnJS]Yes,td" inline="false">
                                                          <field name="OP">MINUS</field>
                                                          <value name="A">
                                                            <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                            <block type="text_indexOf" id="wCMjeY!P]5e%(C1sV:Ep">
                                                              <field name="END">FIRST</field>
                                                              <value name="VALUE">
                                                                <block type="on_source" id="WI2G7cig)r*D_0V|`E_b">
                                                                  <field name="ATTR">state.val</field>
                                                                </block>
                                                              </value>
                                                              <value name="FIND">
                                                                <shadow xmlns="http://www.w3.org/1999/xhtml" type="text">
                                                                  <field name="TEXT">abc</field>
                                                                </shadow>
                                                                <block type="text" id="2CQjCKzN5$pjdtvq]T7^">
                                                                  <field name="TEXT">]</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                            <block type="math_number" id="Re)p[9LE1hB?vJTO]YEU">
                                                              <field name="NUM">1</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="debug" id="_B6dl|IVt|VYXH(Mm=Zg" inline="true" collapsed="true">
                                                      <field name="Severity">log</field>
                                                      <value name="TEXT">
                                                        <shadow type="text">
                                                          <field name="TEXT">test</field>
                                                        </shadow>
                                                        <block type="text_join" id="EpwR$`2%0-`V4;m~{zPe" inline="true">
                                                          <mutation items="2"></mutation>
                                                          <value name="ADD0">
                                                            <block type="text" id="JMg%*Mp!M]5k|_;e=?U$">
                                                              <field name="TEXT">***last_sender_name: </field>
                                                            </block>
                                                          </value>
                                                          <value name="ADD1">
                                                            <block type="variables_get" id="l2%%t/#%DGqz(,1dJRF5">
                                                              <field name="VAR" id="tSZlb72TXQF59Ip}bblm">last_sender_name</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="variables_set" id="gVCtKgem;;f?9/.3!!7(" collapsed="true">
                                                          <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                                          <value name="VALUE">
                                                            <block type="text_getSubstring" id="i5eWSB[+aMfC#$e8Poh;" inline="false">
                                                              <mutation at1="true" at2="false"></mutation>
                                                              <field name="WHERE1">FROM_START</field>
                                                              <field name="WHERE2">LAST</field>
                                                              <value name="STRING">
                                                                <block type="on_source" id="x.S63u%:c%zb?9VXZK7l">
                                                                  <field name="ATTR">state.val</field>
                                                                </block>
                                                              </value>
                                                              <value name="AT1">
                                                                <block type="math_arithmetic" id="AJ~SAHp@;WP!9x2Ec)bp" inline="false">
                                                                  <field name="OP">ADD</field>
                                                                  <value name="A">
                                                                    <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                                                      <field name="NUM">1</field>
                                                                    </shadow>
                                                                    <block type="text_indexOf" id="d},vOvJ?$skVE@SaxrEp" inline="false">
                                                                      <field name="END">FIRST</field>
                                                                      <value name="VALUE">
                                                                        <block type="on_source" id="G1:,tnL1Me^FpPM,DRj{">
                                                                          <field name="ATTR">state.val</field>
                                                                        </block>
                                                                      </value>
                                                                      <value name="FIND">
                                                                        <shadow xmlns="http://www.w3.org/1999/xhtml" type="text">
                                                                          <field name="TEXT">abc</field>
                                                                        </shadow>
                                                                        <block type="text" id="ok)Zh69Ds4XsXpm:7!{!">
                                                                          <field name="TEXT">]</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <value name="B">
                                                                    <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                                                      <field name="NUM">1</field>
                                                                    </shadow>
                                                                    <block type="math_number" id="UOLiY%(e5NVj3-CkuqFY">
                                                                      <field name="NUM">1</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="debug" id="GJOcG8p0H9LEzoMU{A07" inline="true" collapsed="true">
                                                              <field name="Severity">log</field>
                                                              <value name="TEXT">
                                                                <shadow type="text">
                                                                  <field name="TEXT">test</field>
                                                                </shadow>
                                                                <block type="text_join" id="x3v??K^S*u{.EXX|Ea9r" inline="true">
                                                                  <mutation items="2"></mutation>
                                                                  <value name="ADD0">
                                                                    <block type="text" id="6%E~Mfe`m)UvGXwj2CQ{">
                                                                      <field name="TEXT">***last_received_request: </field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="ADD1">
                                                                    <block type="variables_get" id="AmX#Ajim8sF`e/wKxgYF">
                                                                      <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="comment" id=";;/H{UC!K`AccYBLrbaV">
                                                                  <field name="COMMENT">### Verarbeitung ###</field>
                                                                  <next>
                                                                    <block type="controls_if" id="`W9kjvMAvYe2l1lH4;}7">
                                                                      <mutation elseif="1"></mutation>
                                                                      <value name="IF0">
                                                                        <block type="logic_compare" id="/e$G{#tEL7c42?zJMfC)">
                                                                          <field name="OP">EQ</field>
                                                                          <value name="A">
                                                                            <block type="variables_get" id="K;___=jmMpr.Z|F7svO|">
                                                                              <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <block type="text" id="UEIRsAWNKBn~d^a3wi=|">
                                                                              <field name="TEXT">Wäsche_Wurde_AufgehängtJa</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO0">
                                                                        <block type="procedures_callcustomnoreturn" id="V0fEr,CAW0xVJ7-%9UbQ">
                                                                          <mutation name="Telegram_Antwort_Wäsche_aufgehängt"></mutation>
                                                                          <next>
                                                                            <block type="procedures_callcustomnoreturn" id="iA;,Ns.DTMU*_GPnh]N+">
                                                                              <mutation name="answercallbackquerymittext">
                                                                                <arg name="callbackquerytext"></arg>
                                                                              </mutation>
                                                                              <value name="ARG0">
                                                                                <block type="text" id="d983t4(7APF?R}0Qah4b">
                                                                                  <field name="TEXT">Sehr schön! 😊</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </next>
                                                                        </block>
                                                                      </statement>
                                                                      <value name="IF1">
                                                                        <block type="logic_compare" id="y#x@)wrX,@?KxjQ7b.-N">
                                                                          <field name="OP">EQ</field>
                                                                          <value name="A">
                                                                            <block type="variables_get" id="{g;.+Nn=2wZyLb#vZn_p">
                                                                              <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="B">
                                                                            <block type="text" id="IUO~}-[q/yo^R0HDz(|,">
                                                                              <field name="TEXT">Wäsche_Wurde_AufgehängtNein</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <statement name="DO1">
                                                                        <block type="procedures_callcustomnoreturn" id="=+Vc/kRL{O*qs/Bd_f@z">
                                                                          <mutation name="answercallbackquerymittext">
                                                                            <arg name="callbackquerytext"></arg>
                                                                          </mutation>
                                                                          <value name="ARG0">
                                                                            <block type="text" id="`C2fGg|`dMvK)G98%`WC">
                                                                              <field name="TEXT">Tjoar..dann eben nicht 🤷</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </statement>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </statement>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
                <block type="procedures_defcustomnoreturn" id="m()l~;8~p9[=w2(I|U|k" x="288" y="-687">
                  <mutation statements="false"></mutation>
                  <field name="NAME">Telegram_Abfrage_Wäsche_aufgehängt</field>
                  <field name="SCRIPT">Ly8gU2VuZGV0IGVpbiBCdXR0b24tTWVuw7wgw7xiZXIgZGVuIFRlbGVncmFtLUJvdA0KY29uc29sZS5sb2coJyoqKlRlbGVncmFtOiBXdXJkZSBkaWUgV8Okc2NoZSBhdWZnZWjDpG5ndD8nKTsNCnNlbmRUbygndGVsZWdyYW0uMCcsIHsNCiAgICB0ZXh0OiAiV3VyZGUgZGllIFfDpHNjaGUgYXVmZ2Vow6RuZ3Q/IiwNCiAgICByZXBseV9tYXJrdXA6IHsNCiAgICAgICAgaW5saW5lX2tleWJvYXJkOiBbDQogICAgICAgICAgICBbeyB0ZXh0OiAnSmEnLCBjYWxsYmFja19kYXRhOiAnV8Okc2NoZV9XdXJkZV9BdWZnZWjDpG5ndEphJyB9LHsgdGV4dDogJ05laW4nLCBjYWxsYmFja19kYXRhOiAnV8Okc2NoZV9XdXJkZV9BdWZnZWjDpG5ndE5laW4nIH1dLA0KICAgICAgICBdDQogICAgfQ0KfSk7</field>
                  <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                </block>
                <block type="procedures_defcustomnoreturn" id="Qt[{0Ir(rV]7ah:NrW=S" x="288" y="-638">
                  <mutation statements="false"></mutation>
                  <field name="NAME">Telegram_Antwort_Wäsche_aufgehängt</field>
                  <field name="SCRIPT">Ly8gTMO2c2NoZSBkaWUgQnV0dG9ucyBiZWkgYWxsZW4gVXNlcm4NCmNvbnNvbGUubG9nKCcqKipUZWxlZ3JhbTogRGllIFfDpHNjaGUgd3VyZGUgYXVmZ2Vow6RuZ3QhJyk7DQoNCi8vIFp1ZXJzdCBiZWkgSm9oYW5uYQ0Kc2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIHRleHQ6ICdEaWUgV8Okc2NoZSB3dXJkZSBhdWZnZWjDpG5ndCEnLA0KICAgIGVkaXRNZXNzYWdlVGV4dDogew0KICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICBjaGF0X2lkOiBDaGF0SURfSm9oYW5uYSwNCiAgICAgICAgICAgIG1lc3NhZ2VfaWQ6IGdldFN0YXRlKCIwX3VzZXJkYXRhLjAuV2FzY2htYXNjaGluZS5Xw6RzY2hlQXVmZ2Vow6RuZ3RMYXN0Qm90U2VuZE1zZ0lEIikudmFsDQogICAgICAgIH0NCiAgICB9DQp9KTsNCg0KLy8gRGFubiBiZWkgTWFya3VzDQpzZW5kVG8oJ3RlbGVncmFtLjAnLCB7DQogICAgdGV4dDogJ0RpZSBXw6RzY2hlIHd1cmRlIGF1ZmdlaMOkbmd0IScsDQogICAgZWRpdE1lc3NhZ2VUZXh0OiB7DQogICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgIGNoYXRfaWQ6IENoYXRJRF9NYXJrdXMsDQogICAgICAgICAgICBtZXNzYWdlX2lkOiBnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLldhc2NobWFzY2hpbmUuV8Okc2NoZUF1ZmdlaMOkbmd0TGFzdEJvdFNlbmRNc2dJRCIpLnZhbCAtIDENCiAgICAgICAgfQ0KICAgIH0NCn0pOw0K</field>
                  <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                </block>
              </xml>
              

              Interessant ist da hauptsächlich die Antwort:

              // Lösche die Buttons bei allen Usern
              console.log('***Telegram: Die Wäsche wurde aufgehängt!');
              
              // Zuerst bei Johanna
              sendTo('telegram.0', {
                  text: 'Die Wäsche wurde aufgehängt!',
                  editMessageText: {
                      options: {
                          chat_id: ChatID_Johanna,
                          message_id: getState("0_userdata.0.Waschmaschine.WäscheAufgehängtLastBotSendMsgID").val
                      }
                  }
              });
              
              // Dann bei Markus
              sendTo('telegram.0', {
                  text: 'Die Wäsche wurde aufgehängt!',
                  editMessageText: {
                      options: {
                          chat_id: ChatID_Markus,
                          message_id: getState("0_userdata.0.Waschmaschine.WäscheAufgehängtLastBotSendMsgID").val - 1
                      }
                  }
              });
              

              Die beiden ChatIDs sind statisch hinterlegt und die letzte MsgID auf die der Bot gesendet hat, wird in ein Objekt gespeichert, 1,5s nachdem die Frage raus geht.
              Ich hatte die Hoffnung, dass die Abarbeitungsreihenfolge der User immer identisch ist -> in dem Beispiel Markus also immer die erste und Johanna die letzte MsgID vom Bot bekommt
              Dem ist leider nicht so - die Riehenfolge variiert.

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

                @foodfighter Wenn du jedem User die Nachricht einzeln und mit einer Zeitverzögerung schickst, gibst du doch selber die Reihenfolge vor?

                FoodFighter 1 Reply Last reply Reply Quote 1
                • FoodFighter
                  FoodFighter @MCU last edited by

                  @mcu
                  Jawoll....manchmal sieht man den Wald wirklich nicht mehr 🤦‍♂️

                  Mir kam die gleiche Idee auch gerade.

                  So funktioniert alles:
                  Screenshot 2021-03-15 18.31.08.png

                  <xml xmlns="https://developers.google.com/blockly/xml">
                    <variables>
                      <variable id="l/Hhs}-OqimAs![DYo.E">callbackquerytext</variable>
                      <variable id="@Ge$`9Uzwc7wh3bOp,|s">ChatID_Markus</variable>
                      <variable id="UjOxi^;`~CUn-}-P3@b,">ChatID_Johanna</variable>
                      <variable type="timeout" id="timeout">timeout</variable>
                      <variable type="timeout" id="timeout2">timeout2</variable>
                      <variable id="tSZlb72TXQF59Ip}bblm">last_sender_name</variable>
                      <variable id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</variable>
                    </variables>
                    <block type="procedures_defcustomnoreturn" id="`qTJ-;y={AJ[sVdW~f1/" x="288" y="-738">
                      <mutation statements="false">
                        <arg name="callbackquerytext" varid="l/Hhs}-OqimAs![DYo.E"></arg>
                      </mutation>
                      <field name="NAME">answercallbackquerymittext</field>
                      <field name="SCRIPT">c2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIC8vY2hhdElkIGZ1bmt0aW9uaWVydCBuaWNodCAtIHN0YW5kIDAzLzIwMjENCiAgICAvL2NoYXRJZDogZ2V0U3RhdGUoInRlbGVncmFtLjEuY29tbXVuaWNhdGUucmVxdWVzdENoYXRJZCIpLnZhbCwNCiAgICB1c2VyOiBsYXN0X3NlbmRlcl9uYW1lLA0KICAgIGFuc3dlckNhbGxiYWNrUXVlcnk6IHsNCiAgICAgICAgdGV4dDogY2FsbGJhY2txdWVyeXRleHQsDQogICAgICAgIHNob3dBbGVydDogdHJ1ZSAvLyBPcHRpb25hbCBwYXJhbWV0ZXINCiAgICB9DQp9KTs=</field>
                      <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                    </block>
                    <block type="comment" id="l.5HJmvKSgDhA/k(8Nd#" x="913" y="-763">
                      <field name="COMMENT">Sende Nachricht bei Script-Start</field>
                      <next>
                        <block type="variables_set" id="@t{pxlyH:czXCd;~Z`Ma">
                          <field name="VAR" id="@Ge$`9Uzwc7wh3bOp,|s">ChatID_Markus</field>
                          <value name="VALUE">
                            <block type="math_number" id="v|y]y2EGL1KnMvxYcwB8">
                              <field name="NUM">***4560</field>
                            </block>
                          </value>
                          <next>
                            <block type="variables_set" id="iN3z`25~U}EWqDOTM-}6">
                              <field name="VAR" id="UjOxi^;`~CUn-}-P3@b,">ChatID_Johanna</field>
                              <value name="VALUE">
                                <block type="math_number" id="_,;VGj8otq$H!F2-P|~F">
                                  <field name="NUM">***5521</field>
                                </block>
                              </value>
                              <next>
                                <block type="procedures_callcustomnoreturn" id="8~%wcY?B-a.zVb4v[S!%">
                                  <mutation name="Telegram_Abfrage_Markus_Wäsche_aufgehängt"></mutation>
                                  <next>
                                    <block type="timeouts_settimeout" id="o2AbY~WZhS3ZyRMoUL_6">
                                      <field name="NAME">timeout</field>
                                      <field name="DELAY">500</field>
                                      <field name="UNIT">ms</field>
                                      <statement name="STATEMENT">
                                        <block type="control" id="%B8Tr6lvVk|Y:v4)}iix">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                          <field name="OID">0_userdata.0.Waschmaschine.WäscheAufgehängtLastBotSendMsgIDToMarkus</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="get_value" id="+s?KL2_-miQG9S$/}~`d">
                                              <field name="ATTR">val</field>
                                              <field name="OID">telegram.0.communicate.botSendMessageId</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="procedures_callcustomnoreturn" id="{yX1vaY/(n;ylP$w*H-p">
                                              <mutation name="Telegram_Abfrage_Johanna_Wäsche_aufgehängt"></mutation>
                                              <next>
                                                <block type="timeouts_settimeout" id="im$4/bNRAHOBfbF|*9EB">
                                                  <field name="NAME">timeout2</field>
                                                  <field name="DELAY">500</field>
                                                  <field name="UNIT">ms</field>
                                                  <statement name="STATEMENT">
                                                    <block type="control" id="3yPljD9h5,J/7jDzhwFq">
                                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                      <field name="OID">0_userdata.0.Waschmaschine.WäscheAufgehängtLastBotSendMsgIDToJohanna</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="get_value" id="X18Sgs0-%F[dbOh@mxyt">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">telegram.0.communicate.botSendMessageId</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </statement>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                      <next>
                                        <block type="comment" id="|]aZ}%yY]V}BYG3N1v~p">
                                          <field name="COMMENT">Abarbeitung der Telegram-Requests</field>
                                          <next>
                                            <block type="on_ext" id="(v7Rvt%da+1+}1OIu5U;">
                                              <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="blC:9%UTQ2jY@Z#lx{@~">
                                                  <field name="oid">telegram.0.communicate.request</field>
                                                </shadow>
                                              </value>
                                              <statement name="STATEMENT">
                                                <block type="comment" id="%Q7KMMnYYJxR(xO1cFuZ">
                                                  <field name="COMMENT">Variablen verarbeiten</field>
                                                  <next>
                                                    <block type="variables_set" id="@05QF)c1s~CvvQSRNtAI" collapsed="true">
                                                      <field name="VAR" id="tSZlb72TXQF59Ip}bblm">last_sender_name</field>
                                                      <value name="VALUE">
                                                        <block type="text_getSubstring" id="JP^UEo5`~=)JxXGC+#w)" inline="false">
                                                          <mutation at1="true" at2="true"></mutation>
                                                          <field name="WHERE1">FROM_START</field>
                                                          <field name="WHERE2">FROM_START</field>
                                                          <value name="STRING">
                                                            <block type="on_source" id="byETLC8e~w]`;mXmqna!">
                                                              <field name="ATTR">state.val</field>
                                                            </block>
                                                          </value>
                                                          <value name="AT1">
                                                            <block type="math_number" id="}?Msw=(W[QvfHPSPXW![">
                                                              <field name="NUM">2</field>
                                                            </block>
                                                          </value>
                                                          <value name="AT2">
                                                            <block type="math_arithmetic" id="2Z8KU~r:/AnJS]Yes,td" inline="false">
                                                              <field name="OP">MINUS</field>
                                                              <value name="A">
                                                                <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="text_indexOf" id="wCMjeY!P]5e%(C1sV:Ep">
                                                                  <field name="END">FIRST</field>
                                                                  <value name="VALUE">
                                                                    <block type="on_source" id="WI2G7cig)r*D_0V|`E_b">
                                                                      <field name="ATTR">state.val</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="FIND">
                                                                    <shadow xmlns="http://www.w3.org/1999/xhtml" type="text">
                                                                      <field name="TEXT">abc</field>
                                                                    </shadow>
                                                                    <block type="text" id="2CQjCKzN5$pjdtvq]T7^">
                                                                      <field name="TEXT">]</field>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <value name="B">
                                                                <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                                                  <field name="NUM">1</field>
                                                                </shadow>
                                                                <block type="math_number" id="Re)p[9LE1hB?vJTO]YEU">
                                                                  <field name="NUM">1</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <next>
                                                        <block type="debug" id="_B6dl|IVt|VYXH(Mm=Zg" inline="true" collapsed="true">
                                                          <field name="Severity">log</field>
                                                          <value name="TEXT">
                                                            <shadow type="text">
                                                              <field name="TEXT">test</field>
                                                            </shadow>
                                                            <block type="text_join" id="EpwR$`2%0-`V4;m~{zPe" inline="true">
                                                              <mutation items="2"></mutation>
                                                              <value name="ADD0">
                                                                <block type="text" id="JMg%*Mp!M]5k|_;e=?U$">
                                                                  <field name="TEXT">***last_sender_name: </field>
                                                                </block>
                                                              </value>
                                                              <value name="ADD1">
                                                                <block type="variables_get" id="l2%%t/#%DGqz(,1dJRF5">
                                                                  <field name="VAR" id="tSZlb72TXQF59Ip}bblm">last_sender_name</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <next>
                                                            <block type="variables_set" id="gVCtKgem;;f?9/.3!!7(" collapsed="true">
                                                              <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                                              <value name="VALUE">
                                                                <block type="text_getSubstring" id="i5eWSB[+aMfC#$e8Poh;" inline="false">
                                                                  <mutation at1="true" at2="false"></mutation>
                                                                  <field name="WHERE1">FROM_START</field>
                                                                  <field name="WHERE2">LAST</field>
                                                                  <value name="STRING">
                                                                    <block type="on_source" id="x.S63u%:c%zb?9VXZK7l">
                                                                      <field name="ATTR">state.val</field>
                                                                    </block>
                                                                  </value>
                                                                  <value name="AT1">
                                                                    <block type="math_arithmetic" id="AJ~SAHp@;WP!9x2Ec)bp" inline="false">
                                                                      <field name="OP">ADD</field>
                                                                      <value name="A">
                                                                        <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                                                          <field name="NUM">1</field>
                                                                        </shadow>
                                                                        <block type="text_indexOf" id="d},vOvJ?$skVE@SaxrEp" inline="false">
                                                                          <field name="END">FIRST</field>
                                                                          <value name="VALUE">
                                                                            <block type="on_source" id="G1:,tnL1Me^FpPM,DRj{">
                                                                              <field name="ATTR">state.val</field>
                                                                            </block>
                                                                          </value>
                                                                          <value name="FIND">
                                                                            <shadow xmlns="http://www.w3.org/1999/xhtml" type="text">
                                                                              <field name="TEXT">abc</field>
                                                                            </shadow>
                                                                            <block type="text" id="ok)Zh69Ds4XsXpm:7!{!">
                                                                              <field name="TEXT">]</field>
                                                                            </block>
                                                                          </value>
                                                                        </block>
                                                                      </value>
                                                                      <value name="B">
                                                                        <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number">
                                                                          <field name="NUM">1</field>
                                                                        </shadow>
                                                                        <block type="math_number" id="UOLiY%(e5NVj3-CkuqFY">
                                                                          <field name="NUM">1</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                </block>
                                                              </value>
                                                              <next>
                                                                <block type="debug" id="GJOcG8p0H9LEzoMU{A07" inline="true" collapsed="true">
                                                                  <field name="Severity">log</field>
                                                                  <value name="TEXT">
                                                                    <shadow type="text">
                                                                      <field name="TEXT">test</field>
                                                                    </shadow>
                                                                    <block type="text_join" id="x3v??K^S*u{.EXX|Ea9r" inline="true">
                                                                      <mutation items="2"></mutation>
                                                                      <value name="ADD0">
                                                                        <block type="text" id="6%E~Mfe`m)UvGXwj2CQ{">
                                                                          <field name="TEXT">***last_received_request: </field>
                                                                        </block>
                                                                      </value>
                                                                      <value name="ADD1">
                                                                        <block type="variables_get" id="AmX#Ajim8sF`e/wKxgYF">
                                                                          <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                                                        </block>
                                                                      </value>
                                                                    </block>
                                                                  </value>
                                                                  <next>
                                                                    <block type="comment" id=";;/H{UC!K`AccYBLrbaV">
                                                                      <field name="COMMENT">### Verarbeitung ###</field>
                                                                      <next>
                                                                        <block type="controls_if" id="`W9kjvMAvYe2l1lH4;}7">
                                                                          <mutation elseif="1"></mutation>
                                                                          <value name="IF0">
                                                                            <block type="logic_compare" id="/e$G{#tEL7c42?zJMfC)">
                                                                              <field name="OP">EQ</field>
                                                                              <value name="A">
                                                                                <block type="variables_get" id="K;___=jmMpr.Z|F7svO|">
                                                                                  <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                                                                </block>
                                                                              </value>
                                                                              <value name="B">
                                                                                <block type="text" id="UEIRsAWNKBn~d^a3wi=|">
                                                                                  <field name="TEXT">Wäsche_Wurde_AufgehängtJa</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                          <statement name="DO0">
                                                                            <block type="procedures_callcustomnoreturn" id="V0fEr,CAW0xVJ7-%9UbQ">
                                                                              <mutation name="Telegram_Antwort_Wäsche_aufgehängt"></mutation>
                                                                              <next>
                                                                                <block type="procedures_callcustomnoreturn" id="iA;,Ns.DTMU*_GPnh]N+">
                                                                                  <mutation name="answercallbackquerymittext">
                                                                                    <arg name="callbackquerytext"></arg>
                                                                                  </mutation>
                                                                                  <value name="ARG0">
                                                                                    <block type="text" id="d983t4(7APF?R}0Qah4b">
                                                                                      <field name="TEXT">Sehr schön! 😊</field>
                                                                                    </block>
                                                                                  </value>
                                                                                </block>
                                                                              </next>
                                                                            </block>
                                                                          </statement>
                                                                          <value name="IF1">
                                                                            <block type="logic_compare" id="y#x@)wrX,@?KxjQ7b.-N">
                                                                              <field name="OP">EQ</field>
                                                                              <value name="A">
                                                                                <block type="variables_get" id="{g;.+Nn=2wZyLb#vZn_p">
                                                                                  <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field>
                                                                                </block>
                                                                              </value>
                                                                              <value name="B">
                                                                                <block type="text" id="IUO~}-[q/yo^R0HDz(|,">
                                                                                  <field name="TEXT">Wäsche_Wurde_AufgehängtNein</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </value>
                                                                          <statement name="DO1">
                                                                            <block type="procedures_callcustomnoreturn" id="=+Vc/kRL{O*qs/Bd_f@z">
                                                                              <mutation name="answercallbackquerymittext">
                                                                                <arg name="callbackquerytext"></arg>
                                                                              </mutation>
                                                                              <value name="ARG0">
                                                                                <block type="text" id="`C2fGg|`dMvK)G98%`WC">
                                                                                  <field name="TEXT">Tjoar..dann eben nicht 🤷</field>
                                                                                </block>
                                                                              </value>
                                                                            </block>
                                                                          </statement>
                                                                        </block>
                                                                      </next>
                                                                    </block>
                                                                  </next>
                                                                </block>
                                                              </next>
                                                            </block>
                                                          </next>
                                                        </block>
                                                      </next>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                    <block type="procedures_defcustomnoreturn" id="m()l~;8~p9[=w2(I|U|k" x="288" y="-687">
                      <mutation statements="false"></mutation>
                      <field name="NAME">Telegram_Abfrage_Markus_Wäsche_aufgehängt</field>
                      <field name="SCRIPT">Ly8gU2VuZGV0IGVpbiBCdXR0b24tTWVuw7wgw7xiZXIgZGVuIFRlbGVncmFtLUJvdA0KY29uc29sZS5sb2coJyoqKlRlbGVncmFtOiBXdXJkZSBkaWUgV8Okc2NoZSBhdWZnZWjDpG5ndD8nKTsNCnNlbmRUbygndGVsZWdyYW0uMCcsIHsNCiAgICBjaGF0SWQ6IENoYXRJRF9NYXJrdXMsDQogICAgdGV4dDogIld1cmRlIGRpZSBXw6RzY2hlIGF1ZmdlaMOkbmd0PyIsDQogICAgcmVwbHlfbWFya3VwOiB7DQogICAgICAgIGlubGluZV9rZXlib2FyZDogWw0KICAgICAgICAgICAgW3sgdGV4dDogJ0phJywgY2FsbGJhY2tfZGF0YTogJ1fDpHNjaGVfV3VyZGVfQXVmZ2Vow6RuZ3RKYScgfSx7IHRleHQ6ICdOZWluJywgY2FsbGJhY2tfZGF0YTogJ1fDpHNjaGVfV3VyZGVfQXVmZ2Vow6RuZ3ROZWluJyB9XSwNCiAgICAgICAgXQ0KICAgIH0NCn0pOw==</field>
                      <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                    </block>
                    <block type="procedures_defcustomnoreturn" id="D)k`HZIn/HRvQ/*G(4_~" x="288" y="-663">
                      <mutation statements="false"></mutation>
                      <field name="NAME">Telegram_Abfrage_Johanna_Wäsche_aufgehängt</field>
                      <field name="SCRIPT">Ly8gU2VuZGV0IGVpbiBCdXR0b24tTWVuw7wgw7xiZXIgZGVuIFRlbGVncmFtLUJvdA0KY29uc29sZS5sb2coJyoqKlRlbGVncmFtOiBXdXJkZSBkaWUgV8Okc2NoZSBhdWZnZWjDpG5ndD8nKTsNCnNlbmRUbygndGVsZWdyYW0uMCcsIHsNCiAgICBjaGF0SWQ6IENoYXRJRF9Kb2hhbm5hLA0KICAgIHRleHQ6ICJXdXJkZSBkaWUgV8Okc2NoZSBhdWZnZWjDpG5ndD8iLA0KICAgIHJlcGx5X21hcmt1cDogew0KICAgICAgICBpbmxpbmVfa2V5Ym9hcmQ6IFsNCiAgICAgICAgICAgIFt7IHRleHQ6ICdKYScsIGNhbGxiYWNrX2RhdGE6ICdXw6RzY2hlX1d1cmRlX0F1ZmdlaMOkbmd0SmEnIH0seyB0ZXh0OiAnTmVpbicsIGNhbGxiYWNrX2RhdGE6ICdXw6RzY2hlX1d1cmRlX0F1ZmdlaMOkbmd0TmVpbicgfV0sDQogICAgICAgIF0NCiAgICB9DQp9KTs=</field>
                      <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                    </block>
                    <block type="procedures_defcustomnoreturn" id="Qt[{0Ir(rV]7ah:NrW=S" x="288" y="-613">
                      <mutation statements="false"></mutation>
                      <field name="NAME">Telegram_Antwort_Wäsche_aufgehängt</field>
                      <field name="SCRIPT">Ly8gTMO2c2NoZSBkaWUgQnV0dG9ucyBiZWkgYWxsZW4gVXNlcm4NCmNvbnNvbGUubG9nKCcqKipUZWxlZ3JhbTogRGllIFfDpHNjaGUgd3VyZGUgYXVmZ2Vow6RuZ3QhJyk7DQoNCi8vIFp1ZXJzdCBiZWkgTWFya3VzDQpzZW5kVG8oJ3RlbGVncmFtLjAnLCB7DQogICAgdGV4dDogJ0RpZSBXw6RzY2hlIHd1cmRlIGF1ZmdlaMOkbmd0IScsDQogICAgZWRpdE1lc3NhZ2VUZXh0OiB7DQogICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgIGNoYXRfaWQ6IENoYXRJRF9NYXJrdXMsDQogICAgICAgICAgICBtZXNzYWdlX2lkOiBnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLldhc2NobWFzY2hpbmUuV8Okc2NoZUF1ZmdlaMOkbmd0TGFzdEJvdFNlbmRNc2dJRFRvTWFya3VzIikudmFsDQogICAgICAgIH0NCiAgICB9DQp9KTsNCg0KLy8gRGFubiBiZWkgSm9oYW5uYQ0Kc2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIHRleHQ6ICdEaWUgV8Okc2NoZSB3dXJkZSBhdWZnZWjDpG5ndCEnLA0KICAgIGVkaXRNZXNzYWdlVGV4dDogew0KICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICBjaGF0X2lkOiBDaGF0SURfSm9oYW5uYSwNCiAgICAgICAgICAgIG1lc3NhZ2VfaWQ6IGdldFN0YXRlKCIwX3VzZXJkYXRhLjAuV2FzY2htYXNjaGluZS5Xw6RzY2hlQXVmZ2Vow6RuZ3RMYXN0Qm90U2VuZE1zZ0lEVG9Kb2hhbm5hIikudmFsDQogICAgICAgIH0NCiAgICB9DQp9KTsNCg==</field>
                      <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                    </block>
                  </xml>
                  

                  Nicht sonderlich "schön" gelöst, aber funktioniert.

                  Vielen Dank für eure Hilfe!

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  556
                  Online

                  31.7k
                  Users

                  79.8k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  505
                  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