home-assistant.io/source/_integrations/bosch_alarm.markdown

278 lines
11 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Bosch Alarm
description: Integrate Bosch Alarms.
ha_category:
- Alarm
- Binary Sensor
- Sensor
- Switch
ha_release: 2025.4
ha_iot_class: Local Push
ha_config_flow: true
ha_codeowners:
- '@mag1024'
- '@sanjay900'
ha_domain: bosch_alarm
ha_platforms:
- alarm_control_panel
- binary_sensor
- diagnostics
- sensor
- switch
ha_integration_type: device
ha_quality_scale: platinum
ha_dhcp: true
---
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 %}
{% configuration_basic %}
Host:
description: "The IP address of your panel. You can find it in your router, or within A-Link Plus / RPS."
Port:
description: "The port used by your panel. This is usually 7700 unless it was changed when the panel was configured."
Password:
description: "The automation code set up for your panel. This can be found within A-Link Plus or RPS. Used by the AMAX, B and G series panels."
User code:
description: "The user code for the user that this integration will communicate with the panel with. This is usually the code you would use when arming or disarming the panel via a code pad. Used by the Solution series panels."
Installer code:
description: "The installer code for your panel. This can be found within A-Link Plus. Used by the AMAX series panels."
{% endconfiguration_basic %}
{% 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 %}
## Supported devices
- _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 following {% term entities %} are provided:
- [Alarm Control Panel](#alarm-control-panel)
- [Binary Sensor](#binary-sensor)
- [Sensor](#sensor)
- [Switch](#switch)
### 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.).
### Binary Sensor
A binary sensor is added for each point configured on your alarm.
Two binary sensors are added for each area to indicate whether it can be armed away or armed home.
### Sensor
A sensor is provided per area that lists how many points are currently in a faulted state.
A sensor is provided for each of the following alarm types that displays the health of that alarm
- Fire
- Gas
- Burglary
The state for the sensor can be one of the following:
- No issues
- Trouble
These signals indicate a malfunction or failure within the system. These signals often point to something that, if left unresolved, could lead to a complete system failure. For example, a broken wire or a failed smoke detector could trigger a trouble signal. These signals generally require prompt action to ensure the system continues to work as intended.
- Supervisory
These signals relate to system components that require attention but are not in immediate danger of failing. They are typically non-urgent and indicate that something within the system needs maintenance or is functioning suboptimally. These signals might include a closed valve or a fire extinguisher thats out of service.
- Alarm
The alarm is currently triggered.
### 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.
Three switches are added per door, which allow for locking, securing, or momentarily unlocking the door.
## Actions
The integration provides the following actions.
### Action: Set panel date and time
The `bosch_alarm.set_date_time` action is used to update the date and time on the panel.
- **Data attribute**: `config_entry_id`
- **Description**: The ID of the config entry of the panel being updated.
- **Optional**: No
- **Data attribute**: `datetime`
- **Description**: The date and time to set. Defaults to the current date and time if it is not set.
- **Optional**: Yes
{% raw %}
```yaml
# Example: Update the panels date and time
service: bosch_alarm.set_date_time
data:
config_entry_id: "YOUR_CONFIG_ENTRY_ID"
datetime: "2025-05-01T12:00:00"
```
{% endraw %}
## 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.
{% 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 %}
## Data updates
The **Bosch Alarm** {% term integration %} fetches data from the device every 30 seconds.
Newer devices and firmware revisions have the possibility to push data instead of needing to rely on {% term polling %}.
At startup, the integration checks whether your panel supports push data updates and falls back to {% term polling %} if not.
## Examples
### Turning on lights when walking into a room
{% raw %}
```yaml
automation:
- alias: "Turn on light when walking into room"
triggers:
- platform: state
entity_id:
- binary_sensor.bosch_solution_3000_bedroom
to: "on"
actions:
- action: light.turn_on
target:
entity_id: light.bedroom_light
```
{% endraw %}
## Reconfiguration
This integration supports reconfiguration, so it is possible to change the configuration such as the IP Address after it is configured.
## Troubleshooting
### Issues with Bosch Solution 2000/3000/4000 panels
We have found that some panels end up with a configuration on them that is incompatible with the integration.
When this happens, you will get a connection error when attempting to communicate with the panel, even if the credentials are correct.
If you continue to have connection errors even after rebooting your panel, then you have an issue with your configuration.
The easiest way to solve this is to follow the full reset and restore procedure outline below.
#### Resetting the configuration and restoring the integration
1. Update firmware (Recommended).
1. Download and install the latest firmware for the control panel and IP module from the Bosch Security website.
2. Back up the existing configuration.
1. Connect to the panel via A-Link Plus.
2. Perform an upload of the panel configuration.
3. Save the configuration to your computer.
3. Default the control panel.
1. Press the default/reset button on the panel.
2. Use installer code 1234.
3. Set:
1. Location 0081 = 3 (Enables IP module mode)
2. Location 4456 = 4 (Enables RSC+ communication)
4. Set date and time using master code `25806#`.
4. Initial Home Assistant test.
1. Wait 2 to 5 minutes after resetting the panel.
2. Set up the integration on the panel using its IP address.
3. Home Assistant should connect using default configuration and show panel status.
5. Restore your original configuration.
1. Reconnect to the panel using A-Link Plus.
2. Modify zones, outputs, and user codes to match the original setup.
3. Save and download the updated config to the panel.
4. Wait 2 to 5 minutes.
6. Reconnect to Home Assistant.
1. Open Home Assistant.
2. The integration should now detect the updated configuration.
3. All relevant entities (zones, partitions, outputs) should appear automatically.
#### Restarting a panels network stack
We have found that the Solution panels have a bug where they can get into a state where the network module stops letting us use the _Mode 2_ API.
If your configuration information is correct, but you are still unable to connect to your panel, then you are likely encountering this bug.
This can be resolved by restarting the network modules, which can be done with the following steps.
##### Resetting network module 1
Using the codepad, enter your master code, followed by the `[9][4][1]` and `[#]` keys.
##### Resetting network module 2
Using the codepad, enter your master code, followed by the `[9][4][2]` and `[#]` keys.
### Issues with the Bosch B/G Series (B3512/B4512/B5512/B8512/B9512)
The following procedure can be used to configure the panel correctly so that it will work with the integration.
#### Panel configuration procedure
1. Update Firmware (Recommended).
1. Use RPS to update the control panel and B426 (IP module if used) to the latest firmware.
2. Download firmware from the Bosch Security website.
2. Set IP Address.
1. Configure the panels IP settings using RPS or via the codepad.
2. Use DHCP for initial setup (optional), or assign a static IP.
3. Configure the automation device.
1. In RPS:
1. Set **Automation Device** to **Mode 2** (Bosch Standard Protocol).
2. Set your automation passcode (used for Home Assistant authentication).
4. Wait for changes to apply.
1. Wait 2 to 5 minutes for the panel to reboot and apply settings.
5. Connect to Home Assistant.
1. Set up the integration using the panels IP address.
2. Enter the automation passcode in the Home Assistant configuration.
3. Home Assistant should connect and display panel status, zones, and partitions.
#### TLS issues
Some older firmwares for these panels use outdated certificates that are no longer trusted by Home Assistant. If you have issues connecting and see a TLS error in your logs, update the firmware on your panel.
## Known limitations
- The integration does not allow you to configure the panel; you can instead do this via the panel's configuration utility.
- Some older firmware versions for the Solution / AMAX series panels only support a single connection at a time. If you try to have a cloud connection and use the integration on these panels simultaneously, the panel's network stack can lock up, and the integration will stop working.
## Removing the integration
This integration follows standard integration removal. No extra steps are required.
{% include integrations/remove_device_service.md %}