Michsior14 / ha-venta

Home assistant integration for Venta devices
MIT License
11 stars 6 forks source link

Venta AH902 not working properly #44

Closed Bloodpack closed 1 week ago

Bloodpack commented 1 week ago

Describe the bug Can´t get my Venta AH902 to work

To Reproduce Steps to reproduce the behavior:

  1. Go to Inegrations
  2. Click on add new integration
  3. Scroll down to set IP and API version V0
  4. Press Accept on the Venta AH902 device

Homeassistant webui gets unresponisve and i get the entrys in LOG below

Screenshots here my Venta Home APP

Screenshot_20241025_182313

here firmware version

Screenshot_20241025_182321

in the integrations it seems to be correct

Venta

Versions (please complete the following information):

Additional context this is from the Homeassitant LOG

Logger: custom_components.venta.venta_strategy
Quelle: custom_components/venta/venta_strategy.py:213
Integration: Venta (Dokumentation, Probleme)
Erstmals aufgetreten: 18:47:11 (2 Vorkommnisse)
Zuletzt protokolliert: 18:48:00

Malformed response from 192.168.178.209 on port 48000: None

here another entry from the LOG


Logger: custom_components.venta.venta
Quelle: helpers/update_coordinator.py:354
Integration: Venta (Dokumentation, Probleme)
Erstmals aufgetreten: 18:47:11 (4 Vorkommnisse)
Zuletzt protokolliert: 18:51:03

Unexpected error fetching venta data
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/venta/venta.py", line 266, in _async_update_data
    return await self.api.async_update()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/venta/venta.py", line 245, in async_update
    return await self.device.status()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/venta/venta.py", line 190, in status
    return await self._map_data(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/venta/venta.py", line 225, in _map_data
    header=data.get("Header", {}),
           ^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'get'

and another LOG

Logger: custom_components.venta.venta_strategy
Quelle: custom_components/venta/venta_strategy.py:181
Integration: Venta (Dokumentation, Probleme)
Erstmals aufgetreten: 19:09:34 (1 Vorkommnisse)
Zuletzt protokolliert: 19:09:34

Timeout (30 second(s)) waiting for a response after sending 'GET /Complete\nContent-Length: 103\n{"Header":{"Hash":"-42","DeviceName":"HomeAssistant","DeviceType":12,"MacAddress":"f8:f0:05:a7:4c:31"}}' to 192.168.178.209 on port 48000

and another LOG


Logger: custom_components.venta.venta_strategy
Quelle: custom_components/venta/venta_strategy.py:158
Integration: Venta (Dokumentation, Probleme)
Erstmals aufgetreten: 19:08:01 (1 Vorkommnisse)
Zuletzt protokolliert: 19:08:01

Socket error while connection to 192.168.178.209 on port 48000: timed out
Michsior14 commented 1 week ago

Timeouts seems to be a common problem for Venta devices in my experience. You could try to move the device to the place where the WiFi signal is better. For emtpy responses I will try to prepare a fix.

Bloodpack commented 1 week ago

@Michsior14 Thanks for your response

WiFi signal should not be a Problem, my Venta device sits around 3 meters from my WiFi AP

Screenshot 2024-10-26 121814

Michsior14 commented 1 week ago

~Please try v0.8.1-beta.0 release ;)~ Ups, not yet. I borked imports :/

For the timeouts you can try to specify higher timeout value in the config, also since you are using Unifi, make sure you have a good network setup for IOT devices - sometimes the graphs/info do not properly reflect problems (on U6 Enterprise especially, at least for me).

Michsior14 commented 1 week ago

Give a try v0.8.1-beta.1

Bloodpack commented 1 week ago

Give a try v0.8.1-beta.1

Thanks for your help

i am not home at the moment, i will try in a couple of hours and report back

Bloodpack commented 1 week ago

@Michsior14

i have remoted into my Homeassistant, updatet to the v0.8.1-beta.1 restarted Homeassistant and now i get this error

Logger: custom_components.venta.venta_strategy
Quelle: custom_components/venta/venta_strategy.py:234
Integration: Venta (Dokumentation, Probleme)
Erstmals aufgetreten: 15:01:58 (2 Vorkommnisse)
Zuletzt protokolliert: 15:01:58

Unable to parse payload from 192.168.178.209 on port 48000: 'RawJSONDecoder' object is not callable
Logger: homeassistant.components.binary_sensor
Quelle: helpers/entity_platform.py:595
Integration: Binärsensor (Dokumentation, Probleme)
Erstmals aufgetreten: 15:02:00 (4 Vorkommnisse)
Zuletzt protokolliert: 15:11:56

Error adding entity None for domain binary_sensor with platform venta
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 595, in _async_add_entities
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 767, in _async_add_entity
    device = dev_reg.async_get(self.hass).async_get_or_create(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 790, in async_get_or_create
    connections = _normalize_connections(connections)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 1493, in _normalize_connections
    (key, format_mac(value)) if key == CONNECTION_NETWORK_MAC else (key, value)
          ^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 444, in format_mac
    if len(to_test) == 17 and to_test.count(":") == 5:
       ^^^^^^^^^^^^
TypeError: object of type 'NoneType' has no len()

Beta

Venta Beta

Michsior14 commented 1 week ago

Yeah my fault again, should have test a bit more the changes for tcp strategy. Please check the latest.

Bloodpack commented 1 week ago

the entities are now shown and available

but in the homeassistant log there is this entry

Logger: custom_components.venta.venta_strategy
Quelle: custom_components/venta/venta_strategy.py:219
Integration: Venta (Dokumentation, Probleme)
Erstmals aufgetreten: 16:03:10 (1 Vorkommnisse)
Zuletzt protokolliert: 16:03:10

Malformed response from 192.168.178.209 on port 48000:
2024-10-26 16:07:54.612 DEBUG (MainThread) [custom_components.venta.venta] Polling Venta device: 192.168.178.209
2024-10-26 16:08:09.577 DEBUG (MainThread) [custom_components.venta.venta_strategy] Receive payload from 192.168.178.209 on port 48000: 
2024-10-26 16:08:09.578 ERROR (MainThread) [custom_components.venta.venta_strategy] Malformed response from 192.168.178.209 on port 48000: 
2024-10-26 16:08:09.578 DEBUG (MainThread) [custom_components.venta.venta] Finished fetching venta data in 14.966 seconds (success: True)
2024-10-26 16:08:19.612 DEBUG (MainThread) [custom_components.venta.venta] Polling Venta device: 192.168.178.209
2024-10-26 16:08:19.647 DEBUG (MainThread) [custom_components.venta.venta_strategy] Receive payload from 192.168.178.209 on port 48000: OK /Complete
Content-Length: 742

{"Header":{"DeviceType":12,"MacAdress":"f8:f0:05:a7:4c:31","Hash":"-42","Error":0,"DeviceName":""},"Action":{"Power":true,"FanSpeed":2,"TargetHum":50,"Timer":0,"Boost":false,"SleepMode":false,"ChildLock":false,"Automatic":false,"SysLanguage":0,"CleanLanguage":1,"TempUnit":0,"DisplayLeft":0,"DisplayRight":0,"Reset":0,"ConINet":0,"DelUser":false,"FiltLifetime":52800},"Info":{"SWDisplay":"V1.000","SWPower":"V1.001","SWTouch":"V1.3.0","SWWIFI":"V19.4.8","CleanMode":false,"RelState":[true,false,false,false],"TimerT":0,"OperationT":314071,"DiscIonT":7356,"CleaningT":33839,"FilterT":3676,"ServiceT":3302,"UVCOnT":0,"UVCOffT":698,"CleaningR":0,"Warnings":0},"Measure":{"Temperature":24.1,"Humidity":62.2,"Dust":22,"WaterLevel":3,"FanRpm":800}}
2024-10-26 16:08:19.647 DEBUG (MainThread) [custom_components.venta.venta] Finished fetching venta data in 0.036 seconds (success: True)
2024-10-26 16:08:29.612 DEBUG (MainThread) [custom_components.venta.venta] Polling Venta device: 192.168.178.209
2024-10-26 16:08:29.627 DEBUG (MainThread) [custom_components.venta.venta_strategy] Receive payload from 192.168.178.209 on port 48000: OK /Complete
Content-Length: 742

{"Header":{"DeviceType":12,"MacAdress":"f8:f0:05:a7:4c:31","Hash":"-42","Error":0,"DeviceName":""},"Action":{"Power":true,"FanSpeed":2,"TargetHum":50,"Timer":0,"Boost":false,"SleepMode":false,"ChildLock":false,"Automatic":false,"SysLanguage":0,"CleanLanguage":1,"TempUnit":0,"DisplayLeft":0,"DisplayRight":0,"Reset":0,"ConINet":0,"DelUser":false,"FiltLifetime":52800},"Info":{"SWDisplay":"V1.000","SWPower":"V1.001","SWTouch":"V1.3.0","SWWIFI":"V19.4.8","CleanMode":false,"RelState":[true,false,false,false],"TimerT":0,"OperationT":314071,"DiscIonT":7356,"CleaningT":33839,"FilterT":3676,"ServiceT":3302,"UVCOnT":0,"UVCOffT":698,"CleaningR":0,"Warnings":0},"Measure":{"Temperature":24.2,"Humidity":62.2,"Dust":22,"WaterLevel":3,"FanRpm":800}}
2024-10-26 16:08:29.627 DEBUG (MainThread) [custom_components.venta.venta] Finished fetching venta data in 0.016 seconds (success: True)
2024-10-26 16:08:39.631 DEBUG (MainThread) [custom_components.venta.venta] Polling Venta device: 192.168.178.209
2024-10-26 16:08:39.662 DEBUG (MainThread) [custom_components.venta.venta_strategy] Receive payload from 192.168.178.209 on port 48000: OK /Complete
Content-Length: 742

{"Header":{"DeviceType":12,"MacAdress":"f8:f0:05:a7:4c:31","Hash":"-42","Error":0,"DeviceName":""},"Action":{"Power":true,"FanSpeed":2,"TargetHum":50,"Timer":0,"Boost":false,"SleepMode":false,"ChildLock":false,"Automatic":false,"SysLanguage":0,"CleanLanguage":1,"TempUnit":0,"DisplayLeft":0,"DisplayRight":0,"Reset":0,"ConINet":0,"DelUser":false,"FiltLifetime":52800},"Info":{"SWDisplay":"V1.000","SWPower":"V1.001","SWTouch":"V1.3.0","SWWIFI":"V19.4.8","CleanMode":false,"RelState":[true,false,false,false],"TimerT":0,"OperationT":314071,"DiscIonT":7356,"CleaningT":33839,"FilterT":3676,"ServiceT":3302,"UVCOnT":0,"UVCOffT":698,"CleaningR":0,"Warnings":0},"Measure":{"Temperature":24.2,"Humidity":62.2,"Dust":21,"WaterLevel":3,"FanRpm":800}}
2024-10-26 16:08:39.663 DEBUG (MainThread) [custom_components.venta.venta] Finished fetching venta data in 0.032 seconds (success: True)
Michsior14 commented 1 week ago

Hmm so the device just responds with empty body for some reason. I guess we could just skip errors in such cases as there is no much we could do about it.

Bloodpack commented 1 week ago

here when the error appears the entities are switching to NOT AVAILABLE and the Homeassistant WebUI gets unresponsive

Unbekannt

Michsior14 commented 1 week ago

Is it temporary (device "off" and in a few seconds "on") or permanent? Out of curiosity did you try to set bigger timeout?

Bloodpack commented 1 week ago

it is temporary usually 5 to 10 sec.

you mean the refreshintervall?

refresh

i´ll set it to 20 sec and report back

Bloodpack commented 1 week ago

@Michsior14

now it becomes unavailable and and device "off" and "on" every 20 to 30 sec

Michsior14 commented 1 week ago

Could you try to install this venta-0.8.1-debug.zip (manually unzip in the custom_components folder) and check if the issues still persists? It's not perfect by any means (doesn't solve the issue itself), but should remedy the situation.

Bloodpack commented 1 week ago

sorry to ask but how install this .zip version?

Michsior14 commented 1 week ago

You just need to put the content of the zip directly inside of the custom_components folder in the root of your ha installation. You can use i.e. Samba Share addon (available in the add-on store under official section) or scp if you have ssh access.

Bloodpack commented 1 week ago

done and restarted Homeassistant

now it is not working at all entities are all unavailable

Logger: homeassistant.components.binary_sensor
Quelle: helpers/entity_platform.py:595
Integration: Binärsensor ([Dokumentation](https://www.home-assistant.io/integrations/binary_sensor), [Probleme](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+binary_sensor%22))
Erstmals aufgetreten: 18:11:56 (2 Vorkommnisse)
Zuletzt protokolliert: 18:11:56
Error adding entity None for domain binary_sensor with platform venta

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 595, in _async_add_entities
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 767, in _async_add_entity
    device = dev_reg.async_get(self.hass).async_get_or_create(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 790, in async_get_or_create
    connections = _normalize_connections(connections)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 1493, in _normalize_connections
    (key, format_mac(value)) if key == CONNECTION_NETWORK_MAC else (key, value)
          ^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 444, in format_mac
    if len(to_test) == 17 and to_test.count(":") == 5:
       ^^^^^^^^^^^^
TypeError: object of type 'NoneType' has no len()
Logger: homeassistant.components.sensor
Quelle: helpers/entity_platform.py:595
Integration: Sensor ([Dokumentation](https://www.home-assistant.io/integrations/sensor), [Probleme](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22))
Erstmals aufgetreten: 18:11:56 (15 Vorkommnisse)
Zuletzt protokolliert: 18:11:56
Error adding entity None for domain sensor with platform venta

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 595, in _async_add_entities
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 767, in _async_add_entity
    device = dev_reg.async_get(self.hass).async_get_or_create(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 790, in async_get_or_create
    connections = _normalize_connections(connections)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 1493, in _normalize_connections
    (key, format_mac(value)) if key == CONNECTION_NETWORK_MAC else (key, value)
          ^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/device_registry.py", line 444, in format_mac
    if len(to_test) == 17 and to_test.count(":") == 5:
       ^^^^^^^^^^^^
TypeError: object of type 'NoneType' has no len()
Logger: homeassistant.components.select
Quelle: helpers/entity_platform.py:361
Integration: Auswahl ([Dokumentation](https://www.home-assistant.io/integrations/select), [Probleme](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+select%22))
Erstmals aufgetreten: 18:10:50 (1 Vorkommnisse)
Zuletzt protokolliert: 18:10:50
Error while setting up venta platform for select

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 361, in _async_setup_platform
    await asyncio.shield(awaitable)
  File "/config/custom_components/venta/select.py", line 79, in async_setup_entry
    if description.exists_func(coordinator)
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/venta/select.py", line 54, in <lambda>
    exists_func=lambda coordinator: coordinator.data.action.get("LEDStripMode")
                                    ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'action'
Logger: homeassistant.components.light
Quelle: helpers/entity_platform.py:361
Integration: Leuchte ([Dokumentation](https://www.home-assistant.io/integrations/light), [Probleme](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+light%22))
Erstmals aufgetreten: 18:10:50 (1 Vorkommnisse)
Zuletzt protokolliert: 18:10:50
Error while setting up venta platform for light

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 361, in _async_setup_platform
    await asyncio.shield(awaitable)
  File "/config/custom_components/venta/light.py", line 44, in async_setup_entry
    if coordinator.data.action.get("LEDStrip") is None:
       ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'action'
Logger: homeassistant.components.sensor
Quelle: helpers/entity_platform.py:361
Integration: Sensor ([Dokumentation](https://www.home-assistant.io/integrations/sensor), [Probleme](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22))
Erstmals aufgetreten: 18:10:50 (1 Vorkommnisse)
Zuletzt protokolliert: 18:10:50
Error while setting up venta platform for sensor

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 361, in _async_setup_platform
    await asyncio.shield(awaitable)
  File "/config/custom_components/venta/sensor.py", line 398, in async_setup_entry
    if description.exists_func(coordinator)
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/venta/sensor.py", line 92, in <lambda>
    coordinator.data.info.get("DiscIonT") is not None
    ^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'info'
Logger: homeassistant.components.humidifier
Quelle: helpers/entity_platform.py:361
Integration: Luftbefeuchter ([Dokumentation](https://www.home-assistant.io/integrations/humidifier), [Probleme](https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+humidifier%22))
Erstmals aufgetreten: 18:10:50 (1 Vorkommnisse)
Zuletzt protokolliert: 18:10:50
Error while setting up venta platform for humidifier

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 361, in _async_setup_platform
    await asyncio.shield(awaitable)
  File "/config/custom_components/venta/humidifier.py", line 57, in async_setup_entry
    if coordinator.data.action.get("TargetHum") is None:
       ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'action'
Michsior14 commented 1 week ago

Let's see with this one: venta-0.8.1-debug.1.zip

Bloodpack commented 1 week ago

no more errors in the LOG

but same unavailable and webui unreponsive

1

Michsior14 commented 1 week ago

Yeah, the starting unavailable status won't be fixed, but at least is shouldn't be off and on every 30s. If you have any idea why and how to resolve it feel free to create the PR. Unfortunately my abilities are limited as I don't own any TCP (v0) protocol based devices.

Bloodpack commented 1 week ago

Thanks for your time and help!

The problem is that the webui gets reconnected when the device gets unavailabale

Now the device gets unavailable when i make changes to for example the humidity and does not submit the change.

I´ll unistall for now and wait maybe somone else with a bit more knowlege can have a look, i am a total noob and can´t really help

Michsior14 commented 1 week ago

Those UI hangs are strange. I've never experienced anything like this to be honest.

Michsior14 commented 1 week ago

This got me thinking and I've found that sockets are indeed blocking, strange that HA does not show this as error. Could you test 2 more builds?

Socket replaced with asyncio: venta-0.8.1-asyncio.3.zip Asyncio wrapped: venta-0.8.1-debug.2.zip

Bloodpack commented 1 week ago

oh man i am sorry to make you work a lot on this today.......

which one should i try?

EDIT:

LOL i did not see that i should test both

Bloodpack commented 1 week ago

unfortunately no change

no errors in LOG

venta-0.8.1-asyncio.3.zip if i change the for example the humidity all the entities are getting unavailable but the humidity does not get changed

1

venta-0.8.1-debug.2.zip the same if i change the for example the humidity all the entities are getting unavailable but the humidity does not get changed

2

Michsior14 commented 1 week ago

Does it still hang the whole page?

Bloodpack commented 1 week ago

Does it still hang the whole page?

Negative the WebUI does not hang anymore

Michsior14 commented 1 week ago

Great, then the other problem should be fixable. Let me have a look.

Bloodpack commented 1 week ago

i might know why i can´t set the humidity...

i tried to increase it in 1% but the Venta AH902 just can increase the humidity by 5% at a time if i increase it by 5% it works but it does not work really good with the slider

is it possible from your side to set the humidity increasing for the Venta AH902 to 5%

also i have noticed that my Venta AH902 has 5 Fan speeds but in Homeassistant i only can set 3

fan

Michsior14 commented 1 week ago

I am currently working on the per device separation of all entities. So yes this will be available in the future ;)

Bloodpack commented 1 week ago

Thank you very much for your time!

if you need more data or want me to try new versions etc. let me know

Michsior14 commented 1 week ago

Please check this one: venta-0.8.1-debug.4.zip, hopefully actions won't trigger undefined states anymore ;)

Bloodpack commented 1 week ago

WOW no undefined states anymore!!! I can make changes now without the undefined states

You are great Thank You

Bloodpack commented 1 week ago

updated to the new release 0.8.1 > all working fine

Thank you

Michsior14 commented 1 week ago

Unfortunately the 5% steps are impossible at the moment as such a setting is not available in the home assistant. But some new sensors should be available now :)

Bloodpack commented 1 week ago

@Michsior14

Updated to latest Version Thanks

Lots of new sensors but the PM 2.5 sensor is gone....

The 5 Fan speeds are now there and working correctly

Screenshot_20241027-181521_Home Assistant Screenshot_20241027-181513_Home Assistant

Michsior14 commented 1 week ago

Ah right, I've removed those sensors as they weren't mentioned in Venta documentation (for this unit) I've got. Will add them later on :)

Bloodpack commented 1 week ago

Thank you

Michsior14 commented 1 week ago

I have one favor though, could you enable the debug mode for the integration and post the successful response to action/status refresh? Would help to see how much the response differs from the documentation.

Bloodpack commented 1 week ago

Unfortunately at the moment i can't provide a debug.log because i am not @ home and on the mobile phone i can not download the debug.log

I'll send it tomorrow Maybe this helps for the moment

Logger: homeassistant.components.websocket_api.http.connection
Quelle: components/websocket_api/commands.py:245
Integration: Home Assistant WebSocket API (Dokumentation, Probleme)
Erstmals aufgetreten: 18:21:50 (6 Vorkommnisse)
Zuletzt protokolliert: 18:39:54

[140030052495664] Unexpected exception
[140029665711664] Unexpected exception
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2761, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2804, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 996, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1068, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/config/custom_components/venta/venta_entity.py", line 190, in async_set_mode
    await self._send_action(action)
  File "/config/custom_components/venta/venta_entity.py", line 175, in _send_action
    await self._device.action(self._map_to_action(data), self.coordinator)
  File "/config/custom_components/venta/venta.py", line 219, in action
    await coordinator.async_request_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 265, in async_request_refresh
    await self._debounced_refresh.async_call()
  File "/usr/src/homeassistant/homeassistant/helpers/debounce.py", line 114, in async_call
    await task
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 330, in async_refresh
    await self._async_refresh(log_failures=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 533, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
    self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 636, in state
    raise ValueError(
ValueError: Sensor sensor.venta_ah902_wasserstand provides state value '3', which is not in the list of options provided
Logger: homeassistant
Quelle: components/sensor/__init__.py:636
Erstmals aufgetreten: 18:12:49 (163 Vorkommnisse)
Zuletzt protokolliert: 18:40:14

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 533, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
    self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 636, in state
    raise ValueError(
ValueError: Sensor sensor.venta_ah902_wasserstand provides state value '3', which is not in the list of options provided
Bloodpack commented 1 week ago

Sorry for the bodged code section but github is a pain from the phone

Michsior14 commented 1 week ago

The error should be fixed and the missing sensor back ;)

Bloodpack commented 1 week ago

@Michsior14

hello and thanks for the update, the PM sensor is working fine now

there are 5 sensors not working

4

in the logs i see now these errors

debug:log home-assistant_venta_2024-10-28T05-09-22.107Z.log

in the webui this message gets shown when i try to change the humidity

TRANSLATION: This action humidifier/set_humidity could not be executed. sensor.venta_ah902_waterlevel provides state value "3" which is not in the list of options provided

3


Logger: homeassistant
Quelle: components/sensor/__init__.py:636
Erstmals aufgetreten: 05:57:49 (28 Vorkommnisse)
Zuletzt protokolliert: 06:02:25

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 533, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
    self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 636, in state
    raise ValueError(
ValueError: Sensor sensor.venta_ah902_wasserstand provides state value '3', which is not in the list of options provided
Logger: homeassistant.components.websocket_api.http.connection
Quelle: components/websocket_api/commands.py:245
Integration: Home Assistant WebSocket API (Dokumentation, Probleme)
Erstmals aufgetreten: 05:59:45 (1 Vorkommnisse)
Zuletzt protokolliert: 05:59:45

[140619742278512] Unexpected exception
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service
    response = await hass.services.async_call(
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2761, in async_call
    response_data = await coro
                    ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 2804, in _execute_service
    return await target(service_call)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 996, in entity_service_call
    single_response = await _handle_entity_call(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1068, in _handle_entity_call
    result = await task
             ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/humidifier/__init__.py", line 315, in async_service_humidity_set
    await entity.async_set_humidity(humidity)
  File "/config/custom_components/venta/venta_entity.py", line 152, in async_set_humidity
    await self._send_action({"TargetHum": humidity})
  File "/config/custom_components/venta/venta_entity.py", line 175, in _send_action
    await self._device.action(self._map_to_action(data), self.coordinator)
  File "/config/custom_components/venta/venta.py", line 219, in action
    await coordinator.async_request_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 265, in async_request_refresh
    await self._debounced_refresh.async_call()
  File "/usr/src/homeassistant/homeassistant/helpers/debounce.py", line 114, in async_call
    await task
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 330, in async_refresh
    await self._async_refresh(log_failures=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 533, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
    self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 636, in state
    raise ValueError(
ValueError: Sensor sensor.venta_ah902_wasserstand provides state value '3', which is not in the list of options provided

Logger: homeassistant.components.sensor
Quelle: helpers/entity_platform.py:595
Integration: Sensor (Dokumentation, Probleme)
Erstmals aufgetreten: 05:57:39 (1 Vorkommnisse)
Zuletzt protokolliert: 05:57:39

Error adding entity sensor.venta_ah902_wasserstand for domain sensor with platform venta
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 595, in _async_add_entities
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 909, in _async_add_entity
    await entity.add_to_platform_finish()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1366, in add_to_platform_finish
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
    self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 636, in state
    raise ValueError(
ValueError: Sensor sensor.venta_ah902_wasserstand provides state value '3', which is not in the list of options provided

Logger: homeassistant.components.sensor
Quelle: components/sensor/__init__.py:569
Integration: Sensor (Dokumentation, Probleme)
Erstmals aufgetreten: 05:57:39 (1 Vorkommnisse)
Zuletzt protokolliert: 05:57:39

Entity sensor.venta_ah902_wasserstand (<class 'custom_components.venta.venta_entity.VentaSensor'>) is using state class 'measurement' which is impossible considering device class ('enum') it is using; expected None; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/Michsior14/ha-venta/issues
Michsior14 commented 1 week ago

Sorry, those options gets me every single time :/ Should be fine now. Regarding some not defined sensors, might be that this particular model never really supported them, but just due to previous "general" implementation they were showed. We could check that once you provide the debug log from the device response.

Bloodpack commented 1 week ago

Updated to the latest version, errors are gone!

I did upload a debug.log in my previous post right after the first picture....

I can upload another debug.log no problem!

Can you tell me what i have to do in order to get you the data you need in the log?

looks this right? home-assistant_venta_2024-10-28T10-58-19.742Z.log

Michsior14 commented 1 week ago

Ah sorry did miss the file in previous comment, but I can confirm all states are correct. You can remove the grayed out sensors.

In the next days I will also try to add relay states as now having the proper structure (thanks to your logs) it seems easy.

Bloodpack commented 1 week ago

Cool Thanks, i did remove the sensors

Bloodpack commented 3 days ago

Hello @Michsior14,

sorry to bother you again.....

i have filled up the water yesterday and now i am getting this error in the LOG´s

Logger: homeassistant.components.sensor
Quelle: helpers/entity_platform.py:595
Integration: Sensor (Dokumentation, Probleme)
Erstmals aufgetreten: 08:50:14 (1 Vorkommnisse)
Zuletzt protokolliert: 08:50:14

Error adding entity sensor.venta_ah902_wasserstand for domain sensor with platform venta
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 595, in _async_add_entities
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 909, in _async_add_entity
    await entity.add_to_platform_finish()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1366, in add_to_platform_finish
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
    self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 636, in state
    raise ValueError(
ValueError: Sensor sensor.venta_ah902_wasserstand provides state value '4', which is not in the list of options provided
Logger: homeassistant
Quelle: components/sensor/__init__.py:636
Erstmals aufgetreten: 08:50:24 (25 Vorkommnisse)
Zuletzt protokolliert: 08:54:24

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 258, in _handle_refresh_interval
    await self._async_refresh(log_failures=True, scheduled=True)
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 453, in _async_refresh
    self.async_update_listeners()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 168, in async_update_listeners
    update_callback()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 533, in _handle_coordinator_update
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1005, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1130, in _async_write_ha_state
    self.__async_calculate_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1067, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1011, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 636, in state
    raise ValueError(
ValueError: Sensor sensor.venta_ah902_wasserstand provides state value '4', which is not in the list of options provided

also the sensor for the water level seems to be not working anymore, was working before i refilled the water.....

venta