Da Alexa nur durch Abfrage den in der Alexa App hinterlegten Kalender vorliest, und ich Redefaul bin und nicht jeden Morgen nach meinen Terminen nachfragen will hab ich ein Skript geschrieben welches zu einer Bestimmten Zeit den Kalender automatisch vorliest.
Ich hab es über die Adapter ical.0, alexa2(bespoken) und alexa2 (speak) gelöst.
Was wichtig zu wissen ist, ist das Aktualisierungsintervall vom ical Adapter und den eingestellten Zeitrahmen.
Also wenn im ical cronjob jede halbe volle Stunde aktualisiert wird und ich einen Zeitrahmen von sagen wir 07:55 bis 09:05 gesetzt habe.
Dann wird mir der Kalendereintrag drei mal vorgelesen also um 08:00-08:30-09:00.
Das funktioniert mit dem Skript aber nur für den aktuellen Tag also wenn im ical state = 1 steht.
<xml xmlns="http://www.w3.org/1999/xhtml">
<block type="on_ext" id="4/F**vQU6_[J^:ATNKe4" x="-362" y="-212">
<mutation items="2"></mutation>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="_DhB.|DPMVWVFJ5x-U45">
<field name="oid">ical.0.data.count</field>
</shadow>
</value>
<value name="OID1">
<shadow type="field_oid" id="WZwq`@?#k4n[[qElYD7[">
<field name="oid">ical.1.data.count</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="++Df9K~{*(ZVYIb7Ts4b">
<value name="IF0">
<block type="logic_operation" id=".^/jsHOj{*A+[|xHG6o+">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id=".mvHgv;!)7TZXuXyNzt5">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="zt@j!t;@8N.3wJr*ZDIj">
<field name="ATTR">val</field>
<field name="OID">ical.0.data.count</field>
</block>
</value>
<value name="B">
<block type="math_number" id=")23AQ;KVZwJ%d7Vd(/6%">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="time_compare" id="f`zz;,U:5sI+X^vR;)eU">
<mutation end_time="true"></mutation>
<field name="OPTION">between</field>
<field name="START_TIME">13:00</field>
<field name="END_TIME">17:00</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id="zZwAaT^Be!Db?Syj[,FN">
<mutation delay_input="true"></mutation>
<field name="OID">alexa2.0.Bespoken.#sendText</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">30</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="text" id="_.VgVL1I+~pW^S35Eu7m">
<field name="TEXT">Was steht heute in meinem Kalender</field>
</block>
</value>
<next>
<block type="control" id="VxGoI7UUiUSaba3ym?_*">
<mutation delay_input="true"></mutation>
<field name="OID">alexa2.0.Echo-Devices.G2A0P30880610E8J.Commands.speak</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">30</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="get_value" id=")aHFS,ztrG)h=tZ-vx!P">
<field name="ATTR">val</field>
<field name="OID">alexa2.0.Bespoken.answer</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="controls_if" id="F@:xX(B~l(*!bFAOX~AF">
<value name="IF0">
<block type="logic_operation" id="VUbWG`/r{j809F9mNTl6">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="2M9-+x*pMPGL[Nbl_O94">
<field name="OP">EQ</field>
<value name="A">
<block type="get_value" id="3W1%7X]S-L2yEGBHSPdA">
<field name="ATTR">val</field>
<field name="OID">ical.1.data.count</field>
</block>
</value>
<value name="B">
<block type="math_number" id="5vujfD[)5h5iGR`jW5TI">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="time_compare" id="V=lv+Pn`YpmLKEx~:~5@">
<mutation end_time="true"></mutation>
<field name="OPTION">between</field>
<field name="START_TIME">08:00</field>
<field name="END_TIME">08:10</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="control" id="@}K!9Kl]Si`NJ:c_ul+U">
<mutation delay_input="true"></mutation>
<field name="OID">alexa2.0.Bespoken.#sendText</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">120</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="text" id="k:[Xl0Sc|(.0T!P8(7(C">
<field name="TEXT">Was steht heute in meinem Kalender</field>
</block>
</value>
<next>
<block type="control" id=",e43Wp@to*g}!FtEErJx">
<mutation delay_input="true"></mutation>
<field name="OID">alexa2.0.Echo-Devices.G2A0P30880610E8J.Commands.speak</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">180</field>
<field name="UNIT">sec</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="get_value" id="),Ucmir/+BC^zf2~8C.:">
<field name="ATTR">val</field>
<field name="OID">alexa2.0.Bespoken.answer</field>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</xml>
Alles anzeigen