1

Install the HACS integration

Via HACS (recommended)

  1. In Home Assistant, go to HACS → Integrations → ⋮ → Custom repositories
  2. Add https://github.com/domoretechnet/allarise-hacs and select Integration as the category
  3. Find Allarise in the HACS store and click Download
  4. Restart Home Assistant

Manual install

  1. Copy custom_components/allarise/ into your HA config/custom_components/ directory
  2. Restart Home Assistant
ℹ️ HACS must be installed in your Home Assistant instance. If you haven't set it up yet, visit hacs.xyz for installation instructions.
2

Set up your MQTT broker

Create a dedicated MQTT user for the Allarise app and restrict it to only the topics it needs. This keeps the app isolated from the rest of your broker.

Step 2a — Create a dedicated user

Open Settings → Add-ons → Mosquitto broker → Configuration and add a login under the logins key:

Mosquitto broker config
logins:
  - username: allarise
    password: "your_secure_password"
customize:
  active: true
  folder: mosquitto

Save and restart the Mosquitto add-on after making this change.

3

Connect the Allarise app

In the Allarise iOS app, go to Settings → Home Assistant Integration and turn it on, then tap MQTT Settings. The app separates broker configuration into two sections — one for when you're on your home network, and one for when you're away.

MQTT Identity

Topic Prefixallarise (default) — must match what you enter in the HA integration in Step 4
Device NameiPhone (default) — change this to identify multiple phones; must also match Step 4
Allow Inbound CommandsEnable to allow supported Home Assistant automations to create alarms, request alerts, and send alarm actions when app and iOS conditions allow

Internal Broker — used on home WiFi

Your Mosquitto broker running locally on Home Assistant. Plain connection, no TLS, traffic stays on your LAN.

HostYour HA local IP (e.g. 192.168.1.100) or hostname (e.g. homeassistant.local)
Port1883

External Broker — used away from home

Used when not on a home WiFi network. The app always enforces TLS for external connections. You'll need port 8883 forwarded on your router and pointing to your Home Assistant machine.

HostYour external hostname (e.g. mqtt.yourdomain.com) — must have a valid TLS certificate
Port8883
Always Use ExternalOptional — bypasses home network detection and always connects to the external broker
ℹ️ If you only use Allarise at home, you can leave the External Broker fields blank entirely.

Authentication

The same username and password are used for both brokers.

UsernameThe MQTT username you created in Step 2a (e.g. allarise)
PasswordThe password you set in Step 2a

Home WiFi Networks

Add your home WiFi network name(s) so the app can decide when to use the internal broker instead of the external one. Broker selection is designed to switch automatically when you leave or return home, based on the network information available to iOS.

  1. Tap Add Network
  2. Type your network name exactly, or tap Use Current Network to fill it in automatically
  3. Repeat for any additional home networks (e.g. separate 5 GHz and 2.4 GHz SSIDs)
📍 WiFi name detection requires Location permission on iOS. This is only used to read the network name — the app does not track your location.

Test your connection

Once all fields are filled in, tap Test Connection in the Authentication section. A green "Connected!" indicates the app was able to reach your broker at the time of the test.

🛠 Use the MQTT Payload Builder to generate and test payloads for any command before wiring up automations.
4

Add the integration in Home Assistant

  1. Go to Settings → Devices & Services → Add Integration
  2. Search for Allarise and select it
  3. Enter the Device Name and MQTT Topic Prefix — these must exactly match what is set in the Allarise app
ℹ️ Defaults: Device Name = iPhone · Topic Prefix = allarise. You can add multiple devices by adding one integration entry per phone.
5

What you get

Once connected, the integration is designed to create a main dashboard device and one sub-device per alarm, with entities you can use in automations, dashboards, and scripts.

📊

Sensors

Alarm state, name, fire time, snooze count, app version, sleep sound volume, and more.

🔘

Buttons

Dismiss, snooze, skip, unskip, and kill snoozed — available on the dashboard device and each per-alarm device.

🔁

Switches

Master arm toggle, per-alarm enable/disable, alert vibrate, and alert media loop.

🔊

Media Player

Play audio or TTS directly to the phone via play_media and media_announce.

🚨

Notify

Send an alert to the phone from supported HA automations using the notify service.

Per-Alarm Devices

Each alarm can appear in Home Assistant with its own related entities and supported controls for time, days, sound, snooze, and more.

🌙

Sleep Sounds

Start, stop, pause, or change white noise and ambient sounds on the phone from supported automations when app and iOS conditions allow.

🔐

Arm Widget

A switch entity that is designed to reflect the app's arm toggle, so Home Assistant can react to that state.

Commands

Fire named commands from the app's alarm screen to trigger supported HA automations, including dismiss, snooze, swipe actions, and custom widget buttons.

📖 See the reference sections below for the full entity list, services, example automations, and MQTT topic details.
Reference
📊

Entities & devices

Dashboard sensors

These sensors appear on the main Allarise dashboard device in Home Assistant.

SensorDescription
Alarm Stateidle / ringing / snoozed / dismissed
Alarm NameName of the currently ringing or next upcoming alarm
Alarm MissionMission type required to dismiss (shake, math, ha, none)
Alarm Fire TimeScheduled fire time of the active or next alarm
Alarm Snooze Fire TimeWhen a snoozed alarm will re-fire
Alarm SoundSound ID playing for the active alarm
Alarm VolumeVolume % for the active alarm
Alarm VibrateWhether vibration is enabled
Alarm Fade InWhether fade-in is active
Alarm NotesNotes attached to the active alarm
Alarm IDMQTT index of the active alarm
Alarm Snooze CountNumber of times the current alarm has been snoozed
Snoozes RemainingSnoozes left before alarm is force-dismissed
Alarm CountNumber of active (enabled) alarms
App VersionAllarise app version string
Broker ConnectionMQTT connection state reported by the app
Alert VolumeVolume used for HA-triggered alert alarms (%)
Alert SoundDefault sound for HA alert alarms
Alert VibrateWhether HA alert alarms vibrate
Alert Loop MediaWhether media audio loops during HA alerts
Alert Loop DelaySeconds between media audio loops
Quick AlarmActive quick alarm state
Quick Alarm Fire TimeWhen the quick alarm fires
Quick Alarm LabelLabel of the quick alarm
Quick Alarm CountNumber of active quick alarms
Sleep Sound VolumeCurrent sleep sounds volume (%)

Binary sensor

SensorDescription
App Onlineon when the iOS app is connected to the broker

Per-alarm sensors

For each alarm you create in the app, a dedicated HA device is created containing:

Name · Enabled · State · Fire Time · Snooze Fire Time · Days · Mission · Sound · Snoozes · Volume · Vibrate · Fade In · Notes · Sort Order · Commands · Swipe Left/Right Commands

Buttons

Dashboard buttons are intended to act on the currently active alarm:

ButtonAction
Dismiss AlarmDismiss the ringing or snoozed alarm
Snooze AlarmSnooze the ringing alarm
Skip AlarmSkip the next upcoming fire for the active alarm
Unskip AlarmRemove the skip flag from the next alarm
Delete Next AlarmDelete the next alarm in the queue
Kill Snoozed AlarmImmediately end a snoozed alarm session
Sleep Sound Stop / Pause / ResumeControl sleep sounds playback

Per-alarm buttons appear on each alarm's device: Dismiss · Snooze · Skip · Unskip · Kill Snoozed · Delete

Switches

SwitchDescription
ArmMaster arm/disarm toggle (HA is source of truth)
Alarm N — EnabledEnable or disable a specific alarm
Alert VibrateToggle vibration for HA alert alarms
Alert Loop MediaToggle media looping for HA alert alarms

Media player

Exposes a media player entity for playing audio or TTS to the phone. Supports play_media, media_announce, volume_set, and a Loop Media switch and Alert Volume number entity.

Play TTS via media player
service: media_player.play_media
target:
  entity_id: media_player.allarise_iphone
data:
  media_content_id: media-source://tts/cloud?message=Good+morning
  media_content_type: music
Set alert volume (0–100)
service: number.set_value
target:
  entity_id: number.allarise_iphone_alert_volume
data:
  value: 80
Enable media looping for alert alarms
service: switch.turn_on
target:
  entity_id: switch.allarise_iphone_alert_loop_media

Notify

Send an alert to the phone using the standard HA notify service:

Send a full-screen alert
service: notify.allarise_iphone
data:
  title: "Door Alert"
  message: "Front door opened"
  data:
    sound: "Perimeter_Breach"
    volume: 0.8
    media_url: "http://your-ha.local:8123/local/doorbell.mp3"
🌙

Sleep sound controls

Sleep sounds (white noise, rain, fan, etc.) can be started, stopped, paused, resumed, and adjusted remotely from supported Home Assistant automations or scripts when app and iOS conditions allow. The current sound name and volume are published as sensors on the dashboard device and can also be surfaced in Home Assistant dashboards.

Dashboard sensors

SensorDescription
Sleep SoundName of the currently playing sound, or none
Sleep Sound VolumeCurrent playback volume as a percentage

Dashboard buttons

Three buttons appear on the main dashboard device for quick control:

ButtonAction
Sleep Sound StopFully stop playback and release the audio session
Sleep Sound PauseMute audio while keeping the session alive (lock screen controls remain visible)
Sleep Sound ResumeUnmute and resume from where it was paused

Commands

All sleep sound commands are sent via MQTT to the app's command topic. Available sounds: Brown_Noise, white_noise, Fan, Light_Rain, Summer_Rain, Sea_Waves, Mountain_Stream, Rainforest_Birds.

Start a sleep sound
topic: allarise/iphone/command/sleep_sound_start
payload: |
  {
    "sound": "Brown_Noise",
    "volume": 60,
    "duration_minutes": 30,
    "fade_out_minutes": 5
  }

Payload keys (all optional except the command itself):
sound — sound name (defaults to first available if omitted)
volume — 0–100 (defaults to 50)
duration_minutes — play for N minutes, max 720; omit for indefinite
until_next_alarmtrue to stop automatically when the next alarm fires
fade_out_minutes / fade_out_seconds — fade-out duration before stopping

Change sound without stopping
topic: allarise/iphone/command/sleep_sound_change
payload: {"sound": "Sea_Waves"}
Adjust volume while playing
topic: allarise/iphone/command/sleep_sound_set_volume
payload: {"volume": 40}
Stop playback
topic: allarise/iphone/command/sleep_sound_stop
payload: {}
💡 Use until_next_alarm: true in sleep_sound_start to have the app attempt to stop white noise when the next alarm fires, without requiring a separate automation.
⚙️

Services

allarise.update_alarm

Modify an alarm by index or name. All fields except device_name are optional — only the fields you include will be changed.

allarise.update_alarm
service: allarise.update_alarm
data:
  device_name: iPhone        # optional if only one device
  name: "Work Alarm"         # target by name (or use index)
  time: "07:30"
  enabled: true
  days: [1, 2, 3, 4, 5]     # 0=Sunday … 6=Saturday
  sound: "Alarm_Clock"
  volume: 0.8
  snooze_duration: 9
  max_snooze_count: 3
  notes: "Team meeting at 9am"
  morning_weather: true      # show Morning Weather card after dismissing

allarise.trigger_alert

Request an alert alarm on the phone when app and iOS conditions permit.

allarise.trigger_alert
service: allarise.trigger_alert
data:
  device_name: iPhone
  title: "Motion Detected"
  message: "Front camera triggered"
  sound: "Perimeter_Breach"
  volume: 0.9
  media_url: "http://ha.local:8123/local/alert.mp3"

allarise.dismiss

Dismiss the currently ringing or snoozed alarm.

allarise.dismiss
service: allarise.dismiss
data:
  device_name: iPhone

allarise.snooze

Snooze the currently ringing alarm.

allarise.snooze
service: allarise.snooze
data:
  device_name: iPhone

allarise.skip

Skip the next fire of the next upcoming alarm.

allarise.skip
service: allarise.skip
data:
  device_name: iPhone
🤖

Example automations

Re-enable a work alarm on Sunday evening

automation.yaml
automation:
  alias: "Re-enable work alarm on Sunday"
  trigger:
    - platform: time
      at: "20:00:00"
  condition:
    - condition: time
      weekday: [sun]
  action:
    - service: allarise.update_alarm
      data:
        name: "Work Alarm"
        enabled: true

Alert phone when front door opens at night

automation.yaml
automation:
  alias: "Front door night alert"
  trigger:
    - platform: state
      entity_id: binary_sensor.front_door
      to: "on"
  condition:
    - condition: time
      after: "22:00:00"
      before: "06:00:00"
  action:
    - service: allarise.trigger_alert
      data:
        title: "Front Door"
        message: "Front door opened"
        sound: "Perimeter_Breach"
        volume: 1.0

Auto-snooze when leaving the bedroom

automation.yaml
automation:
  alias: "Auto snooze when leaving bedroom"
  trigger:
    - platform: state
      entity_id: sensor.allarise_iphone_alarm_state
      to: "ringing"
  action:
    - delay: "00:00:30"
    - condition: state
      entity_id: binary_sensor.bedroom_presence
      state: "off"
    - service: allarise.snooze
      data:
        device_name: iPhone

Turn on bedroom lights 5 minutes before alarm

automation.yaml
automation:
  trigger:
    - trigger: time_pattern
      minutes: /1
  condition:
    - condition: template
      value_template: >
        {% set alarm = states('sensor.YOUR_DEVICE_alarm_fire_time') | as_datetime | as_local %}
        {% set diff = (alarm - now()).total_seconds() %}
        {{ 240 <= diff <= 360 }}
  action:
    - action: light.turn_on
      target:
        entity_id: light.YOUR_LIGHT
  mode: single
📡

MQTT topic structure

All topics follow the pattern {prefix}/{device}/…. With default settings, prefix is allarise and device is iphone.

DirectionTopic patternDescription
App → HAallarise/iphone/sensor/{key}Dashboard sensor values
App → HAallarise/iphone/alarm/{n}/{key}Per-alarm sensor values
App → HAallarise/iphone/availabilityApp online/offline
App → HAallarise/iphone/arm/stateArm state
HA → Appallarise/iphone/command/{cmd}Dashboard commands
HA → Appallarise/iphone/alarm/{n}/command/{cmd}Per-alarm commands
HA → Appallarise/iphone/arm/commandArm command
🛠 Use the MQTT Payload Builder to interactively construct and copy payloads for any of these topics.