homeos/app
HomeOS Bootstrap 2edffadbfd feat(panel): make tiles actually control + entity naming + reorder feedback
Addresses "I arrange tiles but nothing changes":
- Demo devices have no hardware to echo a new state, so toggling looked dead.
  DeviceCommandService now simulates that echo for demo devices (writes the new
  state + broadcasts DeviceStateChanged) — the mock home is fully interactive
  (handoff §13.2). Real devices are untouched; their own status message applies.
- Panel tiles show the entity name (device · room as sub) and drive the shared
  TogglesEntities toggle; wire:loading guards double-taps.
- Drag-reorder now confirms with a "Layout saved" cue so it doesn't feel inert.

+1 test (demo toggle simulates echo; real device does not). Browser-verified:
tapping an "Aus" tile flips it to "An". Suite 52 green, 12/12 clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 08:37:17 +02:00
..
Console/Commands feat(addons): Ring backend bridge — ring-mqtt ingest, cloud devices, badge 2026-07-18 01:58:40 +02:00
Events Phase 5: UniFi presence — poll, person↔client mapping 2026-07-18 00:31:32 +02:00
Http/Controllers Phase 1: bootstrap — Docker stack, Laravel 13, design system, auth 2026-07-17 21:06:20 +02:00
Jobs feat(mqtt): Home-Assistant-style onboarding — shared account + auto-create 2026-07-18 08:20:57 +02:00
Listeners feat(automations): trigger→condition→action engine with cooldown + dry-run 2026-07-18 01:11:02 +02:00
Livewire feat(panel): make tiles actually control + entity naming + reorder feedback 2026-07-18 08:37:17 +02:00
Models feat(addons): Ring backend bridge — ring-mqtt ingest, cloud devices, badge 2026-07-18 01:58:40 +02:00
Providers feat(automations): trigger→condition→action engine with cooldown + dry-run 2026-07-18 01:11:02 +02:00
Services feat(panel): make tiles actually control + entity naming + reorder feedback 2026-07-18 08:37:17 +02:00
Support feat(sensors): window/door contacts (open/closed/tilted) from Shelly MQTT 2026-07-18 08:25:29 +02:00