[Custom Component] Alarmo - browser managed alarm system

Great that you like it!
Some suggestions:

  • Better to use this link for the installation files: https://github.com/nielsfaber/alarmo/releases/latest/download/alarmo.zip
    Otherwise users make a full copy of all source code, most of which is not needed to run Alarmo.

  • Your section 3.3.3. regarding the Alarmo-card is not correct, your screenshots show the Lovelace Alarm Panel Card (which is not my work).
    Its fine to use that card, but Alarmo comes with its own flavour with some extra functions.

A small warning: things might change in the future, especially regarding the setting up of actions/notifications I’m planning to make some modifications. Hope this will not bother you.

Perhaps we can merge your guide in the readme of Alarmo, such that it can be found by more people, and I could help maintaining it when things change?
I would love some help with extending the instructions, especially written from the perspective of the user rather than me (some things might be intuitive to me but not to others).

I expect that one area fails which causes the master to abort the arming for all areas.
The best way to troubleshoot this is by creating a lovelace view with all areas + the master, as I did here.
If you use the ‘alarmo-card’ for this view, you should be able to get all info to see what’s going on.
If this doesn’t help, maybe the HA logs will be able to show more.
As a last resort you can enable the debug logging for Alarmo by adding this to configuration.yaml and restart HA:

logger:
  default: warning
  logs:
    custom_components.alarmo: debug

Please let me know if you need assistance :slight_smile:
Consider to create an issue in github to discuss it more.

You mean to use the gateway as a siren?
From what I heard, the siren of the Xiaomi gateway can only be turned on/off by a specific service, and it is not available as a switch (or similar) entity.
I suppose a custom automation is needed to target the specific service, this is easier to do outside of Alarmo.

I use Alarmo and two Xiaomi gateways. I have writen automations for flashing them on the exit delays, entry delay, fixed orange when armed_night, red when armed_away, green for some time when disarmed and custom beeps on the delays.
The main alarm siren I have is a zwave one.

Good choice. I managed to get my gateway to ring but it stops after a few seconds. It does not reflect the settings entered in Alarmo of course and in the automation too
 any ideas?

Thx for suggestions, I have reviewed and changed per your suggestions. Link (again): https://www.rossco.org/modules/publisher/item.php?itemid=13#Alarmo_Alarm

I am all for collaboration. Feel free to copy any of my stuff you consider of use to your docs, then, I may remove any redundancies from mine.

changes:
fixed install link / instructions
added Custom alarm card in addition to standard HA card


the only constant in life is change, pointless to be bothered


@jasonshearer
I just released an update which allows you to scale the buttons.
There are definitely more things to be done for improving the card, but it’s a start.

Sorry for my noobiness, I’m kind of new to HA !

I setup 3 areas like so:

  • Area1: Outdoor Camera Sensors
  • Area2: Indoor Camera Sensors
  • Area3: All Door Sensors

And I would like the different modes to use the areas like so:

  • Armed_Home: Only Arm Area 1 (Outdoor Camera Sensors)
  • Armed Night: Arm Area 1 (Outdoof Camera Sensors) & Area 3 (Door Sensors)
  • Armed Away: Arm All Areas (Outdood Camera Sensors, Indoor Camera Sensors and Door Sensors)

I was expecting my Master Panel (Home, Night and Away) to arm the areas like I described before but what I notices is that:

  • Master Arm Home fails to arm
  • Master Arm Night fails ti arm
  • Master Arm Away works perfectly

Please note that arming the different areas with their respetive Arm Button in their respective cards works fine.
It’s only arming the night mode and the home mode in the Master Alarm card that doesn’t work

There is probably something I didn’t understand! Any one could enlight me?

Thanks again (Especially @neliss for the great work)

No problem for being new, this should make Alarmo a good tool for you actually.
First of all, consider to use alarmo-card.

Second, the master alarm can only arm the system in the modes that all areas have in common.
This is because the master alarm is meant to keep all areas in sync.

So if only 1 out of 3 areas are configured to be armed in “night”, you cannot arm in “night” via the master, but you will have to arm that area directly.
Maybe it’s easiest for you to set up the other 2 areas to do nothing in “night” mode, in that case the master will work OK for you.

Brilliant, thanks for the feedback.
SO I didn’t quiet get how it was working.
Now it’s clear.
Thanks

Upgraded. What is the yaml for scaling the buttons?

EDIT: Found it in the card JS file.

button_scale:

Looking at the context the value is in the 1-2.5 range. The slider is not visible and manually adding the attribute does not change the button scaling.

Clear your browser cache, or hit “reload resources”.

Lovely. Thank you for all of your work on this.


1 Like

The sounds in the gateway have a fixed and short durations. I uploaded a custom ring tone with a duration equal to my entry and exit delays.

@nellis
I have asked this in github issues, but I will also do it here, so this can help other users.
I have defined a notification that use a tts notify entity to tell that Alarmo could not be armed because of an open sensor.
It works. But the words I pass to he action are in spanish, plus the ‘open sensors’ variable. {{open_sensors}} contains the words of the name of the open sensors + “is open”.
So, the result is a voice telling a mix of spanish and english words.
Is there any way to get only the name of the open sensor?
Thanks in advance.

I read your request and I agree that this can be improved.
In my opinion, having the state mentioned is useful, but it should be translated, e.g.:

{entity_name} estĂĄ abierto
{entity_name} estĂĄ detectando movimiento
{entity_name} estĂĄ detectando humo



Unfortunately HA uses a quite strict separation between the frontend and the backend side, meaning that it is quite difficult to have Alarmo use translated texts (in your local language) when sending push notifications.
But not impossible :wink:

If more users are bothered by the hardcoded english text, please let me know (by liking this post). I might take the effort to implement these translations.

3 Likes

Hi All

I just come across as issue. I hope someone can help me. I have some Xiaomi vibration Sensors (
DJT11LM). These do not come up under sensors? How do I get them to recognized under Alarmo?

For the info, I have zigbee2mqtt setup. They are setup in zigbee2mqtt.

Thank you in advance

Do they provide a binary_sensor entity? If not, you would need to create a template sensor which toggles between on / off at some preset vibration level.

Hi
Thank you for your reply. There are no binary sensors. It creates a number of sensors but the interesting one is “action”, e.g. sensor.friendly_sensor_name_action. This has various angle, angle_x, angle_y, angle_z, angle_x_absolute, angle_y_absolute values. I don’t know how I can use these values to calculate if it is a drop, tilt or vibration?

action: null
angle: 12
angle_x: 6
angle_x_absolute: 84
angle_y: -75
angle_y_absolute: 165
angle_z: 14
battery: 91
linkquality: 164
sensitivity: high
strength: 11
voltage: 2985
friendly_name: VS_KITCHEN_DOOR_action
icon: 'mdi:gesture-double-tap'

I think the action, which is null should produce a value to use in the automation.

Anyone else? Please help.

This is exactly the reason why Alarmo only handles binary_sensor entities.
I cannot judge which levels of vibrations are OK and which are a burglary attempt.

Perhaps this gives you a possible solution:

Hi Niels

Thank you for your quick answer. I will check it out.

Like I said above, just create a template binary sensor and use that with Alarmo.

Here is an example which turns the binary sensor ‘on’ if the level is above 5, otherwise it is ‘off’.

binary_sensor:
  - platform: template
    sensors:
      onyko_amp_power:
        friendly_name: "Onyko Amp Power"
        device_class: "power"
        value_template: "{{ states('sensor.onkyo_amp_power_power_2')  | float > 5 }}"

You can use the same template sensor with your devices and change the 5 for whatever vibration level you decide should be considered an alarm level