NEWS
VIS2: Invalid pattern on subscribe - VIS1 läuft problemlos
-
Mit VIS1 hatte ich mit meinem JS-Code keine Probleme. Mit VIS2 schon.
Was muss ich ändern, damit es wieder funktioniert?web.0 2024-04-28 07:33:41.935 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Hauptlicht_dimmen,0)" is not a valid ID pattern web.0 2024-04-28 07:33:41.935 error Invalid pattern on subscribe: The pattern "document.getElementById("Kuche_Steckdosen").style.backgroundColor = "#dd5800"" is not a valid ID pattern web.0 2024-04-28 07:33:41.934 error Invalid pattern on subscribe: The pattern "document.getElementById("Kuche_Steckdosen").style.backgroundColor = "#04AA6D"" is not a valid ID pattern web.0 2024-04-28 07:33:41.934 error Invalid pattern on subscribe: The pattern "this.servConn._socket.emit('getStates', Kuche_Steckdosen_objID, (error, states) => { this.servConn._socket.emit('setState', Kuche_Steckdosen_objID, !states[Kuche_Steckdosen_objID].val)" is not a valid ID pattern web.0 2024-04-28 07:33:41.934 error Invalid pattern on subscribe: The pattern "document.getElementById("Spuhlmaschine").style.backgroundColor = "#dd5800"" is not a valid ID pattern web.0 2024-04-28 07:33:41.933 error Invalid pattern on subscribe: The pattern "document.getElementById("Spuhlmaschine").style.backgroundColor = "#04AA6D"" is not a valid ID pattern web.0 2024-04-28 07:33:41.933 error Invalid pattern on subscribe: The pattern "this.servConn._socket.emit('getStates', Kuche_Spuhlmaschine_objID, (error, states) => { this.servConn._socket.emit('setState', Kuche_Spuhlmaschine_objID, !states[Kuche_Spuhlmaschine_objID].val)" is not a valid ID pattern web.0 2024-04-28 07:33:41.933 error Invalid pattern on subscribe: The pattern "document.getElementById("Herd_und_Backofen").style.backgroundColor = "#dd5800"" is not a valid ID pattern web.0 2024-04-28 07:33:41.932 error Invalid pattern on subscribe: The pattern "document.getElementById("Herd_und_Backofen").style.backgroundColor = "#04AA6D"" is not a valid ID pattern web.0 2024-04-28 07:33:41.932 error Invalid pattern on subscribe: The pattern "this.servConn._socket.emit('getStates', Kuche_Herd_objID, (error, states) => { this.servConn._socket.emit('setState', Kuche_Herd_objID, !states[Kuche_Herd_objID].val)" is not a valid ID pattern web.0 2024-04-28 07:33:41.932 error Invalid pattern on subscribe: The pattern "document.getElementById("Kuche_Tischlicht_100").className += "--primary:active"" is not a valid ID pattern
Zum Beispiel im Bezug auf den ersten Fehler im Log habe ich in meiner Visu bei Beleuchtung 5 Buttons. 0/25/50/75/100%. Die entsprechende JS-Funktion, welche in einem HTML-Widget ist, sah bisher so aus:
// Hauptbeleuchtung Küche function Kuche_Hauptlicht_0(){vis.setValue(Kuche_Hauptlicht_dimmen,0);} function Kuche_Hauptlicht_25(){vis.setValue(Kuche_Hauptlicht_dimmen,25);} function Kuche_Hauptlicht_50(){vis.setValue(Kuche_Hauptlicht_dimmen,50);} function Kuche_Hauptlicht_75(){vis.setValue(Kuche_Hauptlicht_dimmen,75);} function Kuche_Hauptlicht_100(){vis.setValue(Kuche_Hauptlicht_dimmen,100);}
Edit: Ok scheint wohl an diesen {} hier zu liegen. Warum hat VIS2 damit plötzlich ein Problem und VIS1 läuft problemlos parallel??
Was mache ich da nun???Edit2: Nun wirds komisch. Ich lasse ja meine Buttons farbig erscheinen, je nach dem ob der Dimmwert aktiv ist. Wenn ich hier die {} entferne, dann wird mir weiterhin nicht der Dimmwert angezeigt (also bleibt farblos der button), aber ich kann zumindest vis.setValue ausführen...
Außerdem war vorher beivar Buro_Hauptlicht_Dimmwert = {knx.0.Obergeschoss.Status.DA2_A_Buro_Dimmwert};
die geschweiften Klammern. War in VIS1 so notwendig. Nun in VIS2 musste ich das auf '' ändern.
var Kuche_Hauptlicht_Dimmwert = 'knx.0.Obergeschoss.Status.DA1_A_Kuche_Dimmwert';
Hier mal der gesamte [verunstaltete] JS-Code für das Hauptlicht der Küche:
var Kuche_Hauptlicht_dimmen = 'knx.0.Obergeschoss.Beleuchtung.DA1_A_Kuche_Licht_absolut_dimmen'; var Kuche_Hauptlicht_Dimmwert = 'knx.0.Obergeschoss.Status.DA1_A_Kuche_Dimmwert'; if (Kuche_Hauptlicht_Dimmwert == 0) document.getElementById("Kuche_Hauptlicht_0").className += "--primary:active"; document.getElementById("Kuche_Hauptlicht_0").style.backgroundColor = "#04AA6D"; if (Kuche_Hauptlicht_Dimmwert == 50) document.getElementById("Kuche_Hauptlicht_50").className += "--primary:active"; if (Kuche_Hauptlicht_Dimmwert == 75) document.getElementById("Kuche_Hauptlicht_75").className += "--primary:active"; if (Kuche_Hauptlicht_Dimmwert == 100) document.getElementById("Kuche_Hauptlicht_100").className += "--primary:active"; function Kuche_Hauptlicht_0(){vis.setValue(Kuche_Hauptlicht_dimmen,0);} function Kuche_Hauptlicht_25(){vis.setValue(Kuche_Hauptlicht_dimmen,25);} function Kuche_Hauptlicht_50(){vis.setValue(Kuche_Hauptlicht_dimmen,50);} function Kuche_Hauptlicht_75(){vis.setValue(Kuche_Hauptlicht_dimmen,75);} function Kuche_Hauptlicht_100(){vis.setValue(Kuche_Hauptlicht_dimmen,100);}
Also irgendwas muss in VIS2 passiert sein, weshalb auf einmal hier Probleme auftreten. Und ich kann doch nicht überall im JS-Code die geschweiften Klammern entfernen. Mag vielleicht bei ifs mit nur einer Anweisung gehen aber es kommen auch mal mehrere Vor. Hier muss doch ein Fehler vorliegen...
Ich hoffe irgendwer kann mir hierzu was sagen.
-
Hat keiner eine Idee? ️
-
Hallo,
gibt es wirklich niemanden (Entwickler usw.) welcher hier eine Idee hat?
Wie gesagt. In VIS1 funktioniert es 1:1 ohne Probleme. Wenn ich den selben Code in VIS2 einfüge, bekomme ich massenweise Fehler (siehe Log), der Browser fängt an zu hängen....
host.iobroker 2024-05-15 08:08:05.541 warn host.iobroker-Server States 127.0.0.1:50990 Error from InMemDB: Error: The pattern "vis.setValue(Wohnzimmer_Hauptlicht_dimmen,0)" is not a valid ID pattern at Object.pattern2RegEx (/opt/iobroker/node_modules/@iobroker/js-controller-common/src/lib/common/tools.ts:2470:15) at StatesInMemoryServer.handleSubscribe (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/inMemFileDB.ts:324:59) at StatesInMemoryServer._subscribeForClient (/opt/iobroker/node_modules/@iobroker/db-states-file/src/lib/states/statesInMemFileDB.js:258:14) at RedisHandler.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-states-jsonl/src/lib/states/statesInMemServerRedis.js:395:26) at RedisHandler.emit (node:events:517:28) at RedisHandler.emit (node:domain:489:12) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/redisHandler.ts:209:37) at processImmediate (node:internal/timers:476:21) host.iobroker 2024-05-15 08:08:05.539 warn host.iobroker-Server States 127.0.0.1:50990 Error from InMemDB: Error: The pattern "vis.setValue(Schlafzimmer_Hauptlicht_dimmen,25)" is not a valid ID pattern at Object.pattern2RegEx (/opt/iobroker/node_modules/@iobroker/js-controller-common/src/lib/common/tools.ts:2470:15) at StatesInMemoryServer.handleSubscribe (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/inMemFileDB.ts:324:59) at StatesInMemoryServer._subscribeForClient (/opt/iobroker/node_modules/@iobroker/db-states-file/src/lib/states/statesInMemFileDB.js:258:14) at RedisHandler.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-states-jsonl/src/lib/states/statesInMemServerRedis.js:395:26) at RedisHandler.emit (node:events:517:28) at RedisHandler.emit (node:domain:489:12) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/redisHandler.ts:209:37) at processImmediate (node:internal/timers:476:21) host.iobroker 2024-05-15 08:08:05.538 warn host.iobroker-Server States 127.0.0.1:50990 Error from InMemDB: Error: The pattern "vis.setValue(Kuche_Tischlicht_dimmen,100)" is not a valid ID pattern at Object.pattern2RegEx (/opt/iobroker/node_modules/@iobroker/js-controller-common/src/lib/common/tools.ts:2470:15) at StatesInMemoryServer.handleSubscribe (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/inMemFileDB.ts:324:59) at StatesInMemoryServer._subscribeForClient (/opt/iobroker/node_modules/@iobroker/db-states-file/src/lib/states/statesInMemFileDB.js:258:14) at RedisHandler.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-states-jsonl/src/lib/states/statesInMemServerRedis.js:395:26) at RedisHandler.emit (node:events:517:28) at RedisHandler.emit (node:domain:489:12) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/redisHandler.ts:209:37) at processImmediate (node:internal/timers:476:21) host.iobroker 2024-05-15 08:08:05.537 warn host.iobroker-Server States 127.0.0.1:50990 Error from InMemDB: Error: The pattern "vis.setValue(Kuche_Tischlicht_dimmen,0)" is not a valid ID pattern at Object.pattern2RegEx (/opt/iobroker/node_modules/@iobroker/js-controller-common/src/lib/common/tools.ts:2470:15) at StatesInMemoryServer.handleSubscribe (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/inMemFileDB.ts:324:59) at StatesInMemoryServer._subscribeForClient (/opt/iobroker/node_modules/@iobroker/db-states-file/src/lib/states/statesInMemFileDB.js:258:14) at RedisHandler.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-states-jsonl/src/lib/states/statesInMemServerRedis.js:395:26) at RedisHandler.emit (node:events:517:28) at RedisHandler.emit (node:domain:489:12) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/redisHandler.ts:209:37) at processImmediate (node:internal/timers:476:21) host.iobroker 2024-05-15 08:08:05.537 warn host.iobroker-Server States 127.0.0.1:50990 Error from InMemDB: Error: The pattern "vis.setValue(Kuche_Hauptlicht_dimmen,25)" is not a valid ID pattern at Object.pattern2RegEx (/opt/iobroker/node_modules/@iobroker/js-controller-common/src/lib/common/tools.ts:2470:15) at StatesInMemoryServer.handleSubscribe (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/inMemFileDB.ts:324:59) at StatesInMemoryServer._subscribeForClient (/opt/iobroker/node_modules/@iobroker/db-states-file/src/lib/states/statesInMemFileDB.js:258:14) at RedisHandler.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-states-jsonl/src/lib/states/statesInMemServerRedis.js:395:26) at RedisHandler.emit (node:events:517:28) at RedisHandler.emit (node:domain:489:12) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/redisHandler.ts:209:37) at processImmediate (node:internal/timers:476:21) host.iobroker 2024-05-15 08:08:05.536 warn host.iobroker-Server States 127.0.0.1:50990 Error from InMemDB: Error: The pattern "vis.setValue(Buro_Hauptlicht_dimmen,25)" is not a valid ID pattern at Object.pattern2RegEx (/opt/iobroker/node_modules/@iobroker/js-controller-common/src/lib/common/tools.ts:2470:15) at StatesInMemoryServer.handleSubscribe (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/inMemFileDB.ts:324:59) at StatesInMemoryServer._subscribeForClient (/opt/iobroker/node_modules/@iobroker/db-states-file/src/lib/states/statesInMemFileDB.js:258:14) at RedisHandler.<anonymous> (/opt/iobroker/node_modules/@iobroker/db-states-jsonl/src/lib/states/statesInMemServerRedis.js:395:26) at RedisHandler.emit (node:events:517:28) at RedisHandler.emit (node:domain:489:12) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/db-base/src/lib/redisHandler.ts:209:37) at processImmediate (node:internal/timers:476:21)
web.0 2024-05-15 08:08:21.556 error Invalid pattern on subscribe: The pattern "vis.setValue(Wohnzimmer_Hauptlicht_dimmen,25)" is not a valid ID pattern web.0 2024-05-15 08:08:21.556 error Invalid pattern on subscribe: The pattern "vis.setValue(Schlafzimmer_Hauptlicht_dimmen,100)" is not a valid ID pattern web.0 2024-05-15 08:08:21.555 error Invalid pattern on subscribe: The pattern "vis.setValue(Schlafzimmer_Hauptlicht_dimmen,50)" is not a valid ID pattern web.0 2024-05-15 08:08:21.555 error Invalid pattern on subscribe: The pattern "vis.setValue(Schlafzimmer_Hauptlicht_dimmen,0)" is not a valid ID pattern web.0 2024-05-15 08:08:21.555 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Tischlicht_dimmen,75)" is not a valid ID pattern web.0 2024-05-15 08:08:21.555 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Tischlicht_dimmen,25)" is not a valid ID pattern web.0 2024-05-15 08:08:21.555 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Hauptlicht_dimmen,100)" is not a valid ID pattern web.0 2024-05-15 08:08:21.555 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Hauptlicht_dimmen,50)" is not a valid ID pattern web.0 2024-05-15 08:08:21.555 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Hauptlicht_dimmen,0)" is not a valid ID pattern web.0 2024-05-15 08:08:21.555 error Invalid pattern on subscribe: The pattern "vis.setValue(Buro_Hauptlicht_dimmen,100)" is not a valid ID pattern web.0 2024-05-15 08:08:21.555 error Invalid pattern on subscribe: The pattern "vis.setValue(Buro_Hauptlicht_dimmen,50)" is not a valid ID pattern web.0 2024-05-15 08:08:21.554 error Invalid pattern on subscribe: The pattern "vis.setValue(Buro_Hauptlicht_dimmen,0)" is not a valid ID pattern web.0 2024-05-15 08:08:05.585 error Cannot subscribe "vis.setValue(Wohnzimmer_Hauptlicht_dimmen,0)": Error The pattern "vis.setValue(Wohnzimmer_Hauptlicht_dimmen,0)" is not a valid ID pattern web.0 2024-05-15 08:08:05.584 error Cannot subscribe "vis.setValue(Schlafzimmer_Hauptlicht_dimmen,75)": The pattern "io.vis.setValue(Schlafzimmer_Hauptlicht_dimmen,75)" is not a valid ID pattern web.0 2024-05-15 08:08:05.584 error Cannot subscribe "vis.setValue(Schlafzimmer_Hauptlicht_dimmen,25)": Error The pattern "vis.setValue(Schlafzimmer_Hauptlicht_dimmen,25)" is not a valid ID pattern web.0 2024-05-15 08:08:05.584 error Cannot subscribe "vis.setValue(Kuche_Tischlicht_dimmen,100)": Error The pattern "vis.setValue(Kuche_Tischlicht_dimmen,100)" is not a valid ID pattern web.0 2024-05-15 08:08:05.584 error Cannot subscribe "vis.setValue(Kuche_Tischlicht_dimmen,0)": Error The pattern "vis.setValue(Kuche_Tischlicht_dimmen,0)" is not a valid ID pattern web.0 2024-05-15 08:08:05.584 error Cannot subscribe "vis.setValue(Kuche_Hauptlicht_dimmen,75)": The pattern "io.vis.setValue(Kuche_Hauptlicht_dimmen,75)" is not a valid ID pattern web.0 2024-05-15 08:08:05.584 error Cannot subscribe "vis.setValue(Kuche_Hauptlicht_dimmen,25)": Error The pattern "vis.setValue(Kuche_Hauptlicht_dimmen,25)" is not a valid ID pattern web.0 2024-05-15 08:08:05.583 error Cannot subscribe "vis.setValue(Buro_Hauptlicht_dimmen,75)": The pattern "io.vis.setValue(Buro_Hauptlicht_dimmen,75)" is not a valid ID pattern web.0 2024-05-15 08:08:05.583 error Cannot subscribe "vis.setValue(Buro_Hauptlicht_dimmen,25)": Error The pattern "vis.setValue(Buro_Hauptlicht_dimmen,25)" is not a valid ID pattern web.0 2024-05-15 08:08:05.532 error Invalid pattern on subscribe: The pattern "vis.setValue(Wohnzimmer_Hauptlicht_dimmen,25)" is not a valid ID pattern web.0 2024-05-15 08:08:05.531 error Invalid pattern on subscribe: The pattern "vis.setValue(Schlafzimmer_Hauptlicht_dimmen,100)" is not a valid ID pattern web.0 2024-05-15 08:08:05.531 error Invalid pattern on subscribe: The pattern "vis.setValue(Schlafzimmer_Hauptlicht_dimmen,50)" is not a valid ID pattern web.0 2024-05-15 08:08:05.531 error Invalid pattern on subscribe: The pattern "vis.setValue(Schlafzimmer_Hauptlicht_dimmen,0)" is not a valid ID pattern web.0 2024-05-15 08:08:05.531 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Tischlicht_dimmen,75)" is not a valid ID pattern web.0 2024-05-15 08:08:05.531 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Tischlicht_dimmen,25)" is not a valid ID pattern web.0 2024-05-15 08:08:05.530 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Hauptlicht_dimmen,100)" is not a valid ID pattern web.0 2024-05-15 08:08:05.530 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Hauptlicht_dimmen,50)" is not a valid ID pattern web.0 2024-05-15 08:08:05.530 error Invalid pattern on subscribe: The pattern "vis.setValue(Kuche_Hauptlicht_dimmen,0)" is not a valid ID pattern web.0 2024-05-15 08:08:05.530 error Invalid pattern on subscribe: The pattern "vis.setValue(Buro_Hauptlicht_dimmen,100)" is not a valid ID pattern web.0 2024-05-15 08:08:05.529 error Invalid pattern on subscribe: The pattern "vis.setValue(Buro_Hauptlicht_dimmen,50)" is not a valid ID pattern web.0 2024-05-15 08:08:05.529 error Invalid pattern on subscribe: The pattern "vis.setValue(Buro_Hauptlicht_dimmen,0)" is not a valid ID pattern
-
hallo,
ich habe den issue dazu im github gesehen.
ich will nicht sagen, das ich es lösen konnte, aber einen ersten grund habe ich gefunden.
vis-2 (und eigentlich auch schon vis-1) sucht in html inhalten nach detenpunkten, die speziell notiert wurden.
format ist
{datenpunktbezeichnung}für diese zeile funktioniert das auch einwandfrei
var Kuche_Hauptlicht_Dimmwert = {knx.0.Obergeschoss.Status.DA1_A_Kuche_Dimmwert};
wenn du dir jetzt die folgende beispielzeile anschaust
function Kuche_Hauptlicht_0(){vis.setValue(Kuche_Hauptlicht_dimmen,0);}
wird es schon schwieriger. vis1/2 sucht diese stellen per regex und kann daher die beiden fälle nicht unterscheiden.
vorschlag ist, das du diese funktion nicht komprimiert sondern ausführlich notierstfunction Kuche_Hauptlicht_0(){ vis.setValue(Kuche_Hauptlicht_dimmen,0); }
dadurch entgeht diese Stelle der Erkennung und führt zu keinem vis-Fehler mehr.
Die anderen Stellen natürlich ebenfalls anpassen.Leider hast du nirgends den kompletten HTML-Text gepostet, daher kann ich nicht verifizieren, worauf
document.getElementById("Kuche_Hauptlicht_0").className += "--primary:active";
abzielt. Der Bildschirmaufbau zwischen vis1 und 2 wurde grundlegend geändert. in vis2 wird nun react verwendet. daher kann es sein, das html-elemente nicht mehr unter den gewohnten IDs erreichbar sind.
-
@oliverio Hallo und danke für die Antwort. Etwas spät aber nun hab ich wieder Zeit für das Ganze
Die Problematik konnte es nicht wirklich lösen.Ich habe hier mal den gesamten relevanten Code (mit den Änderungen) für mein Büro. Alle anderen Räume sind gleich angelegt.
<head> <script> // Büro var Buro_Hauptlicht_dimmen = 'knx.0.Obergeschoss.Beleuchtung.DA2_A_Buro_Licht_absolut_dimmen'; var Buro_Hauptlicht_Dimmwert = {knx.0.Obergeschoss.Status.DA2_A_Buro_Dimmwert}; /////////////////////////////////////////////////////////////////////////////////////// // Büro - Statusanzeige /////////////////////////////////////////////////////////////////////////////////////// if (Buro_Hauptlicht_Dimmwert == 0) { document.getElementById("Buro_Hauptlicht_0").className += ":--primary:active"; document.getElementById("Buro_Hauptlicht_0").style.backgroundColor = "#04AA6D"; } else { // Dies wird für alle anderen Dimmwerte ausgeführt document.getElementById("Buro_Hauptlicht_0").className += ":--primary:active"; document.getElementById("Buro_Hauptlicht_0").style.backgroundColor = "#04AA6D"; } if (Buro_Hauptlicht_Dimmwert == 25) { document.getElementById("Buro_Hauptlicht_25").className += "--primary:active"; } if (Buro_Hauptlicht_Dimmwert == 50) { document.getElementById("Buro_Hauptlicht_50").className += "--primary:active"; } if (Buro_Hauptlicht_Dimmwert == 75) { document.getElementById("Buro_Hauptlicht_75").className += "--primary:active"; } if (Buro_Hauptlicht_Dimmwert == 100) { document.getElementById("Buro_Hauptlicht_100").className += "--primary:active"; } /////////////////////////////////////////////////////////////////////////////////////// // Büro - Licht schalten /////////////////////////////////////////////////////////////////////////////////////// function Buro_Hauptlicht_0(){ vis.setValue(Buro_Hauptlicht_dimmen,0); } function Buro_Hauptlicht_25(){ vis.setValue(Buro_Hauptlicht_dimmen,25); } function Buro_Hauptlicht_50(){ vis.setValue(Buro_Hauptlicht_dimmen,50); } function Buro_Hauptlicht_75(){ vis.setValue(Buro_Hauptlicht_dimmen,75); } function Buro_Hauptlicht_100(){ vis.setValue(Buro_Hauptlicht_dimmen,100); } ///////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////// </script> </head> <body> <!-- Add icon library --> <div class="icon-bar"> <a href="#01_Home" onclick="deleteSession()"><img class="navicon" src="icon/home.png"></a> <a class="active" href="#02_Haus" onclick="deleteSession()"><img class="navicon" src="icon/haus.png"></a> <!-- <a class="active" href="#02_Haus"><img class="navicon" src="icon/haus.png"></a> --> <a href="#03_Statistik" onclick="deleteSession()"><img class="navicon" src="icon/statistik.png"></a> <a href="#04_Technik" onclick="deleteSession()"><img class="navicon" src="icon/technik.png"></a> </div> <!--/////////////////////////////////////////////////////////////////////////--> <div class="col"> <div class="tabs"> <!--//////////////////////////////////////////////////////////////////////////// Büro /////////////////////////////////////////////////////////////////////////////--> <div class="tab"> <input type="radio" class="accordion" id="rd1" name="rd"> <label class="tab-label-kleiner" for="rd1">{javascript.0.Burotext}</label> <div class="tab-content"> <table id="tab_haus"> <tr> <td colspan=2><b>Hauptbeleuchtung</b><br> <div class="button-group"> <button id="Buro_Hauptlicht_0" type="checkbox" class="button button__outline" onClick="Buro_Hauptlicht_0(this.value)"> AUS </button> <button id="Buro_Hauptlicht_25" type="checkbox" class="button button__outline" onClick="Buro_Hauptlicht_25(this.value)"> 25% </button> <button id="Buro_Hauptlicht_50" type="checkbox" class="button button__outline" onClick="Buro_Hauptlicht_50(this.value)"> 50% </button> <button id="Buro_Hauptlicht_75" type="checkbox" class="button button__outline" onClick="Buro_Hauptlicht_75(this.value)"> 75% </button> <button id="Buro_Hauptlicht_100" type="checkbox" class="button button__outline" onClick="Buro_Hauptlicht_100(this.value)"> EIN </button> </div> </td> </tr> </table> </div> </div>
Ansonsten hab ich noch ein Script drin, welches dafür sorgt, dass mir beim Reload die Akkordions nicht zuklappen.
// Löschen bei Seitenwechsel function deleteSession(){ sessionStorage.clear(); console.log("Haus: Wird gelöscht bei Seitenwechsel!"); } // Checkbox bei Reload aktivieren if (sessionStorage.length == 1) { document.getElementById(sessionStorage.key(0)).checked = true; } // Speichern der einzelnen Accordion-Checkboxes function active1(){ sessionStorage.clear(); var checkbox = document.getElementById("rd1"); sessionStorage.setItem("rd1", checkbox.checked = true); }
-
@nvd126
Gibt es Fehlermeldungen?
Die kann man in der browserkonsole mit f12 finden
Den head Tag entfernen und Body Tag entfernen.
Das html widget befindet sich schon innerhalb des Body Tags der Seite
Dann könnte es mit getElementById Schwierigkeiten geben könnte, da ja der komplette Text nach Abarbeitung von vis erst in das dom eingefügt wird und dann diese html Elemente evtl noch nicht existieren. Aber das wirst du dann in den Fehlermeldungen in der browserkonsole sehen.Ein paar Dinge könnte man noch optimieren
-
@nvd126 sagte in VIS2: Invalid pattern on subscribe - VIS1 läuft problemlos:
hier eine verkürzte lösung mit 2 html widgets
widget1
<style> .base { background-color:red; } .base.on { background-color:green; } </style> <table> <tr> <td> <button class="wert00 base" onclick="vis.setValue('0_userdata.0.test',0)">AUS</button> </td> <td> <button class="wert25 base" onclick="vis.setValue('0_userdata.0.test',25)">25</button> </td> <td> <button class="wert50 base" onclick="vis.setValue('0_userdata.0.test',50)">50</button> </td> </tr> </table>
html widget 2
<script> let input = {0_userdata.0.test}; $(".base").removeClass("on"); switch(input){ case 0: $(".wert00").addClass("on"); break; case 25: $(".wert25").addClass("on"); break; case 50: $(".wert50").addClass("on"); break; } </script>
aufgeteilt habe ich layout und script aus dem geschriebenen gründen, da sonst bei änderung des datenpunkts alle dom elemente im widget zerstört werden und neu aufgebaut werden.
so wird immer nur das script widget neu aufgebaut und das layout widget bleibt erhalten.
ausserdem hab ich jquery befehle verwendet, da das mit vis ebenfall geladen wird und ein paar dinge vereinfacht