Way to notify me when device poll fails?

Hi all!

I have a Veralite controlling a Trane 400BB thermostat. Every so often I’m unable to poll or update the thermostat settings.
When this happens I usually have to just hit a button on the Trane to wake it up, and it will start responding again.

Is there any way to have the Vera notify me that a poll failed? I see 8 different notifications in the Trane Device setup (battery level low, temp goes above/below, etc.) but nothing about the unit failing to respond.

Would PLEG be needed for this or can the Vera handle this?

I’d like to know when the Trane is “off-line” before I’m in a situation where I try and change a setting remotely and I get a “failed, waiting to retry” message.

Thanks everyone!

-Greg

You could try this with a PLEG:

Device Properties
TraneLWU Trane LastWakeup

Conditions
TraneCrash TraneLWU; NOW > 10:00

TraneCrash condition and associated action should fire if the Trane did not wake-up for ten minutes. Change the time limit as required.

If you don’t want to use PLEG (why-ever not?), you could have a scene scheduled to run every, say, five minutes with the following Luup:

local dID = <device-number-of-Trane> local tLWU = tonumber((luup.variable_get("urn:micasaverde-com:serviceId:ZWaveDevice1","LastWakeup",dID))) local tNow = os.time() return (tNow - tLWU) > 600

The scene will only execute if the Trane has not woken-up for ten minutes (600 seconds). Use the scene actions to perform whatever notifications you need.

Thanks so much!
I will look into both of these methods and report back :slight_smile:

-Greg

“LastWakeup” is not a variable available on the ADVANCED tab of the Trane device…do I need to somehow add this or does Trane use another variable instead?

-Greg

If the device service isn’t updating the variable, adding it will not help. Here’s an alternative that uses the timestamp of the last update to CurrentTemperature. If a Trane doesn’t have a variable for CurrentTemperature, get a new thermostat. ;D

local dID = 55 local CT, tCT = luup.variable_get("urn:upnp-org:serviceId:TemperatureSensor1","CurrentTemperature",dID) local tNow = os.time() return (tNow - tCT) > 600

Or for PLEG, try:

Device Properties
TranePOK Trane PollOk

Conditions
TraneCrash TranePOK; NOW > 10:00

TraneCrash condition and associated action should fire if the Trane did not wake-up for ten minutes. Change the time limit as required.

Used this post to build an alert when my Alarm plug-in stops working. Or I think I did! Thanks for the idea about using device properties instead of normal triggers.

Awesome!
Did you use PLEG or do it in a Scene?

-Greg