--- title: Arlo description: Instructions on how to integrate your Netgear Arlo cameras within Home Assistant. logo: arlo.png ha_category: - Hub - Alarm - Camera - Sensor ha_release: 0.46 ha_iot_class: Cloud Polling ha_domain: arlo --- The `arlo` implementation allows you to integrate your [Arlo](https://arlo.netgear.com/) devices in Home Assistant. There is currently support for the following device types within Home Assistant: - [Alarm](#alarm) - [Camera](#camera) - [Sensor](#sensor) ## Configuration To enable device linked in your [Arlo](https://arlo.netgear.com/) account, add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry arlo: username: YOUR_USERNAME password: YOUR_PASSWORD ``` {% configuration %} username: description: The username for accessing your Arlo account. required: true type: string password: description: The password for accessing your Arlo account. required: true type: string scan_interval: description: How frequently to query for new data. Defaults to 60 seconds. required: false type: integer {% endconfiguration %} It is recommended to create a dedicated user on Arlo website to be used within Home Assistant and then share your Arlo cameras. Finish its configuration by visiting the [Arlo sensor page](/integrations/arlo#sensor) or [Arlo camera page](/integrations/arlo#camera) or [Arlo control panel page](/integrations/arlo). Arlo also has a service call `arlo.update` that can be manually called to force an update prior to the regular scheduled interval. The Arlo integration also provides a camera service to enable/disable the motion detection sensor. The example below enables the motion detection every time the Home Assistant service starts. ```yaml #automation.yaml - alias: Enable Arlo upon HA start' initial_state: 'on' trigger: platform: homeassistant event: start action: service: camera.enable_motion_detection entity_id: camera.arlo_frontdoor ``` ## Alarm ### Configuration Once you have enabled the [Arlo component](/integrations/arlo), add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry alarm_control_panel: - platform: arlo ``` {% configuration %} home_mode_name: description: "Arlo base station does not have a built-in home mode. You can map one of your custom modes to Home Assistant's home mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match exactly as you set it up in the Arlo app." required: false type: string away_mode_name: description: "Arlo base station does not have a built-in away mode. You can map one of your custom modes to Home Assistant's away mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match eactly as you set it up in the Arlo app." required: false type: string default: "`Armed` mode in Arlo" night_mode_name: description: "Arlo base station does not have a built-in night mode. You can map one of your custom modes to Home Assistant's night mode by setting the name of the custom mode in this configuration variable. The name of the custom mode should match eactly as you set it up in the Arlo app." required: false type: string default: "`Armed` mode in Arlo" {% endconfiguration %} ### Examples These examples are based on an Arlo base station named `my_arlo_base_station`. Replace this with the name of your base station's `entity_id`. Arming the Arlo Base Station when leaving. ```yaml - id: arm_arlo_when_leaving alias: Arm Arlo cameras when leaving trigger: platform: state entity_id: group.family from: home to: not_home action: service: alarm_control_panel.alarm_arm_away entity_id: alarm_control_panel.my_arlo_base_station ``` Setting Arlo to a custom mode (mapped to `home_mode_name` in `configuration.yaml`) when arriving. ```yaml - id: disarm_arlo_when_arriving alias: Set Arlo cameras to Home mode when arriving trigger: platform: state entity_id: group.family from: not_home to: home action: service: alarm_control_panel.alarm_arm_home entity_id: alarm_control_panel.my_arlo_base_station ``` You can also completely disarm the Arlo base station by calling the `alarm_control_panel.alarm_disarm` service, and trigger the alarm by calling the `alarm_control_panel.alarm_trigger` service. More examples and configuration options can be found on the [Manual Alarm Control page](/integrations/manual#examples). ## Camera This integration is not yet able to live stream from your Arlo camera, but it will be able to playback the last video capture. ### Configuration Once you have enabled the [Arlo component](/integrations/arlo), add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry camera: - platform: arlo ffmpeg_arguments: '-pred 1 -q:v 2' ``` {% configuration %} ffmpeg_arguments: description: Extra options to pass to ffmpeg, e.g., image quality or video filter options. required: false type: string {% endconfiguration %} **Note:** To be able to playback the last capture, it is required to install the `ffmpeg` component. Make sure to follow the steps mentioned at [FFmpeg](/integrations/ffmpeg/) documentation. ## Sensor To get your [Arlo](https://arlo.netgear.com/) sensors working within Home Assistant, please follow the instructions for the general [Arlo component](/integrations/arlo). This platform does not support Arlo Q. ### Configuration Once you have enabled the [Arlo component](/integrations/arlo), add the following to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: arlo monitored_conditions: - captured_today - last_capture - total_cameras - battery_level - signal_strength ``` Additionally, for Arlo Baby cameras that have additional sensors, you can add them to the `monitored_conditions` collection: ```yaml # Additional sensors available for Arlo Baby cameras sensor: - platform: arlo monitored_conditions: # ... - temperature - humidity - air_quality ``` {% configuration %} monitored_conditions: description: Conditions to display in the frontend. The following conditions can be monitored. required: false type: list keys: captured_today: description: Return the number of videos captured on the current day. last_capture: description: Return the timestamp from the last video captured by your Arlo camera. total_cameras: description: Return the number of recognized and active cameras linked on your Arlo account. battery_level: description: Return the battery level of your Arlo camera. signal_strength: description: Return the wireless signal strength of your Arlo camera. temperature: description: Return the ambient temperature detected by your Arlo Baby camera. humidity: description: Return the ambient relative humidity detected by your Arlo Baby camera. air_quality: description: Return the ambient air quality (a reading of volatile organic compounds (VOCs) in parts per million) detected by your Arlo Baby camera. {% endconfiguration %} If no **monitored_conditions** are specified, all of above will be enabled by default.