CUL 868 funktioniert nur ein paar Sekunden

Begonnen von persching, 01 Oktober 2021, 15:35:38

Vorheriges Thema - Nächstes Thema

persching

Hallo zusammen,
ich betreibe meine aktuelle Konfiguration schon rund 2 Jahre relativ unverändert (NUC; CUL von busware; docker-image für fhem, mqtt, mysql, nodered). Diese Woche ging mir ein MAX Fensterkontakt kaputt und ich hatte die Idee da vielleicht auf Z-Wave umzustellen. Also einen Z-Wave Stick bestellt und damit haben die Probleme angefangen. Ich habe meiner docker-compose "zigbee2mqtt" hinzugefügt und dann festgestellt, dass ich bei 2 Sticks das Problem der Zuordnung habe. Also habe ich verschiedenes probiert und aktuell erstmal wieder nur den CUL für die MAX Komponenten dran. Dem wird als Device /dev/ttyACM0 zugewiesen und das kann ich sowohl beim Ubuntu des Servers sehen, als auch im Docker-Container -> Zuordnung passt schonmal. Jetzt ist es aber so, dass der Stick entweder nicht initialisiert wird, oder nach kurzer Zeit bekommt man bei den credit10ms "no answer". Dann hilft aktuell den Stick zu ziehen, "shutdown restart" und erst danach den Stick wieder zu stecken. Dann wird er initialisiert und nach kurzer Zeit (wenn die Credits fast bei 0 sind) ist der Stick wieder nicht mehr erreichbar.
Ich hatte bis gestern die culfw 1.61 drauf und dort die dann mit 3600 als Creditlimit ausgestattet. Ich dachte vielleicht bringt ein FW Update etwas, weil die ja doch schon sehr alt ist. Also hab ich auf 1.67 hoch geflashed (jetzt also wieder 900 Credits) und bis vorhin lief alles wieder. Dann hab ich mal ein reboot probiert, ob immer noch alles funktioniert und seit dem bekomme ich jetzt nichts mehr zum laufen. :(

Hier die Auszüge aus dem Logfile:
Zitat2021.10.01 15:19:57.960 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:19:52.949 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:19:52.934 1: Cannot init /dev/ttyACM0, ignoring it (CUL_0)
2021.10.01 15:19:49.930 3: CUL_0: Unknown code U u V W X x Y Z, help me!
2021.10.01 15:19:43.912 3: CUL_0: Unknown code ? (�� is unknown) Use one of A 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, help me!
2021.10.01 15:19:43.792 3: Setting CUL_0 serial parameters to 9600,8,N,1
2021.10.01 15:19:43.648 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:19:43.626 1: /dev/ttyACM0 disconnected, waiting to reappear (CUL_0)
2021.10.01 15:19:40.623 3: CUL_0: Unknown code ? (�� is unknown) Use one of A 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, help me!
2021.10.01 15:18:10.619 2: cm, CUL_0 not enough credit! credit10ms is 21, but we need 110. Waiting 89 seconds. Currently 6 messages are waiting to be sent
2021.10.01 15:18:03.563 1: /dev/ttyACM0 reappeared (CUL_0)
2021.10.01 15:18:03.541 3: CUL_0: Possible commands: ABCeFGhiKkLlMmNRTtUuVWXxYZ
2021.10.01 15:18:03.419 3: Setting CUL_0 serial parameters to 9600,8,N,1
2021.10.01 15:17:59.602 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:54.596 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:49.583 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:44.581 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:39.578 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:34.571 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:29.563 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:24.556 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:19.545 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:14.535 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:09.034 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds
2021.10.01 15:17:04.025 1: cm, Send Queue error CUL CUL_0 did not answer request for current credits. Waiting 5 seconds

Hat jemand eine Idee woran es liegen könnte?

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

persching

Wie schon gesagt: physikalisch hängt derzeit nur der CUL am Server. Auch zigbee2mqtt ist in der docker-compose auskommentiert. Ich hab den Stick versucht per /dev/serial/by-id zu mappen und direkt per /dev/ttyACM0, das ändert aber nichts an dem verhalten. Ich hab den Stick eben mal an meine 2. FHEM Instanz im Heizraum gesteckt und dort gibt es kein disconnect...

Beta-User

Also zum einen solltest du immer und ausschließlich "by-id" Adressen verwenden, wenn es mehrere geben kann.

Und zum anderen: Kann es sein, dass du die Schnittstelle gewechselt hast? Eventuell kommen die aktuellen Probleme dann von USB3 her (falls der NUC noch sowohl als auch hat)?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

persching

Ich hab mittlerweile alle Schnittstellen mal durchprobiert. Ebenso hab ich es mit und ohne USB Verlängerung probiert. Aber ich konnte keinen Unterschied feststellen. Ich kann ja auch mit "lsusb" den Stick im Hostsystem noch finden, selbst wenn die Verbindung in FHEM nicht mehr funktioniert.

Zitatdirk@homeserver:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0aa7 Intel Corp.
Bus 001 Device 010: ID 03eb:204b Atmel Corp. LUFA USB to Serial Adapter Project
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
dirk@homeserver:~$ ls -lah /dev/serial/by-id
total 0
drwxr-xr-x 2 root root 60 Okt  1 16:01 .
drwxr-xr-x 4 root root 80 Okt  1 16:01 ..
lrwxrwxrwx 1 root root 13 Okt  1 16:01 usb-busware.de_CUL868-if00 -> ../../ttyACM0
dirk@homeserver:~$

während ein "list CUL_0" in fhem folgendes ausgibt:
Zitat

Internals:
   CMDS       ABCeFGhiKkLlMmNRTtUuVWXxYZ
   CUL_0_MSGCNT 5
   CUL_0_TIME 2021-10-01 16:23:08
   Clients    :FS20:FHT.*:KS300:USF1000:BS:HMS:FS20V: :CUL_EM:CUL_WS:CUL_FHTTK:CUL_HOERMANN: :ESA2000:CUL_IR:CUL_TX:Revolt:IT:UNIRoll:SOMFY: :STACKABLE_CC:TSSTACKED:STACKABLE:CUL_RFR::CUL_TCM97001:CUL_REDIRECT:
   DEF        /dev/ttyACM0@9600 0000
   DeviceName /dev/ttyACM0@9600
   FHTID      0000
   FUUID      5c49a049-f33f-e65d-2bb0-641230cd6c9d8353
   FVERSION   00_CUL.pm:0.248150/2021-08-01
   NAME       CUL_0
   NR         9
   NR_CMD_LAST_H 1
   RAWMSG     U u V W X x Y Z
   RSSI       -57.5
   STATE      opened
   TYPE       CUL
   VERSION    V 1.67 CUL868
   devioNoSTATE 1
   initString X21
   Helper:
     DBLOG:
       cmds:
         logdb:
           TIME       1633098172.08815
           VALUE       A 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
       credit10ms:
         logdb:
           TIME       1633100756.30986
           VALUE      No answer
       state:
         logdb:
           TIME       1633098188.27908
           VALUE      UNKNOWNCODE U u V W X x Y Z
   MatchList:
     0:FS20V    ^81..(04|0c)..0101a001......00[89a-f]...
     1:USF1000  ^81..(04|0c)..0101a001a5ceaa00....
     2:BS       ^81..(04|0c)..0101a001a5cf
     3:FS20     ^81..(04|0c)..0101a001
     4:FHT      ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     5:KS300    ^810d04..4027a001
     6:CUL_WS   ^K.....
     7:CUL_EM   ^E0.................$
     8:HMS      ^810e04......a001
     9:CUL_FHTTK ^T[A-F0-9]{8}
     A:CUL_RFR  ^[0-9A-F]{4}U.
     B:CUL_HOERMANN ^R..........
     C:ESA2000  ^S................................$
     D:CUL_IR   ^I............
     E:CUL_TX   ^TX[A-F0-9]{10}
     F:Revolt   ^r......................$
     G:IT       ^i......
     H:STACKABLE_CC ^\*
     I:UNIRoll  ^[0-9A-F]{5}(B|D|E)
     J:SOMFY    ^Y[r|t|s]:?[A-F0-9]+
     K:CUL_TCM97001 ^s[A-F0-9]+
     L:CUL_REDIRECT ^o+
     M:TSSTACKED ^\*
     N:STACKABLE ^\*
   READINGS:
     2021-10-01 16:22:52   cmds             A 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
     2021-10-01 17:05:56   credit10ms      No answer
     2021-10-01 16:23:08   state           opened
     2021-09-30 13:02:54   version         V 1.67 CUL868
   XMIT_TIME:
     1633098172.13239
Attributes:
   mqttName   CUL_MAX
   mqttRoom   Schnittstellen
   rfmode     MAX
   room       System->Schnittstellen->MAX


persching

#5
Ich habe heute morgen schon wieder einiges probiert:
1. Aktiver USB Hub eingebaut (2A Versorgung für 4 Ports, nur der eine mit dem CUL belegt)
2. Original FW auf 3600 Credits gesetzt. Funktioniert bis alle Geräte abgefragt sind. Dann sind die Credits irgendwo bei 900 und es wird in dem Moment erstmal nix mehr gesendet. Danach ist Schluss und das Gerät ist nicht mehr erreichbar.
3. Alternative culfw ebenfalls mit 3600 Credits und unnötigem Zeug auskommentiert (Hörmann). Selber Effekt wie unter 1.
4. ein at programmiert, was alle 2s ein get CUL_0 credit10ms ausführt. Bei der Zahl ca. bei 900 keine Reaktion vom CUL mehr. Logfile gibt dann diesen Eintrag raus:

Zitatcul_0_get_credits_at: Unknown argument credits10ms, choose one of ccconf:noArg cmds:noArg credit10ms:noArg fhtbuf:noArg raw uptime:noArg version:noArg

ich bin wirklich am verzweifeln... :(

EDIT: Empfangen werden die Nachrichten der Thermstate. Die Credits bleiben gleich, aber valveposition und desiredTemperature werden übermittelt, wenn ich am Thermostat drehe.

persching

Ich habe scheinbar das Problem lösen können:

Nach vielen googlen habe ich folgenden Beitrag hier aus dem Forum gefunden: https://forum.fhem.de/index.php/topic,121927.msg1166880.html#msg1166880 und genau das scheint die Lösung zu sein. Nachdem ich TTY_BUFSIZE ebenfalls auf 256 gesetzt habe, neu compiliert und geflashed habe, funktioniert wieder alles wie vor wenigen Tagen. Ich lass das jetzt mal 24h laufen und wenn es immer noch läuft, dann setze ich das Thema auf "gelöst".

:)

persching