Overkiz / Somfy TaHoma Zigbee Groups - How Are Group Commands Handled?
I’m trying to better understand how the Overkiz integration handles Somfy Zigbee group entities and whether the integration preserves Somfy’s intended group behavior.
Environment
- Home Assistant Core 2026.x
- Overkiz Integration
- Somfy TaHoma Hub
- Somfy Sonesse 40 WireFree Zigbee battery motors
Background
Within Home Assistant, the Overkiz integration exposes both individual shade entities and what appear to be dedicated Somfy Zigbee group entities.
Examples in my installation include:
- Dining Group (6 shades)
- Kitchen Group (4 shades)
- Family Patio Group (3 shades)
- Family TV Group (3 shades)
These group entities are separate from Home Assistant cover groups that I create myself.
When I control the group entities exposed by Overkiz, performance is noticeably better than sending commands to individual shades or using a Home Assistant cover group. This suggests that some type of grouping is being preserved.
What I’m Trying to Understand
When I call:
service: cover.open_cover
target:
entity_id: cover.some_somfy_group
or
service: cover.close_cover
target:
entity_id: cover.some_somfy_group
what actually happens behind the scenes?
Specifically:
- Does Home Assistant simply send the command directly to the TaHoma group object?
- Does the Overkiz integration translate the command into multiple individual shade commands?
- Has anyone verified whether these exposed group entities represent true Somfy Zigbee groups?
Why I’m Asking
I have been discussing synchronization behavior with Somfy support. Their explanation is that dedicated Zigbee groups were created specifically to allow multiple motors to move in unison and are only exposed through third-party integrations.
Before I spend more time troubleshooting synchronization behavior, I’d like to understand whether Home Assistant is preserving the Somfy group object exactly as intended or whether there are any known limitations in how Overkiz exposes or handles these entities.
I’m not reporting a bug at this point. I’m simply trying to understand the architecture and expected behavior.
If anyone familiar with the Overkiz integration or its implementation can provide insight, I’d appreciate it.