NEWS
Blockly Trigger Fehler
-
Hallo zusammen,
ich habe eben ein recht simples Blockly zusammengebaut und einen Fehler in dem Blockly Triggern mit mehreren States erhalten
zum Debug hab ich folgendes gemacht:
on({id: "mihome.0.devices.motion_158d00027bcea4.state"/Is motion/, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
console.log((String('DebugText') + String('')));
});
on({id: getState("mihome.0.devices.motion_158d00027bcea4.state").val, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
console.log((String('DebugText') + String('')));
});
beim oberen "ein State" funktioniert es nun wie gewollt wenn ich den Block alleine ausführe
beim zweiten mit "mehreren States" bekomme ich folgenden Fehler
javascript.0 2019-01-26 19:39:35.487 error Error by subscription: empty ID defined. All states matched.
javascript.0 2019-01-26 19:39:35.487 info Start javascript script.js.common.Skript1
javascript.0 2019-01-26 19:39:35.470 error unsubscribe: invalid type of id - boolean
javascript.0 2019-01-26 19:39:35.469 info Stop script script.js.common.Skript1
javascript engine 3.6.4
Ist eigentlich super simpel… aber ich komm nicht drauf
Woran könnte das liegen? Könnte die Engine einen Defekt haben?
Vielen Dank schonmal
6653_bildschirmfoto_2019-01-26_um_19.55.12.png -
Hallo zusammen,
ich habe eben ein recht simples Blockly zusammengebaut und einen Fehler in dem Blockly Triggern mit mehreren States erhalten
zum Debug hab ich folgendes gemacht:
on({id: "mihome.0.devices.motion_158d00027bcea4.state"/Is motion/, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
console.log((String('DebugText') + String('')));
});
on({id: getState("mihome.0.devices.motion_158d00027bcea4.state").val, change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
console.log((String('DebugText') + String('')));
});
beim oberen "ein State" funktioniert es nun wie gewollt wenn ich den Block alleine ausführe
beim zweiten mit "mehreren States" bekomme ich folgenden Fehler
javascript.0 2019-01-26 19:39:35.487 error Error by subscription: empty ID defined. All states matched.
javascript.0 2019-01-26 19:39:35.487 info Start javascript script.js.common.Skript1
javascript.0 2019-01-26 19:39:35.470 error unsubscribe: invalid type of id - boolean
javascript.0 2019-01-26 19:39:35.469 info Stop script script.js.common.Skript1
javascript engine 3.6.4
Ist eigentlich super simpel… aber ich komm nicht drauf
Woran könnte das liegen? Könnte die Engine einen Defekt haben?
Vielen Dank schonmal `
Im zweiten mußt Du den blauen Bausten (Wert vom Objekt ID Is motion entfernen und direkt in das Feld darunter klicken. Wenn Du mehrere Trigger brauchst, dann klicke links auf das Zahnrad und füge welche hinzu.
So in etwa…
-
Verstanden, Danke für den Hinweis. Klappt.
Das ist im ersten Moment leider nicht direkt ersichtlich, dass man hier keine Objekte einfügen darf.
Wofür sind dann die einfügbaren dunkelblauen Objekte gedacht? Oder ist das einfach eine Inkonsistenz?
-
dass man hier keine Objekte einfügen darf. `
Doch das darf man.Nur keine Geräte, sondern nur states.
Das Gerät ändert sich ja nicht
@madjack84:Wofür sind dann die einfügbaren dunkelblauen Objekte gedacht? Oder ist das einfach eine Inkonsistenz? `
Meinst du die hellblauen?und was meinst du mit Inkonsustenz?
Gruß
Rainer
-
ok, jetzt sitz ich tatsächlich auf der Leitung.
dass man hier keine Objekte einfügen darf. `
Doch das darf man.Nur keine Geräte, sondern nur states. `
in meinem Beispiel im ersten Post:
"is motion" ist ein State "mihome.0.devices.motion_158d00027bcea4.state" und doch kein Gerät oder?
Das Objekt ID Blockly holt ebenso "getState("mihome.0.devices.motion_158d00027bcea4.state").val" und keine Geräte ID…
fürchte wir schreiben aneinander vorbei :oops:
-
… langsam dämmerts
on({id: getState("mihome.0.devices.motion_158d00027bcea4.state").val, change: "ne"}, function (obj) {
verlangt eine ID und kein State.
Das würde aber bedeuten, dass das dunkelblaue Blockly Teil mit Object ID gar nicht eingefügt werden darf oder?