105 lines
2.5 KiB
Nix
105 lines
2.5 KiB
Nix
{
|
|
services.home-assistant.extraComponents = [
|
|
"daikin"
|
|
"enocean"
|
|
];
|
|
|
|
services.home-assistant.config = {
|
|
sensor = [
|
|
{
|
|
name = "Living Room Window Handle";
|
|
platform = "enocean";
|
|
id = [ 129 0 227 53 ];
|
|
device_class = "windowhandle";
|
|
}
|
|
];
|
|
"automation ac_livingroom" = {
|
|
alias = "ac_livingroom";
|
|
hide_entity = true;
|
|
trigger = {
|
|
platform = "state";
|
|
entity_id = "sensor.windowhandle_living_room_window_handle";
|
|
to = [ "open" "tilt" ];
|
|
};
|
|
action = {
|
|
service = "climate.set_hvac_mode";
|
|
target = {
|
|
entity_id = "climate.livingroom_ac";
|
|
};
|
|
data = {
|
|
hvac_mode = "off";
|
|
};
|
|
};
|
|
};
|
|
"automation ac_eco" = {
|
|
alias = "ac_eco";
|
|
hide_entity = true;
|
|
trigger = {
|
|
platform = "state";
|
|
entity_id = [
|
|
"climate.livingroom_ac"
|
|
"climate.bedroom_ac"
|
|
];
|
|
to = [
|
|
"heat"
|
|
"cold"
|
|
];
|
|
};
|
|
action = {
|
|
service = "climate.set_preset_mode";
|
|
target = {
|
|
entity_id = "{{ trigger.entity_id }}";
|
|
};
|
|
data = {
|
|
preset_mode = "eco";
|
|
};
|
|
};
|
|
};
|
|
"automation bedroom_ac_on" = {
|
|
alias = "bedroom ac on";
|
|
hide_entity = true;
|
|
trigger = {
|
|
platform = "time";
|
|
at = "00:30:00";
|
|
};
|
|
action = {
|
|
choose = [
|
|
{
|
|
conditions = [ "{{ states('sensor.bedroom_ac_inside_temperature') > 25 and states('sensor.bedroom_ac_outside_temperature') > 22 }}" ];
|
|
sequence = [
|
|
{
|
|
service = "climate.set_hvac_mode";
|
|
target = {
|
|
entity_id = "climate.bedroom_ac";
|
|
};
|
|
data = {
|
|
hvac_mode = "cold";
|
|
};
|
|
}
|
|
];
|
|
}
|
|
];
|
|
};
|
|
};
|
|
"automation bedroom_ac_off" = {
|
|
alias = "bedroom ac on";
|
|
hide_entity = true;
|
|
trigger = {
|
|
platform = "template";
|
|
value_template = ''
|
|
{{ now().timestamp() | timestamp_custom('%H:%M') == (as_timestamp(strptime(states('sensor.bedtime_alarm'), "%H:%M")) - 1800) | timestamp_custom('%H:%M', false) }}
|
|
'';
|
|
};
|
|
action = {
|
|
service = "climate.set_hvac_mode";
|
|
target = {
|
|
entity_id = "climate.bedroom_ac";
|
|
};
|
|
data = {
|
|
hvac_mode = "off";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|