sensor.culligan_total_gallons_today
perfect sensor for water consumption in Energy Dashboard!!!
sensor.culligan_total_gallons_today
perfect sensor for water consumption in Energy Dashboard!!!
Yes! This was my primary use case. Sometimes my softener reports a negative number (somehow) and HA gives me a warning. Future TODO to figure that out.
Bypass switch should get pushed out today.
v1.3.0 is tagged as the latest release and includes bypass support. please open any discovered issues. the bypass takes a while to fully trigger and update its status.
working great.
tho. last night I tested bypass. the switch works fine. on and off
but If i turn bypass on with the switch, then click the “clear bypass” button, the switch did not move back to off.
is there a way to have an Error message sensor?
turns out when i went to test my softner last night it had an error light, had to check the culligan app. “brine overfill”
I seem to not be getting notifications or I’m missing them in my inbox.
I’ve created these issues as Github issues for the integration.
Initial thoughts:
Clear bypass may take a while to work (e.g. wait until bypass is showing in HA before clicking). The switch and button are using the exact same function, so timing is the only thing at the moment I could think of why the button is not working and the switch is.
Error sensor already exists as well. I would need a log to see why the errors are not presented in any way. I have not seen any error messages, so my initial thought is that the code isn’t ready to display them as a state yet. I don’t exactly know how to format what I’ve never seen (and is not documented). Next time you have an error, please enable debug logging and capture the data.
@JustAnotherR1 Thank you for all of your work on this. I see that @TRusselo has gotten his working which is awesome! That means hopefully I am close as well. However, I am still getting the “unknown’s” everywhere. I’m on 1.3.0.
This is the error I have received:
This error originated from a custom integration.
Logger: homeassistant
Source: custom_components/culligan/sensor.py:387
Integration: Culligan (documentation, issues)
First occurred: 1:09:59 PM (9 occurrences)
Last logged: 1:14:02 PM
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 243, in _handle_refresh_interval
await self._async_refresh(log_failures=True, scheduled=True)
File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 399, in _async_refresh
self.async_update_listeners()
File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 182, in async_update_listeners
update_callback()
File “/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py”, line 479, in _handle_coordinator_update
self.async_write_ha_state()
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 745, in async_write_ha_state
self._async_write_ha_state()
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 845, in _async_write_ha_state
state, attr = self._async_generate_attributes()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 786, in _async_generate_attributes
state = self._stringify_state(available)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 751, in _stringify_state
if (state := self.state) is None:
^^^^^^^^^^
File “/config/custom_components/culligan/sensor.py”, line 387, in state
elif bypass in (True,1,2,3,4,5,6) or bypass_time > 0:
^^^^^^^^^^^^^^^
TypeError: ‘>’ not supported between instances of ‘NoneType’ and ‘int’
If there is anything else you need to see, please let me know. Thank you!
@JustAnotherR1 here are a few more errors that came up:
This error originated from a custom integration.
Logger: custom_components.culligan
Source: custom_components/culligan/entity.py:31
Integration: Culligan (documentation, issues)
First occurred: 1:37:02 PM (196 occurrences)
Last logged: 1:37:02 PM
Device AC000W004589104 is an Ayla device, but was not cast as a Softener. Expect things to break!
Device AC000W017274430 is an Ayla device, but was not cast as a Softener. Expect things to break!
Device AC000W024952802 is an Ayla device, but was not cast as a Softener. Expect things to break!
Logger: homeassistant.components.switch
Source: helpers/entity_platform.py:361
Integration: Switch (documentation, issues)
First occurred: 1:37:02 PM (1 occurrences)
Last logged: 1:37:02 PM
Error while setting up culligan platform for switch
Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 361, in _async_setup_platform await asyncio.shield(task) File “/config/custom_components/culligan/switch.py”, line 69, in async_setup_entry SoftenerSwitch( File “/config/custom_components/culligan/switch.py”, line 155, in init if init_is_on in self.on_values or bypass_time > 0: ^^^^^^^^^^^^^^^ TypeError: ‘>’ not supported between instances of ‘NoneType’ and ‘int’
Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:509
Integration: Sensor (documentation, issues)
First occurred: 1:37:02 PM (3 occurrences)
Last logged: 1:37:02 PM
Error adding entities for domain sensor with platform culligan
Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 509, in async_add_entities await asyncio.gather(*tasks) File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 754, in _async_add_entity await entity.add_to_platform_finish() File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 1025, in add_to_platform_finish self.async_write_ha_state() File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 745, in async_write_ha_state self._async_write_ha_state() File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 845, in _async_write_ha_state state, attr = self._async_generate_attributes() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 786, in _async_generate_attributes state = self._stringify_state(available) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 751, in _stringify_state if (state := self.state) is None: ^^^^^^^^^^ File “/config/custom_components/culligan/sensor.py”, line 387, in state elif bypass in (True,1,2,3,4,5,6) or bypass_time > 0: ^^^^^^^^^^^^^^^ TypeError: ‘>’ not supported between instances of ‘NoneType’ and ‘int’
Logger: homeassistant.components.sensor
Source: helpers/entity_platform.py:369
Integration: Sensor (documentation, issues)
First occurred: 1:37:02 PM (1 occurrences)
Last logged: 1:37:02 PM
Error while setting up culligan platform for sensor
Traceback (most recent call last): File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 369, in _async_setup_platform await asyncio.gather(*pending) File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 509, in async_add_entities await asyncio.gather(*tasks) File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 754, in _async_add_entity await entity.add_to_platform_finish() File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 1025, in add_to_platform_finish self.async_write_ha_state() File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 745, in async_write_ha_state self._async_write_ha_state() File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 845, in _async_write_ha_state state, attr = self._async_generate_attributes() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 786, in _async_generate_attributes state = self._stringify_state(available) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 751, in _stringify_state if (state := self.state) is None: ^^^^^^^^^^ File “/config/custom_components/culligan/sensor.py”, line 387, in state elif bypass in (True,1,2,3,4,5,6) or bypass_time > 0: ^^^^^^^^^^^^^^^ TypeError: ‘>’ not supported between instances of ‘NoneType’ and ‘int’
It looks like it’s the same error, so only one root cause, which is likely that bypass_time is only available in the custom Softener device classes. I’m not sure if I have any debug logging in-place already to grab device attributes, but that is the first place I’d start.
For example, TRuss needed (among other additions) the “Smart HE” string to be added to device parsing so it could be cast as a softener device. Here is where it would be added. Ayla reports my device simply as “Softener”.
After a quick look, this should be in debug logs. Please enable debug logging and restart the integration. Look for a line like: ‘Found X Ayla-connected Culligan device(s)’. It should have the device_names in the output. Additionally, it should show up in the integration’s ‘Device Info’ as <device_name> <device_model>.
I’ve added the issue to the Github issue tracker. Feel free to submit data there.
Also 2024.1 added ‘valve’ types. I think the valve can be switched in the UI, but I should switch it in the code as well sometime.
Hi everyone,
Did anyone tested the scheduled bypass with the app ?
My system doesn’t support it, though it does support ‘timed bypass’. You could set up an automation schedule in HA to trigger bypass on/off or trigger a timed bypass.
Same! I would love to have HA integration support for this.
Hello,
I can’t connect, I get a “Something unknown happened” error.
What should I do?