Custom Component: Crow Runner / Arrowhead AAP 8/16 Alarm IP Module

My thinking was that this needn’t be connected in anyway to the custom component that @febalci has created. If the point is to get a notification that your alarm system is disconnected from the network, then all that would be required is a very simple automation with an component that already exists and which most people use anyway. Integrating this into the custom component wouldn’t really add anything at all - since you’d still need to create exactly the same notification automation to deal with the detection of the disconnected alarm.

Thanks for the reply. So Arrowhead got straight back to me as they usually do with the firmware and I have just flashed it. Then it came straight up, binary sensors and panel all work perfectly. I just need to figure out now how to do the notifications when triggered etc, then its already better than the stock App.
Any pointers on setting up notifications with Pushbullet would be handy…
If anyone needs any documentation or info about Arrow Heads products then I have an account here with them in NZ and have installed a few of their alarm systems and controls etc.

This is what i use with pushover:
Alarm Trigger Message:

- alias: Alarm Trigger Message
  trigger:
  - platform: template
    value_template: "{{is_state_attr('alarm_control_panel.area_a','alarm', True) }}"
  action:
  - service: notify.pushover
    data_template:
      message: >
        {% set zone_names = ['Giriş PIR','Çatı MK','Zemin MK','Sinema MK','Mutfak PIR','Sinema PIR','Üst Kat MK','Mutfak Pencere Kablosuz','Salon PIR','Çalışma Oda PIR','Çocuk Oda PIR','Misafir Oda PIR','Ebeveyn PIR','Ebeveyn MK','Çocuk Oda MK','Sinema Oda Kablosuz'] %}
        ALARM: {{ zone_names[state_attr('alarm_control_panel.area_a','alarm_zone') | int -1 ] }}

Power Cut/Back On:

sensor:
  - platform: template
    sensors:
      home_power:
        friendly_name: "Home Power"
        device_class: power
        value_template: "{{ is_state_attr('sensor.crow_alarm_system', 'mains', True) }}"
- alias: Home Power
  trigger:
  - platform: state
    entity_id: sensor.home_power
  condition:
    condition: template
    value_template: >
      {{ trigger.from_state.state != 'unknown' }}
  action:
  - service: notify.pushover
    data_template:
      message: >
        {% if is_state('sensor.home_power','True') %}
        Power Back On...
        {% else %}
        Power Cut!!!
        {% endif %}

Btw, this is my TODO list; hopefully one day…

  • When component goes off (network etc.); change all entities to ‘unavailable’.
  • When HA restarts; update all entities just after the connection is established; don’t wait for refresh time.
  • Check network disconnects real-time.
  • Add the repository to HACS
1 Like

Hi, Wow thanks for all this.
I am just trying to get my head round how your code works. Sorry I am not a code expert and am learning as I go.
In the trigger message code, I assume the states come from the alarm IP module? and the zones are what we set in the config.yaml?
The power cut/back on sensors(Home Power), are they separate sensors you have or are they sensors created from the messages from the IP module?
Is there a list anywhere of data/sensors that the IP module sends back to HA??

Sorry for all the questions.

Regards

Simon

@febalci

Hello, OK I am pretty lost.

I have put this in my config.yaml

#Arrowhead Alarm

crowipmodule:
  host: 192.168.1.90
  port: 5002
  keepalive_interval: 60
  timeout: 20
  areas:
    1:
      name: 'Home'
      #code: '1234'
    2:
      name: 'None'
      #code: '1234'
  outputs:
    3:
      name: 'spare1'
    4:
      name: 'spare2'
  zones:
    1:
      name: 'Firearms'
      type: 'motion'
    2:
      name: 'Hallway'
      type: 'motion'
    3:
      name: 'Office'
      type: 'motion'
    4:
      name: 'Smokes'
      type: 'smoke'
    5:
      name: 'Master bed'
      type: 'motion'
    6:
      name: 'Family room'
      type: 'motion'
# Alarm sensor setup
sensor:
  - platform: template
    sensors:
    home_power:
    friendly_name: "Home Power"
    device_class: power
    value_template: "{{ is_state_attr('sensor.crow_alarm_system', 'mains', True) }}"

and this in my automations-:

- alias: Alarm Trigger Message
  trigger:
  - platform: template
    value_template: "{{is_state_attr('alarm_control_panel.area_a','alarm', True) }}"
  action:
  - service: notify.pushover
    data_template:
      message: >
        {% set zone_names = ['Firearms','Hallway','Office','Smokes','Master Bed','Family'] %}
        ALARM: {{ zone_names[state_attr('alarm_control_panel.area_a','alarm_zone') | int -1 ] }}

- alias: Home Power
  trigger:
  - platform: state
    entity_id: sensor.home_power
  condition:
    condition: template
    value_template: >
      {{ trigger.from_state.state != 'unknown' }}
  action:
  - service: notify.pushbullet
    data_template:
      message: >
        {% if is_state('sensor.home_power','True') %}
        Power Back On...
        {% else %}
        Power Cut!!!
        {% endif %}

and I get this config error-:

Configuration invalid
Invalid config for [sensor.template]: expected dictionary for dictionary value @ data['sensors']. Got None
extra keys not allowed @ data['device_class']. Got 'power'
extra keys not allowed @ data['friendly_name']. Got 'Home Power'
extra keys not allowed @ data['home_power']. Got None
extra keys not allowed @ data['value_template']. Got "{{ is_state_attr('sensor.crow_alarm_system', 'mains', True) }}". (See ?, line ?). 

Could you please tell me what I am doing wrong?
Thanks.
Simon

I know this is an old question but If its the same as the Arrowhead Elite using the IP module, you need a separate IP loom kit to be able to upload and download to the alarm. Its basically a ribbon cable thats fitted between the connection for the D-Link cable and the alarm board and also another multi cable that gives the ip module it power etc.

Without these two you cant use it. Any problems just ask, I have used it installing the product.

@Crumpy10 Isn’t this just for remote upload/download of alarm settings? I’ve been using my IP module without that ribbon cable with no issues whatsoever (using a Runner 8/16). I’ve never needed to remotely change settings on my alarm. In terms of power, everything seems to power fine from the 12V input terminals on the IP module.

@jokkydee Yes, thats correct. Just makes it easier than typing in loads of codes on the key panel. everything is laid out in a GUI to change.

You are also correct about the 12vdc, when we installed them we fitted the ribbon cable so didnt need the 12vdc wires as well. Less to try and get in the terminals.

I dont suppose you know why I am getting the errors in my previous post do you? Its driving me mad…

Cheers

Simon

The indentation in configuration.yaml sensor looks wrong:

sensor:
  - platform: template
    sensors:
    home_power:
    friendly_name: "Home Power"
    device_class: power
    value_template: "{{ is_state_attr('sensor.crow_alarm_system', 'mains', True) }}"

Should be like this:

sensor:
  - platform: template
    sensors:
      home_power:
        friendly_name: "Home Power"
        device_class: power
        value_template: "{{ is_state_attr('sensor.crow_alarm_system', 'mains', True) }}"

Ah man I have looked and looked at this on and off all day and couldnt figure it out!

The config is now valid. Thanks for your help, will test it out when the hour is more social!

Trigger message code:I couldn’t find a way to get zone names directly from configuration.yaml; so that’s why i entered the zone names exactly in the order i entered in the configuration.yaml to the trigger automation code, as dictionary:

{% set zone_names = ['Giriş PIR','Çatı MK','Zemin MK','Sinema MK','Mutfak PIR','Sinema PIR','Üst Kat MK','Mutfak Pencere Kablosuz','Salon PIR','Çalışma Oda PIR','Çocuk Oda PIR','Misafir Oda PIR','Ebeveyn PIR','Ebeveyn MK','Çocuk Oda MK','Sinema Oda Kablosuz'] %}

For the power cut:
Since the power mains status is an attribution on sensor.crow_alarm_system, i created a sensor “Home Power” to read the value from sensor.crow_alarm_system mains attribute. So, the “Home sensor” acts as the mains attribute but as a sensor itself. You can see the sensors under Developer-States-sensor.crow_crow_alarm_system as attributes; like mains power, phone line, battery status, pendant battery status etc.

UPDATE: Check message number #9 in this topic for the IP Module commands…

Ok Thanks for the info, I think I understand. Will take a look at the IP module commands, I think I have that info in a folder somewhere as well…

By remote upload/download do you mean upload/download without using the d-link cable and via network connection? So that i can use the upload/download software from a network connected windows pc to backup settings from the panel? I thats the case i better get myself a ribbon cable :grinning:

Btw, on the crow alarm panel, i have this voice-board attached to the dlink port. It also has an empty dlink port on it. So that means i can use the dlink cable for upload/download without taking out the voice board??

@febalci Yes thats correct, I have not uploaded or downloaded since I changed the firmware but it does still connect so should work. I can try this over the weekend and let you know.

I have not had any experience with the voice boards but I would imagine if you can use the dlink cable in this port then it is just a through connection for this purpose.
Is that white edge connector already connected to your ip module?

The only thing is, to change any of the settings we may have to disconnect HA.

Oh thx @Crumpy10, gonna try to backup my panel settings in the weekend. A routine backup is not necessary since i almost never change any panel settings, so only one backup will be enough for me for a disaster scenario; that’s why i am gonna try it from the voice board port.

Btw, the picture was an old one taken before the pre-ip module installation; that one edge connector is for the Freewave2 module for wireless sensors. Now the empty port there is also filled up with the ip-module.

Additionally i am planning to write to AAP NZ guys; for an additional IP Module command to set the Alarm Panel Clock and Date. So that every XX minutes/days/weeks etc. HA may set the current time/date of the panel from the computer date/time. Even though i set the time and date every month, it still goes fast or slow by some hours for whatever reason. I really get sick of setting P2086 etc etc to set date and time…

Ahh that would be most excellent if I can use the upload/download software to backup or restore alarm panel settings via network connection!! I had tried and tried using the D-link connection to no avail, so I’d definitely like to try out this ribbon cable to see if it works over network. Is it fairly straight forward to get it working? That upload/download software seemed pretty archaic and not the most user friendly. Any tips we should know about on how to get it work over network?

Ok, Sorry for the delay in response. Life stuff getting in the way this weekend.

Right, So I have just used the ULD16 Upload/Download software to backup the alarm config to my PC.

  1. Stop home assistant (not sure if required but thought more than one login might not be liked)
  2. Start ULD16 Software.
  3. In Communications tab, select source and then TCP/IP (Winsock), Done.
  4. Insert your local IP number for your alarm panel and Port 5001.
  5. Hit Connect, you should get a panel Version and Data version number in the top right corner. You should also see RX/TX flickering green.
  6. Hit PW>>PC to download config from panel to your PC.
  7. Now this is important. Press disconnect once.
  8. At this point you can either change things or save the config as a backup. If your just backing up, save the config somewhere safe and your done. Exit the ULD software and reboot HA.
  9. If you changed things in the last step then you now need to connect again.
  10. Now press PC>>PW to upload your changes to the alarm panel.
  11. Your done, press disconnect, exit the ULD software and restart HA.

I am assuming you all have the ULD software, if you dont PM me and I can always email to you.

Cheers

Simon

Thanks a lot @Crumpy10. Some reminders for other friends:

  1. Runner8 Up/down software from Crow Group: This does not have TCP/IP connection. It is version 1.4 back from 2008s. It only connects with COM port (DLINK Cable) and Modem. You have to get the ULD16 version 2.0 from AAP group. Look for the one which is for ELITE S. That one has TCP/IP connection.

  2. I managed to backup all my config using DLINK cable both for 1.4 and 2.0 versions. The PW>>PC gets some configurations but LCD>>PC gets almost all configurations. For example Zone names etc were missing in PW but with LCD i managed to get them.

  3. I bought a 10 pin ribbon cable with connectors locally for 1 USD. It s not a crow or IP loom cable. You can look for it as ‘2x5 ribbon cable’ or ‘10pin ribbon cable’. However, the connector direction of mine might be flawed since it didn’t worked.

In the picture above both their notch sides are up and red line is on left. It doesn’t match with the picture of red cable line shown below:

@Crumpy10, i want to make sure yours is like the aap document shown, if so, i will to take apart and correct one of the connectors. That means, the red line is on pin1 on one connector and last pin on the other side connector.

Hi, Thats good to know about backing up from the LCD as well you would make a good security installer @febalci :wink:
Yes mine is like the diagram above and also notice the small crossover in the cable near the left hand connection.

1 Like