Manual Alarm, Template Alarm, or Alarmo?

Finally all my door, window, and flood sensors and smoke detectors are on HA. It’s time to get to setting up an alarm system.

After reading documentation and various articles I am still confused what’s the best way to set up Home Alarm in HA. My needs are simple, pretty much identical to the out-of-the-box SmartThings alarm:

  1. Disarmed/Armed Home/Armed Away modes which I can toggle via UI or on time (e.g. Arm Home at midnight, disarm at 6a)
  2. Any contact or motion sensor would trigger alarm when Armed Away; any contact (but not motion) sensor would trigger alarm when Armed Home
  3. Flood sensors and smoke detectors would trigger alarm always
  4. If any contact sensor is open when arming, notify which one(s) were open and still arm
  5. When alarm is triggered:
    • Notify to iPhone in a way which bypasses silent/focus/etc - either critical push alert or SMS from a fixed number (which can be added to contacts/set as emergecy bypass)
    • State which sensor was triggered and the timestamp.

Bonus:

  1. Notify if a sensor goes offline while armed
  2. Notify if HAAS is down/lost internet (other options than HA cloud)

Many recommend Alarmo, but it seems abandoned 2 years ago. Is it good idea for this use case? If not, is there a better way than manually creating dozens of automations which may not work because I accidentally omit or confuse something?

What is the best way to proceed?

Yeah, that definitely isn’t the case.

I DON’T use Alarmo but rather went with a manual alarm since I wanted very basic functionality. Alarmo seems like it might work well for you though? A lot of folks really like it; just seemed like an equal amount of work for my needs and my hope is that a manual alarm is less likely to have an unexpected breaking change in the future.

Yeah not sure where you got that idea, the last commit to the Alamo repository was only two weeks ago.

Alarmo is very simple to set up and try. So try that one first, it’s also easy to remove if it is not for you.

I’ve been using it without issue since it was released.

1 Like

Alarmo is great, well designed and the author is reactive. It’s certainly not dead.

I was an early adopter, but I have now stopped using it. Late last year, when I updated HA, I forgot to update Alarmo at the same time. It seemed to run fine at first, no errors in the logs, UI was up fine, so I didn’t think much of it. Only that it failed to perform actions when something triggered the alarm. I would not get notifications when the alarm could not be armed, and a triggered alarm would do nothing (no sirens, no notification, no camera recording). It took me a while to realize this. My entire alarm system was non-functional for over 2 weeks without me noticing. I updated Alarmo and everything was fine again.

But that episode showed me how fragile this entire setup was. And I decided I needed something more robust for an important system as the alarm. I have since moved the entire alarm logic outside of HA. If Alarmo was part of core, I would probably consider using it again though, as it is super convenient.

I use Alarmo too - very happy with it. My only slight reservation is that “actions” are defined outside the normal automation/script framework, which sometimes makes troubleshooting a little tricky.

1 Like

I still use my own automations. Alarmo presents a number of triggers:

  alias: Alarm Arming
  trigger:
    platform: state
    entity_id: alarm_control_panel.alarmo
    to: arming
  alias: Alarm Armed
  trigger:
    platform: state
    entity_id: alarm_control_panel.alarmo
    to:
      - armed_away
      - armed_night
  alias: Alarm Away Disarmed
  trigger:
    platform: state
    entity_id: alarm_control_panel.alarmo
    from: armed_away
    to: disarmed
  alias: Alarm Night Disarmed
  trigger:
    platform: state
    entity_id: alarm_control_panel.alarmo
    from: armed_night
    to: disarmed
  alias: Alarm Triggered
  trigger:
    platform: state
    entity_id: alarm_control_panel.alarmo
    to: triggered
1 Like

My “actions” just run scripts, but there have been a couple of “Hang on… what?” moments.

Thanks for this insight. I went with the Manual Alarm. I was able to create automations for arming, disarming, and triggering alarm with a reasonable amount of effort. It seems to work.

The unexpected challenge is finding out which sensor triggered the alarm and including that into the notification. I found forum threads spanning years where people are discussing if this is even possible.

Has anyone been able to add triggering sensor name to the alarm notification?

Yep, very easy. Here’s my notification:

service: notify.ben_s_devices
data:
  message: The {{ trigger.from_state.attributes.friendly_name }} has been triggered!
  title: ALARM
  data:
    channel: Alarm
    importance: high
    clickAction: /lovelace/safety
    ttl: 0
    priority: high
    car_ui: true

The extra things are to set the channel (which I have set on my phone to ignore DND, etc.) as well as to make sure the notification pops up immediately and in the car if I’m currently using Android Auto.

Hm… I did

service: notify.mobile_app_iphone
data:
  message: Intrusion! {{ trigger.from_state.attributes.friendly_name }}

And got “Intrusion! Home Alarm” which is the Manual Alarm panel name rather than sensor name. It’s probably because the trigger in the automation which sends out the notification is “When Home Alarm changes to Triggered”. I suppose I could send notification from the automation triggered by sensors. But then it would seem to negate the value of having Manual Alarm in the first place.

Correct. I have my notifications handled in my ‘trigger the alarm’ automation and then handle how the house responds in my 'the alarm was triggered ’ automation.

Thanks for the tip! I removed the Manual Alarm completely, added a helper toggle “Alarm”, and created an automation to send notification when a sensor trips off while the toggle is On. Works great! An way simpler - a single automation instead of a half dozen when Manual Alarm is used!

I suppose Manual Alarm may come handy if arming/disarming is done via a physical panel inside the house rather than via app and time is needed to exit after arming and to disarm after entering.

But if arming/disarming is done via an app, it seems to add no value. It just complicates automations.

Why did you need so many automations? I have 2: one to trigger the alarm (and notify me what specifically triggered it) and one to do whatever actions in the house (not even necessary to have a second automation, but it worked well/seemed cleaner for my specific setup).

I considered using just a helper as well, but I like the way the manual alarm looks in the UI and having multiple armed modes (away, home and night).

You are right, it could have been as simple with the Manual Alarm. I used Manual Alarm documentation as a recipe and it separates alarm triggering from the action when alarm is triggered, also it deals with the pending state. I could have had just one automation with the Home Alarm as well.

And now I added 3 more:

  1. Critical notification when smoke or flood sensor trips (unconditional)
  2. A script to check if all doors and windows are closed when arming (and every night at 11:30p) and notify if not
  3. Notification if any sensor becomes unavailable

I think I have a near-equivalent of the SmartThings out-of-the-box alarm now! The final todo is to account for scenario where an intruder manages to cut off the internet before tripping an alarm (e.g. by snapping optical cable). But that’s probably a separate question/topic.

Thanks all!