Description
Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version
): 0.49
Python release (python3 --version
): Python 2.7.9
Component/platform: tado
Description of problem: Climate section of tado does not start, error
Expected:
Climate panel should appear within homeassistant web interface - it doesn't
Problem-relevant configuration.yaml
entries and steps to reproduce:
tado:
username: !secret tado_username
password: !secret tado_password
- To reproduce start hass
- Notice that climate panel is missing from the web interface
Traceback (if applicable):
2017-07-22 23:38:48 ERROR (MainThread) [homeassistant.core] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/lib/python3.4/asyncio/tasks.py", line 233, in _step
result = coro.throw(exc)
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/helpers/entity_component.py", line 381, in async_process_entity
new_entity, self, update_before_add=update_before_add
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/helpers/entity_component.py", line 212, in async_add_entity
yield from self.hass.async_add_job(entity.update)
File "/usr/lib/python3.4/asyncio/futures.py", line 388, in __iter__
yield self # This tells Task to wait for completion.
File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup
value = future.result()
File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result
raise self._exception
File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
result = self.fn(*self.args, **self.kwargs)
File "/srv/homeassistant/lib/python3.4/site-packages/homeassistant/components/climate/tado.py", line 291, in update
cooling = overlay_data['setting']['mode'] == 'COOL'
KeyError: 'mode'
Additional info:
Using the custom component version of the Tado component (here https://github.com/wmalgadey/tado_component) works OK. I think the problem is solved in this repo by the following commit wmalgadey/tado_component@adfb608. So getting the fixes into the mainline homeassistant source would be good.
Here is the JSON returned by the tado webservice that gives the problem formet
{
'preparation':None,
'geolocationOverrideDisableTime':None,
'activityDataPoints':{
'heatingPower':{
'percentage':0.0,
'type':'PERCENTAGE',
'timestamp':'2017-07-22T21:37:46.010Z'
}
},
'setting':{
'type':'HEATING',
'power':'ON',
'temperature':{
'fahrenheit':66.2,
'celsius':19.0
}
},
'overlay':{
'termination':{
'type':'TADO_MODE',
'projectedExpiry':'2017-07-22T23:00:00Z'
},
'type':'MANUAL',
'setting':{
'type':'HEATING',
'power':'ON',
'temperature':{
'fahrenheit':66.2,
'celsius':19.0
}
}
},
'link':{
'state':'ONLINE'
},
'geolocationOverride':False,
'tadoMode':'HOME',
'sensorDataPoints':{
'insideTemperature':{
'fahrenheit':68.72,
'celsius':20.4,
'precision':{
'fahrenheit':0.1,
'celsius':0.1
},
'timestamp':'2017-07-22T21:37:42.200Z',
'type':'TEMPERATURE'
},
'humidity':{
'percentage':61.3,
'type':'PERCENTAGE',
'timestamp':'2017-07-22T21:37:42.200Z'
}
},
'overlayType':'MANUAL',
'openWindow':None
}