From 9f1f8f2efec16b916fbf36d912bb71c3f5934f13 Mon Sep 17 00:00:00 2001 From: Ropheb Date: Sat, 19 Sep 2026 15:29:11 +0100 Subject: [PATCH] Fix: remove via_device self-reference (breaks HA 2026.9.x MQTT discovery) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/Somfy.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Somfy.cpp b/src/Somfy.cpp index 70ba179..20cc19b 100644 --- a/src/Somfy.cpp +++ b/src/Somfy.cpp @@ -1454,7 +1454,6 @@ void SomfyShade::publishDisco() { snprintf(topic, sizeof(topic), "mqtt_espsomfyrts_%s", settings.serverId); arrids.add(topic); //snprintf(topic, sizeof(topic), "ESPSomfy-RTS_%s", settings.serverId); - dobj["via_device"] = topic; dobj["model"] = "ESPSomfy-RTS MQTT"; snprintf(topic, sizeof(topic), "%s/status", settings.MQTT.rootTopic); obj["availability_topic"] = topic;