Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add documentation for new bosch alarm integration #37458

Open
wants to merge 8 commits into
base: next
Choose a base branch
from
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions source/_integrations/bosch_alarm.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
title: Bosch Alarm
description: Integrate Bosch Alarms.
ha_category:
- Alarm Control Panel
- Binary sensor
- Sensor
- Switch
ha_release: 2025.2.3
ha_iot_class: Local Push
ha_config_flow: true
ha_codeowners:
- '@mag1024'
- '@sanjay900'
ha_domain: bosch_alarm
ha_platforms:
- alarm_control_panel
- binary_sensor
- sensor
- switch
ha_zeroconf: false
ha_integration_type: integration
---

The **Bosch Alarm Panel** {% term integration %} allows you to connect your [Bosch Alarm Panel](https://www.boschsecurity.com) to Home Assistant in order to control and monitor your Bosch Alarm Panel.

{% include integrations/config_flow.md %}

Supported panels:

- _Solution 2000/3000/4000_
- B Series: _B3512/B4512/B5512/B6512_
- G Series: _B8512G/B9512G_
- _AMAX 2100/3000/4000_
- _D7412GV4/D9412GV4_ [^1]

[^1]: Firmware 2.0+

## Provided entities

The {% term entities %} are divided into four subdomains:

- [AlarmControlPanel](#alarm-control-panel)
- [BinarySensor](#binary-sensor)
- [Sensor](#sensor)
- [Switch](#switch)
- [Lock](#lock)

## Alarm Control Panel

This integration adds an Alarm Control Panel device for each configured area, with the ability to issue arm/disarm commands.
This entity reports state (_disarmed_, _armed_away_, etc), and contains custom attributes _ready_to_arm_ (_no_|_home_|_away_), and a _faulted_points_ counter.

## Binary Sensor

A binary sensor is added for each point configured on your alarm.

## Sensor

Two sensors are added, one containing the history events from your panel, and another containing the current faults from it.
The history itself is stored on a `history` attribute, as there is a limit to how much text a sensor can store in its state.

## Switch

A switch is added for each output configured on the panel. Note that for some panels, only outputs with the type set to "remote output" can be controlled via _Mode 2_ API.

## Lock

A lock is added for each configured door on your panel (_Solution 4000_, _B Series_ and _G Series_ panels only).

## Actions

The integration provides the following actions.

### Action: Set Panel Date & Time

| Data attribute | Optional | Description |
|------------------------|----------|---------------------------------------------------------------------------------|
| `datetime` | Yes | The Date & Time to set. Defaults to the current date and time if it is not set. |

## Authentication

The primary means of authentication for the _Mode 2_ API is the _Automation_ passcode. It needs to be at least 10 characters long, and it is different from the _User_ code -- a shorter numeric pin used to arm/disarm the panel.
The integration will prompt for the required passcodes, which depend on the panel type.

| Panel | Code |
| --- | --- |
| Solution | User [^2] |
| B Series | Automation |
| G Series | Automation |
| AMAX | Both |

[^2]: The user needs to have the "master code functions" authority if you wish to interact with history events.

⚠️ Since the _Mode 2_ automation user has "superuser" privileges, it bypasses the regularly-configured alarm pin: you will _not_ be prompted for a _User_ code when arming/disaming through the integration.
The integration also supports (optionally) setting a Home Assistant-local pin to protect these operations -- it does not need to match any of the codes configured on the panel.

## Removing the integration

This integration follows standard integration removal. No extra steps are required.

{% include integrations/remove_device_service.md %}