--- title: ZoneMinder description: How to integrate ZoneMinder into Home Assistant. ha_category: - Binary Sensor - Camera - Hub - Sensor - Switch ha_release: 0.31 ha_iot_class: Local Polling ha_codeowners: - '@rohankapoorcom' ha_domain: zoneminder ha_platforms: - binary_sensor - camera - sensor - switch ha_integration_type: integration --- The `zoneminder` integration sets up Home Assistant with your [ZoneMinder](https://www.zoneminder.com) instance. There is currently support for the following device types within Home Assistant: - [Binary Sensor](#binary-sensor) - [Camera](#camera) - [Sensor](#sensor) - [Switch](#switch) ## Configuration ```yaml # Example configuration.yaml entry zoneminder: - host: ZM_HOST ``` {% configuration %} host: description: Your ZoneMinder server's host (and optional port), not including the scheme. required: true type: string path: description: Path to your ZoneMinder install. required: false type: string default: "`/zm/`" path_zms: description: Path to the CGI script for streaming. This should match `PATH_ZMS` in ZM's "Paths" settings. required: false type: string default: "`/zm/cgi-bin/nph-zms`" ssl: description: Set to `true` if your ZoneMinder installation is using SSL. required: false type: boolean default: false verify_ssl: description: Verify the certification of the endpoint. required: false type: boolean default: true username: description: Your ZoneMinder username. required: false type: string password: description: Your ZoneMinder password. Required if `OPT_USE_AUTH` is enabled in ZM. required: false type: string {% endconfiguration %} ### Full configuration ```yaml # Example configuration.yaml entry zoneminder: - host: ZM_HOST path: ZM_PATH path_zms: ZM_PATH_ZMS ssl: true verify_ssl: true username: YOUR_USERNAME password: YOUR_PASSWORD ``` ### Service Once loaded, the `zoneminder` platform will expose a service (`set_run_state`) that can be used to change the current run state of ZoneMinder. | Service data attribute | Optional | Description | |:-----------------------|:---------|:----------------------------------| | `id` | no | Host of the ZoneMinder instance. | | `name` | no | Name of the new run state to set. | For example, if your ZoneMinder instance was configured with a run state called "Home", you could write an [automation](/getting-started/automation/) that changes ZoneMinder to the "Home" run state by including the following [action](/getting-started/automation-action/): ```yaml action: service: zoneminder.set_run_state data: id: ZM_HOST name: Home ``` ## Binary Sensor The `zoneminder` binary sensor platform lets you monitor the availability of your [ZoneMinder](https://www.zoneminder.com) install. Each binary_sensor created will be named after the hostname used when configuring the [ZoneMinder integration](/integrations/zoneminder/). ## Camera The `zoneminder` camera platform lets you monitor the current stream of your [ZoneMinder](https://www.zoneminder.com) cameras. ### Configuration To set it up, add the following information to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry camera: - platform: zoneminder ``` ## Sensor The `zoneminder` sensor platform lets you monitor the current state of your [ZoneMinder](https://www.zoneminder.com) install including the number of events, the current state of the cameras and ZoneMinder's current run state. To set it up, add the following information to your `configuration.yaml` file: ```yaml # Example configuration.yaml entry sensor: - platform: zoneminder include_archived: false ``` {% configuration %} include_archived: description: Whether to include archived ZoneMinder events in event counts. required: false default: false type: boolean monitored_conditions: description: Event count sensors to display in the frontend. required: false type: list keys: all: description: All events. month: description: Events in the last month. week: description: Events in the last week. day: description: Events in the last day. hour: description: Events in the last hour. {% endconfiguration %} ## Switch The `zoneminder` switch platform allows you to toggle the current function of all cameras attached to your [ZoneMinder](https://www.zoneminder.com) instance.