KNX in fhem integrieren

Begonnen von stefan7, 17 Dezember 2016, 23:28:36

Vorheriges Thema - Nächstes Thema

stefan7

Hallo allerseits,

ich versuche gerade, fhem neu zu konfigurieren und möchte meine Weinzierl-IP-Schnittstelle 731 in fhem zu integrieren.
Außerhalb fhem funktoniert das einwandfrei, zum Beispiel mit
knxtool groupswrite ip:127.0.0.1 1/11 1

Ich verwende bisher zweistufige Gruppenadressen, da ich mein Projekt zu Zeiten von ETS2 gemacht hatte.

Da ist schon das erste Problem: ich weiß nicht, wie ich das in das neue, dreistufige Format umsetzen muss.
Die Gruppenadresse, die vorher 1/11 war, wie muss die nun heißen?

Meine fhem.cfg ist noch Standard, aber um folgende zwei Zeilen erweitert:

define KNX TUL knxd:localhost 1.1.221
define lampe1 KNX 0/1/8:dpt1

Ich bekomme eine Fehlermeldung:
Error messages while initializing FHEM:
configfile: Unknown module KNX

Jetzt habe ich den ganzen Tag schon viel gelesen und viel versucht, aber ich komme nicht weiter.

Kann jemand helfen?

Viele Grüße
Stefan

Andi291

Ich würde die TUL-Instanz nicht unbedingt KNX nennen...

Folgendes sollte gehen:

define knxd TUL knxd:127.0.0.1 1.1.221
define lampe1 KNX 0/1/8:dpt1


Grüße, Andi

stefan7

#2
Dankeschön, passt aber noch nicht ganz:

Error messages while initializing FHEM:
configfile: Unknown module KNXstatefile: Please define KNX first

Ist die Syntax 0/1/8 richtig, wenn ich bisher 1/8 als Gruppenadresse in ETS2 verwendet habe?

EDIT:
folgendes geht bei knxd:
knxtool groupswrite ip:localhost 1/11 1
nicht erkannt wird aber folgendes:
knxtool groupswrite ip:localhost 0/1/11 1
knxtool groupswrite ip:localhost 1/11/0
knxtool groupswrite ip:localhost 1/1/11 1
daher bin ich ratlos bei der Syntax


stefan7

#3
Habe von https://raw.githubusercontent.com/mhop/fhem-mirror/master/fhem/FHEM/10_KNX.pm das Modul nach /opt/FHEM/ geladen, Rechte, Owner, Group angepasst
in fhem.cfg dann "reload 10_KNX" -> läuft, keine Fehlermeldung mehr

EDIT: aber noch Einträge im Log:
2016.12.18 15:07:42 1: knxd:127.0.0.1 protocol is not supported
2016.12.18 15:07:42 3: TUL device opened
Use of uninitialized value in string eq at ./FHEM/00_TUL.pm line 879, <$fh> line 37.
Use of uninitialized value in string eq at ./FHEM/00_TUL.pm line 930, <$fh> line 37

Bleibt zudem noch das Thema mit der Syntax der Gruppenadressen.

Hilft mir autocreate?! Wie funktioniert das?

Andi291

Hm...Du solltest vll. die TUL auch mal updaten. Die scheint uralt...

Die dreistellige Schreibweise der GA ist korrekt.

stefan7

#5
Ich habe das diese Woche nagelneu installiert. Wo bekomme ich ein TUL-Update her?
EDIT: Ich benutze nur den knxd mit Weinzierl IP 731 über IP, sonst nichts. Initialer, neuer Setup, alles unberührt mit Ausnahme der geposteten Zeilen.

Andi291

EInfach "update" eingeben. Nach geraumer Zeit dann noch ein shutdown restart und fertig ist der Lack.

stefan7

Wenn man weiß, wie's geht, ist es leicht ;-)
Also, autocreate läuft und füllt die config, meine Gruppenadresse 1/11 heißt in dreistellig 1/0/8, alles ist gut ;D

DatzerF

Servus Stefan,

kurze Frage, mit welchen Parametern hast Du den knxd für das Weinzierl 731 IP-Interface in der knxd.conf definiert.
Ich habe selbiges, hatte es auch schon mal am laufen, musste dann aber meinen Raspi neu aufsetzten. Jetzt bekomme ich keinen Kontakt zum knx hin.
Ein
/knxtool groupswrite ip:localhost 1/0/102 1
liefert zwar auf der Konsole
Send request
schlatet aber die Gruppenadresse nicht.
FHEM meldet den knxd wie folgt:
AckLineDef
CFGFN
Clients
:KNX:EIB:
DEF   
knxd:127.0.0.1 15.15.250
DevType
EIBD
DeviceAddress
fffa
DeviceName
knxd:127.0.0.1
FD
16
NAME
knxd
NR
66
PARTIAL
RAWMSG
C0001w106601
REFUSED
STATE
Initialized
TYPE
TUL
knxd_MSGCNT
6
knxd_TIME
2017-01-14 16:00:55

die knxd.conf und da vermute ich mein Problem sieht wie folgt aus:
KNXD_OTPS="-T -D -R -S -b ipt:192.168.1.37"

Wie sieht Deine knxd.conf aus?

Danke im Voraus
DatzerF

DatzerF

#9
Hallo allseits,

hab die passenden knxd.conf Parameter zwischenzeitlich gefunden.
Mit diesen Parametern habe ich das Weinzierl IP-Interface 731 zum laufen bekommen:
knxd.conf
KNXD_OPTS="-e xx.xx.xxx -c -u /tmp/eib -D -T -R -S -b ipt:192.168.xxx.xxx"

TUL:
eibd:localhost xx.xx.xxx

Danke
DatzerF

spooy99

Hallo, leider bekomme ich mit knxd mein Weinzierl 731 nicht zum laufen - und sorry fürs "kapern".

Wie sieht der Eintrag in der DAEMON_ARGS in der /etc/default/knxd aus?

Meiner lautet aktuell
DAEMON_ARGS= "-e 1.1.255  -u /tmp/eib -b ip:192.168.2.118"


Der Eintrag der KNXD_OPTS in der /etc/knxd.conf lt vorigem Post
KNXD_OPTS="-e 1.1.255 -c -u /tmp/eib -D -T -R -S -b ipt:192.168.2.118"


Das führt beim Neustart von KNXD zum Fehler:
/etc/init.d/knxd restart
/etc/init.d/knxd: 16: /etc/default/knxd: -e 1.1.255  -u /tmp/eib -b ip:192.168.2.118: not found
[....] Restarting knxd (via systemctl): knxd.serviceJob for knxd.service failed. See 'systemctl status knxd.service' and 'journalctl -xn' for details.
failed!


Ändere ich den Eintrag der KNXD_OPTS auf "nur"
KNXD_OPTS="-e 1.1.221 -b ipt:192.168.2.118" startet der Service ohne fehler durch - aber ich bekomme keinen Konnect im FHEM
define TUL1 TUL knxd:192.168.2.118 1.1.255
Beim define auf knxd:localhost erhalte ich einen Fehler "1"...

Danke für die Hilfe!

FHEM auf Debian unter Hyper-V, HMLAN und KNX
Sonst: Fritzbox, Yamaha RX-V2065, Fröling S4 per MQTT, Enigma, Robonect, Hue, LG

DatzerF

#11
Hallo spooy99,

ich weis zwar nicht ob das der Eintrag mit allen seinen Parameter so richtig ist oder ob die alle benötigt werden..... Aber zumindest läuft es.

KNXD_OPTS="-t 1023 -e 15.15.250 -c -u /tmp/eib -D -T -R -S -b ipt:192.168.x.xx"

Die Busadresse 15.15.250 ist im Weinzierl 731 hinterlegt / konfiguriert (Physikalische Addresse der Tunneling Verbindung). Die IP-Adresse wird ja per DHCP vom IP-Interface ermittelt, also alles auf Default bei meinem IP-Interface.

Die knxd.conf liegt direkt in /etc/ und nicht /etc/default/
Die /etc/default/knxd habe ich nicht angepasst.

Die TUL ist wie folgt definiert:
Clients --> :KNX:EIB:
DEF --> eibd:localhost 15.15.251 --> fällt mir jetzt gerade auf, dass die Addresse abweichend ist funktioniert aber trotzdem
DevType --> EIBD
NAME --> KNX
TYPE --> TUL
Attribute:
UseEIB = 0

Log:
2017.03.20 13:22:54 4: KNX: C1199w303300
2017.03.20 13:22:54 5: KNX: dispatch C1199w303300
2017.03.20 13:22:54 5: enter parse: hash: HASH(0x3013d48) name: KNX, msg: C1199w303300
2017.03.20 13:22:54 5: exit parse
2017.03.20 13:22:54 3: KNX Unknown device 3033 (3/0/51), Value 00, please define it


Hoffe es hilft
Franz