Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX Rolläden

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

    KNX Rolläden

    Hallo zusammen,

    tut mir leid, dass ich schon wieder mit einem Problem komme, möchte da nicht nerven, hoffe aber, dass so vielleicht auch etwas beitragen kann.

    Bei meinen KNX-Rolläden hatte ich jetzt folgenden Eintrag im Log:

    09:48:30.333 ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: org.apache.commons.lang.IllegalClassException: Cannot process datapoint of type STOP

    Außerdem scheinen einige GAs nicht anzukommen, dass hatte ich ja schon im anderen Thread geschrieben. Bislang hab ich das nur bei Rolläden beobachtet, bin aber nicht sicher ob es sich wirklich nur darauf beschränkt. Im eibd log werden sie jedenfalls aufgezeichnet.

    #2
    Zitat von Jockel Beitrag anzeigen
    tut mir leid, dass ich schon wieder mit einem Problem komme, möchte da nicht nerven, hoffe aber, dass so vielleicht auch etwas beitragen kann.
    Du nervst nicht :-)

    Zitat von Jockel Beitrag anzeigen
    09:48:30.333 ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: org.apache.commons.lang.IllegalClassException: Cannot process datapoint of type STOP
    wie genau ist das Item konfiguriert?

    Zitat von Jockel Beitrag anzeigen
    Außerdem scheinen einige GAs nicht anzukommen, dass hatte ich ja schon im anderen Thread geschrieben. Bislang hab ich das nur bei Rolläden beobachtet, bin aber nicht sicher ob es sich wirklich nur darauf beschränkt. Im eibd log werden sie jedenfalls aufgezeichnet.
    könntest Du mal den relevanten Teil vom eibd.log anhängen?
    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

    Kommentar


      #3
      Hier erst mal die Auszüge aus dem eibd und openHAB log, nicht bzu den Rolläden gehörende GAs habe ich gelöscht:
      Code:
      2012-12-31 17:06:47.780,A_GroupValue_Write,1.1.76,0/4/11,01,1,DPT_Switch,1.001,0,low,6,T_DATA_XXX_REQ,0
      2012-12-31 17:06:48.179,A_GroupValue_Write,1.1.76,0/4/10,01,1,DPT_Switch,1.001,0,low,6,T_DATA_XXX_REQ,0
      2012-12-31 17:06:50.861,A_GroupValue_Write,1.1.76,0/4/21,01,1,DPT_Switch,1.001,0,low,6,T_DATA_XXX_REQ,0
      2012-12-31 17:06:51.265,A_GroupValue_Write,1.1.76,0/4/20,01,1,DPT_Switch,1.001,0,low,6,T_DATA_XXX_REQ,0
      2012-12-31 17:06:51.356,A_GroupValue_Write,1.1.100,4/7/186,01,,,,0,low,6,T_DATA_XXX_REQ,0
      2012-12-31 17:06:51.483,A_GroupValue_Write,1.1.100,4/7/184,01,,,,0,low,6,T_DATA_XXX_REQ,0
      Code:
      17:06:47.781 ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: org.apache.commons.lang.IllegalClassException: Cannot process datapoint of type MOVE
      17:06:48.192 INFO  runtime.busevents[:46] - Rollaeden_Gaeste state updated to DOWN
      17:06:50.862 ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: org.apache.commons.lang.IllegalClassException: Cannot process datapoint of type MOVE
      17:06:51.266 INFO  runtime.busevents[:46] - Rollaeden_Bibliothek state updated to DOWN
      17:06:51.358 INFO  runtime.busevents[:46] - Rolladen_Wohnen_rechts state updated to DOWN
      17:06:51.484 INFO  runtime.busevents[:46] - Rolladen_Wohnen_Tuer state updated to DOWN
      Zur Erklärung: Ich habe für EG und OG je eine GA über die die Rolläden der gesamten Etage gefahren werden (0/4/10 und 0/4/20), die 0/4//11 und 0/4//21 sind die dazugehörigen Stop-Objekte, die der Taster bei kurzem Druck sendet, daher kommen die vor dem Verfahren.

      Auf diese GAs hören zur Zeit 6 Rolläden im EG und 10 im OG, ein paar andere lasse ich nicht darüber fahren.

      Die Items für die Etage sind folgendermaßen definiert:
      Code:
      Rollershutter Rollaeden_OG 	"Rolläden OG" 		(gZentral_Rollaeden) 	{ knx="0/4/10,  0/4/11,  0/4/12"}
      Rollershutter Rollaeden_EG 	"Rolläden EG" 		(gZentral_Rollaeden) 	{ knx="0/4/20,  0/4/21,  0/4/22" }
      Dazu die Rolläden in den einzelnen Räumen nach folgendem Muster:
      Code:
      Rollershutter Rolladen_Arbeiten_EG	"Rolladen"	(gArbeiten_EG)	{ knx="4/2/140+0/4/20+0/4/0+0/4/120+0/4/140+0/4/5, 4/2/141+0/4/21+0/4/1+0/4/121+0/4/141+0/4/6, 4/3/140+0/4/2+0/4/22+0/4/122+0/4/142+0/4/7" }
      Die zusätzlich eingetragenen hörenden GAs sind Adressen um z.B. nur die Südfassade oder alle Rolläden fahren zu können

      Bei den zwei der Rolläden die im Log auftauchen (Wohnen) habe ich zusätzlich noch das Rückmeldeobjekt des Aktors verbunden, das sind die GAs 4/7/184 und 4/7/186:
      Code:
      Rollershutter Rolladen_Wohnen_Tuer 	"Rolladen Tür"	(gWohnen)	    { knx="4/2/184+4/7/184+4/2/180+0/4/20+0/4/0+0/4/60+0/4/80+0/4/5, 4/2/185+4/2/181+0/4/21+0/4/1+0/4/61+0/4/81+0/4/6, 4/3/184+4/3/180+0/4/2+0/4/22+0/4/62+0/4/82+0/4/7" }
      Rollershutter Rolladen_Wohnen_rechts	"Rolladen re."	(gWohnen)	{ knx="4/2/186+4/7/186+4/2/180+0/4/20+0/4/0+0/4/60+0/4/80+0/4/5, 4/2/187+4/2/181+0/4/21+0/4/1+0/4/61+0/4/81+0/4/6, 4/3/186+4/3/180+0/4/2+0/4/22+0/4/62+0/4/82+0/4/7" }
      Erstaunlicher Weise wird die Änderung für die Bibliothek trotz fehlendem Rückmeldeobjekt erkannt:
      Code:
      Rollershutter Rollaeden_Bibliothek		"Rolläden"	(gBibliothek)	{ knx="4/2/200+0/4/20+0/4/0+0/4/60+0/4/80+0/4/5, 4/2/201+0/4/21+0/4/1+0/4/61+0/4/81+0/4/6, 4/3/200+0/4/2+0/4/22+0/4/62+0/4/82+0/4/7" }
      Es fehlen aber die Statusänderungen für alle anderen Rolläden im OG und EG und auch die Meldung für die Items Rolläden_OG und Rolläden_EG sehe ich nicht. Das tritt so jedes mal auf, die Rolläden selbst fahren zuverlässig und auch die Einträge im eibd log sind immer vorhanden.

      Vielleicht habe ich auch die Sache mit den hörenden GAs in der Item-Konfiguration nicht richtig verstanden, dann sollten aber immer noch die Einträge für die EG- und OG-GAs kommen.

      Wobei mir gerade beim Schreiben der Gedanken kommt, dass vielleicht der gemeldete Fehler dazu führt, dass die nicht ausgewertet werden?! Was dann aber wiederum das korrekte Verhalten in der Bibliothek nicht erklärt.

      [Edit]
      Hab es eben noch mal geprüft, eine andere Bedienart kann ich an den Tastern sinnvoller Weise nicht einstellen, ich könnte morgen abend aber mal testen die Bewegung über die ETS auszulösen, dann sollte das Stop-Telegramm ja nicht kommen.

      Euch allen ein frohes neues Jahr!!

      Kommentar


        #4
        Ich hab jetzt noch mal getestet, nur das Telegramm zum Fahren der Rolläden zu schicken, dann kommt es nicht zu der obigen Fehlermeldung im Log, irgendwelche Ereignisse für Rollaeden_OG oder Rollaeden_EG werden aber auch nicht geloggt.

        Kommentar


          #5
          Hab noch mal etwas getestet, mir scheint es, als ob das Problem auftritt wenn die gesendete GA zum Bewegen der Rolläden gleichzeitig noch als hörende GA bei einem anderen Item eingetragen ist.

          Bei folgender Konfiguration kann ich es z.B., auch beobachten:

          Items:
          Code:
          Rollershutter Rollaeden_Bad_vorne		"Rolläden"		(gBad_vorne)		{ knx="4/0/120+0/4/10+0/4/0+0/4/120+0/4/130, 4/0/121+0/4/11+0/4/1+0/4/121+0/4/131, 4/1/120+0/4/122+0/4/132" }
          Rollershutter Rolladen_Bad_vorne_links		"Rolladen li."		(gBad_vorne)		{ knx="4/0/122+4/0/120+0/4/10+0/4/0+0/4/120+0/4/130, 4/0/123+4/0/121+0/4/11+0/4/1+0/4/121+0/4/131, 4/1/122+4/1/120+0/4/122+0/4/132" }
          Rollershutter Rolladen_Bad_vorne_rechts		"Rolladen re."		(gBad_vorne)		{ knx="4/0/124+4/0/120+0/4/10+0/4/0+0/4/120+0/4/130, 4/0/125+4/0/121+0/4/11+0/4/1+0/4/121+0/4/131, 4/1/124+4/1/120+0/4/122+0/4/132" }
          Dabei sind die GAs 4/0/120 und 4/0/121 wieder Adresse zum Bewegen beider Rolläden zusammenl. Wenn sie vom Taster gesendet wird kommt es zum beobachteten Fehler im Log:

          Code:
          18:02:07.556 ERROR o.o.b.k.i.bus.KNXBinding[:247] - Error while receiving event from KNX bus: org.apache.commons.lang.IllegalClassException: Cannot process datapoint of type MOVE
          Wird z.B. nur die Rollade links über die GAs 4/0/122 und 4/0/123 bewegt, dann ist alles OK und das Log spiegelt das Fahren der Rolläden korrekt wieder.

          Kommentar


            #6
            Ich bin mir nicht sicher, ob ich das Problem richtig verstehe:

            In KNXBinding.java steht ab Zeile 231:

            Code:
             
            if (type instanceof Command && isCommandGA(destination)) {
                eventPublisher.postCommand(itemName, (Command) type);
            } else if (type instanceof State) {
                eventPublisher.postUpdate(itemName, (State) type);
            } else {
                throw new IllegalClassException("Cannot process datapoint of type " + type.toString());
            }
            Das würde das beobachtete Verhalten ja erklären: Es kommt das Kommande "MOVE" aber nicht auf der Command-GA sondern auf einer hörenden Adresse. Und Move ist ja auch kein Status.

            Andererseits gibt es in der Doku zum KNX-Binding ja auch ein Beispiel mit einer hörenden GA auf dem ersten Eintrag beim Rollershutter, das sollte dann ja auch nicht funktionieren. Wo hab ich denn jetzt den Denkfehler?

            Ein möglicher Workarround wäre ja, die hörenden GAs zu entfernen und für alle Rolläden Rückmeldeobjekte zu verwenden. Das wollte ich nur vermeiden, damit nicht im Extremfall alle gleichzeitig senden und Buslast erzeugen.

            Kommentar


              #7
              Ich weiß nicht ob ich Dich richtig verstehe, aber ist es nicht einfacher die Gruppen auf eigene GA zu legen?

              Code:
              Rollershutter Shutter_GF_Living_West 		"Jalousie Wohnzimmer West"	(GF_Living, Shutters) { knx="0/2/4, 0/2/5, <0/2/7" }
              Rollershutter Shutter_GF_Living_Sued 		"Jalousie Wohnzimmer Süd"	(GF_Living, Shutters) { knx="0/2/8, 0/2/9, <0/2/11" }
              Rollershutter Shutter_GF_Living_Gruppe 		"Jalousie Gruppe Wohnzimmer"	(GF_Living, Shutters) { knx="0/2/28, 0/2/29, <0/2/7+0/2/11" }
              Rollershutter Shutter_GF_Living_Zentral 		"Jalousie Zentral Zimmer"	(GF_Living, Shutters) { knx="0/2/30, 0/2/31, <0/2/7+0/2/11+0/2/15+0/2/19+0/2/23" }
              0/2/4 = Auf-Ab
              0/2/5= Stop
              0/2/7= Status
              0/2/30= Gruppe Alle Wohnzimmer Auf-Ab
              0/2/31= Gruppe Alle Wohnzimmer Stopp

              LG Tom

              PS.: Jalousie Gruppe ist eine GA für 2 und nicht alle Jalousien

              Kommentar


                #8
                Das habe ich ja, die Rollershutter Rollaeden_EG ist eine GA die alle Rolläden des EG fährt. Diese GA habe ich aber als zusätzliche hörende GA bei den den einzelnen Rolläden angegeben, die durch die Sammel-GA bewegt werden. Damit wollte ich erreichen, dass der Status dieser Rolläden in openHAB bekannt ist, wenn nur die Sammel-GA gesendet wird.

                Oder habe ich da jetzt etwas falsch verstanden?

                Kommentar


                  #9
                  Zitat von Jockel Beitrag anzeigen
                  Es kommt das Kommande "MOVE" aber nicht auf der Command-GA sondern auf einer hörenden Adresse. Und Move ist ja auch kein Status.
                  Das Problem ist, dass openHAB mit "MOVE" hier eben nichts anfangen kann - es lässt sich kein sinnvolles Status-Update daraus erzeugen. Bringt also nicht viel, hörende Adressen an ZWEITER Stelle (MOVE/STOP) anzugeben.

                  Zitat von Jockel Beitrag anzeigen
                  Andererseits gibt es in der Doku zum KNX-Binding ja auch ein Beispiel mit einer hörenden GA auf dem ersten Eintrag beim Rollershutter, das sollte dann ja auch nicht funktionieren. Wo hab ich denn jetzt den Denkfehler?
                  Richtig, an ERSTER Stelle. Diese ist UP/DOWN, welches neben Kommandos auch gültige Statusse sind - von daher funktioniert das.

                  Grüße,
                  Kai

                  Kommentar


                    #10
                    Ich hab es jetzt noch mal mit der hörenden GA nur auf dem ersten Element (Auf/Ab) probiert.

                    Die oben genannte Fehlermeldung kommt nicht mehr und das Verfahren auf den Gruppenadresse wird korrekt erkannt. Das ist schon mal gut! Allerdings wird der Status bei der Rollade die die Gruppenadresse als hörende GA hat nicht aktualisiert, im Log der Busevents kommt auch keine Nachricht dazu. Da werde ich wohl noch mal was probieren müssen.

                    Wodurch die Fehlermeldung jetzt wirklich verursacht wurde kann ich aber immer noch nicht sagen, die Gegenprobe mit hörender GA auch auf dem zweiten Element (Stop) verlief jetzt auch ohne Fehler... Allerdings hab ich in meinen Items auch einiges geändert, vielleicht ist damit auch ein anderer unerkannter Fehler mit herausgeflogen. Das muss ich mir noch mal in Ruhe anschauen.

                    Kommentar

                    Lädt...
                    X