NEWS
Fenster und andere Geräte zählen opt. Alexa Ansagen
-
@dslraser ich hab schon die 4.6.11 drauf...gerade das Skript mit nur iQontrol getestet, gleiche Fehlermeldungen. Scheint am neuen JS zu liegen, klasse
-
@Kueppert
kannst Du mal downgraden und testen ? -
@dslraser gleicher Fehler weiterhin...irgendwas mach ich doch bestimtm falsch...manmanman. Hab jetzt 4.5.1 drauf. Ich starte mal neu und mach das mit dem Skript auch nochmal neu...diesmal auch ohne iqontrol.
javascript.0 2020-05-19 10:42:15.246 error (13822) at processTimers (internal/timers.js:492:7) javascript.0 2020-05-19 10:42:15.246 error (13822) at listOnTimeout (internal/timers.js:551:17) javascript.0 2020-05-19 10:42:15.246 error (13822) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2015:34) javascript.0 2020-05-19 10:42:15.246 error (13822) at Object.<anonymous> (script.js.common.Sonstiges.Status_FensterTuerenGesamt:494:5) javascript.0 2020-05-19 10:42:15.245 error (13822) at zaehlen (script.js.common.Sonstiges.Status_FensterTuerenGesamt:64:45) javascript.0 2020-05-19 10:42:15.245 error (13822) at getParentName (script.js.common.Sonstiges.Status_FensterTuerenGesamt:380:14) javascript.0 2020-05-19 10:42:15.245 error (13822) Error in callback: TypeError: name.substr is not a function
-
@Kueppert
was steht bei Dir in der Funktion getParentName ? (warst Du da nicht drann ?) -
@dslraser mh...JavaSkript-Editor ist jetzt bei mir erst mal platt muss erst mal schauen, dass ich den wieder ans Laufen bekomme ^^
-
@Kueppert sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
JavaSkript-Editor ist jetzt bei mir erst mal platt
na ganz toll...
-
@Kueppert sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
muss erst mal schauen, dass ich den wieder ans Laufen bekomme ^^
hast Du nach dem Downgrade mal einen Upload gemacht und die Instanz neu gestartet ?
-
@dslraser gerade mal durchgestartet...scheint alles zu laufen. Weiter gehts
-
@Kueppert sagte in Fenster und andere Geräte zählen opt. Alexa Ansagen:
scheint alles zu laufen. Weiter gehts
Das Blockly auch ?
-
@dslraser erst mal nur der Controller...ich baue das Blockly jetzt bei mir neu ein und schaue was passiert...
EDIT: gleiche Fehlermeldung
-
@Kueppert
was steht bei Dir in der Funktion getParentName ? (warst Du da nicht drann ?)Zeig mal bitte ?
-
@dslraser nein da hab ich diesmal nix dran gefummelt ^^
var name = getObject(id).common.name; if (name.substr( -7) == ('Is open')) return name.slice(0, -7); if (name.substr( -6) == ('.STATE')) return name.slice(0, -6); if (name.substr( -6) == ('.state')) return name.slice(0, -6); if (name.substr( -5) == ('.open')) return name.slice(0, -5); if (name.substr( -4) == ('open')) return name.slice(0, -5); id = id.substring(0, id.lastIndexOf('.')); if(existsObject(id) && getObject(id).type == 'channel') return getObject(id).common.name; id = id.substring(0, id.lastIndexOf('.')); if(existsObject(id) && getObject(id).type == 'channel') return getObject(id).common.name; else return 'Sensor unbekannt';
-
@Kueppert
kannst Du Zeile 3-7 mal auskommentieren und schauen ob das Blockly dann bei Dir läuft. Wenn nicht, dann mal 3-7 aktivieren und nochmal 9-12 auskommtieren.
So richtig weiß ich nicht woran es sonst liegen kann. Ich habe aber auch nur HMIP da drinn und einige andere "virtuelle" selbst angelegte DP probiert. -
@dslraser hab ich gemacht, mit folgendem Ergebnis:
Zeile 9-12 auskommentiert:
javascript.0 2020-05-19 11:09:40.049 info (5889) Stop script script.js.common.Sonstiges.Status_Türen&Fenster_gesamt javascript.0 2020-05-19 11:09:17.966 error (5889) at processTimers (internal/timers.js:492:7) javascript.0 2020-05-19 11:09:17.966 error (5889) at listOnTimeout (internal/timers.js:551:17) javascript.0 2020-05-19 11:09:17.966 error (5889) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2015:34) javascript.0 2020-05-19 11:09:17.965 error (5889) at Object.<anonymous> (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:508:5) javascript.0 2020-05-19 11:09:17.965 error (5889) at zaehlen (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:225:45) javascript.0 2020-05-19 11:09:17.965 error (5889) at getParentName (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:374:14) javascript.0 2020-05-19 11:09:17.964 error (5889) Error in callback: TypeError: name.substr is not a function
Zeilen 3-7 auskommentiert:
javascript.0 2020-05-19 11:11:38.580 info (5889) Stop script script.js.common.Sonstiges.Status_Türen&Fenster_gesamt javascript.0 2020-05-19 11:11:33.556 error (5889) at processTimers (internal/timers.js:492:7) javascript.0 2020-05-19 11:11:33.556 error (5889) at listOnTimeout (internal/timers.js:551:17) javascript.0 2020-05-19 11:11:33.556 error (5889) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2015:34) javascript.0 2020-05-19 11:11:33.555 error (5889) at Object.<anonymous> (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:508:5) javascript.0 2020-05-19 11:11:33.555 error (5889) at zaehlen (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:225:45) javascript.0 2020-05-19 11:11:33.554 error (5889) at getParentName (script.js.common.Sonstiges.Status_Türen&Fenster_gesamt:374:14) javascript.0 2020-05-19 11:11:33.552 error (5889) Error in callback: TypeError: name.substr is not a function
Das Steckdosenskript läuft wunderbar...und da sehen die Code-Zeilen nicht viel anders aus
-
@Kueppert
deaktiviere das mal bitte (das ist ab Zeile 374) -
@Kueppert
kannst Du mir nochmal Deine RAW von Deinen Fenstersensoren posten -
@dslraser hat leider nix gebracht, auch wieder Fehlermeldungen.
Anbei paar RAWs:
vom MiHome-Adapter ein Xiaomi-Fenstersensor{ "from": "system.adapter.mihome.0", "user": "system.user.admin", "ts": 1551894017590, "common": { "name": "Kinderzimmer-Fenster (R)", "role": "state", "type": "boolean", "write": false, "read": true }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "mihome.0.devices.magnet_158d0002b7b76c.state", "type": "state" }
HM-IP Türsensor:
{ "type": "state", "common": { "def": "CLOSED", "type": "number", "read": true, "write": false, "min": 0, "max": 1, "states": { "0": "CLOSED", "1": "OPEN" }, "unit": "\"\"", "role": "value.window", "name": "HMIP-Türsensor Keller.STATE" }, "native": { "MIN": "CLOSED", "UNIT": "\"\"", "OPERATIONS": 5, "MAX": "OPEN", "FLAGS": 1, "ID": "STATE", "TAB_ORDER": 0, "TYPE": "ENUM", "DEFAULT": "CLOSED", "VALUE_LIST": [ "CLOSED", "OPEN" ], "CONTROL": "DOOR_SENSOR.STATE" }, "from": "system.adapter.hm-rega.0", "user": "system.user.admin", "ts": 1589550730457, "_id": "hm-rpc.0.0000D709925D62.1.STATE", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Zigbee-Adapter:
{ "type": "state", "common": { "name": "EG Küche Fenster Sensor Is open", "type": "boolean", "read": true, "write": false, "role": "state" }, "from": "system.adapter.zigbee.0", "user": "system.user.admin", "ts": 1588595295109, "_id": "zigbee.0.00158d00019db26a.opened", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "native": {} }
-
@Kueppert JUHUUU, @dslraser hat es herausgefunden. Bei mir steht im Namen des Objekts ein (R) für rechts und (L) für links...das geht nicht (oder man muss es herausfiltern). Ich hab einfach die Klammern entfernt, fertig.
Jetzt kanns weiter gehen.Herzlichen Dank @dslraser für deine Unterstützung.
Viele Grüße, Thorsten
-
@Kueppert
Sonderzeichen sind an der Stelle nie eine gute Idee.
Warum?
Deswegen:
https://de.wikipedia.org/wiki/Regulärer_Ausdruck -
damit ginge es auch (ohne (R) )
Edit: und wenn Du das (R) behalten willst, dann ginge es auch damit
Mit (R) sieht es so aus (das sind Deine drei RAW)
Edit: falls sich Jemand wundert, ich habe bei mir mein "Keller Blockly" missbraucht und nur einen anderen Selektor mit den drei RAW in einer anderen Aufzählung benutzt...