Security
API Programs
Data available
Possible actions
Smart Home
Events (motion detected, alarm detected, known and unknown faces)
Snapshots of events
Videos of events*
Live stream*
Camera specific details
Get real time notification of events
Retrieve events
Retrieve timeline of events
Access events videos*
Access live stream*
Summary:
- Meet Netatmo's security products
- How does it work?
- Scopes
- Video stream and access
- Webhooks
- Warning
Meet Netatmo's security products
Netatmo has two kind of cameras:
Welcome is an indoor camera with face recognition capabilities.
Presence is an outdoor security camera with people, car and animal detection capabilities.
Netatmo cameras' users get notified when Welcome senses motions and detects faces or when Presence detects cars, animals or humans.
Each detection is considered an event, and the cameras generate timelines of events (motions, face detected, car detected etc, ...).
Users can choose what they think is relevant to record in their settings (e.g. never record motions but always record unknown faces ...). For Presence, users can also choose in their settings where they want to record. They can select specific areas for alerts, called Alert-Zones. Only the events within these Alert-Zones will be recorded.
Events are recorded and stored locally on the SD card that goes with every camera, depending on those above mentioned preferences. Following a FIFO model, as soon as the SD card is full, the oldest videos get deleted and disappear from users' timelines.
For each event, the camera that generated it takes a snapshot and records a video. The snapshot is displayed in the timeline.
When a fire starts, the Smart Smoke Alarm sounds an 85 dB alarm and sends smartphone alerts in real time to the user’s smartphone.
The Smart Smoke Alarm is equipped with a unique 10-year battery* that covers the product’s entire service life. The device constantly self-checks and immediately alerts the user if an issue arises.
Through the app, users can notably: check their Smart Smoke Alarm’s status, hush the alarm and perform a sound test of the device, as recommended on a yearly basis.
Using Netatmo Smart Home API, you will have the ability to retrieve and browse those events along with their associated snapshots and videos (Netatmo reserves the right to grant third parties' access to the videos).
*Life span for typical use. The battery’s life span may vary based on the use of the Smart Smoke Alarm. More information about the Netatmo security products can be found on Netatmo website.
How does it work?
What is a home?
Security products are designed on a per Home-basis. During intallation, users link their product to a Home. A user can have several products in the same Home and they can have several Homes. For one Home, all the events detected by the products will be aggregated into a timeline of events, there is one timeline per Home.
Timeline of events
Using Netatmo Smart Home API, you can retrieve users' home events and timelines, browse through past events, access videos and event snapshots.
With Presence, users receive customized notifications that match their needs. Users can select specific areas for alerts called Alert-Zones. Only the events within these Alert-Zones can be retrieved.
A Webhook system is available and provides real-time notifications each time an event is detected. Please use the webhooks to keep track of the timelines as unnecessary API calls to check for new events can be considered as abusive.
Read the developer guidelines.
Security events
Events Security products are able to detect:
Event
Product
Description
Person
Welcome
Event triggered when Welcome detects a face
Person_away
Welcome
Event triggered when geofencing implies the person has left the home
Movement
Welcome
Presence
Event triggered when Welcome detects a motion
Outdoor
Presence
Event triggered when Presence detects a human, a car or an animal
Connection
Welcome
Presence
When the camera connects to Netatmo servers
Disconnection
Welcome
Presence
When the camera loses connection to Netatmo servers
On
Welcome
Presence
Whenever monitoring is resumed
Off
Welcome
Presence
Whenever monitoring is suspended
Boot
Welcome
Presence
When the camera is booting
SD
Welcome
Presence
Event triggered by the SD card status change
Alim
Welcome
Presence
Event triggered by the power supply status change
daily_summary
Presence
Event triggered when the video summary of the last 24 hours is available
new_module
Welcome
A new module has been paired with Welcome
module_connect
Welcome
Module is connected with Welcome (after disconnection)
module_disconnect
Welcome
Module lost its connection with Welcome
module_low_battery
Welcome
Module's battery is low
module_end_update
Welcome
Module's firmware update is over
tag_big_move
Welcome
Tag detected a big move
tag_small_move
Welcome
Tag detected a small move
tag_uninstalled
Welcome
Tag was uninstalled
tag_open
Welcome
Tag detected the door/window was left open
hush
Smoke detector
Whenever the smoke detection is activated or deactivated
smoke
Smoke detector
Whenever smoke is detected or smoke is cleared
tampered
Smoke detector
When the smoke detector is ready or tampered
wifi_status
Smoke detector
When wifi status is updated
battery_status
Smoke detector
When the battery is too low
detection_chamber_status
Smoke detector
When the detection chamber is dusty or clean
sound_test
Smoke detector
Sound test results
For Presence, only events within the Alert-Zones can be retrieved.
Event subtypes
For «Outdoor» events, an «event_list» array is available and provides more details about the event detected by Presence. If several events are detected in the same video (e.g. a car is seen and people come out of it), there will only be one «Outdoor» event and its «event_list» array will contain all of the events detected. Events are aggregated by video.
Event_list subtypes can be:
Event_list subtype
Description
human
Human seen
vehicle
Car seen
animal
Animal seen
For "SD" and "Alim", a "sub_type" value is available and provides details
SD card subtype
Description
1
missing SD card
2
SD card inserted
3
SD card formated
4
working SD card
5
defective SD card
6
incompatible SD card speed
7
insufficient SD card space
Alim subtypes
Description
1
incorrect power adapter
2
correct power adapter
For several Smart Smoke Alarm events, a “sub_type” value is available and provides details
detection_chamber_status subtypes
Description
0
clean
1
dusty
battery_status subtypes
Description
0
low
1
very low
hush subtypes
Description
0
ready
1
hush
smoke subtypes
Description
0
cleared
1
detected
sound_test subtypes
Description
0
ok
1
error
tampered subtypes
Description
0
ready
1
tampered
wifi_status subtypes
Description
0
error
1
ok
Scopes
To retrieve data from Netatmo security products, you have to choose between three scopes for Welcome, two scopes for Presence and only one for the Smart Smoke Alarm.
read_camera (for Welcome)
- to retrieve events and timelines
- to retrieve snapshots
read_smokedetector (for The Smart Smoke Alarm)
- to retrieve events and timelines
write_camera (for Welcome)
- to tell Welcome a specific person or everybody has left the Home
access_camera (for Welcome) and access_presence (for Presence)
- to access the live stream
- to access any video stored on the SD card
By default, Welcome apps have access to the scope read_camera, Presence apps to the scope read_presence and Smart Smoke Alarm one to the scope read_smokedetector. The scopes access_camera and access_presence are only for the developer's own camera.
*You need to request the scope access_camera/access_presence to access other user camera.
This scope is granted on a per app basis. As security is one of our main concern and as this scope gives you access to user’s videos, Netatmo will give extra-attention to each request.
Requirements
- Provide Netatmo with a high-level workflow diagram of its integration (App / your servers / Netatmo servers)
- Logos and Icons should comply with Netatmo branding guidelines.
- Authorization code grant type is required for authentication.
- User should be able to remove its cameras access from the 3rd party application.
- Storing token/refresh token anywhere else than on the user device is not allowed.
- Providing video access and streaming capability to anyone else than the authenticated user is not allowed.
- Provide Netatmo with a link to pre-production application for review.
Netatmo teams will check that you are compliant with these guidelines and will test your app before granting the access.
To request a scope, you have to be logged in. No account yet? Sign up.
Video stream and access
You can access the video stream only if you have been granted the scope access_camera/access_presence, seeScopes section.
To retrieve the live streaming, you need to call a vpn_url. Each camera has its own vpn_url.
To get this url, use the Gethomedata method.
You can access the camera directly if you are on the same local network. Use the Ping method to check if your app and the camera are on the same network.
To access the video of an event, use the VOD method.
Webhooks
There is a webhook system to keep track of events happening in a user's home. It permits you to build apps that are more reactive as you get notified almost instantly when an event occurs.
Registering
To set up a new webhook, there are two possible solutions:
- Automatic subscription : Go to your application settings and add the webhook link. Once saved, every user that will give the ‘read_device’ acces scope to your application will be registered for webhooks. The webhook is only registered when the user has accepted your app. It means that if your app already has existing users that gave access to your app, you will need to go through the manual subscription process.
- Manual subscription : By using the manual subscription, you can use a different url for each user. To register a webhook, you will need to use the method addwebhook. You can always drop a webhook using dropwebhook.
Decoding requests
Here are the different parameters available for Security products webhooks calls:
Parameter
Product
Description
device_id
Welcome
Presence
Smoke detector
Identifier of the Camera that triggered the event
home_id
Welcome
Presence
Smoke detector
Id of the Home where the event happened
home_name
Welcome
Presence
Smoke detector
Name of the Home
event_id
Welcome
Presence
Smoke detector
Identifier of the event
push_type
Welcome
Presence
Smoke detector
Type of the events: "person", "movement", «human»… See Events section for more details.
persons
Welcome
Array containing information related to the different persons involved in the event: id of the person, if this person is known (is_known) by the camera and the key and id to access the picture of the person. See Gethomedata for further details.
sub_type
Welcome
Presence
Smoke detector
Sub type event
message
Welcome
Presence
User facing description of the event
info
Presence
Use app_security
Notes
For security reasons, we want you to use https links for a production application. Only the creator of the application can receive webhooks with a simple http link. The http code returned by your application shall always be ‘200’. If another code is returned more than five times in a row, your webhook url will be deactivated during 24 hours. One valid request resets the failing counter of your application.
You must always respond to webhooks quickly. Once you receive a webhook, you only have 10 seconds to respond. To do so, manage your response and your treatment in different threads.
Return example
{
"user_id": "5944xxxxx6e",
"event_type": "off",
"device_id": "70:ee:xx:xx:xx:xx",
"home_id": "5943xxxxxxxxxxx",
"home_name": "My home",
"camera_id": "70:ee:xx:xx:xx:xx",
"event_id": "5bbcaxxxxxxxxx",
"message": "My home: Welcome-salon : surveillance suspendue",
"push_type": "NACamera-off"
}
{
"user_id": "55944xxxxx6e",
"event_type": "on",
"device_id": "70:ee:xx:xx:xx:xx",
"home_id": "5943xxxxxxxxxxx",
"home_name": "My home",
"camera_id": "70:ee:xx:xx:xx:xx",
"event_id": "5bbcaxxxxxxxxx",
"message": "My home: Welcome-salon : reprise de la surveillance",
"push_type": "NACamera-on"
}
{
"user_id": "5944xxxxx6e",
"event_type": "hush",
"device_id": "70:ee:xx:xx:xx:xx",
"home_id": "5943xxxxxxxxxxx",
"home_name": "My home",
"camera_id": "70:ee:xx:xx:xx:xx",
"event_id": "5bbdaxxxxxxxxx",
"sub_type": 0,
"message": "Daf: Activé",
"push_type": "NSD-hush"
}
Warning
Privacy
The Netatmo PRESENCE camera was designed for an outdoor personal use. Countries' laws and regulations may restrict the use of your Netatmo PRESENCE. Please check the laws of your country.
To respect privacy, please avoid installing your Netatmo PRESENCE monitoring the street or your neighbors' property. We also advise you to inform your family, relatives and home employees, if any, that you have installed a camera.
The Netatmo WELCOME camera was designed for an indoor personal use. Countries’ laws and regulations may restrict the use of your Netatmo WELCOME. Please check the laws of your country.
To respect privacy, please avoid installing your Netatmo WELCOME monitoring the street or your neighbors’ property. We also advise you to inform your family, relatives and home employees, if any, that you have installed a camera.
Security
By using Netatmo PRESENCE, you agree that you will not rely on its services for any life safety or critical purposes. Mobile notifications are provided for informational purposes only.
By using Netatmo WELCOME, you agree that you will not rely on its services for any life safety or critical purposes. Mobile notifications are provided for informational purposes only.