YET another take on an alarm system

What I did was to login to my ip camera and right click on the video streaming. Then I clicked “copy image address” and I pasted the link to the custom-element.
After that, when I enter the alarm panel, it asks for the username and password for the camera, which if you click to remember it wont ask again.

Since then, I have changed my camera to a brand new foscam which streams through rtsp. I couldnt make it to the alarm panel but that was ok for me since I am using motioneye. So I enabled streaming from motioneye and I used that link there. :wink:

Is anyone running this successfully behind a reverse proxy? If so, would you be willing to share your nginx config? I’m able to see the panel fine when accessing from the ip address, but accessing through reverse proxy just gives me a blank page.

Has anyone figured out how to get the multi user options to work?

Anyone using the Lovelace custom alarm panel card with this alarm and have it working?

Thanks.

It’s working for me.

I’m testing this to see if it can replace my stone age alarm system. I’m new to HA, so please have patience.

I have it set up like instructed, took a while until I found the alarm in the side panel, all I noticed was the small round sensor on top. Anyways I’m testing the logics of how this works now and I’m not completely sure how to do this.

I have a Aeotec ZW100 MultiSensor 6 I’m using in my testing. The thing has several sensors, these catch my attention:
‘binary_sensor.aeotec_zw100_multisensor_6_sensor_3’ this is simply a on/off motion detection
‘sensor.aeotec_zw100_multisensor_6_burglar_3’ this one reports 0 = no motion, 3 = tamper, 8 = motion
‘sensor.aeotec_zw100_multisensor_6_alarm_level_3’ this one I havn’t been able to trigger
‘sensor.aeotec_zw100_multisensor_6_alarm_type_3’ this one I haven’t been able to trigger

Now using the on/off sensor will ofcourse work, but it seems the “burglar” one would be the right one in alarm situations, but there doesn’t seem like an option to specify what the trigger values are ?

Also these sensors when triggered do not change the value back until several minutes of no motion. This will cause problems when setting the alarm I assume ? EDIT: Found out how to change the reset trigger delay in the z-wave control panel, so now it revert back in 10 sec.

The trigger is that someone picks it up, so I don’t think a burglar is going to pick it up and run of with it, so probably you want a door/window sensor as that’s where they usually come in, at least in my experience :frowning:

So I ran into the same issue several others have it seems, it’s regarding the notification of what tripped the alarm

- id: alarm_triggered
  alias: '[Alarm] Triggered'
  trigger:
  - platform: state
    entity_id: alarm_control_panel.b7
    to: 'triggered'
  action:
  - service: notify.telegram
    data_template:
      #message: 'ALARM TRIGGERED!!! {{ states[states.alarm_control_panel.b7.attributes.changed_by.split(".")[0]][states.alarm_control_panel.b7.attributes.changed_by.split(".")[1]].name }}'
      message: 'ALARM ALARM ALARM'
      #message: 'ALARM TRIGGERED!!! {{ states[states.alarm_control_panel.house.attributes.changed_by.split(".")[0]][ states.alarm_control_panel.house.attributes.changed_by.split(".")[1]].name }}'

This is working, and telegram gets the message ALARM ALARM ALARM, however the other 2 message options I have commented out does nothing :frowning: - Been stuck on this for hours now, what am I missing ?

Hey, this looks like a great project… couple of quick questions before I dive in!

  1. Does this create an alarm that’s fully accessible by other parts of HA? So for example could I have an alarm panel in TileBoard but then use the logic within this component? (As I already use tileboard so would love the look and feel to all match up!)

  2. Is it possible to have different codes for guests? So for example your cleaner could have a code that only worked on a Thursday afternoon…

Thanks! :smiley:

i can answer for the first one, yes it does, i use tileboard and have the alarm panel integrated and working ok

As for the second question. No - not yet. I believe Gaz mentioned it would be added to the development roadmap when someone requested it somewhere up in this enormous thread.

How do you define sensor.time i HA?

By using this sensor

1 Like

Hey guys, I recently switched all my automations over to nodered. For anyone wanting some code for their alarm to get them started, feel free to use mine.

I have added input Booleas to override notifications and/or sirens too.

Code:

[{"id":"68e2c049.bef26","type":"tab","label":"Alarm","disabled":false,"info":""},{"id":"5b80215a.05166","type":"server-state-changed","z":"68e2c049.bef26","name":"Alarm Control Panel","server":"9582d396.920b1","entityidfilter":"alarm_control_panel.house","entityidfiltertype":"substring","haltifstate":"","x":150,"y":215,"wires":[["ba9b8f47.f5db6"]]},{"id":"3e856c92.abe44c","type":"switch","z":"68e2c049.bef26","name":"Alarm State","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"armed_away","vt":"str"},{"t":"eq","v":"armed_home","vt":"str"},{"t":"eq","v":"disarmed","vt":"str"},{"t":"eq","v":"triggered","vt":"str"},{"t":"eq","v":"warning","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":580,"y":215,"wires":[["c30402a1.116e2"],["40e91996.57d4a"],["468b2094.6240d8"],["42a8363f.8decb8"],["d2e1add5.fcdf"]]},{"id":"c30402a1.116e2","type":"api-call-service","z":"68e2c049.bef26","name":"Notify Armed Away","server":"9582d396.920b1","service_domain":"notify","service":"","data":"{\"title\": \"ALARM\", \"message\": \"Armed Away\"}","mergecontext":"","x":1150,"y":150,"wires":[[]]},{"id":"40e91996.57d4a","type":"api-call-service","z":"68e2c049.bef26","name":"Notify Armed Home","server":"9582d396.920b1","service_domain":"notify","service":"","data":"{\"title\": \"ALARM\", \"message\": \"Armed Home\"}","mergecontext":"","x":1140,"y":190,"wires":[[]]},{"id":"468b2094.6240d8","type":"api-call-service","z":"68e2c049.bef26","name":"Notify Disarmed","server":"9582d396.920b1","service_domain":"notify","service":"","data":"{\"title\": \"ALARM\", \"message\": \"Disarmed\"}","mergecontext":"","x":1160,"y":230,"wires":[[]]},{"id":"43831cb1.c86e24","type":"api-call-service","z":"68e2c049.bef26","name":"Notify Triggered","server":"9582d396.920b1","service_domain":"notify","service":"","data":"{}","mergecontext":"","x":1160,"y":270,"wires":[[]]},{"id":"c06567f2.e66a5","type":"api-call-service","z":"68e2c049.bef26","name":"Notify Warning","server":"9582d396.920b1","service_domain":"notify","service":"","data":"{\"title\": \"ALARM\", \"message\": \"Warning\"}","mergecontext":"","x":1160,"y":310,"wires":[[]]},{"id":"3dd8df6e.ecc118","type":"api-call-service","z":"68e2c049.bef26","name":"Xiaomi Alarm","server":"9582d396.920b1","service_domain":"xiaomi_aqara","service":"play_ringtone","data":"{\"gw_mac\":\"286C07891F7F\", \"ringtone_id\":\"0\", \"ringtone_vol\":\"100\"}","mergecontext":"","x":920,"y":490,"wires":[[]]},{"id":"84836176.cce6b8","type":"api-call-service","z":"68e2c049.bef26","name":"Xiaomi Warning","server":"9582d396.920b1","service_domain":"xiaomi_aqara","service":"play_ringtone","data":"{\"gw_mac\":\"286C07891F7F\", \"ringtone_id\":\"11\", \"ringtone_vol\":\"100\"}","mergecontext":"","x":930,"y":530,"wires":[[]]},{"id":"7c44d016.13fca","type":"comment","z":"68e2c049.bef26","name":"Notifications","info":"","x":130,"y":140,"wires":[]},{"id":"1f3d1220.a00fa6","type":"comment","z":"68e2c049.bef26","name":"Sirens","info":"","x":110,"y":430,"wires":[]},{"id":"abd96ce4.bb8048","type":"server-state-changed","z":"68e2c049.bef26","name":"Alarm Control Panel","server":"9582d396.920b1","entityidfilter":"alarm_control_panel.house","entityidfiltertype":"substring","haltifstate":"","x":150,"y":490,"wires":[["5b8895e5.0da33c"]]},{"id":"f4fb2165.e0cef8","type":"switch","z":"68e2c049.bef26","name":"Alarm State","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"armed_away","vt":"str"},{"t":"eq","v":"armed_home","vt":"str"},{"t":"eq","v":"disarmed","vt":"str"},{"t":"eq","v":"triggered","vt":"str"},{"t":"eq","v":"warning","vt":"str"}],"checkall":"true","repair":false,"outputs":5,"x":580,"y":490,"wires":[[],[],[],["3dd8df6e.ecc118"],["84836176.cce6b8"]]},{"id":"ba9b8f47.f5db6","type":"traffic","z":"68e2c049.bef26","name":" ","property_allow":"payload","filter_allow":"on","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"off","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":350,"y":215,"wires":[["3e856c92.abe44c"]]},{"id":"73dc230f.0377d4","type":"server-state-changed","z":"68e2c049.bef26","name":"On/Off","server":"9582d396.920b1","entityidfilter":"input_boolean.alarm_notifications","entityidfiltertype":"substring","haltifstate":"","x":110,"y":285,"wires":[["ba9b8f47.f5db6"]]},{"id":"5b8895e5.0da33c","type":"traffic","z":"68e2c049.bef26","name":" ","property_allow":"payload","filter_allow":"on","ignore_case_allow":false,"negate_allow":false,"send_allow":false,"property_stop":"payload","filter_stop":"off","ignore_case_stop":false,"negate_stop":false,"send_stop":false,"default_start":true,"differ":false,"x":355,"y":490,"wires":[["f4fb2165.e0cef8"]]},{"id":"6f4a2dff.be2b4c","type":"server-state-changed","z":"68e2c049.bef26","name":"On/Off","server":"9582d396.920b1","entityidfilter":"input_boolean.alarm_siren","entityidfiltertype":"substring","haltifstate":"","x":110,"y":560,"wires":[["5b8895e5.0da33c"]]},{"id":"42a8363f.8decb8","type":"function","z":"68e2c049.bef26","name":"Message","func":"msg.payload =\n{\n  \"data\": {\n    \"message\": \"Triggered! {{states[states.alarm_control_panel.house.attributes.changed_by.split(\\\".\\\")[0]][states.alarm_control_panel.house.attributes.changed_by.split(\\\".\\\")[1]].name}}\",\n    \"title\": \"ALARM\"\n  }\n}\nreturn msg;","outputs":1,"noerr":0,"x":980,"y":270,"wires":[["43831cb1.c86e24"]]},{"id":"d2e1add5.fcdf","type":"function","z":"68e2c049.bef26","name":"Message","func":"msg.payload =\n{\n  \"data\": {\n    \"message\": \"Warning! {{states[states.alarm_control_panel.house.attributes.changed_by.split(\\\".\\\")[0]][states.alarm_control_panel.house.attributes.changed_by.split(\\\".\\\")[1]].name}}\",\n    \"title\": \"ALARM\"\n  }\n}\nreturn msg;","outputs":1,"noerr":0,"x":980,"y":310,"wires":[["c06567f2.e66a5"]]}]
2 Likes

This is what I have under the “sensor:” category in my configuration.yaml:

  - platform: time_date
    display_options:
      - 'time'

Hope this helps.

Hey, New to this so I’m having a problem with the panel_custom.yaml file. Home Assistant is saying the config is incorrect. I have tried to use the online parsers to validate the code. I cut and pasted the code into a new file after deleting the old file and am getting the same results.

Everything seems to be working and loading fine. I have placed the panel_custom.yaml file in the same directory as the configuration.yaml file. Below is the code used from this site that I am using. the dot in front of the name: is actually a dash. Don’t know why it’s not showing up correctly.

  - name: alarm
    sidebar_title: Alarm
    sidebar_icon: mdi:security-home
    config:
alarmid: alarm_control_panel.house ## USE THE SAME ID AS USED IN YOUR ALARM.YAML

At wits end here as the panel will not pull up in my Home Assistant browser window.

- name: alarm
  sidebar_title: Alarm
  sidebar_icon: mdi:security-home
  config:
    alarmid: alarm_control_panel.house ## USE THE SAME ID AS USED IN YOUR ALARM.YAML

Looks like this in mine :slight_smile: , did you try ctrl-f5 after restarting HA?

Hey

How did you get Dark Sky Panel like that?

Please read the blue banner at the top of the page and edit your post accordingly. We need to see the proper indentation of your configuration to assist with debugging.

Hi there-
Thanks for this great project. I’m just experimenting with this and it’s mostly working great. However, I noticed an issue with “override sensors”. I have set up my armed_away mode as follows:

 armed_away: 
  #[OPTIONAL] State specific overrides default time above
  trigger_time: 600  
  ##[OPTIONAL however either an immediate or delayed group must exist] Sensors in this group tigger the alarm immediately 
  immediate:
    - binary_sensor.door_side_garage
    - binary_sensor.window_office
    - binary_sensor.window_living_room
    - binary_sensor.window_dining_room
    - binary_sensor.window_master_bedroom
  ##[OPTIONAL] Sensors in this group start the clock (pending_time) when tripped before the alarm is triggered 
  delayed:
    - binary_sensor.door_front
    - binary_sensor.door_garage
  #[OPTIONAL] Use this group to automatically override the warning message on open sensors when arming. (I use this as I have a motion sensor at the front door)
  override:
    - binary_sensor.motion_hall
    - binary_sensor.motion_living_room

I specified “override” for the motion sensors for the same reason as specified in the comments- I need to be able to walk around the doors while arming and leaving. That works.

However, once the alarm is armed_away, the motion sensors remain on the inactive list, and do not trigger the siren if there is motion. Really, they should only be ignored while in the pending arming stage, and they should trigger the siren immediately if there is motion after arming. Have I missed some configuration option?

Thanks again!
-John