NEWS
[gelöst]Sonoff Tannenbaumsteuerung Zeitschaltuhr
-
Hi,
ich mal wieder komme da nicht weiter,
ich versuche über Blocky eine Zeitschaltuhr zu realiesieren leider ohne erfolg Sie macht nichts. Ich habe es auch glaube ich nicht so wirklich verstanden.
Hier mein Blocky
Was mache ich denn nun Falsch?
Ich möchte erstmal einfach nur das er jeden Tag von 16:00-19:10 Uhr Leutet!
Gruß
4298_tannenbaum.jpg -
Dir fehlt der Trigger(baustein)
Die Blöcke die du hast sind "nur" Logikbausteine.
Nimm noch einen Triggerbaustein "Zeitplan" und baue deine Logik da hinein.
Gruß
Rainer
-
Super, so funktioniert es,
danke dir.
4298_tannenbaum1.jpg -
Super, so funktioniert es, `
Mag sein, ist aber nicht der Sinn der SacheDein Script wird jetzt jede Minute aufgerufen.
Du kannst im Cron bereits die Startzeit eingeben und dann mit steuere "mit Verzögerung" von 5 Stunden auf off schalten.
oder einen zweiten CRON mit 21:00 darunterhängen, der off schaltet
Gruß
Rainer
-
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