SMARTHOME Du solltest Geld dafür verlangen - Heiss begehrt dein Template - Ich mache in letzter Zeit alles über IQontrol - das ist nicht so ein gefummel
Beiträge von timnr1
-
-
so ... EDIT
nachdem ich den Broadlink2 Adapter gelöscht und neu installiert habe scheint es geklappt zu haben
nach Adapter Installation ... einmal bei NewDeviceScan geklickt ... da kam dann das ->
(8149) Device UN:RM3-d6-07-92 dedected: address=192.168.0.40, mac=24:dd:a7:dd:07:92, typ=unknown, id=0x5f36 devtype=UKN
daraufhin in der von dir genannten Datei, das eingetragen ->
0x5f36: 'RM Mini 3'
danach wird er erkannt ->
(9104) broadlink2.0 started and found 1 devices named 'RM:RM3-d6-07-92'.
(9104) Device RM:RM3-d6-07-92 dedected: address=192.168.0.40, mac=24:df:a7:d6:07:92, typ=rm, id=0x5f36 devtype=RM Mini 3
edit : so nächstes Problem ... er scheint keine IR Befehle zulernen
Yes genauso hat mich laaaaaaange Zeit gekostet das damals zu finden hehe.
Wenn er keine Geräte anlernen will, musst du ihn neustarten und erneut einen DeviceScan machen - da er im File eingetragen ist, wird er wieder erkannt und dann sollte er lernfähig sein. Leuchtet die Lampe am RM3 sobald du "Learn" geklickt hast?
-
Moin
schöner Mist nachdem ich nun Stunden mit dem verbinden des RM3 Mini mit meinem WLAN verbracht habe und ich es im besten Falle nur zu einem "unbekanntem Gerät" ohne Funktion schaffte ... nahm ich mir die "Bedienungsanleitung", die selbst mit Lesebrille pöbelig klein ist ! Was steht dort "Broadlink" App (ebenfalls eine im blauem Design) und nicht eSmart Home App.
Anmelden ging nun raz faz in meinem WLAN und als Gerät wird nun die "Fernbedienung" auch angezeigt .
Leider will ich das Ding aber im ioBroker nutzen. Da kann/soll man ja den Adapter Broadlink (RM3) nutzen (-> https://github.com/hieblmedia/ioBroker.broadlink )
Leider funktioniert das aber mit dieser "neueren" RM3 Mini nicht !??
Gibt es einen Adapter wo das wieder funktioniert ?
Ist die Broadlink 2019 RM-Mini3 Black Bean eine andere Ausführung ? bzw. funktioniert diese mit dem Adapter ???
willy10 hast du neue Erkentnisse ?
ich habs mit dem RM Mini 3 und Adapter Broadlink2.0 . Du musst in der Konfig des Adapters den hinzufügen dann klappts. Ist etwas knifflig aber kriegst du sicherlich hin:
1. per SSH (Putty) aufs Raspberry verbinden, dann in /opt/iobroker/node_modules/iobroker.broadlink2/ gibt es eine Datei Namens broadlink_fj.js. Wenn du diese z.B. mit Nano öffnest und ziemlich weit nach unten scrollst, siehst du die Zuordnung der verschiedenen Codes zur Typklasse und Bezeichnung
2. In dieser musst du runterscrollen bis zur passenden Klasse (Class:RM3 glaub ich)
Dort trägst du dann die Nummer ein, die du im iOBroker Log siehst (etwas wie 0x2709 oder ähnlich)
3. Dann Adapter Broadlink2.0 neustarten und alles klappt
-
Ich stelle mein Setup / Projekt auch mal vor. Ich halte mich kurz - wenn bei einem Thema Interesse besteht, gehe ich gerne weiter und detaillierter drauf ein:
Licht:
- Jede Stunde ändere ich die Farbtemperatur und Helligkeit, sodass zu jeder Zeit die Belechutung perfekt ist. Es werden die Stehlampe im Wohnzimmer, die Deckenlampen und die Schlafzimmerlampen damit gesteuert.
- Immer 15min vor Sonnenuntergang gehen die Ambientebeleuchtungen an und es wird über Lautsprecher gesagt, wann der Sonnenuntergang heute ist. Wenn die Lampen brennen kommt ein zufälliger Satz und dann die Zeit des Sonnenuntergangs.
- Wenn keine Lampen mehr brennen im Wohnzimmer und es später als 21Uhr ist, funktioniert ein Bewegungsmelder für ein angenehmes Nachtlicht beim Gang auf die Toilette
- Um 21:45Uhr gehen LED Kerzen im Schlafzimmer an und um 23:15 wieder aus
- Um 20Uhr wenn jemand im Wohnzimmer ist, gehen die Kerzen für 3h an
- Wenn ich meinen PC einschalte zwischen 04:00Uhr und 08:30Uhr geht meine Bürobeleuchtung (Nanoleaf) an
- Wenn der PC ausgeschalten wird oder es später/früher als oben angegeben ist, geht Nanoleaf aus
Musik:
- Wenn ich nachhause komme werde ich mit zufälligem Satz begrüsst und es wird Radio gespielt
- Wenn im Bad Bewegung ist, wird Hintergrundmusik gespielt solange jemand im Bad ist
- Wenns feuchter als 70% ist, wird angenommen dass jemand duscht und die Musik wird etwas lauter
- Um 18Uhr erhalte ich Akustisch sowie per Pushover die Erinnerung die Katzen zu füttern
- Jeden dritten Freitag kriege ich um 17:30Uhr auch solche Benachrichtigungen für die Schlangenfütterung
An-/Abwesenheit:
- Wenn ich weg bin und niemand da, wird alles ausgeschalten + Pushnachricht was noch lief und ob noch Türen/Fenster offen sind
- Wenn ich spät nachhause komme geht das Licht an und die Musik (oben erwähnt) wird nicht abgespielt
- Wenn ich schlafen gehe wird alles ausgeschalten und ich kriege wenn irgendwo ein Fenster oder eine Tür offen ist noch eine Pushnachricht
Informationen:
- Ich kriege akustisch mit, wenn die Waschmaschine fertig ist
- Ich erhalte um 19:15Uhr sofern ich zuhause bin akustisch den Wetterbericht für morgen
- Ich erhalte um 20Uhr sofern ich zuhause bin akustisch einen zufälligen Fakt (unnützes Wissen)
- Ich erhalte Unwetterwarnungen per Push und wenn ich zuhause bin akustisch
- Ich erhalte Warnungen und Anweisungen falls es in einem Raum zu feucht ist oder man lüften sollte. Zusätzlich Warnungen mit Anweisungen wenn Temperatur/Feuchtigkeit im Terrarium nicht optimal sind
- Akustische Warnungen wenn Fenster länger als 20min geöffnet sind
Geräte:
- Der Staubsauger geht los wenn niemand zuhause ist und es zwischen 08:00-19:00Uhr ist
- Die Klimaanlage geht an wenns über 23°C ist und wieder aus, wenns 20.5°C ist.
- Wenn die Klimaanlage angeht, gibts eine Pushnachricht, sofern die Zimmertür noch offen ist und ich zuhause bin.
- Wenn die Klimaanlage ausgeht, gibts ne Pushnachricht wie warm es nun ist, wie warm es war, wie der Temperaturunterschied ist und wie lange die Klimaanlage lief und wie viel Watt die verbraucht hat.
- Fernseher sind über Broadlink steuerbar
- Klimaanlage ist über Broadlink steuerbar
- LED Kerzen sind über Broadlink steuerbar
- die Computer können heruntergefahren werden
- Raumklima kann über Google abgefragt werden
- Wenn Sensoren wenig Batterie haben oder nicht mehr verbunden sind gibts ne Pushnachricht und VIS-Signale
- Mittels meiner Netatmo Welcome Kamera werden die Familienmitglieder bei Erkennung jeweils 1x am Tag begrüsst resp. nach längerer Abwesenheit nochmals.
Alles schön verpackt in VIS
-
Hallo könnt Ihr noch mal rüber schauen ich sehe den Wald vor lauter Bäume nicht. Ich hab Zwei Zeiten eingestellt und trotzdem wird manchmal nachmittags die Begrüßung vom morgen angesagt.
Poste bitte mal ein Bild vom Ganzen wo man alles erkennt - da ist noch etwas überdeckt - so kann ich dir leider nicht richtig helfen
-
Ich hab bei meinem Script übrigens noch ne dynamische Ansage reingemacht - ich hasse es wenn es immer das gleiche sagt
Sieht jetzt so aus:
schimmer-media.de/index.php?attachment/4357/schimmer-media.de/index.php?attachment/4358/schimmer-media.de/index.php?attachment/4359/schimmer-media.de/index.php?attachment/4360/
Code
Alles anzeigen<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="variables_set" id="z%p8V1COuY8g;Wm.LIlT" x="-1862" y="-737"> <field name="VAR">Warm</field> <value name="VALUE"> <block type="lists_create_with" id="W.MGu:|3(ikf+d/N`Hz]"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id=":SGb8yE855wj{D@MVtVW"> <field name="TEXT">Boah ist mir warm.</field> </block> </value> <value name="ADD1"> <block type="text" id="uF,J.d:v(U669]]N|~.q"> <field name="TEXT">Bin das ich oder ist es hier drin heiss?</field> </block> </value> <value name="ADD2"> <block type="text" id="{#8)feLU.)!xIh[0N}5{"> <field name="TEXT">Es ist ganz schön warm hier.</field> </block> </value> <value name="ADD3"> <block type="text" id="!|t)6nuAwYhfL/ild,Cd"> <field name="TEXT">Ich schwitze ja richtig.</field> </block> </value> <value name="ADD4"> <block type="text" id="G@0*)cn4|eQeN*|Z{@h?"> <field name="TEXT">Die Temperatur ist ungewöhnlich hoch.</field> </block> </value> </block> </value> <next> <block type="variables_set" id="9#m@?b69/4R.8yF4^kG*"> <field name="VAR">Kalt</field> <value name="VALUE"> <block type="lists_create_with" id="5~R)@Q(Sq_97okj9JN_U"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="+]l~Bytn^.NkZ!B~_bF*"> <field name="TEXT">Brrr... Mir ist kalt.</field> </block> </value> <value name="ADD1"> <block type="text" id="1_N};ho5#2ab080[k4wd"> <field name="TEXT">Kann mir jemand eine Jacke bringen?</field> </block> </value> <value name="ADD2"> <block type="text" id="s[7a9f_P@@|*S@Kg-M#z"> <field name="TEXT">Es ist kalt hier.</field> </block> </value> <value name="ADD3"> <block type="text" id="E?wHx?P5nCA5VCqo@S#8"> <field name="TEXT">Ich friere ja richtig.</field> </block> </value> <value name="ADD4"> <block type="text" id="#=?.5fiT6ZNE|YXOo,59"> <field name="TEXT">Die Temperatur ist ungewöhnlich tief.</field> </block> </value> </block> </value> <next> <block type="variables_set" id="Pmk({,xy_U,,ClboL6Fa"> <field name="VAR">CO2</field> <value name="VALUE"> <block type="lists_create_with" id="NQGO,`WVD-om~J87A6fp"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="Kb!R%c!ylrhrvm#htvN)"> <field name="TEXT">Die Luftwerte sind schlecht. Jemand sollte lüften.</field> </block> </value> <value name="ADD1"> <block type="text" id="A+|YWEQEU5.8B;v:1Oa+"> <field name="TEXT">Es ist stickig. Man kann kaum atmen.</field> </block> </value> <value name="ADD2"> <block type="text" id="w=PxQs0G-acj^OvK;(sR"> <field name="TEXT">So schlechte Luft hat man selten.</field> </block> </value> <value name="ADD3"> <block type="text" id="TB;/E[q/]^Nr;RM3s:pO"> <field name="TEXT">Kann jemand lüften? Die Luft ist mies.</field> </block> </value> </block> </value> <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">27</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="timeouts_settimeout" id="5xJWxah{abMRn[M9L8tL"> <field name="NAME">timeout6</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <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 ziemlich warm im Wohnzimmer.</field> </shadow> <block type="lists_getIndex" id="3Gl=#1eH7?mxEeL5~Oi@"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="dSES^ecb{bX(wuJghn6x"> <field name="VAR">Warm</field> </block> </value> <value name="AT"> <block type="math_random_int" id="WwZ9zd.m2TZgX]LLtdcH"> <value name="FROM"> <shadow type="math_number" id="-v.r0W7bql!L=Z]rw2RA"> <field name="NUM">1</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="},`!Jw(%L}UB~-]K0~on"> <field name="NUM">100</field> </shadow> <block type="lists_length" id="MzP31t[pGH_?@=#c5CB("> <value name="VALUE"> <block type="variables_get" id="Sc/DhNs)CsLgfcP*3(TZ"> <field name="VAR">Warm</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="timeouts_settimeout" id="F:vVBk+y%o-R]gB_iqDp"> <field name="NAME">timeout5</field> <field name="DELAY">6500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="sayit" id="Ef)Yp~fq,CvKGsHaNaoh"> <field name="INSTANCE">.1</field> <field name="LANGUAGE">de</field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="n](iP?|PTs[1s)o27xR|"> <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="~p5s)yhS9_5S{%9t0IMg"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="^?b#m.1ihzNI_e,PVlMm"> <field name="TEXT">Die Temperatur beträgt: </field> </block> </value> <value name="ADD1"> <block type="math_round" id="O2.:sWmJ:QkxEjV_j_7t"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="h[*tE380|4zj)32uWVdi"> <field name="NUM">3.1</field> </shadow> <block type="get_value" id="c:f3bvo[*]hS+5kHUfjx"> <field name="ATTR">val</field> <field name="OID">netatmo.0.Netatmo-Smarthome.FLE-innen.Temperature.Temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="VOsn/yuNFb|Urz]mVxhT"> <field name="TEXT"> Grad.</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> </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">18</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="timeouts_settimeout" id="t8sRsT80T_22L-2MU*U7"> <field name="NAME">timeout4</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <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 kalt im Wohnzimmer</field> </shadow> <block type="lists_getIndex" id="Nms?QT]swWe6U?6*yiAP"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="Q^q)uu|Rca*{z1lxFicH"> <field name="VAR">Kalt</field> </block> </value> <value name="AT"> <block type="math_random_int" id="QwqG|WGT[ccN2w(,yCz`"> <value name="FROM"> <shadow type="math_number" id="!aE)dot]oJ_`9UOV4Qx1"> <field name="NUM">1</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="},`!Jw(%L}UB~-]K0~on"> <field name="NUM">100</field> </shadow> <block type="lists_length" id="B`~y8022y2j{XnO9pee*"> <value name="VALUE"> <block type="variables_get" id="1/XOHg-!mk4nNl=#Nb2i"> <field name="VAR">Kalt</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="timeouts_settimeout" id="1^:B`3RNN459_Vrp{tez"> <field name="NAME">timeout3</field> <field name="DELAY">6500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="sayit" id="HX.l,7Z+C}0Bv#z_mG+T"> <field name="INSTANCE">.1</field> <field name="LANGUAGE">de</field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="fO6ngY9(K,!:[otSh)9B"> <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="`9tfJmt8S!80@A-cV;Oc"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="~v-90%y,m.[ihwh9Xpo,"> <field name="TEXT">Die Temperatur beträgt: </field> </block> </value> <value name="ADD1"> <block type="math_round" id=".v!/#o^cPFmx=B[A1?wj"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="!M;)4BaZ1HPv!(j=oDJ:"> <field name="NUM">3.1</field> </shadow> <block type="get_value" id=",n^pMgm`_61(zoIhoxe+"> <field name="ATTR">val</field> <field name="OID">netatmo.0.Netatmo-Smarthome.FLE-innen.Temperature.Temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="h,a?U6%G~O@{+*+DhYQ5"> <field name="TEXT"> Grad.</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </statement> <next> <block type="on_ext" id="YN@WR(HznT4ble85`]B]"> <mutation items="1"></mutation> <field name="CONDITION">gt</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> <block type="lists_getIndex" id="5^=F7K(]iE~IM;s.wUc("> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="#%`J~G9TX5O*{rI93dv@"> <field name="VAR">CO2</field> </block> </value> <value name="AT"> <block type="math_random_int" id="7,[}P`?7`.F[BJOF~*9#"> <value name="FROM"> <shadow type="math_number" id="?|NBG])V1b-=,7i%!bMi"> <field name="NUM">1</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="},`!Jw(%L}UB~-]K0~on"> <field name="NUM">100</field> </shadow> <block type="lists_length" id="1@ifTnYH%7azu;kn0EV("> <value name="VALUE"> <block type="variables_get" id="%*6v+.;sMC*l7o)lvzI_"> <field name="VAR">CO2</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="timeouts_settimeout" id="VNCa?BZHGHIm~x.~-P,%"> <field name="NAME">timeout2</field> <field name="DELAY">6500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <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> </statement> </block> </next> </block> </statement> </block> </statement> <next> <block type="on_ext" id="#[MptmdIb9?F7D33]V)5"> <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> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
Freut mich übrigens dass das Script so gut ankommt!
-
Hi timnr1
Das mit der Temperatur habe ich jetzt so gemacht.
Wenn du einen Vorschlag hättest wie man es noch besser machen könnte dann würde mich darüber freuen.
Sonst wie immer es ist wider eine gute Idee von dir.
Die Idee ist sehr cool ABER : Hast du nicht das Problem, dass wenn es z.B
25.2°C ist meldet "Es ist zu warm"Dann kühlst du runter (z.B mit automatisch eingeschaltener Klimaanlage )
Dann bei "24-24.5°C sagts "Es wird langsam zu warm"?
Wenn nicht ist alles TOP!
Wenn doch (was ich vermute) =
Mach jeweils einen Ausführblock einen mit
- "ist kleiner als Letztes" dann sage "Es wird langsam kühler"
- "ist grösser als Letzes" dann sage "Es wird immer wärmer"
Wenn du weisst was ich meine?! Dann kannst du abfangen dass du jeweils eine Ansage hast wenns wärmer wird und eine wenns kühler wird.
Das würde halt bedeuten dass du das PRO Temparatur machen müsstest.
Also bei 20 - 20.5 dann
- "ist kleiner als Letztes" dann sage "Es wird langsam kalt"
- "ist grösser als Letzes" dann sage "Es wird langsam wärmer"
usw.
Also so a la:
Code
Alles anzeigen<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on_ext" id="xCB413d-@0!d=qWJS+@a" x="13" y="-112"> <mutation items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="rD88JH-Lri8W@!YHZIy]"> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="N3nv(L8umDoSi|f}OFRn"> <value name="IF0"> <block type="logic_operation" id="+}0J|0t#GNID=NZ%FZxE"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="XByGv{5:s,HH!mJknlzD"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="R{5]PO36nUJh[;)Wf4V!"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="2f21I|%E#`aO]FFQbYV^"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="!GDQTnEFh#u^Q0n!U~jn"> <field name="NUM">25</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="qS8:1:AEPp_@O^-!hgBF"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="VHCh!4R}DXw9+V,xQi9y"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="vg!a~i,x]3Qt]MZQFU?R"> <field name="NUM">25.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="Ep|0}LxCJw938^{k36cz"> <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="Tpe8sQPE7^{z+5f6/zz}"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="yoL`#ROIbzV=Oids]l4R"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="GL*ESxDV-Hoit#uGpOQJ"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="w,;@~t{/7yv%K]v)2^c|"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id=";iGvjQ_}/OR;U](-L^`s"> <value name="VALUE"> <block type="get_value" id="9#(dFP{g.{^Puefz6_%#"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="Y@sfg9[`lN%)0K}0`TiB"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="#3B4rv`,7a4,lb=nX[;Z"> <field name="TEXT">Es ist zu warm</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="|`#elGu8?c](#5jP)9(K"> <mutation items="1"></mutation> <field name="CONDITION">lt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="]E.9|FVyy]:0yyXQ2Tz}"> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="U5lle=5I1`DZoWE+i?Y+"> <value name="IF0"> <block type="logic_operation" id="zOlZYq3]lm:V^-*v@n6d"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="mE.%q#%}(C#9HLi1F}B:"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="|.|Cc?tTN(.1j`wxo)Xy"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="k(`dTIivO++%f^o[1v+y"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="px`DwszplN,o/FkpeSP4"> <field name="NUM">25</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=";E6j3BB|:TNW5MCCDnkt"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="myN*z}kfTZS`sQi^G(W@"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="^s0LhTE?!(7ZDU]VBN./"> <field name="NUM">25.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="0s883qQp`+u:Kx}|^3!q"> <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="vTpw]Q|r[:;;Ip;2lCL0"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="[kXg`7yp0vjt1%.v%e7,"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="7_YK#=M-~U{Nzgc.AM%O"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="G[qFpEN-o4_^f1V655;F"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id="jCk8u?j0siXuCOE+fAq."> <value name="VALUE"> <block type="get_value" id="HDF.1Z*KlqY~FCYjpQe_"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="64oVIb*U;NAB9-ZiR4d:"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="}dN%1Kpuxdok}~/B0DL7"> <field name="TEXT">Es ist zu warm - wird aber kühler</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="dx-[FX?!]TEHROSBL}Id"> <mutation items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="W}e3Fp]Vw}?GPpWbxT8("> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="VWcH?QsoGwio^(@6+BWZ"> <value name="IF0"> <block type="logic_operation" id="iqgGBh~^2B8,IPrJu0Nh"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id=",UGz9F|/c4fTsP]}h`mG"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="fCp|u8ozAGhF|dO7MeF2"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="wCC8r6cb|7,rqoNZciD4"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="QfD=~CrfB9KNBy*b;@[J"> <field name="NUM">24</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="GzS[i2PhCCfK5!:f+Oum"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="o%.(t*)`O/_v9Q[`FTWV"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="{IErWn[7kod0VnY#^sX["> <field name="NUM">24.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="ez4M+K/xz#mTO1-DLTql"> <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="B8MAno:q=XkV]kG5`Vf`"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id=")hpVUA_4|_EZgDFZHb#I"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="1kTOtC1;H}P5TcX%}d@A"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id=".f,n!5qT/oPmPqg6NAwz"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id="%;:WHwNJMjba4BpcH5EN"> <value name="VALUE"> <block type="get_value" id="^~h*Eu2;pyR47:Gr,W6j"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="_SE7J6jDLD]X6X;346QK"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="7y=|;K8~+~FU;*MExTNT"> <field name="TEXT">Es wird langsam zu warm</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="j[#U#Jo^1pP@Q}tk=p-k"> <mutation items="1"></mutation> <field name="CONDITION">lt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="GzJayxidHv:S^G`zQP3]"> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="wnWNfD+(Y1=q[o*HoJr`"> <value name="IF0"> <block type="logic_operation" id="}1F16^9v+XcPGw3YMVUz"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="vnDaXXE)Frz-_r.LQ5{C"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="c2Jy^Dnd^{By#{{)Ob=8"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="?Aw/_qTJPTiWN?@oOhe8"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="TQLbLWPnS;l(~frPBYkm"> <field name="NUM">24</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="c_c78HDH`o3A0%mPsbE`"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="Pk?hydu=%iz}fZFku/v?"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="~lSOc~+,7X?=jUCez95;"> <field name="NUM">24.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="a#gH?2#WKv;9S~%,UJsn"> <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="`(r[wGQ8{36@^x,+02.K"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="qzDNS2yd@#r}ECVxjtiY"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="W;)n2e!C:1Jt0CoYe*ID"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="94s]!0*7q;4=}F2vZ|kC"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id=":w,f9`_aIMSsw9f#e(jY"> <value name="VALUE"> <block type="get_value" id="y(h;I/W;-[!^H,uB3yTN"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="fd=`;^0B-M4mT:=oQR{W"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="xkdI!dhJCzbTHwGPou!u"> <field name="TEXT">Es wird langsam von kühler - vorher war es zu warm</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="tx6Es^J_Bf,ALA9+e38Y"> <mutation items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="*CLV_,-z_7P^vv^uZx|P"> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="fJ{H^a:[o:mHzvY?ZE67"> <value name="IF0"> <block type="logic_operation" id="gDL#nRn?HTT0EPc;1F@H"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="se;:k:YnSAYwqB40E-(l"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="2uEyscD1Qo6Ynk|Y(Dj,"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="d9aG2h5C?rPoMxnXL#c}"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="n~Mo+E^)C;Fh2Pv{k2(/"> <field name="NUM">23</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="F*cI]kS=r7i-sU0nsC=U"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="an:iiyWgSEUtnVA{W]LL"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="2*}PxX{nK]nxPcz2@^FR"> <field name="NUM">23.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="1,V}miA)bq~h1u,@l6z%"> <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="s+4L|E-SkQ;l`q+S(s%{"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="t-,x{ESL/):kfbCnXt~j"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="4]q7+fzy%{|@-g35.-I%"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="12QKddwIrWBq;;-iO#|r"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id="_DC@guzxNI!hFP[9o@!v"> <value name="VALUE"> <block type="get_value" id="!7`,u/~3JKpd=9_,)iX`"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="LWeKC?-}.:@+:hxUZx1N"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="SoqNyH%3+VvQ4IaadMUZ"> <field name="TEXT">Die Temperatur ist immer noch akzeptabel</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="%eR7*KZat3@-ajvEbkLO"> <mutation items="1"></mutation> <field name="CONDITION">lt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="^5H|L+^P];?E85QIYDyx"> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="(OFcjZTHQ?t7uxAWFSf/"> <value name="IF0"> <block type="logic_operation" id="LQ:7I=@K[XE08Ya5`:jl"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="@bmVE/s7o.|cKo]Wi~,n"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="([MUL.|imf@fM8^|!3MI"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="@TeOqK#vV+*d6D[YW7OX"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="[ZJGMa7D^rGs+gs*WuS."> <field name="NUM">23</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=";MXiTWvjrA=*A@FJ@-*+"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="9kW?9FTYclVHh*99[/jf"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="aKgA-wOxlg~AJ=gLj#|r"> <field name="NUM">23.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="B-xdA_.00tq:_1+u?CMz"> <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="yPc4uyU9+[,fo[)W5ZC%"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="byqow,k1bEN7Nh=7xP68"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="xy?*)?-G;VB_5)n)-LIZ"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="GYVMlHJ/uMEtEb}e0/``"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id="766yHRFUos}l{Ehs]qiR"> <value name="VALUE"> <block type="get_value" id="_ehE@Ur-)?IV(g,Tj%R."> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="zEhF[uS-5++*ai{Z,;nc"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="bC;-dufx~d5z3nS{J=Yj"> <field name="TEXT">Die Temperatur ist wieder akzeptabel</field> </block> </value> </block> </value> </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">mihome.0.devices.weather_v1_158d00022cd136.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="}%.Y597(@23|j,QB(g=o"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="Zi)7bEeQh{]dXy(Cn:*v"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="bo3zIf@zsgw==s#rd^FI"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="k%_kt5J#i[XCM0TRs~cG"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="!:5(uGoM};y72Vk{5?ET"> <field name="NUM">22</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="6t~(QIY]2c%Yv}1ymJ?F"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="=Bq5bbiOvv,Ox!W]_!tP"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id=".8d%O_efsFX#T7auC}pb"> <field name="NUM">22.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="^o}V%bX(kJD~*F2^Qo?d"> <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">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="D2u`_)R.0r4Wc8Z4)|l+"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="O*.L_jh|rZc.62M+t]|c"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="|-V{vAiekq-s3m=BBx*3"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id="eh?2w*;98~JxbN`UP2m@"> <value name="VALUE"> <block type="get_value" id="dO1s__W|)L.^|+;|LfGU"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="(sj+WLy.X|2;#hhKJtsD"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="P1kMC+aOz}p[^/2gS(I@"> <field name="TEXT">Es ist nun eine angenehme Temperatur - vorher war es zu kühl</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="vlOW!unG0NzA@p+nq`p2"> <mutation items="1"></mutation> <field name="CONDITION">lt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="vLH(}3tgh9W5lvm/Nll2"> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="/pH:PHBp6H}/CXjNa2up"> <value name="IF0"> <block type="logic_operation" id="7u4_RsCfp_]lqZuJv|DY"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="X#gN;@2Q[L=#!X}~ubVz"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="Aw^].h[f!5`*J;g(H2Ih"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="C/kUJEVmPe}D]Vnmw8r5"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="0j/^GA;{rp5Eaq:wQi/I"> <field name="NUM">22</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="6:G[C2?En1IMY_d2)-X?"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="B3.k)myh))P[,:bvFQDo"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="rCV7;Akj,.GkMpAF7gv3"> <field name="NUM">22.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="U/L-;7h@~f_bcevxf3p{"> <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="H5rzUC0Dc2XZ329Oz9KC"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="JZN[?3+@hEgFQ2@l.O}5"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="wgwwX#^4[!s;tlP;?zXn"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="aX9M+E`vq8O@.wV1Ue)j"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id="X3p4wF`n!h{hC4mCk_=6"> <value name="VALUE"> <block type="get_value" id=":7F62HVv?Szzg2Ah!Sj!"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="G}vY45Akw87)7o)!o::1"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="Z5p?L6vc*U1iIIq3i~i}"> <field name="TEXT">Es ist nun eine angenehme Temperatur vorher war es zu warm</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="jN`?UXN,N#B*yQ=c^Mbj"> <mutation items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="F6Xu~`@4nATgA+5Y[yzQ"> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="i/Zi*xYd:nU.`tqYm9H{"> <value name="IF0"> <block type="logic_operation" id="3wu.Mp7ae%PHuTb:!d5,"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="5;9*Y-q;`/J0C[Grp;wB"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="zB1t!orYh84(;.fjb5i6"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="n#s!%*h#[qrXjSzu?vW["> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="rVGBUmGRIpKD!TVSleWV"> <field name="NUM">20</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="Bgaf/H7QeKnN5+OEz[NQ"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="bg;A`Gq_Uvo+m=R05Kox"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="GAP2QKCCt7z@9pnQUnFx"> <field name="NUM">20.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="3n|lVfEa)gZENKP/]eWB"> <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="PX-=~jcO:w?akI4;a`-#"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="*Vn:iA,+mti_33j!RHbC"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="K(z}}W3^_Hdq)KL7ojNz"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="A*]9i!}sA#Up*o/N7{[P"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id="+t1~n2])lk(AA1_[8-^V"> <value name="VALUE"> <block type="get_value" id="]UX?xIZDN8X?H0f:*;r1"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="|,7}^0g9@d)jpj@!H!W{"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="3Ni*r;o9Rq(noH;r8DEx"> <field name="TEXT">Es wird langsam wieder wärmer - vorher war es zu kalt</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="/fCv::Om^~j`[6W*(,Oe"> <mutation items="1"></mutation> <field name="CONDITION">lt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="4Q?k8d/znv9JF{3_oddh"> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=",9a6bu[,sN8-7IrMWa1w"> <value name="IF0"> <block type="logic_operation" id="69)ORZwH{PBckTJ5)|Vq"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="P3a#;xtNlia`ct+!sXMZ"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="n6]A^j{?KnMxBe/}cftj"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="tu]Jl#UJVF){n[~ZOIJJ"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="9^nx,J`4s(e3?#Z[6)+y"> <field name="NUM">20</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="W;n7tr`}gXh%`%Z2t1L+"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="VEn,MxWsg9|A3pLQGX?w"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="dLAZjPoQio.B4O(EqN}("> <field name="NUM">20.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="tW1K[F%R1!Ic*u]RKEtS"> <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="@.tmwYk;]yJk-R~IG;aw"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="K(L7cAY6q:4f+kfkM::."> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="]+nzU;I|Y6NZgz{+W4zN"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="]^sec|K1~2o3-[WhM+MN"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id="1hdCpyIn0g.1Q)416(u."> <value name="VALUE"> <block type="get_value" id=":~l#McPJ:vJ6ngfKEnG)"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="Vb|c{*/vBOBJ^0x}t8qM"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="j(qZ.a=tx4vEy+*la0~N"> <field name="TEXT">Es wird langsam kalt</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="%iCDP%wR;CK!R^jKFRzj"> <mutation items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="T_+(B_B;Ay+Nfb*{4L*J"> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="mrr;M{@G?kr{#Z+8d,6+"> <value name="IF0"> <block type="logic_operation" id="%:lp874o5|t6zNBS@rWL"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="=QW[^1ydjmm)0t}B]zG0"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="UX.zViS/E@}0KsO!9P.4"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="ru8XVMZ?{_6sf,LAJ%g5"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="_iei[@S-2GlcN-9EmWMm"> <field name="NUM">18</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="{-iX?FyE;HBl#K:h4#:k"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="d*9l#@1a.eRVzgn.]IME"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="bQraS0pM9!pk-@U,fQ[/"> <field name="NUM">18.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="?Ao19Z~|88-w,E*4%R@W"> <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="z*h1m1(w5B6%Ir@EjGKR"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="~LU[m8B@K~)~Ntv%3`H/"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="s+agdc-v+U1E!%9cNUv1"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="piiU}|Y,|C=QP{xn5#Zp"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id="UJ[x?qF1PX1:%-IfVWyW"> <value name="VALUE"> <block type="get_value" id="rX`{#yuiLq+5lW-,{Au_"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="Z4.#/t9tjZ}2:Qe=WIjN"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="@5D%1URoGs=*=-TUHX1)"> <field name="TEXT">Es ist zu kalt - wird aber wärmer</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="on_ext" id="0QSCCnrqVRER]N*enXwA"> <mutation items="1"></mutation> <field name="CONDITION">lt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="K^K[^%=`1f^129#}L(2d"> <field name="oid">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=",_CYY|_T^`aoG:O*z_{?"> <value name="IF0"> <block type="logic_operation" id=",HI@bd]};i`JMiv/c90!"> <field name="OP">AND</field> <value name="A"> <block type="logic_operation" id="}jPb!P/O@j9gf8}9FKsI"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="6cNvb-Bw4#,Q~1cEk}9}"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="_mB-*iikJ~+Ivtup`n#c"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="Y-gt*vwZPYJA}qk*)f}F"> <field name="NUM">18</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="9RIjy6U}^D]3XjdJEd)5"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="KdkSeC^JjY8/4.P2Lt^S"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> <value name="B"> <block type="math_number" id="[i,EBA9mMz8w*wrs[hRN"> <field name="NUM">18.5</field> </block> </value> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="M6_fMT+tTN1/e-Thj8mU"> <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*9n[4Nw@|/^Mw?lNau"> <field name="INSTANCE">.0</field> <field name="LANGUAGE"></field> <field name="LOG">log</field> <value name="VOLUME"> <block type="math_number" id="z)NLn8P[dI,Ztj)FLl;B"> <field name="NUM">60</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id=":|=7]M~FzE:6):T@h?Yd"> <field name="TEXT"></field> </shadow> <block type="text_join" id="N7_P2;A?.xOMl+W^3lB["> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="P(fH#D,)tSCIUJuz6DW0"> <field name="TEXT">Die Temperatur im Arbeitszimmer beträgt aktuell</field> </block> </value> <value name="ADD1"> <block type="convert_tonumber" id="PTl~RScEE9dQr,7LkSa1"> <value name="VALUE"> <block type="get_value" id="Q_7M}gA+`b16+*VUAP6t"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.weather_v1_158d00022cd136.temperature</field> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="K3il7CN^OcOl*H_PJl,m"> <field name="TEXT">Grad</field> </block> </value> <value name="ADD3"> <block type="text" id="kBUqWiWch^r}5o:V8LWk"> <field name="TEXT">Es ist zu kalt</field> </block> </value> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
Hi timnr1,
so sieht das jetzt bei mir aus:
schimmer-media.de/index.php?attachment/4321/
schimmer-media.de/index.php?attachment/4320/
Das mit dem „timeout6” in deinem Blockly habe ich nicht ganz verstanden?! Ist das unbedingt notwendig?
Die akustische Ansage, wie viel es regnet setze ich dann um, wenn ich weiß, dass die anderen Skripte laufen - aber dazu muss es erstmal regnen ;).
Vielen Dank und viele Grüße
Stefan
Das Timeout ist nicht nötig bei Alexa Bei Google Home habe ich aber ohne immer ein Problem weils die MP3 Datei irgendwie zu langsam schreibt oder keine Ahnung wieso Mit 6500ms Timeout klappts jedenfalls immer sauber hehe
Zum testen kannst es ja künstlich regnen lassen mitnem glas wasser oder giesskanne
-
Problem scheint, das zu sein:
schimmer-media.de/index.php?attachment/4323/
Die Liste die du da ansprichst ist bei dir nicht vorhanden oder? dann findet es kein Element und sagt daher auch nichts. Du musst die andere Liste da reinsetzen die "begtext_fam_morgen"
Versuchs mal so:
Code
Alles anzeigen<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="variables_set" id="_MMSDmn:Ab{fnFy3v4TV" x="13" y="-287"> <field name="VAR">begtext_fam_morgen</field> <value name="VALUE"> <block type="lists_create_with" id="4[oWchR)!euzpmS87DK#"> <mutation items="13"></mutation> <value name="ADD0"> <block type="text" id="@]4GI~wck|mx/9%r~]J{"> <field name="TEXT">Einen wundervollen guten Morgen.</field> </block> </value> <value name="ADD1"> <block type="text" id="iUVNC=jJZV.EB7Y~!P|@"> <field name="TEXT">Ich wünsche einen tollen Start in den Tag.</field> </block> </value> <value name="ADD2"> <block type="text" id="%I?|h:]d6B}ZfOPq4l|T"> <field name="TEXT">Das wird ein toller Tag.</field> </block> </value> <value name="ADD3"> <block type="text" id="rqDG`;)P[y6n]|`5Tu`X"> <field name="TEXT">Das wird einer deiner besten Tage.</field> </block> </value> <value name="ADD4"> <block type="text" id="3:+AIln(5dg;?f-X6^d2"> <field name="TEXT">Dieser Tag ist einfach wundervoll.</field> </block> </value> <value name="ADD5"> <block type="text" id="e21ae*r{vq}+sOl=4;}H"> <field name="TEXT">Guten Morgen.</field> </block> </value> <value name="ADD6"> <block type="text" id="oV%@SqY7fh7Wd6(WzbL@"> <field name="TEXT">Ich wünsche dir einen schönen Tag.</field> </block> </value> <value name="ADD7"> <block type="text" id="2qMOO__Qzf%#CKU%}sU+"> <field name="TEXT">Hast du gut geschlafen?</field> </block> </value> <value name="ADD8"> <block type="text" id="vGGm_50;a68y[-j#(ye9"> <field name="TEXT">Der Tag wird super. Freu dich drauf.</field> </block> </value> <value name="ADD9"> <block type="text" id="?@}(+f%|L?b@6aDXW{+H"> <field name="TEXT">Ich bin motiviert. Bist du auch motiviert?</field> </block> </value> <value name="ADD10"> <block type="text" id="PJ:tVic{c{(^eKCNo=7`"> <field name="TEXT">Was für ein toller Morgen.</field> </block> </value> <value name="ADD11"> <block type="text" id="(5%?wiKaVO~%c=*:y#/%"> <field name="TEXT">Der Tag kann nur perfekt werden. </field> </block> </value> <value name="ADD12"> <block type="text" id="oBHnt5X+6XqG|w~F{@O]"> <field name="TEXT">Wunderschönen guten Morgen</field> </block> </value> </block> </value> <next> <block type="on" id="4Yj~O7Dr*DmCTxHXym;-"> <field name="OID">tr-064.0.devices.Heike-HUAWEI.active</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="comment" id="K1cy0[c9q/T/!`Ouq:D7"> <field name="COMMENT">Dann prüfe, ob wert vom Handy = wahr & Begrüssung = unwahr</field> <next> <block type="controls_if" id="=V.@~[5G)]uS1`2`Zkt4"> <value name="IF0"> <block type="logic_operation" id=":vlJ,{]H~:rnxT(r(I03"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="tJ^jjptF@Ju?{H3u}zHh"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="g^|/]ychwu(z5Kp8.N*t"> <field name="ATTR">val</field> <field name="OID">tr-064.0.devices.Heike-HUAWEI.active</field> </block> </value> <value name="B"> <block type="logic_boolean" id="uQ,A?5J[=TXG0Y/`{M,l"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="Z]j9z5mKmnItZ;2y.FWF"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="4kYHQJV:x*dO}D(p[yCX"> <field name="ATTR">val</field> <field name="OID">MyVariable.0.TagesBegrüssung.Begrüssung_Heike</field> </block> </value> <value name="B"> <block type="logic_boolean" id="xDan_PA-_7NN;AhZ}sP["> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="VxnvM.h)(0p,NfT]U?2k"> <field name="COMMENT">Dann, Alexa spricht Nachricht</field> <next> <block type="control" id="^xTG_EU*sQ]6Wr)lZZ]{"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090LF0964641DTJ.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="]T~(.^M)jT8!F2w`LdA|"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="byF]|+gDmu`fas/78)5S"> <field name="TEXT">Hey Heike</field> </block> </value> <value name="ADD1"> <block type="lists_getIndex" id="y%lfuy7up(d2)Rp]u%W+"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="Jz_Yv6r0L@H-rU56eYjF"> <field name="VAR">begtext_fam_morgen</field> </block> </value> <value name="AT"> <block type="math_random_int" id="P1unb,+*SX8S{+O7!jY0"> <value name="FROM"> <shadow type="math_number" id="L1a`Rl5z!_w2Qvn*b%6-"> <field name="NUM">1</field> </shadow> </value> <value name="TO"> <shadow type="math_number" id="t+#x.|E3;YR(TaSnJ_#p"> <field name="NUM">15</field> </shadow> <block type="lists_length" id="n193wt:bSYRgSyS=9:#~"> <value name="VALUE"> <block type="variables_get" id="*uLiUh|rWl^v-[4Ws{xa"> <field name="VAR">begtext_fam_morgen</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="comment" id="xGPJOz3h-0:|0=;IWRw)"> <field name="COMMENT">und stelle Begrüssung auf wahr</field> <next> <block type="control" id="y1k7X@mKYEnBWuE#{8w3"> <mutation delay_input="false"></mutation> <field name="OID">MyVariable.0.TagesBegrüssung.Begrüssung_Heike</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="5oV7S5D6OD*UXFx:cWd["> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
Ich habe diverse Ansätze dafür..
Die einfachste beim Regensensor wäre wohl die Blöcke nur laufen zu lassen wenn "wurde geändert" und nicht wenn "wurde aktualisiert".
Beim Lüften (CO2) habe ich es so gemacht, dass ich "ist gleich oder grösser als letztes" eingestellt habe.. Wenn der Wert tiefer ist der Letzte wird das Script nicht mehr ausgeführt. Das heisst, es sagt es immer solange, bis jemand das Fenster aufmacht damit der Wert sinkt.
Beim Regen weiss ich nicht wie der Sensor Werte zurück gibt (True/False oder Zahlenwerte). Wenns einen Wert hat "Regen = true/false" dann mit "wurde geändert" und wenns eine Zahl ist die anzeigt wie viele mm/m2 es regnet würde ich eine Hilfsvariable erstellen in einem separaten Script.
schimmer-media.de/index.php?attachment/4305/
Dann kannst du diese Variable mit True/false steuern. Also ein Script machen mit:
(Da ich keinen Regensensor habe, ist "Netatmo-Wert-für-Regen" = deinem Netatmo-Regenmesser-Datenpunkt!)
schimmer-media.de/index.php?attachment/4306/
Wenn Wert-von-Regenmesser grösser als 0 -> setze "varEsRegnet" auf "True"
Wenn Wert-von-Regenmesser gleich 0 -> setze "varEsRegnet" auf "False"
Dann im Netatmoscript die Trigger-Objekt-ID von "Temperatur" auf "varEsRegnet" stellen und "ist grösser als letztes" ändern in "wurde geändert" Und dort wo du die Logik im Netatmoscript muss du dann auch sagen "ausführen wenn (Blaues Blockyelement) varEsRegnet = true"
schimmer-media.de/index.php?attachment/4307/
Wenn ich einen Regensensor hätte würde ich zusätzlich die Menge in ein akustisches Signal wandeln. Also wenn 10mm "leichter Regen" wenn 30mm "Regenschauer" bei 60mm "Starkregen" 120mm "Sintflut".
Dann dies einbauen in die Sprachausgabe - hier ein Beispiel wie ich das meine:
-
Könnte mit der 70 Zeichenbegrenzung zusammenhängen. Aber wenn du Alexa hast ist ja gut Alternativ könnte man den Webhook an jedem "." splitten und dann pro Satz einen SayIt Block nutzen - der Aufwand wäre aber ziemlich gross das zu bauen..
-
Doch es gibt diverse Schleifen. Das Problem ist, dass die gleichzeitig ablaufen direkt nacheinander - daher crasht der ioBroker bei Sprachnachrichten die MP3s erzeugen sollte und du musst den Raspi vom Strom trennen. Jedenfalls ist das meine Erfahrung
-
Hey Franz
Klar du kannst einfach bei dem Webhook in IFTTT noch folgendes reinpacken:
schimmer-media.de/index.php?attachment/4292/
Es kann dann einfach sein, dass Google nichts mehr vorliest weil die max. 70 Zeichen überschritten werden.
Bei Alexa könnte es jedoch klappen - da bin ich mir nicht sicher da ich keine Alexa Geräte hab und es daher nicht testen kann.
-
Hey! Das klappt mit Whatsapp auch. Einfach anstelle Wetter-Alarm Whatsapp eingeben bei ifttt if-trigger und bei der iobroker logik die das Schlagwort sucht.
Für Googlehome ist es etwas doof weil die sayIt den Satz auf 70 Zeichen beschränkt - danach kommt ein Fehler im Log. Bei alexa weiss ich nicht obs ne Begrenzung hat.
-
Hey zusammen
Ich habe einige Scripts gemacht, die mir Benachrichtigungen vorlesen die ich auf mein Handy erhalte.
Das Ganze kann natürlich extrem dynamisch angepasst werden und darum find ich die Idee so cool
Vllt. Hilfts jemandem oder bringt einem auf neue Ideen.
In meinem Fall, gibt es aktuelle Unwetterwarnungen per Google Home Mini wieder. Die App "Wetter-Alarm" setzt eine Benachrichtigung auf meinem Handy ab wenn eine Unwetterwarnung für meine Region erscheint. diese fange ich ab und verarbeite diese dann im Script zur Sprachausgabe.
Was braucht's:
- IFTTT
- In IFTTT kann man Webhooks absetzen - die URL dafür setzt sich zusammen aus der URL (Bild URL-fuet-IFTTT-Webhook.png) und dahinter noch den APP-Key (Bild App-key.png)
schimmer-media.de/index.php?attachment/4249/schimmer-media.de/index.php?attachment/4250/ - Den "IFTTT-Key" im Bild "URL-fuet-IFTTT-Webhook.png" braucht man nur, wenn man AN IFTTT Webhookevents schicken will - in dem Script muss man aber nur VON IFTTT Webhooks erhalten können - daher könnt ihr den erstmal vergessen
- In IFTTT kann man Webhooks absetzen - die URL dafür setzt sich zusammen aus der URL (Bild URL-fuet-IFTTT-Webhook.png) und dahinter noch den APP-Key (Bild App-key.png)
- Google Home Mini ODER Sonos ODER Alexa Echo
- ioBroker mit folgenden Adaptern | sayIt, cloud
Wie funktioniert's:
- Wenn eine Benachrichtigung auf dem Handy eingeht (beliebige) mach einen Webrequest mit dem App-namen und der Meldung an ioBroker (Bild IFTTT-Logik)
schimmer-media.de/index.php?attachment/4248/
schimmer-media.de/index.php?attachment/4247/
- Wenn der Webrequest eingeht und die Bedingung erfüllt, dass der Appname im Webrequest steht, starte die Sprachausgabe (Bild ioBroker Logik)
schimmer-media.de/index.php?attachment/4251/
- Sage die Meldung + was halt alles gesagt werden soll zusätzlich
Code
Alles anzeigen<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on_ext" id="P[*hA*GTt.K7.+XijjsE" x="-433" y="221"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="8AVG`18aDW+:WB57,_Dz"> <field name="oid">cloud.1.services.ifttt</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="jBV%:aEFsUb+k5a~N,TA"> <field name="VAR">Text</field> <value name="VALUE"> <block type="get_value" id="ghWEFsl;UoUNX#u]voVC"> <field name="ATTR">val</field> <field name="OID">cloud.1.services.ifttt</field> </block> </value> <next> <block type="controls_if" id="M16Zg`WwjYGckg4[sz)s"> <value name="IF0"> <block type="logic_operation" id="t.C(djgLBM8~k#7hlHrZ"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="oUzR)rVq4)w}P8}y1:HT"> <field name="OP">EQ</field> <value name="A"> <block type="convert_toboolean" id="%^Fr!V5zlnz=~?F8pkf5"> <value name="VALUE"> <block type="text_indexOf" id="E#qA^Hkyd7]e;W60p32-"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="L#V{.;NS/`CJfxO?P2i3"> <field name="VAR">Text</field> </block> </value> <value name="FIND"> <shadow type="text" id="q(GN)(6;[tKTatM=0F2j"> <field name="TEXT">Wetter-Alarm</field> </shadow> </value> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="!b5]F3=e}6/reB~AzRQ^"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="time_compare" id="J1kHU![nb*L6f_N?!63!"> <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="timeouts_settimeout" id="/-Mz7Y2(o,qkSEGm3_R@"> <field name="NAME">timeout</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="sayit" id=".@8=98f(~vm!AYZ!zRNb"> <field name="INSTANCE">.1</field> <field name="LANGUAGE"></field> <field name="LOG">debug</field> <value name="VOLUME"> <block type="math_number" id="[%C{2w-n=;tcdz}rA08g"> <field name="NUM">90</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id="%1nk1TTg9JB_sa2Ub936"> <field name="TEXT">text</field> </shadow> <block type="text" id="FizWdC#I8P7Fm}%|xNuN"> <field name="TEXT">Aufgepasst: Es folgt eine Unwetterwarnung.</field> </block> </value> <next> <block type="timeouts_settimeout" id="eRZij3z(AHld6*eBe^3b"> <field name="NAME">timeout2</field> <field name="DELAY">3000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="sayit" id="sq=vWlnlI/|3z_E3pVs?"> <field name="INSTANCE">.1</field> <field name="LANGUAGE"></field> <field name="LOG">debug</field> <value name="VOLUME"> <block type="math_number" id=";/(guMsrSvJV!52NNDtX"> <field name="NUM">90</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id="%1nk1TTg9JB_sa2Ub936"> <field name="TEXT">text</field> </shadow> <block type="text_join" id="km=5~;eO}V:lu[qdzeGS"> <mutation items="2"></mutation> <value name="ADD0"> <block type="get_value" id="?M,ZG)BN~#n(f*W+J*)/"> <field name="ATTR">val</field> <field name="OID">cloud.1.services.ifttt</field> </block> </value> </block> </value> <next> <block type="timeouts_settimeout" id="F7o]VQkl~N90m3K;X7Lw"> <field name="NAME">timeout3</field> <field name="DELAY">7000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="sayit" id="S9,]Z7yAo}-C/!O0pLoE"> <field name="INSTANCE">.1</field> <field name="LANGUAGE"></field> <field name="LOG"></field> <value name="VOLUME"> <block type="math_number" id="2RCYpT#v7:4=IS7Vdpy8"> <field name="NUM">90</field> </block> </value> <value name="MESSAGE"> <shadow type="text" id="%1nk1TTg9JB_sa2Ub936"> <field name="TEXT">text</field> </shadow> <block type="text" id="R.D|Qh_v^qa8Ey+k7,vf"> <field name="TEXT">Genaueres findest du in der App auf deinem Smartphone.</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </xml>
- IFTTT
-
Muss man dann noch irgendwie ein Datenpunkt anlegen damit immer was anderes genommen wird?
Hey Ostseereiter.
Nein kein Datenpunkt. Es nimmt immer ein zufälliges Element aus der Textliste. In dem Bild "Logik" sieht man, es nimmt immer ein Element zwischen 1 und "Anzahl-Listenelementen". Das heisst, du kannst die Liste immer erweitern mit mehr Sätzen und er wählt auch aus diesen dann automatisch ohne dass du sonst was anpassen musst.
-
Freut mich, dass das Skriptchen so gut ankommt !!!
-
hat dein Raspi eine grafische Oberfläche installiert oder nur das terminal? mit grafischer Oberfläche wäre das total easy.
Mit einer grafischen Oberfläche hast du oben rechts das WLAN Symbol -> klick drauf und wähle dein gewünschtes WLAN aus.
-
Ganz einfach und dirty würde ich es so machen dass ich den Block kopieren würde ca. 30x
Nach 30x klingeln hängen ja die meisten eh auf...
Blockly spielt alles nacheinander ab - jedenfalls tat es dass bei mir
Am Ende kannst du ja noch eine Prüfung machen
" Wenn Ringing = unwahr" Steuer "Speak" mit " "
Dann ist auch ruhe wenn der Wert unwahr geht. Ohne diese Prüfung wird dir wohl Alexa 30x sagen "Ein Anruf" auch wenn es nicht mehr klingelt.