From 7ff0690fa6f5727e1203daa325965d00d629897a Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Fri, 14 Feb 2025 16:03:56 +1300 Subject: [PATCH 01/12] Add documentation for bosch alarm integration --- source/_integrations/bosch_alarm.markdown | 102 ++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 source/_integrations/bosch_alarm.markdown diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown new file mode 100644 index 00000000000..f941a6f5c0b --- /dev/null +++ b/source/_integrations/bosch_alarm.markdown @@ -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 %} From a2ad617da2d1ee516fc1d0b15938c2ce9453c781 Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Fri, 14 Feb 2025 19:51:51 +1300 Subject: [PATCH 02/12] Remove other platforms --- source/_integrations/bosch_alarm.markdown | 38 ++--------------------- 1 file changed, 2 insertions(+), 36 deletions(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index f941a6f5c0b..3e91451b912 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -6,7 +6,7 @@ ha_category: - Binary sensor - Sensor - Switch -ha_release: 2025.2.3 +ha_release: 2025.2 ha_iot_class: Local Push ha_config_flow: true ha_codeowners: @@ -15,9 +15,6 @@ ha_codeowners: ha_domain: bosch_alarm ha_platforms: - alarm_control_panel - - binary_sensor - - sensor - - switch ha_zeroconf: false ha_integration_type: integration --- @@ -38,46 +35,15 @@ Supported panels: ## Provided entities -The {% term entities %} are divided into four subdomains: +The following {% term entities %} are provided: - [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. From b8916eb837f3b765cc344d4016cd3f8b50bc5982 Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Fri, 14 Feb 2025 19:56:51 +1300 Subject: [PATCH 03/12] Remove other platforms --- source/_integrations/bosch_alarm.markdown | 3 --- 1 file changed, 3 deletions(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index 3e91451b912..2f0c94a0339 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -3,9 +3,6 @@ title: Bosch Alarm description: Integrate Bosch Alarms. ha_category: - Alarm Control Panel - - Binary sensor - - Sensor - - Switch ha_release: 2025.2 ha_iot_class: Local Push ha_config_flow: true From 4f214ba55cb12ca7c7a5267e4fdcd343fb3b689c Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Fri, 14 Feb 2025 20:00:29 +1300 Subject: [PATCH 04/12] Apply grammar fixes --- source/_integrations/bosch_alarm.markdown | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index 2f0c94a0339..ef2f406447c 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -16,7 +16,7 @@ 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. +The **Bosch Alarm Panel** {% term integration %} allows you to connect your [Bosch Alarm Panel](https://www.boschsecurity.com) to Home Assistant to control and monitor your Bosch Alarm Panel. {% include integrations/config_flow.md %} @@ -39,7 +39,7 @@ The following {% term entities %} are provided: ## 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. +This entity reports state (_disarmed_, _armed_away_, etc.), and contains custom attributes _ready_to_arm_ (_no_|_home_|_away_), and a _faulted_points_ counter. ## Authentication @@ -55,7 +55,7 @@ The integration will prompt for the required passcodes, which depend on the pane [^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. +⚠️ 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 From b24d0dba8476b6c5477ae72a3eb3366044d583b7 Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Fri, 14 Feb 2025 20:05:30 +1300 Subject: [PATCH 05/12] Fix category --- source/_integrations/bosch_alarm.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index ef2f406447c..802c932305e 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -2,7 +2,7 @@ title: Bosch Alarm description: Integrate Bosch Alarms. ha_category: - - Alarm Control Panel + - Alarm ha_release: 2025.2 ha_iot_class: Local Push ha_config_flow: true From 7be4e93296eb6bbe1af61e70c8c46e5beaac77ce Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Sat, 15 Feb 2025 11:19:54 +1300 Subject: [PATCH 06/12] remove arming code options flow for now --- source/_integrations/bosch_alarm.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index 802c932305e..64f62b16029 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -56,7 +56,6 @@ The integration will prompt for the required passcodes, which depend on the pane [^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 From 57f0e47f8838ddf5a92f37fa1fa1402293fb7b0f Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Fri, 28 Feb 2025 10:13:55 +1300 Subject: [PATCH 07/12] Update source/_integrations/bosch_alarm.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/bosch_alarm.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index 64f62b16029..28cf32991e5 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -55,7 +55,9 @@ The integration will prompt for the required passcodes, which depend on the pane [^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. +{% important %} +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/disarming through the integration. +{% endimportant %} ## Removing the integration From 1739c5083ab50d0507812b85b1071a7cc1cdbf8f Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Fri, 28 Feb 2025 10:14:05 +1300 Subject: [PATCH 08/12] Update source/_integrations/bosch_alarm.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/bosch_alarm.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index 28cf32991e5..68ad633062b 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -3,7 +3,7 @@ title: Bosch Alarm description: Integrate Bosch Alarms. ha_category: - Alarm -ha_release: 2025.2 +ha_release: 2025.3 ha_iot_class: Local Push ha_config_flow: true ha_codeowners: From f834a08ddf2f3df1ef5976793453b5281818a3ed Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Fri, 28 Feb 2025 10:14:21 +1300 Subject: [PATCH 09/12] Update source/_integrations/bosch_alarm.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/bosch_alarm.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index 68ad633062b..161a2d231e3 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -36,7 +36,7 @@ The following {% term entities %} are provided: - [AlarmControlPanel](#alarm-control-panel) -## Alarm Control Panel +### 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. From 80b765eb90c1706eb6c0dcdc1b68527af75df11d Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Fri, 28 Feb 2025 10:14:28 +1300 Subject: [PATCH 10/12] Update source/_integrations/bosch_alarm.markdown Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> --- source/_integrations/bosch_alarm.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index 161a2d231e3..8600aa3f39f 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -20,7 +20,7 @@ The **Bosch Alarm Panel** {% term integration %} allows you to connect your [Bos {% include integrations/config_flow.md %} -Supported panels: +## Supported devices - _Solution 2000/3000/4000_ - B Series: _B3512/B4512/B5512/B6512_ From e48674cb5ab5316a38d9876422ed76462381bbd9 Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Thu, 27 Mar 2025 08:24:47 +1300 Subject: [PATCH 11/12] Apply suggestions from code review Co-authored-by: Joost Lekkerkerker --- source/_integrations/bosch_alarm.markdown | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index 8600aa3f39f..bf2131b0db1 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -3,7 +3,7 @@ title: Bosch Alarm description: Integrate Bosch Alarms. ha_category: - Alarm -ha_release: 2025.3 +ha_release: 2025.4 ha_iot_class: Local Push ha_config_flow: true ha_codeowners: @@ -12,7 +12,6 @@ ha_codeowners: ha_domain: bosch_alarm ha_platforms: - alarm_control_panel -ha_zeroconf: false ha_integration_type: integration --- From a112c7cabd63abef7929fa773d9f8de237a2c2aa Mon Sep 17 00:00:00 2001 From: Sanjay Govind Date: Thu, 27 Mar 2025 08:27:50 +1300 Subject: [PATCH 12/12] remove attributes --- source/_integrations/bosch_alarm.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/bosch_alarm.markdown b/source/_integrations/bosch_alarm.markdown index bf2131b0db1..0b464947351 100644 --- a/source/_integrations/bosch_alarm.markdown +++ b/source/_integrations/bosch_alarm.markdown @@ -33,12 +33,12 @@ The **Bosch Alarm Panel** {% term integration %} allows you to connect your [Bos The following {% term entities %} are provided: -- [AlarmControlPanel](#alarm-control-panel) +- [Alarm Control Panel](#alarm-control-panel) ### 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. +This entity reports state (_disarmed_, _armed_away_, etc.). ## Authentication