canonical: https://jentic.com/apis/netatmo.net/netatmo

# Netatmo

The Netatmo API is the cloud interface for Netatmo's connected weather stations, smart thermostats, indoor and outdoor cameras, and home coach devices. The 22 endpoints cover device discovery, sensor reads, schedule management, webhook subscription, and snapshot capture from cameras, so a developer or smart-home integrator can read environmental data, control heating schedules, and react to camera events programmatically.

## For AI agents

Read Netatmo weather station, thermostat, and camera data, manage heating schedules, and subscribe to webhooks for home and security events.

## Scope

Does not handle device firmware updates, billing, or third-party smart-home device control - use for Netatmo weather, thermostat, and camera data only.

## Capabilities

- Discover the Netatmo devices and modules attached to a user account through /devicelist
- Read indoor and outdoor weather measurements from a Netatmo Weather Station
- Read air quality data from a Netatmo Healthy Home Coach via /gethomecoachsdata
- Manage thermostat heating schedules using /createnewschedule and related endpoints
- Capture a still picture from a Netatmo camera via /getcamerapicture
- Subscribe and unsubscribe webhooks to receive home and camera events

## Use cases

### Personal Weather Dashboard

Smart-home enthusiasts pull /devicelist and the weather station reads to render a personal dashboard with indoor temperature, humidity, CO2, and outdoor conditions. The endpoints expose the same numbers shown in the Netatmo app, so a Home Assistant or Grafana board can sit alongside the manufacturer app rather than replace it.

Example prompt: List the Netatmo devices on my account, then return the latest indoor temperature and CO2 reading from the main weather station.

### Heating Schedule Automation

Owners of a Netatmo Smart Thermostat use /createnewschedule and the related schedule endpoints to switch heating profiles based on calendar events or occupancy. An agent can flip to an away schedule when nobody is home and back to the comfort schedule before they return, replacing the static weekday/weekend pattern most thermostats default to.

Example prompt: Create a new heating schedule named Away that holds 16 degrees Celsius from 8am to 6pm on weekdays.

### Camera Event Webhooks

Security-aware integrators register a webhook through /addwebhook so Netatmo Welcome and Presence cameras push motion, person, and animal events to an external service. The /getcamerapicture endpoint then fetches a still for incident review, which avoids polling the camera and gives near-real-time event capture.

Example prompt: Register a webhook at https://example.com/netatmo-events, then capture a snapshot from the front-door camera when a motion event arrives.

### AI Agent Integration via Jentic

An AI agent uses Jentic to read Netatmo sensors and act on them inside a wider home automation flow. Jentic exposes /devicelist, /gethomecoachsdata, and /getcamerapicture by intent, the agent supplies the device id, and the OAuth token stays in your Jentic One instance rather than the agent context.

Example prompt: Use Jentic to search for read netatmo sensor data, load the schema, and return the current outdoor temperature for my home.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/devicelist` | List devices and modules on the account |
| GET | `/gethomedata` | Get home configuration and rooms |
| GET | `/gethomecoachsdata` | Read Healthy Home Coach measurements |
| GET | `/getcamerapicture` | Capture a still picture from a camera |
| GET | `/geteventsuntil` | List home events up to a given timestamp |
| POST | `/createnewschedule` | Create a new thermostat heating schedule |
| POST | `/addwebhook` | Subscribe a webhook for home events |
| POST | `/dropwebhook` | Unsubscribe a webhook |

## Key resources

- **Devices** — List the Netatmo devices and modules attached to an account
- **Home Coach** — Read air quality data from a Healthy Home Coach
- **Schedules** — Create and manage heating schedules for thermostats
- **Cameras** — Capture pictures and read events from Welcome and Presence cameras
- **Webhooks** — Subscribe and unsubscribe webhooks for home events

## Why Jentic

- **Setup:** Wiring the Netatmo API by hand means running the OAuth code or password flow, refreshing tokens before they expire, and routing weather, thermostat, and camera reads to the correct host yourself. Through Jentic you install once, import Netatmo from the API Directory, store the OAuth credentials once, and your agent calls it.
- **Permission scoping:** The Netatmo operations carry the home, device, and schedule targets inside the request parameters rather than as a resource id in the URL path, so you limit the agent to the operations it needs, such as reading home data or weather stations. You choose that operation set, so creating a schedule or dropping a webhook is not included unless you add it.
- **Credential handling:** Your Netatmo OAuth tokens are stored once, encrypted, by your own Jentic One instance, refreshed automatically, and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'read Netatmo weather station data' or 'fetch a camera picture', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Ecobee API** — Smart thermostat platform with sensor and schedule control
- **Particle API** — IoT device cloud for custom hardware fleets, often paired with off-the-shelf smart-home APIs
- **WeatherAPI** — Public weather forecast API used to enrich a personal station with regional context

## FAQ

### What authentication does the Netatmo API use?

Netatmo uses OAuth 2.0 - the spec exposes both code_oauth (authorisation code) and password_oauth flows. Jentic stores the access and refresh tokens encrypted in your Jentic One instance and refreshes them automatically, so the raw token never enters the agent context.

### Can I read sensor data from a Netatmo Weather Station through the API?

Yes. Call /devicelist to discover the station and module identifiers, then read measurements via the data endpoints. /gethomecoachsdata covers Healthy Home Coach air quality, /gethomedata covers home configuration, and the device list response includes recent dashboard values for the weather station modules.

### How do I create a thermostat heating schedule with the Netatmo API through Jentic?

Search Jentic for create netatmo heating schedule, load the schema for POST /createnewschedule, then execute with the schedule name and time blocks. The full flow is pip install jentic, search, load, execute.

### What are the rate limits for the Netatmo API?

Netatmo enforces per-application and per-user rate limits documented on dev.netatmo.com - typically a few requests per second per user and a few hundred per hour per application. Use webhooks via /addwebhook for event-driven flows rather than polling the device endpoints.

### Can I subscribe to Netatmo home events through a webhook?

Yes. POST /addwebhook with the callback URL and Netatmo will push home and camera events to that URL. Use /dropwebhook to unsubscribe when the integration is decommissioned.

### Can I capture a still picture from a Netatmo camera?

Yes. /getcamerapicture returns a JPEG given the camera id. Combine it with the events from /geteventsuntil to fetch a snapshot tied to a specific motion or person event.

### Can I limit what my agent is allowed to do with the Netatmo API?

Yes. Because your Jentic One instance is self-hosted, your own rules decide which Netatmo operations the agent may call, so you can allow read-only operations like /devicelist, /gethomedata, and /gethomecoachsdata while excluding write actions such as /createnewschedule or /dropwebhook. The Netatmo operations carry the home, device, and schedule targets in the request parameters rather than in the URL path, so you scope the agent by the operation set you grant rather than by resource id. Anything you do not add, such as capturing a camera picture via /getcamerapicture, stays out of the agent's reach.
