Heimdall - Let Homey watch over your home



Heimdall - Let Homey watch over your home.

This app enables you to use your Homey as a surveillance system.


Supported languages

:netherlands: Dutch
:uk: English


Please leave a rating or review in the app store.

How does it work?

All detected motion and opened/closed doors/windows on the sensors you select will be seen by Heimdall. All these events will be logged and when Heimdall is in a Surveillance Mode the alarm will be triggered.


After you’ve completed the instructions above and feel comfortable with Heimdall you’re ready for the Advanced Functions in Heimdall

Select the devices to monitor on the settings page

There are three possible Surveillance Modes these are: Disarmed , Armed and Partially Armed . Per sensor you can decide if it will be monitored while Armed , Partially Armed or in both modes. To give you the opportunity to leave the house after setting an Armed or Partially Armed mode or to Disarm when entering your house you can enable a Delayed Trigger on the desired sensor.

:arrow_up: Instructions overview

Add a Surveillance Mode Switch

Go to the devices page and when adding a device select the Mode device from the Heimdall app.

Select the Surveillance device and click next for the device to be added.

:arrow_up: Instructions overview

Add flows to activate and deactivate the desired Surveillance Mode

There are several methods to change the Surveillance Mode , either by a flow and/or by using the Surveillance Mode Switch in the Homey app on your phone. If you have the Homeykit app installed you can even use the Homekit app on your iPhone or iPad to set the Surveillance Mode.

To change the Surveillance Mode from a flow you will have to use the Set Surveillance Mode card from the Surveillance Mode Switch in the …then column.


:arrow_up: Instructions overview

Add a flow with the desired actions when the alarm is triggered

To set the action Homey should take when the Alarm State is activated you need to make a flow with the The alarm is activated flow card as the trigger. That flow card has the Zone and Reason token which will show what sensor was the tripped and which zone it belongs in.


:arrow_up: Instructions overview

Add a flow to deactivate the alarm

Deactivating the alarm can be done in either of two ways. The first is by using the Deactivate Alarm flow action card, the second by using the Alarm Button you can add from the app.


:arrow_up: Instructions overview

Add an Alarm Button

Go to the devices page and when adding a device select the Alarm device from the Heimdall app.

Select the Alarm device and click next for the device to be added.

:arrow_up: Instructions overview

Advanced functions


The Arming Delay can be used for delaying the changing of the Surveillance Mode to give you time to leave the house when using for example an Alarm panel. You can select the delay when arming for each of the armed Surveillance Modes, see Delays for more information. The Alarm Delay can be used to give you time to set the Surveillance Mode to disarmed when entering the house. Both delays can be set to any value in the 0-300 seconds range.

For logging you can choose to always log any event from a sensor or only when a Surveillance Mode is active and you can decide to only log activating of sensors. The setting to also Listen to tampering reports from sensors will enable this for all sensors supporting this capability.

When the Surveillance Mode is set a Pre Arming Check is preformed, you can select what type of sensors should be checked during the Pre Arming Check. If you use an Arming Delay you can also decide to perform the Pre Arming Check when the Arming Delay starts instead of when the Surveillance Mode is actually set. See Pre Arming Check for more information.

:arrow_up: Advanced functions overview


The Alarm Delay can be used to give you enough time to set the Surveillance Mode to Disarm after entering the house through a door that has a door sensor.

When a sensor is tripped and the Surveillance Mode is in any of the Armed states the Alarm State will be set to activated immediately when no Delayed Trigger is configured on the triggered device.
If the Delayed Trigger is configured on the triggered device a countdown will start for the duration of the Alarm Delay setting. If the Surveillance Mode is not set to Disarmed during the countdown on the end of it the Alarm State will be activated.

When the countdown starts the trigger flow card The delay is activated can be used to inform you the countdown has started. The card has two tags, Duration and Reason which you can use in for example a spoken or a push message. The trigger flow card The time until alarm changed is called every second during the countdown and the tag Seconds holds the number off seconds until the Alarm State is activated.


When the option Use delay when enabling Armed mode or Use delay when enabling Partially Armed mode is checked you will have enough time to leave your house after activating. During the countdown the The time until armed changed trigger flow card is called every second holding a tag Seconds which is again the seconds until the Surveillance Mode is activated.


:arrow_up: Advanced functions overview

Last Door Functionality

The Last Door Functionality can be used to shorten the Arming Delay to 10 seconds after leaving the house. This function is automatically enabled on a Door Sensor that has the Delayed Trigger set to yes. To use it, just make sure the door is closed when the Surveillance Mode is set. When the Surveillance Mode is set the normal Arming Delay will start, after opening and closing a door which has the Delayed Trigger set the Arming Delay will be lowered to 10 seconds.

:arrow_up: Advanced functions overview

Pre Arming check

When setting the Surveillance Mode to either Armed or Partially Armed Heimdall can do a Pre Arming check, you can choose what sensor types to include:


When using an Arming Delay the Pre-Arming check will be done when the actual Surveillance Mode is set, so when the delay countdown ends, you can let the Pre Arming check be performed before the Arming Delay by checking the Perform Pre-Arming check before Arming Delay setting.

When a sensor is not in the desired state during the Pre Arming check the flowcard Sensor active at arming will be triggered with the token Warning containing the text “Warning, sensor active…”


and it will be logged to the history:

There is also the option to let Homey tell you when a sensor is active, see the possible speech options below.

:arrow_up: Advanced functions overview


If you do not want a device to activate an Alarm State but do want to log if for example motion is detected you can select the Log option for that device.

When a device with the Log option changes state the A logline was written flow card will be triggered.


:arrow_up: Advanced functions overview


Heimdall supports speech output for certain actions

:arrow_up: Advanced functions overview

All Flow Cards

Triggers: when…


Conditions: …and…


Actions: …then


:arrow_up: Advanced functions overview

If you have any questions and or remarks please post them here.

Automatically turn on holiday mode
Acces control Heimdall and Homey
Satel Integra alarm
Using Homey in a motorhome
Alarm system


Q: Is Heimdall compatible with SDK2?
A: Yes, Heimdall is SDK2 compatible.

Q: Will I still be able to view the settings pages when Homey firmware 2.0 is released?
A: I really can’t tell. In the preview app the settings pages can’t scroll sideways, this is reported to Athom, it’s not clear how this will be solved. Several users have asked Athom a solution for apps that have settings pages that require more then the viewport of a mobile device but it’s unclear what Athom will do with these concerns. Please send an email to support@athom.com if you have further questions on this subject.

Q: Do I really need the add the Surveillance Mode Switch?
A: Yes, it is necessary to add the Surveillance Mode Switch. It is needed to set the Surveillance Mode from a flow and can also be used on your mobile device to set the desired Surveillance Mode.

Q: What devices can I use as sensors for Heimdall?
A: Any device that supports the alarm_motion or alarm_contact capability in Homey. Devices that support alarm_motion are for example motion sensors like the Fibaro Motion Sensor, Aeotec Multisensor or Xiaomi Human Body sensor but also smart doorbells like the Ring Video Doorbell’s or the Doorbird. Devices that support the alarm_contact capability are typical doorsensors like the Fibaro Door Sensor, Aeotec Recessed Door Sensor or Xiaomi Smart Door and Windows Sensor.

Q: I have a device that doesn’t have the alarm_motion capability, can I still use it with Heimdall?
A: Yes you can. Just install a Virtual Motion sensor from the Virtual Devices app and set’s it value in a flow triggered by your device. How to do that is explained here.

Go to opening post


Change Log

Current version 1.0.25

  • Removed temporary code

Previous version 1.0.24

  • Improved sensor communication check
  • Code cleanup

Previous version 1.0.23

  • Check if sensors communicated with Homey in the last 24 hours

Previous version 1.0.22

  • Added Last Door functionality
  • Split Trigger Delay to 2 separate settings, Arming Delay and Alarm Delay
  • Changed Delay range to 0-300 seconds
  • Minor layout changes to settings pages

Previous version 1.0.21

  • Added support for Vibration sensors

Previous version 1.0.20

Previous version 1.0.19

Previous version 1.0.18

  • Updated Community ID

Previous version 1.0.17

  • Not released

Current version 1.0.16

  • Support for non-sensor devices with Contact, Motion and Tamper capabilities

Previous version 1.0.15

  • Added ‘Alarm State’ condition flow card

Previous version 1.0.14

  • Minor translation fixes

Previous version 1.0.13

  • Added flowcard that triggers when a logline is written

Previous version 1.0.12

  • Minor translation fixes

Previous version 1.0.11

  • Added battery indicator to devices

Previous version 1.0.10

Previous version 1.0.9

  • Code cleanup, removed lodash dependency
  • Minor translation fixes
  • Added interpunction to Speech output to make it sound more natural

Previous version 1.0.8

Previous version 1.0.7

Previous version 1.0.6

  • Added support for tampering detection

Previous version 1.0.5

Previous version 1.0.4

  • Arming delay selectable per Surveillance Mode

Previous version 1.0.3

Previous version 1.0.2 β

  • Added pre-arming check

Previous version 1.0.0

  • No functional changes, previous beta promoted to stable

Previous version 0.1.11 Beta

  • Automatic history cleanup, 20% at 3000 lines

Previous version 0.1.10 Beta

Previous version 0.1.9 Beta

  • Added saving Auto refresh and Use colors settings on Dashboard tab in settings
  • Code cleanup, preparing for release

Previous version 0.1.8 Beta

Previous version 0.1.7 Beta

Previous version 0.1.6 Beta

Previous version: 0.1.5 Alpha

  • Test version for Homeykit compatibility

Previous version: 0.1.4 Beta

  • Added colors to History view
  • Added ‘The alarm is deactivated’ flow card
  • More translations

Previous version: 0.1.3 Beta

  • Improved History view
  • Improved translations

Previous version: 0.1.2 Beta

Previous version: 0.1.1 Beta

  • Code cleanup

Previous version: 0.1.0 Beta

  • Initial release

Go to opening post


New version published:

Version 1.0.18

  • Updated Community ID

No new or changed functionality, the link in the app store is changed to this topic.


@Phuturist wrote a great tutorial how to setup a home automation dashboard on your Android home screen and explained, amongst others, how to display Heimdalls Surveillance Mode on it:


A huge thank you for your Heimdall App @DaneedeKruyff. works perfectly. I sent a “beer” your way today :grinning:


I guess you’re Brad from http://www.smarthome.com.au ? Great to see Heimdall also found its way down under next to Homey! Your donation is much appreciated! :+1:

Smart avatar btw!


@Arie_Laxed published a new version (v0.7.4) of his Virtual Devices app with a fix for the flow card Set a virtual sensor value so you can set the alarm_motion capability.

If you have a device that does not have the alarm_motion capability itself you can now use that device with Heimdall by using a Virtual Device and setting its value in a flow.
To do that you need to use the Set a virtual sensor value flow card form the Virtual Device and use it like this:

(enable motion)

(disable motion)

In order to use a Virtual Device like this it needs to be added with the Device Class Home Alarm and at least the capability Detected Motion needs to be selected.

Virtual Device Motion Sensor with Heimdal

New version published to the beta channel

Version 1.0.19

The following API endpoints are available (from an authenticated session!):

  • GET /api/app/com.uc.heimdall/state/surveillance
  • GET /api/app/com.uc.heimdall/state/alarm


Version 1.0.19 has just been promoted to Stable


New version published

Version 1.0.20

Every sensor tripped during an Alarmstate will trigger this card, it can be used to ‘track’ movement.


Trying to get head round this use case… Can you give an example of how this might be used?


You can use this to be informed where a thief is moving after the alarm has been tripped as per feature request by @tweaqer on github.


when do you think you will add Firealarm functionallity in Heimdall app? (sorry if i post this questions in wrong discusison/topic)


Hi @Perran83

This is the right spot to ask questions about Heimdall. :+1:

Adding fire alarm functionality to Heimdall has been discussed on the old forum, I am not really sure how I can improve on a flow that responds on smoke/fire sensor and take an action like send messages and sound a sirene.
All functionality that Heimdall offers over building an alarm with regular flows have to do with the fact that Heimdall simplifies the arming with delays, pre-arming check, Partially arming, Full arming etc.
For a fire alarm all these extra’s don’t apply, it just has to function always.

Maybe you can tell me how you’d like to see it integrated? Maybe you can convince me to add it anyway because I’m overlooking something :smiley:


New version published

Version 1.0.21

  • Added support for Vibration sensors

@TedTolboom just released version 0.4.2 of his Xiaomi Aqara ZigBee app with support for the Vibration Sensor.

This sensor can now be used with Heimdall

For more information on the Xiaomi Aqara Zigbee app visit its topic.


Great work and collaboration again @DaneedeKruyff!
Looking forward to seeing the first user experiences…


Me too, I’ve been running it for quite a while now and no false alarms in my testing. Sensitivity on my sensor looks ok to use it with Heimdall, but I have only on sensor to test with.


hi, sorry late reply. Yes you have a point. It was more to having all alarms connected together in one place but any way the user might want to have different flows triggering if its firealarm or burglar alarm.

Maybe it would be better to have the possibility to use Unifi cameras and / or other cameras that can be part of the input triggering sensors as well. But I dont have the knowledge if that would be possible or not. =)


Any camera that sends a message to Homey that results in an alarm_motion trigger in the app for that camera can be used as an input for Heimdall.

Like a Ring

Or Doorbird

for example.

If a camera sends some sort of message to Homey but not with the alarm_motion capability you can ask the app developer to integrate that into the app.

A workaround can be to create a flow that gets triggered by the camera and looks like this:

That way all other actions like logging and activating the alarm flow will be the same.