NEWS
[gelöst]Sonoff Tannenbaumsteuerung Zeitschaltuhr
-
Vermutlich meinst du es so?
4298_tannenbaum2.jpg -
Besser und fast richtig, der zweiten cron sollte außerhalb des ersten platziert werden Niemals triggert innerhalb eines triggers setzen
–-----------------------
Send from mobile device
-
Hallo,
wäre es möglich die Zeiteinstellung variabel zu machen, dh. aus dem ioBroker heraus?
Sodas die Einstellungen der "Ein" und "Ausschaltzeit" veränderbar wären..
Grüße, Andy -
Jup das geht
Dazu musst du die Zeit mit Format HH:MM in ein object hinterlegen, wie man das dann weiter in blockly verarbeiten muss steht hier:
https://github.com/ioBroker/ioBroker.ja … d-schedule
Send from mobile device
-
Vielleicht kannst du mir noch einen kleine Hinweis geben wie ich dieses Objekt erstellen kann
und aus dem ioBroker heraus beschreibe.
Danke.
-
Vielleicht kannst du mir noch einen kleine Hinweis geben wie ich dieses Objekt erstellen kann
und aus dem ioBroker heraus beschreibe.
Danke. `
Jup klar, muss aber gerade Weihnachtsbaum aufbauen mit den Kids komme später mir der Antwort.
(Oder jemand anders ist schneller ;))
–-----------------------
Send from mobile device
-
screenshot.15.jpg `
Hallo,der Widget gefällt mir. Was ist das für einer und wir hast Du dem erstellt?
-
Ich habe das jetzt mal so geloest, geht eventueel auch eleganter aber so funktioniert es schonmal. Zu erklaehrung:
-
Ich erstellen 3 objecte "Stunden / Minuten und due Zeit selber"
-
Ich habe einen trigger gebaut der das object der Zeit schreibt wen sich ein wert der Stunden oder Minuten geaendert hat.
-
Dan konform documentation den Cron Selber mit der entsprechenden function, die sorg dafuer das geschaltet wird
Ich kan jetzt mit mittels xx die werte der zeit setzen und der cron mach seien arbeit wie man im log sehen kan
Und hier der blockly export des ganzen spasses
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="twQrU43ge+MF9O?EEue^" x="13" y="138"><field name="COMMENT">Input Minuten & Stunden convertieren nach HH:MM im oject</field> <next><block type="on_ext" id="d7gD@HlRh%K*S%jTkI1+"><mutation items="2"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id=":,4c6DGK@q*KeiT.lyN*"><field name="oid">javascript.0.Weinachstbeleuchtung_Einschaltzeit_Stunden</field></shadow></value> <value name="OID1"><shadow type="field_oid" id="78U0C:W,3,;91,IJ#p2r"><field name="oid">javascript.0.Weinachstbeleuchtung_Einschaltzeit_Minuten</field></shadow></value> <statement name="STATEMENT"><block type="variables_set" id=";{,Do4i.PB9%pwMe{:aT"><field name="VAR">create_timeformat</field> <value name="VALUE"><block type="text_join" id="PG[p|}Co).vdyicA9~-0"><mutation items="3"></mutation> <value name="ADD0"><block type="get_value" id="!{K[5W)^[#7Se^!Sktc7"><field name="ATTR">val</field> <field name="OID">javascript.0.Weinachstbeleuchtung_Einschaltzeit_Stunden</field></block></value> <value name="ADD1"><block type="text" id="lp1%g9r^3tE.CXFCW*nm"><field name="TEXT">:</field></block></value> <value name="ADD2"><block type="get_value" id="O`k8f6ZQXI0N}:RbM-!o"><field name="ATTR">val</field> <field name="OID">javascript.0.Weinachstbeleuchtung_Einschaltzeit_Minuten</field></block></value></block></value> <next><block type="control" id="gyk4;0Da-9u6cf.R^^G6"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Weinachstbeleuchtung_Einschaltzeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="e.@O[ZNz;qG7rK=~!GZ`"><field name="VAR">create_timeformat</field></block></value></block></next></block></statement> <next><block type="comment" id="__im.=G(h;2%Ii.`B9}@"><field name="COMMENT">Einschaltzeit mit Cron realisiert mit wert im object</field> <next><block type="on_ext" id="ot:9oFMh.(c)sxkufTxA"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="qV#=^mz,%qxL#}VsA)3C"><field name="oid">javascript.0.Weinachstbeleuchtung_Einschaltzeit</field></shadow></value> <statement name="STATEMENT"><block type="schedule_clear" id="ukGIQYyTpip_9!1H_xnN"><field name="NAME">Weinachstbeleuchtung_Einschaltzeit</field> <next><block type="schedule_create" id=")^!A|k+`1=[pFp(S-*sw"><field name="NAME">Weinachstbeleuchtung_Einschaltzeit</field> <value name="SCHEDULE"><shadow type="field_cron" id="uSka7fK[T7j0m_4!4+fO"><field name="CRON">* * * * *</field></shadow> <block type="procedures_callcustomreturn" id=")E!Ljg1z9iQ3)Nb#CX~n"><mutation name="time to CRON"><arg name="time"></arg></mutation> <value name="ARG0"><block type="on_source" id="qs+k30Lnd1V(BSNs{}P!"><field name="ATTR">state.val</field></block></value></block></value> <statement name="STATEMENT"><block type="debug" id="7arB5vcx^ci2Un#}TLKh"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="N;`AY!p#T_do@vP_OQr9"><field name="TEXT">Lampen_Gehen_An !</field></shadow></value></block></statement></block></next></block></statement></block></next></block></next></block></next></block> <block type="comment" id="ojCb%|IYhY#046,v~sE." x="887" y="163"><field name="COMMENT">Erstellen der notwendigen zeit objecte</field> <next><block type="create" id="O()j3U#Bq]g?qb4u{;uO"><field name="NAME">Weinachstbeleuchtung_Einschaltzeit</field> <statement name="STATEMENT"><block type="create" id="6*3Q`QK?lzV3XjV09I0W"><field name="NAME">Weinachstbeleuchtung_Einschaltzeit_Stunden</field> <statement name="STATEMENT"><block type="create" id="-Sy5LZ;50RTQWS~x;A9D"><field name="NAME">Weinachstbeleuchtung_Einschaltzeit_Minuten</field></block></statement></block></statement></block></next></block> <block type="procedures_defcustomreturn" id="_*_L4XpCr!7eLsYWS(R(" x="12" y="688"><mutation statements="false"><arg name="time"></arg></mutation> <field name="NAME">time to CRON</field> <field name="SCRIPT">dmFyIHBhcnRzID0gdGltZS5zcGxpdCgnOicpOwovLyBpZiBpdCBpcyBDUk9OCmlmIChwYXJ0cy5sZW5ndGggPT09IDEpIHJldHVybiB0aW1lOwpyZXR1cm4gcGFydHNbMV0gKyAnICcgKyBwYXJ0c1swXSArICcgKiAqIConOw==</field> <comment pinned="false" h="80" w="160">Describe this function...</comment></block></xml>
-
-
haben den ersten block noch um ein IF erweiter wen die minuten unter 10 sind damit dan eine 0 ergaenzt wird ist glaube ich wichtig fuer den Cron:
Das ganze sieht dan jetzt so aus:
Und das ganze nochmal in einem kompletten export:
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="twQrU43ge+MF9O?EEue^" x="28" y="156"><field name="COMMENT">Input Minuten & Stunden convertieren nach HH:MM im oject</field> <next><block type="on_ext" id="d7gD@HlRh%K*S%jTkI1+"><mutation items="2"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id=":,4c6DGK@q*KeiT.lyN*"><field name="oid">javascript.0.Weinachstbeleuchtung_Einschaltzeit_Stunden</field></shadow></value> <value name="OID1"><shadow type="field_oid" id="78U0C:W,3,;91,IJ#p2r"><field name="oid">javascript.0.Weinachstbeleuchtung_Einschaltzeit_Minuten</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="~eji]u:a9y}KtBzb(5bJ"><mutation else="1"></mutation> <value name="IF0"><block type="logic_compare" id="q0uzqeYXS/Y0-Y@EhZJo"><field name="OP">LT</field> <value name="A"><block type="get_value" id=",`^CE}e7dkM1!aV5jgvz"><field name="ATTR">val</field> <field name="OID">javascript.0.Weinachstbeleuchtung_Einschaltzeit_Minuten</field></block></value> <value name="B"><block type="math_number" id="6jP`sG(kvK=]3#:~X,qb"><field name="NUM">10</field></block></value></block></value> <statement name="DO0"><block type="variables_set" id="bvhJ~h[qnxy,-T-{k*nT"><field name="VAR">Minutes</field> <value name="VALUE"><block type="text_join" id="%jW}8:/rskuY`xB!tGml"><mutation items="2"></mutation> <value name="ADD0"><block type="text" id="p!v6PJpTCLnPIxl)^TF;"><field name="TEXT">0</field></block></value> <value name="ADD1"><block type="get_value" id="eo?;p_Lo=)^:c35!sG*P"><field name="ATTR">val</field> <field name="OID">javascript.0.Weinachstbeleuchtung_Einschaltzeit_Minuten</field></block></value></block></value></block></statement> <statement name="ELSE"><block type="variables_set" id="x0c#.hP]Lp}Ek{Cd;pbM"><field name="VAR">Minutes</field> <value name="VALUE"><block type="get_value" id="QL_jN~:t7!}QGK(g?Wl["><field name="ATTR">val</field> <field name="OID">javascript.0.Weinachstbeleuchtung_Einschaltzeit_Minuten</field></block></value></block></statement> <next><block type="variables_set" id=";{,Do4i.PB9%pwMe{:aT"><field name="VAR">create_timeformat</field> <value name="VALUE"><block type="text_join" id="PG[p|}Co).vdyicA9~-0"><mutation items="3"></mutation> <value name="ADD0"><block type="get_value" id="!{K[5W)^[#7Se^!Sktc7"><field name="ATTR">val</field> <field name="OID">javascript.0.Weinachstbeleuchtung_Einschaltzeit_Stunden</field></block></value> <value name="ADD1"><block type="text" id="lp1%g9r^3tE.CXFCW*nm"><field name="TEXT">:</field></block></value> <value name="ADD2"><block type="variables_get" id="]wV63[8cis0%6m9M%_BH"><field name="VAR">Minutes</field></block></value></block></value> <next><block type="control" id="gyk4;0Da-9u6cf.R^^G6"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Weinachstbeleuchtung_Einschaltzeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="e.@O[ZNz;qG7rK=~!GZ`"><field name="VAR">create_timeformat</field></block></value></block></next></block></next></block></statement> <next><block type="comment" id="__im.=G(h;2%Ii.`B9}@"><field name="COMMENT">Einschaltzeit mit Cron realisiert mit wert im object</field> <next><block type="on_ext" id="ot:9oFMh.(c)sxkufTxA"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="qV#=^mz,%qxL#}VsA)3C"><field name="oid">javascript.0.Weinachstbeleuchtung_Einschaltzeit</field></shadow></value> <statement name="STATEMENT"><block type="schedule_clear" id="ukGIQYyTpip_9!1H_xnN"><field name="NAME">Weinachstbeleuchtung_Einschaltzeit</field> <next><block type="schedule_create" id=")^!A|k+`1=[pFp(S-*sw"><field name="NAME">Weinachstbeleuchtung_Einschaltzeit</field> <value name="SCHEDULE"><shadow type="field_cron" id="uSka7fK[T7j0m_4!4+fO"><field name="CRON">* * * * *</field></shadow> <block type="procedures_callcustomreturn" id=")E!Ljg1z9iQ3)Nb#CX~n"><mutation name="time to CRON"><arg name="time"></arg></mutation> <value name="ARG0"><block type="on_source" id="qs+k30Lnd1V(BSNs{}P!"><field name="ATTR">state.val</field></block></value></block></value> <statement name="STATEMENT"><block type="debug" id="7arB5vcx^ci2Un#}TLKh"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="N;`AY!p#T_do@vP_OQr9"><field name="TEXT">Lampen_Gehen_An !</field></shadow></value></block></statement></block></next></block></statement></block></next></block></next></block></next></block> <block type="comment" id="ojCb%|IYhY#046,v~sE." x="887" y="163"><field name="COMMENT">Erstellen der notwendigen zeit objecte</field> <next><block type="create" id="O()j3U#Bq]g?qb4u{;uO"><field name="NAME">Weinachstbeleuchtung_Einschaltzeit</field> <statement name="STATEMENT"><block type="create" id="6*3Q`QK?lzV3XjV09I0W"><field name="NAME">Weinachstbeleuchtung_Einschaltzeit_Stunden</field> <statement name="STATEMENT"><block type="create" id="-Sy5LZ;50RTQWS~x;A9D"><field name="NAME">Weinachstbeleuchtung_Einschaltzeit_Minuten</field></block></statement></block></statement></block></next></block> <block type="procedures_defcustomreturn" id="_*_L4XpCr!7eLsYWS(R(" x="37" y="838"><mutation statements="false"><arg name="time"></arg></mutation> <field name="NAME">time to CRON</field> <field name="SCRIPT">dmFyIHBhcnRzID0gdGltZS5zcGxpdCgnOicpOwovLyBpZiBpdCBpcyBDUk9OCmlmIChwYXJ0cy5sZW5ndGggPT09IDEpIHJldHVybiB0aW1lOwpyZXR1cm4gcGFydHNbMV0gKyAnICcgKyBwYXJ0c1swXSArICcgKiAqIConOw==</field> <comment pinned="false" h="80" w="160">Describe this function...</comment></block></xml>
-
Hallo,
müssen die 3 Datenpunkte ein spezielles Format haben?
-
Hallo,
müssen die 3 Datenpunkte ein spezielles Format haben? `
Nein Einfach so rein wie ich das blockly bereitgestellt habe.
Du musst nur die Variable Stunde (0-23) und Minute (0-59) füllen der Rest macht das Script
–-----------------------
Send from mobile device
-
nachdem ich Anfangswerte in die Variablen geschrieben habe konnte ich diese
auch aus dem ioBroker heraus einstellen.
Muss der CRON in dem die Funktionen zum Einschalten sind im selben Script liegen?
-
Nope der cron kann auch in ein separates Script vergiss Acer nicht die Funktion mit zu nehmen
Zur Erklärung, der erste Blockt macht nichts weiteres als die Zeit richtig zu formatieren.
Der 2te (cron) mit Funktion is die eigentliche uhr
–-----------------------
Send from mobile device
-
Dh. ich kann die Abfrage ob der Dämmerungswert und ob der Schalter für die
Weihnachtsbel. gedrückt ist sowie das Schalten des Aktors in die CRON Regel direkt Einbauen
wo du die Textausgabe hattest.
Für die Ausschaltzeit kann ich den ganzen Block einfach nur Kopieren un die Texte ändern.
-
Dh. ich kann die Abfrage ob der Dämmerungswert und ob der Schalter für die
Weihnachtsbel. gedrückt ist sowie das Schalten des Aktors in die CRON Regel direkt Einbauen
wo du die Textausgabe hattest. `
Richtig
Die Text Ausgabe war zur Verständnis gedacht und wie du bereits erwähnst kan dort der Rest deiner logic rein wie bestimmte if Abfragen usw
–-----------------------
Send from mobile device
-
Das funktioniert soweit.
Vielen Dank und noch schönen Abend!
Grüße, Andy
-
Das funktioniert soweit.
Vielen Dank und noch schönen Abend!
Grüße, Andy `
Super! Danke für die Rückmeldung
–-----------------------
Send from mobile device
-
Hallo Dutchman,
Farge zum Timer:
Kann es sein das der nur einmal einschaltet?
Dh. ich habe ja eine Abfrage in der Ausführung wenn der Dämmerungswert noch nicht erreicht ist soll dieser
ja noch nicht eingeschalten werden.,
Ist der Timer trotzdem in Betrieb?
(Hier Dargestellt durch die Abfrage Weihnachtsbeleuchtung "wahr")
Grüße, Andy
4002_screenshot.18.jpg -
Der cron triggert nur einmal zur eingestellten Zeit.
Was du beschreibst müsste man anders realisieren zB cron der jede Minute prüft ob die Dämmerung eingesetzt hat das wird eine andete logic.
Kann man auch bauen brauche dann aber mehr Infos was ist Gehäuse das Ziel Mitte allen Factoren ?
–-----------------------
Send from mobile device
-
Hallo Dutchman,
Ich habe das jetzt so gelöst das ich die Überprüfung in einem eigenen
Script laufen lasse.
Das funktioniert so ganz gut.Grüße, Andy.