139 lines
4.1 KiB
Nix
139 lines
4.1 KiB
Nix
{
|
|
services.home-assistant.extraComponents = [
|
|
"daikin"
|
|
"enocean"
|
|
];
|
|
|
|
services.home-assistant.config = {
|
|
"automation presense kitchen" = {
|
|
alias = "presense kitchen";
|
|
mode = "restart";
|
|
trigger = {
|
|
platform = "state";
|
|
entity_id = [
|
|
"sensor.presense_kitchen"
|
|
];
|
|
};
|
|
action = [
|
|
{
|
|
choose = [
|
|
{
|
|
conditions = [ "{{ trigger.to_state.state == \"\" }}" ];
|
|
sequence = [
|
|
];
|
|
}
|
|
{
|
|
conditions = [ "{{ trigger.to_state.state != \"\" }}" ];
|
|
sequence = [
|
|
{
|
|
service = "light.turn_on";
|
|
entity_id = "light.kitchen_lights";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
}
|
|
];
|
|
};
|
|
sensor = [
|
|
{
|
|
platform = "mqtt_room";
|
|
device_id = "dominiksiphone";
|
|
name = "Dominiks iPhone";
|
|
state_topic = "espresense/devices/dominiksiphone";
|
|
timeout = 10;
|
|
away_timeout = 120;
|
|
}
|
|
{
|
|
platform = "template";
|
|
sensors = {
|
|
presense_devices = {
|
|
friendly_name = "Presense Devices";
|
|
value_template = "dominiks_iphone";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
platform = "template";
|
|
sensors = {
|
|
presense_livingroom = {
|
|
friendly_name = "Presense Livingroom";
|
|
value_template = ''
|
|
{% set room = "livingroom" %}
|
|
{% set presense = namespace(list=[]) %}
|
|
{% set presense_list = [] %}
|
|
{% set device_list = states('sensor.presense_devices').split(',') %}
|
|
{% for device in device_list %}
|
|
{% if is_state('sensor.' + device, room) %}
|
|
{% set presense.list = presense.list + [device] %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{{ presense.list | join("") }}
|
|
'';
|
|
};
|
|
};
|
|
}
|
|
{
|
|
platform = "template";
|
|
sensors = {
|
|
presense_kitchen = {
|
|
friendly_name = "Presense Kitchen";
|
|
value_template = ''
|
|
{% set room = "kitchen" %}
|
|
{% set presense = namespace(list=[]) %}
|
|
{% set presense_list = [] %}
|
|
{% set device_list = states('sensor.presense_devices').split(',') %}
|
|
{% for device in device_list %}
|
|
{% if is_state('sensor.' + device, room) %}
|
|
{% set presense.list = presense.list + [device] %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{{ presense.list | join("") }}
|
|
'';
|
|
};
|
|
};
|
|
}
|
|
{
|
|
platform = "template";
|
|
sensors = {
|
|
presense_hallway = {
|
|
friendly_name = "Presense Hallway";
|
|
value_template = ''
|
|
{% set room = "hallway" %}
|
|
{% set presense = namespace(list=[]) %}
|
|
{% set presense_list = [] %}
|
|
{% set device_list = states('sensor.presense_devices').split(',') %}
|
|
{% for device in device_list %}
|
|
{% if is_state('sensor.' + device, room) %}
|
|
{% set presense.list = presense.list + [device] %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{{ presense.list | join("") }}
|
|
'';
|
|
};
|
|
};
|
|
}
|
|
{
|
|
platform = "template";
|
|
sensors = {
|
|
presense_bedroom = {
|
|
friendly_name = "Presense Bedroom";
|
|
value_template = ''
|
|
{% set room = "bedroom" %}
|
|
{% set presense = namespace(list=[]) %}
|
|
{% set presense_list = [] %}
|
|
{% set device_list = states('sensor.presense_devices').split(',') %}
|
|
{% for device in device_list %}
|
|
{% if is_state('sensor.' + device, room) %}
|
|
{% set presense.list = presense.list + [device] %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
{{ presense.list | join("") }}
|
|
'';
|
|
};
|
|
};
|
|
}
|
|
];
|
|
};
|
|
}
|