--- title: Ness Alarm description: Instructions on how to integrate a Ness D8x/D16x alarm system with Home Assistant. ha_category: - Alarm - Binary Sensor ha_release: 0.85 ha_iot_class: Local Push ha_codeowners: - '@nickw444' ha_domain: ness_alarm --- The `ness_alarm` integration will allow Home Assistant users who own a Ness D8x/D16x alarm system to leverage their alarm system and its sensors to provide Home Assistant with information about their homes. Connectivity between Home Assistant and the alarm is accomplished through a IP232 module that must be connected to the alarm. There is currently support for the following device types within Home Assistant: - Binary Sensor: Reports on zone statuses - Alarm Control Panel: Reports on alarm status, and can be used to arm/disarm the system The module communicates via the [Ness D8x/D16x ASCII protocol](http://www.nesscorporation.com/Software/Ness_D8-D16_ASCII_protocol.pdf). ## Configuration A `ness_alarm` section must be present in the `configuration.yaml` file and contain the following options as required: ```yaml # Example configuration.yaml entry ness_alarm: host: alarm.local port: 2401 zones: - name: Garage id: 1 - name: Storeroom id: 2 - name: Kitchen id: 3 - name: Front Entrance id: 4 - name: Front Door id: 5 type: door ``` {% configuration %} host: description: The hostname of the IP232 module on your home network. required: true type: string port: description: The port on which the IP232 module listens for clients. required: true type: integer scan_interval: description: "Time interval between updates. Supported formats: `scan_interval: 'HH:MM:SS'`, `scan_interval: 'HH:MM'` and Time period dictionary (see example below)." required: false default: '00:01:00' type: time infer_arming_state: description: Infer the disarmed arming state only via system status events. This works around a bug with some panels (` Zone 16). required: true type: integer name: description: Name of the zone. required: true type: string type: description: The zone type. Can be any [binary_sensor device class](/integrations/binary_sensor/#device-class). required: false default: motion type: string {% endconfiguration %} #### Time period dictionary example ```yaml scan_interval: # At least one of these must be specified: days: 0 hours: 0 minutes: 0 seconds: 10 milliseconds: 0 ``` ## Services ### Service `aux` Trigger an aux output. This requires PCB version 7.8 or higher. | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `output_id` | No | The aux output you wish to change. A number from 1-4. | `state` | Yes | The On/Off State, represented as true/false. Default is true. If P14xE 8E is enabled then a value of true will pulse output x for the time specified in P14(x+4)E. ### Service `panic` Trigger a panic | Service data attribute | Optional | Description | | ---------------------- | -------- | ----------- | | `code` | No | The user code to use to trigger the panic.