FHEM - Hausautomations-Systeme > KNX/EIB

[gelöst] FHEM KNX Status wird nicht gelesen - Schalten geht aber

(1/3) > >>

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