ZD is Zone Door, ZM is Zone Motion, ZW is Zone Window. Since it Smartthings auto sorts based on alphabet, I wanted to have all my motion and contacts at the bottom since they’re really just there for alerts and not useful devices.
Based upon the info in the name field of the contact DTH enter
DSC Zone
into the “Contact Name” field and it should accept the device. This should be the same data found in the Type field in the IDE, My Devices.
Thanks Arn - appreciate the support. I pulled the latest Delay Child from the beta repository (checked code to make sure changes were getting captured) and I still don’t get intrusion detection from my motion sensors at all. I’ll keep fiddling around with it, I’ll let you know if I figure anything out.
Kindly do the following to insure there are no unknown errors being encountered.
@glog Go into the IDE and click/tap on live logging
Clear any active alarm states in phone app dashboard, set the Alarm State to Away with the phone app dash board. Wait for any exit delay time to expire, wait for motion sensor to become inactive, activate the shm delay defined motion sensor. Then review your logs for any “error” messages. Also review the phone app on the motion sensor “recently” to insure it is actually being triggered. Forward any SHM and SHM delay messages
One issue with some motion sensors is they only change states every 5 minutes or so. My Ecolink motion sensor works this way, it’s not great for my testing, but works fine in real life. It also has a jumper to make it change states more often, but they claim it substantially reduces battery life due to the higher number of transmissions.
Hi - I just setup SHM delay Version 2.0 today. I have installed a small piezo speaker onto channel 1 of my Konnected board, and set it up as a Beep/Blink switch. It makes a sound when I manually test it in the My Home tab of the Smartthings app.
Within a profile for SHM Delay, I want to use is as a “beep these devices on entry delay”, but for some reason it’s not included in the list of items that I can select.
It is listed in “Beep these devices when real contact sensor opens and alarm state is off”
Go to the IDE SmartApps and click on module SHM Delay Child. Scroll down to line # 412
Temp quick fix for now
Change
input “thesiren”, “capability.alarm”
to
input “thesiren”, “capability.beep”
Then click “Save” on top menu. You should see the device.
Edit: This was originally written for beeping sirens. The issue is some Sirens don’t have a Beep command and would be excluded from a selection with capability beep. However, I have code in the module that attempts to create a beep to sirens that don’t have the Beep option. ST does not allow multiple capabilities to be specified in the Input type field, so I may have to add an additional input field as the permanent way of correcting this issue, but that brings up the fact that most devices would show in both input beep and alarm. Perhaps I will create my own device selection logic.
My next question is how can I make it repeat the cycle and beep until the alarm is disarmed or the sirens are activated ? Currently it just beeps x3 times then stops.
I tried editing the beeper settings itself which lengthened the cycle, but by doing that is just continues to beep until the set time is up, even after the alarm is disarmed!
Thanks - haven’t used that , but will look into it.
Just to update - used WebCore for the first time and wrote a very basic script to control the beeper. It works perfectly. The beeper activates as soon as the door is opened, and beeps in a loop with a 2 second delay until the system is disarmed or the alarm sirens sounds. What a great program, thanks for the heads up !!
Happy to post the script if anyone else might find that useful
@glog good work! You found the code regression that occurred in what was supposed to be a text only change to the setup screens that quickly followed the correction to the motion sensor error.
I retested the motion sensor logic issue and it is now operating as expected. Please update module SHM Delay Child from the Github Arnbme SHMDelay beta repository.
Why this causes a code crash. triggerDevice points to an event map that raised the alarm. triggerDevice.displayName has the name of the device and it is used for the SHM Delay intrusion message. triggerDevice.c does not exist causing a Groovy abnormal execution error. I suspect the c was introduced when I did a Ctrl/C to copy the displayName data for something, but instead of copying it changed the highlighted data to c.
15. Initial Testing using the SmartThings phone app
There is a bug in SHM. When an intrusion alert is not cleared in the phone app, the next intrusion will send a notification, but will not execute any Security automations such as sirens or lighting. This is generally only an issue during system testing.
Work Around: clear intrusion alerts as they occur.
Test the simulated sensor
Tap Dashboard
Tap Armed Away
Tap My Home
Scroll to the simulated contact sensor device. It should show “closed”, if not tap it once to close it. Tap to open it.
Alarm should trigger. Clear alarm by tapping Disarm, clear intrusion in phone app, continue with Exit Delay test.
No Alarm: Verify SHM Security is monitoring the simulated contact sensor.
Test Exit Delay
In the SHMDelay Profile set entry delay to 0, set exit delay to 30 seconds (save it)
Close the door associated with the real contact sensor
Tap Dashboard in phone app
Tap Armed Away. Allow system to arm.
Open the door -->Alarm should not trigger
Close the door
Wait “exit delay” seconds
Open the door–>Alarm should trigger Clear alarm by tapping Disarm, clear intrusion in phone app, continue with Entry Delay test.
Alarm issued at Step 5:
Verify an exit delay is coded on the Delay Profile
If the exit delay expired opening the door, retry.
Verify the real contact sensor is not monitored in SHM Security.
When a single motion sensor caused the alarm: add the motion sensor to the Delay Profile, remove from SHM Security
When multiple motion sensors caused the alarm: set Global option “Allow Multiple Motion Sensors” to On/True, add sensors to Delay Profile, remove from SHM Security.
When non motion sensor device created the alarm: install and configure SHM Delay TrueExit
No Alarm: Verify the contact’s SHM_Delay sensor profile info; save it, then save again on main page, retry
Test Entry Delay
In the SHMDelay Profile set exit delay to 0, set entry delay to 30 seconds
Close the door associated with the real contact sensor
Tap Dashboard in phone app
Tap Armed Away. Allow system to arm.
Open the door -->Alarm should not trigger
Wait “entry delay” seconds–>Alarm should trigger
Alarm issued at Step 5:
Verify an entry delay is coded on the Delay Profile
Verify the real contact sensor is not monitored in SHM Security.
When a single motion sensor caused the alarm: add the motion sensor to the Delay Profile, remove from SHM Security
When multiple motion sensors caused the alarm: set Global option “Allow Multiple Motion Sensors” to On/True, add sensors to Delay Profile, remove from SHM Security.
When a non motion sensor caused the alarm, global option “True Entry Delay” option must be used.
No Alarm in Step 6: Verify the contact SHM_Delay sensor profile info; save it then, save again on main page, retry
Test Completed
Clear intrusion alert in phone app
In the SHMDelay Profile set exit delay and entry delay to desired values, then save.
16. How to fix a motion sensor triggering an intrusion alert during the Entry Delay.
In the contact sensor Delay Profile, select the triggering motion sensor, update the profile, then remove the motion sensor from the SHM Security: Armed Away Motion sensors. The motion sensor is 'followed", meaning it is ignored when the contact sensor is ‘open’ during entry delay and during exit delay, otherwise it is monitored during alarm state “away”.
Multiple motion sensors may be set in a profile, by setting Global option “Allow Multiple Motion Sensors” to On/True.
When a motion sensor is defined in multiple delay profiles, set Global option “Check other Delay Profiles” to On/True.
If paragraph 1 thru 3 above does not correct the issue, set global option True Entry Delay to On/True.
17. How to fix a motion sensor triggering an intrusion alert during the Exit Delay when not using a Keypad
In the contact sensor Delay Profile, select the triggering motion sensor, update the profile, then remove the motion sensor from the SHM Security: Armed Away Motion sensors. The motion sensor is 'followed", meaning it is ignored when the associated contact sensor is ‘open’ during entry delay and ignored during exit delay, otherwise it is monitored during alarm state “away”.
Multiple motion sensors may be defined in a profile by setting Global option “Allow Multiple Motion Sensors” to On/True.
When a motion sensor is defined in multiple delay profiles, set Global option “Check other Delay Profiles” to On/True.
If paragraph 1 thru 3 above does not correct the issue, install **SHM Delay TrueExit then follow setup instructions
Set AlarmState by using SHM Delay TrueExit monitored SHM Routine
To use an Android phone or tablet as a Speech or Alarm Device install Lannouncer. Should you be running on a device with the Fully Kiosk Browser is always in the foreground: for example running ActionTiles, I strongly recommend using the Fully Kiosk Contoller DTH for TTS. It requires no additional apps be installed on your device.
Most sounds and TTS announcements can be performed with Big Talker, RemindR, or your favorite app, with two major exceptions: Exit Delay and Entry Delay.
For an announcements during Exit and Entry Delays:
Click “Create A New Talker Profile”
the optional message %nn parameter is replaced with the respective number of delay seconds on all messages
Adjust set output TTS and speaker devices. Adjust messages if desired. When not using a keypad, ignore keypad exit delay message.
Save
Note when using Lannouncer TTS devices, these messages are preceeded and followed with the Chime tone
(Beta Oct 16, 2017) Note: When arming from a non-keypad device or source, and multiple delay profiles are set, the announced non-keypad delay is the minimum time coded on all delay profiles, since we don’t know which door you will be using to exit the facility. However, should a door open, the actual non-keypad delay time coded in the delay profile is used for the exit delay calculation. This is a compromise avoiding a substantial code change.
For custom sounds and options during exit and entry delay, use the WebCore smartapp.
In WebCore trigger the TTS, tone or action based upon a custom location attribute created by SHM Delay. In Groovy: subscribe(location, “shmdelaytalk”, routinetoexecute)
After being triggered, the event’s value data must be tested for the following
entryDelay
exitDelay (Exit delay associated with a keypad)
exitDelayNkypd (Exit delay not associated with a keypad)
The length of the respective delay in seconds is found in the event’s data field
19. How to fix a siren that goes off about 2 seconds into an entry delay and won’t stop
Your siren does not support the beep() command and is not working with the beep simulation commands. Remove the siren from the Delay Profile. It does not impact its use with SHM. Back to top
20. True Entry Delay Option (Default: False/Off)
This is a last resort when an intrusion alert continues after setting an optional followed motion sensor in a Delay Profile. How it functions:
When a monitored contact opens in Alarm State Away, or Stay not using the instant true night option: the alarm state is set to Off
Does nothing for user defined entry delay seconds, allowing time to turn off alarm (for real) by any method desired.
When Alarm state remains unchanged (user did not set off again or did not rearm): Alarm System is rearmed to original state, then an intrusion is set by opening simulated contact sensor.
Note: this may cause confusion when viewing the system alarm state with phone app Dashboard, and unexpected SmartApp or Piston reactions. Back to top
21. TrueNight Option, Keypads, and Exit / Entry Delays
Settings shown below are the defaults that can be individually controlled by turning on Modefix in globals, then setting delays for the various alarm state / mode combinations in the Modefix profile
TrueNight (Default: Off / False) applies only to Iris 3405-L keypads and determines if the Partial Key creates an Instant or Delayed intrusion alert when a monitored contact sensor is triggered
Arm / Disarm: enter four(4) digit pin, followed by Off, On, or Partial
True
Exit
Entry
Armed
Key
Night
Delay
Delay
State
On
N/A
Delay
Delay
Away
Partial
Off
Delay
Delay
Night
Partial
On
None
Instant
Night
When using a Centralite / Xfinity keypad in SmartThings Armed State: Night, the smartapp follows the ST Alarm state and lit Icon key
Arm: Press Stay, Away or Night icon; enter four(4) digit pin
Disarm: enter four(4) digit pin
Exit
Entry
Armed
Key
Delay
Delay
State
Away
Delay
Delay
Away
Stay
Delay
Delay
Night
Night
None
Instant
Night
Motion Sensor operation in Armed State:
Away: SHM Delay monitors all motion sensors defined in Delay Profiles, plus SHM monitors all motion sensors defined in “home is unoccupied”-> Motions sensors
Night: SHM monitors all sensors defined in “home is occupied”-> Motions sensors
User Defined Modes. Example: Create “Stay” mode for use with Centralite / Xfinity keypad
In the IDE, My Locations, click the location, then create a new Mode “Stay”
Then in the phone app “Routines”, create a new routine named: Stay (or whatever you want). Set AlarmState to Stay, and Mode to Stay. Add other settings as desired
In Global Settings, scroll down to Keypad Routines, set the newly created Stay routine name for Stay/Partial.
Implement ModeFix (Required)
Update the SHMDelay Mode Fix profile Stay options to include ‘Stay’ as a valid mode along with Night.
The result:
ActionTiles Mode and SmartHome Mode can display “Stay” and syncronize with Keypad
BigTalker can speak the correct Mode change
Webcore and other automations can test for Stay mode
The Simulated Keypad creates an Iris or Xfinity/Centralite image in a browser or Android app that functions as a keypad with Smarthings using the SHM Delay smartapp. Should you want to try it in test mode without installing any code, the link is at https://www.arnb.org/keypad/www
Should you prefer running the keypad from an Android app, it may be downloaded at https://www.arnb.org/keypad/keypad.apk You must allow Andoid to install apps from “Unknown Sources”. The app was generated using Phonegap. An IOS app is likely not going to be released due to the need to spend at minimum $100 to simply create the app.
What could this be used for?
Giving access to your Smarthings system to a spouse, friend, child, dog walker, neighbor, sitter, etc without having to install the Smarthings App or any other software on their phone, Each user has a unique pin, that may include date and time restrictions.
Try out and setup your system with a “Simulated Keypad” before making the decision to purchase and install a real keypad.
How to Install assuming you are already using SHM Delay.
In the IDE, 'My Device Handlers", add device “Internet Keypad” Install using “Update From Repo” from the Github ARNBME SHMdelay Version2 branch. You may do this with the IDE or manually by going to https://github.com/arnbme/SHMDelay/tree/Version2/devicetypes/arnbme/internet-keypad.src then copy the Raw module, then paste using “Create a New Device Handler” and installing “from code”.
Create one or more virtual keypad devices. In the IDE go to “My Devices”, click “New Device” set the parameterrs, and set the type to “Internet Keypad”
On your phoneapp, go to Automation->Smartapps, then tap SHM Delay. Scroll down and tap “Global Settings” Set “Activate Total Keypad Control” to ON/True. Save the profile
On your phoneapp, go to Automation->Smartapps, then tap SHM Delay. Scroll down and tap “Create A New Sim Keypad Profile” Set a simulated keypad device, then save the profile. Go back and tap on the newly created profile, it displays an 8 character ID, copy it, then go to https://www.arnb.org/keypad/www enter and save the ID. The simulated keypad is now live including the panic key on the Iris image.
There are two cookies used to store information that have a 1 year expiration. When using the browser keypad page, set your browser to allow and not erase cookies from https://www.arnb.org
Notes:
May require one arm/disarm for status to show
Status display does not work with IE or Edge Browser
Support for quick arming on Iris keypad without entering a pin.
Iris harware sends a 0000 code when single or double tapping the On or Partail key without entering a pin. The device firmware determines if it is single of double tapped. To implement: add User Profile with pin 0000, Type: User. The Iris does not send the 0000 when the Off key is pressed. For security reasons, suggest setting the User Profile flag to ignore an real 0000 pin entry with the Off button
Valid Pin message routing is now controllable on a global basis, and each User Profile may optionally override the global pin message settings. Pin Messages may log to phone Notification Log, Contact Book, push messages and SMS with phone numbers. Scroll to end of globals to set basic pin message settings, then optionally override the global pin settings in the User Profile.
Bad Pin messages, pins not in a User Profile, are now controllable on a global basis. This is separate from the valid pin setting.
“Routine” and “Piston” pin types now include settings for keymode in addition to All Modes. For example: Off: executes Routine-> Lights Off; On/Away: executes Routine-> Lights On
New pin type: UserRoutinePiston. Sets armed mode; optionally runs Routines: one per keypad arming type, optionaly runs Webcore Pistons one per keypad arming type
Jul 02, 2018:
Spoken messages for exit delay and entry delay now part of basic application
Jun 15, 2018 current Beta logic installed into Version2, including:
Simulated Keypad
User pin restrictions by SHM Mode or keypad device
Anyone using an Xfinity or Centralite keypad (should not impact Iris or non keypad users)
In Modefix profile new settings. You may set the Icon button to light on the keypad, Stay (Entry Delay) or Night (Instant Intrusion) when arming from a non keypad device suchas dashboard or ActionTiles. Note this field displays only when an Xfinity or Centralite keypad is set in globals
Anyone who has the same motion sensor defined in two or more Delay Profiles
Issue: False alarm from motion sensor when a contact sensor opens, the other profile created an intrusion from the motion sensor. Set Global option “Check other Delay Profiles” to On/True.
Issue: Real contact sensor not accepted when text “simulated” in type data
Add dynamic version numbers to all modules. May be used in future to verify user’s system is current
I developed this app after I was presented with a steep learning opportunity created by installing Smartthings, an Xfinity keypad and GoControl siren. I purchased the keypad because ST phone presence proved unreliable as a SHM control method.
After installing the Xfinity 3400-X keypad and GoControl siren I made the decision to continue using SHM instead of SmartAlarm (no longer supported) because in theory, SHM is supposed to run on the local hub. I thought that would give me more reliability during an internet outage. That is likley not true but anyhow I’m using SHM. SHM lacks an: EntryDelay time, ExitDelay time, keypad support, and Zones.
This app does not support Zones, but does have a unique profile for each monitored sensor, allowing for unique entry and delay times, which keypards sound tones, and which sirens to beep.
Before writing this app I developed the logic using multiple Core and WebCore pistons for EntryDelay, and Open Door Monitoring. I’m a (PHP, Javascript, IBM Assembler, Cobol, Database) programmer, and wanted finer control over the processing. I taught myself Groovy and created some apps for personal use, then added editing, and released it to the ST Community. I found Java/Groovy similar to PHP and Javascript, but bumped into many frustrating differences. That said I hope someone, especially Noobs, find this app useful.
If you are running “beta” or “Version2” and you want to swap versions.
There are six (6) modules associated with the app:
SHM Delay. Module should be Saved, Published, then Installed with the Smarthings app (must be done first)
SHM Delay Child. Should be Saved, do not publish or install.
SHM Delay ModeFix Should be Saved, do not publish or install
SHM Delay User Should be Saved, do not publish or install.
SHM Delay Talker Child Should be Saved, do not publish or install.
SHM Delay Simkypd Child Should be Saved, do not publish or install. Oauth rerquired
Installing via the repository (preferred)
Go the the IDE–>Login–>My Smartapps–>Settings–>change Github respository
Owner: arnbme (in upper case that is ARNBME)
Name: SHMDelay
Branch: (beta / Version2) --> when “beta”, enter “Version2”; when “Version2” enter “beta”
30. SHM Delay True Exit - Create a real SHM Exit Delay when not using a keypad device
Use this module along with SHM settings when the simulated non-keypad exit delay is not sufficient for your needs.
This stand alone module creates a real SmartHome(SHM) Exit Delay by monitoring for the execution of a “do nothing” SHM Routine, then in a user specified number of seconds executing a second SHM routine that actually sets the Alarm. Normally this should be used when setting Away with SHM Routine “Goodbye”. The initial routine may be executed by tapping on the routine name in SmartThings, or executed by a smartapp or WebCore piston.
Features
User defined delay time
User defined routine names
Optional speech with user defined message output to Lannouncer/DLNA or Speakers (Dec 18, 2017)
Quick Setup Guide
In the Phone App Automation->Routines: create a new dummy routine with no mode, no alarmstate, no actions, name it: Goodbye-Delay (or whatever you want)
In IDE SmartApps: Install routine SHM Delay TrueExit from repo or code
Set Routine to monitor for execution to: Goodbye-Delay (or your name)
Set number of seconds to delay: 10-120
Set “Then execute this routine” to: Goodbye! or whatever routine you use
In whatever you are using to currently execute “Goodbye” change it to “Goodbye-Delay”
Setup optional speech
Test your system by tapping on the initiating routine name in Automations->Routines
Installation
There is one module associated with the app:
SHM Delay TrueExit.
To install via the repository, add the following to the IDE Settings (or copy code below)
Owner: arnbme (in upper case that is ARNBME)
Name: SmartThingsPublic
Branch: Master
Click ‘Save’, then in ‘My Smart Apps’ click 'Update from repo",
select the ARNBNE SmartThingsPublic repository then install and publish SHM Delay TrueExit
in the Phone App tap on add a Smartapp, install SHM Delay TrueExit and set paramaters
31. SHM Delay BuzzerSwitch - Turn on a Konnected Buzzer, a real/virtual switch, or a light during SHM Delay’s Exit and Entry Delay
Features
Devices are set On at exit delay or entry delay
Devices are set Off at expiration of delay time, or when SHM Status changes to Stay or Off/Home, arming is canceled from a keypad
Supports multiple devices
Quick Setup Guide
After installation set devices
Installation
There is one module associated with the app:
SHM Delay BuzzerSwitch.
To install via the repository, add the following to the IDE Settings (or copy code below)
Unknown Github issue preventing me from adding to SmartThingsPublic repo (Nov 17, 2018)
Owner: arnbme (in upper case that is ARNBME)
Name: SHMDelay
Branch: beta
Click ‘Save’, then in ‘My Smart Apps’ click 'Update from repo",
select the ARNBNE SmartThingsPublic repository then install and publish SHM Delay BuzzerSwitch
in the Phone App tap on add a Smartapp, install SHM Delay BuzzerSwitch, then set devices
Please post all installation and usage results, both positive and negative, along with any questions, issues, or comments on this thread. Thank You Back to top
As part of transitioning Version 2 to live status the application documention in this thread now includes a “Table of Contents”. Due to size limitations with the community forum, the documentation is currently split into two postings that work with each other. In the future the documentation may move to another site.
All documentation was removed from the SmartApp, and an external link was added pointing to the community forum docmentation.
Please update module SHM Delay to Version 2.0.1
Changes:
Documentation Removed from smartapp
Fix issue with “Burned Pins”
Keypad selection now done by device rather than capability
I have not seen a way. Is there a way to set a longer delay for a specific contact. I have the delay set up on the back door but we have a garage that is away from the house. I think it will take longer then 90 seconds from when I set the alarm go out the back door, into the garage, open the garage door and back out of the garage then close the garage.
Thank you to everyone who participated and assisted with the SHM Delay beta testing.
How does this impact me?
If SHM Delay is installed from Github arnbme SHMDelay beta, you should change to the newly created Version2 branch which will always have the latest stable release of SHM Delay.
I am not sure if I have something set up incorrectly. Everything seems to be working as I understand it to be working with the following exception. I currently had the routine “I’m Back” to switch on when one of the presence sensors arrives home. I thought this would then deactivate the alarm but it does not seem to be changing it to disarmed or changing the keypad to disarmed.
I am running version 2.0.1 and using Life360 as a presence sensor. I can see the person change to present.