NEWS
Skript schickt jede Sekunde pushover Nachricht
-
Hallo,
ich habe ein Skript gebaut, was mir über 35 Grad eine Nachricht über pushover schicken soll. Leider schickt das Skript mir jede Sekunde eine Nachricht. Was muss ich denn machen, dass ich diese Nachricht nur einmal bekomme, wenn die Temperatur nur einmal über 35 Grad ist?
on({id: 'owfs.0.wires.Zirkulationspumpe', change: "gt"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") >= 35) { sendTo("pushover", "send", { message: 'Zirkulation', sound: "", title: 'Zirkulation' }); setStateDelayed('knx.0.Schalten.EG.Zirkulationspumpe_schalten', false, false, parseInt(0, 10), false); console.log('Zirkulationspumpe ausschalten'); } });
-
Ich habe bei mir den Trigger auf: Falls Objekt wurde geändert und das dauernde Senden hat aufgehört
-
hi,
das habe ich gerade geändert, leider keine Besserung. Hast du noch eine andere Idee?
-
Hey,
ich habe etwas ähnliches für meine Heizung und dir grad mal eine Vorlage gebastelt - kann sie nur nicht testen weil mein handy zur Reparatur ist freu mich über ein Feedback!
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="variables_set" id="hR?#+H!6nkOigV5J@;X-" x="-787" y="-212"><field name="VAR">Aquariumtemperatur</field> <value name="VALUE"><block type="get_value" id="g0%C|BVkEp-+gj:Ug454"><field name="ATTR">val</field> <field name="OID">sonoff.0.Aquarium.DS18B20_Temperature</field></block></value> <next><block type="on" id="Szh:]B]dFeklPM7qCB;L"><field name="OID">sonoff.0.Aquarium.DS18B20_Temperature</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="controls_if" id="iMw/rG+f%/w:o{o7BU,Z"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_operation" id=",IV@:m![Zd(#bDJm^_[e"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="*Hd)asg=ff.cH!+2v3j?"><field name="OP">LTE</field> <value name="A"><block type="on_source" id="V:I%HObLeriqNo_#HwdQ"><field name="ATTR">state.val</field></block></value> <value name="B"><block type="math_number" id="sawDwit2X[xhk(-=3Fw9"><field name="NUM">23</field></block></value></block></value> <value name="B"><block type="logic_negate" id="Kv2D6OmoX:DGJ%XGr+`x"><value name="BOOL"><block type="variables_get" id="ZdcFi3EN35N@(i,^6(4^"><field name="VAR">Aquariumtemperatur</field></block></value></block></value></block></value> <statement name="DO0"><block type="sendto_custom" id="S0Xuq.,ND:{C(4)TCN!["><mutation items="parameter1" with_statement="false"></mutation> <field name="INSTANCE">telegram.0</field> <field name="COMMAND">send</field> <field name="WITH_STATEMENT">FALSE</field> <value name="ARG0"><shadow type="text" id="g5|m?xiSh]/IZx[Z0VDV"></shadow> <block type="text" id="?:TvO=k|-..w|7s(s8T5"><field name="TEXT">ACHTUNG! Temperatur des Aquariums unter 23°C</field></block></value></block></statement> <value name="IF1"><block type="logic_operation" id="L3__L6~O@I7^0SgHa@C^"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="N3W4F/c}-RFdWw^Uug0d"><field name="OP">GTE</field> <value name="A"><block type="on_source" id="8oWSo(Z:mX)ILa{fb[8#"><field name="ATTR">state.val</field></block></value> <value name="B"><block type="math_number" id="O2-5d(zF`;OlwVq~#%-f"><field name="NUM">26</field></block></value></block></value> <value name="B"><block type="variables_get" id="a+(6k`0axUoXuJ5o~Hg`"><field name="VAR">Aquariumtemperatur</field></block></value></block></value> <statement name="DO1"><block type="sendto_custom" id="Bl879mypRi,}V@?u%p.A"><mutation items="parameter2" with_statement="false"></mutation> <field name="INSTANCE">telegram.0</field> <field name="COMMAND">send</field> <field name="WITH_STATEMENT">FALSE</field> <value name="ARG0"><shadow type="text" id="Ac4UmLUaOm%i/]WV}2xB"></shadow> <block type="text" id=".1hf5USty9_H|5tgaw_5"><field name="TEXT">ACHTUNG! Temperatur des Aquariums über 26°C</field></block></value></block></statement></block></statement> <next><block type="on" id="%tNgK/*+A0~k}iB1,cc,"><field name="OID">sonoff.0.Aquarium.DS18B20_Temperature</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <statement name="STATEMENT"><block type="variables_set" id="*Xy/Lu9J#cbgrq(j{5PE"><field name="VAR">Aquariumtemperatur</field> <value name="VALUE"><block type="on_source" id="F+u#OXL|y@+WdoIZa5Rf"><field name="ATTR">state.val</field></block></value></block></statement></block></next></block></next></block></xml>
-
HI,
geht das dann auch für psuhover? Muss das Skript so groß sein, nur damit pushover mir nur noch eine Nachricht sendet und nicht mehr 1000?
-
Lege dir ne zusätzlichen Status Datenpunkt "Mitteilung_Temp_gesendet" an, der auf True gesetzt wird, nachdem die Nachricht verschickt wurde, und prüfe vor dem Senden , ob dieser Datenpunkt true ist, wenn der auf False steht dann schickt er , wenn true dann schickt er nicht.
Und dann noch ein kleines Hilfsscript, was den Datenpunkt auf false setzt, wenn die Temperatur unter 35°C fällt.
Grüße
Tom