Briefkasten abfrage mit Xiaomi Vibrationssensor und Zeit abhängig und Sprachausgabe auf Echo Dot

  • Hallo zusammen ich lese seit einiger Zeit schon mit und finde die Tips und Anregungen wirklich toll. Nun habe ich ein Problem mit einem meiner Blockly Skrips. Ich fuchse mich da gerade rein und würde mich über Hilfe freuen.


    Funktion:

    Ich frage die Briefkasten Klappe mittels Xiaomi Vibrations Sensor ab. Dieser setzt einen Datenpunkt (Briefkastenmeldung Merker).

    Dieser aktiviert dann die Sprachausgabe, wenn wir uns in der vorgegebenen Zeit befinden.

    Ein Zeit Trigger aktiviert noch einmal z.B. ab 9:30 falls Post vor dem Zeitrahmen eingeworfen wurde um dann zu benachrichtigen.


    Nun soweit scheint es zu funktionieren, jedoch lässt sich die Ansage manchmal nicht abstellen. Ich muß dann das Skript anhalten um diese zu stoppen. Was kann das sein? Manchmal geht die Ansage los obwohl keiner am Briefkasten war. Der sensor hat nicht ausgelöst.


    Skript:



    <block type="comment" id="m(1.TE7Mq95QTuJqOdx~" x="-412" y="538">

    <field name="COMMENT">Briefkastenansage</field>

    <next>

    <block type="on" id="X]aV|CM@1E/b~bj2cDU=">

    <field name="OID">loxone.0.13897411-021d-9407-ffff9328e9203ae1.active</field>

    <field name="CONDITION">true</field>

    <field name="ACK_CONDITION"></field>

    <statement name="STATEMENT">

    <block type="controls_if" id="[rbqrFVv/OvUPKc)zTj8">

    <value name="IF0">

    <block type="logic_compare" id="I8egD14aP}93p86z4f$2">

    <field name="OP">EQ</field>

    <value name="A">

    <block type="get_value" id="*I+Jb3lj?lort*~BYv!_">

    <field name="ATTR">val</field>

    <field name="OID">loxone.0.13897411-021d-9407-ffff9328e9203ae1.active</field>

    </block>

    </value>

    <value name="B">

    <block type="logic_boolean" id="A)nlyA!WWPkYvzn+hL1b">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    </block>

    </value>

    <statement name="DO0">

    <block type="control" id="P)+}43@.F%JrTY!FE?Nl">

    <mutation delay_input="false"></mutation>

    <field name="OID">javascript.0.Briefkastenmeldung_Merker</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="P^Jo;*I7vb~KY$nVaBBu">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    <next>

    <block type="timeouts_clearinterval" id="Id]2)Vo8r=Tg+:(r956]">

    <field name="NAME">Intervall3</field>

    <next>

    <block type="timeouts_clearinterval" id="7gVB4p,$tx?2h$Wn/pxX">

    <field name="NAME">Intervall4</field>

    </block>

    </next>

    </block>

    </next>

    </block>

    </statement>

    </block>

    </statement>

    <next>

    <block type="on_ext" id="Cv83^fNwyb6ifFjk*R8D">

    <mutation items="2"></mutation>

    <field name="CONDITION">ne</field>

    <field name="ACK_CONDITION"></field>

    <value name="OID0">

    <shadow type="field_oid" id="9VzQSO3s=vH78m)B2[aB">

    <field name="oid">mihome.0.devices.vibration_158d0002b5fa48.state</field>

    </shadow>

    </value>

    <value name="OID1">

    <shadow type="field_oid" id="W~pwmskVCPncUg9+fz7f">

    <field name="oid">mihome.0.devices.vibration_158d0002b5fa48.tilt_angle</field>

    </shadow>

    </value>

    <statement name="STATEMENT">

    <block type="controls_if" id="uyNR(tYj#gMz|9kU-YbN">

    <value name="IF0">

    <block type="logic_compare" id="pfhD44((C=%i|@CcLJcL">

    <field name="OP">EQ</field>

    <value name="A">

    <block type="get_value" id="|/Ob*-M)NGI+@cE!Y-}O">

    <field name="ATTR">val</field>

    <field name="OID">mihome.0.devices.vibration_158d0002b5fa48.state</field>

    </block>

    </value>

    <value name="B">

    <block type="logic_boolean" id="XRRCGEu(YcL1)FIhW=NE">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    </block>

    </value>

    <statement name="DO0">

    <block type="control" id="}KkP^J0sKkX.f^E^Y]].">

    <mutation delay_input="false"></mutation>

    <field name="OID">javascript.0.Briefkastenmeldung_Merker</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="U7zo4[[BQPp{==wJK=i#">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    </block>

    </statement>

    </block>

    </statement>

    <next>

    <block type="on" id="T9/{@z3]G@[n5K7l%8F{">

    <field name="OID">javascript.0.Briefkastenmeldung_Merker</field>

    <field name="CONDITION">true</field>

    <field name="ACK_CONDITION"></field>

    <statement name="STATEMENT">

    <block type="controls_if" id="fOY7fb_/T}toDtfXQjBI">

    <value name="IF0">

    <block type="logic_operation" id="4qF)E@f-xcqY-5F7Em~U">

    <field name="OP">AND</field>

    <value name="A">

    <block type="logic_compare" id="g3@M]R]70rqh7Feg^R2%">

    <field name="OP">EQ</field>

    <value name="A">

    <block type="get_value" id="x9hekfh+pGl]w)4^i!bM">

    <field name="ATTR">val</field>

    <field name="OID">javascript.0.Briefkastenmeldung_Merker</field>

    </block>

    </value>

    <value name="B">

    <block type="logic_boolean" id="@#R6@iQ=nwZuH]p#2htL">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    </block>

    </value>

    <value name="B">

    <block type="time_compare_ex" id="s{oebg@Xhml`h#s5.r7?">

    <mutation end_time="true" actual_time="true"></mutation>

    <field name="USE_ACTUAL_TIME">TRUE</field>

    <field name="OPTION">between</field>

    <value name="START_TIME">

    <shadow type="text" id="b_SHL@jul{B/1sdk]I3Z">

    <field name="TEXT">9:30</field>

    </shadow>

    </value>

    <value name="END_TIME">

    <shadow type="text" id="hHeYnQKnPI=]XMzjM[?t">

    <field name="TEXT">22:00</field>

    </shadow>

    </value>

    </block>

    </value>

    </block>

    </value>

    <statement name="DO0">

    <block type="control" id="#,]9wwHK/Yr2??Z{kGEN">

    <mutation delay_input="false"></mutation>

    <field name="OID">alexa2.0.Echo-Devices.G090U50984762W90.Commands.speak-volume</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="text" id="L*5NH6MJT{KN02BSIwb|">

    <field name="TEXT">60</field>

    </block>

    </value>

    <next>

    <block type="control" id="FGx*}zpFznGd]ra;F1_Y">

    <mutation delay_input="false"></mutation>

    <field name="OID">alexa2.0.Echo-Devices.G090U50984762W90.Commands.speak</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="text" id="|;pIPKaP~s6cTP7MUs|M">

    <field name="TEXT">Post ist da!</field>

    </block>

    </value>

    <next>

    <block type="timeouts_setinterval" id="MhWRWyA~N*z,@l/+N(X-">

    <field name="NAME">Intervall3</field>

    <field name="INTERVAL">7</field>

    <field name="UNIT">sec</field>

    <statement name="STATEMENT">

    <block type="control" id="?Vp4yggeu_Y(-+kgje^7">

    <mutation delay_input="false"></mutation>

    <field name="OID">alexa2.0.Echo-Devices.G090U50984762W90.Commands.speak</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="text" id="m@[%gn=;)k]-Wlevoz.7">

    <field name="TEXT"> Post ist da!</field>

    </block>

    </value>

    </block>

    </statement>

    </block>

    </next>

    </block>

    </next>

    </block>

    </statement>

    </block>

    </statement>

    <next>

    <block type="schedule" id="Txqh,$zw.DAUrLH]]/:I">

    <field name="SCHEDULE">*/5 9-10 * * *</field>

    <statement name="STATEMENT">

    <block type="controls_if" id="dW2zPwT[CT*uw4UQ_qF6">

    <value name="IF0">

    <block type="logic_operation" id="[7e-i%s_Ny(G`]~P9@lS">

    <field name="OP">AND</field>

    <value name="A">

    <block type="logic_compare" id="wN=UTYR7A)ADr{h)LT;M">

    <field name="OP">EQ</field>

    <value name="A">

    <block type="get_value" id="F{x8n_+/OP@)L!UVo*KM">

    <field name="ATTR">val</field>

    <field name="OID">javascript.0.Briefkastenmeldung_Merker</field>

    </block>

    </value>

    <value name="B">

    <block type="logic_boolean" id="3m/?T]~^62n{t4LZTX7)">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    </block>

    </value>

    <value name="B">

    <block type="time_compare_ex" id="H2vK4VW+BX5Bt+0=GvC@">

    <mutation end_time="true" actual_time="true"></mutation>

    <field name="USE_ACTUAL_TIME">TRUE</field>

    <field name="OPTION">between</field>

    <value name="START_TIME">

    <shadow type="text" id="R6|FI)~]2}v!LdWg3u}w">

    <field name="TEXT">9:30</field>

    </shadow>

    </value>

    <value name="END_TIME">

    <shadow type="text" id="qmh@=ar(3qhC?trq+.p^">

    <field name="TEXT">22:00</field>

    </shadow>

    </value>

    </block>

    </value>

    </block>

    </value>

    <statement name="DO0">

    <block type="control" id="C~SbpkdQ?JDwECoW|hj)">

    <mutation delay_input="false"></mutation>

    <field name="OID">alexa2.0.Echo-Devices.G090U50984762W90.Commands.speak-volume</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="text" id="??aOcv}#2Q)Ww4Z^;PZU">

    <field name="TEXT">60</field>

    </block>

    </value>

    <next>

    <block type="control" id="vum}[PZFa]Fn*,)x9{Ui">

    <mutation delay_input="false"></mutation>

    <field name="OID">alexa2.0.Echo-Devices.G090U50984762W90.Commands.speak</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="text" id="%~.P4uV[XLo]yT;#JDG#">

    <field name="TEXT">Post ist da!</field>

    </block>

    </value>

    <next>

    <block type="timeouts_setinterval" id="oM|GR3G{h*$dDc+#WbGV">

    <field name="NAME">Intervall4</field>

    <field name="INTERVAL">7</field>

    <field name="UNIT">sec</field>

    <statement name="STATEMENT">

    <block type="control" id="|C]1S^2jgwTeR$38t`g4">

    <mutation delay_input="false"></mutation>

    <field name="OID">alexa2.0.Echo-Devices.G090U50984762W90.Commands.speak</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="text" id="_vgHuzM3)Ft0UdgMuZq1">

    <field name="TEXT"> Post ist da!</field>

    </block>

    </value>

    </block>

    </statement>

    </block>

    </next>

    </block>

    </next>

    </block>

    </statement>

    </block>

    </statement>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </xml>



    Gruß

  • Idee ganz nett, aber den Script können wir nicht importieren, weil er als Text formatiert ist.

    Setzt Du ihn in eine "Code"-Formatierung, können wir ihn 1:1 übernehmen.

    ioBroker: Pi3B / Sonoff -Basic / Mobile.0 / Shelly2.5 (Rollladen)

    ZigBee: Pi2B RaspBee-GW DeConz / Philips Hue Dimmer-Switch, Hue/Innr-Leuchten / XIAOMI Mi/Aqara Fenster-, BWM-Sensor, Magic Cube

    EQ-3 Max! Cube, Ventile, Thermostate / Logitech Harmony Elite mit Hub / Roborock S5

    Tasmota durch TasmoAdmin (&Atom.IO) / AVM FB 7490 / Devolo Magic 1 Powerline

  • Du musst einen Datenpunkt anlegen der auf 1 springt wenn der Sensor auslöst und auf 0 gesetzt wird wenn Alexa die Ansage gemacht hat.


    Also wenn Sensor true = Datenpunkt 1

    Wenn Alexa Ansage vorbei = Datenpunkt 0


    Die Ansage von Alexa darf erst gestartet werden wenn Sensor auf true steht.


    Sprich

    falls ►Sensor = true

    dann: Ansage von Alexa
    Steuere Datenpunkt mit 0 ( false )


    Dann sagt die nur was wenn der Datenpunkt auf 1 ( true ) steht.