From 4572c8c81b9b0d7c8df2af2286258b6b1cfde65f Mon Sep 17 00:00:00 2001 From: nyanloutre Date: Fri, 14 Oct 2022 14:12:40 +0200 Subject: [PATCH] fix home assistant --- systems/LoutreOS/services.nix | 651 +++++++++++++++++----------------- 1 file changed, 328 insertions(+), 323 deletions(-) diff --git a/systems/LoutreOS/services.nix b/systems/LoutreOS/services.nix index 376fb3a..bab9d54 100644 --- a/systems/LoutreOS/services.nix +++ b/systems/LoutreOS/services.nix @@ -174,31 +174,35 @@ in home-assistant = { enable = true; + extraComponents = [ + # Components required to complete the onboarding + "met" + "radio_browser" + ]; config = { + default_config = {}; homeassistant = { - elevation = 143; + latitude = 48.60038; + longitude = 7.74063; + elevation = 146; }; - influxdb = null; - config = null; - dhcp = null; - frontend = null; - history = null; + meteo_france = null; + #influxdb = null; + #config = null; + #dhcp = null; + #frontend = null; + #history = null; http = { use_x_forwarded_for = true; trusted_proxies = [ "127.0.0.1" ]; }; - logbook = null; - map = null; - mobile_app = null; - person = null; - script = null; - sun = null; - system_health = null; - yeelight.devices = { - "10.40.249.0".name = "Chambre"; - "10.40.249.1".name = "Bureau"; - "10.40.249.2".name = "Cuisine"; - }; + #logbook = null; + #map = null; + #mobile_app = null; + #person = null; + #script = null; + #sun = null; + #system_health = null; zha = null; esphome = null; light = [ @@ -206,8 +210,9 @@ in platform = "group"; name = "Salon"; entities = [ - "light.bureau" - "light.cuisine" + "light.ikea_of_sweden_tradfri_bulb_e27_cws_806lm_e69e6dfe_level_light_color_on_off" + "light.ikea_of_sweden_tradfri_bulb_e27_cws_806lm_43c25efe_level_light_color_on_off" + "light.ikea_of_sweden_tradfri_bulb_e27_cws_806lm_3d0f76fe_level_light_color_on_off" ]; } ]; @@ -217,317 +222,317 @@ in host = "10.30.0.1"; } ]; - tplink.switch = [ - { host = "10.30.50.7"; } - ]; - sensor = [ - { - platform = "template"; - sensors = { - serveur_amps = { - friendly_name_template = "{{ states.switch.serveur.name}} Current"; - value_template = ''{{ states.switch.serveur.attributes["current_a"] | float }}''; - unit_of_measurement = "A"; - }; - serveur_watts = { - friendly_name_template = "{{ states.switch.serveur.name}} Current Consumption"; - value_template = ''{{ states.switch.serveur.attributes["current_power_w"] | float }}''; - unit_of_measurement = "W"; - }; - serveur_total_kwh = { - friendly_name_template = "{{ states.switch.serveur.name}} Total Consumption"; - value_template = ''{{ states.switch.serveur.attributes["total_energy_kwh"] | float }}''; - unit_of_measurement = "kWh"; - }; - serveur_volts = { - friendly_name_template = "{{ states.switch.serveur.name}} Voltage"; - value_template = ''{{ states.switch.serveur.attributes["voltage"] | float }}''; - unit_of_measurement = "V"; - }; - serveur_today_kwh = { - friendly_name_template = "{{ states.switch.serveur.name}} Today's Consumption"; - value_template = ''{{ states.switch.serveur.attributes["today_energy_kwh"] | float }}''; - unit_of_measurement = "kWh"; - }; - }; - } - ]; - switch = [ - { - platform = "wake_on_lan"; - name = "PC Fixe"; - mac = "b4:2e:99:ed:24:26"; - host = "10.30.135.71"; - broadcast_address = "10.30.255.255"; - } - ]; - device_tracker = [ - { - platform = "ping"; - hosts = { telephone_paul = "10.30.50.2"; }; - } - ]; - scene = [ - { - name = "Movie"; - icon = "mdi:movie-open"; - entities = { - "light.salon" = { - state = "on"; - xy_color = [0.299 0.115]; - brightness = 50; - }; - "light.bande_led_tv" = { - state = "on"; - effect = "Movie"; - brightness = 180; - }; - "light.bande_led_bureau" = { - state = "on"; - xy_color = [0.299 0.115]; - brightness = 130; - }; - }; - } - { - name = "Home"; - icon = "mdi:home"; - entities = { - "light.salon" = { - state = "on"; - kelvin = 2700; - brightness = 255; - }; - }; - } - { - name = "Night"; - icon = "mdi:weather-night"; - entities = { - "light.salon" = { - state = "off"; - }; - "light.bande_led_tv" = { - state = "off"; - }; - "light.bande_led_bureau" = { - state = "off"; - }; - "light.chambre" = { - state = "on"; - kelvin = 1900; - brightness = 50; - }; - }; - } - ]; - automation = let - min_sun_elevation = 4; + #tplink.switch = [ + # { host = "10.30.50.7"; } + #]; + #sensor = [ + # { + # platform = "template"; + # sensors = { + # serveur_amps = { + # friendly_name_template = "{{ states.switch.serveur.name}} Current"; + # value_template = ''{{ states.switch.serveur.attributes["current_a"] | float }}''; + # unit_of_measurement = "A"; + # }; + # serveur_watts = { + # friendly_name_template = "{{ states.switch.serveur.name}} Current Consumption"; + # value_template = ''{{ states.switch.serveur.attributes["current_power_w"] | float }}''; + # unit_of_measurement = "W"; + # }; + # serveur_total_kwh = { + # friendly_name_template = "{{ states.switch.serveur.name}} Total Consumption"; + # value_template = ''{{ states.switch.serveur.attributes["total_energy_kwh"] | float }}''; + # unit_of_measurement = "kWh"; + # }; + # serveur_volts = { + # friendly_name_template = "{{ states.switch.serveur.name}} Voltage"; + # value_template = ''{{ states.switch.serveur.attributes["voltage"] | float }}''; + # unit_of_measurement = "V"; + # }; + # serveur_today_kwh = { + # friendly_name_template = "{{ states.switch.serveur.name}} Today's Consumption"; + # value_template = ''{{ states.switch.serveur.attributes["today_energy_kwh"] | float }}''; + # unit_of_measurement = "kWh"; + # }; + # }; + # } + #]; + #switch = [ + # { + # platform = "wake_on_lan"; + # name = "PC Fixe"; + # mac = "b4:2e:99:ed:24:26"; + # host = "10.30.135.71"; + # broadcast_address = "10.30.255.255"; + # } + #]; + #device_tracker = [ + # { + # platform = "ping"; + # hosts = { telephone_paul = "10.30.50.2"; }; + # } + #]; + #scene = [ + # { + # name = "Movie"; + # icon = "mdi:movie-open"; + # entities = { + # "light.salon" = { + # state = "on"; + # xy_color = [0.299 0.115]; + # brightness = 50; + # }; + # "light.bande_led_tv" = { + # state = "on"; + # effect = "Movie"; + # brightness = 180; + # }; + # "light.bande_led_bureau" = { + # state = "on"; + # xy_color = [0.299 0.115]; + # brightness = 130; + # }; + # }; + # } + # { + # name = "Home"; + # icon = "mdi:home"; + # entities = { + # "light.salon" = { + # state = "on"; + # kelvin = 2700; + # brightness = 255; + # }; + # }; + # } + # { + # name = "Night"; + # icon = "mdi:weather-night"; + # entities = { + # "light.salon" = { + # state = "off"; + # }; + # "light.bande_led_tv" = { + # state = "off"; + # }; + # "light.bande_led_bureau" = { + # state = "off"; + # }; + # "light.chambre" = { + # state = "on"; + # kelvin = 1900; + # brightness = 50; + # }; + # }; + # } + #]; + #automation = let + # min_sun_elevation = 4; - switch_chambre = { - domain = "zha"; - platform = "device"; - device_id = "3329ecdcad244e5e8fc0f4b96d52ffe1"; - }; + # switch_chambre = { + # domain = "zha"; + # platform = "device"; + # device_id = "3329ecdcad244e5e8fc0f4b96d52ffe1"; + # }; - switch_entree = { - domain = "zha"; - platform = "device"; - device_id = "7cd814190ec543dba76a7aa7e7996c41"; - }; + # switch_entree = { + # domain = "zha"; + # platform = "device"; + # device_id = "7cd814190ec543dba76a7aa7e7996c41"; + # }; - remote = { - domain = "zha"; - platform = "device"; - device_id = "d1230b76264e483388a8fdaad4f44143"; - }; - in [ - # ENTREE + # remote = { + # domain = "zha"; + # platform = "device"; + # device_id = "d1230b76264e483388a8fdaad4f44143"; + # }; + #in [ + # # ENTREE - { - alias = "Aziz lumière"; - trigger = [ - { - platform = "numeric_state"; - entity_id = "sun.sun"; - value_template = "{{ state.attributes.elevation }}"; - below = min_sun_elevation; - } - ]; - condition = [ - { - condition = "state"; - entity_id = "person.paul"; - state = "home"; - } - # Sun below max elevation - { - condition = "template"; - value_template = "{{ state_attr('sun.sun', 'elevation') < ${toString min_sun_elevation} }}"; - } - ]; - action = { - scene = "scene.home"; - }; - } - { - alias = "Aziz lumière switch"; - trigger = { - type = "remote_button_short_press"; - subtype = "turn_on"; - } // switch_entree; - action = { - scene = "scene.home"; - }; - } - { - alias = "Adios"; - trigger = [ - { - platform = "state"; - entity_id = "person.paul"; - to = "not_home"; - } - ({ - type = "remote_button_short_press"; - subtype = "turn_off"; - } // switch_entree) - ]; - action = [ - { - service = "light.turn_off"; - entity_id = "all"; - } - { - service = "media_player.turn_off"; - entity_id = "all"; - } - ]; - } + # { + # alias = "Aziz lumière"; + # trigger = [ + # { + # platform = "numeric_state"; + # entity_id = "sun.sun"; + # value_template = "{{ state.attributes.elevation }}"; + # below = min_sun_elevation; + # } + # ]; + # condition = [ + # { + # condition = "state"; + # entity_id = "person.paul"; + # state = "home"; + # } + # # Sun below max elevation + # { + # condition = "template"; + # value_template = "{{ state_attr('sun.sun', 'elevation') < ${toString min_sun_elevation} }}"; + # } + # ]; + # action = { + # scene = "scene.home"; + # }; + # } + # { + # alias = "Aziz lumière switch"; + # trigger = { + # type = "remote_button_short_press"; + # subtype = "turn_on"; + # } // switch_entree; + # action = { + # scene = "scene.home"; + # }; + # } + # { + # alias = "Adios"; + # trigger = [ + # { + # platform = "state"; + # entity_id = "person.paul"; + # to = "not_home"; + # } + # ({ + # type = "remote_button_short_press"; + # subtype = "turn_off"; + # } // switch_entree) + # ]; + # action = [ + # { + # service = "light.turn_off"; + # entity_id = "all"; + # } + # { + # service = "media_player.turn_off"; + # entity_id = "all"; + # } + # ]; + # } - # REMOTE + # # REMOTE - { - alias = "Button toggle"; - trigger = { - type = "remote_button_short_press"; - subtype = "turn_on"; - } // remote; - action = { - choose = { - conditions = { - condition = "template"; - value_template = '' - {% set domain = 'light' %} - {% set state = 'off' %} - {{ states[domain] | count == states[domain] | selectattr('state','eq',state) | list | count }} - ''; - }; - sequence = { - scene = "scene.home"; - }; - }; - default = { - service = "light.turn_off"; - entity_id = "all"; - }; - }; - } - { - alias = "Button scene movie"; - trigger = { - type = "remote_button_short_press"; - subtype = "right"; - } // remote; - action = { - scene = "scene.movie"; - }; - } - { - alias = "Button scene home"; - trigger = { - type = "remote_button_short_press"; - subtype = "left"; - } // remote; - action = { - scene = "scene.home"; - }; - } - { - alias = "Button light up"; - trigger = { - type = "remote_button_short_press"; - subtype = "dim_up"; - } // remote; - action = { - service = "light.turn_on"; - entity_id = "light.salon"; - data = { - brightness_step = 25; - }; - }; - } - { - alias = "Button light down"; - trigger = { - type = "remote_button_short_press"; - subtype = "dim_down"; - } // remote; - action = { - service = "light.turn_on"; - entity_id = "light.salon"; - data = { - brightness_step = -25; - }; - }; - } + # { + # alias = "Button toggle"; + # trigger = { + # type = "remote_button_short_press"; + # subtype = "turn_on"; + # } // remote; + # action = { + # choose = { + # conditions = { + # condition = "template"; + # value_template = '' + # {% set domain = 'light' %} + # {% set state = 'off' %} + # {{ states[domain] | count == states[domain] | selectattr('state','eq',state) | list | count }} + # ''; + # }; + # sequence = { + # scene = "scene.home"; + # }; + # }; + # default = { + # service = "light.turn_off"; + # entity_id = "all"; + # }; + # }; + # } + # { + # alias = "Button scene movie"; + # trigger = { + # type = "remote_button_short_press"; + # subtype = "right"; + # } // remote; + # action = { + # scene = "scene.movie"; + # }; + # } + # { + # alias = "Button scene home"; + # trigger = { + # type = "remote_button_short_press"; + # subtype = "left"; + # } // remote; + # action = { + # scene = "scene.home"; + # }; + # } + # { + # alias = "Button light up"; + # trigger = { + # type = "remote_button_short_press"; + # subtype = "dim_up"; + # } // remote; + # action = { + # service = "light.turn_on"; + # entity_id = "light.salon"; + # data = { + # brightness_step = 25; + # }; + # }; + # } + # { + # alias = "Button light down"; + # trigger = { + # type = "remote_button_short_press"; + # subtype = "dim_down"; + # } // remote; + # action = { + # service = "light.turn_on"; + # entity_id = "light.salon"; + # data = { + # brightness_step = -25; + # }; + # }; + # } - # CHAMBRE + # # CHAMBRE - { - alias = "Button scene night"; - trigger = { - type = "remote_button_short_press"; - subtype = "turn_on"; - } // switch_chambre; - action = { - scene = "scene.night"; - }; - } - { - alias = "Button scene dodo"; - trigger = { - type = "remote_button_short_press"; - subtype = "turn_off"; - } // switch_chambre; - action = { - service = "light.turn_off"; - entity_id = "all"; - }; - } - { - alias = "Button scene lumière chambre ON"; - trigger = { - type = "remote_button_long_press"; - subtype = "dim_up"; - } // switch_chambre; - action = { - service = "light.turn_on"; - entity_id = "light.chambre"; - }; - } - { - alias = "Button scene lumière chambre OFF"; - trigger = { - type = "remote_button_long_press"; - subtype = "dim_down"; - } // switch_chambre; - action = { - service = "light.turn_off"; - entity_id = "light.chambre"; - }; - } - ]; + # { + # alias = "Button scene night"; + # trigger = { + # type = "remote_button_short_press"; + # subtype = "turn_on"; + # } // switch_chambre; + # action = { + # scene = "scene.night"; + # }; + # } + # { + # alias = "Button scene dodo"; + # trigger = { + # type = "remote_button_short_press"; + # subtype = "turn_off"; + # } // switch_chambre; + # action = { + # service = "light.turn_off"; + # entity_id = "all"; + # }; + # } + # { + # alias = "Button scene lumière chambre ON"; + # trigger = { + # type = "remote_button_long_press"; + # subtype = "dim_up"; + # } // switch_chambre; + # action = { + # service = "light.turn_on"; + # entity_id = "light.chambre"; + # }; + # } + # { + # alias = "Button scene lumière chambre OFF"; + # trigger = { + # type = "remote_button_long_press"; + # subtype = "dim_down"; + # } // switch_chambre; + # action = { + # service = "light.turn_off"; + # entity_id = "light.chambre"; + # }; + # } + #]; }; }; };