NEWS
(Gelöst)Aus einer Liste "Name" und Wert
-
@harald07 sagte in Aus einer Liste "Name" und Wert:
Ohne den Selektor und ohne die Schleife bekomme ich den Minimalwert und Maximalwert, aber nicht die jeweiligen Zellen.
Dann probier doch mal mit Schleife
Die brauchst Du ja auch mit funktionierendem Selektor. -
@paul53 gerne.!
P3_Z01 - P3_Z16 sind die Zellen. Alle Zellen des Packs haben die Funktion "Zellen_Alle" & "Zellen_P3".
-
@harald07
Möchtest du Minimum und Maximum von jeweils einem Pack oder von allen Packs? -
Für jedes Pack und nochmal alle zusammen.
Hier fehlt noch Minimal und Maximal mit der Info welche Zelle es ist. -
@harald07 sagte: Für jedes Pack
Pack_3:
Inhalt der JS-Funktion getName(id):
return getObject(id).common.name;
-
@paul53 Vielen Dank! Versuche ich sofort umzusetzen.
-
-
@paul53 Es tut sich was.
2023-02-13 18:08:21.581 - info: javascript.0 (5714) script.js.PV.Zellen_Paul53: ['0_userdata.0.PV.Pack_3.P3_Z01','0_userdata.0.PV.Pack_3.P3_Z02','0_userdata.0.PV.Pack_3.P3_Z03','0_userdata.0.PV.Pack_3.P3_Z04','0_userdata.0.PV.Pack_3.P3_Z05','0_userdata.0.PV.Pack_3.P3_Z06','0_userdata.0.PV.Pack_3.P3_Z07','0_userdata.0.PV.Pack_3.P3_Z08','0_userdata.0.PV.Pack_3.P3_Z09','0_userdata.0.PV.Pack_3.P3_Z10','0_userdata.0.PV.Pack_3.P3_Z11','0_userdata.0.PV.Pack_3.P3_Z12','0_userdata.0.PV.Pack_3.P3_Z13','0_userdata.0.PV.Pack_3.P3_Z14','0_userdata.0.PV.Pack_3.P3_Z15','0_userdata.0.PV.Pack_3.P3_Z16'] 2023-02-13 18:08:21.582 - info: javascript.0 (5714) script.js.PV.Zellen_Paul53: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 2023-02-13 18:08:32.111 - info: admin.0 (5672) <== Disconnect system.user.admin from ::ffff:192.168.20.20 javascript
MOD-EDIT: Code in code-tags gesetzt!
-
@harald07
Log-Ausgaben bitte in Code tags (oben</>
) posten! -
@paul53 Teilerfolg!
Minimalwert und Maximalwert werden gesetzt.
Aber nicht die Namen2023-02-13 18:48:03.967 - warn: javascript.0 (5714) getState "undefined" not found (3) 2023-02-13 18:48:03.968 - warn: javascript.0 (5714) at Object. (script.js.PV.Zellen_Paul53:17:12) 2023-02-13 18:48:03.969 - warn: javascript.0 (5714) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38) 2023-02-13 18:48:03.969 - warn: javascript.0 (5714) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29) 2023-02-13 18:48:03.970 - warn: javascript.0 (5714) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5916:56) 2023-02-13 18:48:03.970 - warn: javascript.0 (5714) at processImmediate (node:internal/timers:466:21) 2023-02-13 18:48:03.970 - warn: javascript.0 (5714) script.js.PV.Zellen_Paul53: Object "undefined" does not exist 2023-02-13 18:48:03.972 - error: javascript.0 (5714) script.js.PV.Zellen_Paul53: TypeError: Cannot read properties of null (reading 'common') 2023-02-13 18:48:03.973 - error: javascript.0 (5714) at getName (script.js.PV.Zellen_Paul53:5:25) 2023-02-13 18:48:03.973 - error: javascript.0 (5714) at Object. (script.js.PV.Zellen_Paul53:18:19) 2023-02-13 18:48:03.973 - error: javascript.0 (5714) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38) 2023-02-13 18:48:03.973 - error: javascript.0 (5714) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29) 2023-02-13 18:48:03.973 - error: javascript.0 (5714) at Immediate. (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5916:56) 2023-02-13 18:48:03.973 - error: javascript.0 (5714) at processImmediate (node:internal/timers:466:21)
-
@harald07
Ändere für jeden Werti
--> für jeden Wertid
. Falsch:Richtig:
Die "aktualisiere"-Blöcke müssen in den Trigger unter die Schleife.
-
@paul53 Die "id" habe ich durch "i" ersetzt.
2023-02-13 18:53:40.162 - warn: javascript.0 (5714) getState "undefined" not found (3) 2023-02-13 18:53:40.163 - warn: javascript.0 (5714) at Object. (script.js.PV.Zellen_Paul53:17:12) 2023-02-13 18:53:40.164 - warn: javascript.0 (5714) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38) 2023-02-13 18:53:40.164 - warn: javascript.0 (5714) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29) 2023-02-13 18:53:40.164 - warn: javascript.0 (5714) at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5916:56) 2023-02-13 18:53:40.164 - warn: javascript.0 (5714) at processImmediate (node:internal/timers:466:21) 2023-02-13 18:53:40.164 - warn: javascript.0 (5714) script.js.PV.Zellen_Paul53: Object "undefined" does not exist 2023-02-13 18:53:40.166 - error: javascript.0 (5714) script.js.PV.Zellen_Paul53: TypeError: Cannot read properties of null (reading 'common') 2023-02-13 18:53:40.167 - error: javascript.0 (5714) at getName (script.js.PV.Zellen_Paul53:5:25) 2023-02-13 18:53:40.167 - error: javascript.0 (5714) at Object. (script.js.PV.Zellen_Paul53:18:19) 2023-02-13 18:53:40.168 - error: javascript.0 (5714) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1244:38) 2023-02-13 18:53:40.168 - error: javascript.0 (5714) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:593:29) 2023-02-13 18:53:40.168 - error: javascript.0 (5714) at Immediate. (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5916:56) 2023-02-13 18:53:40.168 - error: javascript.0 (5714) at processImmediate (node:internal/timers:466:21) 2023-02-13 18:53:40.755 - info: javascript.0 (5714) Stop script script.js.PV.Zellen_Paul53 2023-02-13 18:54:32.898 - info: javascript.0 (5714) Stop script script.js.PV.Zellen_Paul53 2023-02-13 18:54:34.810 - info: javascript.0 (5714) Start javascript script.js.PV.Zellen_Paul53 2023-02-13 18:54:34.818 - info: javascript.0 (5714) script.js.PV.Zellen_Paul53: registered 16 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions 2023-02-13 18:54:34.830 - info: javascript.0 (5714) State value to set for "0_userdata.0.PV.Pack_3.P3_Minimum" has to be type "number" but received type "object" 2023-02-13 18:54:34.831 - info: javascript.0 (5714) State value to set for "0_userdata.0.PV.Pack_3.P3_Name_Min" has to be type "string" but received type "object" 2023-02-13 18:54:34.831 - info: javascript.0 (5714) State value to set for "0_userdata.0.PV.Pack_3.P3_Maximum" has to be type "number" but received type "object" 2023-02-13 18:54:34.831 - info: javascript.0 (5714) State value to set for "0_userdata.0.PV.Pack_3.P3_Name_Max" has to be type "string" but received type "object" 2023-02-13 18:54:43.842 - info: admin.0 (5672) <== Disconnect system.user.admin from ::ffff:192.168.20.20 javascript
-
@harald07 sagte: Die "id" habe ich durch "i" ersetzt.
Wo? Umgekehrt wird ein Schuh draus (s.o.).
-
@paul53 Du bist der Beste.
Vielen, vielen Dank!!!!
-
Am Design muss ich noch ein wenig feilen!
-
@codierknecht Da ich nicht der Blockly experte bin schreibts doch bitte selbst rein wenn Ihr es hier schon rausarbeitet
-
@Paul53 ich habe die Packs 2 – 5 (für Pack 1 bekomme ich heute einen weiteren esp32) am Laufen. Schon bei den einzelnen Packs bekam ich den Fehler: „is calling setState more than 1000 times per minute! Stopping Script now! Please check your script!“. Ich bin dann hergegangen und habe in den Sendern (esp32), dass Sendeintervall von 1Sek auf 3Sek angehoben. Damit ist der Fehler nicht mehr aufgetreten.
Wenn ich jetzt versuche das Script für alle Zellen laufen zu lassen ist der Fehler wieder da, was ja verständlich ist, da es mit allen Packs dann 80 Zellen anstatt 16 Zellen sind. Ich weiß nicht wie hoch ich das Sendeintervall anheben müsste, das es auch mit allen Zellen funktioniert. Ich habe schon versucht den Trigger in einen weiteren „Zeitplan“ Trigger zu setzen, was aber nichts am Fehler ändert.
Vielleicht hast Du eine Idee das Problem zu beheben?
Vielen Dank!
Harald -
@harald07 Naja mal langsam und einen Schritt zurück ...
is calling setState more than 1000 times per minute! Stopping Script now! Please check your script!
Das ist ein Sicherheitsfeasture um zu verhindenr das Skripte durch bugs oder unabsichtliches "schlechtes Codeing" amok laufen und das ganze system runterziehen. Weil das hatten wir und dann wurde aufwändig nach Fehlern gesucht überall anders nur nicht da wo es entstanden ist
Wenn Du einen validen Fall hast das du so viele Daten in kurzer Zeit setzen willst/musst und dein System das auch abkann ohne zusammenzubrechen ja dann erhöhe das Limit in den Einstellungen der Instanz auf einen Wert der für Dich Sinn macht. Da ist keine Notwendigkeit jetzt aufwändig Verzögerungen oder sonstwas einzubauen.
-
@apollon77 Vielen Dank für die Erklärung. Ich glaube ich bin auf einem guten Weg. Etwas länger drüber nachdenken hilft. Ich bin jetzt hergegangen und habe die Aufgabe halbiert und lasse dafür 2 Skripte laufen. Einmal die minimum Spannung und die entsprechende Zelle. Und einmal die maximum Spannung und die entsprechende Zelle.
Es scheint so, dass das Problem damit behoben ist.VG
HaraldUpdate: Zu früh gefreut, der Fehler ist gerade wieder für beide Scripts aufgetaucht.
Ich werde jetzt versuchen die Aufgabe nochmals zu halbieren.