NEWS
[gelöst] Lichtwecker mit Cron -> fehler im Blockly
-
Guten Tag zusammen
Ich versuche in Blockly einen Lichtwecker zu realisieren. Also so dass das Licht am Morgen langsam hochdimmt.
Soweit läufts eigentlich auch.
Aber: die Werte welche ich über VIS in die Datenpunkte schreiben lösen im Blockly einen Fehler aus. Wenn ich die Werte in Blockly direkt schreibe funktionierts.
Kann jemand erklären warum? In allen Scripts wo ich gesehen habe werden die Werte (Stunden&Minuten) so in den Script eingefügt...Vielen Dank schon im Vorraus
-
@figugegu Code bitte als Txt in code-tags posten, dann kann man auch kopieren
Abgeschnitten bringt das log auch nichts.Dann bitte dort nachsehen, was das log sagt: in Zeile 4, Zeichen 78
Dazu von Block auf js-Ansicht umstellen.Was soll das Intervall dauerhaft bewirken?
wann und wie wird es beendet?Was sind das für DPs mit h und min?
Welches Format haben diese? -
@figugegu
Welche Version des JS-Adapters? Meine Version (4.10.8) erzeugt einen anderen Javascript-Code aus dem Blockly und funktioniert:.val.toString().trim() + ' ' +
-
@paul53 sagte in Lichtwecker mit Cron -> fehler im Blockly:
Meine Version (4.10.8)
die ist aber noch nicht im latest.
Weisst du, ob da was gefixt wurde?
-
var wecker1, Intervall; wecker1 = schedule(getState("0_userdata.0.Wecker.Wecker_1.Weckzeit_min").val.trim() + ' ' + getState("0_userdata.0.Wecker.Wecker_1.Weckzeit_h").val.trim() + ' ' + '*'.trim() + ' ' + '*'.trim() + ' ' + '*'.trim(), function () { setState("deconz.0.Lights.10.bri"/*Küche Decke bri*/, 0, true); Intervall = setInterval(function () { setState("deconz.0.Lights.10.level"/*Küche Decke level*/, (getState("deconz.0.Lights.10.level").val + 10)); }, 1000); });
Das Beenden des Intervalls habe ich noch nicht gemacht, stimmt. Sollte dann beedet werden wenn die Leuchte die maximale (oder definierte) Helligkeit erreicht hat.
Die DPs haben das Fomat "Zahl". Habe aber schon alle durchprobiert.Der js-Adapter hat Version 4.8.4. Diese ist aber gemäss ioBroker aktuell...
Danke für eure Hilfe!
-
@Homoran sagte in Lichtwecker mit Cron -> fehler im Blockly:
@paul53 sagte in Lichtwecker mit Cron -> fehler im Blockly:
Meine Version (4.10.8)
die ist aber noch nicht im latest.
Weisst du, ob da was gefixt wurde?
das wurde im November gefixt
-
@fastfoot sagte in Lichtwecker mit Cron -> fehler im Blockly:
das wurde im November gefixt
DANKE!
Dann hat @figugegu ja genau das Issue und sollte ausnahmsweise mal kurz das Repo auf latest stellen, den js-Adapter upgraden und danach das Repo wieder auf stable/default
-
So, habe also die Latest installiert.
Fehlermeldung ist weg.
Trotzdem werden die Werte aus den DP nicht in den CRON übernommen.
Manuell in Blockly geschrieben funktioniert es. -
@figugegu sagte:
Trotzdem werden die Werte aus den DP nicht in den CRON übernommen.
Wie stellst Du das fest ? Bei mir funktioniert es.
-
@paul53
Indem das Script funktionert wenn ich die Stunden und Minuten direkt in Blockly schreibe anstelle aus einem DP einfüge.
Kann es sein dass der CRON so als Trigger nicht funktioniert? Also nur wenn die Werte direkt im CRON geschrieben werden? -
@figugegu sagte:
Kann es sein dass der CRON so als Trigger nicht funktioniert?
Nein, es funktioniert so.
Werte(Zahlen): 15 und 36. Die Werte aus den Datenpunkten werden nur bei Skript-Start übernommen !
Wenn auf Änderung der Weckzeit reagiert werden soll, muss darauf getriggert und der laufende Zeitplan gestoppt werden.
-
@paul53 sagte in Lichtwecker mit Cron -> fehler im Blockly:
Werte: 15 und 36. Die Werte aus den Datenpunkten werden nur bei Skript-Start übernommen !
Ja klar, genau das ist der "Fehler".
Vielen Dank, das bringt mich weiter!
-
Danke allen!
Funktioniert soweit alles wie gewollt.
Ob der Script so "sauber" ist kann ich aber nicht beurteilen...Anbei noch die funktionierende Lösung:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="cron" id="wecker1">wecker1</variable> <variable type="interval" id="Intervall">Intervall</variable> </variables> <block type="procedures_defnoreturn" id="Pgc8VNiU%XB3z~a2X^p7" x="-458" y="-1040"> <field name="NAME">wecker_stellen</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="schedule_create" id="^iAKAEL!OxvNk0=QpqG$"> <field name="NAME">wecker1</field> <value name="SCHEDULE"> <shadow type="field_cron" id="w2^$(SL4_;c5sRlw/h??"> <field name="CRON">* * * * *</field> </shadow> <block type="cron_builder" id="gDhUBD5ldAtbDmD.0Zfp"> <mutation xmlns="http://www.w3.org/1999/xhtml" seconds="false" as_line="false"></mutation> <field name="LINE">FALSE</field> <field name="WITH_SECONDS">FALSE</field> <value name="DOW"> <shadow type="text" id="h6C=GuqgX-~UD,Z}X5(F"> <field name="TEXT">*</field> </shadow> <block type="get_value" id="V-`#Kw,duWYJ{LZlS3.g"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Wecker.Wecker_1.Wecktage_Cron</field> </block> </value> <value name="MONTHS"> <shadow type="text" id=".{W]66rbs0=@Sq@Qv9QG"> <field name="TEXT">*</field> </shadow> </value> <value name="DAYS"> <shadow type="text" id="D`01~Uh)t%vn-kJK8z`^"> <field name="TEXT">*</field> </shadow> </value> <value name="HOURS"> <shadow type="text" id="0WU.?a?.U_v`!]I*=bG("> <field name="TEXT">15</field> </shadow> <block type="get_value" id="lpsX;;UoT4@$yCpZdRm2"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Wecker.Wecker_1.Weckzeit_h</field> </block> </value> <value name="MINUTES"> <shadow type="text" id="JQ6+=ex4?rhrs+0tH,E_"> <field name="TEXT">31</field> </shadow> <block type="get_value" id="$QCPxPRzPz2h:pV!(M*g"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Wecker.Wecker_1.Weckzeit_min</field> </block> </value> </block> </value> <statement name="STATEMENT"> <block type="comment" id="Q^N01Djl}n;wE11)K29F"> <field name="COMMENT">Wecker Schlafzimmer</field> <next> <block type="controls_if" id="a;HC95+9[)vOBU!%K[%A"> <value name="IF0"> <block type="logic_compare" id="v$~UJxDyyN]dOr615,s+"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Ud1:8vQ`p6NI|0s]3m~z"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Wecker.Wecker_1.Wecker_1_MaPa</field> </block> </value> <value name="B"> <block type="logic_boolean" id="CD~yAiHTL7ekiP9.Ou~{"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="XIiw%a#I%Po0S*}WR4)g"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">deconz.0.Lights.13.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="~K6+(10R^8f^/U#.Yr4$"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_if" id="kAsCx*Xi*`U6/yaSItWI"> <value name="IF0"> <block type="logic_compare" id="1oZ)+,56=72R=9~8l9Bx"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="ssa9cS}.`cKRTVZvk$P8"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.13.on</field> </block> </value> <value name="B"> <block type="logic_boolean" id="mUd}67#E{t!E6wZ61|Va"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_setinterval" id="7j#xTY@WFY!W#._KBBN="> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="controls_if" id="mKJHkCt|kSDAgU(d;{]B"> <value name="IF0"> <block type="logic_compare" id=";y[XM99UkG~vC*07FI~I"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id=";0.(oVgLd~7b=r@HWH(O"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.13.level</field> </block> </value> <value name="B"> <block type="get_value" id="nyku|N[WzsUZGO:zlivd"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Licht.Standart_Schlafen_Decke</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="Y+oC)TA*y[,JS:?=5@5:"> <field name="NAME">Intervall</field> </block> </statement> <next> <block type="control" id="M!mZ7~CJiWlyGhZGj=wt"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">deconz.0.Lights.13.level</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="+!X,.0Q[?j:o@o@IOVmO"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="qGG|lrOhAo$?@{m3+wl5"> <field name="NUM">1</field> </shadow> <block type="get_value" id="L%$,93y1eurif-Z.xB1~"> <field name="ATTR">val</field> <field name="OID">deconz.0.Lights.13.level</field> </block> </value> <value name="B"> <shadow type="math_number" id=".sOjyfd/*xTl8rdQB@SI"> <field name="NUM">1</field> </shadow> <block type="math_number" id="eyKM=I]e{@Qw3G-Rz~A-"> <field name="NUM">10</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> <block type="procedures_callnoreturn" id="C%`+c}i:!vBV/0VO}9R-" x="263" y="-1063"> <mutation name="wecker_stellen"></mutation> <next> <block type="on_ext" id="/lAG.lcf1y2q^QEZ|g_q"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="2lv[IPb2*kcN(BWc|B!d"> <field name="oid">0_userdata.0.Wecker.Wecker_1.Weckzeit_h</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="oJqNA37,QD@Z(S-SS`-7"> <field name="oid">0_userdata.0.Wecker.Wecker_1.Weckzeit_min</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id=",T]qK|ai~5!bQ#e61kVa"> <field name="oid">0_userdata.0.Wecker.Wecker_1.Wecktage_Cron</field> </shadow> </value> <statement name="STATEMENT"> <block type="schedule_clear" id="$8;=Omg|6,#rx(FXwyYV"> <field name="NAME">wecker1</field> <next> <block type="procedures_callnoreturn" id=",MfiO70pOA[nXP/MdMti"> <mutation name="wecker_stellen"></mutation> </block> </next> </block> </statement> </block> </next> </block> <block type="comment" id="*k8[E)%1p5,8h%;BYEJA" x="-332" y="-602"> <field name="COMMENT">Wecker Schlafzimmer MaPa</field> </block> </xml>