From 70f5734f2598a3e2f1bab4a286acbd5de6db6bdf Mon Sep 17 00:00:00 2001 From: root Date: Fri, 31 May 2024 08:46:09 +0200 Subject: [PATCH] Home Assistant Git Exporter --- addons/repositories.yaml | 56 ++++++++++++ config/.HA_VERSION | 1 + config/automations.yaml | 1 + .../homeassistant/motion_light.yaml | 56 ++++++++++++ .../homeassistant/notify_leaving_zone.yaml | 50 +++++++++++ .../confirmable_notification.yaml | 86 +++++++++++++++++++ config/configuration.yaml | 11 +++ config/scenes.yaml | 0 config/scripts.yaml | 0 config/secrets.yaml | 4 + lovelace/lovelace.map.yaml | 3 + lovelace/lovelace_dashboards.yaml | 8 ++ 12 files changed, 276 insertions(+) create mode 100644 addons/repositories.yaml create mode 100644 config/.HA_VERSION create mode 100644 config/automations.yaml create mode 100644 config/blueprints/automation/homeassistant/motion_light.yaml create mode 100644 config/blueprints/automation/homeassistant/notify_leaving_zone.yaml create mode 100644 config/blueprints/script/homeassistant/confirmable_notification.yaml create mode 100644 config/configuration.yaml create mode 100644 config/scenes.yaml create mode 100644 config/scripts.yaml create mode 100644 config/secrets.yaml create mode 100644 lovelace/lovelace.map.yaml create mode 100644 lovelace/lovelace_dashboards.yaml diff --git a/addons/repositories.yaml b/addons/repositories.yaml new file mode 100644 index 0000000..5f8d0e3 --- /dev/null +++ b/addons/repositories.yaml @@ -0,0 +1,56 @@ +ESPHome: + maintainer: ESPHome + slug: 5c53de3b + source: https://github.com/esphome/home-assistant-addon +ESPresense Add-ons: + maintainer: Darrell Turner + slug: f32ea98b + source: https://github.com/ESPresense/hassio-addons +Frigate hass.io addons: + maintainer: blakeblackshear + slug: ccab4aaf + source: https://github.com/blakeblackshear/frigate-hass-addons +Gollum add-on repository form Home Assitant: + maintainer: Damien Duboeuf + slug: 9cf1ea8f + source: https://github.com/GollumDom/addon-repository +HA Add-ons by alexbelgium: + maintainer: alexbelgium + slug: db21ed7f + source: https://github.com/alexbelgium/hassio-addons +'Home Assistant Add-on: Rxcom2MQTT': + maintainer: sguernion + slug: 3bff5a27 + source: https://github.com/rfxcom2mqtt/hassio-addons +Home Assistant Community Add-ons: + maintainer: Franck Nijhof + slug: a0d7b954 + source: https://github.com/hassio-addons/repository +Home Assistant add-on repository by TheSeal: + maintainer: Johan Wassberg + slug: 0a2af3a0 + source: https://github.com/theseal/addons-homeassistant +JDeath Addons: + maintainer: jdeath + slug: 2effc9b9 + source: https://github.com/jdeath/homeassistant-addons +NSPanel Manager: + maintainer: NSPanel Manager Team + slug: a5d2b728 + source: https://github.com/NSPManager/NSPanelManager +Poeschl Home Assistant Add-ons: + maintainer: Poeschl + slug: 243ffc37 + source: https://github.com/Poeschl/Hassio-Addons +Rhasspy Hass.IO Add-Ons: + maintainer: Michael Hansen + slug: '47701997' + source: https://github.com/rhasspy/hassio-addons +eWeLink add-ons: + maintainer: CoolKit-Technologies + slug: f4f71350 + source: https://github.com/CoolKit-Technologies/ha-addon +haco: + maintainer: Frontmatter + slug: 2724af4f + source: https://github.com/fmtr/haco diff --git a/config/.HA_VERSION b/config/.HA_VERSION new file mode 100644 index 0000000..39bb573 --- /dev/null +++ b/config/.HA_VERSION @@ -0,0 +1 @@ +2024.5.5 \ No newline at end of file diff --git a/config/automations.yaml b/config/automations.yaml new file mode 100644 index 0000000..0637a08 --- /dev/null +++ b/config/automations.yaml @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/config/blueprints/automation/homeassistant/motion_light.yaml b/config/blueprints/automation/homeassistant/motion_light.yaml new file mode 100644 index 0000000..8f5d3f9 --- /dev/null +++ b/config/blueprints/automation/homeassistant/motion_light.yaml @@ -0,0 +1,56 @@ +blueprint: + name: Motion-activated Light + description: Turn on a light when motion is detected. + domain: automation + source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml + author: Home Assistant + input: + motion_entity: + name: Motion Sensor + selector: + entity: + filter: + device_class: motion + domain: binary_sensor + light_target: + name: Light + selector: + target: + entity: + domain: light + no_motion_wait: + name: Wait time + description: Time to leave the light on after last motion is detected. + default: 120 + selector: + number: + min: 0 + max: 3600 + unit_of_measurement: seconds + +# If motion is detected within the delay, +# we restart the script. +mode: restart +max_exceeded: silent + +trigger: + platform: state + entity_id: !input motion_entity + from: "off" + to: "on" + +action: + - alias: "Turn on the light" + service: light.turn_on + target: !input light_target + - alias: "Wait until there is no motion from device" + wait_for_trigger: + platform: state + entity_id: !input motion_entity + from: "on" + to: "off" + - alias: "Wait the number of seconds that has been set" + delay: !input no_motion_wait + - alias: "Turn off the light" + service: light.turn_off + target: !input light_target diff --git a/config/blueprints/automation/homeassistant/notify_leaving_zone.yaml b/config/blueprints/automation/homeassistant/notify_leaving_zone.yaml new file mode 100644 index 0000000..e1e3bd5 --- /dev/null +++ b/config/blueprints/automation/homeassistant/notify_leaving_zone.yaml @@ -0,0 +1,50 @@ +blueprint: + name: Zone Notification + description: Send a notification to a device when a person leaves a specific zone. + domain: automation + source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml + author: Home Assistant + input: + person_entity: + name: Person + selector: + entity: + filter: + domain: person + zone_entity: + name: Zone + selector: + entity: + filter: + domain: zone + notify_device: + name: Device to notify + description: Device needs to run the official Home Assistant app to receive notifications. + selector: + device: + filter: + integration: mobile_app + +trigger: + platform: state + entity_id: !input person_entity + +variables: + zone_entity: !input zone_entity + # This is the state of the person when it's in this zone. + zone_state: "{{ states[zone_entity].name }}" + person_entity: !input person_entity + person_name: "{{ states[person_entity].name }}" + +condition: + condition: template + # The first case handles leaving the Home zone which has a special state when zoning called 'home'. + # The second case handles leaving all other zones. + value_template: "{{ zone_entity == 'zone.home' and trigger.from_state.state == 'home' and trigger.to_state.state != 'home' or trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}" + +action: + - alias: "Notify that a person has left the zone" + domain: mobile_app + type: notify + device_id: !input notify_device + message: "{{ person_name }} has left {{ zone_state }}" diff --git a/config/blueprints/script/homeassistant/confirmable_notification.yaml b/config/blueprints/script/homeassistant/confirmable_notification.yaml new file mode 100644 index 0000000..c5f4249 --- /dev/null +++ b/config/blueprints/script/homeassistant/confirmable_notification.yaml @@ -0,0 +1,86 @@ +blueprint: + name: Confirmable Notification + description: >- + A script that sends an actionable notification with a confirmation before + running the specified action. + domain: script + source_url: https://github.com/home-assistant/core/blob/master/homeassistant/components/script/blueprints/confirmable_notification.yaml + author: Home Assistant + input: + notify_device: + name: Device to notify + description: Device needs to run the official Home Assistant app to receive notifications. + selector: + device: + filter: + integration: mobile_app + title: + name: "Title" + description: "The title of the button shown in the notification." + default: "" + selector: + text: + message: + name: "Message" + description: "The message body" + selector: + text: + confirm_text: + name: "Confirmation Text" + description: "Text to show on the confirmation button" + default: "Confirm" + selector: + text: + confirm_action: + name: "Confirmation Action" + description: "Action to run when notification is confirmed" + default: [] + selector: + action: + dismiss_text: + name: "Dismiss Text" + description: "Text to show on the dismiss button" + default: "Dismiss" + selector: + text: + dismiss_action: + name: "Dismiss Action" + description: "Action to run when notification is dismissed" + default: [] + selector: + action: + +mode: restart + +sequence: + - alias: "Set up variables" + variables: + action_confirm: "{{ 'CONFIRM_' ~ context.id }}" + action_dismiss: "{{ 'DISMISS_' ~ context.id }}" + - alias: "Send notification" + domain: mobile_app + type: notify + device_id: !input notify_device + title: !input title + message: !input message + data: + actions: + - action: "{{ action_confirm }}" + title: !input confirm_text + - action: "{{ action_dismiss }}" + title: !input dismiss_text + - alias: "Awaiting response" + wait_for_trigger: + - platform: event + event_type: mobile_app_notification_action + event_data: + action: "{{ action_confirm }}" + - platform: event + event_type: mobile_app_notification_action + event_data: + action: "{{ action_dismiss }}" + - choose: + - conditions: "{{ wait.trigger.event.data.action == action_confirm }}" + sequence: !input confirm_action + - conditions: "{{ wait.trigger.event.data.action == action_dismiss }}" + sequence: !input dismiss_action diff --git a/config/configuration.yaml b/config/configuration.yaml new file mode 100644 index 0000000..2bf923b --- /dev/null +++ b/config/configuration.yaml @@ -0,0 +1,11 @@ + +# Loads default set of integrations. Do not remove. +default_config: + +# Load frontend themes from the themes folder +frontend: + themes: !include_dir_merge_named themes + +automation: !include automations.yaml +script: !include scripts.yaml +scene: !include scenes.yaml diff --git a/config/scenes.yaml b/config/scenes.yaml new file mode 100644 index 0000000..e69de29 diff --git a/config/scripts.yaml b/config/scripts.yaml new file mode 100644 index 0000000..e69de29 diff --git a/config/secrets.yaml b/config/secrets.yaml new file mode 100644 index 0000000..76211e3 --- /dev/null +++ b/config/secrets.yaml @@ -0,0 +1,4 @@ + +# Use this file to store secrets like usernames and passwords. +# Learn more at https: "" +some_password: "" diff --git a/lovelace/lovelace.map.yaml b/lovelace/lovelace.map.yaml new file mode 100644 index 0000000..f9ecf74 --- /dev/null +++ b/lovelace/lovelace.map.yaml @@ -0,0 +1,3 @@ +config: + strategy: + type: map diff --git a/lovelace/lovelace_dashboards.yaml b/lovelace/lovelace_dashboards.yaml new file mode 100644 index 0000000..9bdf446 --- /dev/null +++ b/lovelace/lovelace_dashboards.yaml @@ -0,0 +1,8 @@ +items: +- icon: mdi:map + id: map + mode: storage + require_admin: false + show_in_sidebar: true + title: Map + url_path: map