Seite 1 von 1

KNX Things anlegen - HANDLER_INITIALIZING_ERROR Index 0 out of bounds for length 0

Verfasst: 9. Nov 2023 16:39
von TorstenE
Hallo Mitstreiter,

ich bin gerade dabei KNX Things anzulegen (Dateibasiert),
mit im Augenblick ca. 180 Channels.

Auf einmal erhalte ich bei jedem weiteren Thing
welches ich anlegen will folgende Fehlermeldung:

HANDLER_INITIALIZING_ERROR
Index 0 out of bounds for length 0

Natürlich dachte ich an Schreibfehler, doppelte Einträge
usw., aber das ist es alles nicht.

Wenn ich bei einem Thing die Channels heraus nehme ist die Fehlermeldung ebenfalls weg.
Füge ich die Channels einzeln wieder ein ca. 3 (zum Test) bei diesem Item, erscheint
die Fehlermeldung ebenfalls nicht.

Starte ich OH jedoch neu ist die Fehlermeldung wieder da.

Gibt es eventuell eine Grenze (Dateigröße, Anzahl KNX-Things für eine Bridge,
etc.) gibt ?

Vielleicht hat jemand eine Idee

Danke

Torsten

Re: KNX Things anlegen - HANDLER_INITIALIZING_ERROR Index 0 out of bounds for length 0

Verfasst: 9. Nov 2023 19:30
von udo1toni
Mir wäre hier keine Begrenzung bekannt. Allerdings habe ich auch lediglich 171 knx Channel (Suche nach Type und sieh die Anzahl der Fundstellen), kann das also nicht sicher falsifizieren.
Hast Du die Channel auf einzelne Things verteilt?

Re: KNX Things anlegen - HANDLER_INITIALIZING_ERROR Index 0 out of bounds for length 0

Verfasst: 9. Nov 2023 19:39
von TorstenE
Hallo Udo,

ich habe es vor ein paar Minuten gefunden.
Ich hatte zuerst Things mit Channel "switch-control" oder "dimmer" angelegt. Die Gruppenadresse habe ich pauschal mit
angegeben, da ich diese noch nicht kenne [ ga="" ]

Bei den Things wo der Fehler dann aufgetreten ist handelte es sich um "string-control" und "number-control" Channels.
Hier war ebenfalls [ ga="" ] angegeben, worauf der Fehler erfolgte. Also habe ich dort pauschal [ ga="0/0/0 ] hinterlegt und schwupps
war der Fehler weg.

Re: KNX Things anlegen - HANDLER_INITIALIZING_ERROR Index 0 out of bounds for length 0

Verfasst: 10. Nov 2023 07:19
von udo1toni
Ah. Ja, das funktioniert nicht, weil der Channel dann unvollständig (bzw. ungültig) konfiguriert ist.

Tipp an dieser Stelle: In Textdateien kann man prima Zeilen mit vorangestelltem // auskommentieren. Blöcke markiert man vorne mit /* und hinten mit */, womit alles dazwischen zum Kommentar wird. Wobei ich Channel eigentlich immer komplett in einer Zeile definiere. So kann man sich dann schon mal Channel vorbereiten, ohne dass diese stören (z.B. ein REG, bei welchem nur ein Teil der Kanäle beschaltet ist... 6-Kanal Switch lege ich mit 6 Channels an, aber die nicht genutzten auskommentiert, da weiß ich dann sogar mit einem Blick in die openHAB Konfig, wo im Schrank noch was frei ist...

Re: KNX Things anlegen - HANDLER_INITIALIZING_ERROR Index 0 out of bounds for length 0

Verfasst: 10. Nov 2023 07:40
von TorstenE
Guten Morgen Udo,

ja so ähnlich mache ich das schon auch, aber die Channels die benötigt werden verbinde ich dann schon mal mit den Items.
Dann brauch ich später nur noch die GA von KNX eintragen.

Ansonsten ist auskommentieren klar die beste Wahl

Re: KNX Things anlegen - HANDLER_INITIALIZING_ERROR Index 0 out of bounds for length 0

Verfasst: 10. Nov 2023 08:21
von mad-mike
moin.
Blöcke markiert man vorne mit /* und hinten mit */, womit alles dazwischen zum Kommentar wird.

Funktioniert das auch bei Text rules datein??

:?:

Re: KNX Things anlegen - HANDLER_INITIALIZING_ERROR Index 0 out of bounds for length 0

Verfasst: 10. Nov 2023 09:14
von nw378
Gerade ausprobiert (kannte ich noch nicht). Klappt!

Ist deutlich weniger aufwendig, als vor jede Zeile // zu setzen und anschl. wieder zu entfernen.

Danke Udo ;)

Re: KNX Things anlegen - HANDLER_INITIALIZING_ERROR Index 0 out of bounds for length 0

Verfasst: 10. Nov 2023 13:17
von mad-mike
:D
Ist deutlich weniger aufwendig, als vor jede Zeile // zu setzen und anschl. wieder zu entfernen.
:mrgreen: genau deswegen fragte ich

Re: KNX Things anlegen - HANDLER_INITIALIZING_ERROR Index 0 out of bounds for length 0

Verfasst: 10. Nov 2023 20:38
von TorstenE

Code: Alles auswählen

/* Stand: 10.11.2023
 *
 * Hinweis: Dieser Code dient nur zur
 *          Demonstration, wie sich Bemerkungen schön erstellen lassen.
 * 
 * Letzte Änderung: 
 * Am Anfang einer Datei eine kleine Bemerkung erleichtert das Leben nach Jahren auf jeden Fall
 * Der "Stand" dient mir als Hinweis, wann ich als letztes etwas Wesentliches geändert habe. 
 * Wer ein Repository benutzt braucht so etwas nicht, aber wer unkontrollierte Kopien hat, der freut sich über den aktuellen Stand
 */
 
Thing string ....

// Thing string