A WiFi controlled climate component with an API makes it feel like a good match for HA.
@ironlion27 are you looking for a component for the iComfort WiFi or the iComfort 30 series? I have a custom component for the iComfort WiFi that I use and my new goal is to make it an official component. Until then you can find my custom component at https://github.com/thevoltagesource/LennoxiComfort
This is really great! Iâm new to HA, got it up and running quickly, and now I have a nice thermostat card on my home screen. I have 3 thermostats in my house and one has 3 zones, so maybe I can help with those areas. Thanks so much!
Ya itâs the S30 model that seems to only have IFTTT but no actual API. Canât figure a way to control them via HA.
holy crap. youâre a hero. thank you for this, @tvs! i had given up hope that iâd be able to control my icomfort thermostat from homeassistant, but youâve done it! it works like a charm and is way faster than the myicomfort site or the awful icomfort android app.
Iâm glad you are able to take advantage of it. I am usually running a bit behind on keeping my installation up to date so if you find an issue when upgrading please open an issue on the GitHub repo.
Besides the crazy effort to talk to the thermostat I am also irritated that it doesnât report when the system is dehumidifying or tell me what stage the compressor is running at. So I am building a hardware device to monitor the compressor so I can track the that info in home assistant.
isnât it always dehumidifying when running in AC mode, and never dehumidifying while idle?
Sorry, confusion comes in with the terminology, mode vs state. Since this thermostat allows you to set a cool set point and a humidity set point, Lennox has cooling profiles that affect how the system runs based on what is needed at the moment. When the system is in cool mode, the system can go into one of three operating states, âsystem coolingâ, âsystem cooling & dehumidifyingâ or âsystem dehumidifyingâ. The thermostat reports those first two operating states to the cloud service as âcoolingâ but the last state does not get reported to the cloud service at all. So, HA is limited knowing when the system is running for the purpose of cooling but is left in the dark is the system is running solely to dehumidify. I wanted to create an automation based on when the compressor last ran. Since I live in Texas on the gulf coast, my system runs in dehumidify mode a lot and the gap in data was keeping me from successfully implementing my automation.
The hardware I built allows me to directly monitor the signals to the compressor. So now I know every time the compressor turns on and how long it runs. It also allows me to track which stage my dual-stage compressor is running in. This is useful to see if the system is running like it should and because more data is always a good thing!
Hi All, I just got the myicomfort setup with hass.io and my thermostat. It is working well, however the one thing that is missing is the 2nd zone for my system. I tried to add zone = 0 and zone =1, however that is not allowed and neither is creating two climate keys. Is there a simple way of adding my second zone? Thank you in advance.
@elvisio33 - We got this all working for you now, right? I updated the readme on the repository to make this clearer for future users.
Everyone - This integration is now in the HACS. This makes installing (first time and updates) much easier. Major kudos to @ludeeus for such a cool interface and to @CyberGlitch for pointing out how I could make my integration available thru the store.
Multi-Zone Users - v2.1 uses an updated version of the backend API that fixes a bug where the managed zone would switch to zone 0 due to a malformed response from the cloud API.
Hello Jacob,
Yes, thanks to you all is well and working beautifully and no thanks to Lennox! Happy holidays
!.
Thank you.
elviso33
This is great! I just started playing with HASS 3 days ago, and Iâm still getting all my devices in before I start working on automations. I got your component added in, but I canât for the life of me get it to accept my username and password for the lennox cloud API connection⌠In homeassistant.log I get:
2020-12-21 06:02:01 ERROR (SyncWorker_3) [myicomfort.api] Username or password incorrect.
2020-12-21 06:02:01 ERROR (SyncWorker_3) [custom_components.myicomfort.climate] Failed to connect to thermostat cloud API.
I added the cloud_apiusername and cloudapi_password to the secrets.yaml file, but no luck. I even changed my cloud password to remove special characters in case that was messing up the YAML parsing. I could use a little nudge in the correct direction. Thanks in advance!
-Pete
Hi Pete. First I want to confirm that you have the WiFi iComfort thermostat and you can control it with myicomfort.com and that you donât have a S30/E30/M30 controlled through lennoxicomfort.com. While both are WiFi thermostats, because there are separate API stacks, my code can only manage the âWiFi iComfortâ. If that is the one you have then i would suggest trying without using the secrets file first just to make it simple.
climate:
- platform: myicomfort
name: firstfloor
username: jacob
password: Password1
system: 0
zone: 0
min_temp: 55
max_temp: 90
Let me know if this helps.
Yes, I do go to myicomfort.com, and login with my credentials and control my thermostat. (NOT lennoxicomfort.com)
I will try that right now and let you know. Thanks for everything!
OK. I found my error. I had âcloud_svc: aireaseâ which is what was on the github doc which I cut and pasted. I read it thoroughly this time, and change cloud_svc to lennox, and the login appeared to work.
So my Configuration YAML for climate now looks like this:
climate:
- platform: myicomfort
name: homeclimate
username: Notme
password: Obfuscated
system: 0
zone: 0
min_temp: 55
max_temp: 90
cloud_svc: lennox
I was super excited. When I went to the integrations, I didnât see anything in there, so I re-checked my home-assistant.log and it had the following error:
2020-12-22 00:09:21 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 619, in _update_entity_states
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 283, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 322, in _async_write_ha_state
attr.update(self.state_attributes or {})
File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 258, in state_attributes
if self.hvac_action:
File "/config/custom_components/myicomfort/climate.py", line 226, in hvac_action
return HVAC_ACTIONS[self._api.state]
IndexError: list index out of range
I rebooted the device, and this time it came up without any error in the home-assistant.log file, but still no sign of the new integration. Iâve tried another browser, tried it in incognito-mode, and cleared all browsing data to make sure it isnât a caching issue. No luck.
Any help is greatly appreciated.
Sorry to be a pest, and thanks again!
-Pete
EDIT: I just noticed that the entity is there! Added a card to my dashboard and VOILA!
Thanks! You have been a great help for me. Your component is awesome!
Sweet! Iâm glad it is working for you.
-Jacob
Thanks for the work on thisâŚinstallation was quick and easy. I have been trying to find a way to automate a change in temperature based on time but having problems trying to sort out exactly what to include. Is this something that can be done with the myicomfort component youâve written?
Thanks
Ray
Hi! Really appreciate the effort put into making this!
Iâm having some trouble configuring it however. Iâve installed the integration through HACS but I donât see any new entities. Should I be entering configuration values before an entity is shown (if so how?) or do I have another problem to deal with because no new entities are showing yet?
Thanks!
Sorry mate, canât help. Iâve got s30âs so had to go the emulated home-kit route instead. Reading the repository it looks like there are some requirements to update your configuration.yaml file w/ user and password info etc.