-
Notifications
You must be signed in to change notification settings - Fork 533
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request support for HRV KCvents VT501-W #1349
Comments
The way this device splits its settings across multiple dps makes it difficult to support, unless that rather dipswitch like control interface is just simply copied instead of trying to integrate it as native Home Assistant entities.. |
Dps 108 and 109 are just temp. and hum. sensors. Others are like dipswitches - on/off. Global switch - id 1, others are speed, vent. modes. And probably if you set "code": "speed_three" - to true, then other speeds become false. |
I would also welcome the support of the HRV KCvents and have tried my hand at a device configuration. Due to this special distribution to individual dipswitches, I was unable to work out a nice solution. @make-all: are you planning to support this special behavior at some point or have I overlooked how to do it? It would need something like that:
Without this functionality, the device would look like this (ugly, but works in general): |
No, I don't have any plan to cater to this type of multi-boolean instead of integer encoding in the short-medium term. |
Thank you for your feedback. I will test a little more and open a pull request in the next few days. |
I might suggest instead of Speed 0,1,2,3, you could use Speed 1, 2, 4, 8 which gives some hint that you can add them to create speeds up to 15. |
No, unfortunately it is not the case that the fan offers 15 levels. It only has 3 levels (33%, 67%, 100%) and the sleep mode (0%). However, I have seen in the meantime that the device overwrites the other modes in sleep mode and sets the bit at 33% for speed. |
In that case you might be able to use value_redirect to chain the values. I thought they had to be all added, which would make it impossible with the current capabilities of the integration. Something like: - id: 101
type: boolean
name: speed
mapping:
- dps_val: true
value: 33
- dps_val: false
value_redirect: speed2
- id: 102
type: boolean
name: speed2
mapping:
- dps_val: true
value: 66
- dps_val: false
value_redirect: speed3
- id: 103
type: boolean
name: speed3
mapping:
- dps_val: true
value: 100
- dps_val: false
value: 0 I'm not 100% sure this will work, as I haven't chained value_redirects in any previous config, but if it does it might allow a better interface (a fan entity rather than a group of switches) |
Thanks for the suggestion. It correctly shows the speed in HomeAssistant when I set it in the app. However, it is not possible to control the speed from HomeAssistant. Do you see any other solution with more options? Or would the options 66% and 100% already have to be “announced” in ID 101? Unfortunately, it's my only fan in my system, so I don't have a working example to make comparisons. But perhaps interesting: in the developer tools it shows the attribute “percentage_step: 100”. Shouldn't that be set to 33% for the 3 possible states? |
Maybe they need to be announced in the speed dp, as you say. I don't know if it will be possible to do this, as using dummy values will lead to incorrect behaviour. The current code only really deals with two linked dps, any more just makes things exponentially more complex so I didn't implement it. |
I'll play around a bit and get back to you as soon as I have time. But thank you very much so far. |
The following seems to work:
Is there anything against it? If not, I would do the same for the modes during the next week. |
If it works and does not result in the dummy values being sent to the device when setting any of the options (which might cause problems), then it should be OK. |
Log Message
DPS: {"1": true, "101": false, "102": true, "103": false, "104": false, "105": false, "106": false, "107": false, "108": 778, "109": 158, "111": false, "112": false, "113": true}
``` 2023-11-27 14:59:23.180 WARNING (MainThread) [custom_components.tuya_local.config_flow] Device matches sh07_sprinkler_controller with quality of 54%. DPS: {"updated_at": 1701086357.0082805, "1": true, "101": false, "102": true, "103": false, "104": false, "105": false, "106": false, "107": false, "108": 778, "109": 158, "111": false, "112": false, "113": true} 2023-11-27 14:59:23.181 WARNING (MainThread) [custom_components.tuya_local.config_flow] Report this to https://github.com/make-all/tuya-local/issues/ 2023-11-27 15:16:24.371 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"108": 662, "full_poll": false} 2023-11-27 15:16:26.846 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch new pending updates: {"1": {"value": false, "updated_at": 1701087386.8463442, "sent": false}} 2023-11-27 15:16:26.851 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch sending dps update: {"1": false} 2023-11-27 15:16:26.976 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"1": false, "full_poll": true} 2023-11-27 15:16:27.093 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"1": false, "101": false, "102": true, "103": false, "104": false, "105": false, "106": false, "107": false, "108": 662, "109": 183, "111": false, "112": false, "113": true, "full_poll": false} 2023-11-27 15:16:27.208 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"113": false, "full_poll": false} 2023-11-27 15:16:27.324 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"102": false, "full_poll": false} 2023-11-27 15:16:27.554 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"108": 650, "full_poll": false} 2023-11-27 15:16:29.585 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch new pending updates: {"1": {"value": true, "updated_at": 1701087389.5852993, "sent": false}} 2023-11-27 15:16:29.593 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch sending dps update: {"1": true} 2023-11-27 15:16:29.725 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"1": true, "full_poll": true} 2023-11-27 15:16:29.849 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"1": true, "101": false, "102": false, "103": false, "104": false, "105": false, "106": false, "107": false, "108": 650, "109": 183, "111": false, "112": false, "113": false, "full_poll": false} 2023-11-27 15:16:29.968 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"113": true, "full_poll": false} 2023-11-27 15:16:30.088 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"102": true, "full_poll": false} 2023-11-27 15:16:30.544 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"108": 641, "full_poll": false} 2023-11-27 15:16:33.540 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"108": 636, "full_poll": false} 2023-11-27 15:16:33.658 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"109": 184, "full_poll": false} 2023-11-27 15:16:36.633 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"108": 628, "full_poll": false} 2023-11-27 15:16:36.754 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"109": 183, "full_poll": false} 2023-11-27 15:16:39.722 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"108": 614, "full_poll": false} 2023-11-27 15:16:42.792 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"108": 598, "full_poll": false} 2023-11-27 15:16:45.790 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"108": 584, "full_poll": false} 2023-11-27 15:16:48.872 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"108": 574, "full_poll": false} 2023-11-27 15:16:51.957 DEBUG (MainThread) [custom_components.tuya_local.device] Simple switch received {"108": 567, "full_poll": false} ```Information about DPS mappings
Product ID
The text was updated successfully, but these errors were encountered: