Replies: 16 comments 4 replies
-
|
This is something I would like to do as I now have an S30 to integrate into my Home Assistant. I am currently using HomeKit for the integration but there are a lot of details and controls that the HomeKit protocol doesn't implement. The x30 series of iComforts use a different API stack, so I am going to have to learn some new skills since I will be starting from square one. This is on my radar, I just don't know how soon I can get something working. |
Beta Was this translation helpful? Give feedback.
-
|
Thank you and looking forward to it. |
Beta Was this translation helpful? Give feedback.
-
|
@thevoltagesource, I'm very new to home assistant, but I'm willing to help. I've been poking around a little bit, and it looks like this repo needs to be updated to also support the S30 API? I found this old repo that was trying to make an API for the S30 and other similar thermostats (there's a note on this home assistant thread that the original author was told it was acceptable but not officially supported to do this). I forked the repo and ran the code, and it successfully grabbed information about my home, but it was inordinately slow for some reason I didn't dig into. So it seems there's a working API already available, though it may need some cleanup. As I said, I am very new to home assistant (still just setting up things in my home, haven't touched any HA code), but if you can give me some guidance on where to best help out, I have some free time the next couple of weeks that I can dedicate to this. |
Beta Was this translation helpful? Give feedback.
-
Hello, any chance the E30 can be integrated as well? |
Beta Was this translation helpful? Give feedback.
-
|
I’d like to do the S30 integration. Can you point me any information you have on their API stack? Postman collection? |
Beta Was this translation helpful? Give feedback.
-
Hey @matt-gardner - I went to that old repo - thanks for the link! I have it working and have prototyped a method to turn the fan on / auto. If you want integration with HA, I'm able to connect the S30 using the HA HomeKit Controller Integration. The integration allows for setting the mode (Heat, Cool, Heat-Cool, Off) and the temperature setpoints. If that's what you need, that could be a good approach. My main need is fan control (and Lenox did not implement the Homekit Fan Interface 👎)- hence I'm enhancing that existing repo. This "old repo" is going to be very slow because it's loading the actual MyIcomfort web application which is pretty slow on it's own. It's also really not an API per se; as it's tied directly into the web application and inseperable. I don't think it'll be practical to merge it into this code base. |
Beta Was this translation helpful? Give feedback.
-
|
Awesome, glad to hear someone is poking at this @PeteRager. My main interest in this was getting multiple zones working. I currently have the HomeKit Controller integration, but it only handles one zone, as far as I can tell. |
Beta Was this translation helpful? Give feedback.
-
|
Glad you are looking into it. Before you go down the HomeKit rabbit hole you should know that the challenge with HomeKit and the S30 is that it does not support multiple zones. That is why we were looking for someone to tap in to the API directly. If you want to just automate using HomeKit then there is a really easy way to get the S30 to talk with Home assistant using the HomeKit controller in HA. |
Beta Was this translation helpful? Give feedback.
-
|
Yeah, that sounds like a problem. It appears Lenox did the minimum possible on the HomeKit integration to get the Logo, and from their release notes, haven’t touched it since 2018. As they redid their web app they did not build a clean API. I just have a one zone cooling system and hence didn’t see that problem with HomeKit. The tests in the scraper do appear to work across multiple zones via a numeric zone_id parameter. My initial plan is to fork the other repo, get the API streamlined and then create the HA integration. That outcome would be a separate integration for the S30/E30. Thoughts? |
Beta Was this translation helpful? Give feedback.
-
|
That is a great idea. The best approach would be to merge your code with the existing codebase however, I don’t think Jacob is very active anymore and so if you forked the code into your own repo that would be fine too as most people would have either one of these but not both. |
Beta Was this translation helpful? Give feedback.
-
|
Apologies for being an absent. I have a transcript of the API interaction between the android app that I recorded when I started messing with the S30. Let me find it and I will post it. |
Beta Was this translation helpful? Give feedback.
-
|
I just created a new repository and dropped the transcript in there. I don't have time to run this project myself but if one of you starts one I will be happy to test or help when I can. From what I learned in building the HA integration for the Lennox WiFI thermostat there are two separate pieces you have to build. You need an API wrapper published to PyPI that HA can install and you need the actual integration piece that is in this repository. The HA integration in this repository needs some modernization, like switching to async calls and moving to config flow so it can be configured from the UI. I think the April HA release made a few changes to the climate platform. I need to go investigate the other issues as there are indications it is not working in the latest releases. But it could be a starting point once an S30 wrapper is written. |
Beta Was this translation helpful? Give feedback.
-
Thank you very much, that looks like a pretty standard REST API, which will be a much better approach than the web scraper built on the browser based app. What’s the technique you used to capture the web traffic - a proxy (fiddler?), running an android dev environment on pc? |
Beta Was this translation helpful? Give feedback.
-
|
I ran the app on an android phone and proxied the connection thru burpsuite on my laptop to capture the transcript. I was having problems getting the dev environment routing thru the proxy so I pulled out the phone and it was pretty easy once I imported the proxy certificates. |
Beta Was this translation helpful? Give feedback.
-
|
I’ve made some progress, have a Postman collection that goes through the basic sequence captured by @thevoltagesource to authenticate, get the system list and subscribe to changes. There are a set of command messages and subscriptions requests, the responses are delivered via an endpoint and/or a web socket. Hopefully will have this postman collection complete with ability to read all data later this week. |
Beta Was this translation helpful? Give feedback.
-
|
Just wondering if this s30 integration has made any progress, I am very much hoping someone with the skills can get this implemented. I am willing to test the thing. I keep hoping I can learn more about programming in HA but retirement has been keeping me too busy chasing squirrels to focus. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
Any chance we can get support for the iComfort S30?
Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions