Everything At A Glance (almost)

Posted on
Mon Jul 26, 2021 8:44 am
SearchCz offline
Posts: 82
Joined: Sep 18, 2019

Everything At A Glance (almost)

Been fine-tuning a control page I started maybe a year ago? My main motivation was security, so I was showing status of anything related to things being unlocked or open, or motion being detected where it wasn't expected. I put those "wacth me" toggles above the devices I might want to be notified about. When the "watch me" toggle is on for a particular device, I trigger pushover notifications whenever that device switches on.

This revision gives me visibility to almost all of my other devices that aren't exactly security related. LIghts, switches, interior doors and motion detectors. I like how the devices that are "on" stand out. This is my go-to control page in the evenings, when I maybe want to check on any ilghts that have been left on unintentionally. Speaking of which: I have a max time governors on most of the lights, and when they are nearing their maximum allowed "on" time I begin showin a kind of countdwn indicator above that device. (See "Piano"). Now I can see when a device is about tho shut itself off too!

One problem though ... I would like to trigger an action group any time the device state changes on any device. I'm struggling to get that to work when the state change is initiated at the control page. Any advice?
Attachments
Security4.jpg
Security4.jpg (436.58 KiB) Viewed 725 times

Posted on
Mon Jul 26, 2021 9:33 am
jay (support) offline
Site Admin
User avatar
Posts: 16993
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Everything At A Glance (almost)

SearchCz wrote:
One problem though ... I would like to trigger an action group any time the device state changes on any device. I'm struggling to get that to work when the state change is initiated at the control page. Any advice?


To clarify: you have a device state changed trigger that doesn't fire when you control the device from a control page but it does work when it's controlled otherwise?

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Tue Jul 27, 2021 6:11 am
SearchCz offline
Posts: 82
Joined: Sep 18, 2019

Re: Everything At A Glance (almost)

It looks like the only way I can specify a trigger on “any device”, is if it is based on a command being received rather than a device state changing. So the trigger I was attempting was on any command to any device. I’m seeing the Insteon command in my log file, but my triggered action doesn’t seem to be firing off.

Posted on
Tue Jul 27, 2021 7:21 am
DaveL17 offline
User avatar
Posts: 5990
Joined: Aug 20, 2013
Location: Chicago, IL, USA

Re: Everything At A Glance (almost)

Nice! What are you using to generate your gauges?

I came here to drink milk and kick ass....and I've just finished my milk.

[My Plugins] - [My Forums]

Posted on
Tue Jul 27, 2021 9:18 am
jay (support) offline
Site Admin
User avatar
Posts: 16993
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Everything At A Glance (almost)

SearchCz wrote:
It looks like the only way I can specify a trigger on “any device”, is if it is based on a command being received rather than a device state changing. So the trigger I was attempting was on any command to any device. I’m seeing the Insteon command in my log file, but my triggered action doesn’t seem to be firing off.


That won't work - that trigger only fires when an Insteon device sends out a command. Changing the state of an Insteon device via Indigo won't trigger that.

What is the scenario for needing an action group to fire every time any device changes? Perhaps there's a different approach.

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Tue Jul 27, 2021 12:10 pm
SearchCz offline
Posts: 82
Joined: Sep 18, 2019

Re: Everything At A Glance (almost)

DaveL17 wrote:
Nice! What are you using to generate your gauges?


Thank you! I drew those in photoshop, but I’m eliminating them because they eat too much real estate. Like 6 PNGs.

Posted on
Tue Jul 27, 2021 12:16 pm
SearchCz offline
Posts: 82
Joined: Sep 18, 2019

Re: Everything At A Glance (almost)

I run a script every minute to see how long every device has been left on, and almost every device has a maximum amount of time in t is “allowed” to remain on. Near the end of that time, display a kind of “time is running out” graphic near that device’s graphic.

When time runs out, the device is switched off AND the countdown graphic is removed.

The problem is, if there is time remaining and somebody switches the device off …. that countdown graphic persists until the next t8me I run that scheduled script that checks on devices that might need to be turned off. But if. Could run that script immediately on any change of state, I would recognize that the device is now off and it no longer needs that countdown indicator.

jay (support) wrote:
SearchCz wrote:
It looks like the only way I can specify a trigger on “any device”, is if it is based on a command being received rather than a device state changing. So the trigger I was attempting was on any command to any device. I’m seeing the Insteon command in my log file, but my triggered action doesn’t seem to be firing off.


That won't work - that trigger only fires when an Insteon device sends out a command. Changing the state of an Insteon device via Indigo won't trigger that.

What is the scenario for needing an action group to fire every time any device changes? Perhaps there's a different approach.

Posted on
Tue Jul 27, 2021 12:24 pm
SearchCz offline
Posts: 82
Joined: Sep 18, 2019

Re: Everything At A Glance (almost)

Check the “piano” device in the upper left, which has that countdown indicator at approximately 55 minutes remaining. When the light goes off, I want that to go away. You could write a trigger every individual device being turned off, but I WANT to write a trigger for ANY device State changing to off. Like, whenever ANY device turns off, run this script.

SearchCz wrote:
I run a script every minute to see how long every device has been left on, and almost every device has a maximum amount of time in t is “allowed” to remain on. Near the end of that time, display a kind of “time is running out” graphic near that device’s graphic.

When time runs out, the device is switched off AND the countdown graphic is removed.

The problem is, if there is time remaining and somebody switches the device off …. that countdown graphic persists until the next t8me I run that scheduled script that checks on devices that might need to be turned off. But if. Could run that script immediately on any change of state, I would recognize that the device is now off and it no longer needs that countdown indicator.

jay (support) wrote:
SearchCz wrote:
It looks like the only way I can specify a trigger on “any device”, is if it is based on a command being received rather than a device state changing. So the trigger I was attempting was on any command to any device. I’m seeing the Insteon command in my log file, but my triggered action doesn’t seem to be firing off.


That won't work - that trigger only fires when an Insteon device sends out a command. Changing the state of an Insteon device via Indigo won't trigger that.

What is the scenario for needing an action group to fire every time any device changes? Perhaps there's a different approach.

Posted on
Tue Jul 27, 2021 1:27 pm
jay (support) offline
Site Admin
User avatar
Posts: 16993
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Everything At A Glance (almost)

There is no such trigger. Options:

  • Add triggers for each. Time consuming to initially set up, but once it's done then maintenance is probably relatively low
  • Write a simple plugin to do it. You'd need to subscribe to device changes - then every time any device changes, the plugin would get a deviceUpdated() call and you'd do whatever it is you need to do.
  • Run the existing script more often. It's a compromise, but if the script runs quick then you can probably run it every couple of seconds or something
  • I personally have never used it, but maybe the Timed Devices plugin might work better for your auto-off? Then you wouldn't need any scripts (at least I think you wouldn't).

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Tue Jul 27, 2021 3:45 pm
howartp offline
Posts: 4286
Joined: Jan 09, 2014
Location: West Yorkshire, UK

Re: Everything At A Glance (almost)

There’s also the Group Trigger plugin that may help.


Sent from my iPhone using Tapatalk Pro

Posted on
Tue Jul 27, 2021 5:54 pm
SearchCz offline
Posts: 82
Joined: Sep 18, 2019

Re: Everything At A Glance (almost)

You nailed it ... spot on, and no heavy lifting at all !

howartp wrote:
There’s also the Group Trigger plugin that may help.


Sent from my iPhone using Tapatalk Pro

Posted on
Mon Aug 02, 2021 6:53 pm
mundmc offline
User avatar
Posts: 837
Joined: Sep 14, 2012

Re: Everything At A Glance (almost)

Great Control Page and great implementation!

Group Trigger and Group Change Listener are great. It seeeems like you might benefit from Timed Devices but I’m not entirely sure you need it given your current script.

Posted on
Tue Aug 03, 2021 5:29 pm
SearchCz offline
Posts: 82
Joined: Sep 18, 2019

Re: Everything At A Glance (almost)

mundmc wrote:
Great Control Page and great implementation!

Group Trigger and Group Change Listener are great. It seeeems like you might benefit from Timed Devices but I’m not entirely sure you need it given your current script.


Thanks! I get the impression with Timed Devices that I would need to add a new "device" for everything that I want to have a countdown/timeout. What I implemented instead is a variable naming convention that coincides with my device names. If there exists a variable called MAX_whatevername, the device called whatevername will be turned off whenever its last_canged times is < MAX_whtevername minutes ago.

Posted on
Wed Aug 04, 2021 12:28 am
mundmc offline
User avatar
Posts: 837
Joined: Sep 14, 2012

Re: Everything At A Glance (almost)

SearchCz wrote:
mundmc wrote:
Great Control Page and great implementation!

Group Trigger and Group Change Listener are great. It seeeems like you might benefit from Timed Devices but I’m not entirely sure you need it given your current script.


Thanks! I get the impression with Timed Devices that I would need to add a new "device" for everything that I want to have a countdown/timeout. What I implemented instead is a variable naming convention that coincides with my device names. If there exists a variable called MAX_whatevername, the device called whatevername will be turned off whenever its last_canged times is < MAX_whtevername minutes ago.
Clever programming! I have similarly used this approach with calling Dynamic Refreshing Control Pages.

All in all, sounds like you got it covered. I wish more users that used GUI’s (Homekit screens included) shared their implementations!

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 1 guest