Hi @fdebrus,
I’ve spent significant time diagnosing a PC-Link inventory issue and have isolated it quite precisely — hoping this detailed report helps figure out what’s going on.
Hardware:
Niko PC-Link 05-200, purchased/installed in 2004, running continuously for 23 years (minus power outages). Firmware shows as “PC Link v3.0” on the LCD at boot.
Connection chain:
PL2303 USB-serial adapter → DB9 (with RTS↔CTS and DCD↔DTR loops) → RJ12 cable → RJ45 patch (structured cabling through the house) → RJ12 → PC-Link. Home Assistant runs in a KVM VM with the PL2303 passed through via USB hostdev (libvirt). What works: - Serial connection establishes successfully (handshake completes, /dev/ttyUSB0 opens fine) - Full electrical loopback test (shorting RxD/TxD at the RJ12 connector that plugs into the PC-Link) returns sent data perfectly — confirms the entire cable chain is electrically sound - The Nikobus bus itself is alive: physical push-buttons and module “mode” buttons trigger visible LED activity on the PC-Link and on the modules - PC-Link is healthy: LCD displays correctly, clock/date accurate, “M” indicator active, Check Error = “No error”
The core problem — and a crucial discovery in the debug logs:
Running “Discover modules & buttons” always times out after 8.0 seconds with “no PC-Link response”. However, looking carefully at the debug logs, I found this:
12:28:16.283 PC-Link inventory enumeration started
12:28:16.292 Bus frame #A ← command sent + echo received
12:28:26.285 inventory-phase finalize ← timeout after 8s, integration gives up
12:28:28.202 Bus frame $10110000B8CF9D ← PC-Link responds ~12 seconds later!
The PC-Link IS responding to #A, but with a delay of approximately 12 seconds — well after the 8-second timeout. By the time the response arrives, the integration has already abandoned the discovery and the frame is treated as an orphan. This same frame $10110000B8CF9D appears identically in two separate debug log captures (taken at different times), suggesting it is always the same module responding consistently.
Questions:
1. Is the 8-second inventory timeout configurable anywhere (config entry, YAML option, or source code constant)?
2. Is $10110000B8CF9D a valid module response frame? Can you confirm whether B8CF9D is the module address?
3. Could the “PC-Link is older than Gen 3” option affect the timeout duration or response format expected?
I’m happy to run any further tests — I have full serial access and can reproduce this reliably.
Thanks for the great integration and for your time