I hope someone from SmartThings reads these forums and quickly decides to add a simple entry and exit delay to SmartHome, stopping (almost) everyone, including me, from making up their own alarm system.
WebCore and Core are Smartapps that run in the Cloud, as do all user created Smartapps and User Created Devices. You should look at the code in these apps to appreciate what @ady624 has created, and fully understand how user logic is executed.
Originally, my SHM Delay app was a few Core pistons: Monitor Contact Sensor, Sound Intrusion Alarm, and an Open Door Monitor when system is armed. It worked, but I did not like the processing delays I encountered, and had difficulty coding things like “was the system rearmed during the entry delay time frame”.
As a long in the tooth system designer and programmer, and a long time subscriber to Occam’s Razor, I converted the pistons to Groovy modules, never expecting it to become a SmartApp.
Yes exactly and well done. ST probably wont have entry/exit delays due to promoting Scott alarm as their security vendor.
I was worried about the delays as well and I seemed to have them to a minimal/nonexistant. I actually recoded and restructured webcore yesterday so I dont have 16 alarm rules. I now have only 7 which really brought the delays (rule delay functionality) down to milliseconds. I did this by having one webcore rule trip the alarm and the each device (contact or sensor) trip 1 virtual switch. The virtual switch is what trips the alarm. Before i had each device trip the alarm in stay and away modes creating alot of rules. The latter works alot better. Your app was pretty instantaneous as well and like I said takes the guess work out of manually programming and reduces delay. I am a network administrator now professionally and got my start in the early 90’s as a alarm service technician (Brinks and ADT and Sonitrol), and really…if you want a reliable alarm system (or anything for that matter), there are two words for it: Hardwired and Local based with a UPS. Its alot easier and less messy to do this wireless though as well all know. FYI…Here are updated screenshots:
Just encountered a very strange and difficult to solve issue that caused the SmartHome intrusion monitor not to trigger and siren not to sound. Fixing it required resaving (with no changes) all SmartHome settings including: Security Away Intrusion sensors; Armed Home Intrusion Sensors, and all Alarm and Notifications settings. I encountered something similar with another Smartapp a few weeks ago where saving the settings with no changes fixed the issue. It feels like something is getting corrupted. I’m going to report this to ST but wanted to give everyone heads up if you are encountering sudden unusual behavior by any previously working SmartApp.
Whie attempting to find and fix this issue, a small reliability improvement was made to the Instant Night Mode Alarm logic and it is now truly instant, no longer subject to event scheduling. Module ‘SHM Delay Child’ was updated on the Github repo, please update your system.
Just wondering, are you using indoor stand alone keypads or outside keypad door locks? If you are using outside keypad door locks, please help me understand why delays are necessary?
I consider your “WebCore alarm system” a good personal accomplishement, but personally I would not use it because: All monitoring sensors are running in the cloud. The actual sensor may be local, but the code is in the cloud. You may wonder why does this matter? Usually it does not, except when the internet connection breaks, then you have no/nada/zilch alarm system. This same issue applies to my smartapp for sensors taken off SHM monitoring, but usually the bulk of a user’s sensors generally remain in local mode with SmartHome providing some backup when this occurs.
One other major issue with doing this in WebCore: Each new sensor requires a bunch of code versus an update to a SmartApp setting. There’s more, but I feel I’ve made my point.
I fully agree the most reilable alarm system is wired, has a UPS, is remote monitored, and uses at least two methods to communicate with the monitor service, but for folks like me who had no alarm system, and do not want to pay a monitor service, Smarthings is a good solution.
Kindly post further updates and code shots for your Pistons on a WebCore forum or your own thread.
Just one indoor stand alone keypad…reason for delay mostly? One word… our ten year old. He doesnt always have his phone, or its dead or its lost and at home and sometimes brings his house key. To buy a presence sensor or use mobile presence exclusively i cant rely on because of him thus the main reason for a keypad and delay. Yes there are the cloud cons of webcore of course…i realize that. My security camera system i just installed is hardwired/local with option to view remotely. I 100% wanted reduced failure of this so i opted out of a smarthings /wifi camera system. The security system is more of a deterrent with the camera system as a 100% backup. If I have no internet I can go to my DVR and always replay my motion alerts. This works for me. Good luck and still great app. Didnt really mean to party on your parade and thanks for being cordial in your request.
When I try to now use SmartHome Delay though the app says my sensor “is simulated. Please select a differant real contact sensor”… which I guess it is!
I modded the code to ignore this to get the profile completed but it does not work. Probably not a surprise but I wanted to ask the question as to why the app does not work with simulated sensors? Is there anything we could do do get this working?
Sorry you are having an issue with the app. I have no idea why it is not working.
It should work as long as the monitored simulated contact sensor changes status from closed to open. The editing is there to help the user get a proper setup. I looked at the link in the post and it appears to be using Konnected which already has a workaround built into the editing logic.
Please go into the IDE → Devices, then forward a screen shot of the device you want to use as the “real” sensor. At a minimum I need the data in the Type field. The code changes should be minimal, and we can go from there.
arnb, thanks for creating this app, I really appreciate it. I’ve also been having trouble getting the SHM Delay to allow me to add a delay to a Z-Wave Garage Door Opener, as it says it’s not allowed because the “Real Contact Sensor” is simulated. I have updated the app just a few minutes ago. If you have any suggestions, I would appreciate it.
Made a minor code modification, created this device in IDE, then successfully tested with it. Please update module SHM Delay Child from the repo or code, retry, then please let me know if it works for you.
Thanks for the quick reply on this. As per the poster below the issue is now fixed for me althought I’m using an older version of Konnected (must update) so my device type is “NodeMCU Connected Contact Sensor”. I manually updated your code to reflect this and working now.
I’ve been testing the App and the delay works great thanks. When using true Night and mode fix is changing mode supposed to arm/disarm or do you still have have to arm/disarm separately from mode changes?
So for example if I set the mode to night, the alarm would automatically be set to arm home.