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.
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.
“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?
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.