Since I stopped using Homebridge many years ago, and also haven't had a Nefit Easy for more than 4 years, this plugin is deprecated. It may still work for you, or it may not, but I cannot provide support for it.
This is a plugin for Homebridge to allow controlling your Nefit Easy™ (aka Worcester Wave™, Junkers Control™) thermostat through iOS' HomeKit.
Uses the nefit-easy-commands
module under the hood to communicate with the Nefit/Bosch backend.
This library requires Node.js 6.0.0 or later!
$ npm i homebridge-nefit-easy -g
Homebridge plugins need to be installed globally, so the -g
is mandatory.
If you're having problems getting any data from the HTTP server, and you're using a recent Linux distribution (for instance, Raspbian Buster), take a look at this comment.
In short: OpenSSL defaults have changed to require a minimum TLS version and cipher implementation. These defaults cause the Nefit client code to not be able to connect to the Nefit/Bosch backend.
The solution is mentioned here: edit the file /etc/ssl/openssl.cnf
and change the following keys to these values:
MinProtocol = None
CipherString = DEFAULT
First, you need a working Homebridge installation.
Once you have that working, edit ~/.homebridge/config.json
and add a new accessory:
"accessories": [
...
{
"accessory" : "NefitEasy",
"name" : "thermostaat",
"options" : {
"serialNumber" : "NEFIT_SERIAL_NUMBER",
"accessKey" : "NEFIT_ACCESS_KEY",
"password" : "NEFIT_PASSWORD"
}
}
]
- The
name
will be the identifier that you can use, for example, in Siri commands; - Replace
NEFIT_*
with the correct values; - Any additional options get passed to the
nefit-easy-core
constructor.
To also use the outdoor temperature measured by the Nefit Easy device, add a NefitEasyOutdoorTemp
accessory to ~/.homebridge/config.json
:
"accessories": [
...
{
"accessory" : "NefitEasyOutdoorTemp",
"name" : "buitentemperatuur",
"options" : {
"serialNumber" : "NEFIT_SERIAL_NUMBER",
"accessKey" : "NEFIT_ACCESS_KEY",
"password" : "NEFIT_PASSWORD"
}
}
]
All credentials options should be set for both the NefitEasy
and the NefitEasyOutdoorTemp
device.
- Getting the current temperature
- Getting the target temperature
- Setting the target temperature
- Getting the outside temperature (optional)