NEWS
Blockly
-
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.
-
-
-
Sorry das funktioniert natürlich!!
-
Es gibt jetzt export import funktion von einzelnen Blocks und von allen Blocks, so dass man die Blocks hier endlich posten kann.
-
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.
filename="Zeit-Vergleichen.png" index="0">~~
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 `
Hast du Zeitvergleich hinbekommen? -
Wie update ich am einfachsten?
Nochmal die Befehle vom 1. post?
-
Frage an Tester.
Ist Blockly soweit, dass ich den publischen kann und anfangen kann Doku zu schreiben?
-
M.E. fehlt bei den SendTo-Funktionen noch die Möglichkeit, per Email zu versenden. Könnte das noch eingebaut werden?
-