Extending a lennox icomfort thermostat: part 2

I setup up an android emulator, side loaded the icomfort app, installed charles proxy, installed the cert from charles proxy, started the emulator with an http proxy, then started sniffing the https traffic. This all took me a while to get all working, but after a lot of banging of heads i finally started to get the unencrypted packets from the app.

The website and the android app use a completely different API. i converted my first attempt at a logging app to the same API that android uses and now have a much cleaner app. Have a look at https://github.com/bruman/ruby-icomfort for the full code.

I added a lot of debug statements so you can see the json that gets passed back and forward, then it starts print

"date, Cool_Set_Point, Head_Set_Point, Indoor_temp, Fan_Mode, Indoor_Humidity, System_Status, Operation_Mode"
"/Date(1416870002787+0000)/,78.0,68.0,71.0,auto,47,idle,heat or cool"

part 1 of my post about interfacing with the icomfort

 

 

3 thoughts on “Extending a lennox icomfort thermostat: part 2

  1. ut666

    Very nice work. Thanks for sharing!

    I went down a different route, lazy parsing of the website page, so read-only, but very nice you managed to figure out the API calls. For the curious: https://github.com/ut666/LennoxThermoPi

    What kind of stuff are you doing with the API out of interest?
    I think my next project will be a few remote temperature sensors that take control the thermostat!

    Reply
  2. Curtman

    Hello, I just found your blog while trying to find if anyone else was hacking iComfort hvac stuff. Wonderful progress! I thought I’d ask if you’ve made any more progress with your home automation interface, and describe where I’m at..

    I have a iComfort wifi touch thermostat connected to an interface module which translates between the iComfort to legacy (R), (C), (W), (Y), (G) 24vac signals for my hvac equipment. I know from experience that it is possible to connect multiple iComforts to one system to control it. The Zoning options for this system are very very interesting to me. For home automation integration, my thoughts have been that it would be best to reverse engineer the packets on the CAN bus. Then it would be possible to use a can transceiver like these ( http://www.14core.com/wiring-the-mcp2515-controller-area-network-can-bus-diagnostics/ ) and a raspberry pi, etc to replace and/or coexist with the iComfort thermostat in a home automation setup. I chose that board because it uses the same CAN transceiver as the iComfort ( TGA1050 – https://docs.google.com/viewer?url=http%3A%2F%2Fcache.nxp.com%2Fdocuments%2Fdata_sheet%2FTJA1050.pdf%3Fpspll%3D1 ).

    Anyway.. I thought I would say hello, and cheers to iComfort hacking.

    Reply
    1. Ian Macdonald Post author

      interesting, I really haven’t done much with it. I have been playing with openhab2 recently and have added some more motion sensors, my goal was to detect if a human was in the house and if not set the icomfort to away mode, but the cats are triggering the motion sensors I have so that may not work.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *