2021-10-25 13:47:37 +02:00

7.9 KiB

title, description, ha_category, ha_release, ha_iot_class, ha_codeowners, ha_config_flow, ha_domain, ha_homekit, ha_platforms
title description ha_category ha_release ha_iot_class ha_codeowners ha_config_flow ha_domain ha_homekit ha_platforms
Netatmo Instructions on how to integrate Netatmo integration into Home Assistant.
Hub
Environment
Weather
Sensor
Climate
Camera
Light
0.20 Cloud Polling
@cgtobi
true netatmo true
camera
climate
light
sensor
select

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

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

{% include integrations/config_flow.md %}

Extra configuration of the integration

Configuration of Netatmo public weather stations is offered from the front end. Enter the Netatmo integration and press the "CONFIGURE", then set "Area name" for new area.

In the dialog, it is possible to create, edit and remove public weather sensors. For each area a unique name has to be set along with an area to be covered and whether to display average or maximum values.

To edit an existing area, enter its name and follow the dialog.

Camera

The netatmo camera platform is consuming the information provided by a Netatmo Smart Indoor or Outdoor camera. This integration allows you to view the current live stream created by the camera.

Climate

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

Light

The netatmo light platform is consuming information provided by a Netatmo Smart Outdoor camera and requires an active webhook. This integration allows you to turn on/off the flood lights.

Sensor

The netatmo sensor platform is consuming the information provided by a Netatmo Smart Home Weather Station a Netatmo Smart Indoor Air Quality Monitor device or Netatmo Public Weather Stations.

Services

Set Outdoor Camera Light Mode

set_camera_light_mode

Set the outdoor camera light mode. This requires an entity id and a valid state.

Set Schedule

set_schedule

Set the heating schedule. This requires an entity id and a schedule name.

Set Person Home

set_persons_home

Set a list of persons as at home. Person's name must match a name known by the Netatmo Smart Indoor Camera.

Set Person Away

set_person_away

Set a person away. If no person is set the home will be marked as empty. Person's name must match a name known by the Netatmo Smart Indoor Camera.

(Un-)Register Webhooks

register_webhook and unregister_webhook

Service to manually register and unregister the webhook.

Webhook Events

The Netatmo backend sends instant events to Home Assistant by using webhooks which unlocks improved responsiveness of most devices with the exception of Netatmo Smart Home Weather Station, Netatmo Smart Indoor Air Quality Monitor or Netatmo Public Weather Stations.

Netatmo webhook events have known issues with Home Assistant Cloud Link. It is therefore recommended to use an individual development account.

To be able to receive events from Netatmo, your Home Assistant instance needs to be accessible from the web over port 80 or 443. To achieve this you can either use your Nabu Casa account or for example Duck DNS (Home Assistant instructions). You also need to have the external URL configured in the Home Assistant configuration.

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

You can find the available event types at the official Netatmo API documentation.

Example:

# Example automation for webhooks based Netatmo events
- alias: "Netatmo event example"
  description: "Count all events pushed by the Netatmo API"
  trigger:
    - event_data: {}
      event_type: netatmo_event
      platform: event
  action:
    - data: {}
      entity_id: counter.event_counter
      service: counter.increment

Example:

{% raw %}

# Example automation for Netatmo Welcome
- alias: "Motion at home"
  description: "Motion detected at home"
  trigger:
    - event_type: netatmo_event
      platform: event
      event_data:
        type: movement
  action:
    - data:
        message: >
          {{ trigger.event.data["data"]["message"] }}  
          at {{ trigger.event.data["data"]["home_name"] }}
        title: Netatmo event
      service: persistent_notification.create

{% endraw %}

Example:

{% raw %}

# Example automation for Netatmo Presence
- alias: "Motion at home"
  description: "Motion detected at home"
  trigger:
    - event_type: netatmo_event
      platform: event
      event_data:
        type: human # other possible types: animal, vehicle
  action:
    - data:
        message: >
          {{ trigger.event.data["data"]["message"] }}  
          at {{ trigger.event.data["data"]["home_name"] }}
        title: Netatmo event
      service: persistent_notification.create

{% endraw %}

Example:

{% raw %}

# Example automation
- alias: "door or window open or movement"
  description: "Notifies which door or window is open or was moved"
  trigger:
    - event_type: netatmo_event
      platform: event
      event_data:
        type: tag_open
    - event_type: netatmo_event
      platform: event
      event_data:
        type: tag_big_move
    - event_type: netatmo_event
      platform: event
      event_data:
        type: tag_small_move
  action:
    - data:
        message: >
          {{ trigger.event.data["data"]["message"] }}
        title: Netatmo event
      service: persistent_notification.create

{% endraw %}

Development / Testing with your own client ID

To enable the Netatmo component with your own development 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.

Next, add the following lines to your configuration.yaml:

# Example configuration.yaml entry
netatmo:
  client_id: YOUR_CLIENT_ID
  client_secret: YOUR_CLIENT_SECRET

{% configuration %} client_id: description: The client id from your Netatmo app. required: true type: string client_secret: description: The client secret from your Netatmo app. required: true type: string {% endconfiguration %}

After the client_id and client_secret is added to your configuration.yaml you must enable Netatmo through the integrations page.

Menu: Configuration -> Integrations.

Click on the + sign to add an integration and click on Netatmo. After completing the configuration flow, the Netatmo integration will be available.

Troubleshooting

Light

If the lights show as unavailable the issue usually is that webhook is banned by Netatmo. To solve that unregister the webhook, go to the Netatmo Developer Page to unban your webhook and then register the webhook.