Skip to content

planetk/homebridge-netatmo

Repository files navigation

Build Status downloads Like this? Please buy me a beer ... Donate

⚠️ Currently this project is no longer actively maintained. In case you are willing to maintain this project, please contact me or open an issue.

homebridge-netatmo

This is a plugin for homebridge. It's a working implementation for several netatmo devices:

  • netatmo weather station
  • netatmo thermostat
  • netatmo welcome

Please check notes on devices below for detailed information on supported modules.

Installation

  1. Install homebridge using: npm install -g homebridge
  2. Install this plugin using: npm install -g homebridge-netatmo
  3. Update your configuration file. See sample-config.json in this repository for a sample.

Configuration

Simple Configuration

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:

  1. Register at http://dev.netatmo.com as a developer
  2. After successful registration create your own app by using the menu entry "CREATE AN APP"
  3. On the following page, enter a name for your app. Any name can be chosen. All other fields of the form (like callback url, etc.) can be left blank.
  4. After successfully submitting the form the overview page of your app should show client id and secret.

Advanced Configuration

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.

API Refresh and timings

Communication towards netatmo API is time by three parameters:

ttl
Time in seconds, how long data will be kept in the internal cache. Mainly useful to avoide duplicated requests for different values from the same device. Defaults to 10 seconds if left out in config.
refresh_check
Time in milliseconds, how often the api will be automatically polled to check for changes. Defaults to 900000 which is 15 Minutes. Do not take values much lower, or you risk, that you put to much traffic to the netatmo API. In worst case netatmo might temporarilly exclude your app from the api.
refresh_run
Time in milliseconds, how often the the module checks if there was a request to refresh the data, either from the automatic polling or due to changes in the homekit app. This allows to have regular checks as well as refreshes after changes were done in the app. Defaults to 20000 which is 20 Seconds.
    "platforms": [
        {
            "platform": "netatmo",
            
            ...
            
			  "ttl": 10,
			  "refresh_check": 900000
			  "refresh_run": 20000
            ...
            
        }
    ],

Control Accessories by device type

    "platforms": [
        {
            "platform": "netatmo",
            
            ...
            
            "deviceTypes": [
              "weatherstation",
              "thermostat",
              "camera"
            ],

            ...
            
        }
    ],

This allows you to include/exclude devices of a certain type in your ac