CCOSTAN / CCOSTAN/Home-AssistantConfig
Migrate Bedroom tablet from Fully Kiosk to Kiosk Satellite after Kitchen soak test
- Dominant language
- Python
- Stars
- 5.3k
- Forks
- 500
- PR merge metrics
- No merged PRs in 30d
Description
## Goal
Migrate the Bedroom Fire tablet from Fully Kiosk to Kiosk Satellite after the Kitchen Show proves the new stack under normal household use.
Reuse the shared clock, camera, and household-alert dashboard where practical. Preserve the Bedroom-specific bed-occupancy and screen behavior.
## Start gate
Wait for **14 consecutive days** of Kitchen use without manual recovery.
- [ ] Kiosk Satellite stays connected to Home Assistant and MQTT.
- [ ] The dashboard survives app and device restarts.
- [ ] Motion wake, idle dimming, and asleep/away screen policy behave as expected.
- [ ] Garage and package camera handoffs open and close at the right times.
- [ ] Wi-Fi administration remains available.
- [ ] Record any Kitchen fixes that the Bedroom migration must include.
Reset the 14-day clock after a fix that affects startup, authentication, MQTT, motion detection, camera views, or screen policy.
## Current Bedroom baseline
The Bedroom tablet still uses Fully Kiosk and the existing `dashboard-kiosk/kiosk_oveview` route.
`config/packages/kiosk_tablet.yaml` currently protects that tablet from drift:
- Normal wake events restore brightness or foreground focus without reloading the page.
- Fully reloads the start URL only after page drift.
- Brightness recovery checks both SleepIQ in-bed sensors.
- Home Assistant startup recovery waits for the initial state burst before acting.
The migration must preserve these behaviors or replace them with Kiosk Satellite equivalents.
## Migration plan
### 1. Confirm the device path
- [ ] Record the Bedroom tablet model, Android/Fire OS version, available storage, and camera support.
- [ ] Determine whether Kiosk Satellite can run on the existing OS.
- [ ] Prefer an in-place Kiosk Satellite install if it meets the requirements.
- [ ] Use a replacement ROM or device only when the current OS blocks required features.
- [ ] Export the Fully Kiosk settings before changing the tablet.
### 2. Prepare Kiosk Satellite
- [ ] Give the tablet a stable DHCP reservation and device name.
- [ ] Configure authenticated remote administration and wireless device management.
- [ ] Connect a dedicated non-admin Home Assistant user.
- [ ] Configure MQTT discovery with a Bedroom-specific device ID.
- [ ] Confirm camera permission and motion detection support.
- [ ] Disable Android lock-screen and battery restrictions that interfere with kiosk startup.
### 3. Reuse and promote the dashboard
- [ ] Review the Kitchen soak results before promoting the shared Kiosk Satellite dashboard from staging.
- [ ] Confirm the landscape layout fits the Bedroom tablet resolution and orientation.
- [ ] Decide whether the Bedroom uses the full Kitchen alert rotation or a smaller bedroom-focused set.
- [ ] Keep the view read-only and preserve above-the-fold camera coverage.
- [ ] Confirm the dashboard restores itself after a cold reboot and Home Assistant restart.
### 4. Replace Fully automation controls
- [ ] Map the new Kiosk Satellite screen, screensaver, navigation, camera-view, and foreground entities.
- [ ] Port the Bedroom wake and drift-recovery logic without restoring the old reload-on-motion behavior.
- [ ] Preserve SleepIQ gating for brightness and bedtime screen-off behavior.
- [ ] Add immediate policy reconciliation when the tablet reconnects.
- [ ] Keep camera overlays and screen policy in shared scripts where both kiosks use the same behavior.
### 5. Cut over with rollback available
- [ ] Disable the Bedroom Fully automation after Kiosk Satellite passes bench testing.
- [ ] Keep the Fully configuration and exported settings available during the rollback window.
- [ ] Run both Kitchen and Bedroom for seven days before removing Bedroom Fully entities or YAML.
- [ ] Remove legacy Fully references only after recorder, logbook, and live-state checks show no remaining callers.
- [ ] Update dashboard and package documentation after the final cutover.
## Acceptance criteria
- [ ] Kiosk Satellite starts after a cold reboot without touching the tablet.
- [ ] Home Assistant and MQTT entities recover after network and Home Assistant restarts.
- [ ] Motion wake and dimming work without repeated page reloads.
- [ ] The screen follows Bedroom presence and SleepIQ bedtime policy.
- [ ] Dashboard cameras and rotating alerts render without manual refresh.
- [ ] Remote administration works after USB is disconnected.
- [ ] Seven days pass without manual kiosk recovery.
- [ ] Home Assistant configuration, dashboard validation, UI smoke testing, and the strict YAML duplication check pass.
- [ ] Fully Kiosk can be removed without leaving stale entities or automations.
## Rollback
Re-enable the existing Bedroom Fully automation and restore the exported Fully settings if Kiosk Satellite loses authentication, MQTT control, motion wake, or reliable startup during the rollback window.
## Related work
- #1866 documents the retired Alexa camera-stream path and the Kitchen Kiosk Satellite replacement.
- `config/packages/kiosk_tablet.yaml` contains the current Bedroom Fully recovery and Kitchen Kiosk Satellite policies.
- `config/dashboards/kiosk_satellite_staging/` contains the shared staging dashboard.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing config/packages/kiosk_tablet.yaml and the staging dashboard in config/dashboards/kiosk_satellite_staging/, then confirm the Kitchen soak results and Bedroom device requirements. Trace the existing Bedroom Fully recovery and SleepIQ behavior before mapping the Kiosk Satellite entities. Done means the Bedroom survives the stated restart, camera, motion, screen-policy, and administration checks, passes configuration and UI validation, runs seven days without recovery, and leaves no stale Fully references.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, yaml
- Domain
- devops, frontend, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100