CUL DISCONNECTED/CONNECTED manuell provoziert, aber kein Empfang mehr

Begonnen von SuperJojo2001, 16 November 2019, 18:22:21

Vorheriges Thema - Nächstes Thema

SuperJojo2001

Ich lasse mein FHEM auf nem Ubuntu-Rechner mit CUL und nem Homematic-System laufen.

Alle 3-4 Tage bekommt das FHEM keine Empfangsdaten mehr vom CUL. Im Rechner-Log mit dem Befehl "dmesg -T" sehe ich, das sich der CUL kurz vom USB abgemeldet hat.


[Sa Nov 16 15:44:37 2019] usb 1-3: USB disconnect, device number 15
[Sa Nov 16 15:44:37 2019] cdc_acm 1-3:1.0: failed to set dtr/rts
[Sa Nov 16 15:44:37 2019] usb 1-3: new full-speed USB device number 64 using xhci_hcd
[Sa Nov 16 15:44:37 2019] usb 1-3: New USB device found, idVendor=03eb, idProduct=204b, bcdDevice= 0.00
[Sa Nov 16 15:44:37 2019] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[Sa Nov 16 15:44:37 2019] usb 1-3: Product: CUL868
[Sa Nov 16 15:44:37 2019] usb 1-3: Manufacturer: busware.de
[Sa Nov 16 15:44:37 2019] cdc_acm 1-3:1.0: ttyACM0: USB ACM device


Ein Neustart vom FHEM bring das ganze wieder in Gang.

Jetzt habe ich mal meinen CUL mal manuell abgezogen und wieder angesteckt, quasi um den Effekt zu simulieren. Und dabei habe ich den FHEM-Log mitlaufen lassen.

div class='fhemlog'>2019.11.16 17:52:06.660 1 : /dev/serial/by-id/usb-busware.de_CUL868-if00 disconnected, waiting to reappear (CUL_0)</div><div class='fhemlog'>2019.11.16 17:52:06.660 5 : Starting notify loop for CUL_0, 1 event(s), first is DISCONNECTED</div>2019-11-16 17:52:06.661 CUL CUL_0 DISCONNECTED
2019.11.16 17:52:06.661 5 : End notify loop for CUL_0
2019.11.16 17:52:09.340 3 : Setting CUL_0 serial parameters to 38400,8,N,1
2019.11.16 17:52:09.441 5 : SW: V
2019.11.16 17:52:09.443 5 : CUL/RAW (ReadAnswer): V 1.67 CUL868
2019.11.16 17:52:09.443 5 : SW: ?
2019.11.16 17:52:09.445 5 : CUL/RAW (ReadAnswer): ? (? is unknown) Use one of A B b C e F G h i K k L l M m N R T
2019.11.16 17:52:09.445 5 : CUL/RAW (ReadAnswer): t U u V W X x Y Z </div><div class='fhemlog'>2019.11.16 17:52:09.446 5 : Starting notify loop for CUL_0, 1 event(s), first is cmds:  A B b C e F G h i K k L l M m N R T t U u V W X x Y Z</div>2019-11-16 17:52:09.446 CUL CUL_0 cmds:  A B b C e F G h i K k L l M m N R T t U u V W X x Y Z
2019.11.16 17:52:09.446 5 : End notify loop for CUL_0
2019.11.16 17:52:09.446 3 : CUL_0: Possible commands: ABbCeFGhiKkLlMmNRTtUuVWXxYZ
2019.11.16 17:52:09.446 5 : SW: X21
2019.11.16 17:52:09.447 5 : SW: Ar
2019.11.16 17:52:09.449 5 : SW: T01
2019.11.16 17:52:09.455 5 : CUL/RAW (ReadAnswer): 1234 </div><div class='fhemlog'>2019.11.16 17:52:09.455 5 : GOT CUL fhtid: 1234</div><div class='fhemlog'>2019.11.16 17:52:09.456 5 : Starting notify loop for CUL_0, 1 event(s), first is Initialized</div>2019-11-16 17:52:09.456 CUL CUL_0 Initialized
<div class='fhemlog'>2019.11.16 17:52:09.456 5 : End notify loop for CUL_0</div><div class='fhemlog'>2019.11.16 17:52:09.456 1 : /dev/serial/by-id/usb-busware.de_CUL868-if00 reappeared (CUL_0)</div><div class='fhemlog'>2019.11.16 17:52:09.456 5 : Starting notify loop for CUL_0, 1 event(s), first is CONNECTED</div>2019-11-16 17:52:09.456 CUL CUL_0 CONNECTED


Man sieht, das der CUL beim Einstecken wieder angemeldet wird und der Status CONNECTED erreicht wird. Dennoch empfängt FEHM keine Daten mehr und das Log-File bekommt keine neuen CUL Einträge wenn ich z.B. mal einen Rolladen-Aktor manuell betätige und dieser normaler Weise seine Position an den CUL mitteilt.

Kann es sein das hier etwas in FEHM oder im CFG File noch etwas ergänzt werden muss, damit automatisch nach einem erkannten Disconnect des CUL die Kommunikation wieder einwandfrei läuft?

Danke

SuperJojo2001

SuperJojo2001

Nachtrag: der manuelle Befehl "set CUL_0 reopen" bringt den CUL wieder ans laufen.

Weil ich nicht weiß was meinen CUL letztendlich vom USB-Bus immer wieder abmeldet - und einen Hardwaredefekt will ich nicht ausschliessen - habe ich mir nun andersweitig geholfen.

Ich setzt ein notify auf und wann immer FHEM den CUL als wieder "CONNECTED" erkennt, lasse ich den FHEM server einfach wieder neu starten.

define CUL_0_RESET notify CUL_0:CONNECTED* { \
    fhem("shutdown restart");; \
  }

Das hilft und nun kann ich den CUL einfach mal probeweise abziehen und wieder anstecken und alles wird wieder neu initialisiert. Ich weiß das ist nicht die beste Lösung, aber die praktikabelste.

Gruß