Bosch Solution 2000 / 3000 Alarm Integration

Could it be a difference in firmware?

From my research the Solution 2000 and 3000 is not that different.

can you try the version ive just released? I think im calculating the count wrong, and that code snippet i gave you probably would infinite loop i suspect, which is why it probably seemed like it was going on forever

Unfortunately due to how the history data works, its difficult to only retrieve the last x events, as we can only specify which event we start from, and working out how many events there are would involve looping over all events anyways.

It worked!

From a usability perspective, after entering in the config details the spinner keeps going for well over 5 minutes. I imagine it’s fetching the history on first setup? Perhaps it’s better to just auth only after initial install so users don’t think it’s stuck, and then update in the background?

Yeah i didn’t really plan on history when I wrote that, easy to fix though I’ll only have it do the auth phase when setting up

I gotta work out how to do errors right too

Hi sanjay,

Have you worked out how to get the live (push?) notifications from the panel when there is an event, ie: when it arms, disarms or if there’s an intrusion event, etc.

no, i just poll for arming and disarming. I suppose now that we have history we could read that for working out if there is an intrusion event

It works like a charm!! Your work is super awesome, mate.

@sanjay900 do you think it’s possible to turn this integration into a proxy where it sits in between the alarm and Bosch Cloud/RSC+? Similar to the Actron Air/HASS Addon

Alarm <---LAN---> HA/Integration <---Internet---> Bosch/RSC+

maybe? I have no real want to do that though myself, is there anything specific you need from RSC+? It would take a lot more effort to implement that

1 Like

Just a question really and thought it would give push capability rather than polling the device.

Polling works well enough for the moment, they are in the process of writing a home automation firmware update for the panel, and i suspect when that is released we will be able to use push instead of poll.

I noticed there a bunch of triggers - wouldn’t these effectively be the “push” type of alert needed?

image

You could definitely use that to create push notifications, I assumed the question was about polling vs push not push notifications

Also, one neat thing is the new home assistant version let’s you change the type of a binary sensor from the gui

Hi Sanjay,

I’ve just updated to your latest release and my developer tool is now filled with pages and pages and pages of history data.

is there any way you can provide an option to turn that off in the integration config page?

Awesome work @sanjay900. Will give this a go with my Bosch alarm!

yeah, ill provide an option to configure how many rows get pulled back

1 Like

done, an option for it is in the latest version
for some reason, sometimes the integration doesn’t start back up when reloaded, so you may need to restart home assistant after configuring

Hi Sanjay,

It doesn’t work for me anymore, the integration stopped working to removed it and try ti add it again.

When i try to add it, it says unexpected error!

Thanks,

Error handling request
Traceback (most recent call last):
File “/usr/local/lib/python3.9/site-packages/aiohttp/web_protocol.py”, line 435, in _handle_request
resp = await request_handler(request)
File “/usr/local/lib/python3.9/site-packages/aiohttp/web_app.py”, line 504, in _handle
resp = await handler(request)
File “/usr/local/lib/python3.9/site-packages/aiohttp/web_middlewares.py”, line 117, in impl
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/security_filter.py”, line 60, in security_filter_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/forwarded.py”, line 100, in forwarded_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/request_context.py”, line 28, in request_context_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/ban.py”, line 79, in ban_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/auth.py”, line 219, in auth_middleware
return await handler(request)
File “/usr/src/homeassistant/homeassistant/components/http/view.py”, line 137, in handle
result = await result
File “/usr/src/homeassistant/homeassistant/components/config/config_entries.py”, line 206, in post
return await super().post(request, flow_id)
File “/usr/src/homeassistant/homeassistant/components/http/data_validator.py”, line 62, in wrapper
result = await method(view, request, *args, **kwargs)
File “/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py”, line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 260, in async_configure
result = await self._async_handle_step(
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 335, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File “/config/custom_components/solutions3000/config_flow.py”, line 70, in async_step_user
panel = Panel(
TypeError: init() missing 2 required positional arguments: ‘show_history’ and ‘history_count’

Should be fixed now

1 Like