Coder Social home page Coder Social logo

ankohanse / hass-dab-pumps Goto Github PK

View Code? Open in Web Editor NEW
12.0 2.0 1.0 503 KB

Home Assistant Custom Integration for DAB Pumps via the DAB Live or DConnect service

License: MIT License

Python 100.00%
home-assistant integration dab-pumps custom-integration hacs esybox dconnect dab-live

hass-dab-pumps's People

Contributors

ankohanse avatar dependabot[bot] avatar hernaj avatar

Stargazers

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

Watchers

 avatar  avatar

Forkers

hernaj

hass-dab-pumps's Issues

Modify sensor.devicename_totalenergy to be available for energy dashboard

Is your feature request related to a problem? Please describe.
I want to add the energy used by my pump to the energy dashboard. However, the only energy entity that is currently available to add as individual device is the sensor.devicename_actual_period_energy_counter. Since this counter will reset at month-end it will not work correctly with the HA energy dashboard. I believe the correct sensor to add should be: sensor.devicename_totalenergy. This senor is, however, not currently available as per the below screenshot and I suspect it might be that the attribute "state_class: total_increasing" is not defined for this sensor.

Screenshot 2024-03-09 at 11 11 59

Describe the solution you'd like
I want to add the sensor.devicename_totalenergy to my energy dashboard to correctly report the energy usage for this device in the energy dashboard.

DAB esyminiv3 not updating

I see data figures for the sensors but they are not updating?
Also after doing a Restart Home Assistant my custom cards don't work
Custom element doesn't exist:
Seems related?

No warning error only this Warning

Logger: homeassistant.components.sensor.recorder
Source: components/sensor/recorder.py:484
Integration: Sensor (documentation, issues)
First occurred: 3:56:34 pm (2 occurrences)
Last logged: 3:56:34 pm

The unit of sensor.esybox_mini_v3_groupflowliter (L/min) cannot be converted to the unit of previously compiled statistics (L/m). Generation of long term statistics will be suppressed unless the unit changes back to L/m or a compatible unit. Go to https://my.home-assistant.io/redirect/developer_statistics to fix this
The unit of sensor.esybox_mini_v3_vf_flowliter (L/min) cannot be converted to the unit of previously compiled statistics (L/m). Generation of long term statistics will be suppressed unless the unit changes back to L/m or a compatible unit. Go to https://my.home-assistant.io/redirect/developer_statistics to fix this

Screenshot_20240302-160911

support for control (setpoint, power shower, sleep mode)

First off love the integration it was great for troubleshooting the pump and making sure pressure was staying consistent. In my quest to stop using the Dab app it would be nice if some of the inputs like power shower or setpoint could be adjusted. Are there any plans for that or will the project stay read only?

Update parameters directly from HA

Congratulations for this nice HA integration.

But I would suggest to have the possibility to update every "updatable pump parameters" in HA directly.

I've seen that such a request was already raised (as issue #9) in Jan 2021, requesting to have 'inputs' for the parameters in both groups 'Extra Comfort' and 'Setpoint'.

But the scope was limited to the 'Extra comfort group' only and not to the 'Setpoint group'.

Would it be possible to reconsider this limitation and to extend the inputs to the other entry parameters ?

RPM / Pressure control

I'd love to be able to adjust the pressure (SP) and RPM of my pump manually.

Most of the time we'd like to have low pressure and flow rates due to limited water on the property, but for some functions (showers, certain types of washing, etc) we may need higher pressure.

I'd love to be able to create an automation that increases the pressure/RPM and then sets it back to our regular settings once the flow rate drops to 0 for a period of time.

DAB has a shower boost mode, but that is only timer based. I have access to flow rate, presence sensors, and a swathe of other information that could provide greater convenience and greater savings than the time based approach

Failed setup after reboot

I rebooted the rpi and when home assistant restarted I get the message

Core
2024.2.3
Supervisor
2024.02.0
Operating System
11.5
Frontend
20240207.1

Failed setup, will retry.

Retired rebooting and restarting home assistant but still the same?

In the error log I get this

This error originated from a custom integration.

Logger: custom_components.dabpumps.coordinator
Source: helpers/update_coordinator.py:313
Integration: DAB Pumps (documentation, issues)
First occurred: 5:40:18 pm (1 occurrences)
Last logged: 5:40:18 pm

Unexpected error fetching DAB Pumps data: Server disconnected without sending a response.
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 67, in map_httpcore_exceptions
yield
File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 371, in handle_async_request
resp = await self._pool.handle_async_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 268, in handle_async_request
raise exc
File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 251, in handle_async_request
response = await connection.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_async/connection.py", line 103, in handle_async_request
return await self._connection.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_async/http11.py", line 133, in handle_async_request
raise exc
File "/usr/local/lib/python3.12/site-packages/httpcore/_async/http11.py", line 111, in handle_async_request
) = await self._receive_response_headers(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_async/http11.py", line 176, in _receive_response_headers
event = await self._receive_event(timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpcore/_async/http11.py", line 226, in _receive_event
raise RemoteProtocolError(msg)
httpcore.RemoteProtocolError: Server disconnected without sending a response.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 313, in _async_refresh
self.data = await self._async_update_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/coordinator.py", line 184, in _async_update_data
success = await self._async_detect_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/coordinator.py", line 199, in _async_detect_data
success = await self._api.async_login()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/api.py", line 112, in async_login
response = await client.post(login_url, data=login_data, headers=login_hdrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1877, in post
return await self.request(
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1559, in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1646, in send
response = await self._send_handling_auth(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1674, in _send_handling_auth
response = await self._send_handling_redirects(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1711, in _send_handling_redirects
response = await self._send_single_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_client.py", line 1748, in _send_single_request
response = await transport.handle_async_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 370, in handle_async_request
with map_httpcore_exceptions():
File "/usr/local/lib/python3.12/contextlib.py", line 158, in exit
self.gen.throw(value)
File "/usr/local/lib/python3.12/site-packages/httpx/_transports/default.py", line 84, in map_httpcore_exceptions
raise mapped_exc(message) from exc
httpx.RemoteProtocolError: Server disconnected without sending a response.

Error handling request

During the first configuration step:
chrome_dqdFDyNnlj

`Logger: aiohttp.server
Source: /usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py:421
First occurred: 09:32:46 (1 occurrences)
Last logged: 09:32:46

Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 543, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 114, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, 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 80, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 233, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 149, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 63, in with_admin
return await func(self, request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 177, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *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 293, in async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 389, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/config_flow.py", line 94, in async_step_user
await self.async_try_connection()
File "/config/custom_components/dabpumps/config_flow.py", line 67, in async_try_connection
self._install_map = await dabpumpsapi.async_detect_installs()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/dabpumpsapi.py", line 81, in async_detect_installs
await self._async_detect(None)
File "/config/custom_components/dabpumps/dabpumpsapi.py", line 98, in _async_detect
success = await self.async_fetch_installs()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/dabpumpsapi.py", line 237, in async_fetch_installs
device_id = DabPumpsApi.create_id(dum.get('name', ''), suffix_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/dabpumpsapi.py", line 349, in create_id
str = '
'.join(args).strip('
')
^^^^^^^^^^^^^^
TypeError: sequence item 0: expected str instance, NoneType found
`

Sensors with device class 'water' and 'energy' are using state class 'measurement' which is impossible

Describe the bug
last_period_flow_counter is using state class 'measurement' which is impossible considering device class ('water') it is using; expected None or one of 'total_increasing', 'total';
last_period_energy_counter is using state class 'measurement' which is impossible considering device class ('energy') it is using; expected None or one of 'total_increasing', 'total';

To Reproduce
Steps to reproduce the behavior:

  1. Added the integration with an esybox_mini_3
  2. Observed the above sensor configuration warnings in logs.

Expected behavior
No configuration warnings in logs.

Screenshots
Logger: homeassistant.components.sensor
Source: components/sensor/init.py:528
Integration: Sensor (documentation, issues)
First occurred: 2:43:42 PM (2 occurrences)
Last logged: 2:43:42 PM

Entity sensor.esybox_mini_3_last_period_flow_counter (<class 'custom_components.dabpumps.sensor.DabPumpsSensor'>) is using state class 'measurement' which is impossible considering device class ('water') it is using; expected None or one of 'total_increasing', 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/ankohanse/hass-dab-pumps/issues
Entity sensor.esybox_mini_3_last_period_energy_counter (<class 'custom_components.dabpumps.sensor.DabPumpsSensor'>) is using state class 'measurement' which is impossible considering device class ('energy') it is using; expected None or one of 'total_increasing', 'total'; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/ankohanse/hass-dab-pumps/issues

Additional context
Thank you for developing this integration. I've been working on one myself, but found yours before I could finish it. Happy to contribute if I can.

Add Fluid_Remain for DAB Esybox Diver

Is your feature request related to a problem? Please describe.
I have an Diver and the fluid add-on
https://www.completepumpsupplies.co.uk/dab-nfc-water-level-sensor-for-e-sybox-diver

Describe the solution you'd like
Get the sensor for that.

Describe alternatives you've considered
./.

Additional context
here is the JSON-Output for the Fluid_Remain...
Maybe there are more sensors missing. You said something about usind installation.json in the other issue, I am not sure if it will fix this.

"res": "OK",
"result": "OK",
"status_validity": 15,
"statusts": "2023-12-23T18:47:41.808Z",
"lastreceived": "2023-12-23T18:47:41.812Z",
"refresh": 2000,
"servertime": 1703357286332,
"status": "{"AE_AntiLock":"1","AF_AntiFreeze":"1","AY_AntiCycling":"1","Actual_Period_Energy_Counter":"55","Actual_Period_Flow_Counter":"3142","Actual_Period_Flow_Counter_Gall":"h","C1_PumpPhaseCurrent":"0","Error1":"0","Error2":"0","Error3":"0","Error4":"0","Error5":"0","Error6":"0","Error7":"0","Error8":"0","ErrorTime1":"0","ErrorTime2":"0","ErrorTime3":"0","ErrorTime4":"0","ErrorTime5":"0","ErrorTime6":"0","ErrorTime7":"0","ErrorTime8":"0","FirmwareStatus":"1","FloatEnable":"0","FloatSwitchStatus":"255","FluidLevel":"1058","Fluid_Remain":"6052","Fluid_Remain_inch":"h","ForceDownload":"0","GI_IntegralGainElasticPlant":"h","GI_IntegralGainRigidPlant":"11","GP_ProportionalGainElasticPlant":"h","GP_ProportionalGainRigidPlant":"5","HO_PowerOnHours":"21458","HO_PumpRunHours":"452","HvBoardId":"8","HvFwVersion":"1.0.4","Last_Period_Energy_Counter":"21","Last_Period_Flow_Counter":"2294","Last_Period_Flow_Counter_Gall":"h","LvFwVersion":"1.4.29","OD_PlantType":"1","PO_InputPower":"0","PowerShowerBoost":"20","PowerShowerCommand":"0","PowerShowerCountdown":"h","PowerShowerDuration":"1800","PowerShowerPressureBar":"48","PowerShowerPressurePsi":"h","PressureTarget":"h","ProductType":"101","PumpDisable":"0","PumpStatus":"0","PumpStatusTime":"1703354414","RM_MaximumSpeed":"5200","RP_PressureFallToRestartBar":"10","RP_PressureFallToRestartPsi":"h","RS_RotatingSpeed":"0","SP_SetpointPressureBar":"40","SP_SetpointPressurePsi":"h","SV_SupplyVoltage":"236","Saving":"55","SleepModeCountdown":"h","SleepModeDuration":"25200","SleepModeEnable":"0","SleepModePressureBar":"28","SleepModePressurePsi":"h","SleepModeReduction":"30","SleepModeStartTime":"82800","StartNumber":"41822","SystemStatus":"0","T2_SwitchOffDelay":"8","TB_DryRunDetectTime":"30","TE_HeatsinkTemperatureC":"14","TankFill":"62","TankMinLev":"15","TankMinLev_inch":"h","Tank_L1_D1":"270","Tank_L1_D1_inch":"h","Tank_L2":"0","Tank_L2_inch":"h","UpdateFirmware":"h","UpdateProgress":"h","UpdateType":"0","VF_FlowGall":"h","VF_FlowLiter":"0","VP_PressureBar":"33","VP_PressurePsi":"h","FluidLevel_inch":"h"}"
}

Cannot configure the 2023.12.6

Hi.

After update from 12.5 all data became 'Unavailable' with:
[custom_components.dabpumps.dabpumpsapi] Please re-check your username and password in your configuration!

Ok, I removed 12.5 and did a fresh installation of 12.6.
I cannot complete configuration steps now because the last step asks me to choose installation name without any opton to select.
After the last window closed with X, integration remains not installed.
2024-01-01 19:43:52.287 INFO (MainThread) [custom_components.dabpumps.config_flow] Trying connection... 2024-01-01 19:43:58.447 WARNING (MainThread) [custom_components.dabpumps.dabpumpsapi] Unable to connect to dconnect.dabpumps.com. 2024-01-01 19:43:58.447 INFO (MainThread) [custom_components.dabpumps.config_flow] Successfully connected!

chrome_JA6mc15iNh
chrome_k6PP1zBELJ
oBigVbI7kt

D.

Setup parameters validation range error

Hello,

the validation ranges for the setup parameters are not correct :

  • SP_SetpointPressurePsi the range should be 1.0 to 5.5 (instead of 0.1 - 0.6)
  • RP_PressureFallToRestartPsi the range should be 0.1 to 1.0 (instead of 0.0 - 0.1)

So these 2 values cannot be updated in Home Assistant.

Can you please check ?

Use DAB Pumps translations

The current integration always uses the english translations from DAB DConnect for entity names, entity values, or selectable options.

DAB DConnect has other translations available as well:

  • "0": "Italian",
  • "1": "English",
  • "2": "French",
  • "3": "German",
  • "4": "Spanish",
  • "5": "Dutch",
  • "6": "Swedish",
  • "7": "Turkish",
  • "8": "Slovenian",
  • "9": "Romanian",
  • "10": "Czech",
  • "11": "Polish",
  • "12": "Russian",
  • "13": "Thai"

This enhancement request is to make the language a configurable option, possibly default to the HA language if possible.

Dab miniv3 not updating data

After the update tp2024.3.2 the data isn't updating.

New error
Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:352
Integration: Sensor (documentation, issues)
First occurred: 12:07:47 pm (1 occurrences)
Last logged: 12:07:47 pm

Error while setting up dabpumps platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 352, in _async_setup_platform
await asyncio.gather(*pending)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 533, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 782, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1325, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 989, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1110, in _async_write_ha_state
state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1047, in __async_calculate_state
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 995, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/sensor/init.py", line 558, in state
raise ValueError(
ValueError: Sensor sensor.esybox_mini_v3_samplerate has a unit of measurement and thus indicating it has a numeric value; however, it has the non-numeric device class: enum

Updated to 2024.3.9 but the integration is now failing to start

Describe the bug
After updating and then rebooting, the integration now has a "Setup failed, will retry" message. I've tried reinstalling the integration from HACS but that hasn't helped. It was working fine on 2024.3.8. In the log I see the following:

Logger: custom_components.dabpumps.coordinator
Source: custom_components/dabpumps/coordinator.py:308
integration: DAB Pumps (documentation, issues)
First occurred: 1:34:35 PM (4 occurrences)
Last logged: 1:34:59 PM

Retry 3 in 5 seconds. 'code'
Retry 4 in 5 seconds. 'code'
Retry 5 in 5 seconds. 'code'
Retry 6 in 5 seconds. 'code'

Maintenance on DAB DConnect platform (18 June 2024)

Scheduled maintenance by DAB:

Dear DConnect user,

we are about to perform a maintenance task on the DConnect platform on the following date:
Tuesday 18 June, from 17:00 to 22:00 Italian local time (CEST)

During this period, the access to DConnect portal, DConnect App and DAB live! App and all the related features will not be available.

Sorry for the temporary inconvenience, but after this our service will be even better.

I will the behavior of the integration after this maintenence has finished to check if all functionality is still provided.
But any help is appreciated; if you do encounter any issues please report them here

DConnect service subscription is about to expire

Is your feature request related to a problem? Please describe.
Hi,
I'm an owner of E.sybox Mini v2 and I recently received following email from dabcs.it:

Your trial period or subscription will expire in 7 days. We hope you enjoyed using DConnect with your installation: na.

Our renewal packages start at 20€/year. By renewing now, you will ensure continuity without interruptions of the remote control of your systems and the services to your customers.
By renewing, you will enjoy the following advantages:

- remotely check the systems of your best customers,
- receive alarms in real time, wherever you are,
- detailed reports of the status of your systems, including past events.
- save time and money.

Do you have questions about DConnect?
Our support team can answer any questions regarding DConnect renewal packages.

If you need assistance, contact us at any time through our website: https://www.internetofpumps.com/

I'm not super keep on paying 20€ a year just to see status of my water pump.
Do you know whether it's possible to send pump stats directly to HASS rather than going through manufacturer's API?

Thank you

Describe the solution you'd like
N/A

Describe alternatives you've considered
Somehow make E.sybox Mini v2 send data directly to Home Assistant rather than going through manufacturer's API

Additional context
N/A

Add Pump Enable/Disable as a switch

[Added on behalf of @nicopret1]
DConnect System Management on an ESybox mini 3 shows the option for Pump Enable/Disable.
Would you be able to also add a switch entity for that? I would like to add an automation to automatically disable the pump when my water tank runs low to prevent the pump from running dry.

PSI off by order of magnitude

Great integration! One problem for me is that my pressure says 796 psi but its actually 79.6 psi. Let me know if I can help with more info. Thanks!

Cannot get past the GUI configuration

[Bug report on behalf of Nico Pretorius]
I see the following in the log when I run the config to add my credentials after adding the integration:

2024-03-08 08:46:50.545 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 91, 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 25, 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 235, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 68, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 72, in with_admin
return await func(self, request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 197, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 111, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 359, in async_configure
result = await self._async_configure(flow_id, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 405, in _async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 502, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/config_flow.py", line 101, in async_step_user
await self.async_try_connection()
File "/config/custom_components/dabpumps/config_flow.py", line 69, in async_try_connection
coordinator = DabPumpsCoordinatorFactory.create_temp(self._username, self._password)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/coordinator.py", line 109, in create_temp
api = DabPumpsApiFactory.create(hass, username, password)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/api.py", line 62, in create
api = DabPumpsApi(hass, username, password)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/api.py", line 87, in init
self._hass.async_create_task(self._history_store.async_remove())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'async_create_task'
Let me know if you prefer that I open issue on Issues · ankohanse/hass-dab-pumps · GitHub.

Below my current HA versions which are all on the latest version available:

Core 2024.3.0
Supervisor 2024.02.1
Operating System 12.0
Frontend 20240306.0

Power Shower switch

Is your feature request related to a problem? Please describe.
I'd like to enable or disable the power shower from Home Assistant

Describe the solution you'd like
A new switch that enables/disables and query the power shower status

Describe alternatives you've considered
An MQTT switch that queries https://dconnect.dabpumps.com/dum/pump_id/ccommands/power-shower/{ON | OFF}

Additional context
Add any other context or screenshots about the feature request here.
Screenshot 2024-04-02 alle 23 57 02

** Edit **
My bad, didn't see it was a select

[BUG] - Integration configuration for polling interval not working

Describe the bug
Polling interval option for the sensors is failing when updating the default value. If you try to change the default polling interval from 20 seconds to another value, the change will not be applied and an exception will be raised.

To Reproduce
Steps to reproduce the behavior:

  1. Go to DAB integration configuration.
  2. Click on configure.
  3. Change polling interval to another value.
  4. See error.

Expected behavior
Value shall be changed.

Some values need to be divided by 10

The temperature in integration shows 190 degrees, meanwile on the DConnect site is 19.0
Total Energy and Partial Energy in integration need to be divided by 10 too

CPU load is always 100-99% do not found the real value on the site, may be jus a dummy.

v2023.12.2

Update 2024.03.01 dab pump

I see the shower power and sleep mode but everything else is unavailable.
Core
2024.2.5
Supervisor
2024.02.1
Operating System
12.0
Frontend
20240207.1

Log

Error while setting up dabpumps platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 344, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/dabpumps/sensor.py", line 56, in async_setup_entry
await helper.async_setup_entry(Platform.SENSOR, DabPumpsSensor, async_add_entities)
File "/config/custom_components/dabpumps/entity_base.py", line 157, in async_setup_entry
entity = target_class(self.coordinator, self.install_id, object_id, device, params, status)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/sensor.py", line 70, in init
DabPumpsEntity.init(self, params)
File "/config/custom_components/dabpumps/entity_base.py", line 247, in init
self._attr_unit = self._convert_to_unit()
^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/entity_base.py", line 286, in _convert_to_unit
return params.unit
^^^^^^
NameError: name 'params' is not defined

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Error doing job: Task exception was never retrieved

Getting lot of these errors.

System information
Version core-2024.4.1
Installation Type Home Assistant OS

Home Assistant Supervisor
Host Operating System Home Assistant OS 12.1
Update Channel stable
Supervisor Version supervisor-2024.03.1

Logger: homeassistant
Source: helpers/storage.py:286
First occurred: 7:19:10 AM (88 occurrences)
Last logged: 7:34:11 AM

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/dabpumps/api.py", line 503, in _async_worker
data = await self._history_store.async_load() or {}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/dabpumps/api.py", line 569, in async_load
data = await super().async_load() or {}
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/storage.py", line 294, in async_load
return await load_task
^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/storage.py", line 303, in _async_load
return await self._async_load_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/storage.py", line 415, in _async_load_data
await self.async_save(stored)
File "/config/custom_components/dabpumps/api.py", line 577, in async_save
data = await super().async_load() or {}
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/storage.py", line 286, in async_load
return await self._load_task
^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Task cannot await on itself: <Task pending name='Storage load dabpumps.api_history' coro=<Store._async_load() running at /usr/src/homeassistant/homeassistant/helpers/storage.py:303> cb=[set.remove(), Task.task_wakeup()]>

some sensors should be binary_sensors

Describe the bug
Right now they are normal sensors with with the state "active" or "inactive".

Expected behavior

The following two sensors of the dconnect box 2 should be binary sensory, they can be only "on" oder "off":

  • DConnect Box 2 In1
  • DConnect Box 2 Out1

Additional context
Thx for this integration! So far I used the HA rest sensor for integrating the pump but this way it is much easier...
The API seemed to be stable, even with the new UI design in 2022/2023 the json stuff didn't change.

Update in hacs

Describe the bug
I updated the integration from hacs. Now everything is unavailable. It worked before the update.
I can login to dab to the live app so it seems I've been logged out in home assistant.
Should I uninstall the integration although I cannot see how to uninstall?

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

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.