Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie Rolladen und KNX Dimmer einbinden.

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

    Wie Rolladen und KNX Dimmer einbinden.

    Hallo zusammen,
    Ich versuche die letzten Tage meine KNx Dimm und Rolladenaktoren einzubinden, aber egal wie ich es anstelle es passiert nicht das was ich gerne hätte.

    Die Rolladen haben in der ETS folgende Adressen:
    1/2/11 Rolladen Auf/Ab
    1/2/12 Stopp Auf/Ab
    1/2/13 Telegr. Status Position

    Code:
    Rollershutter Rollo_EG_Ez "Rollade Esszimmer" (Rollladen) { knx="1/2/11, 1/2/12, 1/2/13" }
    So fahren die Rolladen bzw. sie fahren hin und her (stottern auf und ab)

    Bei den Dimmern komm ich gar nicht zum Erfolg.

    1/2/6 Dimmer An/Aus
    1/2/7 relatives Dimmen
    1/2/8 Wert
    1/2/9 Rückmeldung Wert

    Kann mir Bitte jemand weiterhelfen wie ich das richtig in openhab (items und sitemap) eingebunden bekomme.

    Vielen Dank


    #2
    Also, das Rollershutter Item sieht eigentlich gut aus. Du verwendest OH2? Dann hast Du vermutlich das Problem, dass openHAB ständig die Telegramme auf den Bus schickt, die es empfangen hat. Das ist ein bekannter Bug, der unter nicht bekannten Umständen auftritt - viele (aber leider nicht alle) sind davon betroffen. Dieser Fehler tritt nur im Zusammenhang mit openHAB2 auf, unter openHAB1 funktioniert das knx Binding fehlerfrei. Es gab schon etliche Versuche, das Problem in den Griff zu bekommen, letztlich wird aber erst das knx2 Binding (hoffentlich) das Problem lösen - Die Entwickler sind sich des Problems bewusst und arbeiten...

    Beim Dimmen kommt noch eine Erschwernis hinzu, nämlich, dass openHAB beim relativen Dimmen nur mit Telegrammwiederholung arbeiten kann, während viele (wenn nicht die meisten) Dimmer mit start-stop Dimming arbeiten. Grundsätzlich wäre der Aufbau eines Dimmer Items folgender:
    Code:
    Dimmer MyDimmer "Mein Dimmer [%d%%]" {knx="1/2/6,1/2/7,1/2/8+<1/2/9"}
    Da das mit dem relativen Dimmen aber meist nicht funktioniert und im Gegenteil sogar zu Störungen führt, habe ich meine Dimmer folgendermaßen konfiguriert:
    Code:
    Dimmer MyDimmer "Mein Dimmer [%d%%]" {knx="1/2/6,5.001:1/2/8+<5.001:1/2/9"}
    5.001 ist der DPT, in diesem Fall 0% - 100% in 256 Schritten (entspricht ~0,4% Schrittweite)
    Wenn man mehrere GA in einem Block angibt (in diesem Fall Wert senden und Wert empfangen) wird auf der ersten GA gesendet und auf allen GA empfangen, so, wie man das in knx gewohnt ist. Das < führt zu einem Read Request beim Start von openHAB, der aktuelle Dimmwert wird also vom Bus erfragt. Wenn der Aktor korrekt konfiguriert ist, wird er (und nur er) auf dieses Request antworten. Das < in openHAB entspricht also dem I-Flag in ETS, auf dieser Adresse wird der aktuelle Status beim Neustart aktiv erfragt.

    Es kann gut sein, dass die Telegrammwiederholung von openHAB2 auch beim Dimmer zu Problemen führt. Da das Ganze bei mir auch nicht funktioniert, habe ich immer noch openHAB1 als produktives System (mein Leidensdruck ist auch nicht sonderlich hoch) aber sobald das knx Binding gefixt ist, werde ich natürlich umsteigen - auf dem Testsystem habe ich schon ein paar nette Dinge vorbereitet

    Glatt vergessen, die Sitemap:
    meine.sitemap
    Code:
    sitemap meine label="Meine Sitemap" {
        Frame label="Ein Rahmen" {
            Switch item=Rollo_EG_Ez
            Slider item=MyDimmer
        }
    }
    Achtung! Weil es auch hier immer wieder zu Verwirrungen kommt: In einer Sitemap werden Widgets definiert, denen ein Item zugeordnet werden kann. Dabei werden die gesetzten Eigenschaften des Items vererbt, können aber auch überschrieben werden.
    Widgets sind Darstellungen von "etwas", das kann ein Schalter sein, ein Kontakt, ein Bild, eine Website usw.
    Das Switch Widget zeichnet per default einen Schiebeschalter, falls es einem Rollershutter zugeordnet wird, zeichnet es aber drei Knöpfe.
    Umgekehrt kann man, wenn man z.B. nur den Zustand eines Switches darstellen möchte, aber keinen Schiebeschalter haben möchte, dieses Item einfach über das Text Widget darstellen.
    Natürlich kann nicht jedes Widget für alles verwendet werden. Wichtig ist aber, zu verstehen, dass Switch in der Sitemap nicht mit Switch in der Items-Datei gleichzusetzen ist.
    Zuletzt geändert von udo1toni; 10.02.2018, 14:01.

    Kommentar


      #3
      Danke für deine Antwort.

      Also der Dimmer Funktioniert so.
      Aber mit dem Rollo liegst du 100% richtig
      hier ein Auszug aus dem Log
      Code:
       
          
      2018-02-10 14:49:28.766 [vent.ItemStateChangedEvent] - Rollo_EG_Esszimmer changed from 0 to 100
      
      2018-02-10 14:49:28.787 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command DOWN
      
      2018-02-10 14:49:28.819 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:28.828 [vent.ItemStateChangedEvent] - Rollo_EG_Esszimmer changed from 100 to 0
      
      2018-02-10 14:49:28.847 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:28.878 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:28.908 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:28.939 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:28.969 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:29.009 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command DOWN
      
      2018-02-10 14:49:29.028 [vent.ItemStateChangedEvent] - Rollo_EG_Esszimmer changed from 0 to 100
      
      2018-02-10 14:49:29.034 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command DOWN
      
      2018-02-10 14:49:29.061 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:29.076 [vent.ItemStateChangedEvent] - Rollo_EG_Esszimmer changed from 100 to 0
      
      2018-02-10 14:49:29.092 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:29.123 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:29.154 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:29.186 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:29.217 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
      
      2018-02-10 14:49:29.247 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command DOWN
      
      2018-02-10 14:49:29.264 [vent.ItemStateChangedEvent] - Rollo_EG_Esszimmer changed from 0 to 100
      
      2018-02-10 14:49:29.278 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command DOWN
      
      2018-02-10 14:49:30.591 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command STOP
      
      ==> /var/log/openhab2/openhab.log <==
      
      2018-02-10 14:50:02.703 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'knx.items'
      
      2018-02-10 14:50:02.845 [INFO ] [el.core.internal.ModelRepositoryImpl] - Refreshing model 'knx.items'
      
      2018-02-10 14:50:12.936 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Licht_EG_Esszimmer_Tisch' from KNX bus: timeout waiting for group read response: timeout
      
      2018-02-10 14:50:12.942 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '1/2/1' = '2'
      
      2018-02-10 14:50:23.001 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Licht_EG_Esszimmer_Licht' from KNX bus: timeout waiting for group read response: timeout
      
      2018-02-10 14:50:23.006 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '1/2/4' = '2'
      
      2018-02-10 14:50:33.065 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Dimmer_EG_Esszimmer_Sideboard' from KNX bus: timeout waiting for group read response: timeout
      
      2018-02-10 14:50:33.068 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '1/2/9' = '2'
      Also bleibt mir eigentlich nur der weg auf openHAB1 zu wechseln damit meine Rolladen richtig arbeiten?
      Weil mein nächster Schritt wäre eigentlich gewesen das ich die Rolladen über das Astro Binding steuern wollte.

      Kommentar


        #4
        Gibt es für openHAB 1 auch ein fertiges Image (openhabian) wie bei openHAB2?

        Kommentar


          #5
          Nein, openHAB1 kann man über apt installieren, oder manuell. Wobei ich mir nicht sicher bin, ob die apt Variante noch funktioniert (das Repository könnte inaktiv sein).

          Manuelles Installieren ist eigentlich super einfach. die Runtime in ein Verzeichnis entpacken, ein kleines Script zum Starten schreiben (bzw. eines verwenden, welches bei github liegt) und anschließend eine rein textbasierte Konfiguration vornehmen. Addons (ausschließlich OH1) müssen manuell in das addons-Verzeichnis gepackt werden (die org.openhab*.jar), das kann aber auch passieren, während openHAB schon läuft. Die Konfiguration aller Bindings geschieht ausschließlich über die Datei openhab.cfg im configurations-Ordner (dort liegen auch die von OH2 bekannten Ordner für sitemaps, items usw.)

          Es gibt auch noch irgendwo (github openhab1 issues) ein knx binding, welches weniger unerwünschte Telegramme sendet, aber fehlerfrei funktioniert es damit auch nicht, soweit ich mitbekommen habe.

          Kommentar


            #6
            Guten Morgen.
            Danke für deine Antwort, aber das klingt irgendwie sehr kompliziert für mich.
            wüsste noch nicht mal wie wo ich beginnen muss.
            Also muss ich erstmal einen raspberry mit Debian aufsetzen. Wenn der läuft kopiere ich openHAB 1 in das Filesystem....

            Kommentar


              #7
              Genau. Du spielst Raspbian auf, installierst Oracle Java (oder wahlweise Zulu Java), außerdem unzip, weil Du das zum Entpacken brauchst. Dann lädst Du per wget die openHAB1 runtime.zip herunter und entpackst sie (es bietet sich /opt/openhab1/ als übergeordneter Ordner an). Bei openHAB1 wird nur ein kleines Start-Script mitgeliefert, dabei läuft openHAB direkt in der Bash, aus der das Script aufgerufen wird. Deshalb muss man noch ein bisschen nacharbeiten, damit openHAB als Dienst läuft, also ohne, dass jemand eingeloggt sein muss. Wie schon erwähnt haben andere sich des Problems angenommen, so dass Du nur eins der Scripte herunterladen und passend ablegen musst (das ist ja eigentlich alles einigermaßen dokumentiert, man muss nur die korrekten Pfade und so weiter eintragen).

              Es gibt leider keinerlei Aussagen, wann für OH2 ein fehlerfreies knx Binding zur Verfügung stehen wird, so dass es im Extremfall passieren könnte, dass Du "endlich" openHAB1 am Laufen hast, und ein paar Tage später hat sich das Problem erübrigt. Genauso kann es aber auch noch Monate dauern, bis eine Lösung gefunden ist (es haben sich seit Anfang 2017 schon mehrere Entwickler am knx1 Binding die Zähne ausgebissen).

              Kommentar


                #8
                Ist das die Variante die nicht mehr funktioniert?
                http://logbuch.dmaertens.de/openhab/...m-raspberry-pi

                Kommentar


                  #9
                  Auch wenn die Anleitung für jessie ist, könnte sie weiterhin funktionieren allerdings ist gleich der erste (große) Fehler, einfach das default jdk zu installieren. Ich hab keine Ahnung, welches Java jessie installieren wird, aktuell ist ja stretch, und auch da wäre es schon wichtig, die Zulu Version einzurichten, oder alternativ Oracle Java (z.B. mit https://debian-blog.org/java-8-installieren/ ) openjdk (vor zulu) hat jedenfalls bekannte Probleme im Zusammenhang mit openHAB.
                  Die zip-Dateien bekommst Du unter https://openhab-ci.innoq.io/jenkins/.../openhab-1-rc/, bintray ist, soweit ich weiß, nicht mehr aktiv. Das ist eins der Probleme mit inoffiziellen Anleitungen (auch wenn sie dann vielleicht in der eigenen Muttersprache vorliegen).
                  stretch verwendet systemd, so dass das Startscript zwar eventuell funktioniert (systemd kann durchaus mit init Scripten umgehen), aber die saubere Variante ist trotzdem eher dieses Script https://github.com/openhab/openhab1-...-using-systemd

                  Kommentar


                    #10
                    Dank dieses Beitrags https://knx-user-forum.de/forum/supp...g-installieren konnte ich das Problem bei mir Lösen.

                    So sieht jetzt der Log aus:
                    Code:
                     
                        
                    2018-02-13 13:52:41.036 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command DOWN
                    
                    2018-02-13 13:52:41.059 [vent.ItemStateChangedEvent] - Rollo_EG_Esszimmer changed from 0 to 100
                    
                    2018-02-13 13:52:41.071 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command DOWN
                    
                    2018-02-13 13:52:41.101 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command DOWN
                    
                    2018-02-13 13:52:44.669 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command STOP
                    
                    2018-02-13 13:52:44.708 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command STOP
                    
                    2018-02-13 13:52:49.077 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
                    
                    2018-02-13 13:52:49.090 [vent.ItemStateChangedEvent] - Rollo_EG_Esszimmer changed from 100 to 0
                    
                    2018-02-13 13:52:49.116 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP
                    
                    2018-02-13 13:52:49.153 [ome.event.ItemCommandEvent] - Item 'Rollo_EG_Esszimmer' received command UP

                    Kommentar


                      #11
                      Nochmals Danke an Alle die mir geholfen haben.

                      Habe da aber noch mal eine Frage.
                      Wie kann ich mir (auf der Sitemap) den aktuellen Status der Rollladen anzeigen lassen?

                      Kommentar


                        #12
                        Code:
                                Switch item=knx_Jalousie_Flur_1OG label="Jalousie Flur 1OG  [(%d %%)]" mappings=[UP="Hoch", STOP="X", DOWN="Runter"]
                        Das ist mein Code für die Jalousien im Basic UI bei Item musst du nur dein Item eintragen.

                        Gruß

                        Guido

                        Kommentar


                          #13
                          Bei Github gibts ein Binding, was das Problem bei Openhab2 größtenteils behebt

                          https://github.com/openhab/openhab1-...ment-355766466

                          Leider gibt es damit ab und an Verbindungsabbrüche zum Bus, Abhilfe schafft bei mir folgender eintrag in der knx.cfg
                          autoReconnectPeriod=1

                          Rollos und Dimmer laufen bei mir damit problemlos
                          Das S in IoT steht für Security

                          Kommentar


                            #14
                            Wenn das Item korrekt konfiguriert ist, sollte in der Sitemap der Eintrag
                            Code:
                            Switch item=MyRollershutter
                            reichen, um ein vollständiges Widget zum Steuern und Anzeigen des Rollladenzustands zu bekommen. Dazu ist das Item dann wie folgt definiert:
                            Code:
                            Rollershutter MyRollershutter "Mein Rolladen [%d%%]" {knx="1/1/1, 1/1/2, 1/1/3+<1/1/4", autoupdate="false"}
                            wobei gilt:
                            • GA 1/1/1 ist MOVE UP/DOWN
                            • GA 1/1/2 ist STEP UP/DOWN (verwendet als Stop)
                            • GA 1/1/3 ist "Absolute Position setzen"
                            • GA 1/1/4 ist Rückmeldung absolute Position
                            Falls der Laden kein absolutes Positionieren erlaubt, ist vermutlich auch keine Rückmeldung der Position möglich. Dann kann man natürlich die beiden letzten GA weg lassen, wird aber auch keine Zustandsanzeige bekommen.
                            autoupdate="false" bewirkt, dass Steuerbefehle aus openHAB heraus keine Auswirkung auf den Status haben. Natürlich wird dann der Zustand erst am Ende der Fahrt korrekt angezeigt.

                            openHAB hat genug Eigenintelligenz, automatisch drei Schaltflächen zu malen (runter/stop/hoch, mit passenden Symbolen) und dem passenden Icon, welches selbstverständlich dynamisch ist. In openHAB2 (aktuelle Version) sollte sogar der dynamische Teil des Labels ([%d%%]) automatisch generiert werden.
                            Zuletzt geändert von udo1toni; 16.02.2018, 15:32.

                            Kommentar


                              #15
                              Danke für die Info.

                              Aber irgendwie passt da noch was nicht:

                              Code:
                               
                                  
                              2018-02-16 16:51:00.675 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Rollo_EG_Esszimmer' from KNX bus: timeout waiting for group read response: timeout
                              
                              2018-02-16 16:51:00.683 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '1/2/14' = '2'
                              
                              2018-02-16 16:51:10.746 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Rollo_EG_Kueche' from KNX bus: timeout waiting for group read response: timeout
                              
                              2018-02-16 16:51:10.754 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Remaining retries for address '1/1/9' = '2'
                              
                              2018-02-16 16:51:20.817 [WARN ] [al.bus.KNXBindingDatapointReaderTask] - Autorefresh: Cannot read value for item 'Rollo_OG_Kinderzimmer_Jana' from KNX bus: timeout waiting for group read response: timeout
                              Hab ich in der ETS was falsch konfiguriert?

                              Kommentar

                              Lädt...
                              X