NEWS
Blockly
-
Den Fehler mit "getValue" habe ich auch in meinen Versuchen … wenn der weg ist wirds langsam echt cool ... Fange gerade an die ersten einfachen ScriptGUI Sachen zu migrieren ... macht Spass
@rantanplan: Wie hast du die Kommentare im Code hinbekommen? ist da irgendwo ein "comment" Blockly?! Dann hab ich das übersehen bisher `
Wenn es dann funktioniert, macht es wirklich Spass.
Die Kommentare sind wirklich cool.
Click mal das "?" bei einem Baustein an. Da kannst Du die Kommentare hinterlegen und auf dem Screen positionieren.
Nur beim neuladen des Blockly-Scripts, passen die Positionen nicht mehr.
Aber da kann ich bei einer "alpha" Version mit leben. "Schön" kommt hoffendlich hinterher.
Jetzt müssen Blockly-Scipte, bei mir nur noch laufen.
Grüße
PS.
OT/on
….EG-Garten Robomow....
Rasenroboter kommt bei mir im nächsten Jahr.
Werde Dich dann bestimmt nochmal belässtigen
OT/off
-
Jetzt müssen Blockly-Scipte, bei mir nur noch laufen. `
Bitte noch mal vom git updaten. Habe jetzt getValue=>getState gefixt. -
moin Bluefox
ich habe den Javascript Adapter heute morgen geupdatet.
Ich weiß nicht ob mein script falsch ist oder ein fehler vorliegt.
Hier die Logausgabe
ReferenceError: 2016-08-20 10:07:55.690 error at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20) ReferenceError: 2016-08-20 10:07:55.690 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) ReferenceError: 2016-08-20 10:07:55.690 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2113:37) ReferenceError: 2016-08-20 10:07:55.690 error at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:222:17) ReferenceError: 2016-08-20 10:07:55.690 error at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:544:17) ReferenceError: 2016-08-20 10:07:55.690 error at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2831:28) ReferenceError: 2016-08-20 10:07:55.690 error at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2812:17) ReferenceError: 2016-08-20 10:07:55.690 error at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:548:48 ReferenceError: 2016-08-20 10:07:55.690 error at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1228:48) ReferenceError: 2016-08-20 10:07:55.690 error at Object. (script.js.Diverses.BloklyAnwesend:3:7) ReferenceError: 2016-08-20 10:07:55.690 error getValue is not defined message 2016-08-20 10:07:55.689 error ping.0.Test.192_168_167_164 [object Object] getValue is not defined javascript-0 2016-08-20 10:06:56.134 info script.js.Diverses.BloklyAnwesend: registered 1 subscription and 0 schedules javascript-0 2016-08-20 10:06:56.120 info Start javascript script.js.Diverses.BloklyAnwesend javascript-0 2016-08-20 10:06:56.090 info Stop script script.js.Diverses.BloklyAnwesend
on({id: "ping.0.Test.192_168_167_164"/*SamsungS7*/, change: "ne"}, function (obj) { var value = obj.state.val; if (getValue("ping.0.Test.192_168_167_164").val == (function (){var val = true; if (val === 'true') return true; if (val === 'false') return false; return !!val;})()) { console.log('Ping ist true'); setState("hm-rega.0.950"/*Anwesenheit*/, (function (){var val = true; if (val === 'true') return true; if (val === 'false') return false; return !!val;})()); console.log('Variable Anwesend auf true'); sendTo("pushover", { message: 'Armin ist Anwesend', sound: "" }); } else { console.log('Ping ist false'); setState("hm-rega.0.950"/*Anwesenheit*/, (function (){var val = 0; if (val === 'true') return true; if (val === 'false') return false; return !!val;})()); console.log('Variable Anwesend auf false'); sendTo("pushover", { message: 'Armin ist Abwesend', sound: "" }); } });
wenn die lange Zeile von Blockly // mit kopiert wird lässt sich der Beitrag nicht hoch laden!
wo ist der Fehler?
Danke für die Hilfe!
mfg
Armin
P.s. was bedeutet über rechte Maustaste Baustein zusammenfalten?
-
P.s. was bedeutet über rechte Maustaste Baustein zusammenfalten? `
Das was da steht.
Probiere es doch aus und Du wirst sehen was passiert.
Grüße
-
moin Bluefox
ich habe den Javascript Adapter heute morgen geupdatet.
Ich weiß nicht ob mein script falsch ist oder ein fehler vorliegt.
Hier die Logausgabe
ReferenceError: 2016-08-20 10:07:55.690 error at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20) ReferenceError: 2016-08-20 10:07:55.690 error at Socket. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) ReferenceError: 2016-08-20 10:07:55.690 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2113:37) ReferenceError: 2016-08-20 10:07:55.690 error at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:222:17) ReferenceError: 2016-08-20 10:07:55.690 error at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:544:17) ReferenceError: 2016-08-20 10:07:55.690 error at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2831:28) ReferenceError: 2016-08-20 10:07:55.690 error at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:2812:17) ReferenceError: 2016-08-20 10:07:55.690 error at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:548:48 ReferenceError: 2016-08-20 10:07:55.690 error at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1228:48) ReferenceError: 2016-08-20 10:07:55.690 error at Object. (script.js.Diverses.BloklyAnwesend:3:7) ReferenceError: 2016-08-20 10:07:55.690 error getValue is not defined message 2016-08-20 10:07:55.689 error ping.0.Test.192_168_167_164 [object Object] getValue is not defined javascript-0 2016-08-20 10:06:56.134 info script.js.Diverses.BloklyAnwesend: registered 1 subscription and 0 schedules javascript-0 2016-08-20 10:06:56.120 info Start javascript script.js.Diverses.BloklyAnwesend javascript-0 2016-08-20 10:06:56.090 info Stop script script.js.Diverses.BloklyAnwesend
on({id: "ping.0.Test.192_168_167_164"/*SamsungS7*/, change: "ne"}, function (obj) { var value = obj.state.val; if (getValue("ping.0.Test.192_168_167_164").val == (function (){var val = true; if (val === 'true') return true; if (val === 'false') return false; return !!val;})()) { console.log('Ping ist true'); setState("hm-rega.0.950"/*Anwesenheit*/, (function (){var val = true; if (val === 'true') return true; if (val === 'false') return false; return !!val;})()); console.log('Variable Anwesend auf true'); sendTo("pushover", { message: 'Armin ist Anwesend', sound: "" }); } else { console.log('Ping ist false'); setState("hm-rega.0.950"/*Anwesenheit*/, (function (){var val = 0; if (val === 'true') return true; if (val === 'false') return false; return !!val;})()); console.log('Variable Anwesend auf false'); sendTo("pushover", { message: 'Armin ist Abwesend', sound: "" }); } });
wenn die lange Zeile von Blockly // mit kopiert wird lässt sich der Beitrag nicht hoch laden!
wo ist der Fehler?
Danke für die Hilfe!
mfg
Armin
P.s. was bedeutet über rechte Maustaste Baustein zusammenfalten? `
Du hast aber "iobroker upload javascript" nicht aufgerufen. -
Jetzt müssen Blockly-Scipte, bei mir nur noch laufen.
Bitte noch mal vom git updaten. Habe jetzt getValue=>getState gefixt.
Leider noch nicht. Immer noch der gleiche Fehler.
JS 2.3.3
"ioBroker update javascript" durchgeführt.
Den Triger mal gelöscht und wieder neu angelegt.
Leider kein Erfolg.
"getValue is not defined
error hm-rega.0.14256 [object Object] getValue is not defined"
Grüße
-
Beiu mir hats geplappt. Durchgeführt wie im ersten Post.
Macht vllt ne kleine Änder am Skript - ich weiss nicht mit welchem "Trigger" er den code neu generiert … ohne Änderung muss er das ja nicht
Und Bluefox hat ein comment-Blockly eingebaut was man überall einfügen kann. cool.
OT-Robomow: Gern Ich plane für den Herbst noch den Umbau mit Tastensteuerung per HM-Batterieaktoren :-))
-
Beiu mir hats geplappt. Durchgeführt wie im ersten Post.
Macht vllt ne kleine Änder am Skript - ich weiss nicht mit welchem "Trigger" er den code neu generiert … ohne Änderung muss er das ja nicht
Und Bluefox hat ein comment-Blockly eingebaut was man überall einfügen kann. cool.
OT-Robomow: Gern Ich plane für den Herbst noch den Umbau mit Tastensteuerung per HM-Batterieaktoren :-)) `
Alles gut!!!!!!!
Script neu angelegt und es funktioniert.
Kommentar-Baustein ist echt klasse.
(Was Bluefox so mal eben einbaut ist schon ein Hammer)
Jetzt kann die Portierung von CCU.IO nach ioBroker anfangen.
Wenn ich an meine Heizungssteuerung denke, wird das echt spannend.
@Bluefox. Wäre eine Rubrik "Blockly-Scripten" möglich? Dann wäre hier nur Testen.
Grüße
-
Hallo Zusammen
und schon habe ich eine Frage.
Ich möchte einen Trigger, der immer auf 06:00 Uhr reagiert.
Da habe ich mir gedacht, nimm den Cron-Baustein.
Stunden / Jede ausgewählte Stunde / 06
Cron-Ausdruck: 6**
Da drunter steht aber "Jede Minute von 6 Stunde(n)"
Ist das nur eine falsche Anzeige? Hat das schon jemand ausprobiert?
Grüße
-
Bei Cron ist das so korrekt.
Ein "*" steht immer für "jedes mal". Bei dir also "wenn Stunde=6 UND Minute=0 ODER 1 ODER 2 ODER 3..59"
Wenn Du also 6 Uhr haben willst musst du bei den Minuten noch die Minute "0" auswählen, damit gilt dann "wenn Stunde=6 UND Minute=0"
-
Aha, wieder was gelernt. Danke!
Grüße
-
@Bluefox: Mal wieder spontanes Feedback: In ScriptGUI war es einfach eine Textmeldung sowohl an Pushover zu senden als auch ins Log zu schreiben. Bei Blockly müsste man temporär Variablen nutzen oder alles doppelt bauen (also den Text-Blockly).
Wie wäre es damit das man bei den "Send-To"-Blocklys noch wäwhlen könnte ob die Meldung nach dem senden auch ins Log (mit entsprechender Severity) soll ?!
Und noch: Zugriff auf "oldValue" im Rahmen von Triggern wäre auch super
-
Ist es irgendwann geplant die Namen der Objekte in den Bausteinen anzuzeigen?
Das würde einiges vereinfachen.
Grüße
-
EIne Info noch zu den Timeouts (weil gerade drüber gestolpert). Hier gibts aktuell nen Unterschied zu ScriptGUI!!
Die aktuelle Umsetzung bei Blockly behandelt exakt EINEN Timeout/Delay und kann exakt "den letzten gestarteten" Timeout/Delay wieder löschen mit den "clear"-Kommandos.
Bei ScriptGUI war das etwas allgemeiner und hat immer alle pot. laufenden Timeouts gelöscht anstelle nur den letzten
ScriptGUI hat dabei den Code hier erzeugt:
}var brake_29 = [] ;function brake_29_in1 (data){brake_29.push(setTimeout(function(){codebox_5(data);},60000))}function brake_29_in2 (data){while (brake_29.length > 0 ) clearTimeout(brake_29.pop());}
brake_29_in1 ist "Start" und brake_29_in2 war "Stop".
Ich denke das die ScriptGUI-Lösung ggf etwas einfacher für Nicht-Programmierer zu verstehen ist…
@Bluefox: kannst ja überlegen ob Du was änderst oder nicht. Falls ja wäre ne Info cool weil ichjetzt an ersten Teststellen was umbauen musste
-
Ich überlege gerade, ob man die Tagen nicht von 1 bis 7 machen sollte. Aktuell kommen die 0 für Sonntag bis 6 für Samstag. Du wolltest aber sicher Wochentage erwischen. `
Hi, Bluefoxdarüber würde ich mich freuen.
Tage 1 bis 7 ist leicher zu verarbeiten.
Bekommen wir eine Info falls das umgestellt wird?
Grüße
-
Wenn ein Fehler im Script erkannt wird, läuft das Script weiter.
Wäre es nicht besser/sicherer, wenn es gleichzeitig gestoppt wird?
Grüße
-
Auch wenn ich läßtig werde :oops:
Das setzten einer boolschen HM-Systemvariable klappt bei mir nicht.
schedule("* * * * *", function () { console.log('Starte HF MF Feiertag'); // setzte Heute_Frei unwahr setState("hm-rega.0.8862"/*Heute_Frei*/, false, true); // chk Morgen_Frei // chk Wochenende? // chk Feiertag? });
Bug? Oder bin ich zu blöd? :?
Grüße
-
War da nicht was das Rega-Variablen nur bei "ack=false" gesendet werden. Dann wäre das blöd weil im Blockly nicht einstellbar
-
Ja… ich schon wieder.
(Bei uns regnet es )
Zwei weitere Logik-Bausteine wären klasse.
Jeweils für AND und OR, bei denen man mehrere Bedingungen hinzufügen kann.
Bei ScriptGUI sieht das so aus.
Bei "AND" diese Logik.
Ist sowas in Blockly möglich?
Grüße
-
War da nicht was das Rega-Variablen nur bei "ack=false" gesendet werden. Dann wäre das blöd weil im Blockly nicht einstellbar `
Hi Apollon77
Heißt das, ich kann mit ioBroker/Blockly keine HM-Systemvariablen ändern? :shock:
Das wäre für mich das Aus! :evil:
Grüße