[Custom Component] Alarmo - browser managed alarm system

Does anyone knows if it’s possible to enable or disable Arm modes from within a flow. For example, if I make a button in my HA where I say that I am on holiday, then:

  • add_user holiday to the alarm panel with a code for the person looking after the house (this is possible)
  • Enable the alarm mode vacation from within this flow and disable the alarm modes, armed_home and armed_away, so this cannot be enabled by accident.

I know it’s easy to do this in the interface, but I am wondering if it’s possible to do this from within a flow. So not enabling or disabling the alarm (that’s possible), but enabling or disabling the ability to use certain alarms like armed_home.

This is a very nice project, thank you!!

I have one question: Is it possible to use this as a “master” for another alarm control?
Here is what I mean: I have a SimpliSafe system (got for free, no subscription) and via their API, it presents itself as alarm panel in Home Assistant.

Now I am building my own system with Alarmo but I would still like to integrate it in the following way:

  • When the SimpliSafe panel gets armed (e.g., via their remote or app), Alarmo should also be armed
  • When I arm the system with Alarmo, SimpliSafe should also be armed. I would like to automatically pass the PIN code which is required for this action
  • If there is an alarm event in the SimpliSafe panel, this should also trigger the alarm in the Alarmo panel
  • I only want to “see” the Alarmo panel … the SimpliSafe stuff should just be controlled behind the scenes

Is this possible?

EDIT: The first and second point I figured out via Actions :slight_smile: (the former as HA actions, the latter as Alarmo actions). What’s missing is how I can use the Alarm event of a different alarm panel (SimpliSafe) as an alarm trigger for Alarmo

Create a template binary_sensor from the SimpliSafe sensor. You can then include that as a trigger sensor in Alarmo.

1 Like

first: great plugin, thank you! but i have a small problem. when i disarm the alarm, all my lights (except in the bathroom) switch on. i do not use an “at home” mode, i just arm and disarm the alarm. how can i avoid switching on all lights in the house when i come home?

thank you for your help in advance

This is not something Alarmo would do on its own, it should be configured to do this.
It seems you have some automation linking the alarm state to the lights.
Otherwise in the alarmo panel under ‘actions’ it’s possible to configure lights to turn on based on the alarm state.

i’m sorry - you are completly right. i’ve just found the responsible automation!

Great idea, thanks!

One question: Alarmo by default does not show tamper sensors. Each contact sensor for example, usually has tamper. Yes, I can add them but it’s cumbersome.

I’d expect that tamper should also generate an alarm.

What is the reason that Alarmo does not include the tamper sensors by default?

Generally tamper sensors are included in a 24 hour area, so they will trigger even if the normal home/away areas are disarmed.

So in the case of Alarmo which doesn’t have a dedicated 24hr area in-built, you can just include the tamper sensors in both your away and home areas to cover most of the time.

Can you elaborate a bit more on this? What is a 24 hour area?

Yes, I could manually add all tamper sensors but it’s painful because I have so many of them and, since they are not automatically “recognized” by Alarm I have to get into the properties of each and check the Away/Home zones. That’s the reason why I am asking if this intentional or not.

How are these tamper sensors SUPPOSED to work with Alarmo or maybe not at all?

Maybe I should create a helper group containing all my tamper sensors and only add that one to Alarmo?

In HA the tamper sensors should be separate binary_sensor entities which indeed have to be included in Alarmo separately as well.
Alarmo uses the device class property of a binary_sensor to determine its type.
If the type is correct, Alarmo should automatically map it as tamper type sensor, which is active in all arm modes but not while the alarm is disarmed. This can be overridden by setting the ‘always on’ setting, which is originally intended for smoke detectors and such.

In the commercial alarm system world we call the ‘modes’ Areas. So what Alarmo calls ‘away’ is an Area. We then have a 24 hour Area which is always ‘armed’ such that it monitors all the tampers at all times, not just when an Away or Home Area is armed.

As neliss has just mentioned above, you can set the tampers (individually would be best, not grouped) as ‘always on’. I had actually forgotten this setting existed in Alarmo. Ideally these tampers would be in a separate Area in Alarmo called ‘24 hour’ or something similar. The benefit of having them in an Area as I describe is that this Area can then be disarmed when you need to service the sensor, to replace a battery for example. Disarming temporarily is much easier and cleaner than having to go into the settings to turn a bunch of sensors off.

1 Like

I THINK what dydx was trying to ask, is that the tamper binary_sensor doesn’t show up in the list of available sensors to add. I could be wrong though.

For example, I have a motion sensor that gives me two separate binary_sensors; one for motion and another for tamper. In alarmo, I only see the binary_sensor for motion available that I can add.

I thought maybe it had to do with the device type, but I’ve made sure it was set to ‘tamper’, but alarmo still doesn’t detect it.

@moto2000 In Alarmo, by default you only see the binary_sensors of appropriate device_class (i.e. door contact, motion, tamper, etc.), but there is a button “X items are hidden” which you can click to have all binary sensors show up. So as long as a binary_sensor entity exists in HA it should be possible to link it to Alarmo.

@dydx @sparkydave I see the discussion about this interesting, if you’re missing some functionality in Alarmo, feel free to request a new feature.

1 Like

Yes @moto2000 is very right: I wanted to know WHY they are not shown by default in this list. What is the reason and if it is purposeful.

I realized from the beginning that I could show the hidden items and add the tamper sensors. But then they are shown as “Detected Type: Unknown” which is not really correct and does not give the feel that this is as intended.

Alright, then I add my, say, 50 tamper sensors and all of them will be “Arm Modes: None”. So I have to click in every single one and select all the enabled modes (or “Always On”, as mentioned above).

So it seemed to me that there is (a) either a reason why they are not included (which is what I wanted to ask) or (b) nobody thought about it yet and they should be unhidden, shown as type “Tamper” instead of “Unknown” and automatically be set as “Always On” when added (just like PIR sensors are not enabled for “Home” by default) … which is what I wanted to confirm.

Can I conclude the answer is (b) ?

EDIT: As suggested by @neliss I’ve created a feature request: Handling of tamper sensors · Issue #586 · nielsfaber/alarmo · GitHub

This is definitely not the case. Example:

Correctly assigned as “tamper”.
In Alarmo, I first have to remove “XXX items are hidden” and then I see it as “Unknown”:

After adding it, it is by default assigned to None:

I think your expectations are correct but apparently things don’t work accordingly (they used to do). There might be a bug in Alarmo or a change in a recent update of HA causing previous functionality to break. Feel free to create a bug report for follow-up on this issue, either way I will take a look when I have the time.

When I try to add sensors on the alarm my sensors are not binary, so they don’t show up…
Is there a way I can fix that?

You can use a template to create a binary_sensor based on the sensor state.
It’s important to know the entity name of the original sensor and the state it has (its probably some text value) when the sensor is triggered.
For example:

template:
  - binary_sensor:
      - name: "Name goes here"
        state: "{{ is_state('sensor.<original_sensor_entity>','TRIGGERED') }}"
        device_class: motion

See here for the list of possible device classes. Setting it helps Alarmo to automatically set it up correctly.

Thank you very much!!