IndigoDomotics / indigo-ecobee-plugin

Plugin for Indigo home automation software to support Ecobee thermostats and remote sensors
1 stars 1 forks source link

Error creating new device #8

Closed earache666 closed 6 years ago

earache666 commented 6 years ago

Running 1.2.4 with refreshed PIN/token. Attempted to create a new EcoBee device, but as soon as I selected the EcoBee to configure I get the following error:

Ecobee Error Error in plugin execution ServerReplacedElem:

Traceback (most recent call last): File "/Library/Application Support/Perceptive Automation/Indigo 7/IndigoPluginHost.app/Contents/PlugIns/plugin_base.py", line 1179, in deviceUpdated File "plugin.py", line 292, in deviceStartComm UnboundLocalError: local variable 'newDevice' referenced before assignment

FlyingDiver commented 6 years ago

Try 1.2.6: https://github.com/IndigoDomotics/indigo-ecobee-plugin/releases/tag/1.2.6

earache666 commented 6 years ago

Wow, that was fast. Now I'm getting this error when I try to create a new EcoBee device:

Ecobee Error Error in plugin execution ServerReplacedElem:

Traceback (most recent call last): File "/Library/Application Support/Perceptive Automation/Indigo 7/IndigoPluginHost.app/Contents/PlugIns/plugin_base.py", line 1179, in deviceUpdated File "plugin.py", line 270, in deviceStartComm File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 109, in init File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 195, in updateServer File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 142, in _update_server_occupancy IndexError: list index out of range

Ecobee Error Error in plugin execution ServerReplacedElem:

Traceback (most recent call last): File "/Library/Application Support/Perceptive Automation/Indigo 7/IndigoPluginHost.app/Contents/PlugIns/plugin_base.py", line 1179, in deviceUpdated File "plugin.py", line 270, in deviceStartComm File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 109, in init File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 195, in updateServer File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 142, in _update_server_occupancy IndexError: list index out of range

FlyingDiver commented 6 years ago

OK, that looks to be deep in the old code. Please turn on debug logging, and try again. Please post the specifics of the device type you're creating, and the actual Ecobee devices you have.

earache666 commented 6 years ago

Detailed debugging was already on. The error above persists. I'm attempting to create 2 Ecobee 3 devices (upstairs/downstairs). FYI, I also have 2 remote temperature sensors linked to each of my Ecobees. One other thing of interest... in my device window, under State, the thermostats show 2 temperature readings instead of 1 (68.0, 68.8).

Reloading the plugin gives me this: Ecobee Error exception in deviceStartComm(Thermostat-Downstairs): list index out of range Ecobee Error exception in deviceStartComm(Thermostat-Upstairs): list index out of range

Thanks for your help with this. Let me know if you need more information.

earache666 commented 6 years ago

Clarification - I have 2 Ecobee 3 lites

FlyingDiver commented 6 years ago

I wonder if the Ecobee 3 Lite acts differently than the Ecobee 3, which is what I have.

I'll look into this some more.

FlyingDiver commented 6 years ago

Is this an all-new install? That is, no previous Ecobee units?

From what I can tell, the Lite should act the same as the older Ecobee 3. So I'm not sure why the code is acting differently.

rapamatic commented 6 years ago

I think the difference is the ecobee 3 lite does not have an occupancy sensor. Looks like the error is coming from the code expecting to get occupancy data from the 3 lite but it’s returning null or something unexpected.

https://support.ecobee.com/hc/en-us/articles/115007082048-What-s-the-difference-between-the-ecobee3-ecobee3-lite-and-ecobee4-

FlyingDiver commented 6 years ago

You know, I was just looking at a comparison of the two, and it didn't mention the lack of occupancy sensor. Grrr.

FlyingDiver commented 6 years ago

Try https://github.com/IndigoDomotics/indigo-ecobee-plugin/releases/tag/1.2.7

rapamatic commented 6 years ago

Earache - one point of clarification. The two temps that show up are showing 1) the temperature as detected at the thermostat and 2) the average of the temperatures detected at the thermostat and all the sensors. I don’t know which order they are presented in.

FlyingDiver commented 6 years ago

And it's the average temperature that the thermostat uses to control the HVAC system.

earache666 commented 6 years ago

Thanks guys. So here's the error I get now running 1.2.7. BTW, this is not a new install. I had an early version of the Ecobee plugin running back before we started having authentication problems.

Ecobee Error Error in plugin execution ServerReplacedElem:

Traceback (most recent call last): File "/Library/Application Support/Perceptive Automation/Indigo 7/IndigoPluginHost.app/Contents/PlugIns/plugin_base.py", line 1179, in deviceUpdated File "plugin.py", line 270, in deviceStartComm File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 109, in init File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 202, in updateServer File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 145, in _update_server_occupancy NameError: global name 'false' is not defined

Ecobee Error Error in plugin execution ServerReplacedElem:

Traceback (most recent call last): File "/Library/Application Support/Perceptive Automation/Indigo 7/IndigoPluginHost.app/Contents/PlugIns/plugin_base.py", line 1179, in deviceUpdated File "plugin.py", line 270, in deviceStartComm File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 109, in init File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 202, in updateServer File "/Library/Application Support/Perceptive Automation/Indigo 7/Plugins/Ecobee.indigoPlugin/Contents/Server Plugin/ecobee_devices.py", line 145, in _update_server_occupancy NameError: global name 'false' is not defined

FlyingDiver commented 6 years ago

Stupid typo. Python reserved words are case sensitive.

https://github.com/IndigoDomotics/indigo-ecobee-plugin/releases/tag/1.2.8

earache666 commented 6 years ago

Ok, I think we've got a winner. Both thermostats are now up and running. Just for fun I tried to set up a remote sensor to see if that would work and it did. I was also able to trigger events based on sensor occupancy. Nice. Thank you for all the troubleshooting.

FlyingDiver commented 6 years ago

Excellent.