Seems this integration is either dead since 2025.06 update or Rheem fully blocked me now, been several weeks since it’s worked. Guess all good things come to an end.
Just updated to 2025.7.0, yet still works on mine. ![]()
I did have to completely remove the integration and reinstall it at some point, circa version 2025.5.0.
Perhaps try that.
I was having the same issue there is a newer repository that works listed in this thread GitHub - briis/homeassistant-iqua-softener: Home assistant integration for iQua app supported water softeners the original repository by arturzx stopped working in 2025.6
I was about to buy a Rheem softener, are you saying the briis repository is still working?
Just updated to the briis repository and yes for the moment i’m working again, guess we’ll see how long.
Does anyone know how to get the working briis repository turned into a searchable integration from within home assistant?
Add it as a custom repository in HACS.
So iQua has finally updated their API and phone app.
The new API seems way more robust and is not being rate-limited.
I went on a weekend programming tear and I believe I am at a point to start alpha/beta testing my fork.
This now should support real-time polling via websockets and provides a water shut off switch for those that have it. I am sure there will be a few bugs, but huzzah! My soft water system is finally working as it should in home assistant. Let me know what issues you find.
If you installed the other forks via hacs, you just should just need to update your hacs url to the one provided on my fork. The goal here is eventually to work with @arturzx to merge all this. The underlying iqua-softener python library has been heavily rewritten as well.
Cheers.
@jmacul2 I am trying the integration but after installation I am getting the below error when trying to add the softener via devices
Config flow could not be loaded: 500 Internal Server Error Server got itself in trouble
Edit: Should have posted the logs from HA
Logger: homeassistant.util.package
Source: util/package.py:159
First occurred: 9:54:18 AM (3 occurrences)
Last logged: 9:54:19 AM
Unable to install package iqua-softener>=2.0.0: × No solution found when resolving dependencies: ╰─▶ Because only iqua-softener<=1.0.2 is available and you require iqua-softener>=2.0.0, we can conclude that your requirements are unsatisfiable.
Logger: aiohttp.server
Source: /usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py:481
First occurred: 9:54:19 AM (1 occurrence)
Last logged: 9:54:19 AM
Error handling request from 192.168.250.51
Traceback (most recent call last):
File "/usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 510, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/site-packages/aiohttp/web_app.py", line 569, in _handle
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/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 92, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 87, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 86, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 41, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 83, in with_admin
return await func(self, request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper
return await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 188, in post
return await self._post_impl(request, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 195, in _post_impl
return await super()._post_impl(request, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 83, in _post_impl
result = await self._flow_mgr.async_init(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<2 lines>...
)
^
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1464, in async_init
flow, result = await self._async_init(flow_id, handler, context, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1500, in _async_init
flow = await self.async_create_flow(handler, context=context, data=data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 1722, in async_create_flow
handler = await _async_get_flow_handler(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self.hass, handler_key, self._hass_config
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 3988, in _async_get_flow_handler
await _load_integration(hass, domain, hass_config)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 3965, in _load_integration
await async_process_deps_reqs(hass, hass_config, integration)
File "/usr/src/homeassistant/homeassistant/setup.py", line 584, in async_process_deps_reqs
await requirements.async_get_integration_with_requirements(
hass, integration.domain
)
File "/usr/src/homeassistant/homeassistant/requirements.py", line 54, in async_get_integration_with_requirements
return await manager.async_get_integration_with_requirements(domain)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/requirements.py", line 170, in async_get_integration_with_requirements
await future
File "/usr/src/homeassistant/homeassistant/requirements.py", line 159, in async_get_integration_with_requirements
await self._async_process_integration(integration, done)
File "/usr/src/homeassistant/homeassistant/requirements.py", line 182, in _async_process_integration
await self.async_process_requirements(
integration.domain, integration.requirements
)
File "/usr/src/homeassistant/homeassistant/requirements.py", line 269, in async_process_requirements
await self._async_process_requirements(name, missing)
File "/usr/src/homeassistant/homeassistant/requirements.py", line 307, in _async_process_requirements
raise RequirementsNotFound(name, list(failures))
homeassistant.requirements.RequirementsNotFound: Requirements for iqua_softener not found: ['iqua-softener>=2.0.0'].
Yes I should of mentioned, until that library gets merged, we need to install that manually. I should probably just add it on the vendor section so people who don’t know python can get it updated. Give me a few minutes. Ill post when i’ve fixed it.
@jmacul2 I’m running HASSIO on Home Assistant hardware so I think it’s going to be dependant on their libraries
Ok If you try to install it now you should not have that library issue.
@jmacul2 Awesome!! The installation now goes without error, but I am not getting any settings/data besides the valve. For the serial, am I to use the dashes and the proceeding RHW####-#####-####?
The error in the logs is that the serial doesn’t exist
The serial is the not that. Its the same as the old app…and now I am realizing the new app doesn’t list it anywhere. Ugh! I guess we need to use the new one, but until I get that changed, you can find your actual serial number using the web app: iQua<device_id>/status
https://api.myiquaapp.com/v1/devices/<device_id>/detail-or-summary
Login via the web app, and capture the device_id in the url and then open the detail-or-summary api call. It will return json with a section called serial_number. The value in that is your actualy serial number.
The DSN number on that portal is the same RHW####-#####-####
I am an idiot and didn’t realize you were looking for the serialized link of the device.
Error I am getting using that link:
Logger: custom_components.iqua_softener.vendor.iqua_softener.iqua
Source: custom_components/iqua_softener/vendor/iqua_softener/iqua.py:441
integration: iQua Softener (documentation, issues)
First occurred: 11:09:04 AM (4 occurrences)
Last logged: 11:10:34 AM
Failed to get WebSocket URI: Device with serial number ‘########-####-####-####-############’ not found
It should start with SL and its 14 characters no dashes
@jmacul2 Found it, wow nothing like the device serial on the softener itself.
YAY, the integration is now working and showing up.
The only issue I am coming across is that the times don’t match. Any way we can get UTC changed to the local timezone and change the field to data last update or something similar?
ok i made updates. you should be able to enter in the device serial number (old way) or the product serial number (in the new app) for setup.
dates and times should be fixed now.
Thanks for keeping this one alive.
I went ahead and deleted the one I had (briis) and added yours fresh. The Product Serial number wouldn’t work for me (just said it couldn’t connect to the server) but the device one did.

