NEWS
JavaScript Systemvariable - unsubscribe error
-
Hallo,
ich möchte eine Platzhalter bzw Test Systemvariable für Javascript anlegen, welche ich in einem Blockly Script nutze.
Jedoch bekomme ich ständig eine Fehler Meldung:Ich habe im Reiter Objekte unter javascript.0 einen neuen Datenpunkt angelegt.
(Diesen nutze ich im Blocky script
Bzw der Quell Code dazu:on({id: getState("javascript.0.isStorm").val, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.isStorm").val == true) { Rollladen_1 = getState("hm-rpc.0.OEQ1222509.1.LEVEL").val;
Raw vom Datenpunkt
{ "from": "system.adapter.admin.0", "ts": 1562445335680, "common": { "name": "isStorm", "role": "Sturmwarnung", "type": "boolean", "desc": "Manuell erzeugt", "read": true, "write": true, "def": false }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "javascript.0.isStorm", "type": "state" }
Wenn ich nun das Script starte, bekomme ich ich im wechsel zwei Fehler Meldungen. Selten beide gleichzeitig.
javascript.0 2019-07-06 22:57:02.032 error Error by subscription: empty ID defined. All states matched.
javascript.0 2019-07-06 22:49:10.633 error unsubscribe: invalid type of id - boolean
was mache ich falsch?
-
Lösche den Manuell erzeugten Datenpunkt und erzeug ihn neu :
Blocky Script :
Ich würde lieber einen Ordner dafür anlegen z.B. Datenpunkt .
Ändere dein Skript / Blocky darauf : javascript.0.Datenpunkt.isStorm -
@alexbababu sagte:
was mache ich falsch?
Der Trigger darf nicht der Wert eines Objektes, sondern muss die Objekt-ID sein.
-
@paul53 das war es! danke
@Glasfaser das war zwar nciht das problem. aber ich hab es totzdem beherzigt! ich hab nur irgendein mistz gedrückt, jetzt werden meine anderen scripte nichtmehr als objekt angezeigt. die funktionieren aber noch. versteh ich nicht.