Hey zusammen.
Anbei mein kleines Netatmo Blockly Script damit ich entsprechende Warnungen akustisch und ggf. per Mail mitkriege:
Vllt bringts dem einen oder anderen was oder bringt neue Ideen
Was benutze ich dazu:
- Netatmo Wetterstation
- Google Home Mini (Sprachausgabe)
- ioBroker mit folgenden Adaptern | chromecast, sayIt, Netatmo, Email
Was macht das Script:
- Wenn die Luftwerte (CO2) zu hoch sind, sagt es dies über Google Home Mini und bittet zu lüfen
- Wenn die Batterie beim Aussenmodul 15% oder geringer ist, sagt es dies per Google Home Mini und sendet zusätzlich eine Mail
- Wenn die Temperatur innen über 25°C ist meldet es dies über Google Home Mini
- Wenn die Temperatur unter 19°C ist meldet es dies über Google Home Mini
- In der Nacht gibt es keine Sprachausgabe.
Code
<xml xmlns="http://www.w3.org/1999/xhtml">
<block type="on_ext" id="#[MptmdIb9?F7D33]V)5" x="963" y="-387">
<mutation items="1"></mutation>
<field name="CONDITION">lt</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="bFQ[[}zRt)}[oiu~,Jcg">
<field name="oid">netatmo.0.Netatmo-Smarthome.FLE-aussen.BatteryStatus</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="7ylGH4H(Vul]MM8DjGJJ">
<value name="IF0">
<block type="logic_operation" id="0fz8!SOx3Zk4R)+yYiYl">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="--l.YC=Ktg!3I8al#6vd">
<field name="OP">LTE</field>
<value name="A">
<block type="get_value" id="4ejuDpIa2042i6w+@}GI">
<field name="ATTR">val</field>
<field name="OID">netatmo.0.Netatmo-Smarthome.FLE-aussen.BatteryStatus</field>
</block>
</value>
<value name="B">
<block type="math_number" id="4{OqBJ7;.bD?gkV+znZ:">
<field name="NUM">15</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="time_compare" id="N]Tj)]CVt^(}nn4n_U.0">
<mutation end_time="true"></mutation>
<field name="OPTION">not between</field>
<field name="START_TIME">23:00</field>
<field name="END_TIME">07:00</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="sayit" id="MB_i3])U+|l#ptzpqey3">
<field name="INSTANCE">.1</field>
<field name="LANGUAGE">de</field>
<field name="LOG">log</field>
<value name="VOLUME">
<block type="math_number" id="QU|Nk{X^hHmn[q3Z=:S{">
<field name="NUM">85</field>
</block>
</value>
<value name="MESSAGE">
<shadow type="text" id="L+ZjHcs8[%`O9b,WXP,6">
<field name="TEXT">Die Batterie des Netatmo Aussemoduls muss getauscht werden</field>
</shadow>
</value>
<next>
<block type="timeouts_settimeout" id="P.8*GI[|~/.fb!-xQF).">
<field name="NAME">timeout</field>
<field name="DELAY">6500</field>
<field name="UNIT">ms</field>
<statement name="STATEMENT">
<block type="sayit" id=".lO,C*6#sn~uoGAqkosU">
<field name="INSTANCE">.1</field>
<field name="LANGUAGE">de</field>
<field name="LOG">log</field>
<value name="VOLUME">
<block type="math_number" id="mYOns5hOcw]l#C{n8omb">
<field name="NUM">85</field>
</block>
</value>
<value name="MESSAGE">
<shadow type="text" id=",tWHe672BnJ):;C}tSQj">
<field name="TEXT">Die Batterie des Netatmo Aussemoduls muss getauscht werden</field>
</shadow>
<block type="text_join" id="O0Xj4!8w4(|p+BAhVmeX">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text" id="IA1?7i#XefuJ2rX=3-C:">
<field name="TEXT">Aktueller Ladestand liegt bei </field>
</block>
</value>
<value name="ADD1">
<block type="get_value" id="SNOkBl`+a7cASiS=Y7kY">
<field name="ATTR">val</field>
<field name="OID">netatmo.0.Netatmo-Smarthome.FLE-aussen.BatteryStatus</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="K!p-V{ux^hhN,8m?~~k?">
<field name="TEXT"> Prozent</field>
</block>
</value>
</block>
</value>
</block>
</statement>
<next>
<block type="email" id="`v-]icH|v}SdIBwzAmvG">
<field name="INSTANCE">.0</field>
<field name="IS_HTML">FALSE</field>
<field name="LOG"></field>
<value name="TO">
<shadow type="text" id="DP6j-7rcil`dWYo-u)k!">
<field name="TEXT">thenikoboxman@gmail.com</field>
</shadow>
</value>
<value name="TEXT">
<shadow type="text" id="BEv.k-qA@|rWu+!*V}f?">
<field name="TEXT"></field>
</shadow>
<block type="text_join" id=",6A5h4OSF/yg~xVY=,[|">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text" id="w.yQ[/~3Zeo^ach[(R{2">
<field name="TEXT">Batterie ist schwach. Ladezustand beträgt: </field>
</block>
</value>
<value name="ADD1">
<block type="get_value" id="Ny[ZlytwTKAk]1o23!M~">
<field name="ATTR">val</field>
<field name="OID">netatmo.0.Netatmo-Smarthome.FLE-aussen.BatteryStatus</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="0Nkm5P-6^9pAn}:=[=%;">
<field name="TEXT">%</field>
</block>
</value>
</block>
</value>
<value name="SUBJECT">
<shadow type="text" id="{@=;j}w@!zhc3YA.yfgT">
<field name="TEXT">Batterie schwach - Netatmo Aussenmodul</field>
</shadow>
</value>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</statement>
<next>
<block type="on_ext" id="FMo%UbElY:e@SXN/Uwsm">
<mutation items="1"></mutation>
<field name="CONDITION">gt</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="j~b9PwnP/Q#E3%,/v{=.">
<field name="oid">netatmo.0.Netatmo-Smarthome.FLE-innen.Temperature.Temperature</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="O:1lpkZvT[_0))9~?N/d">
<value name="IF0">
<block type="logic_operation" id=";MO*I:yQM:I;i@.^3Gl%">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="HX9My,kjK!/o5zDN/i#)">
<field name="OP">GTE</field>
<value name="A">
<block type="get_value" id="b!Ye|vwvKcYKZk.WB@ZQ">
<field name="ATTR">val</field>
<field name="OID">netatmo.0.Netatmo-Smarthome.FLE-innen.Temperature.Temperature</field>
</block>
</value>
<value name="B">
<block type="math_number" id="`JsVF,~OFZ^rqn1zS8_w">
<field name="NUM">25</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="time_compare" id="Z{WG2dkfT*L{msk|~.Z^">
<mutation end_time="true"></mutation>
<field name="OPTION">not between</field>
<field name="START_TIME">23:00</field>
<field name="END_TIME">07:00</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="sayit" id="@@AVC.7^SVeO;T!P=`K4">
<field name="INSTANCE">.1</field>
<field name="LANGUAGE">de</field>
<field name="LOG">log</field>
<value name="VOLUME">
<block type="math_number" id="D2u`_)R.0r4Wc8Z4)|l+">
<field name="NUM">85</field>
</block>
</value>
<value name="MESSAGE">
<shadow type="text" id=":|=7]M~FzE:6):T@h?Yd">
<field name="TEXT">Es ist über 25 Grad im Wohnzimmer</field>
</shadow>
</value>
</block>
</statement>
</block>
</statement>
<next>
<block type="on_ext" id="#dU%bHFVm/~[XFv;e5M5">
<mutation items="1"></mutation>
<field name="CONDITION">lt</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="w8|i0fYRmk9YY3TA8d1a">
<field name="oid">netatmo.0.Netatmo-Smarthome.FLE-innen.Temperature.Temperature</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="e(^Rv9:NUvT6S0i2,6?2">
<value name="IF0">
<block type="logic_operation" id="{BOc+#Q#2g:yj#2`HJby">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="Wg=uS?H+|a4xlPFph6v6">
<field name="OP">LTE</field>
<value name="A">
<block type="get_value" id="kdi_9]Z`jLVE[Cx@vRY4">
<field name="ATTR">val</field>
<field name="OID">netatmo.0.Netatmo-Smarthome.FLE-innen.Temperature.Temperature</field>
</block>
</value>
<value name="B">
<block type="math_number" id="~kbhxE#le@|4#Y(|UNpl">
<field name="NUM">19</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="time_compare" id="r5+lSetD*Nq==%cY{Ivu">
<mutation end_time="true"></mutation>
<field name="OPTION">not between</field>
<field name="START_TIME">23:00</field>
<field name="END_TIME">07:00</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="sayit" id="P{e[*?Zp5QZKUj%8Yf?Q">
<field name="INSTANCE">.1</field>
<field name="LANGUAGE">de</field>
<field name="LOG">log</field>
<value name="VOLUME">
<block type="math_number" id="DnDsnkWXx_Onf!v-i^by">
<field name="NUM">85</field>
</block>
</value>
<value name="MESSAGE">
<shadow type="text" id="pCUIJdWE56[f`,USXn0s">
<field name="TEXT">Es ist unter 19 Grad im Wohnzimmer</field>
</shadow>
</value>
</block>
</statement>
</block>
</statement>
<next>
<block type="on_ext" id="YN@WR(HznT4ble85`]B]">
<mutation items="1"></mutation>
<field name="CONDITION">ge</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="e6qXx5i-M[|Y,g%!68.5">
<field name="oid">netatmo.0.Netatmo-Smarthome.FLE-innen.CO2.CO2</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="controls_if" id="vE*SYKZ/9WIQ%3ggZO@r">
<value name="IF0">
<block type="logic_operation" id="[Inufzgn77q9{{Y+OVZG">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="-,N#v,W(pD|YQXXX(^Oq">
<field name="OP">GTE</field>
<value name="A">
<block type="get_value" id="beWPm+!)uVdI=0jfX.(:">
<field name="ATTR">val</field>
<field name="OID">netatmo.0.Netatmo-Smarthome.FLE-innen.CO2.CO2</field>
</block>
</value>
<value name="B">
<block type="math_number" id=")z9ePKmp:`CW|biT!j)p">
<field name="NUM">1100</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="time_compare" id="rp{HgHf{i.j2f;v;aw+p">
<mutation end_time="true"></mutation>
<field name="OPTION">not between</field>
<field name="START_TIME">23:00</field>
<field name="END_TIME">07:00</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="sayit" id="hGmUz=]yZ*fcCgx3Wf2~">
<field name="INSTANCE">.1</field>
<field name="LANGUAGE">de</field>
<field name="LOG">log</field>
<value name="VOLUME">
<block type="math_number" id="Z.00D!M.::f!)B[anMbE">
<field name="NUM">85</field>
</block>
</value>
<value name="MESSAGE">
<shadow type="text" id="PB:,%[4a,0-%GPJ_:_=I">
<field name="TEXT">Die Luftwerte sind schlecht. Jemand sollte lüften.</field>
</shadow>
</value>
<next>
<block type="sayit" id="3gI+)/z1^se!EnU3~_Kf">
<field name="INSTANCE">.1</field>
<field name="LANGUAGE">de</field>
<field name="LOG">log</field>
<value name="VOLUME">
<block type="math_number" id="%/g/5gdtn.R[{NdEe({K">
<field name="NUM">85</field>
</block>
</value>
<value name="MESSAGE">
<shadow type="text" id="1scP9JYv`5!a30OZgwoI">
<field name="TEXT">Die Luftwerte sind schlecht. Jemand sollte lüften.</field>
</shadow>
<block type="text_join" id=":jXp(WJPsR/+@?CZl4+4">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text" id="qpEN0HJT6e+:mpuniZUC">
<field name="TEXT">CO2 Wert liegt bei </field>
</block>
</value>
<value name="ADD1">
<block type="get_value" id="Uh4u6]5gBoXJRMRygayc">
<field name="ATTR">val</field>
<field name="OID">netatmo.0.Netatmo-Smarthome.FLE-innen.CO2.CO2</field>
</block>
</value>
<value name="ADD2">
<block type="text" id="se6*[L9T`.h(Uifq51P8">
<field name="TEXT"> ppm</field>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</xml>
Alles anzeigen