So, I spent my day off writing some smart apps to aggregate lights, motion sensors and contact sensors. I redirected the status to a Virtual Switch, Virtual Contact Sensor and a Virtual Motion Sensor. This allowed me to make a single status tile for groups of lights, motion and contact sensors. See below for a screenshot. Here’s my question: How difficult would it be to redirect a button push to a dashboard?
Is the goal to aggregate the status of multiple devices into a single tile and then to be able to click on that tile to view the status of those individual devices?
Yes; that is ultimately the goal. For example, if you click on the “Upstairs” 2x1 tile above you are currently linked to the following page:
I would like to be able to press the “Lights” button beside it to get the associated lights.
I have to recheck this. Sorry. Its google home where I have the lights in a routine. When I say turn on the movie lights, I get six different light to come on. I haven’t used the if then logic available for sharptools, but that is the concept with google routines. If I say “this”, then do a,b,c and d.
Thomas this is great. I just discovered Sharp Tools. I am currently an Action Tiles user and am super excited about the flexibility of Sharp Tools layout.
I had been looking for a way to create a dashboard to aggregate statuses by zones/rooms just like you have done, instead of having 60 individual tiles on a dashboard (wife no likey, and super confused). I was hoping that there were alternative dashboard techniques that would’n’t force me to write my own UI from scratch. Glad I found this.
I am going to attempt to do something similar. May I ask you whether these “Smart Apps” you wrote to aggregate statuses into virtual devices, were they written as native SmartThings apps, Core/WebCore apps, or ‘Sharp Tools’ apps (is there such a thing, I don’t have access to rules engine yet, being a new user).
Hoping to learn from your experience.
I believe @Thomas_Howard meant he aggregates the status literally in “SmartApp” in SmartThings IDE. Alternatively, you can aggregate the status using Rule Engine without coding. Create virtual device in SmartThings, and use Rule Engine in SharpTools.io to update the virtual device’s status when real devices’ status change. Then this virtual device can be added as in the dashboard as the aggregated status.
Here is a quick Rule Engine example:
Trigger the rule when any of lights is turned on/off
Set the virtual device (All lights) to off when all the real lights are off (AND logic); otherwise, set it to on.
@James is correct. I have created VERY simple SmartApps that allow me to assign a virtual device (motion, contact sensor or light) to a group of lights, motion or contact sensors. I wanted to make one SamrtApp to rule them all, but life has gotten in the way. For those interested, the code (which should be compatible with Smartthings) is below:
I wrote the ‘Aggregator Virtual Device integration’ using WebCore, and also using SharpTools rules engine. I am using the one from WebCore though, because I had to create about 6 aggregator and it was easier to do multiples of those in WebCore.
There is one complication though - what should happen if I click on a Virtual device tile. This is the reason why @Thomas_Howard started this thread. Hopefully this feature of enabling a device to launch any action (including the redirect to a dashboard) will be made available.
thank you both.
@Waqas_Ahmed…thanks for the updates. Rule template/copy feature is in my list, which should help the case like this when you have to create multiple similar rules.
Hi @James I duplicated the exact steps in your example to aggregate the status of my lights but didn’t work for me. Also, if a light is On - is there a way to know which light it is? Maybe text or some other method. Thanks
Can you share a screenshot of your rule?
Hi @Robert_Bourne, thanks for the screenshots. The rule looks ok. How did you verify the
Light Status device’s status? Did you see any events for this device in either classic app or the SmartThings IDE? I may be able to provide better suggestion if you can describe what troubleshooting steps have been done.
We currently don’t have the feature to show which light was trigger in your scenario, at least not the easiest way. It is still in my list. However, since you only had two light in this case, you may add another IF_Condition in the “Else” path to check which light is on, and send different notification messages accordingly. Again, it is no the method I prefer, as it can look complicated if more devices are involved, but should work.
Thanks for responding @James. I just tested again. I added the “Light Status” rule to the dashboard then turned On/Off the garage lights and the bedroom lights and nothing happened with the light status tile. I’m assuming it should change color to indicate something is On. I have not edited the “light status” tile. Default color, size and image.
Eventually I want to add all my lights but 2 now for testing lol
The Rule tile wont change status as the Rule Tiles are just for executing rules.
See the following thread for an example on how they work. Basically, you can execute the ‘Flow’ of any rule (but the tile won’t change color or state or anything).
You’ll need to authorize your new “Light Status” Thing in SharpTools and then add that Thing to your dashboard as that is what will be switched on/off and thus would reflect the changing state.
As @josh mentioned, I think the confusion was due to using the rule tile to determine the “Light Status” device status. You should add “Light Status” as a tile to the dashboard to see its status. Also, you can change its tile security setting to “View Only” to prevent changing the aggregated light status by accidentally tapping the Light Status tile.