Ankündigung

Einklappen
Keine Ankündigung bisher.

openhab2 auf Pi mit knx verbinden - Anfänger

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

    openhab2 auf Pi mit knx verbinden - Anfänger

    Hallo,

    ich versuche nun schon seit einer halben Ewigkeit mit openhab2 ein Licht zu schalten.
    Diverse Anpassungen und Suche nach meinem Fehler haben leider nichts gebracht.
    Ich hoffe, dass man mir hier weiter helfen kann. Bin ausserdem kompletter Neuling was openhab und Pi angeht...
    Sorry mal dafür^^

    -Installiert ist auf einem Pi3 openhab2
    -IP KNX Interface von MDT

    knx.cfg sieht wie folgt aus:
    # KNX gateway IP address
    ..# (optional, if serialPort or connection type 'ROUTER' is specified)
    ip=192.168.178.20

    ignorelocalevents=true

    # KNX IP connection type. Could be either TUNNEL or ROUTER (optional, defaults $
    # Note: If you cannot get the ROUTER mode working (even if it claims it is conn$
    # use TUNNEL mode instead with setting both the ip of the KNX gateway and the l$
    type=TUNNEL

    # Local endpoint to specify the multicast interface, no port is used (optional)
    localIp=192.168.178.57

    items Datei sieht so aus: (name test.items)
    switch Licht_OG_Arbeitszimmer "Licht Arbeitszimmer" {knx="<0/4/2"}

    sitemap Datei siet so aus: (habe die mal im Netz gefunden und nur durch mein switch item ergänzt; name ist test.sitemap)

    sitemap test label="My home automation Junge" {
    Frame label="Date" {
    Text item=Date
    }
    Frame label="Demo" {
    Switch item=Lights icon="light"
    Switch item=Licht_OG_Arbeitszimmer icon="light"
    Text item=LR_Temperature label="Livingroom [%.1f °C]"
    Group item=Heating
    Text item=LR_Multimedia_Summary label="Multimedia [%s]" icon="video" {
    Selection item=LR_TV_Channel mappings=[0="off", 1="DasErste", 2="BB$
    Slider item=LR_TV_Volume
    }
    }
    }


    Jetzt greife ich von meinem Windows PC auf den Pi zu (über den Browser auf dem Win PC), sehe die Sitemap und der Slider für mein Licht_OG_Arbeitszimmer wechselt schön hin und her, aber mein Licht wird nicht geschaltet.
    Was mache ich falsch?!?

    Besten Dank für jede Antwort.

    #2
    Hallo Ruso,

    du hast bei Deiner Item-Definition nur den Status aus dem KNX eingefügt (das nach "<"). Um das Licht auch steuern zu können, musst Du auch die Adresse zum Schalten angeben.

    aus der Openhab Doku:
    (http://docs.openhab.org/addons/bindi...x1/readme.html)
    Code:
     
     Switch Light_Room_Table  "Table Light" (Room, Lights) { knx = "<0/1/10+0/1/30"}
    This is a switch item that has two addresses. openHAB may responds to events in any of them, but may actively read the first one.
    Vielleicht hilft Dir das weiter....

    Andreas

    Kommentar


      #3
      Hallo Andreas,

      vielen Dank für deine schnelle Antwort.
      Leider hat dies nichts gebracht. Ich muss doch "nur" die Gruppenadresse eintragen? So verstehe ich das. Wenn ich die Adresse des Aktors eintrage, muss ich ja noch den Kanal zuwweisen? Wie würde das dann aussehen? Der Aktor hat die Adresse 1.1.11 Kanal C Objekt 24.
      openhab2 läuft; habe das eben unter Status nachgesehen. Kann man auch eine Verbindung prüfen zwischen Pi (also openhab server) und der KNX IP Schnittstelle?

      Danke,
      Gruß
      Ruso

      Kommentar


        #4
        Hallo Ruso,

        ich habe leider kein KNX und kenne mich nicht im Detail damit aus. Deine Item-Definition würde ich aber so interpretieren, dass openHAB nur den Status von der KNX-Adresse abfrägt... Vielleicht funktioniert es ohne den "<" vor der Adresse ?!? Aber die Adresse, die Du hier einträgst, muss halt mit Deinem System in Einklang sein... (ist "0/4/2" tatsächlich die Adresse in Deinem System?)

        Hast Du mal in den Log-Dateien nachgeschaut, ob es Fehlermeldungen gibt? Falls Du openhabian installiert hast, hast du den Log-Viewer direkt zur Auswahl... Ansonsten musst Du die Kommandozeile (über SSH) oder die Karaf-Konsole bemühen (sie auch: https://docs.openhab.org/administration/logging.html)

        Ich habe gerade gelesen, dass Du in der Sitemap items hast, die Du gar nicht definiert hast. Um hier einen Fehler auszuschließen, kannst Du ja in der Sitemap alle Items löschen, die bei Dir gar nicht existieren....

        Vielleicht kann ja auch einer der KNX-Spezialisten hier weiterhelfen...

        Grüße,
        Andreas

        Kommentar


          #5
          Hallo Ruso,
          ich bin auch ein absoluter Neuling auf diesem Gebiet. Aber deine knx.cfg solte so aussehen.

          knx.cfg
          ip=Gateway IP
          type=TUNNEL
          ip= Rasbeery IP

          Wenn am Anfang der Zeile ein # steht bedeutet das, dass diese Zeile nicht gelesen wird.
          Schau mal unter /var/log/openhab2/openhab2.log ob der Rasbeery mit dem Bus Verbindung hat.
          Bei mir läuft das licht.items so:

          Switch Licht_OG_Arbeitszimmer "Arbeitszimmer " (OG_Arbeitszimmer, Licht) ["Lighting"] { knx="0/4/2" }

          MfG
          Dirk probieren geht über studieren

          Kommentar


            #6
            Also, Deine Konfiguration sieht auf den ersten Blick gut aus, wenn folgendes gilt:
            IP des KNX/IP-Interface = 192.168.178.20
            IP des Raspberry, auf dem openHAB läuft = 192.168.178.57
            Die erste Frage wäre, wie Du openHAB installiert hast. Die zweite Frage ist, welche Version? OH2.2? OH2.3?
            Im Allgemeinen sollte die Anbindung von knx problemlos funktionieren (was nicht heißt, dass openHAB2.x mit knx reibungslos funktioniert... aber zumindest sollten GA gelesen und geschrieben werden können.)
            Wie hast Du das knx Binding eingerichtet?
            Nötige Einträge in der knx.cfg:
            Code:
            ip=192.168.178.20
            localIp=192.168.178.57
            type=TUNNEL
            # optional, aber sinnvoll
            ignorelocalevents=true
            # eine gültige freie Busadresse aus der Linie, an der das KNX/IP-Interface angeschlossen ist. Ohne diese Angabe ist ignorelocalevents=true sinnlos
            busaddr=1.1.234
            Alle anderen Parameter können auf dem Defaultwert bleiben, wenn man nicht gezielt eingreifen möchte.

            Wenn Du einen Schaltaktor hast, hat dieser mindestens zwei Objekte, nämlich zum einen den Schalteingang und zum anderen den aktuellen Status.
            Wenn die GA folgendermaßen vergeben sind:
            Funktion DPT GA
            Schaltobjekt 1.001 0/4/2
            Rückmeldung 1.001 0/4/3
            sieht das Item dann so aus:
            Code:
            Switch Licht_OG_Arbeitszimmer "Licht Arbeitszimmer" {knx="0/4/2+<0/4/3"}
            Damit fragt openHAB den Status beim Systemstart von 0/4/3 ab und setzt das Item passend. Wenn Du den Schalter betätigst, wird der Befehl an 0/4/2 gesendet. Wenn mehrere Taster denselben Aktor steuern, ein Zentralaus, oder z.B. eine Szenensteuerung verwendet wird, muss die Status GA in jedem Taster als 2. GA hinterlegt werden, damit der Taster weiß, ob er als nächsten Befehl ein ON oder OFF senden soll (spielt natürlich nur bei Toggle eine Rolle) oder auch eine eventuell vorhandene Kontrollleuchte korrekt anzeigt. Genauso verhält es sich mit openHAB, auch dort muss der echte Zustand bekannt sein, nicht, welchen Befehl der Aktor zuletzt bekommen hat.

            Kommentar


              #7
              Hallo,
              kontrolliere bitte nochmal ob das Knx-Binding installiert ist. Hatte auch schon ein paar mal das Problem, dass nach der Installation und einem Neustart das Binding verschwunden war.
              Ansonsten wäre auch noch die Logdatei interessant. Das liegt normal unter /var/log/openhab2/openhab.log

              Mfg

              Kommentar


                #8
                Hallo,

                sorry dass ich erst so spät antworte... hab gerade mächtig viel um die Ohren... :-/
                Vielen Dank für eure Ratschläge!

                Habe openhab über putty installiert. Über die Seite https://openhabdoc.readthedocs.io/de/latest/KNX/

                KNX binding hab ich über die PaperUI installiert. Da dieses binding ja ein oh1.x binding ist muss ich die config ja manuell über knx.cfg übernehmen. Die # vor den Parametern sind natürlich weg.

                Das steht in dem Logfile: (unter anderem...)
                2018-01-12 19:54:01.348 [INFO ] [nx.internal.connection.KNXConnection] - KNXBinding configuration is not present. Please check your configuration file or if not needed remove the KNX addon.


                Irgendwie hilft alles nichts, ich versuche immer noch verzweifelt mein Licht hier im Arbeitszimmer über die sitemap an bzw. auszuschalten.

                Liegt es vielleicht daran, dass ich noch knxd installiert habe? Nichts konfiguriert, sondern nur mal installiert... Habe dies installiert weil man das glaub für FHEM braucht?
                Oder soll ich einfach mal nochmal meine SD Karte leeren und von vorn anfangen? Und dann nur openhab2 installieren?

                Vielen Dank,
                Gruß
                Ruso

                Kommentar


                  #9
                  Wenn du eine IP-Schnittstelle hast, brauchst du knxd nicht. Warum willst openhab2 und FHEM gleichzeitig installieren?
                  Sicher, dass der Auszug aus der Log-Datei aktuell ist? Falls ja, deutet es darauf hin, dass die knx.cfg nicht gefunden wird.
                  Diese sollte in /etc/openhab2/services/knx.cfg liegen.
                  Falls du neu installieren willst kannst du auch mal openhabian testen. Das ist eine spezielle Distri für openhab auf dem Pi.
                  https://docs.openhab.org/installation/openhabian.html

                  Kommentar


                    #10
                    Das ist das Problem mit inoffiziellen Anleitungen - man sieht ihnen nicht unbedingt an, ob sie aktuell sind.

                    Die letzte Version von https://openhabdoc.readthedocs.io/de/latest/KNX/ ist zwar erst etwas mehr als zwei Monate alt, das hilft aber leider nicht, denn wichtige Bestandteile sind komplett überholt. Am ehesten sind noch die Informationen über das Funktionsprinzip aktuell, leider wird darauf aber kaum eingegangen, der Fokus ist eher, ein System zum Laufen zu bringen. Dieser Teil ist aber in großen Teilen nicht mehr aktuell.

                    Insbesondere möchte ich hier den Designer erwähnen, der End Of Life ist. openHAB2 konfiguriert man am besten mit VSCode in Verbindung mit dem openHAB Plugin, welches direkt aus VSCode heraus installiert werden kann. Wenn man die aktuelle Stable Version openHAB2.2 oder neuer einsetzt, bietet VSCode den gleichen Funktionsumfang wie der Designer, aber noch etliches obendrauf. Außerdem wird VSCode (und das Plugin für openHAB) weiterentwickelt.

                    Die derzeit für den Raspberry (und andere Plattformen) dringend empfohlene Installationsvariante mittels openHABian wird überhaupt nicht erwähnt.

                    Vergiss bitte die Anleitung und setze, wenn irgend möglich den Raspberry mit dem aktuellen openHABian neu auf (siehe auch Link von MaFe). Du kannst wahlweise auch mit apt oder manuell installieren, aber halte Dich dabei bitte an die (leider englische) offizielle Anleitung.
                    Zuletzt geändert von udo1toni; 19.01.2018, 08:26.

                    Kommentar


                      #11
                      ja, meine knx.cfg liegt in diesem Verzeichnis.

                      Als ich mich in die ganze Materie eingelesen habe habe ich zuerst nur FHEM gelesen.
                      Dann hab ich mal versuchsweise FHEM installiert, weil ich noch neu bin auf dem Gebiet Pi.
                      Dann kam die Komponente Homekit dazu usw... hab mich einfach mal an dem Pi "versucht".
                      Irgendwann hab ich dann dieses openhab gelesen und dachte: Wow, das ist ja scheinbar am Besten in Verbindung mit meiner bestehenden KNX Anlage.
                      (Irgendwann soll dann noch die Alexa mit eingebunden werden, evtl. auch noch Siri.)

                      Wenn ich openHABian installiere, funktionieren dann auch noch andere Anwendungen wie eben z.b. Homekit? Oder läuft auf dem openHABian eben nur openHABian?

                      Na super, dann kann ich mich also quasi nur auf die wirklich offiziellen Anleitungen auf docs.openhab.org verlassen?

                      Besten Dank für eure Ratschläge und eure Geduld mit mir als Anfänger auf dem Gebiet Pi.

                      Kommentar


                        #12
                        Ich habe es nach dieser Seite installiert und es hat auf Anhieb geklappt (da ist auch der Link zum neusten obenhabian).

                        http://www.kriwanek.de/index.php/de/...von-openhabian

                        Ich habe dann wie beschrieben, den Demo Modus geöffnet somit hast Du schon mal eine Vorlage, nach der Du Dich dann weiter vor arbeiten kannst.

                        Dirk probieren geht über studieren

                        Kommentar


                          #13
                          Zitat von Ruso Beitrag anzeigen
                          Na super, dann kann ich mich also quasi nur auf die wirklich offiziellen Anleitungen auf docs.openhab.org verlassen?
                          Das ist eigentlich bei jeder Software so. Ab einer gewissen Komplexität schaut man in der Dokumentation nach, wie etwas gemacht wird. Man kann natürlich irgendeine Seite im Internet suchen und nach dortigen Anweisungen handeln, dann muss man aber auch dort nachfragen, wenn irgendwas nicht funktioniert

                          Klar wäre es wünschenswert, eine deutschsprachige Anleitung zu haben, aber die "Macher" bei openHAB haben sich auf Englisch als Sprache verständigt, was kein Wunder ist, inzwischen kommt auch viel Code aus dem Ausland, teilweise zu Geräten, die in Europa gar nicht erhältlich, aber in Übersee üblich sind. Solcher Code hilft, openHAB weiter bekannt und attraktiv zu machen, auch Interesse bei Firmen zu wecken, ihre Hardware vielleicht gleich so zu gestalten, dass die Open Source Community kostenlos großen Mehrwert zur Verfügung stellt - M2M ist eins der wichtigen Themen, und Smarthome gehört da mitten rein, je größer der Bekanntheitsgrad, je professioneller so etwas aufgezogen wird, desto eher wird es auch unterstützt.

                          Es gab auch schon den Vorschlag, die Dokumentation zu internationalisieren, aber auch da muss ja jemand ständig am Ball bleiben, Übersetzungen anfertigen und die Texte aktuell halten.

                          Noch ein paar Worte zu openHABian: Es entsteht leicht der Eindruck, als wäre das etwas "eigenes" für den Raspberry. Das ist falsch.
                          openHABian ist eine Scriptsammlung, die die Einrichtung von openHAB mitsamt viel optionaler Software von Drittanbietern in ein Menü packt. openHABian kann auch auf anderen (GNU/Linux) Plattformen zur Installation eingesetzt werden. Letztlich lädt es jegliche benötigte Software nach und richtet sie automatisiert ein. Am Ende sollte aber ein "stinknormales" openHAB2.x als Ergebnis vorhanden sein.
                          Wenn es nur um openHAB geht, kann man auch ein Raspbian nehmen, Java (in passender Form) installieren, die openHAB-Pakete zur Paketverwaltung hinzufügen und openHAB über apt installieren (nichts anderes macht openHABian).
                          Wahlweise kann man auch das zip herunter laden und von Hand auspacken. Das ist alles kein Hexenwerk und normalerweise wirklich im Handumdrehen erledigt, nur hat man openHAB dann halt so installiert, wie man es selbst für richtig hält. Wenn dann Fragen auftauchen, muss man erst selbst genau erklären, was man gemacht hat (oder auch was man anders gemacht hat), das hält letztlich nur von der Problemlösung ab.
                          Spätestens, wenn es darum geht, zusätzlich noch influx, grafana, mosquitto und diverse andere Software einzurichten, die man gerne im Zusammenspiel mit openHAB nutzen möchte, erleichtert openHABian das Leben, weil alles an einem Platz ist und man sich nicht um irgendwelche Webadressen kümmern muss.

                          Kommentar


                            #14
                            Hallo zusammen,

                            nachdem ich hier schon immer mitgelesen habe, habe ich mich nun doch angemeldet, da ich nicht mehr weiterkomme ohne euch.
                            Kurz zu meinem System. Ich steuere über Hager KNX easy und einen Domovea Server mein Haus. Das klappt zwar, aber Domovea ist halt einfach nicht mehr zeitgemäß.
                            Aus dem Grund und weil ich gern selber bastel, habe ich mir einen Raspberry Pie zugelegt. Hier habe ich openHABian installiert, inkl. dem KNX Bindung. Prinzipiell hat auch alles soweit funktioniert, nur komme ich nicht auf die Lampe. Diese hat als Schalten die Adresse: 2/4/123 und als Status 24/4/106. Als Item habe ich es so eingegeben:
                            Switch Licht_EG_Wohnzimmer "Licht Wohnzimmer" (EG_Wohnzimmer) {knx="<24/4/106+2/4/123"}

                            Leider klappt die Verbindung zum KNX Gateway nicht. Ich finde in der FritzBox nur den Domovea Server und den TJA665. Das Log sagt mir:
                            2018-01-20 13:30:41.003 [ERROR] [nx.internal.connection.KNXConnection] - Error connecting to KNX bus: wrong KNX address syntax with 4 levels: 192.168.178.57
                            2018-01-20 13:30:41.008 [WARN ] [nx.internal.connection.KNXConnection] - Initial connection to KNX bus failed!
                            Könnt ihr mir sagen, wie ich auf die Gateway IP komme?

                            die knf.cfg sieht so aus:
                            # KNX gateway IP address
                            # (optional, if serialPort or connection type 'ROUTER' is specified)
                            ip=192.168.178.39 das ist Akt. der TJA665

                            # Local KNX Binding bus address.
                            # Use it, when two or more openHAB Instances are connected to the same KNX bus.
                            # (optional, defaults to 0.0.0)
                            #busaddr=192.168.178.57

                            # Ignore local KNX Events, prevents internal events coming from
                            # 'openHAB event bus' a second time to be sent back to the 'openHAB event bus'.
                            # Note: To send back events second time is a Bug, but for backward compatibility, the behavior is not changed.
                            # For new installations, its recommend to set "ignorelocalevents=true"
                            # (optional, defaults to false)
                            #ignorelocalevents=

                            # KNX IP connection type. Could be either TUNNEL or ROUTER (optional, defaults to TUNNEL)
                            # Note: If you cannot get the ROUTER mode working (even if it claims it is connected),
                            # use TUNNEL mode instead with setting both the ip of the KNX gateway and the localIp.
                            type=TUNNEL

                            # KNX gateway port (optional, defaults to 3671)
                            # Note: If you use eibd, setting to 6720
                            #port=6720

                            # Local endpoint to specify the multicast interface, no port is used (optional)
                            localIp=192.168.178.33, RasPI IP

                            Danke im Voraus!

                            Kommentar


                              #15
                              Hallo und willkommen im openHAB Unterforum

                              Bei Code Postings bitte immer den Code als Code markieren (im Editor-Bereich auf das unterstrichene A klicken und aus dem Menü dann die Raute auswählen), damit der Code besser lesbar ist.

                              Parameter in der knx.cfg müssen in einzelnen Zeilen stehen, es darf weder davor noch dahinter irgendetwas Anderes stehen (Kommentare oder so), eber vermutlich hast Du diese Angaben nur hier ergänzt (so etwas bitte immer kennzeichnen, damit man das als Fehlerquelle ausschließen kann). Die knx.cfg sollte also (ohne weitere Kommentarzeilen) so aussehen:
                              Code:
                              ip=192.168.178.39
                              type=TUNNEL
                              localIp=192.168.178.33
                              # ignorelocalevents sollte auf true gesetzt werden, auch wenn der Parameter leider nicht die volle Wirkung entfaltet
                              ignorelocalevents=true
                              # die Busadresse ist die DeviceID auf dem knx Bus. Es muss eine ungenutzte Busadresse eingetragen werden,
                              # möglichst aus der Linie, in der das IP Interface angeschlossen ist. Wenn ignorelocalevents auf true gesetzt wird,
                              # muss auch eine Busadresse angegeben werden.
                              busaddr=15.15.255
                              Bei der Definition des ersten Items hast Du die GA falsch herum angegeben.
                              Code:
                              Switch Licht_EG_Wohnzimmer "Licht Wohnzimmer" (EG_Wohnzimmer) {knx="2/4/123+<24/4/106"}
                              openHAB wird beim Start von der GA 24/4/106 den aktuellen Status lesen (der Aktor muss darauf antworten, dazu muss das L-Flag auf dem Rückmelde-Objekt gesetzt und die 24/4/106 als erste GA angegeben sein).
                              Wenn der Schalter in der UI betätigt wird, wird openHAB auf der GA 2/4/123 den entsprechenden Befehl senden.

                              Kommentar

                              Lädt...
                              X