NEWS
[gelöst] Skripte werden immer wieder ausgeführt
-
Hallo Leute, ich beschäftige mich seit einigen Wochen mit dem IoBroker und Alexa und Aktoren wie z.B. Fenster/Tür Sensoren, Lampen und Stekdosen. Es funkttioniert auch alles wunderbar, wenn ich zum Beispiel das Fenster öffne oder schließe, sagt mir das Alexa an. Mein Problem ist nur das Alexa den letzten Status sporadisch in abständen von 45 - 60 Minuten wiederholt ohne das jemand die Fenster berührt. Habe ich etwas falsch gemacht? Ich habe das ganze mot Blockly gemacht und euch mal den QT unter rein kopiert. Ich bin leider nicht in der Lage den Fehler zu finden.
Vielen Dank für die Hilfe im voraus.
P.S.: Ja, ich habe die SuFu bemüht bevor ich diesen Thread geöffnet habe.
Edit: Die Lösung steht im 4. Post.
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on_ext" id="C;e^o!u{l!EduOqzFDr#" x="63" y="38"> <mutation items="1"></mutation> <field name="CONDITION">true</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="YB-_f}E_;8Pobs*]by,~"> <field name="oid">zigbee.0.00158d000346bcfe.opened</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="JbV2it#Q3dF^k@0E#y=Z"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LA0974840DPD.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="dihGarWO%?5~(QKu`T?J"> <field name="NUM">30</field> </block> </value> <next> <block type="control" id="og|8g!nru)/ihm`*1IWu"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LA0974840DPD.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="hG=@];OA`hxub8GY0n)H"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="V/N,H/03eD]):=fj:i6%"> <field name="TEXT">Esszimmer-Fenster geöffnet</field> </block> </value> </block> </value> </block> </next> </block> </statement> <next> <block type="on_ext" id="1_.uIr$^1Lg6Q$27kQ*{"> <mutation items="1"></mutation> <field name="CONDITION">false</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="!1M-Vo{Sg}nf#GB[yRFV"> <field name="oid">zigbee.0.00158d000346bcfe.opened</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="v2/w$dC|R%)d2U?pg:*["> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LA0974840DPD.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="rbKi!sl=kf#2o`Ihak)A"> <field name="NUM">30</field> </block> </value> <next> <block type="control" id="6PMsJhkS-T6`Ljy-l`av"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LA0974840DPD.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="G7y#p:zaV]pHyM/0M:8C"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="i1aGr!p+-pOe[o--|[wf"> <field name="TEXT">Esszimmer-Fenster geschlossen</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
@Weihrauch25
ich habe diese Fenstersensoren nicht, aber schalten/aktualisieren die sich in den von Dir genannten Zeiträumen selbst von true und false ?
Du könntest im Log schauen ob sich der Status der Sensoren ändert ? Oder Du baust Dir extra mal Debug Bausteine ein um es raus zufinden. -
@dslraser danke für den Hinnweis mit den Debug blöken, hab mich da grad mal eingelesen. Mal gucken was bei rum kommt.
Edit: Mir ist gerade aufgefallen das ich zwei Javascript Instanzen installiert habe "javascript.0" und "javascript.1", in den jeweiligen Objekten sind alle meine Scripts drinn.
Kann es daran liegen? Kann ich einfach eine javascript Instanz löschen, oder braucht der IoB beide?Danke
Edit: Die Instanz "javascript.1" habe ich gelöscht, es hat sich nichts verändert. Aber dafür bin ich etwas Datenmüll los.
-
Ich habe eine Lösung für mein Problem gefunden, mein Trigger im Skript war falsch.
Das Problem:
Ich verwende Fenster/Tür Sensoren von Xiaomi Aqara, diese Sensoren senden automatisch alle 50 Minuten Daten (z.B. Batterie Stand, aber auch alle anderen Daten) an den Iobroker, das hat mein Script immer bemerkt und wurde ausgeführt wodurch es Stündlich zu Ansagen meiner Qaselröhre (Alexa) kam.Die Lösung:
Durch einen anderen Trigger ("Fals Objekt" ohne direkten Ojekt ID Verweis) und einem "fals-mache" Block mit Wert vom Obj.=wahr/unwahr und dadrunter (mache) den rest meines Scripts.Das Ergebnis:
Es funktioniert, die Quaselröhre bleibt still.Hier noch der QT des Scripts, falls es Jeman nutzen möchte:
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on" id="K|^hvJbp`~ouj@)UG8+*" x="13" y="38"> <field name="OID">zigbee.0.00158d000346bcfe.opened</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="#2J{;LDtGw{VQH}du$9U"> <value name="IF0"> <block type="logic_compare" id="]lGDf.puFu=jCU+s%m0("> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Ml}wR04`QBc_X[D~@J7m"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d000346bcfe.opened</field> </block> </value> <value name="B"> <block type="logic_boolean" id="pwF=@bc+bg+%?kCk#,UQ"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="JbV2it#Q3dF^k@0E#y=Z"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LA0974840DPD.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="dihGarWO%?5~(QKu`T?J"> <field name="NUM">30</field> </block> </value> <next> <block type="control" id="og|8g!nru)/ihm`*1IWu"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LA0974840DPD.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="hG=@];OA`hxub8GY0n)H"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="V/N,H/03eD]):=fj:i6%"> <field name="TEXT">Esszimmer-Fenster geöffnet</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> <next> <block type="on" id="tR2TPVy%emkg:h-L$x)T"> <field name="OID">zigbee.0.00158d000346bcfe.opened</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="fuvQM/|;J:Q*V`=Et4SD"> <value name="IF0"> <block type="logic_compare" id="~UNryzYnsmmqz:LS]x03"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="qqq/I7kE5yZSpatx2~Sj"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d000346bcfe.opened</field> </block> </value> <value name="B"> <block type="logic_boolean" id="#_E!NiKq(x7an8CHyewT"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="v2/w$dC|R%)d2U?pg:*["> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LA0974840DPD.Commands.speak-volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="rbKi!sl=kf#2o`Ihak)A"> <field name="NUM">30</field> </block> </value> <next> <block type="control" id="6PMsJhkS-T6`Ljy-l`av"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LA0974840DPD.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="G7y#p:zaV]pHyM/0M:8C"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="i1aGr!p+-pOe[o--|[wf"> <field name="TEXT">Esszimmer-Fenster geschlossen</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml>
Thread kann von mir aus geschlossen werden.
Danke nochmal an alle.
MfG
Weihrauch