Issue:
In the current implementation of the hvac_action property the _is_device_activeproperty is used to decide whether the device is active or not.
But _is_device_active property only checks if the (toggle) heating entity state is OFF or ON.
When setting pwm: 0 the heating entity is considered a valve like entity which is able to accept values between 0-100 and therefore it does not have ON/OFF states. As a consequence in pwm: 0 mode the _is_device_active property returns always false -> the hvac_action is always IDLE even if the control_output is above 0 or even when it's 100.
Fix:
There is a branch added to _is_device_active to check whether we're in pwm mode or not (aka. toggle or valve device is used) and if non pwm mode then the return value of the property is based on the float value of the valve device state (ON if state > 0, OFF if state == 0).
Hello, thanks for the fix. But "inverted" is useless when state is "analog" 0/100. You should remove the ==0 option and if pm == 0, only return True if state is >0
Issue: In the current implementation of the
hvac_action
property the_is_device_active
property is used to decide whether the device is active or not. But_is_device_active
property only checks if the (toggle) heating entity state isOFF
orON
. When settingpwm: 0
the heating entity is considered a valve like entity which is able to accept values between 0-100 and therefore it does not haveON/OFF
states. As a consequence inpwm: 0
mode the_is_device_active
property returns always false -> thehvac_action
is alwaysIDLE
even if thecontrol_output
is above 0 or even when it's 100. Fix: There is a branch added to_is_device_active
to check whether we're inpwm
mode or not (aka. toggle or valve device is used) and if nonpwm
mode then the return value of the property is based on the float value of the valve device state (ON if state > 0, OFF if state == 0).