[Custom Component] Alarmo - browser managed alarm system

You can also manually install

GitHub - nielsfaber/alarmo: Easy to use alarm system integration for Home Assistant

Yeah, that is what I just did. It works now it is time to config. Thank you so much, guys.

I found a piece of code from the author:

        if state:
            # restore attributes
            if "arm_mode" in state.attributes:
                self._arm_mode = state.attributes["arm_mode"]
            if "changed_by" in state.attributes:
                self._changed_by = state.attributes["changed_by"]
            if "open_sensors" in state.attributes:
                self.open_sensors = state.attributes["open_sensors"]
            if "bypassed_sensors" in state.attributes:
                self._bypassed_sensors = state.attributes["bypassed_sensors"]

And I tried to implement it myself … and it seems to work …

The alarm is now OFF: '{% if(states.alarm_control_panel.kv_alarm.attributes["changed_by"] == None ) %}{{states('sensor.person_alarm_off_mqtt')}}{% else %}{{changed_by}}{% endif %}'.

I am doing this setting but it is throwing the error.
image

And also when the alarm is triggered, it does not show me which device caused it to trigger. And while arming and pending, it does not show a timer.

You are not using Alarmo-card.

Thank you for the Alarmo integration, it is just fantastic and so feature rich, yet so simple!

I encourage anyone running the alarmo setup to consider the Ring Keypad V2 (Zwave device) automation blueprint to make it work flawlessly with Alarmo.
https://community.home-assistant.io/t/synchronize-ring-alarm-keypad-v2-with-alarmo/349461

I am running into a final issue. I expose the Alarmo component to homekit via the official homekit integration. However, Alarmo in Homekit cannot be “disarmed” from within the Apple Home app.
“arming” works just fine, but “disarming” simply hangs and never do anything.

Any solution to that issue?
(If possible I would like to keep my homekit management from the UI, because I have lots of devices)

Truly Amazing!, thanks for sharing, works great so far.

Is it possible to disarm using code only and not have to hit the disarm button after inputting code?

Did you ever resolve your issue with the Task part of Notifications? EDIT: I was able to resolve my issue with a full reboot of the host.

Just for others and Niels, I upgraded the component to 1.8.4 today and it was broken due to the breaking name change mentioned in the release notes (thanks for that). Though I was expecting that the migration would be done for me, I had to manually remove the name entries in the alarmo.storage, a file where you usually don’t want to edit manually.

Oh and I never commented here before but I’m a very happy user for over a year now!

1 Like

Migration is in place, so the removal should be done for you. If this is not the case for you, please create a bug report rather than fixing it manually.
Note that the migration itself does not cause the storage file to be saved. You have to make a configuration change to trigger this (like toggling the enabled state of a sensor).

Oke thanks, well Alarmo didn’t want to start after a restart of HA and I was in a bit of a hurry to get my alarm up and running now. Agree that filing an issue is more of help.

Hi, I updated to the latest version via HACS (says version 1.8.4 in HACS, but the integration says 1.8.3).

I saw there was a breaking change related to naming that I was intending to fix but now I can no longer access my configuration (as in the ALARMO card is missing).

Is there anyway I can get my configuration back?

This is what I see in the logs:

This error originated from a custom integration.

Logger: homeassistant.config_entries
Source: custom_components/alarmo/store.py:252
Integration: Alarmo (documentation, issues)
First occurred: 15:34:04 (1 occurrences)
Last logged: 15:34:04

Error setting up entry Alarmo for alarmo
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 327, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/alarmo/__init__.py", line 54, in async_setup_entry
    store = await async_get_registry(hass)
  File "/config/custom_components/alarmo/store.py", line 666, in async_get_registry
    return cast(AlarmoStorage, await task)
  File "/config/custom_components/alarmo/store.py", line 661, in _load_reg
    await registry.async_load()
  File "/config/custom_components/alarmo/store.py", line 291, in async_load
    data = await self._store.async_load()
  File "/usr/src/homeassistant/homeassistant/helpers/storage.py", line 114, in async_load
    return await self._load_task
  File "/usr/src/homeassistant/homeassistant/helpers/storage.py", line 123, in _async_load
    return await self._async_load_data()
  File "/usr/src/homeassistant/homeassistant/helpers/storage.py", line 168, in _async_load_data
    stored = await self._async_migrate_func(data["version"], data["data"])
  File "/config/custom_components/alarmo/store.py", line 251, in _async_migrate_func
    data["sensors"] = [
  File "/config/custom_components/alarmo/store.py", line 252, in <listcomp>
    attr.asdict(SensorEntry(
TypeError: __init__() got an unexpected keyword argument 'name'

and

Logger: homeassistant.components.websocket_api.http.connection
Source: components/websocket_api/connection.py:96
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 15:33:54 (53 occurrences)
Last logged: 15:38:06

[140311783438944] Received invalid command: mobile_app/push_notification_channel
[140311899880272] Received invalid command: mobile_app/push_notification_channel
[140311533461664] Received invalid command: alarmo/entities
[140311533461664] Received invalid command: alarmo/config
[140311533461664] Received invalid command: alarmo_updated

Not sure if I should redownload it in HACS or not.

The error you are getting suggests you are trying to update from a version of more than 6 months ago (v1.6.x) to latest. Could this be the case?
I didn’t test this combination, I was assuming users would update more frequently (but of course this is up to the user).
In release v1.8.5 I made a small change which should solve it. Alternatively you could install a version in between first (like v1.7.0) before jumping to the latest one.

Thank you for responding.

I usually apply the changes as I see them become available via HACS. I usually check that most days so I would be surprised if the version I had was that old.

I don’t remember the version I had before I applied today’s update though.

I see that version 1.8.5 is available, so I will give that a try. Thanks for the integration, I have been using for a while now and I find very useful.

****** Awesome, update applied and the panel is back. Thanks so much :clap::clap::clap:

Hi, I’m building a touch panel to control the security system.
On the display I would like to visualize the buttons to activate the various alarmo modes dynamically, reading the modes (arm_away, arm_night, arm_custom_bypass, etc …) that have been activated in the “alarmo” configuration panel.
how can I do?
thank you!

Hi I’ve been usin Alarmo for some months and seems great but I found something little bit weird when alarm triggers. The thing is that only when triggers for first time a notification is send to my smartphone app / telegram, but I would find it very useful if a notification was sent on each sensor that detects an alert, not just the first one.This is possible?

Well the concept of an alarm system is that it triggers as soon as one of the sensors is tripped. Unless you have multiple sensors being tripped at EXACTLY the same time then you would never get more than one being reported as having been the cause of the alarm being triggered.

You need to check the supported_features attribute of the alarm_control_panel entity for this.
The supported arm modes are encoded like this:

They are bit-wise combined, so an alarm which supports modes home+away will have supported_features 1+2=3.

thank you!
That’s what I was looking for.

When I want to add more sensors, I get the following error message:

Something went wrong!
Message format incorrect: extra keys not allowed @ data[‘name’]
Response error: 400

Can this be related to the new version, if so: what do I need to change to add new sensors?
I have only named the sensors via the GUI of HA…