Use numeric AC fan modes

This commit is contained in:
ltadeu6 2026-05-17 15:00:02 -03:00
parent e394d03175
commit 36d838ca86
2 changed files with 9 additions and 8 deletions

View file

@ -620,7 +620,8 @@ Estado atual:
- Entre 23 C e 28 C, o script usa pulsos planejados de `cool` com setpoint 22 C por ate 15 minutos, depois volta para `dry` por ate 40 minutos.
- Acima de 28 C, o script nunca aquece; usa `cool` com setpoint 23 C por ate 20 minutos e depois `dry`.
- O tempo maximo de execucao e 6 horas; ao expirar, o script desliga `climate.ar` e desliga `input_boolean.secar_roupas`.
- Fan mode e definido apenas se o valor existir em `state_attr('climate.ar', 'fan_modes')`; tenta `medium`/`high` e cai para `auto`.
- Fan mode e definido apenas se o valor existir em `state_attr('climate.ar', 'fan_modes')`; a integracao atual aceita niveis numericos `1..5`.
- O script usa fan `3` no `dry`, fan `4` no `cool` e fan `5` no `heat`, sempre com fallback para um nivel abaixo.
Cuidados:

View file

@ -37,7 +37,7 @@ let
conditions = [{
condition = "template";
value_template =
"{{ '${preferred}' in (state_attr('${haAirConditioner}', 'fan_modes') or []) }}";
"{{ '${preferred}' in ((state_attr('${haAirConditioner}', 'fan_modes') or []) | map('string') | list) }}";
}];
sequence = [ (haSetFanMode preferred) ];
}
@ -45,7 +45,7 @@ let
conditions = [{
condition = "template";
value_template =
"{{ '${fallback}' in (state_attr('${haAirConditioner}', 'fan_modes') or []) }}";
"{{ '${fallback}' in ((state_attr('${haAirConditioner}', 'fan_modes') or []) | map('string') | list) }}";
}];
sequence = [ (haSetFanMode fallback) ];
}
@ -53,27 +53,27 @@ let
};
haDryCycle = [
(haSetHvacMode "dry")
(haSetFanModeIfAvailable "medium" "auto")
(haSetFanModeIfAvailable "3" "2")
];
haHeatEvaporationCycle = [
(haSetHvacMode "heat")
(haSetTemperature 25)
(haSetFanModeIfAvailable "high" "auto")
(haSetFanModeIfAvailable "5" "4")
];
haHeatRecoveryCycle = [
(haSetHvacMode "heat")
(haSetTemperature 24)
(haSetFanModeIfAvailable "high" "auto")
(haSetFanModeIfAvailable "5" "4")
];
haCoolPulse = [
(haSetHvacMode "cool")
(haSetTemperature 22)
(haSetFanModeIfAvailable "medium" "auto")
(haSetFanModeIfAvailable "4" "3")
];
haHotRoomCoolPulse = [
(haSetHvacMode "cool")
(haSetTemperature 23)
(haSetFanModeIfAvailable "medium" "auto")
(haSetFanModeIfAvailable "4" "3")
];
zenExtension = shortId: guid: {
name = guid;