Fix: remove via_device self-reference (breaks HA 2026.9.x MQTT discovery)

HA 2026.9.2 added strict device registry validation rejecting discovery
messages where via_device equals identifiers[0] ('A device can not be
its own via device'). ESPSomfy sets via_device = identifiers[0], causing
all cover entities to go unavailable on every ESP32 reboot.

via_device is for proxy/gateway relationships. ESPSomfy shades ARE the
ESP32 device — there is no proxy. Removing the field is semantically
correct and has no functional impact.

Fixes #32
This commit is contained in:
Ropheb 2026-09-19 15:29:11 +01:00
parent 674ee97ece
commit 9f1f8f2efe

View file

@ -1454,7 +1454,6 @@ void SomfyShade::publishDisco() {
snprintf(topic, sizeof(topic), "mqtt_espsomfyrts_%s", settings.serverId); snprintf(topic, sizeof(topic), "mqtt_espsomfyrts_%s", settings.serverId);
arrids.add(topic); arrids.add(topic);
//snprintf(topic, sizeof(topic), "ESPSomfy-RTS_%s", settings.serverId); //snprintf(topic, sizeof(topic), "ESPSomfy-RTS_%s", settings.serverId);
dobj["via_device"] = topic;
dobj["model"] = "ESPSomfy-RTS MQTT"; dobj["model"] = "ESPSomfy-RTS MQTT";
snprintf(topic, sizeof(topic), "%s/status", settings.MQTT.rootTopic); snprintf(topic, sizeof(topic), "%s/status", settings.MQTT.rootTopic);
obj["availability_topic"] = topic; obj["availability_topic"] = topic;