shelly 1: zyklisch, zeitgesteuert, gesteuert via ...
es wurden leider nicht die geforderten Angaben erfühlt.
shelly 1: zyklisch, zeitgesteuert, gesteuert via ...
es wurden leider nicht die geforderten Angaben erfühlt.
Hallo,
ich hätte vor einen Aufstellpool komplett zu automatisieren.
Sollten nur Teilerfahrungen vorhanden sein, bitte nur diese kommentieren.
Verbessrungsvorschläge sind gerne gesehen. Möglicherweise habe ich andere Lösungswege übersehen oder außerachtgelassen.
Habe meiner Meinung nach die theoretisch sinnvollste bzw. lt. Recherche vernünftigsten Varianten nicht weiter hineinfließen lassen, da ich wirklich eine ehrliche Meinung haben möchte.
Nach aktueller Recherche ist der korrekte Aufbau wie folgt vorzunehmen (bei den Unterpunkten ist eure Meinung/Erfahrung gerne erwünscht):
Beschreibung:
Bildschirmfoto:
Publizierung:
Beschreibung:
Bildschirmfoto:
Publizierung:
<block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="ZCbcB{kvcWCvJ2I0=;r1" x="-262" y="63">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">lt</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id=";DM0h1%G*3c59L,Vzt3~">
<field name="oid">tado.0.122768.Rooms.2.Actual_Temperature</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="debug" id="h,n349Slr/;uPq%Cqd2i">
<field name="Severity">warn</field>
<value name="TEXT">
<shadow type="text" id="@1!s_uCcqUG=p%ZGw4_W">
<field name="TEXT">test</field>
</shadow>
<block type="text_join" id="uuvM`DLd[P6s!e0WtiZ!" inline="false">
<mutation items="7"></mutation>
<value name="ADD0">
<block type="text" id=".Yq1V3+/5P$D?J`U~P7C">
<field name="TEXT">Nachlegen oder einheizen. Es hat aktuell noch </field>
</block>
</value>
<value name="ADD1">
<block type="math_rndfixed" id="ciuGN?Rul0K{V,bEZRuj">
<field name="n">1</field>
<value name="x">
<shadow type="math_number">
<field name="NUM">3.1234</field>
</shadow>
<block type="get_value" id="A71s:S-X3w!ro+Cs$2lT">
<field name="ATTR">val</field>
<field name="OID">tado.0.122768.Rooms.2.Actual_Temperature</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="text" id="8W%uUbC~gdA4XiLA+oZ(">
<field name="TEXT"> °C weiter fallend.</field>
</block>
</value>
<value name="ADD3">
<block type="text_newline" id="@B|FY!iJXK4.FA.~Y.|s">
<field name="Type">\n</field>
</block>
</value>
<value name="ADD4">
<block type="text" id="W6#yJt$W?#vG[w!Pj(1.">
<field name="TEXT">Alarmschwelle ist auf </field>
</block>
</value>
<value name="ADD5">
<block type="math_rndfixed" id="zEYnFN~2}*?BA5GEmx0H">
<field name="n">1</field>
<value name="x">
<shadow type="math_number" id="oD`rLe[PvKt~h[z#0*V.">
<field name="NUM">3.1234</field>
</shadow>
<block type="math_arithmetic" id="OHc0-4Bj^=rIt!++gss3">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number">
<field name="NUM">1</field>
</shadow>
<block type="get_value" id="vvI8e.}J@`qGg0`9jfaC">
<field name="ATTR">val</field>
<field name="OID">tado.0.122768.Rooms.2.setting.temperature</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="wa;H?Pll7m0Fth:LN#rt">
<field name="NUM">1.035</field>
</shadow>
</value>
</block>
</value>
</block>
</value>
<value name="ADD6">
<block type="text" id="G}qo=sO*Tu]fjU4VQ;2_">
<field name="TEXT">°C gesetzt.</field>
</block>
</value>
</block>
</value>
<next>
<block type="controls_if" id=",lghx2kuId1Vy_%b(LI$">
<value name="IF0">
<block type="logic_operation" id="ZNlUt*+sz/w:NM):pCof" inline="false">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="PtUhH}66P`v|ZL!E//[}">
<field name="OP">LT</field>
<value name="A">
<block type="get_value" id="49rS:7cKf1/[opAg`%/I">
<field name="ATTR">val</field>
<field name="OID">tado.0.122768.Rooms.2.Actual_Temperature</field>
</block>
</value>
<value name="B">
<block type="math_rndfixed" id="67A,E!2*;d^(Er%Sug8I">
<field name="n">1</field>
<value name="x">
<shadow type="math_number" id="yN/udVB#O?X6I$k1S]rE">
<field name="NUM">3.1234</field>
</shadow>
<block type="math_arithmetic" id="|}Sn]kF9r^V_EOBz9P+v">
<field name="OP">MULTIPLY</field>
<value name="A">
<shadow type="math_number" id="{ZBFg0j$p/BO])BR^U?.">
<field name="NUM">1</field>
</shadow>
<block type="get_value" id="B%e$LJa|;P*8;wx$ceyJ">
<field name="ATTR">val</field>
<field name="OID">tado.0.122768.Rooms.2.setting.temperature</field>
</block>
</value>
<value name="B">
<shadow type="math_number" id="5iDHq8krNXh*`#4iFe|O">
<field name="NUM">1.035</field>
</shadow>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_operation" id="Uzv@+$Er|:a/-m}E;Ebl">
<field name="OP">AND</field>
<value name="A">
<block type="logic_compare" id="{o0_-qOgU[LE__nubQ,e">
<field name="OP">NEQ</field>
<value name="A">
<block type="get_value" id="D*d+v]pAref3sK1MjL?d">
<field name="ATTR">val</field>
<field name="OID">tado.0.122768.Rooms.2.setting.power</field>
</block>
</value>
<value name="B">
<block type="text" id="{bL?Pt6KB)c2J]U+s%(.">
<field name="TEXT">OFF</field>
</block>
</value>
</block>
</value>
<value name="B">
<block type="logic_operation" id="Qwr0]K!vq{_f{vN;Px+}">
<field name="OP">AND</field>
<value name="A">
<block type="time_compare_ex" id="r86s!tEt:otf=XNM/bk.">
<mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation>
<field name="USE_ACTUAL_TIME">TRUE</field>
<field name="OPTION">></field>
<value name="START_TIME">
<shadow type="text" id="B.393k4O)l4!6!CgwM03">
<field name="TEXT">06:00</field>
</shadow>
</value>
</block>
</value>
<value name="B">
<block type="time_compare_ex" id="{_H#[:dH5$XNR4@S[9Vp">
<mutation xmlns="http://www.w3.org/1999/xhtml" end_time="false" actual_time="true"></mutation>
<field name="USE_ACTUAL_TIME">TRUE</field>
<field name="OPTION"><</field>
<value name="START_TIME">
<shadow type="text" id="hRt9dQJ,7sxgmqnp[hxE">
<field name="TEXT">20:00</field>
</shadow>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="toggle" id=")RV;D%,$h~uU;j.wkGM0" disabled="true">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">harmony.0.Harmony_Hub.Sony-Heimkino.Mute</field>
<field name="WITH_DELAY">FALSE</field>
<next>
<block type="control" id="s*ONNY_QIU=p0}$;VaSA">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">alexa2.0.Echo-Devices.G091EU0805031XFU.Commands.announcement</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="text_join" id="]Ob`6H{@:D(90$O3I$dI">
<mutation items="3"></mutation>
<value name="ADD0">
<block type="text" id="h`d%l!e2rou!G7TLW|9A">
<field name="TEXT">Nachlegen oder einheizen. Es hat aktuell noch </field>
</block>
</value>
<value name="ADD1">
<block type="math_rndfixed" id="tkF=Qm/@seHF)h_Yv$EO">
<field name="n">1</field>
<value name="x">
<shadow type="math_number">
<field name="NUM">3.1234</field>
</shadow>
<block type="get_value" id=":l|tO_C=`uU7J!b7CJN=">
<field name="ATTR">val</field>
<field name="OID">tado.0.122768.Rooms.2.Actual_Temperature</field>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="text" id="I+e+bt5J@qTQ9w;J_=Km">
<field name="TEXT"> °C weiter fallend.</field>
</block>
</value>
</block>
</value>
<next>
<block type="timeouts_wait" id="vZRxvZm?s9n(FocRYT{o" disabled="true">
<field name="DELAY">11</field>
<field name="UNIT">sec</field>
<next>
<block type="toggle" id=",tBX*%lwy:7[fh3=;1:4" disabled="true">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">harmony.0.Harmony_Hub.Sony-Heimkino.Mute</field>
<field name="WITH_DELAY">FALSE</field>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
on({id: 'tado.0.122768.Rooms.2.Actual_Temperature', change: "lt"}, async function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
console.warn((['Nachlegen oder einheizen. Es hat aktuell noch ',Math.round(getState("tado.0.122768.Rooms.2.Actual_Temperature").val*10)/10,' °C weiter fallend.','\n','Alarmschwelle ist auf ',Math.round((getState("tado.0.122768.Rooms.2.setting.temperature").val * 1.035)*10)/10,'°C gesetzt.'].join('')));
if (getState("tado.0.122768.Rooms.2.Actual_Temperature").val < Math.round((getState("tado.0.122768.Rooms.2.setting.temperature").val * 1.035)*10)/10 && getState("tado.0.122768.Rooms.2.setting.power").val != 'OFF' && compareTime('06:00', null, ">", null) && compareTime('20:00', null, "<", null)) {
setState("alexa2.0.Echo-Devices.G091EU0805031XFU.Commands.announcement"/*announcement*/, (['Nachlegen oder einheizen. Es hat aktuell noch ',Math.round(getState("tado.0.122768.Rooms.2.Actual_Temperature").val*10)/10,' °C weiter fallend.'].join('')));
}
});
Beschreibung:
Bildschirmfoto:
Publizierung:
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="p*-$t3f@~7*C#1ac#@]O">cnt</variable>
<variable type="timeout" id="timeout">timeout</variable>
<variable type="timeout" id="timeout3">timeout3</variable>
<variable type="timeout" id="timeout2">timeout2</variable>
</variables>
<block type="on_ext" id=",|?d=e^/)aLNka/4i~.C" x="1067" y="1110">
<mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid" id="$pb_Q;EQV#xYAfrzLZ17">
<field name="oid">default</field>
</shadow>
<block type="field_oid" id=")P52FE0%`HJTm$s8j*.I">
<field name="oid">shelly.0.SHSW-1#C49979#1.Relay0.Input</field>
</block>
</value>
<statement name="STATEMENT">
<block type="math_change" id="t@ESvQCb5{q/Xf_d@.?(">
<field name="VAR" id="p*-$t3f@~7*C#1ac#@]O">cnt</field>
<value name="DELTA">
<shadow type="math_number" id="Iz|a(Nh5Ii+.,]lngmqK">
<field name="NUM">1</field>
</shadow>
</value>
<next>
<block type="debug" id="~1Q)H1m1jeS@|;Z#V$DX">
<field name="Severity">warn</field>
<value name="TEXT">
<shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="dQ|eubZfsTKTiBuJB*jg">
<field name="TEXT">test</field>
</shadow>
<block type="variables_get" id="YS}o{(WHLj;3mY~!1sk:">
<field name="VAR" id="p*-$t3f@~7*C#1ac#@]O">cnt</field>
</block>
</value>
<next>
<block type="controls_if" id="PJ./cB1b(nfuZmWwb0;a">
<mutation elseif="2"></mutation>
<value name="IF0">
<block type="logic_compare" id="5*|Hq.3Vgq_[rSWET54b" inline="false">
<field name="OP">EQ</field>
<value name="A">
<block type="variables_get" id="[@G-w$u5EdWV-Y_p2:7d">
<field name="VAR" id="p*-$t3f@~7*C#1ac#@]O">cnt</field>
</block>
</value>
<value name="B">
<block type="math_number" id="+F1LB[}2!WSoIEb^uSVs">
<field name="NUM">1</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="timeouts_settimeout" id="qU3E+m0`crr2|#P_tZBm">
<field name="NAME">timeout</field>
<field name="DELAY">2000</field>
<field name="UNIT">ms</field>
<statement name="STATEMENT">
<block type="variables_set" id="i,x^WBgz[2]%Lwe~2(,m">
<field name="VAR" id="p*-$t3f@~7*C#1ac#@]O">cnt</field>
<value name="VALUE">
<block type="math_number" id="h^up02eM7sYFFRfrS`F4">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="timeouts_settimeout" id="9=52h){v~7nkDUQHx`x#">
<field name="NAME">timeout3</field>
<field name="DELAY">3</field>
<field name="UNIT">min</field>
<statement name="STATEMENT">
<block type="control" id="8b_2m-Ik3fA7x:D92%sg">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">shelly.0.SHSW-1#C49979#1.Relay0.Switch</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="}2(|jPq:rgt#}u)3?Cnb">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</statement>
</block>
</statement>
<value name="IF1">
<block type="logic_compare" id="7J[jeZYGjM0J~4`ccN2~" inline="false">
<field name="OP">EQ</field>
<value name="A">
<block type="variables_get" id="Tu+|jI{4WUZMS:*L4Yi5">
<field name="VAR" id="p*-$t3f@~7*C#1ac#@]O">cnt</field>
</block>
</value>
<value name="B">
<block type="math_number" id="rw/vk#jLI-M:_1`U[^t!">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<statement name="DO1">
<block type="timeouts_cleartimeout" id="T%$FEfY;5x-Z~KkG?PP$">
<field name="NAME">timeout</field>
<next>
<block type="timeouts_cleartimeout" id="lhN`[RpCFYfn%bmWDn-v">
<field name="NAME">timeout3</field>
<next>
<block type="timeouts_settimeout" id=",QGPb*]a6K5I./@R6me?">
<field name="NAME">timeout2</field>
<field name="DELAY">2000</field>
<field name="UNIT">ms</field>
<statement name="STATEMENT">
<block type="variables_set" id="?da}6tT(N/xuf8b^JQqc">
<field name="VAR" id="p*-$t3f@~7*C#1ac#@]O">cnt</field>
<value name="VALUE">
<block type="math_number" id="No,3*B1[}n)i8tYG6S9L">
<field name="NUM">0</field>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
<value name="IF2">
<block type="logic_compare" id="AE~sgDY.7+7*NH|7;):}" inline="false">
<field name="OP">GTE</field>
<value name="A">
<block type="variables_get" id="40WITygti?qi*oQ;Lwu.">
<field name="VAR" id="p*-$t3f@~7*C#1ac#@]O">cnt</field>
</block>
</value>
<value name="B">
<block type="math_number" id="c!C#,!:(0#t[g)##X^Cv">
<field name="NUM">3</field>
</block>
</value>
</block>
</value>
<statement name="DO2">
<block type="timeouts_cleartimeout" id="Fb1Vi-Yt%`0z6Urmt*!A">
<field name="NAME">timeout</field>
<next>
<block type="timeouts_cleartimeout" id="Y~_Z7SI32t{.+CA@|FcL">
<field name="NAME">timeout2</field>
<next>
<block type="timeouts_cleartimeout" id="Ge%Q(T6.]OIIE8aqGwrn">
<field name="NAME">timeout3</field>
<next>
<block type="variables_set" id=")*,W%[5R.;]B133AVyJx">
<field name="VAR" id="p*-$t3f@~7*C#1ac#@]O">cnt</field>
<value name="VALUE">
<block type="math_number" id="yve|*/[x-E7tF{;5-qZf">
<field name="NUM">0</field>
</block>
</value>
<next>
<block type="timeouts_wait" id="-sI,8hF~Mf4~8@B/Qi/l">
<field name="DELAY">500</field>
<field name="UNIT">ms</field>
<next>
<block type="control" id="vr(?IruY2J[EimO]$h%K">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">shelly.0.SHSW-1#C49979#1.Relay0.Switch</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="xC5[{M,@[}Sq~?.*Kzst">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="timeouts_wait" id="8VZ08e_9X{q7$wnav1uC">
<field name="DELAY">500</field>
<field name="UNIT">ms</field>
<next>
<block type="control" id="oR:,q`tei,G*ws*E7_ha">
<mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
<field name="OID">shelly.0.SHSW-1#C49979#1.Relay0.Switch</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="DOzEe~k08;X;gKRfgZ}?">
<field name="BOOL">TRUE</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>
var cnt, timeout, timeout3, timeout2;
on({id: 'shelly.0.SHSW-1#C49979#1.Relay0.Input', change: "ne"}, async function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
cnt = (typeof cnt == 'number' ? cnt : 0) + 1;
console.warn(cnt);
if (cnt == 1) {
timeout = setTimeout(async function () {
cnt = 0;
timeout3 = setTimeout(async function () {
setState("shelly.0.SHSW-1#C49979#1.Relay0.Switch"/*Halbkeller-Licht_Switch*/, false);
}, 180000);
}, 2000);
} else if (cnt == 2) {
(function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
(function () {if (timeout3) {clearTimeout(timeout3); timeout3 = null;}})();
timeout2 = setTimeout(async function () {
cnt = 0;
}, 2000);
} else if (cnt >= 3) {
(function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
(function () {if (timeout2) {clearTimeout(timeout2); timeout2 = null;}})();
(function () {if (timeout3) {clearTimeout(timeout3); timeout3 = null;}})();
cnt = 0;
await wait(500);
setState("shelly.0.SHSW-1#C49979#1.Relay0.Switch"/*Halbkeller-Licht_Switch*/, false);
await wait(500);
setState("shelly.0.SHSW-1#C49979#1.Relay0.Switch"/*Halbkeller-Licht_Switch*/, true);
}
});
mit installiert er ständig nodejs 10.23.1
Und weigert sich zu updaten,
......Nodejs ist schon die neuste Version....
Ist das ein bekanntes Problem,
trag mal wie im verlinkten Thread die 12er ein.
Bitte die 14er noch nicht, diesee ist offiziell noch nicht empfohlen/freigegeben, außer du möchtest mutig sein wie ich
welche Version hat dein Adapter?
Grüße, wen sprichst du damit an, wer will deinen PC würgen? Was genau soll man von dir nehmen? Wir lernen immer gern dazu.
man nehme das von mir, und setzte den Wert von 3 Minuten auf 60. Ende!!!
oder glaubst du, ich lasse mir meinen PC abwürgen? Aber ich kann es gerne bei mir zu hause noch mal testen.
ich kann mich dunkel erinnern, dass ich das auch hatte.
oder einbinden?
finde es nicht korrekt, wenn sie "neue" auf den Markt bringen, wenn die "Vorgänger" noch nicht mal richtig funktionieren.
Auch das kommt nicht in Frage weil ich leider keine tiefen Dosen mehr frei habe. War ja kein Neubau, sonst hätte ich vermutlich auch nicht Shellys im Einsatz, aber so zum Nachrüsten bin ich mit meinen ganzen Shellys super zufrieden was Preis/Leistung angeht, außer eben der Button nervt ein wenig, aber vielleicht gibt es da ja in kommenden Firmware die Möglichkeit eine 6 Aktion hinzuzufügen oder eben eine "Gruppenaktion" (alle Rollläden Wohnzimmer open/close).
Im Zählerkasten wird noch genügend Platz für den Dummy sein
oder der 5.te 2.5 sendet den Befehl an den 6.ten weiter
ich habe nach ein wenig hin und her Coupons für die fehlenden Teile bekommen
Update:
iobroker Installation in Post 2 hinzugefügt
Also ein 3er mit IOBroker hat bei mir gleich mal die Beine gespreizt....
viele Blocklys?
sehr nett.
kann es sein, dass die Komponenten so ca. 400 € alles in allem kostet?