NEWS
Blockly
-
@Bluefox: Kann es sein das die Skripte vom Typ "Blockly" beim Start der JS-Instanz nicht automatisch gestartet werden auch wenn Sie "enabled" sind?Hatte mich heute gewundert warum Dinge nbicht tun und festgestellt das Sie nach dem Neustart des iobroker gar nicht gestartet wurden.
Die Skripte vom Typ" javascript/JS" dagegen wurden alle automatisch gestartet …
-
@Bluefox. Ich habe da auch noch etwas
Beim Testen schalte ich häufig hin und her.
Die Warnung, dass das Script noch nicht gespeichert wurde, ist Gold wert und mir schon einige Stunden erspart.
Was ich aber auch häufig , im Eifer des Gefechts, vergessse ist das Script wieder zu stoppen.
Ich mache Änderungen und dann bemerke ich, dass das Script noch aktiv ist.
Keine Ahnung ob da etwas passieren kann.
Aber wäre es nicht besser, wärend das Script läuft, das Editieren zu sperren?
Ach, wo ich schon mal dabei bin
Ein Debug-Baustein mit Werteausgabe wäre auch eine Erleichterung.
Grüße
-
Jetzt bin ich bei meinem "Umzug" bei der Rolladensteuerung.
Da kommen häufig Zeitvergleiche vor.
Dazu habe Systemvariablen als String mit Inhalt "SS:mm" z.B. "06:00"
Diese Variablen werden mit der aktuellen Zeit verglichen werden.
Mit Blockly bekomme ich das aber nicht hin.
Hier ein paar Beispiele mit dem dazugehörigen Scripts.
Zu 1) new Date(getState("hm-rega.0.13863").val).getTime();
Zu 2) (new Date().getMilliseconds());
Zu 3) (new Date().getMilliseconds()) >= new Date(getState("hm-rega.0.13863").val).getTime();
Zu 4) (new Date().getMilliseconds()) >= (new Date().getMilliseconds());
Sieht komisch aus.
Oder liegt es wieder an mir? :roll:
Grüße
-
Hilft der Block "Aktuelle Zeit ist <grosser kleiner/gleich=""><zeitwert>"? Bei mir der erste im Bereich "Date+Time"</zeitwert></grosser>
-
Hilft der Block "Aktuelle Zeit ist <grosser kleiner/gleich=""><zeitwert>"? Bei mir der erste im Bereich "Date+Time"</zeitwert></grosser> `
Hallo Apollon77Hatte ich als erstes probiert:
"Aktuelle Zeit ist <grosser gleich="">ss:mm" -> SysVar <"15:00">
Und auch mit vorheriger Konvertierung von der SysVar nach Zeit ss:mmHat alles nicht geklappt.
Grüße</ss:mm></ss:mm></grosser>
-
moin,
bei mir funktioniert es mit der Zeit.
was ich überhaupt nicht hin bekomme ist, den Inhalt der Variable Begrüßung mit Text kombiniert als Sprachausgabe. Es wird nur der Variablenamen angesagt. Hat da jemand einen Tip?
mfg
Armin
-
Aaaah jetzt sehe ich dein Problem. Die Limits kommen aus Sysvars. Da der Vergleichswert aber nur angegeben werden kann und nicht flexibel sein kann hast Du ein Problem.
Da müsste Bluefox den Vergleichs-Zeitwert in dem Blockly dynamisch machen da man da nicht nur statisch was rein machen kann sondern dynamisch
-
moin,
was ich überhaupt nicht hin bekomme ist, den Inhalt der Variable Begrüßung mit Text kombiniert als Sprachausgabe. Es wird nur der Variablenamen angesagt. Hat da jemand einen Tip?
mfg
Armin `
So aus dem Bauch heraus. Nicht getestet!
Probiere mal "aktualisiere" anstatt "steuere".
Grüße
-
Eventuell habe ich einen Hinweis gefunden.
Zum Testen habe ich dieses kleine Script gemacht.
und der Quelltext.
schedule("* * * * *", function () { setState("sayit.0.tts.text", "de;100;avascript.0.Begruessu"); });
auffällig das bei der Variable die letzten Zeichen fehlen. Heist normaler weise Begruessung
-
auffällig das bei der Variable die letzten Zeichen fehlen. Heist normaler weise Begruessung `
Ist das in Deinem vorherigen Script auch so?
-
Eventuell habe ich einen Hinweis gefunden.
Zum Testen habe ich dieses kleine Script gemacht.
filename="2016-08-19 07_42_46-ioBroker.admin.png" index="1">~~und der Quelltext.
schedule("* * * * *", function () { setState("sayit.0.tts.text", "de;100;avascript.0.Begruessu"); });
auffällig das bei der Variable die letzten Zeichen fehlen. Heist normaler weise Begruessung `
-
@Bluefox: Kann es sein das die Skripte vom Typ "Blockly" beim Start der JS-Instanz nicht automatisch gestartet werden auch wenn Sie "enabled" sind?Hatte mich heute gewundert warum Dinge nbicht tun und festgestellt das Sie nach dem Neustart des iobroker gar nicht gestartet wurden.
Die Skripte vom Typ" javascript/JS" dagegen wurden alle automatisch gestartet … `
Ist so…Man sollte manuell das Objekt "_design/script" verändern auf:
{ "_id": "_design/script", "language": "javascript", "views": { "javascript": { "map": "function(doc) { if (doc.type=='script' && doc.common.engineType.match(/^[jJ]ava[sS]cript|^[cC]offee[sS]cript|^Blockly/)) emit(doc.common.name, doc) }" } }, "common": {}, "native": {}, "acl": { "object": 1638 } }
-
-
@Bluefox: Kann es sein das die Skripte vom Typ "Blockly" beim Start der JS-Instanz nicht automatisch gestartet werden auch wenn Sie "enabled" sind?Hatte mich heute gewundert warum Dinge nbicht tun und festgestellt das Sie nach dem Neustart des iobroker gar nicht gestartet wurden.
Die Skripte vom Typ" javascript/JS" dagegen wurden alle automatisch gestartet … `
Ist so…Man sollte manuell das Objekt "_design/script" verändern auf:
{ "_id": "_design/script", "language": "javascript", "views": { "javascript": { "map": "function(doc) { if (doc.type=='script' && doc.common.engineType.match(/^[jJ]ava[sS]cript|^[cC]offee[sS]cript|^Blockly/)) emit(doc.common.name, doc) }" } }, "common": {}, "native": {}, "acl": { "object": 1638 } } ```` `
:?: :?: :?:
Also ich bin nur ein dummer Anwender.
Kann mir das jemand übersetzen?
Grüße
-
Bei mir gibt es ebenfalls das Problem mit "SendTo Sayit", dass Zeichen im Code abgeschnitten werden.````
on({id: "hm-rega.1.48982"/MSG SayIt Tablet KG/, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
setState("sayit.0.tts.text", "de;100;etState("hm-rega.1.48982").v");
});Bei Lautstärke steht "optional". Ist aber kein Wert angedockt, dann meldet Blockly-Prüfung einen Fehler.
-
:?: :?: :?:
Also ich bin nur ein dummer Anwender.
Kann mir das jemand übersetzen?
Grüße `
Du musst im Reiter "Objekte" auf Systemobjekte anzeigen klicken und das Objekt "_design/script" bearbeiten (Zahnrad) im RAW-Modus ("raw nur experten").Dann hinter "…doc.common.engineType.match(/^[jJ]ava[sS]cript|^[cC]offee[sS]cript" noch "|^Blockly" einfügen und speichern.
Danach den Javascript-Adapter neu starten.
-
Eventuell habe ich einen Hinweis gefunden.
Zum Testen habe ich dieses kleine Script gemacht.
filename="2016-08-19 07_42_46-ioBroker.admin.png" index="1">~~und der Quelltext.
schedule("* * * * *", function () { setState("sayit.0.tts.text", "de;100;avascript.0.Begruessu"); });
auffällig das bei der Variable die letzten Zeichen fehlen. Heist normaler weise Begruessung
Hallo Bluefox,
den hatte ich auch schon probiert und nach deiner Antwort nocch einmal. Wenn ich "Wert von Objekt Begruessung nehme
erscheint die Fehlermeldung
javascript-0 2016-08-24 17:12:06.861 error script.js.Skript1 compile failed: SyntaxError: missing ) after argument list javascript-0 2016-08-24 17:12:06.854 info Start javascript script.js.Skript1 javascript-0 2016-08-24 17:12:06.841 info Stop script script.js.Skript1
Das Script sieht so aus.
schedule("* * * * *", function () { setState("sayit.0.tts.text", "de;100;etState("javascript.0.Begruessung").v"); });
-
Eventuell habe ich einen Hinweis gefunden.
Zum Testen habe ich dieses kleine Script gemacht.
filename="2016-08-19 07_42_46-ioBroker.admin.png" index="1">~~und der Quelltext.
schedule("* * * * *", function () { setState("sayit.0.tts.text", "de;100;avascript.0.Begruessu"); });
auffällig das bei der Variable die letzten Zeichen fehlen. Heist normaler weise Begruessung
Hallo Bluefox,
den hatte ich auch schon probiert und nach deiner Antwort nocch einmal. Wenn ich "Wert von Objekt Begruessung nehme
erscheint die Fehlermeldung
javascript-0 2016-08-24 17:12:06.861 error script.js.Skript1 compile failed: SyntaxError: missing ) after argument list javascript-0 2016-08-24 17:12:06.854 info Start javascript script.js.Skript1 javascript-0 2016-08-24 17:12:06.841 info Stop script script.js.Skript1
Das Script sieht so aus.
schedule("* * * * *", function () { setState("sayit.0.tts.text", "de;100;etState("javascript.0.Begruessung").v"); }); ```` `
Ich habe jetzt fix für sayIt auf git.
-
-