-
-
Notifications
You must be signed in to change notification settings - Fork 34.5k
Description
The problem
When operating the integration for vesync with the Levoit 6000S LEH-S601S-WUS humidifier, the integration will pull a mist level value from the API like expected, but targets the incorrect one for indicating the current fan speed.
The issue is the device has two mist level attributes:
mist_level - indicates the mist level displayed on the three LED's of the physical display. Ranges from 1 to 3.
mist_virtual_level - holds the internal value of the device's fan speed. Ranges from 1 to 9.
The mist level pulled by the integration is the mist_level, though the functionality regarding setting the fan speed works the same. Sending a value of any value 1 to 9 through the normal "number.set_value" to mist_level will correctly set the internal speed, then the mist_level will report back the converted setting for the LED's. (ex, sending 9 will set the fan speed to 9 then return 3. 7 will return 3. 5 will return 2. etc.)
What version of Home Assistant Core has the issue?
core-2025.2.5
What was the last working version of Home Assistant Core?
core-2025.2.5
What type of installation are you running?
Home Assistant Supervised
Integration causing the issue
VeSync
Link to integration documentation on our website
https://www.home-assistant.io/integrations/vesync/#humidifiers
Diagnostics information
vesync-01JB5TY72A0SW5SE6W11VT6QH4-Humidifier-ec8222256fd30c07d9a0b88bf57b86e8.json
Example YAML snippet
I currently use a simple helper "input_number.humidifier_virtual_mist_level" to hold my intended mist level and a bridge to keep it updated for use with my PID controller.
input_number:
humidifier_virtual_mist_level:
name: "Virtual Mist Level"
initial: 1
min: 1
max: 9
step: 1
mode: slider
- id: humidifier_mist_level_bridge
alias: Humidifier Virtual to Device Mist Level Bridge
initial_state: "off"
trigger:
- platform: state
entity_id: input_number.humidifier_virtual_mist_level
action:
- variables:
device: "{{ states('number.humidifier_mist_level') | float }}"
virtual: "{{ states('input_number.humidifier_virtual_mist_level') | float }}"
- condition: template
value_template: "{{ device != virtual }}"
- service: number.set_value
target:
entity_id: number.humidifier_mist_level
data:
value: "{{ virtual }}"
Anything in the logs that might be useful for us?
Additional information
If it helps, here is a quick screenshot of the history data comparing the integration's number.mist_level entity to the fan speed entity managed by my controller.
https://imgur.com/a/Cfws8Vn