Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX Zeit update am KNX bus geht seit 1.8.2 nicht mehr

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    KNX Zeit update am KNX bus geht seit 1.8.2 nicht mehr

    Hallo!

    Seit dem OH update auf 1.8.2 liefert die zeile im items file
    Code:
    DateTime  Date "Date [%1$tA, %1$td.%1$tm.%1$tY]" <calendar> { ntp="Europe/Berlin:de_DE", knx="11.001:0/0/202, 10.001:0/0/201"}
    den fehler
    Code:
    2016-03-29 16:03:06.522 [INFO ] [c.internal.ModelRepositoryImpl] - Refreshing model 'knx.items'
    2016-03-29 16:03:07.320 [ERROR] [i.internal.GenericItemProvider] - Binding configuration of type 'knx' of item ‘Date‘ could not be parsed correctly.
    org.openhab.model.item.binding.BindingConfigParseException: No more than 1 datapoint definitions are allowed for this item.
            at org.openhab.binding.knx.internal.config.KNXGenericBindingProvider.parseBindingConfigString(KNXGenericBindingProvider.java:429) ~[na:na]
            at org.openhab.binding.knx.internal.config.KNXGenericBindingProvider.processBindingConfiguration(KNXGenericBindingProvider.java:106) ~[na:na]
            at org.openhab.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:348) [org.openhab.model.item_1.8.2.jar:na]
            at org.openhab.model.item.internal.GenericItemProvider.internalDispatchBindings(GenericItemProvider.java:324) [org.openhab.model.item_1.8.2.jar:na]
            at org.openhab.model.item.internal.GenericItemProvider.processBindingConfigsFromModel(GenericItemProvider.java:171) [org.openhab.model.item_1.8.2.jar:na]
            at org.openhab.model.item.internal.GenericItemProvider.modelChanged(GenericItemProvider.java:390) [org.openhab.model.item_1.8.2.jar:na]
            at org.openhab.model.core.internal.ModelRepositoryImpl.notifyListeners(ModelRepositoryImpl.java:159) [org.openhab.model.core_1.8.2.jar:na]
            at org.openhab.model.core.internal.ModelRepositoryImpl.addOrRefreshModel(ModelRepositoryImpl.java:100) [org.openhab.model.core_1.8.2.jar:na]
            at org.openhab.model.core.internal.folder.FolderObserver.checkFolder(FolderObserver.java:142) [org.openhab.model.core_1.8.2.jar:na]
            at org.openhab.model.core.internal.folder.FolderObserver.run(FolderObserver.java:99) [org.openhab.model.core_1.8.2.jar:na]
    Meine definition oben schaut nicht so viel anders aus als jene in den Samples (https://github.com/openhab/openhab/w...rom-ntp-to-knx):
    Code:
    DateTime Date "Date & Time [%1$td.%1$tm.%1$tY %1$tT]" { ntp="Europe/Berlin:de_DE", knx="11.001:0/0/1, 10.001:0/0/2" }
    Ich haette wieder gerne eine aktuelle zeit am bus :-)
    Bitte um hilfe,
    Danke,
    Alex.
    Zuletzt geändert von alex73; 01.04.2016, 13:03. Grund: Geloest.

    #2
    Hallo,

    der Auslöser für diese Exception ist, dass in Version 1.8.2 in DateTimeItem.java die Zeile 37 neu hinzu kam. Der Quellcode ist hier: https://github.com/openhab/openhab/b...eTimeItem.java

    In KNXGenericBindingProvider (https://github.com/openhab/openhab/b...gProvider.java) steigt er dann in Zeile 338 aus, weil "getAcceptedCommandTypes().size()" mit der Größe 1 zwar "> 0" ist (Zeile 337), aber der "get"-Aufruf mit "i=1" führt zu einer IndexOutOfBoundsException. Ist auch klar, denn mit Größe 1 kann man "get(0)" aufrufen, aber nicht "get(1)".

    Der Code in den Zeilen 337 bis 339 in KNXGenericBindingProvider mit seinem geschachtelten Ternary-Ausdruck sieht für mich ein bisschen verstrahlt aus. Ein paar "if"-Statements an dieser Stelle würden sicherlich nicht schaden. Mal schauen, ob ich die Tage Zeit habe, das Problem zu lösen.

    Gruß,
    Martin

    Kommentar


      #3
      Dazu gibt es einen Issue (hier und hier), das Problem ist schon behoben, aber noch nicht in der1.8.2. Workaround wäre, knx doppelt zu binden, also
      Code:
      DateTime Date "Date & Time [%1$td.%1$tm.%1$tY %1$tT]" { ntp="Europe/Berlin:de_DE", knx="11.001:0/0/1", knx="10.001:0/0/2" }
      zu schreiben. Oder du ziehst Dir die gepatchte Version (läuft bei mir einwandfrei)

      Kommentar


        #4
        Hallo!

        Vielen dank fuer die hilfe! Funktioniert jetzt wieder!

        Danke,
        Alex.

        Kommentar

        Lädt...
        X