homeos/database/migrations
HomeOS Bootstrap 23ef993cb2 Fix R15: per-device MQTT ACLs, monotonic presence, real-device online semantics
- ACL: drop the shared `shelly` account + `+` wildcard (allowed cross-device
  spoofing/control). Devices now authenticate with per-device credentials
  (username = topic prefix, provisioned at onboarding) bound to their own prefix
  via `pattern %u`. gen-passwd.sh creates only laravel + sidecar.
- last_seen_at is set from the message receive time (observed_at), monotonically,
  so a delayed/retried/stale ingest job can't mark a device online incorrectly.
- Device::isOnline: a real device with no last_seen is OFFLINE (never connected);
  only demo devices are assumed reachable. Added `demo` flag + presence tests.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 23:08:29 +02:00
..
0001_01_01_000000_create_users_table.php Phase 1: bootstrap — Docker stack, Laravel 13, design system, auth 2026-07-17 21:06:20 +02:00
0001_01_01_000001_create_cache_table.php Phase 1: bootstrap — Docker stack, Laravel 13, design system, auth 2026-07-17 21:06:20 +02:00
0001_01_01_000002_create_jobs_table.php Phase 1: bootstrap — Docker stack, Laravel 13, design system, auth 2026-07-17 21:06:20 +02:00
2026_07_17_201001_create_rooms_table.php Home dashboard + Host tab: device state & warnings, server status split out 2026-07-17 21:20:38 +02:00
2026_07_17_201002_create_devices_table.php Home dashboard + Host tab: device state & warnings, server status split out 2026-07-17 21:20:38 +02:00
2026_07_17_201003_create_entities_table.php Home dashboard + Host tab: device state & warnings, server status split out 2026-07-17 21:20:38 +02:00
2026_07_17_201004_create_device_states_table.php Home dashboard + Host tab: device state & warnings, server status split out 2026-07-17 21:20:38 +02:00
2026_07_17_202001_create_commands_table.php Phase 3: MQTT ingest — Mosquitto bus, Shelly driver, live device state 2026-07-17 22:51:14 +02:00
2026_07_17_203001_add_observed_at_to_device_states.php Fix R15: reject out-of-order MQTT state updates (concurrency) 2026-07-17 23:01:32 +02:00
2026_07_17_203002_add_demo_to_devices.php Fix R15: per-device MQTT ACLs, monotonic presence, real-device online semantics 2026-07-17 23:08:29 +02:00