Notifications¶
Notifications come from your own Home Assistant, over the app's own connection to it. There is no third-party push service and no developer-operated relay in the path.
How delivery works¶
When you named the device during setup, HKI 7 registered with Home Assistant the same way the official companion app does. That gives you a notify service:
service: notify.mobile_app_<device_name>
data:
title: Doorbell
message: Someone is at the front door
HKI 7 listens for those calls on its live connection and turns them into Android notifications.
While the app is open, delivery rides the app's normal websocket. Nothing extra is needed.
While the app is closed, you need Background notifications (Settings › Notifications), which keeps a persistent connection to Home Assistant. This uses more battery, which is why it is a switch rather than a default.
Multiple homes
Background notifications are required as soon as more than one home is set to receive notifications — a single foreground connection is what makes several servers deliverable at once. Each home's notification setting is managed under Settings › Connection.
The connection notification¶
Android requires a visible notification for a persistent foreground connection. HKI 7's is on its own "Notification connection" channel, so you can turn just that channel off in Android's settings and keep everything else. The Hide Connection Notification button in Settings › Notifications takes you straight there. The connection keeps working; only its notification disappears.
Supported payload fields¶
HKI 7 mirrors the official app's behaviour for the common fields:
| Field | Behaviour |
|---|---|
title |
Notification title |
message |
Notification text. The literal value clear_notification cancels the notification with the matching tag instead of showing anything |
data.tag |
Groups a notification so a later one with the same tag replaces it, and so clear_notification can cancel it |
data.channel |
Which Android notification channel to post on |
data.clickAction |
Where tapping the notification body goes |
data.sticky |
Keeps the notification from being dismissed by a tap |
data.actions |
Buttons on the notification — see below |
Action buttons¶
data.actions puts buttons on a notification. Most entries fire a
mobile_app_notification_action event back to Home Assistant when tapped — the same event the
official app fires, so automations written for the official companion app work unchanged.
service: notify.mobile_app_kitchen_tablet
data:
title: Front door
message: Someone is at the door
data:
actions:
- action: UNLOCK_DOOR
title: Unlock
- action: URI
title: Open camera
uri: /lovelace/cameras
- action: REPLY
title: Reply
Two action names are reserved and behave differently:
URI-
Opens the
uridirectly instead of firing an event. REPLY-
Shows an inline text input. Home Assistant's cross-platform spelling,
behavior: textInput, does the same thing.
Any action_data you attach is echoed back inside the fired event, so an automation can tell
which door the tap was about.
Actions work from inside the app too
Tapping an action on an entry in the in-app notification history fires exactly the same
mobile_app_notification_action event the notification shade would.
The notification panel¶
Swipe right from the upper-left edge to open the notification panel. It has:
- Unread — arrived and not yet seen.
- History — read, but still around.
- Archived — kept deliberately.
- Events — a live timeline of what the house has been doing. See Event timeline.
Per-entry actions are mark unread, archive and delete, plus mark-all-read.
Retention¶
Non-archived entries are purged 48 hours after arrival. Archived entries are kept indefinitely. The unread badge counts unread, non-archived entries only — and deliberately ignores the Events tab entirely, because a feed of doors opening would leave the badge permanently lit and drain it of any meaning.