Clearly I must have something else going on then. Right now, my weekend home Vera is successfully maintaining a connection to my Ecobee and has been for at least a couple months. Not the case for my primary home. And when I go in and get a new PIN for my primary home Vera, it seems to knock out the weekend home. Odd…
I will try one more time setting a PIN for my primary home and keep a close watch and report back.
I’ve installed the latest version (1.6), but when I attempt to create a scene, all options are grayed out. Also, I don’t see any option to control the fan. I have added, removed, and re-added and authorized my Ecobee probably 20 times already, but no such like. Do I need to do a factory reset of of my Vera and Ecobee? What am I doing wrong? Are there any other Ecobee plug-ins that I should try?
Are there ANY plugins that support Ecobee under UI17? I’m stuck with the latest firmware and have not be successful in downgrading to 1.5.622. Ready to return this piece of junk!
Yes, there is an Ecobee plugin in the App store. It works. I use it. Install it, click the “Get PIN” button, and when the PIN returns, register that PIN as an authorized app in the app control settings in your Ecobee web interface.
The only issue I have with the plugin is that sometimes my thermostat will “un-register” from Vera (i.e. Vera no longer communicates with it) and I have to re-register using the above process. But I think (and this is just a guess) that this has something to do with the fact that I have two Ecobee thermostats in my Ecobee account (one in my primary home, one in my weekend home). One will occasionally de-register (seems to fluctuate between the two homes with no rhyme or reason) but the other will remain fine. This seems to happen every couple of months or so. I reported it to the app developer, but he hadn’t heard of the issue with any other users, so again, there must be something unique about my setup/configuration. But generally speaking, it works.
I’m on UI7 and just purchased Nest Protect. I’m creating a scene using the Nest Protect as trigger and then change the state of the Ecobee to OFF. I can control the state of the Ecobee on the dashboard but whenever I tried using it on the scene, I cannot select the state of the Ecobee or even change the temperature on the scence.
The docs have a quick screen shot of some sensor devices in UI5.
Hopefully v1.2 will be made available soon. Once it installs, it will take one or two 3-minute polls before your sensors start to show up, and then you will probably have to refresh your browser.
Please let me know detailed problem reports in case I missed something.
I know it is working for me but I am using Lua code rather than the scene editor. I think it would be fairly easy for me to fix by adding the ecobee housemode device to be accessible by the scene editor but in the meantime try
I was able to successfully add Ecobee Plugin on Veraplus (UI7). I tried creating scene for the motion detector in the thermostat and noticed that it only work intermittently (I am sending email notification and turning on a light upon motion detection). Has anyone tried using the thermostat’s motion detector to trigger a scene?
Somewhat new to lua scripting, but I’ve accomplished quite a bit with my dimmers.
However, when I query ecobee motion sensor variables, I get multiple values back.
Can anyone explain this behavior and explain how to extract each of those variables independently?
On a side note, the last trip times are unreliable. They don’t appear to update unless the device is changing from a not tripped state to a tripped state (still testing this). It doesn’t update the time stamp if the device is currently tripped. It only appears to maintain the tripped state as long as it sees motion and keeps the timestamp of when tripped last flipped from 0 to 1.
The only way to get more a more current status is by querying both tripped and LastUpdate and use them together. However, last update has the same problem of maintaining two values in one variable. I need to be able to separate the two.
shows that the LastTrip time is only coming from what is observed from using the API. The API does not give a trigger time itself, only the current state. I recall seeing Z-Wave PIR motion sensors do something similar, where they don’t repeatedly report being tripped until their pre-set time of no motion has ended. This is particularly good for battery-powered sensors.
In order to implement urn:micasaverde-com:serviceId:SecuritySensor1 for ecobee remote sensors, these device variables had to be provided with the closest possible values. Ecobee’s remote sensors don’t have an API to report when the last motion occurred.
Thanks. I’ll look over your links likely tomorrow and see if that helps my understanding.
I did figure out how to assign both results from the query to their own variable after some quick googling. (Embarrassingly simple)
I do have a question about the result order. Using lastupdate as an example, it provides the older of the two times in the first position. Can those be reordered in the plug-in or is that just how the API provides it? I say that because if someone only assigns that output to a single variable, they end up with the older of the two times rather than the more valid data of the two.
According to the ecobee API documentation, lastModified should be set in the format YYYY-MM-DD HH:MM:SS. The toSeconds function takes that format and turns it into seconds:
-- convert "2013-02-20 23:23:44" to number of seconds since 1/1/1970
local function toSeconds(dateString, useLocal)
useLocal = useLocal or false
local year, month, day, hour, min, sec = string.match(dateString, "(%d+)%-(%d+)%-(%d+) (%d+):(%d+):(%d+)")
local offset = useLocal and 0 or (os.time() - os.time(os.date("!*t")))
return os.time{year=year, month=month, day=day, hour=hour, min=min, sec=sec} + offset
end
If there is an error in the toSeconds function that is producing this result of two long numbers instead of the correct result, I can’t see it (but maybe keener eyes can).
You need to (re)read the function documentation for the variable_get function…
The variable_get function returns two values… The first value is the content of the variable, the second value is the timestamp of the last modification of the variable…
It is a coincidence that the variable you are reading is itself a timestamp value, so the function IS returning two timestamp values, but the first timestamp value is the valid value you want… The second value is the timestamp for when the variable was updated…
IE: The ecobee API reads the status of the thermostat at 1517955300… That becomes the “lastupdate” value… The plugin polls the ecobee API at 1517955588 and stores the processed data… You then call the variable_get function… The first return value, “1517955300”, is the variable value - The second return value, “1517955588” is the time that the variable was last set.
Hmm… Interesting. I guess that is the first time I’ve noticed variable_get return more than one value.
Still have not had a chance to look over all of this yet. Maybe this weekend.