Monitor and control iOS kiosks running Kiosker directly from Home Assistant
Keep your wall-mounted dashboards and tablets in sync with Home Assistant. This custom integration communicates with the Kiosker app API to surface live device status, expose remote navigation controls, and manage screensaver/blackout behavior without picking up the tablet.
- Live Status Monitoring: Ambient light, battery level/state, app/OS versions, last interaction and motion timestamps
- Remote Navigation: Navigate home/forward/back, refresh the page, print, clear cache/cookies, or dismiss the screensaver
- Display Management: Toggle the Kiosker blackout overlay, adjust its text/colors, or fully enable/disable the screensaver
- Multi-Device Support: Add multiple kiosks with individual polling intervals and device profiles
- Troubleshooting Friendly: Diagnostics export, detailed logging, and service calls for recovery actions
- In Home Assistant, open HACS → Integrations → Explore & Download.
- Search for Kiosker in the default list and click Download.
- Restart Home Assistant when prompted.
- Add the integration via Settings → Devices & Services.
- Download the latest release from the releases page
- Copy the
custom_components/kioskerfolder to your Home Assistantcustom_componentsdirectory - Restart Home Assistant
- Add the integration via Settings > Devices & Services
- In the Kiosker app, enable the API under Settings > Remote Admin / API
- Copy the Base URL and Access Token from the app
- In Home Assistant, go to Settings > Devices & Services > Add Integration
- Search for Kiosker and enter your credentials
- Use the provided buttons and services to control your kiosk
Full documentation is available at m7kni.io/kiosker-ha
- Home Assistant 2025.8.0 or newer
- Kiosker app with API access enabled
- Device reachable from Home Assistant on your local network (default API port:
8081)
| Entity | Description |
|---|---|
| Ambient Light | Ambient light level (lux) |
| Battery Level | Battery percentage |
| Battery State | Charging state (Charging/Unplugged/etc.) |
| Last Interaction | Timestamp of last touch/interaction |
| Last Motion | Timestamp of last detected motion |
| App Version | Kiosker app version |
| OS Version | iOS/iPadOS version |
| Device Model | Apple device model |
| Entity | Description |
|---|---|
| Screensaver Active | On when screensaver is visible |
| Screensaver Disabled | On when screensaver is disabled |
| Blackout Active | On when blackout overlay is visible |
| Entity | Description |
|---|---|
| Ping | Verify connectivity with the kiosk |
| Refresh Page | Reload the current page |
| Go Home | Navigate to the configured start page |
| Go Forward | Navigate forward in history |
| Go Back | Navigate backward in history |
| Print Page | Trigger a print of the current page |
| Clear Cache | Clear browser cache and data |
| Clear Cookies | Clear cookies |
| Dismiss Screensaver | Simulate an interaction to clear the screensaver |
The integration exposes several services under the kiosker domain:
| Service | Description |
|---|---|
kiosker.navigate_url |
Navigate the kiosk browser to a specific URL |
kiosker.set_blackout |
Show or hide the blackout overlay |
kiosker.set_screensaver |
Enable/disable the screensaver |
kiosker.set_start_url |
Update the kiosk start page URL |
Contributions are welcome! Please see the contributing guidelines for more information.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.