Like this? Please buy me a beer ...
This is a plugin for homebridge. It's a working implementation for several netatmo devices:
Please check notes on devices below for detailed information on supported modules.
Configuration sample:
"platforms": [
{
"platform": "netatmo",
"name": "netatmo platform",
"ttl": 10,
"auth": {
"client_id": "XXXXX Create at https://dev.netatmo.com/",
"client_secret": "XXXXX Create at https://dev.netatmo.com/",
"username": "your netatmo username",
"password": "your netatmo password"
}
}
],
To retrieve client id and secret please follow following guide:
There are some optional configuration options in the netatmo section of the config which provide finer control about what device and services to use to create accessories.
Communication towards netatmo API is time by three parameters:
"platforms": [ { "platform": "netatmo", ... "ttl": 10, "refresh_check": 900000 "refresh_run": 20000 ... } ],
"platforms": [ { "platform": "netatmo", ... "deviceTypes": [ "weatherstation", "thermostat", "camera" ], ... } ],
This allows you to include/exclude devices of a certain type in your accessories. The device types marked bold are the default types, if this config section is left out.
Please note, that welcome support is by default switched off, since it is not fully implemented yet.
Controlling devices can be done pn a finer level by id. The id of a netatmo device or module basically is it's mac address.
In order to include or exclude a specific device, the corresponding id can be included in a whitelist resp. blacklist.
If the whitelist contains at least one entry, all oter ids will be excluded.
"platforms": [ { "platform": "netatmo", ... "whitelist": [ "aa:bb:cc:11:22:33" ], "blacklist": [ "01:02:03:04:05:06", "01:23:45:67:89:ab" ], ... } ],
TBD (Needs description here)
The indoor module and outdoor module are fully supported. The rain gauge and the wind gauge are in general supported, but these devices use characteristics, which are not supported by the home app.
For this reason the home app shows the devices as not supported. If you want to use this devices you should consider to use a different homekit app. For example elgato's eve app is a good free alternative.
The thermostat is fully supported. There are a few things to know:
The camera devices are currently only supported as simple motion sensors. Motion detection might be delayed, since the polling is required an netatmo has strict request rate limits.
Any events of Type "movement", "person" and "outdoor" will be considered as a motion.
This implementation will most likely be refactored in future.
This is due to limmited support of the home app. Try to use a different homekit app. Check notes on devices for further info.
This themes to ba an issue with ios and hap lib. There is nothing I can do about it. Possible you should check the hombridge ifttt plugin with pushover app for notifications.
This is due to rate limits from netatmo. If polling rate is increased your account might get blocked by netatmo
Please recheck your config settings and your netatmo account. Sometimes the used netatmo API seems to have connection problems. Often a reload is enough
In short:
If you like this, your welcome to give a small donation. Check button at top/bottom of page. If you like to join development check the sources, open issues and pull requests. Thanx!
Following information is not relevant for users who just want to access netatmo via homekit. It is intented for software developers who want to modify / enhance the functionality of the software.
New deviceTypes should be put into the /devices folder. It might be helpful to use the existing deviceTypess as template and to inherit the NetatmoDevice. Each device provides one or more accessories which provide one or more services.
Services are defined inside the /services folder. The naming convention is, that a service source code file starts with the device name.
The default set of devices and services that are used is the one which resulted from earlier versions.
Please see Chapter Advanced Configuration on details about how to add a device or a service.
New features should be developed with a test scenario. Tests are executed via travis-ci or npm test.
For debugging and test purposes the software contains a support for a mock netatmo api.
The mock-api is activate by putting a
mockapi: "name"
into the netatmo section of the config file.
When activated there will be no calls to the netatmo API. Instead raw json data is read from file located in the /mockapi_calls folder.
The file name is [apimethod]-[name].json where
If this file is not found a [apimethod]-default.json file is read. If this is not found as well, empty data is returned.
Following things are to be developed next.
Is this plugin useful for you? Please buy me a beer ...
Thank you for buying me a beer to follwing users: