Skip to content

fix: complete VRF device_info fix started in #338 — sub-units still share one HA device#454

Open
ItayGo wants to merge 1 commit into
RobHofmann:masterfrom
ItayGo:fix/vrf-device-info
Open

fix: complete VRF device_info fix started in #338 — sub-units still share one HA device#454
ItayGo wants to merge 1 commit into
RobHofmann:masterfrom
ItayGo:fix/vrf-device-info

Conversation

@ItayGo
Copy link
Copy Markdown

@ItayGo ItayGo commented May 22, 2026

Problem

For Gree multi-split VRF gateways (one WiFi module controlling multiple indoor units, e.g. GR-Gcloud), all indoor units were grouped under a single shared HA device. This made it impossible to assign individual units to different rooms/areas.

Root cause: device_info used _mac_addr (the gateway MAC, shared by all sub-units) instead of _sub_mac_addr (the unique per-unit sub-MAC).

This is a continuation of #338, which fixed unique_id in climate.py to use _sub_mac_addr but left device_info in climate.py and both unique_id + device_info in entity.py still using the gateway MAC.

Changes

  • climate.py: device_info identifiers now use self._sub_mac_addr instead of self._mac_addr
  • entity.py: both _attr_unique_id and device_info identifiers now use self._device._sub_mac_addr

Result

Each VRF indoor unit appears as its own separate HA device and can be assigned to its own room/area independently.

Migration note for existing users

If you already have a multi-split VRF setup configured, after updating you will see a lingering ghost shared device (the old combined device with the gateway MAC). HA will keep it around because it was previously in your device registry.

To clean it up: go to Settings → Devices & Services → Devices, find the old shared Gree device (it will have no active entities), and delete it. The 5 individual devices will remain unaffected.

Tested on

  • Gree VRF gateway (GR-Gcloud type) with 5 indoor units, sub-MACs in subMAC@gatewayMAC format
  • Home Assistant OS 17.3 / HA Core 2026.5.3

In a multi-split setup (subMAC@gatewayMAC), all indoor units share
the same device_info identifier (the gateway MAC). HA treats them
as entities of one single device, so assigning the device to an
area moves all units together — it is impossible to put each unit
in its own room.

The same bug affects unique_id in GreeEntity, which also used the
gateway MAC, causing entity conflicts across units.

Fix: use _sub_mac_addr (the indoor unit MAC) as the device
identifier and unique_id base in both climate.py and entity.py.
Each indoor unit now registers as its own independent HA device
and can be assigned to a different area individually.

Note: after deploying this fix, delete the old shared ghost device
that HA will leave behind in Settings > Devices.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant