NEWS
[erklärt] Mehrfach Trigger mit Listenelementen schlägt fehl
-
Hallo Zusammen,
folgender Fehler ist mir aufgefallen, kann das bitte jemand mal verifizieren?
hier die XML-Version
Dieses einfache Blockly läuft auf diesen Fehler
javascript.0 2021-03-29 17:28:20.917 error (1190) at processImmediate (internal/timers.js:463:21) javascript.0 2021-03-29 17:28:20.917 error (1190) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1238:17) javascript.0 2021-03-29 17:28:20.917 error (1190) at /opt/iobroker/node_modules/iobroker.javascript/main.js:1722:17 javascript.0 2021-03-29 17:28:20.916 error (1190) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1621:37) javascript.0 2021-03-29 17:28:20.916 error (1190) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1383:28) javascript.0 2021-03-29 17:28:20.916 error (1190) at Object.createScript (vm.js:261:10) javascript.0 2021-03-29 17:28:20.916 error (1190) at new Script (vm.js:88:7) javascript.0 2021-03-29 17:28:20.916 error (1190) SyntaxError: Invalid or unexpected token javascript.0 2021-03-29 17:28:20.916 error (1190) ^^^^^^ javascript.0 2021-03-29 17:28:20.915 error (1190) on({id: new RegExp(Liste\[0] + "$|" + 'wxyz' + "$"), change: "ne"}, async function (obj) { javascript.0 2021-03-29 17:28:20.915 error at script.js.Meine_Schalter.AAA_Test3:11 javascript.0 2021-03-29 17:28:20.915 error (1190) script.js.Meine_Schalter.AAA_Test3 compile failed:
Für mich stellt sich das so dar:
- der obere Trigger allein funktioniert ohne den unteren (einfach mal deaktivieren) perfekt
- der Fehler wird NUR vom unteren ausgelöst
- entferne ich vom unteren den Listenaufruf und setze was x-beliebiges ein, dann funktioniert es auch
--> sobald ein mehrfach Trigger (dieser Art) mind. ein Listenaufruf beinhaltet, kann es nicht mehr compiliert werden.
Könnt ihr das bitte mal prüfen?
Aktuell hab ich Version 5.0.14 installiert ... glaube aber, dass dieses Problem auch schon mit Version 4.x bestanden hat.
Herzlichen Dank
Grüße Plasma
P.S.: habe weder in der Suche hier im Forum noch in den Issues in Github was dazu gefunden!
-
@plasmachef
Der Mehrfachtrigger ist für so exotische Verwendung nicht ausgelegt: Entweder Mehrfachtrigger mit Datenpunkt-IDs (verwendet RegExp) oder ein Array of IDs. -
@plasmachef sagte in Mehrfach Trigger mit Listenelementen schlägt fehl:
Dieses einfache Blockly läuft auf diesen Fehler
das ist definitiv kein einfaches Blockly
@plasmachef sagte in Mehrfach Trigger mit Listenelementen schlägt fehl:
folgender Fehler ist mir aufgefallen,
Der einzige Fehler liegt in der Verwendung des Triggers.
Der kann nur auf IDs triggern, nicht auf "Wert von..." und auch nicht auf einen String -
Danke, dass ihr euch damit beschäftigt!
Vielleicht verstehe ich das ganze auch falsch ... es geht hier nicht um den Inhalt der Strings ...
Um dieses Missverständnis auszuräumen habe ich das Blockly angepasst:Hier die XML-Datei um es nachzustellen
Typ 1 klappt
Typ 2 läuft auf Fehler
Typ 3 läuft auf Fehler
Typ 4 klappt
Typ 5 klappt -
@plasmachef
Typen 1 und 4 verwenden kein RegExp, da kein Mehrfachtrigger.
Typ 5 verwendet RegExp.Die Kombination von RegExp und Array-Elementen (Typen 2, 3) funktioniert nicht.
Was funktioniert: -
Herzlichen Dank, ich glaub, ich habs verstanden!
... und verwende ab sofort Typ 6 als Alternative zu Typ 2
Nochmals Danke und einen schönen Abend noch
Grüße Plasma