Git Product home page Git Product logo

bosch-alarm-homeassistant's People

Contributors

mag1024 avatar sanjay900 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bosch-alarm-homeassistant's Issues

PermissionError: 'Master code functions' authority required

Running HA 2024.1 with this add-on connected to a Bosch Solution 2000 alarm with the B-426-M IP module. Initial tests appear to be working and HA can connect to the alarm, arm and disarm it, and see the status of the motion sensors.

However, in the logs, I am getting the following error multiple times:

PermissionError: 'Master code functions' authority required

Here's an example:

Logger: root
Source: /usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py:308
First occurred: January 10, 2024 at 1:37:23 PM (57 occurrences)
Last logged: 4:32:28 PM
Connection monitor exception

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 304, in _monitor_connection
    await self._monitor_connection_once()
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 331, in _monitor_connection_once
    await self._connect(load_selector)
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 257, in _connect
    await self._authenticate()
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 400, in _authenticate
    await self._authenticate_remote_user()
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 346, in _authenticate_remote_user
    raise PermissionError("'Master code functions' authority required")
PermissionError: 'Master code functions' authority required

Here's another one:

Logger: homeassistant
Source: /usr/src/homeassistant/homeassistant/runner.py:145
First occurred: January 10, 2024 at 1:33:24 PM (1 occurrences)
Last logged: January 10, 2024 at 1:33:24 PM
Error doing job: Task exception was never retrieved

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 171, in connect
    await self._connect(load_selector)
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 257, in _connect
    await self._authenticate()
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 400, in _authenticate
    await self._authenticate_remote_user()
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 346, in _authenticate_remote_user
    raise PermissionError("'Master code functions' authority required")
PermissionError: 'Master code functions' authority required

I don't recall ever entering an access code when I set up the integration, I think it just needed a panel IP address, so I'm not sure if there's anything I can do differently on setup to give the add-in more 'authority'.

Any ideas on what might be going wrong here? I have full access to the panel using the A-Link software, and I also have master and installer codes if required.

Solution 3000 going unavailable

Hi,

Bosch Solution 3000 firmware v2.1.3
B426-M firmware 3.13.0208

Connects OK but after an unspecified time period, ranging from only hours to days it becomes unavailable.

Only way to get it back is to remove power from the B426-M board.

Whilst HA shows unavailable, I am able to ping the board with replies, and the RSC+ app works OK, but unable to load the B426-M webpage and uable to conenct using the Alink software (v6.1.16)

Only log I see is the following (though debugging is not turned on.)

Logger: bosch_alarm_mode2.panel
Source: runner.py:188
First occurred: 10:21:50 AM (2 occurrences)
Last logged: 12:50:35 PM

Heartbeat expired (0:03:04.127621): resetting connection.
Heartbeat expired (0:03:29.526957): resetting connection.

I currently have the integration removed to try and determine if it is even related to this integration.

I will try at least once per day to connect using the ALink software to see if it is any better without the integration.

If it is OK, without the integration, what debug settings should I invoke to assist in troubleshooting.

Thank you for the great work you have done so far.

Andrew Potter

HA log errors when disarming

I am running 2.1.2.3 on a Solution 2000 panel with a B426-M with firmware 03.10.0030.

Each time the alarm is disarmed through Home Assistant, I get errors in the HA logs.

The disarming process appears to the user to work with no issues.

Log error examples follow, it doesn't seem to be one consistent error, but rather a selection of slightly different ones:

2024-01-21 12:46:13.518 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 294, in _load_history
if (event_id := self._history.parse_polled_events(data)):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/history.py", line 54, in parse_polled_events
count = event_data[0]
~~~~~~~~~~^^^
TypeError: 'NoneType' object is not subscriptable
2024-01-21 14:18:01.875 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 600, in _load_output_status
enabled = await self._load_entity_set(CMD.OUTPUT_STATUS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 532, in _load_entity_set
data = await self._connection.send_command(cmd)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Exception: ('NACK: ', 'No authority')
2024-01-22 17:19:03.273 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 479, in _load_faults
self._set_panel_faults(BE_INT.int16(data, 5))
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/utils.py", line 8, in int16
return int.from_bytes(data[offset:offset+2], self.byteorder)
~~~~^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not subscriptable
2024-01-22 17:19:03.310 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 600, in _load_output_status
enabled = await self._load_entity_set(CMD.OUTPUT_STATUS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 532, in _load_entity_set
data = await self._connection.send_command(cmd)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Exception: ('NACK: ', 'No authority')
2024-01-22 17:19:03.913 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 600, in _load_output_status
enabled = await self._load_entity_set(CMD.OUTPUT_STATUS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 532, in _load_entity_set
data = await self._connection.send_command(cmd)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Exception: ('NACK: ', 'No authority')

Is there anything or interest or concern in these errors? I assume they shouldn't be occuring, but given the alarm successfully disarms, I'm not sure if I should be concerned or not.

There are no corresponding errors when arming the alarm through HA.

Unique IDs for panels without serial numbers

We probably should come up with a better unique id for panels without serial numbers. Ive asked bosch if there is some command we can run to retrieve a serial number or even a mac address from the solution and amax panels, but I wasn't able to find one when i was poking around earlier, however at the moment if you add more than one panel to a single instance they will conflict with each other.

image

Add tests

One of the requirements for upstreaming is that we have tests, specifically there needs to be 100% coverage for config_flow.py but we may want to do more tests than that.

AMAX 3000 Keeps Disconnecting

Hi,

AMAX 3000 v2.0
B426 FW 03.13.0208
Core 2024.1.4
Supervisor 2023.12.1
Operating System 11.4
Frontend 20240104.0
HACS 1.34.0
Bosch Alarm v1.0.5

I finally managed to connect my AMAX with HAOS, for a while it seems that is working properly and I have all ARM/AWAY/DISARM actions for my 3 partitions, but very often when I try to ARM or DISARM a partition the panel disconnected.

image

Only way to reconnect is the restart of B426. Actually since the Alarm panel is very difficult to approach I am not exactly do a manual restart but I re apply the same FW ...dummy I know but is the only way that I have found to restart B426, Is there any hidden CGI url ?

I enabled the debug logging , but I CANNOT see any relevant log during these processes.
on Log History details I input some comments with UPERCASE :

Log History

Bosch AMAX 3000 History changed to No events
09:04:29 - 27 minutes ago
Bosch AMAX 3000 History became unavailable
09:04:29 - 27 minutes ago
Bosch AMAX 3000 History changed to No events
09:03:44 - 28 minutes ago
Bosch AMAX 3000 History became unavailable  - AGAIN I LOST IT
09:02:24 - 29 minutes ago
Bosch AMAX 3000 History changed to [179] 2024-01-23 23:40:49 | Remote Link success
08:53:12 - 39 minutes ago
Bosch AMAX 3000 History changed to [159] 2024-01-23 15:20:07 | Partition 3 Disarm by RPC(STAY)  
08:53:11 - 39 minutes ago
Bosch AMAX 3000 History changed to [139] 2024-01-23 12:52:34 | Remote Link success
08:53:09 - 39 minutes ago
Bosch AMAX 3000 History changed to [119] 2024-01-23 12:40:40 | Panel Access
08:53:09 - 39 minutes ago
Bosch AMAX 3000 History changed to [99] 2024-01-23 08:48:02 | Remote Link success
08:53:07 - 39 minutes ago
Bosch AMAX 3000 History changed to [79] 2024-01-22 22:52:01 | Partition 2 Arm by RPC(STAY)
08:53:06 - 39 minutes ago
Bosch AMAX 3000 History changed to [59] 2024-01-22 21:20:28 | Panel Access
08:53:05 - 39 minutes ago
Bosch AMAX 3000 History changed to [39] 2024-01-20 22:36:41 | Partition 1 Arm by QUICK ARM(STAY)  - TRY SOME ARMS
08:53:04 - 39 minutes ago
Bosch AMAX 3000 History changed to [531] 2024-01-19 07:30:00 | Partition 2 Disarm by User 600 (AWAY)  - RESTART AGAIN B426
08:53:03 - 39 minutes ago
Bosch AMAX 3000 History changed to No events
08:51:40 - 40 minutes ago
Bosch AMAX 3000 History became unavailable
08:51:40 - 40 minutes ago
Bosch AMAX 3000 History changed to No events
08:47:53 - 44 minutes ago
Bosch AMAX 3000 History became unavailable
08:47:52 - 44 minutes ago
Bosch AMAX 3000 History changed to No events
08:46:42 - 1 hour ago
Bosch AMAX 3000 History became unavailable 
08:46:42 - 1 hour ago
Bosch AMAX 3000 History changed to [179] 2024-01-23 23:40:49 | Remote Link success  - TRY TO ARM PARTIOTION 3 
08:43:54 - 1 hour ago
Bosch AMAX 3000 History changed to [159] 2024-01-23 15:20:07 | Partition 3 Disarm by RPC(STAY)
08:43:53 - 1 hour ago
Bosch AMAX 3000 History changed to [139] 2024-01-23 12:52:34 | Remote Link success
08:43:52 - 1 hour ago
Bosch AMAX 3000 History changed to [119] 2024-01-23 12:40:40 | Panel Access
08:43:52 - 1 hour ago
Bosch AMAX 3000 History changed to [99] 2024-01-23 08:48:02 | Remote Link success
08:43:51 - 1 hour ago
Bosch AMAX 3000 History changed to [79] 2024-01-22 22:52:01 | Partition 2 Arm by RPC(STAY)
08:43:50 - 1 hour ago
Bosch AMAX 3000 History changed to [59] 2024-01-22 21:20:28 | Panel Access
08:43:49 - 1 hour ago
Bosch AMAX 3000 History changed to [39] 2024-01-20 22:36:41 | Partition 1 Arm by QUICK ARM(STAY)
08:43:48 - 1 hour ago
Bosch AMAX 3000 History changed to [531] 2024-01-19 07:30:00 | Partition 2 Disarm by User 600 (AWAY)
08:43:47 - 1 hour ago
Bosch AMAX 3000 History changed to No events  - RESTART B426
08:43:27 - 1 hour ago
Bosch AMAX 3000 History became unavailable
08:43:27 - 1 hour ago
Bosch AMAX 3000 History changed to No events
08:03:21 - 1 hour ago
Bosch AMAX 3000 History became unavailable  

January 23, 2024
Bosch AMAX 3000 Faults changed to No faults
23:25:58 - 10 hours ago
Bosch AMAX 3000 History changed to No events
23:25:58 - 10 hours ago
Bosch AMAX 3000 Connection Status was disconnected
23:25:58 - 10 hours ago
Bosch AMAX 3000 Faults became unavailable
23:25:58 - 10 hours ago
Bosch AMAX 3000 Faults became unavailable
23:20:27 - 10 hours ago
Bosch AMAX 3000 History became unavailable
23:20:27 - 10 hours ago
PRT1-HOUSE became unavailable
23:20:27 - 10 hours ago
PRT2-MDOOR became unavailable
23:20:27 - 10 hours ago
PRT3-WAREH became unavailable
23:20:27 - 10 hours ago
Bosch AMAX 3000 Connection Status became unavailable  -  RESTART HAOS 
23:20:27 - 10 hours ago
Bosch AMAX 3000 Connection Status was disconnected
23:18:58 - 10 hours ago
MC MAIN DOOR became unavailable
23:18:58 - 10 hours ago
RADAR IN became unavailable
23:18:58 - 10 hours ago
MC WINDOWS became unavailable
23:18:58 - 10 hours ago
MC SHUTTERS became unavailable
23:18:58 - 10 hours ago
RADAR OUT became unavailable
23:18:58 - 10 hours ago
MC DOWN DOOR became unavailable
23:18:58 - 10 hours ago
MC WAREHOUSE became unavailable
23:18:58 - 10 hours ago
FIRE became unavailable
23:18:58 - 10 hours ago
PRT1-HOUSE became unknown
23:18:58 - 10 hours ago
PRT2-MDOOR became unknown
23:18:58 - 10 hours ago
PRT3-WAREH became unknown  - TRY TO ARM PARTITION 3 VIA HAOS
23:18:58 - 10 hours ago
RADAR IN turned off
23:15:50 - 10 hours ago - LAST SUCCESS HISTORY RADAR ACTION
RADAR IN turned on
23:15:31 - 10 hours ago
MC MAIN DOOR was opened - 
23:08:51 - 11 hours ago
PRT1-HOUSE changed to Disarmed triggered by service Alarm control panel: Disarm  - DISARM PARTITION 1 VIA HAOS
23:08:45 - 11 hours ago

home-assistant_bosch_alarm_2024-01-24T07-02-18.446Z.log

any thoughts ? any help appreciated!! thanks again for all your effort on that panel

regards,
Dimitris

Unexpected error with AMAX 3000

Hi,

trying to add AMAX300 and get Unexpected error
any idieas?

Home Assistant 2023.2.3
Supervisor 2023.01.1
Operating System 9.5

Logger: custom_components.bosch_alarm.config_flow
Source: custom_components/bosch_alarm/config_flow.py:45
Integration: Bosch Alarm
First occurred: 6:58:04 AM (1 occurrences)
Last logged: 6:58:04 AM

Unexpected exception
Traceback (most recent call last):
File "/config/custom_components/bosch_alarm/config_flow.py", line 70, in async_step_user
(model, serial_number) = await try_connect(self.hass, user_input)
File "/config/custom_components/bosch_alarm/config_flow.py", line 45, in try_connect
await panel.connect(Panel.LOAD_BASIC_INFO)
File "/usr/local/lib/python3.10/site-packages/bosch_alarm_mode2/panel.py", line 123, in connect
await self._connect(load_selector)
File "/usr/local/lib/python3.10/site-packages/bosch_alarm_mode2/panel.py", line 181, in _connect
await self.load(load_selector)
File "/usr/local/lib/python3.10/site-packages/bosch_alarm_mode2/panel.py", line 127, in load
await self._basicinfo()
File "/usr/local/lib/python3.10/site-packages/bosch_alarm_mode2/panel.py", line 232, in _basicinfo
data = await self._connection.send_command(
Exception: NACK: Execution Function Sequence Wrong

Host?

Hi... might be a silly question, but by host you mean IP address?

Is the default port always 7700?

I've tried, but can't seem to get my alarm to connect to my Bosch 3000 via B426-M board (Ethernet). I can reach it via the RSC+ app so it's reachable via Ethernet, but I can't get it to work. What am I doing wrong?

Can't re-configure the integration after changing automation password?

In RPS I wanted to change my Automation Passcode from the default Bosch one that I used when I first installed the HA integration. When I change it on the panel, and then restart Home Assistant, everything breaks and there's no way to update the password within the HA integration that I can see; the Configure button only lets you change the arming code.

Failed to connect during setup

Hi,

I'm not able to connect my B5512 panel (one of the specific models listed as tested in the "bosch-alarm-mode2" python library page). Per that page, I set Automation Device to Mode 2, using RPS on my laptop connected to the panel via USB cable.

The panel is connected to my router via ethernet cable, and is visible in my router's admin webpage.

After installing the HA integration and rebooting, I followed instruction step 4 ("Search for Bosch Alarm in Home Assistant -> Settings -> Integrations -> Add Integration, and install it")

When I select Bosch Alarm and hit ok, it brings up a connection window with fields of just the hostname, and port number (doesn't ask for password anywhere at this stage). I entered the IP address of the B5512 which I retrieved from the router admin page, and tried both the default port of 7700, and 7702(which is the port shown in RPS), and either way, HA immediately shows "Failed to connect". There's a question mark button on the dialog box, but when I click it, it goes to a 404 page...

Also, I did a port scan of the panel's IP address, and it shows that there are no open ports.

There's a similar issue, #19 , but that seemed to be resolved for that user by increasing the timeout duration. In my case, it fails almost immediately after hitting the "connect" button. Thanks in advance.

Bosch b4512 Authentication failed: Not Authorized

Hi! Very excited for this repo. Im having trouble setting up the integration for mine alarm.

  • v1.0.3 of the integration
  • Home Assistant 2023.12.4
  • Bosch B4512, US region, unknown firmware

When I try to setup the integration, I receive this error when setting the automation pass:

Logger: bosch_alarm_mode2.panel
Source: custom_components/bosch_alarm/config_flow.py:77
Integration: bosch_alarm
First occurred: 17:03:42 (1 occurrences)
Last logged: 17:03:42

busy flag: 1

Logger: custom_components.bosch_alarm.config_flow
Source: custom_components/bosch_alarm/config_flow.py:77
Integration: bosch_alarm
First occurred: 17:03:43 (1 occurrences)
Last logged: 17:03:43

Authentication failed: Not Authorized
Traceback (most recent call last):
  File "/config/custom_components/bosch_alarm/config_flow.py", line 77, in try_connect
    await panel.connect(load_selector)
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 171, in connect
    await self._connect(load_selector)
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 257, in _connect
    await self._authenticate()
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 398, in _authenticate
    await self._authenticate_automation_user(user_type)
  File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 359, in _authenticate_automation_user
    raise PermissionError("Authentication failed: " + error)
PermissionError: Authentication failed: Not Authorized

I tried multiple passwords and continued to receive this same error.

How can I troubleshoot this more?

Issues with history when panel is armed

The history reading commands NAK when the panel is armed.

For the moment, i have thrown a try catch around the history polling just so that this wont break the integration for anyone.

For panels using polling, this is good enough as once the panel is unarmed, the polling function will be run and we will get history events.

For panels that use subscriptions however, this wont happen, so we probably want to decide how to handle that. We could flag that the history is missing when we encounter this and then we get a disarm event, we could try again?

Submit to HACS

Until this is upstreamed to HA, it would make the installation smoother if the integration was listed in the HACS repository tracker

Issues with entry unloading

I have noticed that if a user attempts to reload the config entry when it has not successfully connected, the entry can get stuck in a state where it was never fully loaded (since we delay the entries initialisation until after we connect to the panel). This can lead to the following error if someone attempts to reload the entry to try to get it to connect again:

2023-11-22 15:08:12.463 ERROR (MainThread) [homeassistant.config_entries] Error unloading entry Bosch AMAX 3000 for binary_sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 557, in async_unload
    result = await component.async_unload_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/binary_sensor/__init__.py", line 175, in async_unload_entry
    return await component.async_unload_entry(entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 202, in async_unload_entry
    raise ValueError("Config entry was never loaded!")

At this point, the entry won't load and home assistant has to be fully reloaded to get it to come back. I've encountered this a few times when my panel is broken and the connection stops working.

Not really sure how we would best solve this though.

Any prerequisites on the system for this?

Hi,

I'm about to install a new alarm, looking at the Bosch 3000 as it seems that using this HA integration, it's easy to be polled on state change.

Are all flavours of the Bosch 3000 compatible? Do I need to ensure anything other than installing with the IP module?

Invalid authentication - AMAX2100

Hello,
the following problem with the AMAX 2100:

Logger: custom_components.bosch_alarm.config_flow
Source: custom_components/bosch_alarm/config_flow.py:76
Integration: Bosch Alarm
First occurred: 3. November 2023 um 13:26:21 (17 occurrences)
Last logged: 19:29:37

Authentication failed: Not Authorized

Traceback (most recent call last): File "/config/custom_components/bosch_alarm/config_flow.py", line 76, in try_connect await panel.connect(load_selector) File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 168, in connect await self._connect(load_selector) File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 254, in _connect await self._authenticate() File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 383, in _authenticate await self._authenticate_automation_user() File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 347, in _authenticate_automation_user raise PermissionError("Authentication failed: " + error) PermissionError: Authentication failed: Not Authorized

Version of HA:

Home Assistant 2023.10.5
Supervisor 2023.10.1
Operating System 11.1
Frontend 20231005.0 - latest

Version of Bosch-Alarm: eb04ff3

Installer-Code and Automation-Code are definitely correct.

Greetings Michael

Setup on Apple home through homekit bridge integration

Hi,

I was able to operate it from HA dashboard/app.

The device has been added on Homekit bridge integration as an accessory but for some reason it cant be controlled from Apple Home dashboard. it is showing up there but doesnt sarm or take in code.

Please advise on how can i proceed with Apple home setup?

Thanks,
Ujjwal

Config flow "failed to connect" doesn't show actual underlying error

Hi, I wanted to quickly push a branch for this but don't have time, it's a super simple change, just to add some logging of the underlying error message when config flow fails. In config_flow.py from line 85, replace the try block with:

try:
            (model, serial_number) = await try_connect(self.hass, user_input)
            await self.async_set_unique_id(serial_number)
            self._abort_if_unique_id_configured()
            return self.async_create_entry(title="Bosch %s" % model, data=user_input)
        except OSError as err:
            errors["base"] = "cannot_connect"
            _LOGGER.exception(err)
        except ConnectionRefusedError as err:
            errors["base"] = "cannot_connect"
            _LOGGER.exception(err)
        except ssl.SSLError as err:
            errors["base"] = "cannot_connect"
            _LOGGER.exception(err)
        except asyncio.exceptions.TimeoutError as err:
            errors["base"] = "cannot_connect"
            _LOGGER.exception(err)
        except PermissionError as err:
            errors["base"] = "invalid_auth"
            _LOGGER.exception(err)
        except Exception as err:  # pylint: disable=broad-except
            _LOGGER.exception(err)
            errors["base"] = "unknown"

I only tested it with the first 4 in there, but just hand-edited the rest when trying to push it.

Let me know how you go!

B5512 - Failed to connect

Hello, I trying to connect to B5512 panel but unfortunately I constantly receiving only "Failed to connect" error. I checked everything what I was thinking it can cause it. Even in BVMS (Bosch Video Management Software) in Configuration client I can see the panel which uses same Mode2 automation device and passcode. In BVMS it worked for a first time.

Is there any way to see more in the log for this integration then these 2 messages:
2023-10-31 21:23:20.538 DEBUG (MainThread) [bosch_alarm_mode2.panel] Panel created
2023-10-31 21:23:20.538 INFO (MainThread) [bosch_alarm_mode2.panel] Connecting to 192.168.0.40:7700...

Or did you encountered any problem with B5512 or additional settings in RPS which needs to be done on top of those mentioned in the reed me. Thanks.

Reconnect logic doesn't always work

I've noted that sometimes after a connection dropout to my solution 3000, the reconnection handler will occasionally fail to reconnect, and then I need to reload the integration to force a reconnection.

Not really sure what causes this, but I've currently got a testing firmware for the network module that is unintentionally stress testing the reconnection logic, and it works most of the time but I have noticed the occasional time where it didn't work and I had to manually reload the integration.

Entities Showing as Unavailable

Some point entities are showing as "Unavailable" when the zone is violated. Upon restoral, they return to "Cleared". This appears to be limited to entities that were imported as motion detectors. Although not all of them.

Panel is a Bosch B9512G. Running commit e4d3996

image

Area 2 not showing

Apologies if I ask not logging this correctly.

I was using this integration through HACS with a Solution 3000 and B426 module with 1 area configured and everything was working perfectly for several months. Recently I changed 1 keypad and 2 sensors to be area 2. Those 2 sensors dropped off HA - entity is no longer available. And a second area alarm panel did not show up. I have tried restarting the integration, restarting HA and also removing/re-adding the integration. Nothing in the logs other than the usual custom integration warnings and this:

Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 314, in _poll
await self._load_status()
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 279, in _load_status
await self._load_history()
File "/usr/local/lib/python3.11/site-packages/bosch_alarm_mode2/panel.py", line 292, in _load_history
data = await self._connection.send_command(self._history_cmd, request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Exception: ('NACK: ', 'Non-specific error')

Anything else I can try?

Motion detection delay in home assistant

There’s a 1-20 seconds delay from when the light on the PIR turns on and motion being triggered in HA. Is that because of the integration polls instead of push from Bosch panel?

Status "unknown"

There are a number of issues with Solution 3000:

  1. The system constantly moving to "unknown" state then coming back
  2. after a day-half a day it is not going back from "unknown"

Background:
the solution is centrally monitored and connected to RSC+ app
there is a configuration for emailing statuses which is currently not working and it's giving error 5-2 (communication to receiver 2) on the panel. HA integration is configured with pretty much default values.

Huge thanks for the integration. when it's working - it AMAZING.
I do understand that solution doesn't support concurrent connection so the issue 1 can be expected due to the requirement to communicate to rsc+ cloud. the plan is to create a manual binary sensor that can be used. however, currently no point since the system is stopping to communicate completely after some time

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.