NEWS
Blockly
-
ich habe die OID zwecks Darstellung hier im Forum rausgelöscht. Eine Eingabe der OID ändert leider am Ergebnis lt. LOG nichts. `
Dann stell doch das rein, was nicht funktioniert.
Bei Deiner Abbildung hat Rainer völlig recht.
Grüße
-
Mal ne Frage zu dem Trigger Block mit mehreren Objekten.
Ist das dann eine "und" oder eine "oder" Verknüpfung?
Also löst er aus wenn eine der beiden wahr ist, oder nur wenn beide wahr sind?
-
Jedesmal wenn eines der Id's geändert wird.
Grüße
-
Hallo zusammen…
bin schon eine ganze weile hier im Forum am mitlesen und versuche meinen iobroker Schritt für Schritt zu erweitern.
Bis jetzt habe ich auch alles soweit ans laufen bekommen, was ich mir vorgenommen habe.
Auch wenn es mal nicht auf Anhieb lief, konnte ich mir mit etwas Einarbeitung und den Forenbeiträgen weiter helfen.
Vielen Dank, dass ihr ALLE mir die Möglichkeit gebt dieses schöne Hobby durchzuführen....
Nun habe ich zwei kleine Probleme mit den CRON Regel Blöcken beim Javascribt Adapter 3.3.9(Blockly):
1).
Ich habe ein Testscribt mit 2 schedule Funktionen erstellt (Alle 5 Sekunden reagieren):
schedule1 funktioniert. schedule2 nicht.
Bild:
!
Code:
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="schedule_create" id=")w*_@kZfp}wh{:,zt^dp" x="13" y="38"><field name="NAME">schedule1</field>
<value name="SCHEDULE"><shadow type="field_cron" id="#7ROUqI.hP7)4Kgr/B;G"><field name="CRON">/5 * * * * </field></shadow></value>
<statement name="STATEMENT"><block type="debug" id="fl{jms6DNNAlSqT=|xB"><field name="Severity">log</field>
<value name="TEXT"><shadow type="text" id="P?UPs+!frJ+kMY9vG]+o"><field name="TEXT">test1</field></shadow></value></block></statement></block>
<block type="schedule_create" id="k?{duPKI(:xeEPrCVNK" x="338" y="38"><field name="NAME">schedule2</field> <value name="SCHEDULE"><shadow type="field_cron" id="w7;h1wL|A;7AFgdJ8W
W"><field name="CRON">1 * * * * </field></shadow>
<block type="cron_builder" id="0IhP=FjR6(g{V5hta/^"><mutation seconds="true" as_line="false"></mutation>
<field name="LINE">FALSE</field>
<field name="WITH_SECONDS">TRUE</field>
<value name="DOW"><shadow type="text" id="K/90TAJ0zQz|4N4e+d9Q"><field name="TEXT"></field></shadow></value>
<value name="MONTHS"><shadow type="text" id="dh2x~el1zGc73^^UoMe~"><field name="TEXT"></field></shadow></value>
<value name="DAYS"><shadow type="text" id="H.IKY8gH9=CRc}%dv2S@"><field name="TEXT"></field></shadow></value>
<value name="HOURS"><shadow type="text" id="NgPBx0/rwQlsl1fv_sB}"><field name="TEXT"></field></shadow></value>
<value name="MINUTES"><shadow type="text" id="Yo?dPJ6)9~GR9Fo29U
"><field name="TEXT"></field></shadow></value>
<value name="SECONDS"><shadow type="text" id="[UH-7(xbbKUda0sLoBUm"><field name="TEXT">*/5</field></shadow></value></block></value>
<statement name="STATEMENT"><block type="debug" id="H+1uUHhk0_l89VF-]Blc"><field name="Severity">log</field>
<value name="TEXT"><shadow type="text" id="mZjB4vPTDU@bC7BzYO?P"><field name="TEXT">test2</field></shadow></value></block></statement></block></xml>Ich habe mir den Code zeigen lassen und kopiert, ein Javascript erstellt und den Code eingefügt. Der sieht so aus:
var schedule1, schedule2;
schedule1 = schedule('*/5 * * * * *', function () {
console.log('test1');
});schedule2 = schedule('/5' + '' + '' + '' + '' + '', function () {
console.log('test2');
});Da es so natürlich auch nicht geklappt hat, habe ich ein bisschen rum gespielt und den Code mehrfach geändert bis er funktioniert hat :D .
var schedule1, schedule2;
[img][attachment=0]Blockly1.jpg[/attachment][/img]
schedule1 = schedule('*/5 * * * * *', function () {
console.log('test1');
});schedule2 = schedule('/5 '+' '+'* '+'* '+'* '+'* ', function () {
console.log('test2');
});Ich habe vor dem "+" die Lehrzeichen entfernt und nach den "*" (oder wert) ein Lehrzeichen eingefügt. Fortsetzung folgt…
-
2).
Auch hier habe ein Testscribt mit 2 schedule Funktionen erstellt:
Bild:
!
Code:
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="schedule_create" id="oZd4%dWZ@z#+7sUMcGo" x="63" y="63"><field name="NAME">schedule1</field> ! <value name="SCHEDULE"><shadow type="field_cron" id="~tK
3-6Ef4tS0vaL|0,Q"><field name="CRON">1 2 3 4 5 6</field></shadow></value></block>
! <block type="schedule_create" id="D{_3~Coo5f+b7gX!80-x" x="388" y="63"><field name="NAME">schedule2</field>
! <value name="SCHEDULE"><shadow type="field_cron" id=":NG~7N4sV7pft=xp7m8j"><field name="CRON">* * * * </field></shadow>
! <block type="cron_builder" id="HhZNC.;2U^au6(gh2"><mutation seconds="true" as_line="false"></mutation>
! <field name="LINE">FALSE</field>
! <field name="WITH_SECONDS">TRUE</field>
! <value name="DOW"><shadow type="text" id=",g|cpO243yOf=Jl%%P+r"><field name="TEXT">6</field></shadow></value>
! <value name="MONTHS"><shadow type="text" id="Iw;#Qu1m3?KY24PMc:f|"><field name="TEXT">5</field></shadow></value>
! <value name="DAYS"><shadow type="text" id="QOM@vOJk;Txw+7XXo~9"><field name="TEXT">4</field></shadow></value>
! <value name="HOURS"><shadow type="text" id="l.AwHbHq1Qm[!8Ss4rt"><field name="TEXT">3</field></shadow></value>
! <value name="MINUTES"><shadow type="text" id="xQ!OYJs/+%/sf4tm[#/X"><field name="TEXT">2</field></shadow></value>
! <value name="SECONDS"><shadow type="text" id="ObrwPIP5p|ad`ShT575f"><field name="TEXT">1</field></shadow></value></block></value></block></xml>Wenn man sich jetzt den Code anzeigen lässt, sieht man das die Reihenfolge (Minute, Stund, etc) unterschiedlich ist.
Es sieht aus als wäre der Monat zwischen Minute und Stunde gerutscht.
var schedule1, schedule2; schedule1 = schedule('1 2 3 4 5 6', function () { }); schedule2 = schedule('1' + '5' + '2' + '3' + '4' + '6', function () { });
Ich hoffe meine Vermutung ist richtig, dass da etwas falsch ist und es kann jemand bestätigen.
Vielen Dank noch mal und weiter so….
edit: Code eingefügt
-
Hallo Home4.0
Kann ich bestätigen.
Werde den Bug mal bei Trello reinstellen.
Grüße
-
Hallo rantanplan,
Danke fürs Testen und den Trello Eintrag…
-
-
Hallo Home4.0
Bluefox hat den Fehler in der 3.3.10 behoben.
Bei mir läuft alles richtig.
Vor dem Testen altes Script neu speichern.
Grüße
-
Hallo rantanplan,
danke für die Info…
Hab es gerade mal ausprobiert und kann leider nur Problem 1 als gelöst melden.
Der Block funktioniert nun, allerdings besteht Problem 2. weiterhin...(falsche Reihenfolge Minute, Stunde, Monat, etc)
Blockly-Code:
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="schedule_create" id="oZd4%dWZ@z#+7sUMcGo" x="63" y="63"><field name="NAME">schedule1</field> <value name="SCHEDULE"><shadow type="field_cron" id="~tK
3-6Ef4tS0vaL|0,Q"><field name="CRON">1 2 3 4 5 6</field></shadow></value></block>
<block type="schedule_create" id="D{_3~Coo5f+b7gX!80-x" x="388" y="63"><field name="NAME">schedule2</field>
<value name="SCHEDULE"><shadow type="field_cron" id=":NG~7N4sV7pft=xp7m8j"><field name="CRON">* * * * </field></shadow>
<block type="cron_builder" id="HhZNC.;2U^au6(gh2"><mutation seconds="true" as_line="false"></mutation>
<field name="LINE">FALSE</field>
<field name="WITH_SECONDS">TRUE</field>
<value name="DOW"><shadow type="text" id=",g|cpO243yOf=Jl%%P+r"><field name="TEXT">6</field></shadow></value>
<value name="MONTHS"><shadow type="text" id="Iw;#Qu1m3?KY24PMc:f|"><field name="TEXT">5</field></shadow></value>
<value name="DAYS"><shadow type="text" id="QOM@vOJk;Txw+7XXo~9"><field name="TEXT">4</field></shadow></value>
<value name="HOURS"><shadow type="text" id="l.AwHbHq1Qm[!8Ss4rt"><field name="TEXT">3</field></shadow></value>
<value name="MINUTES"><shadow type="text" id="xQ!OYJs/+%/sf4tm[#/X"><field name="TEXT">2</field></shadow></value>
<value name="SECONDS"><shadow type="text" id="ObrwPIP5p|ad`ShT575f"><field name="TEXT">1</field></shadow></value></block></value></block></xml>var schedule1, schedule2;
schedule1 = schedule('1 2 3 4 5 6', function () {
});schedule2 = schedule('1'.trim() + ' ' + '5'.trim() + ' ' + '2'.trim() + ' ' + '3'.trim() + ' ' + '4'.trim() + ' ' + '6'.trim(), function () {
});Habe das Update durchgeführt und ein komplett neues Script erstellt. Hast du eine Idee warum es bei mir nicht klappt? @Bluefox; Danke für die schnelle Änderung Grüße….
-
Hallo rantanplan,
danke für die Info…
Hab es gerade mal ausprobiert und kann leider nur Problem 1 als gelöst melden.
Der Block funktioniert nun, allerdings besteht Problem 2. weiterhin...(falsche Reihenfolge Minute, Stunde, Monat, etc)
Blockly-Code:
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="schedule_create" id="oZd4%dWZ@z#+7sUMcGo" x="63" y="63"><field name="NAME">schedule1</field> <value name="SCHEDULE"><shadow type="field_cron" id="~tK
3-6Ef4tS0vaL|0,Q"><field name="CRON">1 2 3 4 5 6</field></shadow></value></block>
<block type="schedule_create" id="D{_3~Coo5f+b7gX!80-x" x="388" y="63"><field name="NAME">schedule2</field>
<value name="SCHEDULE"><shadow type="field_cron" id=":NG~7N4sV7pft=xp7m8j"><field name="CRON">* * * * </field></shadow>
<block type="cron_builder" id="HhZNC.;2U^au6(gh2"><mutation seconds="true" as_line="false"></mutation>
<field name="LINE">FALSE</field>
<field name="WITH_SECONDS">TRUE</field>
<value name="DOW"><shadow type="text" id=",g|cpO243yOf=Jl%%P+r"><field name="TEXT">6</field></shadow></value>
<value name="MONTHS"><shadow type="text" id="Iw;#Qu1m3?KY24PMc:f|"><field name="TEXT">5</field></shadow></value>
<value name="DAYS"><shadow type="text" id="QOM@vOJk;Txw+7XXo~9"><field name="TEXT">4</field></shadow></value>
<value name="HOURS"><shadow type="text" id="l.AwHbHq1Qm[!8Ss4rt"><field name="TEXT">3</field></shadow></value>
<value name="MINUTES"><shadow type="text" id="xQ!OYJs/+%/sf4tm[#/X"><field name="TEXT">2</field></shadow></value>
<value name="SECONDS"><shadow type="text" id="ObrwPIP5p|ad`ShT575f"><field name="TEXT">1</field></shadow></value></block></value></block></xml>var schedule1, schedule2;
schedule1 = schedule('1 2 3 4 5 6', function () {
});schedule2 = schedule('1'.trim() + ' ' + '5'.trim() + ' ' + '2'.trim() + ' ' + '3'.trim() + ' ' + '4'.trim() + ' ' + '6'.trim(), function () {
});Habe das Update durchgeführt und ein komplett neues Script erstellt. Hast du eine Idee warum es bei mir nicht klappt? @Bluefox; Danke für die schnelle Änderung Grüße…. `
Fixed in 3.3.11
-
jetzt läuft's
Vielen Dank für die schnelle Hilfe Bluefox…...
-
Hallo
habe gelesen das auch andere Probleme mit der den Funktionen "Sendto" in Blockly hatten oder haben.
Bei mir kann ich die Objekte einfach nicht aus dem Menü ziehen. Alle anderen Menüs funktionieren.
Diverse deinstallationen/reinstallationen/neustarts haben nichts ergeben.
Gibt es zu diesem Problem vielleicht eine Idee?
Grüsse
Michael
-
Habe es schon geschafft [emoji851] `
darf ich fragen, wie du das mit dem mediaplayer gelöst hast?
-
Hallo,
gibt es eine Möglichkeit einen schedule - Trigger dynamisch zu machen? Also die Zeiten variabel z.B. aus dem VIS zu setzten. Ich habe leider nichts gefunden oder vielleicht je übersehen.
Ich bekomme es nämlich nicht hin. Ich muss immer zuerst das Script neu starten damit die Zeiten die sich gerade in den Variablen befinden übernommen werden. Ich habe dafür diese Triggerfunktion genommen.
3891_unbenannt.png -
Poste Mal dein komplettes blockly
–-----------------------
Send from mobile device
-
Würde ich ja machen, bin aber leider nicht zuhause. Also kann ich es erst heute Abend machen.
-
Hab mich gerade mal mit dem Handy zuhause drauf geschaltet und einen Screenshot vom Blockly gemacht.
So sieht es aus.
Wie gesagt es funktioniert auch soweit. Nur wenn ich die CRON Zeit per VIS verändere klappt das nicht. Ich muss dann erst das Script neu starten damit diese übernommen wird.
3891_blockly.jpg -
Das würde mich auch auch brennend interesieren. So wie ich das im Moment gelöst habe ist es bestimmt viel zu umständlich.
Ich habe Datenpunkte wo Minuten/Stunden eingeben werden, da soll dann der schedule auslösen. Damit der schedule aber bei Änderung funktioniert überwache ich in einem anderen Skript die Datenpunkte und löse dann bei Änderung ein Neustart des anderen Skriptes aus.
-
Mal als Idee wie ich es in JavaScript machen würde, möglicherweise lässt sich das auf Blockly übertragen:
-
Code innerhalb des Schedules in eine Funktion packen, diese dann aus dem Schedule aufrufen.
-
Eine Variable vorhalten, in der die Referenz auf den Schedule gespeichert wird.
-
Bei Skriptstart den Schedule erstellen und die Referenz merken
-
Bei Updates der Zeit-DPs den referenzierten Schedule stoppen und einen neuen erstellen (auch wieder merken).
Dann ist kein Skript-Neustart erforderlich. Der Code zum Reagieren auf Änderungen kann aber in beiden Fällen innerhalb des gleichen Skripts liegen. Skripte können sich selbst neu starten.
-