homeos/app/Services
HomeOS Bootstrap da249022cd fix(shelly): round-trip light brightness/rgb; don't hijack a reused IP (R15)
Codex R15 on the local transport:
- [P2] A light command set brightness/rgb but the normalizer stored only `on`,
  so the poll dropped them and the UI/automations went stale. The light state
  now carries brightness + rgb when the device reports them.
- [P2] ShellyLocalOnboarder matched an existing row by IP BEFORE the Shelly id,
  so a DHCP-reassigned IP could let one Shelly overwrite an unrelated device.
  Now matches by stable Shelly id first and reuses an IP row only when it's the
  same (or an unidentified) device.

+3 tests (light attrs, housekeeping dropped, IP-reuse no hijack). Suite 71 green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:51:56 +02:00
..
AddonRegistry.php feat(addons): installable integrations framework + Ring connect UI 2026-07-18 01:47:02 +02:00
AddonService.php fix(addons): atomic Ring device creation + invalidate ingest gate cache (R15) 2026-07-18 02:01:45 +02:00
AutomationEngine.php fix(automations): honor conditions + atomic cooldown claim (R15) 2026-07-18 01:15:22 +02:00
DeviceCommandService.php feat(shelly): local HTTP/RPC transport — add by IP like Home Assistant 2026-07-18 09:48:35 +02:00
HomeStatus.php Fix R15: require prod hardening in docs; drop N+1 in warnings 2026-07-17 22:03:20 +02:00
MqttCredentialProvisioner.php Fix R15: provision a per-device MQTT credential when assigning a device 2026-07-18 00:50:53 +02:00
ShellyLocalOnboarder.php fix(shelly): round-trip light brightness/rgb; don't hijack a reused IP (R15) 2026-07-18 09:51:56 +02:00
ShellyPoller.php feat(shelly): local HTTP/RPC transport — add by IP like Home Assistant 2026-07-18 09:48:35 +02:00
ShellyStatusApplier.php feat(shelly): local HTTP/RPC transport — add by IP like Home Assistant 2026-07-18 09:48:35 +02:00
SystemHealth.php Home dashboard + Host tab: device state & warnings, server status split out 2026-07-17 21:20:38 +02:00
UnifiClient.php Phase 5: UniFi presence — poll, person↔client mapping 2026-07-18 00:31:32 +02:00