vojtamolda / homebridge-ecobee3-sensors

Homebridge plugin that exposes Ecobee 3 sensors as HomeKit accessories.
https://www.npmjs.com/package/homebridge-ecobee3-sensors
MIT License
26 stars 15 forks source link

HomeKit functionality for early Ecobee 3 or SmartSi without official HomeKit support #7

Closed vojtamolda closed 6 years ago

vojtamolda commented 7 years ago

If you have an early Ecobee3 or SmartSi and want to have unofficial HomeKit support, upvote :+1: this comment.

If your thermostat has the following logo on the box, then it's already HomeKit enabled and you don't need to read any further. Here is a way to check if you don't have the box anymore.

homekit-small

Please, keep in mind that you'll have to permanently run a HomeKit server on a computer (i.e. Raspberry Pi) that's connected to your home network to get HomeKit to work.

vojtamolda commented 7 years ago

Earlier versions of the Ecobee3 thermostat were released without HomeKit support. This plugin has a lot of the authorization infrastructure needed to provide unofficial HomeKit functionality to these earlier versions, but some development is still needed to achieve this.

Given enough demand for this issue I'm willing to invest a weekend and work on it just for fun. Thermostats typically last a while and it doesn't really make sense to buy a new one just because Apple released a new protocol to control your house appliances :roll_eyes:

Note: According to this support article there's no way for Ecobee to officially fix this. As far as I know, this is the only way to get HomeKit working with earlier Ecobee3. Apple requires all HomeKit enabled devices to have a special MFi chip inside that secures (legal) relationship between them and the device manufacturer.

Who knows what kind of deals with the :imp: a company has to sign to get the official blessing from :apple: to put a HomeKit logo on their box...

vojtamolda commented 7 years ago

HomeKit (luckily) exposes a relatively limited subset of Ecobee3 functions, so there's no need to implement all of the bells and whistles that the official Ecobee API provides. To get it working one needs to create a new accessory that implements a Service.Thermostat, which consists of 5 mandatory characteristics:

  1. Characteristic.CurrentHeatingCoolingState This simply gets the current HVAC mode (Auto|Heat|Cool|Off). There is a nice API example as part the official Ecobee API documentation here.

  2. Characteristic.TargetHeatingCoolingState This sets the current HVAC mode. Example is also available here.

  3. Characteristic.CurrentTemperature Get the current temperature. An example is available here

  4. Characteristic.TargetTemperature Set the target heating/cooling temperature. There's a nice example of this in the API docs here.

  5. Characteristic.TemperatureDisplayUnits There's a useCelsisus field that's part of the Settings object. The documentation is here

AppleTechy commented 7 years ago

I am still very interested into seeing this become reality. Definitely willing to spend time trying to test it and sending you the error code it gives if it doesn't work.

djrobx commented 7 years ago

I have the official Ecobee3 with HomeKit support but I would still like to see this developed, as its built in support is extremely unreliable, and Ecobee is of no help whatsoever.

vojtamolda commented 7 years ago

I don't have any problems with my Ecobee3 or HomeKit, but thanks for posting a comment here, @djrobx.

stromparsons commented 7 years ago

I'd love to see this developed. Been watching for a plugin for homebridge for older ecobees for a while. Would really complete my HomeKit set up to get the ecobee working with everything else. I jumped on the home automation bandwagon early and have managed to get all my other non HomeKit stuff working through homebridge with the exception of the ecobee. Hope more people find this page an up vote.

vojtamolda commented 7 years ago

Hello @stromparsons, Thanks for your comment. If you know of anyone else, please, convince them to upvote this issue. At the moment, I'm not sure if there's big enough demand.

sumpy commented 6 years ago

The last post was from a number of months ago, but I would like to add my upvote to get Homebridge support for the early ecobee3 .. and Im sure there are plenty of others out there if they only knew there was such an option.. Hopefully there's a chance this could happen

jeffreyjue1 commented 6 years ago

I wouldn't mind see this happen with my older Ecobee3.

pingje commented 6 years ago

I love seeing my ecobee sensors, I'd be happy to help test support for the older ecobee3.

cameronpcook commented 6 years ago

+1 and if there was a way to throw some $ your way Id be happy to

stromparsons commented 6 years ago

I found a workaround for this in case anyone is interested. By running home assistant on a pi with the home bridge plug in, one can gain control of an older ecobee through HomeKit.

vojtamolda commented 6 years ago

Thanks @stromparsons! Since there's a workaround I'm closing the issue now.

evanhfox commented 3 years ago

@stromparsons What workaround was this? I don't see an ecobee SmartSI compatible plugin from the homebridge library that will allow a SmartSI (in my case) thermostat to be added to Homekit.