NEWS
Telegram Benachrichtigung "snoozen/pausieren"
-
Ich habe für bestimmte Sachen wie "Achtung, Garagentor ist noch auf" den Telegram als Benachrichtigungssystem eingebunden. Läuft auch soweit gut. Nur manchmal möchte ich die Benachrichtigung für 30/60 Minuten stummschalten. Ist es möglich das mir Blockly noch ein Button hinterherschickt mit der Auswahl der möglichen Pausenzeiten?
-
Das lässt sich bestimmt realisieren in dem du zwei weitere logikwert Datenpunkte anlegst, welche du in deinem Blockly abfragst.
Wenn du Hilfe brauchst zeigst du dein Skript am Besten mal.
-
@watcherkb du meinst aus Telegram heraus? In der Suche nach "Telegram Menü" suchen, da sind auch Blockly-Varianten dabei.
Grob gesagt bekommst du dann ständig einen Button eingeblendet der ein Schlüsselwort nach ioBroker sendet. ioBroker lauscht auf dem Kanal und du kannst so einen Datenpunkt setzen (den du in dein Skript als Abfrage einbauen kannst)Wenn du das hinbekommen hast poste doch mal hier deine Lösung bitte (für den nächsten)
-
ach so, dann habe ich das ganz falsch verstanden, habe selbst kein Telegramm.
Aber irgendwas mit Button innerhalb Telegramm hab ich auch schon mal gehört jetzt wo du es hier erwähnst.
-
@watcherkb Oder du schickst einfach "Pause" und wertest den DP request (Last receive request) aus. Wenn dort Pause drin steht dann X Minuten warten
-
@cinimod sagte in Telegram Benachrichtigung "snoozen/pausieren":
Aus deinem ersten Post:
... den Telegram als Benachrichtigungssystem eingebunden ...
und deine Antwort:
ach so, dann habe ich das ganz falsch verstanden, habe selbst kein Telegramm.
Was denn nun? Wo denn nun?
-
@bananajoe ja aus Telegram heraus. Soweit bin ich schon, das ich die Buttons im Telegram sehe, aber stehe gerade auf dem Schlauch wie ich weiter verfahren soll wenn der Snooze Button gedrückt wird.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="1?Lp#{(^qSnz.`(2d{,)">Entpreller</variable> <variable id=".hU^JZ/~|c+E+px,3=Wv">Telegram_gesendet</variable> <variable id="8tFgAoD#A7]BJwN{[#-K">Warnung_ausgelöst</variable> <variable type="timeout" id="timeout">timeout</variable> <variable type="interval" id="Intervall">Intervall</variable> </variables> <block type="variables_set" id="a9_MC2G3_^#dN%EtUq+~" x="1237" y="-163"> <field name="VAR" id="1?Lp#{(^qSnz.`(2d{,)">Entpreller</field> <value name="VALUE"> <block type="math_number" id="~kqix`rRHAj?6I^|oC9w"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="-{=!4D4%Gv2l4Ss7kR*x"> <field name="VAR" id=".hU^JZ/~|c+E+px,3=Wv">Telegram_gesendet</field> <value name="VALUE"> <block type="logic_boolean" id="GOOsiuQs`1|L+*!;@E=r"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="uueXj;Ac[f,b~qiK7]1-"> <field name="VAR" id="8tFgAoD#A7]BJwN{[#-K">Warnung_ausgelöst</field> <value name="VALUE"> <block type="logic_boolean" id="cY@UFf8lHYE%60k4#,/5"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="comment" id="D)t01`*g+E_I.wvVq:{G"> <field name="COMMENT">Trigger</field> <next> <block type="on_ext" id="Q3)gARJUa!M:r:`9lLpB"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid" id="x3Az;0]0yDfTN#aGm8{3"> <field name="oid">default</field> </shadow> <block type="field_oid" id="fJE1{[S|hKT$]p%?%]p%"> <field name="oid">zigbee.0.00158d0003cd8454.opened</field> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="mJsR)5]s@-/Kh1Ne4PQ0"> <value name="IF0"> <block type="logic_compare" id="]0N[3Y@#rA/__c9=;#PQ"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="w#Vv~Fn{T:Ds*L:pyjL0"> <field name="VAR" id="1?Lp#{(^qSnz.`(2d{,)">Entpreller</field> </block> </value> <value name="B"> <block type="math_number" id=".hLM@4[8@iPzZgB#c0`b"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="w`6V/@r6S(g#!rF:)c|`"> <field name="VAR" id="1?Lp#{(^qSnz.`(2d{,)">Entpreller</field> <value name="VALUE"> <block type="math_number" id="P[ur)^?T?O9.nkUpSUNc"> <field name="NUM">1</field> </block> </value> <next> <block type="controls_if" id="[v+8~uiG!K;r0r?R1p-u"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="mpw`mol5[Mn{uy6Z+m.a"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="#c+6=m$MW_1~tMijmU+R"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="#a?A^GEyEbN]}QIxk3B("> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="bjOA|CTf{O(^o=SGj-+f"> <value name="IF0"> <block type="logic_compare" id="H8Hx58QZN-P:]v+ggl[p"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="WrmaSlv9cdmHskrzx{Z]"> <field name="VAR" id=".hU^JZ/~|c+E+px,3=Wv">Telegram_gesendet</field> </block> </value> <value name="B"> <block type="logic_boolean" id="T,Tju!izf|[SQvj7uu*g"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id=";E/yC}9L`AGCf]ad0!2,"> <field name="VAR" id=".hU^JZ/~|c+E+px,3=Wv">Telegram_gesendet</field> <value name="VALUE"> <block type="logic_boolean" id="RQy}d;B~yYgWMpP{ABJ?"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="telegram" id="Nb{leTKy^vg2hB`7.2Zt"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="vc0|(h|umq?=O#!$grtC"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="+g^|^5H?V~JrvH1On:2j"> <field name="TEXT">Garagentor wurde geöffnet!</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="sJD7ujL:enkAyT4)$azR"> <field name="TEXT">Peter</field> </block> </value> </block> </next> </block> </statement> <next> <block type="timeouts_clearinterval" id="3HrY_6:M0B(Qip*suwGj"> <field name="NAME">Intervall</field> <next> <block type="timeouts_setinterval" id="7WR_6./(Bz:s[Gk+P`4%"> <field name="NAME">Intervall</field> <field name="INTERVAL">5</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="controls_if" id="WL`]a6=-g]wpCGiO#rSS"> <value name="IF0"> <block type="logic_compare" id="3IN?R#C7]bf6=Ny@{x(?"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="-6Qqvi})~0^{$HMakgDz"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_boolean" id="CjtVBEk,cL~WVFi}gnCm"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="NgY/|Q|%u`m5R}O]U1J["> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.90F00818720608KE.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="P-zHXF0+@1#7j:E.59@p"> <field name="TEXT">30;ACHTUNG. Das Garagentor ist noch auf!</field> </block> </value> <next> <block type="controls_if" id="HrJhkDz])DgVw?QH(H.7" disabled="true"> <value name="IF0"> <block type="time_compare" id="oRe[PRIxnHd|zHg~P4%v"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">07:00</field> <field name="END_TIME">22:00</field> </block> </value> <statement name="DO0"> <block type="control" id="IZm#%1O+V$rRJ=?-`6Hf"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.90F00818720608KE.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="3z1E;^28y[/^H(!:OO1b"> <field name="TEXT">30;ACHTUNG. Das Garagentor ist noch auf!</field> </block> </value> </block> </statement> <next> <block type="variables_set" id="bqhBR.7:Agf5Ij@FScE^"> <field name="VAR" id="8tFgAoD#A7]BJwN{[#-K">Warnung_ausgelöst</field> <value name="VALUE"> <block type="logic_boolean" id="(!E@K(27``me$*b`(4Q-"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="telegram" id="S]7%:6@Q.-4{]e|.Vm#r"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="U@hA8(_QTSFaS!0ujq~b"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="G`=Sx52)[RKHddwhQ|^,"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="hG!WH#]Qyk!WnD%!-WcD"> <field name="TEXT">Achtung: </field> </block> </value> <value name="ADD1"> <block type="text" id="n+O[x!7P18Gite9$E#*4"> <field name="TEXT">Garagentor ist noch auf!</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="}~ToIIf+#om$!7uRo!*Y"> <field name="TEXT">Peter, Lena</field> </block> </value> <next> <block type="telegram_setKeyboard" id="w-+zC=9${S:y*7[A?(v!"> <field name="INSTANCE"></field> <field name="NOT_RESIZE">TRUE</field> <field name="ONE_TIME">FALSE</field> <field name="SILENT">TRUE</field> <value name="KEYBOARD"> <block type="lists_create_with" id="WzZNVV.l!}xf:9oC3daF"> <mutation items="1"></mutation> <value name="ADD0"> <block type="lists_create_with" id="7ji0{5HWMM^=CXdL|g_8"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="E-5/W6k[t4-LS-h@5eTG"> <field name="TEXT">60 Minuten</field> </block> </value> <value name="ADD1"> <block type="text" id="z/c`shVXhWRIaTlZoiP^"> <field name="TEXT">120 Minuten</field> </block> </value> </block> </value> </block> </value> <value name="MESSAGE"> <shadow type="text" id="cb5v!vU)*CX{7r{Se~=r"> <field name="TEXT">Garagenmeldung pausieren?</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="controls_if" id="DO^V#vhtzaT8^dto;2w9"> <value name="IF0"> <block type="logic_compare" id="9?1;bE0Oo%SQD+v+.G)6"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="c63ClOm/xO9C(0RM_Gc!"> <field name="VAR" id=".hU^JZ/~|c+E+px,3=Wv">Telegram_gesendet</field> </block> </value> <value name="B"> <block type="logic_boolean" id="g+PAzzcbj_T#I1`+l0]K"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="aCedDQ5);;oE|-osk]?Z"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="$bu$o{9[x_L%X35rGGI0"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="!OR,U4/8h3{1lC,ovR.c"> <field name="TEXT">Entwarnung:</field> </block> </value> <value name="ADD1"> <block type="text" id="tktRZ={_!a-u(_Qv0S$Q"> <field name="TEXT">Garagentor wurde wieder geschlossen!</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="LvFuQ#5ONQHeK1|wCo5-"> <field name="TEXT">Peter</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="+5e3g,{Dx?%J3ww[Zp8-"> <value name="IF0"> <block type="logic_compare" id="so,R.gq1:%r;x{|W;dX-"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="7sAX58*i1Em%SbRA*$0/"> <field name="VAR" id="8tFgAoD#A7]BJwN{[#-K">Warnung_ausgelöst</field> </block> </value> <value name="B"> <block type="logic_boolean" id="s_CH}pAYopD#y*p!K~j1"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="telegram" id="KHJc)_VzLI0,Aky-z1TJ"> <field name="INSTANCE"></field> <field name="LOG"></field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field> <value name="MESSAGE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="@,gdRNNhV-:)OML{#5dr"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="G/4B##S^Ui.b-~MKRd`D"> <field name="TEXT">Entwarnung:</field> </block> </value> <value name="ADD1"> <block type="text" id="`/bEEo(Mf%bjXOr;@A)|"> <field name="TEXT">Garagentor wurde wieder geschlossen!</field> </block> </value> </block> </value> <value name="USERNAME"> <block type="text" id="24[tdksM]$(~^nZeVNkp"> <field name="TEXT">Lena</field> </block> </value> </block> </statement> <next> <block type="variables_set" id="J,wY(RuXMdTs*`o1!xn?"> <field name="VAR" id=".hU^JZ/~|c+E+px,3=Wv">Telegram_gesendet</field> <value name="VALUE"> <block type="logic_boolean" id="NNzvP4~tjTFQ1_y4UIHX"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="A:t$M%P|t6,p1:7dRMGF"> <field name="VAR" id="8tFgAoD#A7]BJwN{[#-K">Warnung_ausgelöst</field> <value name="VALUE"> <block type="logic_boolean" id="W(;YtmlrtAU$/9x8pVW:"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="timeouts_clearinterval" id="fbAV0yz]1-K~E5vS_W;m"> <field name="NAME">Intervall</field> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="timeouts_settimeout" id="K5AHRp$0qk:#^9wUnmvT"> <field name="NAME">timeout</field> <field name="DELAY">5</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="^}2(kW1z5K.OWbldl1-)"> <field name="VAR" id="1?Lp#{(^qSnz.`(2d{,)">Entpreller</field> <value name="VALUE"> <block type="math_number" id="]5IR%0E$wXY=gk$r_K!Y"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@watcherkb dann setzt du dir einen neuen Datenpunkt, nennen wir ihn mal
0_userdata.0.telegram.Snooze
vom Typ Logikwert (also True/False aka Wahr/Falsch).
Den setzt wenn Snooze reinkommt auf True und mit den gewünschten 30 Minuten Verzögerung wieder auf false:
So, und jedesmal bevor du etwas an Telegram sendet prüfst du vorher ob dieser Datenpunkt auf
false
steht - nur dann sendet du.Ich habe jetzt nicht nachgesehen was in deinem Skript drin steht, da hatte ich einen Fehler beim import (TypeError: Unknown block type: telegram_setKeyboard)
-
@bananajoe dankeschön, das teste ich bei Gelegenheit. Dein Fehler beim Import ist wahrscheinlich wegen dem fehlenden Adapter:
-
@watcherkb den Adapter habe ich auch schon mal gesehen, der wird aber ja scheinbar nicht mehr gepflegt (letzte Änderung 3 Jahre her), da habe ich mir den verkniffen.
https://github.com/excal-foley/ioBroker.blockly-plus -
@bananajoe oh ok, hatte es garnicht auf dem Schirm. Aber noch läuft es bei mir ohne Probleme.
Deine Lösung funktioniert übrigens wunderbar, vielen Dank!