FHEM - Hausautomations-Systeme > KNX/EIB
[gelöst] FHEM KNX Status wird nicht gelesen - Schalten geht aber
puma8080:
Hallo,
ich habe das Problem, dass mir der aktuelle Status vom KNX nicht in FHEM angezeigt wird.
Ich habe in FHM eine Lampe definiert mit
--- Code: ---define Licht_Buero KNX 10/0/0:dpt1 10/0/1:dpt1
--- Ende Code ---
welches mit list Licht_Buero dann so aussieht:
--- Code: ---Internals:
DEF 10/0/0:dpt1 10/0/1:dpt1
DEVNAME Licht_Buero
EIB_MSGCNT 6
EIB_RAWMSG C0110cw0a00101
EIB_TIME 2022-11-24 20:17:37
FIRSTGADNAME g1
FUUID 637fbcb8-f33f-0cca-d78b-dc6aed9859f36502
GETSTRING g1:noArg g2:noArg
IODev EIB
LASTInputDev EIB
MSGCNT 6
NAME Licht_Buero
NR 1821
NTFY_ORDER 50-Licht_Buero
SETSTRING g1:off,on g2:off,on
STATE on
TYPE KNX
GADDETAILS:
g1:
CODE 0a000
GROUP 10/0/0
MODEL dpt1
NO 1
OPTION
RDNAMEGET getG1
RDNAMEPUT putG1
RDNAMESET setG1
SETLIST :off,on
g2:
CODE 0a001
GROUP 10/0/1
MODEL dpt1
NO 2
OPTION
RDNAMEGET getG2
RDNAMEPUT putG2
RDNAMESET setG2
SETLIST :off,on
GADTABLE:
0a000 g1
0a001 g2
READINGS:
2022-11-24 20:17:37 getG2 on
2022-11-24 20:21:03 last-sender fhem
2022-11-24 20:21:03 setG1 on
2022-11-24 20:21:03 state on
Attributes:
IODev EIB
icon FS20.on
--- Ende Code ---
Mit set Licht_Buero on/off kann ich das Licht jetzt Ein- und Ausschalten. Funktioniert prima.
Was allerdings nicht geht, ist die Rückmeldung wenn ich das Licht am Lichtschalter Ein- und Ausschalte.
Der Status bleibt immer so stehen wie er nach dem letzten schalten bei FHEM war.
Die richtige Gruppenadressen habe ich angegeben. Bei der Überprüfung mit knxtool wird alles richtig angezeigt:
--- Code: ---pi@raspberrypi:~ $ knxtool vbusmonitor1 ip:localhost
L_Busmon: BC 11 51 50 00 E1 00 81 33 :L_Data low from 1.1.81 to 10/0/0 hops: 06 T_Data_Group A_GroupValue_Write (small) 01
L_Busmon: BC 11 0C 50 01 E1 00 81 6F :L_Data low from 1.1.12 to 10/0/1 hops: 06 T_Data_Group A_GroupValue_Write (small) 01
--- Ende Code ---
1.1.81 ist der Schalter im Büro der eine 1 in 10/0/0 schreibt um den Aktor zu schalten
1.1.12 ist Aktor der das Licht im Büro schaltet und hier eine 1 in 10/0/1 schreibt um den eingeschalteten Status zu beschreiben.
Wobei der Busmonitor immer relativ schnell seine Verbindung verliert, warum auch immer?:
--- Code: ---Read failed: Connection reset by peer
--- Ende Code ---
Warum kommt diese 1 jetzt aber nicht bei FHEM an und ändert die ausgeschaltete Lampe in eine eingeschaltete Lampe und den Status von Off nach On?
Aufgefallen im FHEM Logfile wäre mir noch, dass es so aussieht als hätte ich immer wieder eine Unterbrechung zum KNX-Bus:
--- Code: ---2022.11.24 20:34:33 3: decode_tpuart: Control Byte 0x11 does not match expected mask 2x1001nnnn
2022.11.24 20:34:33 3: TUL EIB refused message: 110e4201e3800c
2022.11.24 20:34:38 1: tul:/dev/ttyACM0@57600 disconnected, waiting to reappear
2022.11.24 20:34:44 3: TUL setting EIB baudrate to 57600
2022.11.24 20:34:44 1: TUL tul:/dev/ttyACM0@57600 reappeared (EIB)
--- Ende Code ---
Das würde auch dazu passen, dass meine Lampe wenn ich Sie durch FHEM bediene mal sofort schaltet und es mal bis zu 10s dauert, oder?
Ich hoffe es kann mir bitte jemand helfen.
Vorab schon vielen herzlichen Dank dafür.
Grüße Timo
erwin:
Hi Timo,
2 dinge sind mir aufgefallen:
1) die Rückmeldung vom Aktor (1/0/1) kommt offensichtlich an. Ich würde stateFormat auf "getG2" setzen. Das ist immer der aktuelle status der Lampe.
2) Deine Implementation ist nicht "state of the Art"....
Es gibt bekannte Schwächen des TUL Moduls, speziell mit der direkten Verbindung über Seriell/USB, wie es bei dir der Fall ist.
Scheinbar bricht die Verbindung mit dem TUL zusammen (lt. deinem Log) und dann ist durchaus möglich, dass Messages verloren gehen können.
Die Empfehlung ist daher (ich glaube seit 2018 !), falls man ein serielles KNX-GW betreibt... das über den knxd zu machen!
Da ist ab Jessie auch kein Problem mehr, man muss das NICHT mehr kompilieren, sondern nur mittels apt-get installieren.
... und FHEM verbindet man dann mittels dem KNXIO Modul - das ersetzt das seit 2018 nicht mehr gewartete TUL-Modul!.
Das der BusMonitor und FHEM ... die Verbindung verliert, ist auch klar: du greifst von knxtool (via knxd) UND FHEM gleichzeitig auf die serielle Schnittstelle zu. Eine serielle Schnittstelle kann (sinnvoll) nur von einem Programm verwendet werden! - somst gibts Probleme - wie von dir beschrieben: knxtool-fehler/TUL Verbindungsfehler!
...suche bitte im wiki KNXIO - da steht das ganz gut beschrieben...
nachdem du knxtool verwendest, musst du auch den knxd am laufen haben, daher empfehle ich als FHEM-definition:
--- Code: ---define mydev KNXIO M ....
--- Ende Code ---
- wie im wiki beschrieben und die TUL definition zu löschen..
l.g. erwin
puma8080:
Hallo Erwin,
erst einmal vielen Dank für deine Unterstützung.
Zu 1):
stateFormat auf "getG2" hat leider keine Veränderung gebracht. Der Status wird immer noch falsch angezeigt.
Zu 2):
Ich bekomme als Antwort immer:
--- Code: ---Unknown module KNXIO
--- Ende Code ---
An was kann das liegen?
Habe folgendes probiert:
--- Code: ---define myKNXGW KNXIO M localhost:3671 1.1.200
--- Ende Code ---
und
--- Code: ---define myKNXGW KNXIO M 244.0.23.12:3671 1.1.200
--- Ende Code ---
Habe ich im Wiki https://wiki.fhem.de/wiki/KNXIO#Umstellung_von_TUL_oder_KNXTUL_Modul was übersehen was ich zuerst machen muss?
Bitte entschuldige, aber ich steh gerade echt auf am Schlauch.
Grüße Timo
erwin:
--- Zitat ---An was kann das liegen?
--- Ende Zitat ---
Wann hast du zuletzt fhem update gemacht?
und richtig ist:
--- Code: ---define myKNXGW KNXIO M 244.0.23.12:3671 1.1.200
--- Ende Code ---
wobei die 1.1.200 zu deiner knxd -E definition passen sollten!
puma8080:
Hallo Erwin,
also das Update hat geholfen.
Die neue Verbindung ist da und so wie es aussieht auch verbunden:
--- Code: ---Internals:
ADDR 224.0.23.12
DEF M 224.0.23.12:3671 1.1.200
DeviceName 224.0.23.12:3671
FD 4
FUUID 6380bca0-f33f-0cca-fb63-8dcef9c8deb965cf
MULTICAST 1
NAME myKNXGW
NR 1647
PARTIAL
PORT 3671
PhyAddr 011c8
STATE connected
SVN 26687 2022-11-12 21:43:22
TYPE KNXIO
eventCount 1
model M
msg_count 171
msg_time 2022-11-25 14:29:45
nextOpenDelay 10
KNXIOhelper:
FIFOMSG C01164w0b20000
FIFOTIMER 0
FIFO:
READINGS:
2022-11-25 14:19:11 state connected
Attributes:
room KNX_IO
--- Ende Code ---
Meine Lampe habe ich neu angelegt:
--- Code: ---Internals:
CFGFN
DEF 10/0/0:dpt1 10/0/1:dpt1
DEVNAME Licht_Buero
FIRSTGADNAME g1
FUUID 6380c2b2-f33f-0cca-a48e-0b90d7e92cbd2fd6
GETSTRING g1:noArg g2:noArg
IODev myKNXGW
NAME Licht_Buero
NR 1675
SETSTRING on:noArg off:noArg g1:on,off,toggle g2:on,off,toggle
STATE getG2
SVN 26686 2022-11-12 21:41:59
TYPE KNX
eventCount 9
model dpt1
GADDETAILS:
g1:
CODE 0a000
GROUP 10/0/0
MODEL dpt1
NO 1
OPTION
RDNAMEGET getG1
RDNAMEPUT putG1
RDNAMESET setG1
SETLIST :on,off,toggle
g2:
CODE 0a001
GROUP 10/0/1
MODEL dpt1
NO 2
OPTION
RDNAMEGET getG2
RDNAMEPUT putG2
RDNAMESET setG2
SETLIST :on,off,toggle
GADTABLE:
0a000 g1
0a001 g2
READINGS:
2022-11-25 14:27:14 IODev myKNXGW
2022-11-25 14:29:06 last-sender fhem
2022-11-25 14:29:06 setG1 on
2022-11-25 14:29:06 state on
Attributes:
room Buero
stateFormat getG2
--- Ende Code ---
Neues Problem:
Ich kann jetzt auch nicht mehr schalten! :-\ :'(
Kannst du bitte noch einmal helfen?
Danke & Gruß
Timo
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln