Skip to content

[Core/ZHA] Investigate child device support #73

Description

@TheJulianJES

EDIT: See PR:

Other integrations like Shelly in Home Assistant support sub-devices. So, a two-gang relay/switch is exposed as two sub devices.
This is something we should look into for ZHA.

Some outstanding questions:

  • How many Zigbee devices use multiple endpoints when they should not?
  • Can this be done automatically or are explicit quirks definitions needed?
  • ...

Activity

  1. moved this to Triage in ZHAon Dec 10, 2025
  2. Hedda commented on Jan 21, 2026

    @Hedda

    I believe this could also be very relevant to ESPHome-based Zigbee devices now that such are possible since ESPHome 2026.1.0

    ESPHome at least have native sub-device support for allow creating multiple sub-devices within a single ESP controller for logical entity grouping in Home Assistant:

    ESPHome supports creating sub-devices within a single ESP controller. This allows you to group entities into logical devices that appear separately in Home Assistant. This is particularly useful when:

    • One ESP acts as a hub/gateway for multiple physical devices (RF bridges, Modbus devices, etc.)
    • A single ESP controls multiple zones or rooms
    • You want better organization of entities in Home Assistant
  3. Hedda commented on Jan 21, 2026

    @Hedda

    ESPHome at least have native sub-device support for allow creating multiple sub-devices within a single ESP controller:

    Sub-device support was by the way initially added in 2025.7.0 and the release notes for that goes into some details how it function:

    Sub-Device Support

    Note

    New Feature: Entities can now be organized into logical sub-devices, enabling better organization
    and area management in Home Assistant.

    ESPHome now supports sub-devices, a powerful new feature that allows you to logically group entities from a single
    physical ESPHome device into multiple virtual devices within Home Assistant. This is particularly useful for complex
    setups where one ESP32 controls sensors or actuators in different areas of your home.

    Use cases and benefits:

    • Multi-room sensors - One ESP32 with temperature sensors in different rooms can appear as separate devices per room

    • Complex automation hubs - A single ESP32 controlling lights, fans, and sensors across multiple areas

    • Better Home Assistant organization - Entities automatically appear in the correct areas and can be managed
      independently

    • Cleaner dashboards - Related entities are grouped together logically rather than by physical device

    How it works:

    You can assign entities to sub-devices using the new device_id configuration option. First, define your devices
    in the devices section under esphome:, then reference them in individual entities.

    Example configuration:

    esphome:
      name: multi_room_controller
    
      # Define areas (optional)
      areas:
        - id: living_room_area
          name: "Living Room"
        - id: bedroom_area
          name: "Bedroom"
    
      # Define devices
      devices:
        - id: living_room_device
          name: "Living Room Sensors"
          area_id: living_room_area
        - id: bedroom_device
          name: "Bedroom Sensors"
          area_id: bedroom_area
    
    # Assign sensors to different devices
    sensor:
      - platform: dht
        pin: GPIO4
        temperature:
          name: "Living Room Temperature"
          device_id: living_room_device
        humidity:
          name: "Living Room Humidity"
          device_id: living_room_device
    
      - platform: dht
        pin: GPIO5
        temperature:
          name: "Bedroom Temperature"
          device_id: bedroom_device
        humidity:
          name: "Bedroom Humidity"
          device_id: bedroom_device

    In this example, Home Assistant will see two separate sensor devices (one for living room, one for bedroom)
    even though they're controlled by a single ESPHome device.

    This feature enhances the logical organization of your smart home while maintaining the efficiency of
    centralized ESPHome device management.

  4. moved this from Triage to Later in ZHAon Oct 10, 2026
  5. changed the title [-][Core/ZHA] Investigate sub-device support[/-] [+][Core/ZHA] Investigate child device support[/+] on Oct 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Fields

    Priority

    ➡️ Normal

    Size

    🦑 Large

    Area

    HA CoreZHA

    Projects

    • Status
      Later

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions