[Custom Component] Alarmo - browser managed alarm system

Your answer to @Heimdall_Midgard was actually also the answer to my question. So I’m grateful to Heimdall!

{% for open_sensor in state_attr("alarm_control_panel.alarmo", "open_sensors")%}
{{ state_attr(open_sensor, 'friendly_name') }}
        {% endfor %}
2 Likes

Thank you very much. This helped a lot. I got it working now. Awesome.

My idea about disarming is more that when the alarm is pending I get a notification to start my alarm or disarm it

I have the same problem. Whenever home assistant server is restarted, the alarm is armed. Did you ever find a solution?

I haven’t figured out why Alarmo starts as armed. I am not positive it happens every time, but it does happen frequently. Fortunately, Home Assistant has been stable and isn’t restarting very often so it hasn’t been a surprise.

I discovered a bug last week that might cause this.
But only if Alarmo encounters a timeout on startup (it takes more than 30 seconds for all your sensors to become available after starting HA).
If this is the case for your system then I might have a solution that I can publish soon.
Otherwise please use GitHub to raise the issue.

I do have quite a few zwave devices and they do take considerable time to be available after home assistant starts. That may change in the future as we migrate to the new zwave implementation, but I haven’t had the time to look into that. Definitely look forward to trying your solution!

Thanks

My approach to arming by coincidence should also solve this problem.
Upon any relevant change of a parameter (Google calendar event, someone arriving/leaving home, guests in the house, restart of Home Assistant,…) I have created a decision tree that decides what state the alarm should be in.

Release v1.5.5 is out :tada:

Alarmo card
A while ago I shared my plans for making an alarmo-card.
Today it is ready for use.
The card is very much based on the Lovelace Alarm Panel card, but it offers some feedback to the user (such as wrong pin code entered, sensors that prevent arming, but also shows a countdown for exit/entry delays).
After updating, it should automatically become available for Lovelace.
For more info, check out the documentation.

Alarmo.arm service
This service allows you to arm the alarm (similar to the alarm_control_panel.alarm_arm_away etc. services), but brings some additional options for those who want more control over the arming (skipping the delay, bypassing sensors).
(On request of @onkytonk)

Other changes:

  • Fixed a bug causing the alarm to start in the wrong state after restarting HA (for the users who experienced this issue: please let me know if the problem is solved now)
  • Add the ALARMO_DISARM command for disarming the alarm through actionable push message (on request of @Heimdall_Midgard)

Let me know if you like the card, feedback is always welcome :slight_smile:

5 Likes

Updating via HACS doesn’t add the alarmo-card for me. Have cleared cache. Shouldn’t there be a step to add it to resources?

No it should be a matter of restarting HA (always needed when updating a custom_component) and then it should be available.
I just performed the update via HACS on another HA instance I have running, it worked flawlessly.
In the UI editor it should appear right at the bottom:
image

Yeah sorry, I see it now. Probably some unrelated problem :slight_smile:

Thank you so much for implementing this!

I started playing around with it tonight. It seems I need to input a code to arm the alarm with the service. Is this intentional?

I also found that if the order of the data for the service call starts with code first, the code ends up being input on the lovelace card, and I can then simply press Disarm without having to input a code.

ie…

service: alarmo.arm
data:
  entity_id: alarm_control_panel.alarmo
    code: '6659'
    mode: away
    skip_delay: true

Screenshot 2021-03-30 015847

If you configured Alarmo to require a code for arming, you will have to provide it with the service too (same as alarm_control_panel.alarm_arm_away).
But the code field is optional, as are all other fields.

I don’t really understand what you mean.
The code is treated with care by Alarmo, I don’t see a way how the (correct) code could get automatically filled in the card.
Could you share the process you’re following?

I have completed a few restarts with the new version and so far, it has not started in the armed state!

Is there any way to keep the keypad visible always? It appearing and disappearing between armings causes choas on the wall panel tablet as things shuffle around because of the size difference.

I don’t have alarmo set to arm with a code but I’m still getting this error.

Also, if you try to run the service with the data as I’ve entered it above, it inputs the code into the Lovelace card.

I only discovered this when I manually created the service call in my node red automation.

I can see “allow code for arming” under the user menu. Is this what you mean? I can’t disable it here.

EDIT: if I turn off “user is administrator” I can turn off the allow code for arming setting. However, I still get the same when running the service.

Fair point, I didn’t think of this at all.
I always saw it weird that the alarm panel card shows the keypad even if the system is disarmed, but your situation seems to be a good reason.
Actually there is a property I could add to define the (maximum) height of the card, it would avoid the reshuffling.
On the other hand you will be left with a gap if so.
Hence my question to you: would you prefer to see a (disabled) keypad or a white space?

Whoops, seems like I didn’t test this case, my bad.
I will have to fix it in a next release.
For now, you can just fill in a random code, Alarmo will not look at it if your alarm doesn’t require a code for arming.
I’m referring to these settings:

Are you’re telling me that a code you enter in your node-red automation shows up in the Alarmo-card?
That sounds like witchcraft to me, I cannot think of a way how the Lovelace GUI is coupled to node-red.

Don’t play with these settings. It’s meant for visitors / kids who should have limited control over the alarm.

I only discovered it using my nodered automation, but the same thing happens if I run the service manually from the Developer Tools panel.

It seems to be an error with the Alarmo Card. Seems the code comes up even when just arming manually too.

See what happens here:

Aesthetically, I am not sure if dead space or a disabled keypad would be best. Maybe there is some other useful information that could be displayed while disarmed? My initial thought would be just a grey’ed out keypad.

1 Like

Can alarmo be set according to presence i.e everyone away – arms away mode and/or somebody arrives at home disarms away mode? Or, by using a specific time, i.e. at 2200 night mode starts?