{ services.home-assistant.extraComponents = [ "daikin" "enocean" ]; services.home-assistant.customComponents = [ (import ./custom-components/scheduler.nix) ]; services.home-assistant.customLovelaceModules = [ (import ./custom-components/lovelace-scheduler.nix) ]; services.home-assistant.config = { sensor = [ { name = "Living Room Window Handle 2"; platform = "enocean"; id = [ 129 0 227 53 ]; device_class = "windowhandle"; } { name = "Living Room Window Handle 1"; platform = "enocean"; id = [ 129 0 229 8 ]; device_class = "windowhandle"; } ]; "automation ac_livingroom" = { alias = "ac_livingroom"; trigger = [ { platform = "state"; entity_id = "sensor.windowhandle_living_room_window_handle_1"; to = [ "open" "tilt" ]; } { platform = "state"; entity_id = "sensor.windowhandle_living_room_window_handle_2"; to = [ "open" "tilt" ]; } ]; action = { service = "climate.set_hvac_mode"; target = { entity_id = "climate.living_room"; }; data = { hvac_mode = "off"; }; }; }; "automation ac_eco" = { alias = "ac_eco"; trigger = { platform = "state"; entity_id = [ "climate.living_room" "climate.bedroom" ]; 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"; 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"; }; data = { hvac_mode = "cold"; }; } ]; } ]; }; }; "automation bedroom_ac_off" = { alias = "bedroom ac on"; 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"; }; data = { hvac_mode = "off"; }; }; }; }; }