NEWS
Telegram in blockly verarbeiten WAN IP abfragen
-
Moin, ich möchte per Telegram an iobroker eine Nachricht senden z.B. "ip" und dann soll folgendes script "ip=$(curl -s https://api.ipify.org) echo "$ip" ausgeführt werden und wieder per telegram versendet werden. Ich scheitere aber schon daran welchen Baustein ich benutzen soll um überhaupt eingehende Telegram Nachrichten zu verarbeiten. Z.b. Text "Lampe" Lampe geht an. Im Inet finde ich nur völlig aufgeblähte Scripte blicke nicht durch 😞 ist vermutlich eine ganz einfache Sache
-
Hier ein kleines Blockly zum Testen.
(Anstelle des Debug musst du nur deine Steuerung einbauen)

<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="nk#tns0J]0y=~-@(pk;a">User</variable> <variable id="AB*IO*|wr||-/wo4+RC5">Nachricht</variable> <variable id="b?,ZBkayTNP~tltUyD5.">Rueckmeldung</variable> </variables> <block type="on_ext" id="qfP:k+w61)k^~,b~={c-" x="57338" y="59013"> <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="T`gNaN=OC?#]-GILkho2"> <field name="oid">telegram.0.communicate.request</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="YJCeSPOm2Jog@]T.}(vu"> <field name="VAR" id="nk#tns0J]0y=~-@(pk;a">User</field> <value name="VALUE"> <block type="text_getSubstring" id="M7CFM~a1MSK!}j=463^{" 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="QO]s;NI)h*:WYty{FkAF"> <field name="ATTR">state.val</field> </block> </value> <value name="AT1"> <block type="math_number" id="{B(W=[_@3]pzK6aPv`:G"> <field name="NUM">2</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id=".zSo4d?:0^-9eb!w+NWp" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="vxfm7`5Kr(Pke?`_@l!i"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="5VVDKItWzv(-?hQ+1s}}"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="l`^m[HIb`i%oCr6k$Boj"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="f)O#:h]ID:u[L=F+peRU"> <field name="TEXT">abc</field> </shadow> <block type="text" id="+:)[u/6O*{D0,3^:zm;{"> <field name="TEXT">]</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="iJ7ezmTz/gc?rqcM+M|."> <field name="NUM">1</field> </shadow> <block type="math_number" id="*w;q+#R_c!~Xr37Zk*81"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="!b~CxG!Zh$#A@,(w~V##"> <field name="VAR" id="AB*IO*|wr||-/wo4+RC5">Nachricht</field> <value name="VALUE"> <block type="text_getSubstring" id=")r8aspAp^G1nXlO%pbwX" 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="%G1R:}t,_b_U|OYEgZmh"> <field name="ATTR">state.val</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id=")f:LHsw}OJ`a9u]l-haW" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="X-;]}%#K/CtR|.=o,z3S"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="Z(LNRqSJ9qENkr|feUB4"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="1eL8oAvq.@7|S_1V)WXV"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow type="text" id="[aPgT-LPUC09n*s52zd*"> <field name="TEXT">abc</field> </shadow> <block type="text" id="_]%psv4ImnK!l;#h.}?T"> <field name="TEXT">]</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="iZO1Q5=#y9;J_6,I4v,N"> <field name="NUM">1</field> </shadow> <block type="math_number" id="Q(X9s}UDjO[=`.5C!LH:"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id="n1`HH!Zne+6o/SHcg,bS"> <field name="VAR" id="b?,ZBkayTNP~tltUyD5.">Rueckmeldung</field> <value name="VALUE"> <block type="text" id="as0L~12[JSO-2]4`5N#P"> <field name="TEXT"></field> </block> </value> <next> <block type="comment" id="N?e}z9x:x^|`/1IDG)y/"> <field name="COMMENT">Tee</field> <next> <block type="logic_switch_case" id="#=PG(/,2Q)HCNt(47IyC"> <value name="CONDITION"> <block type="variables_get" id="`8;wQalLxCp.?+s(1N!}"> <field name="VAR" id="AB*IO*|wr||-/wo4+RC5">Nachricht</field> </block> </value> <value name="CASECONDITION0"> <block type="text" id="TT`)WlVkwvBoOO%B;GqP"> <field name="TEXT">tee</field> </block> </value> <statement name="CASE0"> <block type="debug" id="#jTn^CrGYG+oK,sF0-s("> <field name="Severity">error</field> <value name="TEXT"> <shadow type="text" id="b(P2C#{ga,r_p6JhR.UY"> <field name="TEXT">test</field> </shadow> <block type="text" id="cH,207s2c;6vpemkWX!r"> <field name="TEXT">Ich schalte die Tee-Maschine ein</field> </block> </value> <next> <block type="control" id="z{NX(!-9H]^(QJO?Gh7A" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alias.0.Erdgeschoss.Küche.Teemaschine.AN</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="}5akS+|Ox}w`Vdya8AGL"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="variables_set" id="fHQt{V~2@3P)Ls5vSR^t"> <field name="VAR" id="b?,ZBkayTNP~tltUyD5.">Rueckmeldung</field> <value name="VALUE"> <block type="text" id="sL5t_xTW3)TeoA6c=I%G"> <field name="TEXT">Ich schalte die Tee-Maschine ein</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="Q=Bw6Jx|NzNowCJHyb@N"> <field name="COMMENT">Rückmeldung</field> <next> <block type="controls_if" id="b%GeaS,qm=z%9#^t8H5E"> <value name="IF0"> <block type="logic_compare" id="|b9%Q@EA2~F,[nV5ggz{"> <field name="OP">NEQ</field> <value name="A"> <block type="variables_get" id="BVzPvxiw~@zaTeHm$O2l"> <field name="VAR" id="b?,ZBkayTNP~tltUyD5.">Rueckmeldung</field> </block> </value> <value name="B"> <block type="text" id="He|=~G-i_X]@Q~ybtHLZ"> <field name="TEXT"></field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="rQ9^SJbgwx{mo;[|Fm$T"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="ESCAPING">FALSE</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow type="text" id="_jk25[T3LclmD3WT}Iy|"> <field name="TEXT">text</field> </shadow> <block type="variables_get" id="rkMC#=zXfz1Nun(`Evuy"> <field name="VAR" id="b?,ZBkayTNP~tltUyD5.">Rueckmeldung</field> </block> </value> <value name="USERNAME"> <block type="variables_get" id=".yy,4gKoy{2#/O+aK5UR"> <field name="VAR" id="nk#tns0J]0y=~-@(pk;a">User</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml> -
Danke Dir, eine Lmape bringe ich damit schon mal zum einschalten. Es scheitert jetzt nur noch am ausführen des curl Befehls und das Ergebnis weitersenden an Telegram. Habe es jetzt so gemacht:

-
Danke Dir, eine Lmape bringe ich damit schon mal zum einschalten. Es scheitert jetzt nur noch am ausführen des curl Befehls und das Ergebnis weitersenden an Telegram. Habe es jetzt so gemacht:

-
@skvarel said in Telegram in blockly verarbeiten:
wenn du mein Blockly nimmst, kannst du dir den User in der Abfrage sparen
Dachte ich mir schon, aber ich brauche tatsächlich nur die eine Abfrage. Man kann auch das curl weglassen und so abfragen:
Hilft das weiter?
-
Habs raus, das ganze geht so:

Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden





