Netatmo


The netatmo component platform is the main component to integrate all Netatmo related platforms.

There is currently support for the following device types within Home Assistant:

Configuration

To enable the Netatmo component, add the following lines to your configuration.yaml:

# Example configuration.yaml entry
netatmo:
  api_key: YOUR_CLIENT_ID
  secret_key: YOUR_CLIENT_SECRET
  username: YOUR_USERNAME
  password: YOUR_PASSWORD

Configuration Variables

api_key

(string)(Required)The client id from your Netatmo app.

secret_key

(integer)(Required)The client secret from your Netatmo app.

username

(string)(Required)Username for the Netatmo account.

password

(string)(Required)Password for the Netatmo account.

discovery

(boolean)(Optional)Whether to discover Netatmo devices. Set it to False, if you want to choose which Netatmo device you want to add.

Default value: true

webhooks

(boolean)(Optional)Enable webhooks for instant events of the Welcome and Presence cameras.

Default value: false

Get API and Secret Key

To get your API credentials, you have to declare a new application in the Netatmo Developer Page. Sign in using your username and password from your regular Netatmo account. Click on ‘Create an App’ at the top of the page.

You have to fill the form, but only two fields are required: Name and Description. It doesn’t really matter what you put into those. Just write something that make sense to you. To submit your new app, click on create at the bottom of the form.

That’s it. You can copy and paste your new client id and client secret in your Home Assistant configuration file just as described above, in the configuration example.

Webhooks

The Welcome and Presence cameras can send instant events to Home Assistant by using webhooks. There are different types of events, each with slightly different data attached. To enable the webhooks add webhooks: true to your configuration. It is also required to have your camera enabled in Home Assistant. You can do this either by manually setting up the platform or by enabeling discovery.

To be able to receive events from Netatmo, your Home Assistant instance needs to be accessible from the web (Hass.io instructions) and you need to have the base_url configured for the HTTP component (docs).

Events coming in from Netatmo will be available as events in Home Assistant and are fired as netatmo_*, along with their data. You can use this event to trigger automations.

Events

The following events are available:

  • netatmo_person (Welcome)
  • netatmo_movement (Welcome & Presence)
  • netatmo_human (Presence)
  • netatmo_animal (Presence)
  • netatmo_vehicle (Presence)
  • netatmo_other (Welcome & Presence)

All events (except netatmo_other) contain the following attributes:

Attribute Description
event_type Type of event. E.G. movement.
home_name Name of the home the camera belongs to.
camera_id MAC address of the camera.
message Message describing what has been seen by the camera.

The Presence camera additionally has these attributes:

Attribute Description
snapshot_url URL to a picture of the full frame of the event.
vignette_url URL to a picture cropped down to the area of interest.

The Welcome camera additionally has these attributes for netatmo_person events:

Attribute Description
id ID of the person that has been seen.
name Name of the person that has been seen.
is_known Boolean value if the person is known.
face_url URL to a picture of the person.

The netatmo_other event passes all the webhook data through for all webhook events that don’t match any of the above. Set the level of logging for the netatmo component to debug to view the data in the Home Assistant logs.

Services (only for webhooks)

There are two services to manually add and drop the webhooks. This might be useful if your webhook has been banned and you want to readd the webhook without restarting Home Assistant.

Service Description
addwebhook Subscribe to webhooks. By default the automatically generated URL will be used. But you can pass {"url": "https://yourdomain.com/yourwebhook/"} as service data to the service call if you want to use a manually created webhook trigger. In this case you have to manually process the data that is sent by Netatmo.
dropwebhook Unsubscribe existing webhooks.

Binary Sensor

This component allows you to get the latest event seen by the camera.

Binary Sensor Advanced configuration

If you want to select a specific sensor, set discovery to false for netatmo and add the following lines to your configuration.yaml:

Configuration Variables

home

(string)(Optional)Will use the cameras of this home only.

timeout

(integer)(Optional)The Welcome/Presence binary sensors will stay on for X seconds after detection.

Default value: 90

cameras

(list)(Optional)List of cameras entity IDs to display.

welcome_sensors

(list)(Optional)List of monitored conditions. Possible values are ‘Someone known’, ‘Someone unknown’ and ‘Motion’.

presence_sensors

(list)(Optional)List of monitored conditions. Possible values are ‘Outdoor motion’, ‘Outdoor human’, ‘Outdoor animal’ and ‘Outdoor vehicle’.

# Example configuration.yaml entry
binary_sensor:
  platform: netatmo
  home: home_name
  timeout: 90
  cameras:
    - camera_name1
  welcome_sensors:
    - Someone known
    - Someone unknown
    - Motion
  presence_sensors:
    - Outdoor motion
    - Outdoor human
    - Outdoor animal
    - Outdoor vehicle

If home and cameras is not provided, all cameras will be used. If multiple cameras are available then each monitored conditions will create a specific sensor for each camera

Camera

The netatmo camera platform is consuming the information provided by a Netatmo camera. This component allows you to view the current photo created by the Camera.

Camera Advanced configuration

If you want to select a specific camera, set discovery to false for netatmo and add the following lines to your configuration.yaml:

# Example configuration.yaml entry
camera:
  - platform: netatmo

Configuration Variables

home

(string)(Optional)Will display the cameras of this home only.

cameras

(list)(Optional)Cameras to use. Multiple entities allowed.

camera_name

Name of the camera to display.

quality

(string)(Optional)Quality of the live stream. ('high', 'medium', 'low' or 'poor')

Default value: high

If home and cameras are not provided, all cameras will be displayed. For more control over your cameras check the configuration sample below.

# Example configuration.yaml entry
camera:
  platform: netatmo
  home: home_name
  quality: medium
  cameras:
    - camera_name1
    - camera_name2

Climate

The netatmo thermostat platform is consuming the information provided by a Netatmo Smart Thermostat thermostat. This component allows you to view the current temperature and setpoint.

Camera Advanced configuration

If you want to select specific homes or specific rooms, set discovery to false for netatmo and add the following lines to your configuration.yaml:

# Example configuration.yaml entry
climate:
  - platform: netatmo

Configuration Variables

homes

(list)(Optional)Will display the thermostats of the homes listed.

name

(Required)The home name.

rooms

(list | string)(Optional)List of the names of the rooms to be displayed.

If homes and rooms are not provided, all thermostats will be displayed.

# Example configuration.yaml entry
climate:
  platform: netatmo
  homes:
    - name: home1_name
      rooms:
        - room1_name
        - room2_name
    - name: home2_name
      rooms:
        - room3_name
        - room4_name
        - room5_name

Sensor

The netatmo sensor platform is consuming the information provided by a Netatmo Weather Station, a Netatmo Home Coach Netatmo device or the public sensors of others available via the Netatmo API even if you don’t own a Netatmo device.

Public sensors have to be set up manually. Currently the following conditions are supported for the public sensors:

  • temperature
  • pressure
  • humidity
  • rain
  • windstrength
  • guststrength

Advanced sensor configuration

If you want to select a specific sensor, set discovery to False for netatmo and add the following lines to your configuration.yaml:

# Example configuration.yaml entry
sensor:
  # Personal sensors
  - platform: netatmo
    station: STATION_NAME
    modules:
      module_name1:
        - temperature
      module_name2:
        - temperature
        - battery_vp

  # Public sensor
  - platform: netatmo
    areas:
      - lat_ne: 40.719
        lon_ne: -73.735
        lat_sw: 40.552
        lon_sw: -74.105
        monitored_conditions:
          - temperature
          - pressure
          - humidity
          - rain
          - windstrength
          - guststrength

Configuration Variables

station

(string)(Optional)The name of the weather station. Needed if several stations are associated with the account.

modules

(list)(Optional)Modules to use. Multiple entries allowed. Please check the next section about how to retrieve the module names.

module_name

(list)(Required)Name of the module.

temperature

Current temperature.

co2

CO2 concentration in ppm.

pressure

Pressure in mbar.

noise

Noise level in dB.

humidity

Humidity in %.

health_idx

Air health as one of the values Healthy, Fine, Fair, Poor, Unhealthy.

rain

Estimated rainfall for today in mm.

sum_rain_1

Rainfall in the last hour in mm.

sum_rain_24

Rainfall in mm from 00:00am - 23:59pm.

windangle

Wind angle

windstrength

Wind strength

gustangle

Wind gust angle

guststrength

Wind gust strength

min_temp

Min temperature for today

max_temp

Max temperature for today

rf_status

Current radio status per module. (90=low, 60=highest)

wifi_status

Wifi status per Base station

battery_vp

Current battery status per module.

battery_percent

Percentage of battery remaining per module.

areas

(map)(Optional)The list contains one or more areas to add as sensors.

lat_ne

(string)(Required)Latitude of north-eastern corner of area.

lon_ne

(string)(Required)Longitude of north-eastern corner of area.

lat_sw

(string)(Required)Latitude of south-western corner of area.

lon_sw

(string)(Required)Longitude of south-western corner of area.

monitored_conditions

(list)(Required)List of environment conditions to monitor.

name

(string)(Optional)Name of the sensor.

Default value: Netatmo Public Data

mode

(string)(Optional)How to calculate the value of the sensor if there are multiple stations reporting data. Accepts max or avg.

Default value: avg

Find your modules name

You can find your modules name in your online NetAtmo account. These names can be found and changed in parameters. You have to provide these name in your Home Assistant configuration.yaml file.