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

Just to add an update, i reached out to AAP and they were super helpful, it turns out my board had the firmware upgraded to work with their new APP which doesnt support downgrading, but i sent it back and they sent me a board with an older firmware, flash the firmware with telnet enabled and we are away :smiley:

Sorry for hijacking this, but I made a cheaper option that I think will be interesting for a lot of you guys:

It uses an ESP8266 (Wemos D1 mini) to interface with the Crow Runner 8/16 using the DAT and CLK lines. You only need a Wemos D1 mini, 4 resistors or a logic level converter and 2 wires. And a power source for the Wemos, obviouslyā€¦ :wink:
It reports active zones, triggered zones and alarm status using MQTT.
It also allows activation of the alarm using the bus or emulated keyswitches.
This makes it easily usable with Home Assistant using ā€œMQTT Alarm Control Panelā€

Itā€™s a work in progress, but Iā€™m using it to great success.

2 Likes

hey @maddoctor, it is great you took your time to implement thisā€¦ In the past i also met sivannā€™s solution but never found the courage to work on it on live system. This will be a great and a lot cheaper solutionā€¦

Maybe in the future you or someone else can port your solution to ESPHome also. Great work and thank you very much for implementing this alternativeā€¦

Also, it would be great if you can put a visual picture of pinout connection; i can also draw it in Fritzing if you can send me a connectÄ°on picture. Are you feeding the ESP with a separate adapter or from Crow? I guess we need a 12V-5V converter for thatā€¦

I still have it set temporarilyā€¦ Previously I used an esp32 to get the pir signals from the alarm.

It will be powered from the alarm panel, as is the esp32 nowā€¦
Iā€™m using a breadboard, but will use a perfboard for the final version. Will send pictures ASAP.
Also, instead of the relays, Iā€™ll use octocouplers, as I am doing in the esp32, for the alarm control (I know I could use transistors aswell). I only talk about relays in the description because it will be easier for most usersā€¦

About esphome, I really canā€™t see the advantage of doing it, so I wonā€™t do it myselfā€¦ It seems difficult to implement the alarm ā€œcommunication protocolā€ in esphomeā€¦

Iā€™ll also post, in the github repository, the yaml configuration for the ā€œMQTT Alarm Control Panelā€, sometime in the futureā€¦

Hey guys,

I have a random problem of setting crow alarm ā€œArm Awayā€ and ā€œDisarmā€ problem by itself. Every once in a while (About every 2-3 months), Crow Runner panel decides to set alarm mode away and disarm repeatedly and randomly.

The Arm Away at 09:03:45 i set it myself from the keypad. But all the rest it made itself !?

When i come home i checked the Runner keypad and saw that all these are set by ā€œKeyswitch 1ā€. Funny thing is i donā€™t have any keyswitch connected to the runner alarm.

In the last time i had this problem, i tried to change these settings:

and set 1 (Can arm) and 3 (can disarm) set to false. But evidently i couldnā€™t save the settings since today i have the same problem and all these settings were in default again. So i made the changes, saved them, checked again and now it looks like all is good.

My real problem therefore is, why does it thinks there is a keyswitch in the system and it is changing on and off on random times. Could it be a stripped cable or something?

The manual says:

Tamper
A 24Hr tamper circuit is available for monitoring system tampers. This Tamper circuit is
programmable as either normally closed loop or 2k2 EOL supervision (the default is normally
closed loop). Any Tamper alarms on this input are mapped to alarm outputs in the same
manner as for detection zones 1-16. Using Dual-End-of-Line resistors (Refer to Zone Type 15
on Page 13) the Tamper input can also provide two key-switches. The Low key-switch (4k7
resistor) is Key-switch 1 while the High key-switch (8k2 resistor) is Key-switch 2.
In addition to the Zone & Tamper inputs, you will find the following additional inputs on the
control PCB

My tamper pin is connected to siren with a 2K2 resistor. My cables are a total mess with 16 zones and several sensors on each zone and my last resort would be to look for stripped cablesā€¦

Do you guys have any idea what might be the real problem??

the wire going/coming from the tamper connection (3rd from the right) might be causing the issue. Keyswitches are connected to that place using resistors of certain valuesā€¦ aditional resistance on the wire might be causing the issue. Having it going to the siren seems like a problem, as it is probably far away and outside, prone to oxidation and such.
As a side note, thatā€™s what I use to control the alarm in my project referenced aboveā€¦ :wink:

1 Like

I have now reverse engineered the communication protocol enough to implement bidirectional communication so, besides monitoring, I can now arm, disarm and trigger the alarm just by using the data busā€¦ Iā€™ll update the code soon and give additional info on how to connect the interface. This way, all you need is a wemos d1 mini, 3 wires for the interface, a power source for the wemos (can come from the alarm panel with a step-down) and a logic level converter (or 4 resistors and 2 2N7000 mosfets to build your own).

2 Likes

As other has mentioned, look for bad connections in the key/tamper circuit.
I had a simular issue caused by a faulty door magnet.

I have one alarm circuit going to the garage there one zone (resistor) is for the garage doors and the other is for smoke detector.
One magnet contact for the doors was increasing resistance fooling the alarm system that the smoke detector was tripped.

Quite ā€œinterestingā€ to find out in the middle of the nightā€¦

That would be a huge help! What exactly would be required to get this up and running?

Go to my github - the link is a few posts earlier

Can this be used in parallel with the preexisting keypad, without any programming changes required to the alarm system?

Yes, of course. In parallel with all the keypads you currently have. You only need to make programming changes if you want to trigger an alarm using the panic button.

Hi,
Would you be able to send me the firmware mentioned in your post?
regards,
AC

did it work for you?

I only have an ESP32 on hand, not a ESP8266, so Iā€™ve gotta fix the ESP8266 specific code before I can test it.

Iā€™ll post in here once Iā€™ve got a proof of concept up and going. :slight_smile:

Hi,

I need to double press for the ARM to succeed. When I press 1 time using HASSIO arm panel, the crow module beep 4 times with status arming but then it stopsā€¦ I need to press again for it to arm.

Let me know if you need any debug logs and how should I do them.

Regards,
Nuno Silva

I assume that Iā€™m not the only one who has got this warning in the HA logs since 2024.1.
Is it anything that can be adjusted?

Logger: homeassistant.components.alarm_control_panel
Source: helpers/deprecation.py:205
Integration: Larmkontrollpanel (documentation, issues)
First occurred: 1 februari 2024 kl. 13:49:51 (5538 occurrences)
Last logged: 22:04:49

FORMAT_NUMBER was used from crowipmodule, this is a deprecated constant which will be removed in HA Core 2025.1. Use CodeFormat.NUMBER instead, please report it to the author of the 'crowipmodule' custom integration

I noticed it and raised an issue Deprecation warning in HA 2024.1.2 Ā· Issue #4 Ā· febalci/ha_pycrowipmodule Ā· GitHub but didnā€™t have time to investigate and submit a pr to fix it yet.

I can confirm I have utilised this to link my Arrowhead ESL-2 with home assistant via the keypad bus. Appears all be working as expected.
I can arm, disarm as well as monitor zone activity as binary sensors. I have the original firmware so have kept access via elitecloud APP.
Output control I have paralleled with another ESP32. I had an ESPhome config I was using previously to monitor sensor voltages and alarm outputs.
The outputs (3 Garage door relays) remain connected via the original setup

Hello,

Iā€™m new to the forum, I have a Crow Runner panel 8/16 since 2009 at my house, and Iā€™m absolutely amazed with this topic and the stuff all of you shared here (a lot of it I have still to completely understand but itā€™s absolutely ā€œpowerfullā€ā€¦)

At this time, and to start, Iā€™m just trying to connect a pc to the panel through the Upload/Download software but I donā€™t want to buy the D-Link cable, itā€™s very hard to find on Europe and truly expensive on other countries (because of shipping costs).

I understand basic electronic, soldering, etc, etc, so Iā€™m going to build the interface. First Iā€™ll buy online an UART-TTL USB adapter (those with a jumper to set voltage to 3,3V) and connect as follow:

(UART-TTL) TX <----> RX (Crow Runner D-LINK Interface on motherboard panel)
(UART-TTL) RX <----> TX (Crow Runner D-LINK Interface on motherboard panel)

And what about GND? What should I do?

I have to connect the GND pin (on UART side) to the four pins GND on interface D-LINK side?

Besides GND do I need to connect any other pins between UART-TTL and the 14 pin D-LINK interface on the Runner motherboard panel?

Iā€™m reading the interface on my panel as follow:

image

Pins 1, 7, 8 and 14 are not used on the connection

Pin 6 is RX

Pin 12 is TX

Pins 4, 9, 10 and 11 are all GND

(The pinout I present above is a ā€œdirect translationā€ of the interface on IP module that the user @jokkydee presented above on one of his posts, and I hope is the same pinout on motherboard D-Link interface. Is it the same or I will fry my panel?)

Iā€™m sorry to put this question here, I guess is a little off-topic, but I did not find another place better to put itā€¦

Can anyone, please, answer my questions so I do not fry my panelā€¦

Thanks in advance!

A last questionā€¦is it still possible to buy the IP module so I can connect my panel to Home Assistant? Or Iā€™ll be better buying the Wemos module?

Thank you all! And keep up the good work!