diff --git a/flake.nix b/flake.nix index 81ac966..257c42e 100644 --- a/flake.nix +++ b/flake.nix @@ -259,7 +259,7 @@ { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; - home-manager.users.hass = import ./hosts/homeassistant/home.nix; + home-manager.users.hass-admin = import ./hosts/homeassistant/home.nix; } ]; }; diff --git a/hosts/homeassistant/automations.yaml b/hosts/homeassistant/automations.yaml index 64b436c..e69de29 100644 --- a/hosts/homeassistant/automations.yaml +++ b/hosts/homeassistant/automations.yaml @@ -1,576 +0,0 @@ -- id: '1692388103102' - alias: Weekly Backup - description: Create a full backup every Sunday at 3 am and store it on the NAS - trigger: - - platform: time - at: 03:00:00 - condition: - - condition: time - weekday: - - sun - action: - - service: hassio.backup_full - data: - compressed: true - mode: single -- id: '1692389901297' - alias: Livingroom Lights - description: '' - trigger: - - platform: device - domain: mqtt - device_id: 37d42431de65199af00220b43dae04c1 - type: action - subtype: on_press - id: 'on' - - platform: device - domain: mqtt - device_id: 37d42431de65199af00220b43dae04c1 - type: action - subtype: off_press - id: 'off' - - platform: device - domain: mqtt - device_id: 37d42431de65199af00220b43dae04c1 - type: action - subtype: up_press - id: up - - platform: device - domain: mqtt - device_id: 37d42431de65199af00220b43dae04c1 - type: action - subtype: down_press - id: down - - platform: device - domain: mqtt - device_id: 37d42431de65199af00220b43dae04c1 - type: action - subtype: on_hold - id: hold - condition: [] - action: - - choose: - - conditions: - - condition: trigger - id: - - 'on' - sequence: - - data: - brightness_pct: 100 - color_temp_kelvin: 5000 - transition: 1 - target: - entity_id: light.livingroom_lights - action: light.turn_on - - conditions: - - condition: trigger - id: - - 'off' - sequence: - - data: - transition: 1 - target: - entity_id: light.livingroom_lights - action: light.turn_off - - conditions: - - condition: trigger - id: - - hold - sequence: - - data: - brightness_pct: 100 - rgb_color: - - 255 - - 38 - - 0 - transition: 1 - target: - entity_id: light.livingroom_lights - action: light.turn_on - - conditions: - - condition: trigger - id: - - dim up - sequence: - - data: - brightness_step_pct: 20 - target: - entity_id: light.livingroom_lights - action: light.turn_on - - conditions: - - condition: trigger - id: - - dim down - sequence: - - data: - brightness_step_pct: -20 - target: - entity_id: light.livingroom_lights - action: light.turn_on - mode: single -- id: '1692390365798' - alias: Bedroom Lights - description: '' - triggers: - - domain: mqtt - device_id: a492c0abb8f14e0888df08101f77f484 - type: action - subtype: off_press - id: 'off' - trigger: device - - domain: mqtt - device_id: a492c0abb8f14e0888df08101f77f484 - type: action - subtype: on_press - id: 'on' - trigger: device - - domain: mqtt - device_id: a492c0abb8f14e0888df08101f77f484 - type: action - subtype: up_press - id: up - trigger: device - - domain: mqtt - device_id: a492c0abb8f14e0888df08101f77f484 - type: action - subtype: down_press - id: down - trigger: device - - domain: mqtt - device_id: a492c0abb8f14e0888df08101f77f484 - type: action - subtype: on_hold - id: hold on - trigger: device - conditions: [] - actions: - - choose: - - conditions: - - condition: trigger - id: - - 'on' - sequence: - - data: - brightness_pct: 100 - color_temp_kelvin: 5000 - transition: 1 - target: - entity_id: light.bedroom_lights - action: light.turn_on - - conditions: - - condition: trigger - id: - - 'off' - sequence: - - data: - transition: 1 - target: - entity_id: - - light.bedroom_lights - action: light.turn_off - - conditions: - - condition: trigger - id: - - up - sequence: - - device_id: 171fa001578683249ff26f2d85817fef - domain: light - entity_id: 55d41329665f60a55a732c5bbececd22 - type: brightness_increase - - device_id: c92fea3d569ca668e6617a189f917a28 - domain: light - entity_id: 0c8630c2b37ae9615f9cf815aaebf40f - type: brightness_increase - - conditions: - - condition: trigger - id: - - down - sequence: - - device_id: 171fa001578683249ff26f2d85817fef - domain: light - entity_id: 55d41329665f60a55a732c5bbececd22 - type: brightness_decrease - - device_id: c92fea3d569ca668e6617a189f917a28 - domain: light - entity_id: 0c8630c2b37ae9615f9cf815aaebf40f - type: brightness_decrease - - conditions: - - condition: trigger - id: - - hold on - sequence: - - metadata: {} - data: - rgb_color: - - 255 - - 0 - - 0 - brightness_pct: 100 - target: - entity_id: light.bedroom_lights - action: light.turn_on - mode: single -- id: '1694441037420' - alias: Air Purifier Schedule - description: '' - trigger: - - platform: time - at: 07:00:00 - id: fan off - - platform: time - at: '23:00:00' - id: fan on - condition: [] - action: - - choose: - - conditions: - - condition: trigger - id: - - fan on - sequence: - - service: fan.set_percentage - data: - percentage: 100 - target: - entity_id: fan.bedroom_air_purifier - - conditions: - - condition: trigger - id: - - fan off - sequence: - - service: fan.set_preset_mode - data: - preset_mode: auto - target: - entity_id: fan.bedroom_air_purifier - mode: single -- id: '1705949582146' - alias: Ice Maker Power Schedule - description: '' - trigger: - - platform: time_pattern - hours: '*' - minutes: '0' - seconds: '0' - condition: [] - action: - - type: toggle - device_id: 41c66532e23aadc4c6ac95e520e5d345 - entity_id: bd17ac75a91e62ed7e6b148cfe33d43d - domain: switch - - alias: Set Ice Maker Light to Dim - device_id: 41c66532e23aadc4c6ac95e520e5d345 - domain: select - entity_id: 8f4f90c62b00df9008d14f7ce8967199 - type: select_option - option: 'On' - mode: single -- id: '1708978401738' - alias: Soundbar - description: '' - trigger: [] - condition: [] - action: - - service: media_player.turn_on - metadata: {} - data: {} - target: - entity_id: media_player.soundbar - - service: media_player.select_source - metadata: {} - data: - source: wifi - target: - entity_id: media_player.soundbar - - service: media_player.play_media - metadata: {} - data: - media_content_id: media-source://radio_browser/2eff3a1f-b821-4267-9f37-f8d7e72061e4 - media_content_type: audio/mpeg - target: - entity_id: media_player.soundbar - mode: single -- id: '1711147285926' - alias: Grow Light Schedule - description: '' - trigger: - - platform: time - at: 07:00:00 - id: day - - platform: time - at: '20:00:00' - id: night - condition: [] - action: - - choose: - - conditions: - - condition: trigger - id: - - day - sequence: - - service: switch.turn_on - metadata: {} - data: {} - target: - entity_id: switch.grow_lights - - conditions: - - condition: trigger - id: - - night - sequence: - - service: switch.turn_off - metadata: {} - data: {} - target: - entity_id: switch.grow_lights - mode: single -- id: '1723142554607' - alias: Restart Luci's Box - description: for some reason this box sucks and needs to get reboot periodically - trigger: - - platform: time_pattern - hours: '*' - condition: [] - action: - - type: turn_off - device_id: e7f8974c31567dddbbffb036fe8381bc - entity_id: e1e71e4acdfcbb6c4afdc174807ad8be - domain: switch - - delay: - hours: 0 - minutes: 0 - seconds: 1 - milliseconds: 0 - - type: turn_on - device_id: e7f8974c31567dddbbffb036fe8381bc - entity_id: e1e71e4acdfcbb6c4afdc174807ad8be - domain: switch - - type: turn_on - device_id: d5eb3c182a1ef2a231b94b09c26aed45 - entity_id: 7106df7ebde274ac4bc2b197d5c45bea - domain: fan - - device_id: d5eb3c182a1ef2a231b94b09c26aed45 - domain: number - entity_id: 59a7cd3cb2883bf6002f789c2ff4824c - type: set_value - value: 3 - mode: single -- id: '1724707092916' - alias: HASS Updates - description: '' - use_blueprint: - path: edwardtfn/auto_update_scheduled.yaml - input: - schedule_entity: schedule.updates - restart_bool: true -- id: '1724707291994' - alias: IOT Battery Checker - description: '' - use_blueprint: - path: sbyx/low-battery-level-detection-notification-for-all-battery-sensors.yaml - input: - exclude: - entity_id: [] - device_id: - - 66e9cee67a740e8925dae5fc9ce940f0 - - df76e3a3e48b49e13bd3006350826740 - actions: - - action: notify.persistent_notification - metadata: {} - data: - message: Device Battery Low -- id: '1729708621620' - alias: Closet Lights - description: '' - triggers: - - type: present - device_id: 0924cbdcd24416e768caa52301db59f7 - entity_id: e9f0acef50550033cd96155bd501b7c3 - domain: binary_sensor - trigger: device - for: - hours: 0 - minutes: 0 - seconds: 0 - id: Present - - type: not_present - device_id: 0924cbdcd24416e768caa52301db59f7 - entity_id: e9f0acef50550033cd96155bd501b7c3 - domain: binary_sensor - trigger: device - for: - hours: 0 - minutes: 0 - seconds: 0 - id: empty - conditions: [] - actions: - - choose: - - conditions: - - condition: trigger - id: - - Present - sequence: - - action: light.turn_on - metadata: {} - data: - transition: 3 - brightness_pct: 100 - kelvin: 5008 - target: - device_id: - - e25128ac8fcf62af66a039cde3104760 - - ddcfd5ea4fc5f5a88e18325b01c615db - - conditions: - - condition: trigger - id: - - empty - sequence: - - action: light.turn_off - metadata: {} - data: - transition: 3 - target: - device_id: - - e25128ac8fcf62af66a039cde3104760 - - ddcfd5ea4fc5f5a88e18325b01c615db - mode: single -- id: '1729881464325' - alias: Bedroom Closet - description: '' - triggers: - - type: present - device_id: 28e7f211c72409fe244183219abf6ffa - entity_id: aa474f323868586cef62070654f36936 - domain: binary_sensor - trigger: device - id: Present - - type: not_present - device_id: 28e7f211c72409fe244183219abf6ffa - entity_id: aa474f323868586cef62070654f36936 - domain: binary_sensor - trigger: device - id: empty - conditions: [] - actions: - - choose: - - conditions: - - condition: trigger - id: - - Present - sequence: - - type: turn_on - device_id: f5936d6143b7927433e9c0430c79acab - entity_id: f6ec42c9db2c191866a335a346b1ec44 - domain: switch - - conditions: - - condition: trigger - id: - - empty - sequence: - - type: turn_off - device_id: f5936d6143b7927433e9c0430c79acab - entity_id: f6ec42c9db2c191866a335a346b1ec44 - domain: switch - mode: single -- id: '1740179328446' - alias: Living Room Lights - description: '' - triggers: - - domain: mqtt - device_id: f7482a462dc7cc05b4ceaa0d882dc469 - type: action - subtype: off_press - trigger: device - id: 'off' - - domain: mqtt - device_id: f7482a462dc7cc05b4ceaa0d882dc469 - type: action - subtype: on_press - trigger: device - id: 'on' - - domain: mqtt - device_id: f7482a462dc7cc05b4ceaa0d882dc469 - type: action - subtype: up_press - trigger: device - id: up - - domain: mqtt - device_id: f7482a462dc7cc05b4ceaa0d882dc469 - type: action - subtype: down_press - trigger: device - id: down - - domain: mqtt - device_id: f7482a462dc7cc05b4ceaa0d882dc469 - type: action - subtype: on_hold - trigger: device - id: hold on - conditions: [] - actions: - - choose: - - conditions: - - condition: trigger - id: - - 'on' - sequence: - - data: - brightness_pct: 100 - color_temp_kelvin: 5000 - transition: 1 - action: light.turn_on - target: - entity_id: light.livingroom_lights - - conditions: - - condition: trigger - id: - - 'off' - sequence: - - data: - transition: 1 - action: light.turn_off - target: - entity_id: light.livingroom_lights - - conditions: - - condition: trigger - id: - - up - sequence: - - device_id: 8bc2033b03d5a474ca3204c5ca53e308 - domain: light - entity_id: 4a3cc9043ff985e9271683e1916bd9e1 - type: brightness_increase - - device_id: 8f4f51aed9b3b4284f520af25358efd9 - domain: light - entity_id: f45e74498c4b6bae65aaf5adf67e29d6 - type: brightness_increase - - conditions: - - condition: trigger - id: - - down - sequence: - - device_id: 8bc2033b03d5a474ca3204c5ca53e308 - domain: light - entity_id: 4a3cc9043ff985e9271683e1916bd9e1 - type: brightness_decrease - - device_id: 8bc2033b03d5a474ca3204c5ca53e308 - domain: light - entity_id: 4a3cc9043ff985e9271683e1916bd9e1 - type: brightness_decrease - - conditions: - - condition: trigger - id: - - hold on - sequence: - - metadata: {} - data: - rgb_color: - - 255 - - 0 - - 0 - brightness_pct: 100 - action: light.turn_on - target: - entity_id: light.livingroom_lights - mode: single diff --git a/hosts/homeassistant/automations.yaml.ori b/hosts/homeassistant/automations.yaml.ori new file mode 100644 index 0000000..64b436c --- /dev/null +++ b/hosts/homeassistant/automations.yaml.ori @@ -0,0 +1,576 @@ +- id: '1692388103102' + alias: Weekly Backup + description: Create a full backup every Sunday at 3 am and store it on the NAS + trigger: + - platform: time + at: 03:00:00 + condition: + - condition: time + weekday: + - sun + action: + - service: hassio.backup_full + data: + compressed: true + mode: single +- id: '1692389901297' + alias: Livingroom Lights + description: '' + trigger: + - platform: device + domain: mqtt + device_id: 37d42431de65199af00220b43dae04c1 + type: action + subtype: on_press + id: 'on' + - platform: device + domain: mqtt + device_id: 37d42431de65199af00220b43dae04c1 + type: action + subtype: off_press + id: 'off' + - platform: device + domain: mqtt + device_id: 37d42431de65199af00220b43dae04c1 + type: action + subtype: up_press + id: up + - platform: device + domain: mqtt + device_id: 37d42431de65199af00220b43dae04c1 + type: action + subtype: down_press + id: down + - platform: device + domain: mqtt + device_id: 37d42431de65199af00220b43dae04c1 + type: action + subtype: on_hold + id: hold + condition: [] + action: + - choose: + - conditions: + - condition: trigger + id: + - 'on' + sequence: + - data: + brightness_pct: 100 + color_temp_kelvin: 5000 + transition: 1 + target: + entity_id: light.livingroom_lights + action: light.turn_on + - conditions: + - condition: trigger + id: + - 'off' + sequence: + - data: + transition: 1 + target: + entity_id: light.livingroom_lights + action: light.turn_off + - conditions: + - condition: trigger + id: + - hold + sequence: + - data: + brightness_pct: 100 + rgb_color: + - 255 + - 38 + - 0 + transition: 1 + target: + entity_id: light.livingroom_lights + action: light.turn_on + - conditions: + - condition: trigger + id: + - dim up + sequence: + - data: + brightness_step_pct: 20 + target: + entity_id: light.livingroom_lights + action: light.turn_on + - conditions: + - condition: trigger + id: + - dim down + sequence: + - data: + brightness_step_pct: -20 + target: + entity_id: light.livingroom_lights + action: light.turn_on + mode: single +- id: '1692390365798' + alias: Bedroom Lights + description: '' + triggers: + - domain: mqtt + device_id: a492c0abb8f14e0888df08101f77f484 + type: action + subtype: off_press + id: 'off' + trigger: device + - domain: mqtt + device_id: a492c0abb8f14e0888df08101f77f484 + type: action + subtype: on_press + id: 'on' + trigger: device + - domain: mqtt + device_id: a492c0abb8f14e0888df08101f77f484 + type: action + subtype: up_press + id: up + trigger: device + - domain: mqtt + device_id: a492c0abb8f14e0888df08101f77f484 + type: action + subtype: down_press + id: down + trigger: device + - domain: mqtt + device_id: a492c0abb8f14e0888df08101f77f484 + type: action + subtype: on_hold + id: hold on + trigger: device + conditions: [] + actions: + - choose: + - conditions: + - condition: trigger + id: + - 'on' + sequence: + - data: + brightness_pct: 100 + color_temp_kelvin: 5000 + transition: 1 + target: + entity_id: light.bedroom_lights + action: light.turn_on + - conditions: + - condition: trigger + id: + - 'off' + sequence: + - data: + transition: 1 + target: + entity_id: + - light.bedroom_lights + action: light.turn_off + - conditions: + - condition: trigger + id: + - up + sequence: + - device_id: 171fa001578683249ff26f2d85817fef + domain: light + entity_id: 55d41329665f60a55a732c5bbececd22 + type: brightness_increase + - device_id: c92fea3d569ca668e6617a189f917a28 + domain: light + entity_id: 0c8630c2b37ae9615f9cf815aaebf40f + type: brightness_increase + - conditions: + - condition: trigger + id: + - down + sequence: + - device_id: 171fa001578683249ff26f2d85817fef + domain: light + entity_id: 55d41329665f60a55a732c5bbececd22 + type: brightness_decrease + - device_id: c92fea3d569ca668e6617a189f917a28 + domain: light + entity_id: 0c8630c2b37ae9615f9cf815aaebf40f + type: brightness_decrease + - conditions: + - condition: trigger + id: + - hold on + sequence: + - metadata: {} + data: + rgb_color: + - 255 + - 0 + - 0 + brightness_pct: 100 + target: + entity_id: light.bedroom_lights + action: light.turn_on + mode: single +- id: '1694441037420' + alias: Air Purifier Schedule + description: '' + trigger: + - platform: time + at: 07:00:00 + id: fan off + - platform: time + at: '23:00:00' + id: fan on + condition: [] + action: + - choose: + - conditions: + - condition: trigger + id: + - fan on + sequence: + - service: fan.set_percentage + data: + percentage: 100 + target: + entity_id: fan.bedroom_air_purifier + - conditions: + - condition: trigger + id: + - fan off + sequence: + - service: fan.set_preset_mode + data: + preset_mode: auto + target: + entity_id: fan.bedroom_air_purifier + mode: single +- id: '1705949582146' + alias: Ice Maker Power Schedule + description: '' + trigger: + - platform: time_pattern + hours: '*' + minutes: '0' + seconds: '0' + condition: [] + action: + - type: toggle + device_id: 41c66532e23aadc4c6ac95e520e5d345 + entity_id: bd17ac75a91e62ed7e6b148cfe33d43d + domain: switch + - alias: Set Ice Maker Light to Dim + device_id: 41c66532e23aadc4c6ac95e520e5d345 + domain: select + entity_id: 8f4f90c62b00df9008d14f7ce8967199 + type: select_option + option: 'On' + mode: single +- id: '1708978401738' + alias: Soundbar + description: '' + trigger: [] + condition: [] + action: + - service: media_player.turn_on + metadata: {} + data: {} + target: + entity_id: media_player.soundbar + - service: media_player.select_source + metadata: {} + data: + source: wifi + target: + entity_id: media_player.soundbar + - service: media_player.play_media + metadata: {} + data: + media_content_id: media-source://radio_browser/2eff3a1f-b821-4267-9f37-f8d7e72061e4 + media_content_type: audio/mpeg + target: + entity_id: media_player.soundbar + mode: single +- id: '1711147285926' + alias: Grow Light Schedule + description: '' + trigger: + - platform: time + at: 07:00:00 + id: day + - platform: time + at: '20:00:00' + id: night + condition: [] + action: + - choose: + - conditions: + - condition: trigger + id: + - day + sequence: + - service: switch.turn_on + metadata: {} + data: {} + target: + entity_id: switch.grow_lights + - conditions: + - condition: trigger + id: + - night + sequence: + - service: switch.turn_off + metadata: {} + data: {} + target: + entity_id: switch.grow_lights + mode: single +- id: '1723142554607' + alias: Restart Luci's Box + description: for some reason this box sucks and needs to get reboot periodically + trigger: + - platform: time_pattern + hours: '*' + condition: [] + action: + - type: turn_off + device_id: e7f8974c31567dddbbffb036fe8381bc + entity_id: e1e71e4acdfcbb6c4afdc174807ad8be + domain: switch + - delay: + hours: 0 + minutes: 0 + seconds: 1 + milliseconds: 0 + - type: turn_on + device_id: e7f8974c31567dddbbffb036fe8381bc + entity_id: e1e71e4acdfcbb6c4afdc174807ad8be + domain: switch + - type: turn_on + device_id: d5eb3c182a1ef2a231b94b09c26aed45 + entity_id: 7106df7ebde274ac4bc2b197d5c45bea + domain: fan + - device_id: d5eb3c182a1ef2a231b94b09c26aed45 + domain: number + entity_id: 59a7cd3cb2883bf6002f789c2ff4824c + type: set_value + value: 3 + mode: single +- id: '1724707092916' + alias: HASS Updates + description: '' + use_blueprint: + path: edwardtfn/auto_update_scheduled.yaml + input: + schedule_entity: schedule.updates + restart_bool: true +- id: '1724707291994' + alias: IOT Battery Checker + description: '' + use_blueprint: + path: sbyx/low-battery-level-detection-notification-for-all-battery-sensors.yaml + input: + exclude: + entity_id: [] + device_id: + - 66e9cee67a740e8925dae5fc9ce940f0 + - df76e3a3e48b49e13bd3006350826740 + actions: + - action: notify.persistent_notification + metadata: {} + data: + message: Device Battery Low +- id: '1729708621620' + alias: Closet Lights + description: '' + triggers: + - type: present + device_id: 0924cbdcd24416e768caa52301db59f7 + entity_id: e9f0acef50550033cd96155bd501b7c3 + domain: binary_sensor + trigger: device + for: + hours: 0 + minutes: 0 + seconds: 0 + id: Present + - type: not_present + device_id: 0924cbdcd24416e768caa52301db59f7 + entity_id: e9f0acef50550033cd96155bd501b7c3 + domain: binary_sensor + trigger: device + for: + hours: 0 + minutes: 0 + seconds: 0 + id: empty + conditions: [] + actions: + - choose: + - conditions: + - condition: trigger + id: + - Present + sequence: + - action: light.turn_on + metadata: {} + data: + transition: 3 + brightness_pct: 100 + kelvin: 5008 + target: + device_id: + - e25128ac8fcf62af66a039cde3104760 + - ddcfd5ea4fc5f5a88e18325b01c615db + - conditions: + - condition: trigger + id: + - empty + sequence: + - action: light.turn_off + metadata: {} + data: + transition: 3 + target: + device_id: + - e25128ac8fcf62af66a039cde3104760 + - ddcfd5ea4fc5f5a88e18325b01c615db + mode: single +- id: '1729881464325' + alias: Bedroom Closet + description: '' + triggers: + - type: present + device_id: 28e7f211c72409fe244183219abf6ffa + entity_id: aa474f323868586cef62070654f36936 + domain: binary_sensor + trigger: device + id: Present + - type: not_present + device_id: 28e7f211c72409fe244183219abf6ffa + entity_id: aa474f323868586cef62070654f36936 + domain: binary_sensor + trigger: device + id: empty + conditions: [] + actions: + - choose: + - conditions: + - condition: trigger + id: + - Present + sequence: + - type: turn_on + device_id: f5936d6143b7927433e9c0430c79acab + entity_id: f6ec42c9db2c191866a335a346b1ec44 + domain: switch + - conditions: + - condition: trigger + id: + - empty + sequence: + - type: turn_off + device_id: f5936d6143b7927433e9c0430c79acab + entity_id: f6ec42c9db2c191866a335a346b1ec44 + domain: switch + mode: single +- id: '1740179328446' + alias: Living Room Lights + description: '' + triggers: + - domain: mqtt + device_id: f7482a462dc7cc05b4ceaa0d882dc469 + type: action + subtype: off_press + trigger: device + id: 'off' + - domain: mqtt + device_id: f7482a462dc7cc05b4ceaa0d882dc469 + type: action + subtype: on_press + trigger: device + id: 'on' + - domain: mqtt + device_id: f7482a462dc7cc05b4ceaa0d882dc469 + type: action + subtype: up_press + trigger: device + id: up + - domain: mqtt + device_id: f7482a462dc7cc05b4ceaa0d882dc469 + type: action + subtype: down_press + trigger: device + id: down + - domain: mqtt + device_id: f7482a462dc7cc05b4ceaa0d882dc469 + type: action + subtype: on_hold + trigger: device + id: hold on + conditions: [] + actions: + - choose: + - conditions: + - condition: trigger + id: + - 'on' + sequence: + - data: + brightness_pct: 100 + color_temp_kelvin: 5000 + transition: 1 + action: light.turn_on + target: + entity_id: light.livingroom_lights + - conditions: + - condition: trigger + id: + - 'off' + sequence: + - data: + transition: 1 + action: light.turn_off + target: + entity_id: light.livingroom_lights + - conditions: + - condition: trigger + id: + - up + sequence: + - device_id: 8bc2033b03d5a474ca3204c5ca53e308 + domain: light + entity_id: 4a3cc9043ff985e9271683e1916bd9e1 + type: brightness_increase + - device_id: 8f4f51aed9b3b4284f520af25358efd9 + domain: light + entity_id: f45e74498c4b6bae65aaf5adf67e29d6 + type: brightness_increase + - conditions: + - condition: trigger + id: + - down + sequence: + - device_id: 8bc2033b03d5a474ca3204c5ca53e308 + domain: light + entity_id: 4a3cc9043ff985e9271683e1916bd9e1 + type: brightness_decrease + - device_id: 8bc2033b03d5a474ca3204c5ca53e308 + domain: light + entity_id: 4a3cc9043ff985e9271683e1916bd9e1 + type: brightness_decrease + - conditions: + - condition: trigger + id: + - hold on + sequence: + - metadata: {} + data: + rgb_color: + - 255 + - 0 + - 0 + brightness_pct: 100 + action: light.turn_on + target: + entity_id: light.livingroom_lights + mode: single diff --git a/hosts/homeassistant/configuration.nix b/hosts/homeassistant/configuration.nix index 97a278f..dc80859 100644 --- a/hosts/homeassistant/configuration.nix +++ b/hosts/homeassistant/configuration.nix @@ -5,7 +5,7 @@ { config, lib, pkgs, ... }: let - user = "hass"; + user = "hass-admin"; password = "$y$j9T$EkPXmsmIMFFZ.WRrBYCxS1$P0kwo6e4.WM5DsqUcEqWC3MrZp5KfCjxffraMFZWu06"; SSID = "Joey's Jungle 5G"; SSIDpassword = "kR8v&3Qd"; # config.sops.templates."wifi-password".content; @@ -19,6 +19,7 @@ in ./boot.nix ./hardware-configuration.nix ./impermanence.nix + ./homeassistant.nix ../default.nix ]; @@ -113,11 +114,13 @@ in users = { mutableUsers = false; users."${user}" = { - isNormalUser = true; + isNormalUser = lib.mkForce true; initialHashedPassword = password; extraGroups = [ "wheel" "docker" + "network-manager" + "hass" ]; shell = pkgs.zsh; }; diff --git a/hosts/homeassistant/home.nix b/hosts/homeassistant/home.nix index 546a622..929868c 100644 --- a/hosts/homeassistant/home.nix +++ b/hosts/homeassistant/home.nix @@ -23,8 +23,8 @@ let in { - home.username = "hass"; - home.homeDirectory = "/home/hass"; + home.username = "hass-admin"; + home.homeDirectory = "/home/hass-admin"; home.stateVersion = "23.11"; programs.home-manager.enable = true; diff --git a/hosts/homeassistant/homeassistant.nix b/hosts/homeassistant/homeassistant.nix index cc5bacf..3cb84b7 100644 --- a/hosts/homeassistant/homeassistant.nix +++ b/hosts/homeassistant/homeassistant.nix @@ -9,7 +9,7 @@ let owner = "greghesp"; # Update with correct owner repo = "ha-bambulab"; # Update with correct repo name rev = "v2.1.5"; # Or specific tag/commit - sha256 = "sha256-giaQiCVblo3pgnZKCql6focjJJmLGLOSiar8tcEKrNc="; # Replace with actual hash + sha256 = "sha256-iVcNFdkzdMVjbQuzrTLib8fhirnc+OJdPzM60EnyVe0="; # Replace with actual hash }; installPhase = '' @@ -169,11 +169,11 @@ in cp -r ${ha-petlibro}/custom_components/petlibro ${config.services.home-assistant.configDir}/custom_components/ cp -r ${ha-wyzeapi}/custom_components/wyzeapi ${config.services.home-assistant.configDir}/custom_components/ - ln -sf /etc/nixos/hosts/nas/apps/homeassistant/automations.yaml ${config.services.home-assistant.configDir}/automations.yaml + ln -sf /etc/nixos/hosts/homeassistant/automations.yaml ${config.services.home-assistant.configDir}/automations.yaml chown hass:hass ${config.services.home-assistant.configDir}/automations.yaml - ln -sf /etc/nixos/hosts/nas/apps/homeassistant/scenes.yaml ${config.services.home-assistant.configDir}/scenes.yaml + ln -sf /etc/nixos/hosts/homeassistant/scenes.yaml ${config.services.home-assistant.configDir}/scenes.yaml chown hass:hass ${config.services.home-assistant.configDir}/scenes.yaml - ln -sf /etc/nixos/hosts/nas/apps/homeassistant/scripts.yaml ${config.services.home-assistant.configDir}/scripts.yaml + ln -sf /etc/nixos/hosts/homeassistant/scripts.yaml ${config.services.home-assistant.configDir}/scripts.yaml chown hass:hass ${config.services.home-assistant.configDir}/scripts.yaml ''; @@ -194,7 +194,7 @@ in serial = { port = "/dev/ttyUSB0"; }; - } - } + }; + }; }; -} \ No newline at end of file +} diff --git a/hosts/homeassistant/impermanence.nix b/hosts/homeassistant/impermanence.nix index 2165fdf..8883b5b 100644 --- a/hosts/homeassistant/impermanence.nix +++ b/hosts/homeassistant/impermanence.nix @@ -12,7 +12,6 @@ "/var/lib/systemd/coredump" "/var/lib/zigbee2mqtt" "/var/lib/postgresql" - "/var/lib/hass" "/etc/NetworkManager/system-connections" "/etc/secureboot" {