allarise/iphone/command/create_alarm
Required
:
Time of day for the alarm
Alarm Details
None selected = one-time alarm
A one-shot Quick Alarm: it fires once, then deletes itself. It gets no per-alarm HA entities, but shows in the Quick Alarm dashboard sensors.
A name you choose for an alarm your automation owns. It does not rename or renumber anything — the alarm's HA entities still use the normal MQTT alarm index. Send the same MQTT ID again and the alarm is updated in place instead of duplicated, so an automation that re-runs leaves you with one alarm rather than a new one each time. Leave it blank and every create makes a new alarm.
Cap: the app refuses a new alarm once 50 alarms created over MQTT already exist, and says so in its log. iOS limits how many pending alarms an app can hold, and alarms you set by hand have to fit inside it too. Delete ones you no longer need with delete_alarm, or reuse an MQTT ID so repeat runs update instead of create. Alarms made in the app are never counted and never refused.
Audio
Matches the app's own picker: Off, a 30-second fade, or 1–15 minutes.
The name of a station you have favourited in the app (Sleep Sounds → Radio → heart), matched ignoring capitalisation. The exact names are published to HA by the Radio Stations Available sensor on the dashboard device. Blank leaves it unchanged; send "" to clear it.
Snooze
Duration is 1–30 minutes and Max Count is 0–20, where 0 means unlimited snoozes. Hold durations are 0.5–30 seconds. Send something outside a range and the app pulls it to the nearest end and notes it in its log — the alarm is still created, so nothing else in your payload is lost.
Skip
Mission
1 + Empty
2 + Empty
3 + Empty
4 + Empty
5 + Empty
Missions run in order. Slot 1 alone sends mission; two or more send missions, the full ordered sequence. Leave all empty for a plain tap-to-dismiss alarm.
After Alarm
Steps that run once the alarm is fully dismissed. Pick a step to reveal its settings; leave every slot empty to keep whatever the alarm already has.
1 + Empty
2 + Empty
3 + Empty
4 + Empty
Steps run in slot order. Open App Link always runs last — it leaves Allarise, so nothing can follow it.
Alarm Home Screen
Swipe commands run one of your custom commands when you swipe this alarm's card left or right on the app's home screen (it replaces the usual duplicate/delete swipe for that direction, and asks before running). Names must match commands that already exist in the app — create them in the app or with create_command.
JSON Payload
{}

HA Automation Action


              
            
Target
Shown at the bottom of the alarm's edit screen in the app, as "MQTT Alarm Index". Also the {N} in that alarm's Home Assistant entities.
Fields to Update (leave blank to skip)
:
Select days to set them; clear all = leave days unchanged
The name of a station you have favourited in the app (Sleep Sounds → Radio → heart), matched ignoring capitalisation. The exact names are published to HA by the Radio Stations Available sensor on the dashboard device. Blank leaves it unchanged; send "" to clear it.
Mission
1 + Empty
2 + Empty
3 + Empty
4 + Empty
5 + Empty
Missions run in order. Slot 1 alone sends mission; two or more send missions, the full ordered sequence. Leave all empty for a plain tap-to-dismiss alarm.
After Alarm
Steps that run once the alarm is fully dismissed. Leave everything blank to change nothing.
1 + Empty
2 + Empty
3 + Empty
4 + Empty
Steps run in slot order. Open App Link always runs last — it leaves Allarise, so nothing can follow it.
Setting this alone surfaces the Notes step, as it always has. Send "" to clear it and remove the step.
Command names must already exist in the app.
Home-screen swipe gestures — the command runs when you swipe the alarm's card left or right on the app's home screen. Leave blank to keep what the alarm already has.
JSON Payload
{}

HA Automation Action


                
              
Native name targeting: The app resolves the alarm name directly — no HA template required. Just send "name": "Your Alarm" and the app finds the matching alarm (case-insensitive). All the same fields as By Index are available.
Target Alarm
Case-insensitive. Resolved directly by the app — no template required.
Fields to Update (leave blank to skip)
:
Select days to set them; clear all = leave days unchanged
The name of a station you have favourited in the app (Sleep Sounds → Radio → heart), matched ignoring capitalisation. The exact names are published to HA by the Radio Stations Available sensor on the dashboard device. Blank leaves it unchanged; send "" to clear it.
Mission
1 + Empty
2 + Empty
3 + Empty
4 + Empty
5 + Empty
Missions run in order. Slot 1 alone sends mission; two or more send missions, the full ordered sequence. Leave all empty for a plain tap-to-dismiss alarm.
After Alarm
Steps that run once the alarm is fully dismissed. Leave everything blank to change nothing.
1 + Empty
2 + Empty
3 + Empty
4 + Empty
Steps run in slot order. Open App Link always runs last — it leaves Allarise, so nothing can follow it.
Setting this alone surfaces the Notes step, as it always has. Send "" to clear it and remove the step.
Command names must already exist in the app.
Home-screen swipe gestures — the command runs when you swipe the alarm's card left or right on the app's home screen. Leave blank to keep what the alarm already has.
JSON Payload
{}

HA Automation Action


                
              
Tip: No templates or HACS integration required. The app resolves the alarm name natively. Paste this YAML directly into a script or automation action block.
Target — provide index OR label
From sensor.allarise_{device}_alarm_{N}_name or the Alarm ID sensor
— or —
Matches the alarm's name (case-insensitive). Index takes priority if both are set.
Destructive: There is no confirmation. The alarm is removed from SwiftData immediately. Use the per-alarm Delete button entity in HA instead if you want a button that's always scoped to the right alarm.
JSON Payload
{}

HA Automation Action


              
            
Required
Also used to reference this command in alarm_screen_commands
Appearance
Any SF Symbol works — the list above is only a shortcut. Browse and copy exact names from Apple's SF Symbols gallery. A symbol this iOS version doesn't know renders as nothing.
Everything from Sky Blue down was added in app 5.x. An older app ignores an unrecognised name and keeps the command's current colour.
Custom RGB overrides the color name if both are set
Behavior
When this command fires from the alarm screen, optionally change the armed state at the same time — arm arms the device, disarm disarms it, toggle flips whatever it currently is. Useful for commands like "Lock Front Door" that should also arm the alarm.
JSON Payload
{}

HA Automation Action


              
            
What this does: Deleting a command removes it from the app's command list permanently. Any alarms that reference it by name (alarm screen buttons, swipe gestures) will lose that association. The corresponding HACS button entity for this command will also disappear — any HA automations triggering that entity will break. Use with care; there is no undo.
JSON Payload
{}

HA Automation Action


              
            
Required
Optional
Authenticated media? Use the allarise.notify HA service or a TTS action instead — those run inside Home Assistant and can fetch authenticated URLs before sending. Raw MQTT payloads cannot include HA auth tokens.
http:// or https:// only. The button opens in the browser, so a custom app scheme (myapp://, homeassistant://) is left off the alert card with only a line in the app's log — the alert itself still shows. To open another app, use a per-alarm App Link (dismiss_app_uri / snooze_app_uri) instead.
JSON Payload
{}

HA Automation Action


              
            
Tip: These actions are also available as button entities in the Allarise HACS integration (Dismiss Alarm, Snooze Alarm, Skip Alarm, etc.) which expose real-time availability. Use raw MQTT for automations where the button entity availability isn't guaranteed.
Tip: Each alarm in the HACS integration has its own set of button entities — Dismiss, Snooze, Skip, Unskip, Kill Snoozed, and Delete — already wired to the same topics. Use raw MQTT here when you need to target a specific alarm index directly in an automation without relying on button entity availability.
Optional ts — "only if this is still fresh". Any JSON payload may carry ts, the unix epoch second you sent it ({"ts": {{ now().timestamp() | int }}} in a template). The app ignores a command whose ts is more than 60 seconds off, so a dismiss that was delayed or replayed does not land at the wrong moment. Since the 2026-08-03 app update this check applies on these per-alarm topics and the plain switch commands as well, not just the dashboard command topics. It stays optional: leave ts out and the command runs whenever it arrives, exactly as before, and a bare ON / OFF payload has no ts to check.
Open the alarm in the app and scroll to the bottom — the index is shown there as "MQTT Alarm Index". It is also the {N} in each alarm's Home Assistant entities, e.g. sensor.allarise_{device}_alarm_{N}_name.
Sound & Volume
Omit to keep the app's last-used sound.
Accepts 0–100 integers or 0.0–1.0 floats.
Sets the device's hardware media volume (volume buttons / Control Center). Independent of the sleep sound volume above.
Fade-Out
Delays playback so it starts on the next multiple of this interval — useful for keeping several devices in step. Minimum 5.
Duration Mode
Until Next Alarm — plays until the next scheduled enabled alarm fires (replaces "until morning alarm").
Topic
JSON Payload

              
            
HA Automation YAML

              
            
🔊 Set Volume sleep_sound_set_volume
HA Automation YAML

          
        
Cross-Fade to New Sound
Changes the playing sound without stopping playback. An equal-power crossfade is applied for a seamless transition.
Topic
JSON Payload

            
          
HA Automation YAML

            
          
Station
Which stations can I use? Only the ones you have favourited in the app (Sleep Sounds → Radio → the heart icon). Type the station's name exactly as it appears in your favourites — matching ignores capitalisation. "WDET" below is just an example; use whatever yours are called.

Home Assistant can see the list too: the app publishes it on sensor/radio_stations_available, and the HACS integration turns that into a Radio Station dropdown, which is easier than typing names.

Station UUID is the id radio-browser.info gives each station. You almost never need it — a name is enough. It only helps if you have two favourites with the same name.

Not favourited? Use the stream URL field instead. Any direct stream works and nothing has to be saved in the app first.
Matched against the device's favourites, case-insensitively. The app publishes the full list on sensor/radio_stations_available.
Takes precedence over the name above. No favourite required — any stream works.
Only used with a stream URL. Defaults to "Radio".
The playback level — the same one the Sleep Volume slider controls. Leave blank to inherit the current sleep-sound volume.
Sets the device's hardware media volume (volume buttons / Control Center). Independent of the radio volume above.
Sleep Timer
Ignored when "until next alarm" is on. Max 720 (12 h).
Topic
JSON Payload

            
          
HA Automation YAML

            
          
radio_start is ignored while an alarm is ringing — the app keeps the alarm's audio session.
🔔 Alert Volume

The volume used for HA-triggered alert alarms. Reported back on sensor/media_alert_volume; also settable via the media player entity's volume.


          
        
📳 Alert Vibrate

Whether HA-triggered alert alarms vibrate the phone. Mirrored by the Alert Vibrate switch in HACS.


          
        
🔁 Alert Loop Media

Whether media audio loops during HA alerts. Mirrored by the Alert Loop Media switch in HACS.


          
        
⏱ Alert Loop Delay

Seconds of silence between media loops during an HA alert. The payload is the bare number — no JSON.


          
        
⚡ App Persistence

Background keep-alive mode. Dynamic keeps the app awake only while charging or near an alarm. The app reports the chosen mode on sensor/app_persistence_mode and the live on/off residency on sensor/app_persistence.


          
        
Once the app has fully suspended (Off, or Dynamic while asleep), it cannot hear the command to wake it — change modes while the app is reachable.
🎨 Appearance & Theme

Switch the app between light, dark and system appearance, and optionally select a theme by name.


          
        
🔊 System Volume

Sets the device's hardware media volume — the one the volume buttons control. Reported back on sensor/system_volume; the HACS integration exposes it as the System Volume slider.