home-assistant / home-assistant/core
GetDeviceList only returns first UDP packet — devices beyond ~15 are silently dropped
- Dominant language
- Python
- Stars
- 90.5k
- Forks
- 38.6k
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 597
Description
### The problem
**Setup:** 16 blinds paired to one gateway (deviceType `02000001`, ProtocolVersion `0.9`).
`GetDeviceList()` returns 14 blinds. The remaining 2 never appear in Home Assistant.
**Cause:** Read comments below ~~The gateway splits `GetDeviceListAck` across two datagrams. And `_send` returns after a single `recvfrom`, so the second is discarded.~~
Raw socket capture (listening until timeout instead of returning after one read):
packet 1 — 896 bytes — GetDeviceListAck — 15 entries (gateway + blinds 0002..000f)
packet 2 — 237 bytes — GetDeviceListAck — 2 entries (blinds 0010, 0011)
Both packets share the same `mac`, `deviceType`, `ProtocolVersion` and `token`.
Entries are ~51 bytes each, so 16 devices total ~1130 bytes — past what this
gateway puts in one datagram. Distinct from the buffer-size fix in HA 2022.03
(home-assistant/core #65575); this is packet count, not buffer size!
My gateway (deviceType 02000001, ProtocolVersion 0.9) splits `GetDeviceListAck` at 896 bytes / 15 entries, below the 921-byte threshold, so the loop exits with the second datagram (237 bytes, 2 entries) unread. Both datagrams are complete, valid JSON with identical token and mac, this is not truncation.
Suggested fix: in `GetDeviceList`, keep reading until the socket times out and
concatenate `data` from every `GetDeviceListAck` matching the first reply's
token/mac, deduping by device MAC.
motionblinds <0.6.30>, via HA .
### What version of Home Assistant Core has the issue?
core-2026.9.1
### What was the last working version of Home Assistant Core?
_No response_
### What type of installation are you running?
Home Assistant OS
### Integration causing the issue
motion_blinds
### Link to integration documentation on our website
https://www.home-assistant.io/integrations/motion_blinds
### Diagnostics information
_No response_
### Example YAML snippet
```yaml
```
### Anything in the logs that might be useful for us?
```txt
```
### Additional information
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.