YET another take on an alarm system

ahh yes, shortcuts, I forgot, thanks

If I am not mistaken there is a problem with that.

If you call your script

 script.alarm_disarm

then in Google Home you can call OK GOOGLE TURN ON ALARM DISARM with/without shortcut and a thief can disarm it.

So you need to name the script with a fancy name, and then use a shortcut easy to remember (and a shortcut to avoid saying turn on)

1 Like

I’m seeing the same issue with mine setup too. I thought that I screwed something up.

This is magic. I applaud you for this great project. A little more testing - then I think this can replace my old alarm.

I have a few questions or suggestions for future releases. Maybe this works already, but I haven’t been able to get it to work:

  • Possibility to have several codes, typically one for each family member (and to lay the grounds for the a future feature - to track who armed and/or disarmed and perform actions based on that)

  • A “super clean view”, typically for a cell phone used as a number pad. A view/panel without weather, clock header, sensors. Basically only the alarm status and a keypad (when needed).

  • It seems as you have to have active, real sensors in each group, otherwise it won’t work and generates errors in the log. t would be nice to be able to leave a group empty.

  • This makes me wonder what happens if the only sensor in a group disappears, i.e. runs out of battery. Will the whole “alarm function” fail?

Again: Really nice project. Thanks a lot for sharing!

1 Like

I like this idea too

I’m using Chrome on Windows, Android Tablet and Android Phone.

On Windows and the phone it shows the “Disar…” label, on my tablet it says “Off”. Could this stem from browser locale or something? My systems are generally set to German.

Hi there, seems like an awesome job you’ve been doing
After adding the files into my hassio config folder (and unders), adding up the lines in config I ends up with an Alarm link in menu, but it enters a blank screen after a few seconds of trying to load the link.
Followed the thread and and seen som solutions that I’ve tried, but none of them works for me sadly.

my log contains this, that I haven’t seen before trying to add the alarm… running latest Hassio/HA

2018-01-29 23:23:35 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/lib/python3.6/asyncio/tasks.py”, line 182, in _step
result = coro.throw(exc)
File “/usr/lib/python3.6/site-packages/homeassistant/setup.py”, line 60, in async_setup_component
return (yield from task)
File “/usr/lib/python3.6/asyncio/futures.py”, line 332, in iter
yield self # This tells Task to wait for completion.
File “/usr/lib/python3.6/asyncio/tasks.py”, line 250, in _wakeup
future.result()
File “/usr/lib/python3.6/asyncio/futures.py”, line 245, in result
raise self._exception
File “/usr/lib/python3.6/asyncio/tasks.py”, line 180, in _step
result = coro.send(None)
File “/usr/lib/python3.6/site-packages/homeassistant/setup.py”, line 159, in _async_setup_component
conf_util.async_process_component_config(hass, config, domain)
File “/usr/lib/python3.6/site-packages/homeassistant/config.py”, line 624, in async_process_component_config
platform = get_platform(domain, p_name)
File “/usr/lib/python3.6/site-packages/homeassistant/loader.py”, line 104, in get_platform
return get_component(PLATFORM_FORMAT.format(domain, platform))
File “/usr/lib/python3.6/site-packages/homeassistant/loader.py”, line 142, in get_component
module = importlib.import_module(path)
File “/usr/lib/python3.6/importlib/init.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 994, in _gcd_import
File “”, line 971, in _find_and_load
File “”, line 955, in _find_and_load_unlocked
File “”, line 665, in _load_unlocked
File “”, line 674, in exec_module
File “”, line 781, in get_code
File “”, line 741, in source_to_code
File “”, line 219, in _call_with_frames_removed
File “/config/custom_components/alarm_control_panel/bwalarm.py”, line 7

^
SyntaxError: invalid syntax

Got any good ideas of any stupid mistake I’ve done? :slight_smile:

Hey mate,
Did you ever sort out the disarm function via the mqtt panel? I’m currently encountering the same issue.
Thanks.

from setup part, I don’t know what you have done.
But in configuration.yaml you have to put

frontend:
  javascript_version: es5

Thanks, but that didn’t do the trick for me sadly.
All my errors is gone from log once I comments out the:

alarm_control_panel: !include alarm.yaml
panel_custom: !include panel_custom.yaml

so somewhere there lays my issue I suppose :-/

alarm.yaml <== is in homeassistant config directory (/home/homeassistant/.homeassistant/alarm.yaml)
panel_custom.yaml <== is in homeassistant config directory (/home/homeassistant/.homeassistant/panel_custom.yaml)

I’ve found the issue… :roll_eyes:
Somehow saving the files with Firefox messed them up… so I got to copy and paste the code of every file.
no more errors in log and the interface is working like a charm :smile:
Thanks for helping me out

I finally made the Zipato keypad work with Hass-Custom-Alarm :slightly_smiling_face:

It wasn’t so difficult, as gazoscalvertos said the “interconnection” part between the keypad and the alarm components only relies on automations to sync the state of both.
When you set the mode to “home” or “away” on the keypad (using a valid RFID tag or a valid user code), the alarm_level sensor of the keypad switches between 0 and 255, and so it’s easy to arm or disarm the alarm accordingly.

I used this topic to configure the keypad :

and I had to apply some changes to zwave/lock.py component, as described by merredin in this post Basic Home Alarm Setup with Zipato Keypad - #53 by merredin

Also, when I first paired the keypad with my hass instance using Zwave classic mode (i.e. “not secure”), it didn’t work, I cannot set any user code.
Then, I removed the device and paired it using Secure Z-wave pairing process, and it worked like a charm !

So, first apply the changes to lock.py file, then, pair the device securely. After, define some user codes (or pair tags), and then work with automations to sync the state between hass-alarm and keypad.

If you need some help feel free to ask me :slight_smile:

2 Likes

Is it possible to have a badge of the active sensors? ANd give an alarm if they are less then the programmed ones.

I do have 15 motion and dorr/windows sensors, it would be good to have a badge showing the amount of registered sensors, so you know if some are not registered as entity_id, hence not working

can you please explain the advantages of the key? Just for not using a smartphone to arm/disarm, or?

Alright, it’s to have another way to arm/disarm the alarm instead of the phone.
Actually, if you come back home and your phone is out of battery, you can’t disarm the alarm… So bad to wake up you neighbors with siren because of that :slight_smile:
Another reason to add a physical keypad anybody can use, is if you have someone coming in your house (for cleaning for example), and you don’t want this person to access all your data through the home assistant app. With the keypad, you only give him a code, and that’s all, he’ll be able to arm / disarm the alarm.

Hi,
I have a strange issue with one of my tablets (Kindle Fire HD 8.9 running Android 7.1).

The alarm panel shows the wrong time. It shows UTC instead of the device’s time (visible in the upper right corner):

On my other devices it shows up fine.

Any ideas?

Jochen

The time in alarm control panel should match what you see in HA. As from the picture the Kindle Fire HD show 22:43.

The alarm panel display the time according to HA.

I get the same issue on my phone. Its very strange. I can be sitting at my laptop with the alarm control panel open on both my laptop and phone, my phone always shows the time 1.5 ahead in the control panel despite the actual phone time being correct.

The time is correct in HA and on the Pi that it is running on.

The time and date sensor in HA shows it:

So, I guess that HA is showing server time and the alarm screen is somehow determining the client time which is probably buggy in certain circumstances when locales or other things are involved.