Ankündigung

Einklappen
Keine Ankündigung bisher.

Rückmeldungsflut

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

    Rückmeldungsflut

    Hallo!
    Ich bin gerade am Experimentieren und musste feststellen, dass seit einiger Zeit die log Datei mit Fehlern überflutet ist. Ich weiß leider nicht, was der Anlass ist, aber sie sieht so aus:


    2017-04-27 20:43:38.657 [ERROR] [el.item.internal.GenericItemProvider] - Binding configuration of type 'knx' of item 'Light_KE_Heizraum' could not be parsed correctly.
    org.eclipse.smarthome.model.item.BindingConfigPars eException: Only one readable GA allowed.
    at org.openhab.core.binding.internal.BindingConfigRea derDelegate.processBindingConfiguration(BindingCon figReaderDelegate.java:50)[182rg.openhab.core.compat1x:2.0.0]
    at org.eclipse.smarthome.model.item.internal.GenericI temProvider.internalDispatchBindings(GenericItemPr ovider.java:312)[123rg.eclipse.smarthome.model.item:0.9.0.b4]
    at org.eclipse.smarthome.model.item.internal.GenericI temProvider.internalDispatchBindings(GenericItemPr ovider.java:284)[123rg.eclipse.smarthome.model.item:0.9.0.b4]
    at org.eclipse.smarthome.model.item.internal.GenericI temProvider.processBindingConfigsFromModel(Generic ItemProvider.java:167)[123rg.eclipse.smarthome.model.item:0.9.0.b4]
    at org.eclipse.smarthome.model.item.internal.GenericI temProvider.modelChanged(GenericItemProvider.java: 347)[123rg.eclipse.smarthome.model.item:0.9.0.b4]
    at org.eclipse.smarthome.model.core.internal.ModelRep ositoryImpl.notifyListeners(ModelRepositoryImpl.ja va:207)[122rg.eclipse.smarthome.model.core:0.9.0.b4]
    at org.eclipse.smarthome.model.core.internal.ModelRep ositoryImpl.addOrRefreshModel(ModelRepositoryImpl. java:120)[122rg.eclipse.smarthome.model.core:0.9.0.b4]
    at org.eclipse.smarthome.model.core.internal.folder.F olderObserver.checkFile(FolderObserver.java:272)[122rg.eclipse.smarthome.model.core:0.9.0.b4]
    at org.eclipse.smarthome.model.core.internal.folder.F olderObserver.access$1(FolderObserver.java:265)[122rg.eclipse.smarthome.model.core:0.9.0.b4]
    at org.eclipse.smarthome.model.core.internal.folder.F olderObserver$WatchQueueReader.processWatchEvent(F olderObserver.java:146)[122rg.eclipse.smarthome.model.core:0.9.0.b4]
    at org.eclipse.smarthome.core.service.AbstractWatchQu eueReader.run(AbstractWatchQueueReader.java:122)[98rg.eclipse.smarthome.core:0.9.0.b4]
    at java.lang.Thread.run(Thread.java:745)[:1.8.0_121]
    2017-04-27 20:43:48.488 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Light_EG_Kueche' from KNX bus: timeout waiting for group read response: timeout
    2017-04-27 20:43:48.489 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '6/0/31' = '2'
    2017-04-27 20:43:58.544 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Light_EG_Esszimmer' from KNX bus: timeout waiting for group read response: timeout
    2017-04-27 20:43:58.545 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '6/0/30' = '2'
    2017-04-27 20:44:08.601 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Light_EG_Wohnzimmer' from KNX bus: timeout waiting for group read response: timeout
    2017-04-27 20:44:08.602 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '6/0/32' = '2'
    2017-04-27 20:44:18.657 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Light_EG_Wohnzimmer_Wand' from KNX bus: timeout waiting for group read response: timeout
    2017-04-27 20:44:18.659 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '6/0/34' = '2'
    2017-04-27 20:44:28.714 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Light_EG_Buero' from KNX bus: timeout waiting for group read response: timeout
    2017-04-27 20:44:28.715 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '6/0/26' = '2'
    2017-04-27 20:44:38.770 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Light_EG_Gaestezimmer' from KNX bus: timeout waiting for group read response: timeout
    2017-04-27 20:44:38.772 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '6/0/20' = '2'
    2017-04-27 20:44:48.826 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Light_EG_Vorraum' from KNX bus: timeout waiting for group read response: timeout
    2017-04-27 20:44:48.827 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '6/0/28' = '2'
    2017-04-27 20:44:58.882 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Light_EG_kleiner_Vorraum' from KNX bus: timeout waiting for group read response: timeout
    2017-04-27 20:44:58.884 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '6/0/25' = '2'
    2017-04-27 20:45:08.939 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Light_EG_Toilette' from KNX bus: timeout waiting for group read response: timeout
    2017-04-27 20:45:08.941 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '6/0/24' = '2'

    Und seither sind ununterbrochen diese Warnungen. Es funktioniert aber alles ganz normal.



    timeout
    2017-05-08 21:17:37.224 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '3/2/0' = '2'
    2017-05-08 21:17:47.278 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Jalousie_EG_Kueche_rechts' from KNX bus: timeout waiting for group read response: timeout
    2017-05-08 21:17:47.279 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '3/2/2' = '2'
    2017-05-08 21:17:57.333 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Jalousie_EG_Essplatz' from KNX bus: timeout waiting for group read response: timeout
    2017-05-08 21:17:57.334 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '3/2/4' = '2'
    2017-05-08 21:18:07.388 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Jalousie_EG_Essplatz_Tuer' from KNX bus: timeout waiting for group read response: timeout
    2017-05-08 21:18:07.389 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '3/2/6' = '2'
    2017-05-08 21:18:17.443 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Jalousie_EG_Wohnzimmer' from KNX bus: timeout waiting for group read response: timeout
    2017-05-08 21:18:17.444 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '3/2/10' = '2'
    2017-05-08 21:18:27.498 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Jalousie_EG_Wohnzimmer_Tuer' from KNX bus: timeout waiting for group read response: timeout
    2017-05-08 21:18:27.499 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '3/2/10' = '2'
    2017-05-08 21:18:37.553 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Jalousie_OG_Schlafzimmer' from KNX bus: timeout waiting for group read response: timeout
    2017-05-08 21:18:37.554 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '3/2/24' = '2'


    Was ist hier die Ursache?

    Am Anfang gab es dieses Problem nicht...

    Vielen Dank

    #2
    Hast Du denn mal geschaut, welche KNX Adressen hier angesprochen werden??

    Kommentar


      #3
      Ja, das sind alles Rückmeldungsadressen. Status Licht, Jalousie...

      Kommentar


        #4
        Also, der erste Teil: Light_KE_Heizraum hat einen Fehler in der Itemdefinition ("could not be parsed correctly"), genauer: Du hast mehrere zu lesende GA angegeben ("Only one readable GA allowed").

        Alle anderen Meldungen sind, soweit ich sehen kann (also falls ich nichts anderes übersehen habe), Meldungen, dass knx nicht auf die Leseanfrage(n) geantwortet hat. Natürlich kann man nur dann GA erfolgreich lesen, wenn exakt(!) ein Gerät am Bus hängt, bei welchem das L-Flag für das Objekt gesetzt ist, welches mit der GA verbunden ist.
        Im Übrigen ist Autorefresh ein Feature, welches man nur einsetzen sollte, wenn man genau weiß, was man tut. Diese Funktion ist z.B. hilfreich, wenn man einen Sensor hat, der nicht in der Lage ist, zyklisch zu senden, aber zyklisch abgefragt werden kann. Für die normalen Status von Schaltern, Jalousien und Dimmern ist das unnötig und erzeugt nur jede Menge Müll auf dem knx Bus.

        Kommentar


          #5
          Sorry, ich bin grad ausgestiegen... Was ist ein L-Flag?
          Ich habe die Adressen so definiert: 1/1/1+<2/2/2 1 ist der zu schaltende Kanal, 2 die Rückmeldung dazu, damit dann Openhab auch weiß, dass das Licht jetzt brennt oder nicht.
          Es kommt das aber auch von den Jalousien zurück, da brauche ich ja die Rückmeldung: lang-kurz-Rückmeldung-Position
          Was tu ich jetzt am besten?

          Kommentar


            #6
            1. Das L-Flag findest Du in der ETS. Es bestimmt, ob ein Objekt eines Aktors/Sensors gelesen werden darf (bzw. ob dieser Aktor/Sensor auf einen Read Request reagiert). Dieses Flag darf pro GA nur bei exakt einem Rückmeldeobjekt gesetzt sein. (Man könnte ja durchaus mehrere Geräte dieser GA zuordnen, z.B., damit die Wandtaster korrekt anzeigen, ob ein Licht ein- oder ausgeschaltet ist - man denke in dem Zusammenhang an knx Szenensteuerungen, da wird die Schalt-GA nicht auf dem Bus auftauchen, wohl aber die Rückmelde-GA.)

            2. ein Rollladen-Aktor kennt allgemein als Rückmeldeobjekt die letzte Fahrtrichtung. Falls der Aktor absolute Positionierung unterstützt, hat er auch ein Rückmeldeobjekt für die absolute Position. Wenn es sich um eine Jalousie handelt, kommt dann noch ein Objekt für den Lamellenwinkel hinzu. Andere Informationen (lang-kurz) gibt es nicht, das hätte auch kaum einen Informationswert, was interessiert schon, ob der Laden zuletzt move oder step vollzogen hat... (eventuell kommen noch Lastinformation, Alarmzustand und so weiter hinzu, aber das sind alles Informationen, die mit dem eigentlichen Rollladen nichts mehr zu tun haben).

            3. Read Requests sollten ausschließlich an Rückmeldeobjekte gerichtet werden (es könnte sonst zu ungewollten Steuerbefehlen auf dem Bus kommen)

            Kommentar


              #7
              Puh, das ist grad alles ein bisschen hoch für mich.
              Bin halt völlig neu in der Materie.
              1. ETS sieht so aus:
              Schalten Keller 1 GA: 1/0/0 K S
              Rückmeldung Schalten Keller 1 GA: 6/0/0 K S
              Kein L-Flag gesetzt.
              Die Rückmeldung, ob etwas brennt oder nicht, ist auf mehreren Schaltern ersichtlich.
              Verstehe ich dich richtig, muss ich jetzt das L-FLag bei der Rückmeldung Schalten setzen?

              2. bei den Rollläden habe ich mich nach deiner Anleitung verhalten (siehe Beitrag Jalousien und Werte #5), ich habe aber festgestellt, dass bei der Rückmeldung das L-Flag fehlt. Du hast es geschrieben, aber ich habs nicht genau verstanden. Das hole ich nach.

              3. Was genau wäre das?

              Kommentar


                #8
                1. Ja, das L-Flag muss bei der Rückmeldung gesetzt sein, damit die Adresse auch abgefragt werden kann.
                  Wie schon erwähnt, sie darf nur bei einem einzigen Objekt gesetzt sein, welches auf die GA verbunden ist, sinnvollerweise natürlich am Aktor selbst.
                  Meist sind die Schalter nicht mit der Rückmeldung verbunden (das ginge, indem man die Rückmelde-GA als 2. GA auf dem Taster einträgt) - das fällt erst dann auf, wenn man ein Licht über eine Szene einschaltet und über einen normalen Wandtaster (1-Flächen-Bedienung, toggle) wieder ausschalten möchte, das Ausschalten aber erst beim 2. Druck funktioniert. In diesem Fall geht auch die Kontrollleuchte nicht an, es sei denn, sie hätte ein eigenes Objekt, welches mit der Rückmelde-GA verbunden ist (das ist eher unüblich). Wenn man auf dem betreffenden Aktor keine Szenen oder zusätzliche GA nutzt, bleibt das unentdeckt.
                2. Seltsam, normalerweise ist das L-Flag bei den Status ab Werk gesetzt. Nun ja, immer wieder was neues...
                3. Ungewollte Steuerbefehle hatte ich bei mir, weil ich ursprünglich mehrere Fehler in meiner knx Installation hatte.
                  Der Ablauf ist leicht erklärt: Zuerst kommt ein Read Request auf einer GA rein, der Aktor antwortet, ein anderer Aktor, der auf die gleiche GA hört, schaltet. Wenn dann noch GA in der falschen Reihenfolge eingetragen sind, wird eventuell ein weiterer Schaltbefehl ausgeführt. Das fällt erst auf, wenn Read Requests über den Bus gehen - ich hatte anfangs keine Automation angebunden. Immer wenn ich openHAB startete, gingen ein paar Lampen an und der Bus war für ein paar Sekunden blockiert. Den Zusammenhang habe ich aber erst später erkannt


                Kommentar


                  #9
                  So, alles etwas verstanden und ausgeführt. Ich habe überall die L-Flags gesetzt, es klappt. Nur ein Fehler bleibt, der aber - wenn dich richtig verstanden habe - fast zwangsweise.
                  Es sind einige Jalousien zu Gruppen zusammengefasst, von da kommen noch die gleichen Fehlermeldungen.
                  ZB gibt es im großen Wohnraum Jalousien für Küche, Essbereich, Tür Essbereich, Tür bei Couch und Couch. Diese sind einzeln, zentral und in der Gruppe Essen und der Gruppe Wohnen zusammengefasst.
                  Es hat etwa Couch drei Adressen (einzeln, Gruppe Couch, alles), auch für Rückmeldung gibt es drei Adressen. Ist es das? Bzw. kann man das eleganter lösen? Die Absicht dahinter ist, dass die Gruppen und die Zentrale mehr können sollen, als ganz auf und ganz zu, also auch etwa 50% zu. Das klappt auch, nur eben mit dem Fehler im Log. Außerdem zeigt es in der Sitemap bei den Gruppen nicht die Prozente an, sondern bei den einzelnen Rollläden.

                  Kommentar


                    #10
                    Für knx Gruppen gibt es keine korrekte Rückmeldung.
                    Mehrere GA auf einem Rückmeldeobjekt einzutragen funktioniert nicht, da per Definition immer ausschließlich auf der 1. eingetragenen GA gesendet wird, unabhängig davon, auf welcher GA ein Read Request rein kommt. Aber es ist auch gar nicht nötig, eine Rückmeldung auf die Gruppe zu schicken, wichtiger sind die Einzelkanäle. Wenn Du in openHAB das zur knx-Gruppe gehörende Item auf einen bestimmten Status bringen möchtest, kannst Du das per Rule erledigen. Das Ganze ist aber nicht sehr elegant.
                    Punkt eins wäre, die knx Gruppen in openHAB nachzubilden. Punkt zwei wäre, auf Statusänderungen jedes Gruppenmitglieds zu hören, dann die Status aller Gruppenmitglieder zu prüfen und wenn alle Grupenmitglieder den gleichen Status haben, den Gruppenstatus entsprechend zu setzen.
                    Ich persönlich würde lieber ein statisches Symbol hinnehmen, als den Aufwand zu treiben (man darf nicht vergessen, dass diese Rule zwingend bei jedem einzelnen change ausgelöst wird, egal, ob nun einer der Läden fährt oder alle, wenn all fahren, wird der change auch für jeden einzelnen Laden ausgeführt, bei 3 Gruppenmitliedern also pro Fahrt 3 mal (wenn man die Gruppe als Trigger nimmt - das wäre dann received update - sind es sogar jeweils zwei Trigger, also 6 mal die Rule ausgeführt für eine Gruppenfahrt).
                    Alternativ kannst Du von openHAB-Seite auch die openHAB-Gruppen verwenden, um die Läden zu steuern, da läuft dann eh eine Rule, die auch gleich die Gruppe korrekt setzen kann, wenn es denn sein soll.

                    Kommentar


                      #11
                      udo1toni, vielen Dank, dass du das immer so ausführlich erklärst. Ich habe nochmal drüber nachgedacht und eine Lösung gefunden, die zwar vielleicht unkonventionell ist, aber funktioniert. Ich habe ganz einfach die Rückmeldeposition eines Rollladens in die jeweilige Gruppe eingetragen. zB Gruppe Couch bekommt den Wert Position Rückmeldung der Tür, Gruppe Zentral ebenfalls. Soweit ich momentan nach einem Neustart im Log sehe, ist jetzt Ruhe am Bus und die Rückmeldungen zum prozentuellen Status gehen auch...

                      Kommentar


                        #12
                        Genau, so hab ich das bei mir auch teilweise gelöst , aber es ist natürlich nicht korrekt. z.B. habe ich ab und zu das Phänomen, dass einzelne Läden nicht fahren (ich nutze die openHAB-Gruppen, die Läden bekommen also alle einzeln ihre Steuerbefehle). Trotzdem zeigt anschließend der Wandtaster "die Läden" als geschlossen an, weil hier eine knx Gruppe verwendet wird, natürlich fährt der Laden, den ich als Rückmeldeobjekt genutzt habe zuverlässig...
                        Irgendwann stecke ich etwas Hrinschmalz rein, dann prüft openHAB aktiv, ob noch Läden offen sind, die eigentlich geschlossen sein müssten (so schwer kann das nicht sein...)

                        Kommentar

                        Lädt...
                        X