Description
During startup, ebusd fails to load the scan config file for a Vaillant VR 71 mixer module (address 0x26) whose ID ends with an underscore character.
The device identifies itself as:
MF=Vaillant; ID=" VR_"; SW=3731; HW=0302
After trimming leading spaces and lowercasing, ebusd resolves the ID to vr_. The config file 26.vr_71.csv is present in the config directory, but ebusd reports:
unable to load scan config 26: no file from vaillant with prefix 26 matches ID "vr_", SW3731, HW0302
Actual behavior
The file 26.vr_71.csv is not loaded. The matching algorithm in scan.cpp strips trailing digits from the filename ID to find a match, but stops immediately when it encounters '' (not a digit), so it never reduces "vr_71" to "vr" for comparison.
Expected behavior
The file 26.vr_71.csv should be loaded, since removing the trailing digits "71" from the filename ID yields "vr_", which matches the device ID exactly.
ebusd version
26.1
ebusd arguments
-d enh:/dev/ebus --scanconfig --latency=200 --httpport=8080 --mqtthost=mosquitto --mqttport=1883 --mqttint=/etc/ebusd/mqtt-hassio.cfg --mqttjson --inject FF08070400/0AB50509484D553030030905035103 --inject FF15070400/0AB5050943544C5633030808038004 --inject FF26070400/0AB5050956525F3731030201030503 --inject FF76070400/0AB5050956575A494F030905035103
Operating system
Debian 13 (Trixie) / Ubuntu 24-25 / Raspberry Pi OS 13
CPU architecture
arm64
Dockerized
latest
Hardware interface
Adapter Shield v5/C6/Stick via USB
Related integration
No response
Logs
2026-05-11 21:28:21.250 [bus notice] scan 26: ;Vaillant; VR_;3731;0302
2026-05-11 21:28:21.250 [update notice] store 26 ident: done
2026-05-11 21:28:21.250 [update notice] received scan-read scan.26 QQ=ff: Vaillant; VR_;3731;0302
2026-05-11 21:28:23.324 [main error] unable to load scan config 26: no file from vaillant with prefix 26 matches ID "vr_", SW3731, HW0302
Description
During startup, ebusd fails to load the scan config file for a Vaillant VR 71 mixer module (address 0x26) whose ID ends with an underscore character.
The device identifies itself as:
MF=Vaillant; ID=" VR_"; SW=3731; HW=0302
After trimming leading spaces and lowercasing, ebusd resolves the ID to
vr_. The config file26.vr_71.csvis present in the config directory, but ebusd reports:unable to load scan config 26: no file from vaillant with prefix 26 matches ID "vr_", SW3731, HW0302
Actual behavior
The file 26.vr_71.csv is not loaded. The matching algorithm in scan.cpp strips trailing digits from the filename ID to find a match, but stops immediately when it encounters '' (not a digit), so it never reduces "vr_71" to "vr" for comparison.
Expected behavior
The file 26.vr_71.csv should be loaded, since removing the trailing digits "71" from the filename ID yields "vr_", which matches the device ID exactly.
ebusd version
26.1
ebusd arguments
-d enh:/dev/ebus --scanconfig --latency=200 --httpport=8080 --mqtthost=mosquitto --mqttport=1883 --mqttint=/etc/ebusd/mqtt-hassio.cfg --mqttjson --inject FF08070400/0AB50509484D553030030905035103 --inject FF15070400/0AB5050943544C5633030808038004 --inject FF26070400/0AB5050956525F3731030201030503 --inject FF76070400/0AB5050956575A494F030905035103
Operating system
Debian 13 (Trixie) / Ubuntu 24-25 / Raspberry Pi OS 13
CPU architecture
arm64
Dockerized
latest
Hardware interface
Adapter Shield v5/C6/Stick via USB
Related integration
No response
Logs
2026-05-11 21:28:21.250 [bus notice] scan 26: ;Vaillant; VR_;3731;0302
2026-05-11 21:28:21.250 [update notice] store 26 ident: done
2026-05-11 21:28:21.250 [update notice] received scan-read scan.26 QQ=ff: Vaillant; VR_;3731;0302
2026-05-11 21:28:23.324 [main error] unable to load scan config 26: no file from vaillant with prefix 26 matches ID "vr_", SW3731, HW0302