Having less-than-equal-to and greater-than-equal-to would be handy, please. Love the app, thanks.
Hi, @JoeC. Iâm curious of the ETA on enabling delay for the modes and phrases? Or is there a platform restriction? I have a scenario that needs the delay on the phrases and modes for it to work, but as of today there is no delay, and the phrases and modes execute instantly. Thanks for this tool!
Do you mean that you have a mode change as an action with a delay and the delay is not happening? Or do you mean that youâre using a phrase or mode change as a trigger and want a delay?
The former: I have a an action to execute a phrase with a delay (whether 5 seconds or 300 seconds), and it is not happening. Same issue with an action to change a mode with a delay. Iâve tested with a process of elimination, and indeed a rule with an action of either a mode change, as well as separate rule to execute a separate action phrase, both invoke instantly without a delay.
My saved ruleâs action currently says this (any trigger; with no conditions):
do these things
Actions
[Wait 300 seconds THEN] [execute Hello Home Phrase] [Iâm Home]
Iâm curious if youâre able to repro this alleged issue? Thanks for the help.
Iâm out of town at a conference this weekend, Iâll take a look when I get back. Sorry for the issue!
So⊠Obviously the major âconâ to this architecture is that users lose the benefits of Hub V2âs ability to locally cache and execute SmartApps.
The âextraâ trip to your server isnât a super big deal with Hub V1, since we have to make a trip to the SmartThings cloud anyhow. But Hub V2 eliminates that second latency for the majority of SmartApps (i.e., at least the SmartApps that do simple things like âIf Door opens, turn on Lightâ) ⊠but that isnât an option for Simple Rule Builder executions, unfortunately.
Latency is only one issue: The other being that the Simple Rules Builder executions are completely dependent on the internet and your server, and thus also lose Hub V2âs âofflineâ resiliency.
I wonder if @obycodeâs Smart Rules Builder has the same rule execution architecture!!! (And, thus, the same drawbacksâŠ).
No, SmartRules run just like any other SmartApp. There are no other servers involved. Theoretically, rules using only local devices should work, though I donât know enough of the details yet to know for sure.
Excellent!. Clever coding, given the limitations of the SmartApp âsandboxâ. Thanks for the response.
So⊠Obviously the major âconâ to this architecture is that users lose the benefits of Hub V2âs ability to locally cache and execute SmartApps.
Totally agree. Weâll see how it plays out. Iâm pretty curious to see how STâs cloud performance changes when a lot of the load is pushed to v2 hubs. There will always be some latency, but it will be interesting to see if it becomes negligible once things change.
I can only speak for myself, and my own perception might change once v2 is out, but Iâm pretty happy with the performance of the rule builder. Sometimes things are basically instant, sometimes there is a second or two delay. Iâm good with that right now, but time will tell how that will feel a year from now.
Iâd still really like to see SmartThings incorporate something like the simple rule builder into the official platform. @Ben, want to buy a rule engine?
This may be a bit of a silly question, but is there any chance you could implement a password reset on the rules engine?
AGREED! This is a must-have in the app. This spares me having to write/modify existing code just to have what I need work well. The all-in-one app having the advanced option for rules would greatly calm the communityâs gripe about the app user experience. Iâm referring to beloved delays, grouping, unlimited triggers, unlimited conditions, and unlimited actions.
It is a super quick way of virtually writing your own app that anyone can make, not necessarily requiring writing code. Not all users are such geeks eager to create in the IDE, etc. They want it to just work with the tap of a single finger.
Please integrate this directly into the app. We already know it works, and is tried and true. Thanks in advance!
Seem to be having issues with rules firing after the minor glitch today. I can manually execute the rule from the website but none are firing themselves. Ideas?
Edit: resolved now.
Any chance of getting the ability to set the Smart Home Monitor status via rules? Specifically something like:
If front door is unlocked, set alarm to disarmed?
@raggedrebel92 , yes. If I may answer: simply have Rule Builder change to the particular mode that you have specified within Smart Alarm to be in the disarmed state. I believe Smart Alarm can only be disarmed via a mode change.
Not Smart Alarm - Smart Home Monitor. It does not function the same way
After some frustration I got it to work.
Created two routines (hello home actions) âlock and armâ and âunlock and disarmâ that simply control the SHM states and change modes.
Then the rule is:
When:
Front door lock is unlocked.
Do:
Execute hello home phrase lock and arm.
It works pretty well.
found a slight bug⊠my garage door (linear wdx004 I believe) is checked and shows up in device list⊠but when adding a rule it does not show up as a selection in actions, ie if I wanted to open or close the door⊠etc.
this has to do with the fact that it is actually 1 device but should show up as two devices. one to show status of the door and 1 to open close.
Hi @JoeC
I set up my account but am having trouble making new rules. I get a DB error, pasting it below. Let me know if thereâs a way for me to resolve it? Iâve tried deleting my account and creating a new one to no avail. Really excited to start using it once itâs resolved:
Server Error in â/â Application.
Violation of PRIMARY KEY constraint âPK_LocationDataOptionsâ. Cannot insert duplicate key in object âdbo.LocationDataOptionsâ.
The statement has been terminated.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Violation of PRIMARY KEY constraint âPK_LocationDataOptionsâ. Cannot insert duplicate key in object âdbo.LocationDataOptionsâ.
The statement has been terminated.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[SqlException (0x80131904): Violation of PRIMARY KEY constraint âPK_LocationDataOptionsâ. Cannot insert duplicate key in object âdbo.LocationDataOptionsâ.
The statement has been terminated.]
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction) +1767866 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) +5352418
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +244
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) +1691
System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +269
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) +1406
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource1 completion, Int32 timeout, Task& task, Boolean asyncWrite) +177 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource
1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) +205
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +160
Microsoft.Practices.EnterpriseLibrary.Data.Database.DoExecuteNonQuery(DbCommand command) in e:\Builds\EntLib\Latest\Source\Blocks\Data\Src\Data\Database.cs:443
Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteNonQuery(DbCommand command) in e:\Builds\EntLib\Latest\Source\Blocks\Data\Src\Data\Database.cs:714
SmartThingsRuleBuilder.App_Code.Location.saveLocationDataOptionValue(Int32 AccountId, String DataOptionId, String Name, DataOptionTypes Type) +795
SmartThingsRuleBuilder.App_Code.Location.updateLocalLocationData() +3809
SmartThingsRuleBuilder.RuleBuilder.Page_Load(Object sender, EventArgs e) +496
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +51
System.Web.UI.Control.OnLoad(EventArgs e) +92
SmartThingsRuleBuilder.App_Code.BasePage.OnLoad(EventArgs e) +37
System.Web.UI.Control.LoadRecursive() +54
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.34249
Is there any chance you have two modes or two routines with the same name?
I had a routine and a mode both named âAwayâ. I changed the routine name, tried it again, and same error. Iâm just looking in the SmartThings app to check for routine and modes, and donât see any other duplicates.