Ring Security - Extend Heimdall with Ring Security products

Thanks for the update. Sorry if I’m a bit unclear. So the count down is active but there are no indications that it’s active, so no sound or light. When 30 sec is over the keypad says armed as normal. But during the countdown there are no sound or light indicators.

Just removed it and added it to Homey again but still
Does not work. Checked the sounds settings but everything looks fine.

Tried to add my keypad v2 and that one has a sound setting called “announcement audio volume”, but the v1 does not. However, I have a hard time getting the v2 one to work at all. Even with proximity of. So can’t test it right now. But will let it charge the battery to 100%

The same problem here with the V1 keypad! It does the countdown but without sound or indicators. But I found out that the sound now comes from the Homey itself! It seems like somehow the sound countdown is now set to pass via Homey and not via the keypad?!

I can’t find a fix for this, anybody else with a solution? Hope so, the V1 keypad and heimdall app used to work flawlessly!

I will look into it, there has not been an update of the Ring Security app since last October so I’m curious since when you have no audible and visible indication on the keypad while a countdown is active.

Many thanks! I’ve had the problem since about 1-2 weeks I guess. In january I had no problems. I can see a Heimdall update in my timeline about 9 days ago and that could match the moment where I started to have problems.

Thank you very much for all the hard work creating and maintaining this app! I’ve made a donation.

@Johan_Mauritzson, @Heronimus, @JVDV
Found the bug, thanks for reporting. The new version 0.2.11 is published.

Thanks for the donation @JVDV. Much appreciated!

New version published

Version: 0.2.11

  • Fixed bug Arming and Alarm delay

When preparing the last version of Heimdall* for the older Homey’s I cleaned up some code but unfortunately was a bit to thorough leading to the Arming- and Alarm Delay no longer working good on the Ring Keypad from the 1st generation.

* Please read this post on the last version of Heimdall for the older Homey’s

Problem solved! Homey itself is also speaking the countdown as well as the keypad now. Anyway to kill the countdown on the Homey device without setting the soundlevel to zero?

Thanks @DaneedeKruyff for the quick fix!

You’re welcome!

To disable the speech through your Homey, go into Heimdalls settings, open the Settings tab and scroll all the way down.

Installed the 0.2.11 app, and indeed the LEDring now kind of works. But it’s doing it in a rap style, like in house music.

Its overwelming the Ring device, and it’s hard to unlock with security code. I did never see this behavior before. Did a Homey restart after the update, but that didn’t help.

Hi Jeroen,

I’ve just checked this and you’re right, mine does that too. I’ve looked into the code of both Heimdall and Ring Security and was able to fix it. This does however require me to publish an new version to the App Store for both apps, something which I’m a bit reluctant to do because I had to freeze Heimdall for the current version of Homey in preparation of the new Homey Pro early 2023.
I did however publish a test version of Heimdall a bit earlier that works on both older and newer Homeys, I have published the changes I just made to a newer test version.
You can easily install this version from the App Store, all settings, flows etc. will stay the same.

New version published

Version: 0.2.12

  • Fixed bug Arming and Alarm delay

The previous update to 0.2.11 did not fix the problem correctly. This update does, but it requires also a newer Heimdall version, 2.10.3. This new version of Heimdall is published to the test channel of that app: Heimdall | Homey

If you don’t want to install a test version you will have to wait until this test version is promoted to stable, I expect that to be within 2 weeks.

Yes! Working as sweet soul music. This is what it used to be. Thanks for your quick responce & fix :slight_smile:

1 Like

You’re welcome, thanks for reporting!

I have installed 6xRing Motion Sensor (2nd Generation) to my Homey, the installation went just fine, but for some strange reason the sensors never disable the alarm, after a alarm is detected.
I also installed 10 Ring contact sensors and a keyboard and they work just fine, it is only all the motion sensors.
I have tried to remove them all and add them again, but still the same issue. They are working for 2 minutes or so and then they just are freezing with the “Alarm has been detected”.
What can I do?

Hi Paw and welcome to the forum.

Because I don’t have a 2nd Generation Motion Sensor I wrote the driver based on guessing, think I got it partially right :wink:

What I want to have is a piece of logging from one of your motion sensors. How to get this? Well, could you please go to Homey Developer Tools in a browser on a computer and after logging on go to the Z-Wave section Homey Developer Tools Zwave

Decide on which sensor is easy for you to trigger and leave alone for a while and find the NodeID of that device in the Nodes list.
Next, scroll down to the Log part of the page and turn logging on using the Logging Enabled slider.
Next, type Node[x] in the Filter below the Log and replace the x with the previously found NodeID. This will filter the log so only reports from that specific device is shown.
Now trigger the motion sensor, and wait for at least 3 minutes (this is the default interval at which the sensor will go into no motion state after the last detected motion) until the last report is written for the device. No copy the information (there’s are 2 buttons next to the slider, copy is the one on the right) and post the log information here.

Hi Danee,

Thank you :slightly_smiling_face:

This is the only thing I get from the log when searching for Node[191], I have been waiting 10 minutes and it looks like it never get called after 3 minutes:

[2023-03-03T12:37:50.862Z] Node[191]: [COMMAND_CLASS_SECURITY_2] {"Properties1 (Raw)":{"type":"Buffer","data":[1]},"Properties1":{"Key Request Complete":true,"Key Verified":false}}
[2023-03-03T12:38:11.842Z] Node[191]: [COMMAND_CLASS_NOTIFICATION] {"V1 Alarm Type (Raw)":{"type":"Buffer","data":[0]},"V1 Alarm Type":0,"V1 Alarm Level (Raw)":{"type":"Buffer","data":[0]},"V1 Alarm Level":0,"Notification Status (Raw)":{"type":"Buffer","data":[255]},"Notification Status":"On","Notification Type (Raw)":{"type":"Buffer","data":[7]},"Notification Type":"Home Security","Event (Raw)":{"type":"Buffer","data":[8]},"Event":8,"Properties1 (Raw)":{"type":"Buffer","data":[0]},"Properties1":{"Event Parameters Length":0,"Sequence":false}}

If I search “Node: 191” I get this:

[2023-03-03T12:37:50.485Z] [ProcessSendData]: To node: 191 with data: 0x9f01cf and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:50.542Z] [ProcessSendData]: To node: 191 with data: 0x9f03d001124116192001b8afe54b778f426abd9a7b358eba7fe64edb3fd0ace8d5 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:50.868Z] [ProcessSendData]: To node: 191 with data: 0x9f01d1 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:50.927Z] [ProcessSendData]: To node: 191 with data: 0x9f03d20112416dbec6559a2df9c1e92884648ec71fb88bde8b3c68f20c4597b5 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.116Z] [ProcessSendData]: To node: 191 with data: 0x9f03d300f59f8499c68736f763560d and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.209Z] [ProcessSendData]: To node: 191 with data: 0x9f03d400164b443c6f520b975f7c1c and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.275Z] [ProcessSendData]: To node: 191 with data: 0x9f03d500ee89b8ec642b4259d7ccb9 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.341Z] [ProcessSendData]: To node: 191 with data: 0x9f03d6009cd8f4c45ba2a56db4f93a and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.413Z] [ProcessSendData]: To node: 191 with data: 0x9f03d700b89907cdae8f3d7137abcf and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.491Z] [ProcessSendData]: To node: 191 with data: 0x9f03d8002d12b6d2f90ef4951cc677 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.558Z] [ProcessSendData]: To node: 191 with data: 0x9f03d900dc7f1c1459b2e04b7ffa74 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.639Z] [ProcessSendData]: To node: 191 with data: 0x9f03da00e70084e0784787bca5cc8b and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.700Z] [ProcessSendData]: To node: 191 with data: 0x9f03db008ce65e9eca2502c8a3d3ad and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.760Z] [ProcessSendData]: To node: 191 with data: 0x9f03dc00dbcef9b00b8e65bc5dda90 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.813Z] [ProcessSendData]: To node: 191 with data: 0x9f03dd00b00bfe5dabe34aae11eb16 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.929Z] [ProcessSendData]: To node: 191 with data: 0x9f03de00b149b2a11cbc5f0febd6c3 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:51.994Z] [ProcessSendData]: To node: 191 with data: 0x9f03df00c5bfba3718a528aa64dbef and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:52.053Z] [ProcessSendData]: To node: 191 with data: 0x9f03e0007ca5846b29f17cc3b2ccc9 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:52.142Z] [ProcessSendData]: To node: 191 with data: 0x9f03e100e316038a5324dd092c4a58 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:52.194Z] [ProcessSendData]: To node: 191 with data: 0x9f03e200728421f3ffcb024f621f4b and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:52.448Z] [ProcessSendData]: To node: 191 with data: 0x9f03e300260509717611108c97feec and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:52.665Z] [ProcessSendData]: To node: 191 with data: 0x9f03e40086e4f11f90f14108ca52 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:52.795Z] [ProcessSendData]: To node: 191 with data: 0x9f03e5003140ee64c58744d91879 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:52.856Z] [ProcessSendData]: To node: 191 with data: 0x9f03e60033f2666382a614986f74 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:52.919Z] [ProcessSendData]: To node: 191 with data: 0x9f03e700adc59f5809541ef51b4b and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:52.974Z] [ProcessSendData]: To node: 191 with data: 0x9f03e8002ebc6b3344b344224cb40c and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:53.038Z] [ProcessSendData]: To node: 191 with data: 0x9f03e900bf7b691dd4e0469b1538beaaf8a698e1 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:53.924Z] [ProcessSendData]: To node: 191 with data: 0x9f01e7 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:37:53.989Z] [ProcessSendData]: To node: 191 with data: 0x9f03e80112417f186ee64250e27aa584ab93ec96807e24be75fa2b3195ecaa99205284f27d51 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:38:11.840Z] [ProcessSendData]: To node: 191 with data: 0x6c0201ff00 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:38:23.015Z] [ProcessSendData]: To node: 191 with data: 0x9f02e901614a2bda3df5996cb3c0770d3a261584 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:38:39.681Z] [ProcessSendData]: To node: 191 with data: 0x9f02ea0129427878bdc63ccd5371afdee4932803 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE
[2023-03-03T12:38:48.936Z] [ProcessSendData]: To node: 191 with data: 0x9f02eb01e0923292364659794cecd932dff411d6 and txOptions: TRANSMIT_OPTION_ACK,TRANSMIT_OPTION_AUTO_ROUTE,TRANSMIT_OPTION_EXPLORE

Can you figure what’s wrong?

I just got this one:

[2023-03-03T12:52:55.916Z] Node[191]: [COMMAND_CLASS_NOTIFICATION] {"V1 Alarm Type (Raw)":{"type":"Buffer","data":[0]},"V1 Alarm Type":0,"V1 Alarm Level (Raw)":{"type":"Buffer","data":[0]},"V1 Alarm Level":0,"Notification Status (Raw)":{"type":"Buffer","data":[255]},"Notification Status":"On","Notification Type (Raw)":{"type":"Buffer","data":[7]},"Notification Type":"Home Security","Event (Raw)":{"type":"Buffer","data":[8]},"Event":8,"Properties1 (Raw)":{"type":"Buffer","data":[0]},"Properties1":{"Event Parameters Length":0,"Sequence":false}}

But I still only see this:

The [COMMAND_CLASS_NOTIFICAION] is the one I that’s interresting, I’ve made the first one more readable:

[2023-03-03T12:38:11.842Z] Node[191]: [COMMAND_CLASS_NOTIFICATION] 
{
    "V1 Alarm Type (Raw)":
    {
        "type":"Buffer",
        "data":[0]
    },
    "V1 Alarm Type":0,
    "V1 Alarm Level (Raw)":
    {
        "type":"Buffer",
        "data":[0]
    },
    "V1 Alarm Level":0,
    "Notification Status (Raw)":
    {
        "type":"Buffer",
        "data":[255]
    },
    "Notification Status":"On",
    "Notification Type (Raw)":
    {
        "type":"Buffer",
        "data":[7]
    },
    "Notification Type":"Home Security",
    "Event (Raw)":
    {
        "type":"Buffer","data":[8]
    },
    "Event":8,
    "Properties1 (Raw)":
    {
        "type":"Buffer",
        "data":[0]
    },
    "Properties1":
    {
        "Event Parameters Length":0,
        "Sequence":false
    }
}

The "Event":8, is the important one in this report is the one the app uses to turn the alarm_motion capability in the device on. When a [COMMAND_CLASS_NOTIFICATON] with "Event":0, is received the alarm_motion capability will be set to off but it seems this message is either never sent or never received by Homey. I say this because the second report you send contains the same "Event":8, and I assume you would have send other reports to if there were any in between.

I expect a Z-Wave device to always send both state changes, from off to on and from on to off and that’s also how the 1st generation Motion Sensor operates.
Maybe @Caseda can comment if this mandatory in the Z-Wave standard.

No this is not mandatory to send the off message, but it is mandatory to be different messages.

Some manufacturers believe that a device is a security device, hence it needing a manual revert to “no”.
Perhaps Ring added a parameter to enable the off message though, like Fibaro has for their tamper alarms, though Fibaro has that “send cancel message” on by default.

1 Like

Thanks Caseda. At the time I included the device there was no documentation yet, I’ll see if I can find anything now.

@fnoller could you please collect some more [COMMAND_CLASS_NOTIFICATION] reports and if you find any (for any Ring Motion Sensor) that is different from the earlier provided post it here?