Scheinbares Kommunikationsproblem zum KNX/IP-Interface


#1

Hallo,
ich versuche seit ein paar Tagen mich mit der Materie anzufreunden und habe bereits meinen RaspberryPi mit homegear aufgesetzt und die Module für SONOS und KNX draufgezogen.
Kann bereits auch meine SONOS Boxen aus der CLI und mit Node-Blue ansteuern.

Leider klappt das bisher nicht mit den KNX Geräten. Ich habe im ETS5 die JSON Angaben für die Gruppenadressen eingefügt und die Projektdatei ins homegear eingefügt. Die Geräte wurden auch gefunden. Ebenso habe ich die knx.conf nach Anleitung angepasst und dort die IP-Adresse des KNX/IP-Interface eingegeben.

Nun schaffe ich es leider nicht die Geräte zu schalten.
Z.B möchte ich eine Lampe einschalten mit
sudo homegear -e rc ‘$hg->setValue(9, 9, “STATE”, true);’
aber es passiert nichts. Die Abfrage mit getValue ergibt aber, dass die Variable auf 1 gesetzt wurde, nur wird das eben nicht an die knx-Steuerung übergeben (auch im ETS sieht man, dass die Adresse nicht geschaltet wurde).

Wenn ich hingegen das Licht selbst einschalte und dann mit getValue abfrage, steht da immer noch 0.

Ich habe das Gefühl etwas ganz wesentliches in der Einstellung des KNX-Moduls falsch gemacht zu haben oder vergessen zu haben. Kann mir da Jemand bitte helfen?

Ich verwende ein Weinzierl KNX IP Interface 731. Hier noch meine knx.conf

___________________________________________________________________________

----------------------------------- KNX -----------------------------------
___________________________________________________________________________

[General]

moduleEnabled = true

#[KNXnet/IP]

## Specify an unique id here to identify this device in Homegear
#id = My-KNX-Interface

## Options: knxnetip
#deviceType = knxnetip

## IP address or name of your interface.
#host = 192.168.178.70

## Port number your interface listens on. Normally 3671.
#port = 3671

## IP address of this computer. If empty, Homegear tries to determine it
## automatically.
## listenIp =

## Port number Homegear listens on for packets from KNXNet/IP interface
#listenPort = 5671

#2

Hi @Frott

wenn du die Settings nicht in der Homegear-Datenbank vorgenommen hast, solltest du ausser

moduleEnabled = true

auch die restlichen Settings in der Config-Datei vornehmen :wink:

Wenn ich es noch richtig im Kopf habe, sollte es so funktionieren:

___________________________________________________________________________

----------------------------------- KNX -----------------------------------
___________________________________________________________________________

[General]

moduleEnabled = true

[KNXnet/IP]

## Specify an unique id here to identify this device in Homegear
id = My-KNX-Interface

## Options: knxnetip
deviceType = knxnetip

## IP address or name of your interface.
host = IP.DES.KNX.IP-Gateways

## Port number your interface listens on. Normally 3671.
port = 3671

## IP address of this computer. If empty, Homegear tries to determine it
## automatically.
## listenIp =

## Port number Homegear listens on for packets from KNXNet/IP interface
listenPort = 5671

– Micha


#3

Hallo @Micha,

ich danke dir erstmal sehr für deine Antwort.
Sorry, wenn ich das nicht gleich kapiere, denn ich fange erst mit der gesamten Thematik an und habe noch einige Verständnislücken. Aber was meinst du mit der “Homegear-Datenbank”?
Ich konnte in der Dokumentation bisher nichts darüber finden.
Muss ich dort das KNX-Modul aktivieren?

moduleEnabled = true

…steht ja schon in meiner knx.conf. Und der Rest aus deiner geposteten knx.conf Datei unterscheidet sich auch nicht von meiner zuerst geposteten, bis auf die IP-Adresse des KNX/IP-Interface (aber die stimmt, ich habe sie mehrmals überprüft).

Ich stehe jetzt seit gut 3 Wochen auf dem Schlauch und komme nicht weiter, ist irgendwie deprimierend. Und ich bin mir sicher, dass ich irgendeine Kleinigkeit übersehen habe oder falsch gemacht habe.

In der Dokumentation steht im Punkt 6. Adding KNX Devices:

Make sure the KNX module is up and running before you continue reading this chapter.

Gibt es irgendeine Möglichkeit per CLI zu prüfen ob das Modul aktiv ist und korrekt läuft, bzw. zum IP-Interface kommunizieren kann?

Eine andere Vermutung von mir war: Müsste man vielleicht im ETS5 unter dem Punkt “BUS” eine neue Schnittstelle für das KNX/IP-Interface per IP-Tunneling konfigurieren? Bisher habe ich es einfach versucht über die Netzwerk IP Adresse anzusprechen 192.168.178.70, unter dieser IP erreiche ich das Interface auf jeden Fall mit der ETS5 (also an sich ist das Gerät funktionsfähig).

Sorry, wenn ich mich etwas unbeholfen anstelle, aber ich gebe ehrlich zu, dass das hier nicht mein Metier ist. Ich bin Maschinenbauer, der sich vorsichtig in die faszinierende Welt der 1en und 0en reintraut :wink:

Vielen Dank im Voraus für sämtliche Hinweise


#4

Hey @Frott,

kein Thema, genau dafuer ist das Forum ja da :wink:

Homegear benutzt eine Datenbank, wo man die Einstellungen der Familien-Konfiguration auch speichern kann (so mach das die Admin-UI z.B.). Wenn du ganz normal nach der Doku vorgegangen bist wirst du die wohl nicht nutzen.

Nein, das ist schon 100%ig korrekt so wie du es gemacht hast.

Nicht ganz, in deiner geposteten Config sind dieser Zeilen auskommentiert (mit dem “#” am Anfang der Zeilen). Kommentier die mal ein (entferne das “#” vor den jeweiligen Zeilen), und starte anschliessend Homegear neu.

Keine Angst, das bekommen wir schon hin :wink:

Ob das Modul geladen wurde, kannst du ganz einfach ueber das Homegear-CLI sehen:

root@homegear:/# homegear -r
Connected to Homegear (version 0.8.0-2561).

Please type >>help<< to list all available commands.
> ls
   ID │ Name                          
──────┼───────────────────────────────
    0 │ HomeMatic BidCoS              
    5 │ Philips hue                   
    7 │ EASYCam                       
   14 │ KNX                           
   18 │ EASYLed 2                     
   24 │ CCU                           
  254 │ Miscellaneous                 
──────┴───────────────────────────────

Ob die Kommunikation mit dem KNX-IP-Gateway funtkioniert solltest du im Homegear-Log (/var/log/homegear/homegear.log) sehen (ggf. das Loglevel auf 4 setzen). Z.B.:

03/07/19 09:24:37.907 Module KNX: KNXNet/IP "knxgateway01": Info: Listen IP is: 172.16.16.78
03/07/19 09:24:37.907 Module KNX: KNXNet/IP "knxgateway01": Info: Sending packet 06100205001A0801AC10104E98330801AC10104E983304040200
03/07/19 09:24:37.908 Module KNX: KNXNet/IP "knxgateway01": Info: Connected. Gateway's KNX address is: 0.0.11
03/07/19 09:24:37.908 Module KNX: KNXNet/IP "knxgateway01": Info: Init completed.

Puh, da bin ich spontan ueberfragt, ich glaube aber nicht. Aber da kann dir @sathya auf jeden Fall helfen :wink:

Wie gesagt, kein Akt. Lieber einmal mehr fragen als irgendwann frustriert das Handtuch zu werfen :wink:

– Micha


#5

OMG :woozy_face:

genau das war’s …

ich habe die # vor den Zeilen …

#[KNXnet/IP]
#id = My-KNX-Interface
#deviceType = knxnetip
#host = 192.168.178.70
#port = 3671
#listenPort = 5671

… entfernt und mit:

sudo service homegear restart

Homegear neugestartet.
Und siehe da, die Lampen gehen ein und aus :star_struck:

Ich danke dir vielmals @Micha !!!


#6

Immer wieder gerne :wink:

Und klasse, dass es jetzt funktioniert \o/

– Micha