From 75709ffb238fb802b06a0a68ada581686ed51948 Mon Sep 17 00:00:00 2001 From: dualityps <4126225+ticstyle@users.noreply.github.com> Date: Mon, 13 Jul 2026 22:07:29 +0200 Subject: [PATCH 01/10] Upgrade automation blueprint to version 1.3.0 Updated automation blueprint to version 1.3.0 with enhanced descriptions and improved input options for controlling lights and switches based on mode changes. --- change_light_when_mode_changes.yaml | 469 ++++++++++++++-------------- 1 file changed, 243 insertions(+), 226 deletions(-) diff --git a/change_light_when_mode_changes.yaml b/change_light_when_mode_changes.yaml index 53696b2..0dd1cce 100644 --- a/change_light_when_mode_changes.yaml +++ b/change_light_when_mode_changes.yaml @@ -1,37 +1,23 @@ blueprint: name: Change light when mode changes - description: - " ***Version*** - 1.2.0 - - ***What it does*** - Changes lights upon mode change, with a random delay of 5 to 31 seconds - to spread out the work load on the network if for example one would use this template - multiple times. - - When the mode is Away the enteties are automatically shut off. - The other modes are set for different times of the day if anyone is home. - - **Dependencies:** - * Built with a dependency on a sensor named `sensor.day_modes` which can have one of the following five values: `Away`, `Morning`, `Day`, `Eevening`, `Night`. - * A HACS integration for managing these modes can be found here: https://github.com/ticstyle/Day-Modes" - + description: >- + ### Version 1.3.0 + + Changes lights and optional switches upon day mode change, with a random delay of 5 to 31 seconds to spread out network traffic when using multiple instances. + + When the mode transitions to **Away**, entities are automatically turned off. Other modes adjust brightness and switch states based on your configured settings. + + #### Dependencies + * Requires a sensor tracking day modes (e.g., `sensor.day_modes`) with states: `Away`, `Morning`, `Day`, `Evening`, `Night`. + * A HACS integration for managing these modes can be found here: [Day Modes Integration](https://github.com/ticstyle/Day-Modes) + domain: automation source_url: https://github.com/ticstyle/HA-Change-light-when-mode-changes/blob/main/change_light_when_mode_changes.yaml input: - light_target: - name: Light(s) - default: {} - selector: - target: - entity: - - domain: - - light - mode: - name: Mode entity - description: Choose a sensor that is tracking the modes, alternatively an input_select helper that does the same. + name: Mode Entity + description: Select the sensor tracking day modes or an input_select helper. default: sensor.day_modes selector: entity: @@ -39,18 +25,26 @@ blueprint: - input_select - sensor - # ----------------------- - # Optional switch control - # ----------------------- + light_target: + name: Light Target + description: Select the target lights for this automation. + default: {} + selector: + target: + entity: + - domain: + - light + control_switches: - name: Control switches - description: Enable switch control in this automation (if you for example whant to control an outlet or a switch instead of a light). + name: Enable Switch Control + description: Enable to also control switches or outlets alongside your lights. default: false selector: boolean: {} switch_target: - name: Switch(es) + name: Switch Target + description: Select the target switches to control. default: {} selector: target: @@ -58,119 +52,154 @@ blueprint: - domain: - switch - morning_switch_on: - name: Morning – switches ON? - default: true - selector: - boolean: {} - - day_switch_on: - name: Day – switches ON? - default: true - selector: - boolean: {} - - evening_switch_on: - name: Evening – switches ON? - default: true - selector: - boolean: {} - - night_switch_on: - name: Night – switches ON? - default: false - selector: - boolean: {} - - away_switch_on: - name: Away – switches ON? - default: false - selector: - boolean: {} - # ----------------------- - # Lights (original) + # Morning Settings # ----------------------- - morning_toggle: - name: Use morning (effects both lights and switches) - selector: - boolean: {} - default: true + morning_section: + name: Morning Settings + icon: mdi:weather-sunset-up + input: + morning_toggle: + name: Enable Morning Mode + description: Control lights and switches when mode changes to Morning. + default: true + selector: + boolean: {} + + morning_brightness: + name: Morning Brightness + description: Brightness percentage (0-100%). + default: 10 + selector: + number: + min: 0.0 + max: 100.0 + step: 1.0 + mode: slider + + morning_switch_on: + name: Turn Switches ON in Morning + default: true + selector: + boolean: {} - morning_brightness: - name: Morning Brightness - description: 0-100%. - default: 10 - selector: - number: - min: 0.0 - max: 100.0 - step: 1.0 - mode: slider - - day_toggle: - name: Use day (effects both lights and switches) - selector: - boolean: {} - default: true + # ----------------------- + # Day Settings + # ----------------------- + day_section: + name: Day Settings + icon: mdi:weather-sunny + input: + day_toggle: + name: Enable Day Mode + description: Control lights and switches when mode changes to Day. + default: true + selector: + boolean: {} + + day_brightness: + name: Day Brightness + description: Brightness percentage (0-100%). + default: 75 + selector: + number: + min: 0.0 + max: 100.0 + step: 1.0 + mode: slider + + day_switch_on: + name: Turn Switches ON in Day + default: true + selector: + boolean: {} - day_brightness: - name: Day Brightness - description: 0-100%. - default: 75 - selector: - number: - min: 0.0 - max: 100.0 - step: 1.0 - mode: slider - - evening_toggle: - name: Use evening (effects both lights and switches) - selector: - boolean: {} - default: true + # ----------------------- + # Evening Settings + # ----------------------- + evening_section: + name: Evening Settings + icon: mdi:weather-sunset-down + input: + evening_toggle: + name: Enable Evening Mode + description: Control lights and switches when mode changes to Evening. + default: true + selector: + boolean: {} + + evening_brightness: + name: Evening Brightness + description: Brightness percentage (0-100%). + default: 35 + selector: + number: + min: 0.0 + max: 100.0 + step: 1.0 + mode: slider + + evening_switch_on: + name: Turn Switches ON in Evening + default: true + selector: + boolean: {} - evening_brightness: - name: Evening Brightness - description: 0-100%. - default: 35 - selector: - number: - min: 0.0 - max: 100.0 - step: 1.0 - mode: slider - - night_toggle: - name: Use night (effects both lights and switches) - selector: - boolean: {} - default: true + # ----------------------- + # Night Settings + # ----------------------- + night_section: + name: Night Settings + icon: mdi:weather-night + input: + night_toggle: + name: Enable Night Mode + description: Control lights and switches when mode changes to Night. + default: true + selector: + boolean: {} + + night_brightness: + name: Night Brightness + description: Brightness percentage (0-100%). + default: 0 + selector: + number: + min: 0.0 + max: 100.0 + step: 1.0 + mode: slider + + night_switch_on: + name: Turn Switches ON in Night + default: false + selector: + boolean: {} - night_brightness: - name: Night Brightness - description: 0-100%. - default: 0 - selector: - number: - min: 0.0 - max: 100.0 - step: 1.0 - mode: slider - - away_toggle: - name: Use away (effects both lights and switches) - selector: - boolean: {} - default: true + # ----------------------- + # Away Settings + # ----------------------- + away_section: + name: Away Settings + icon: mdi:home-export-outline + input: + away_toggle: + name: Enable Away Mode + description: Control lights and switches when mode changes to Away. + default: true + selector: + boolean: {} + + away_switch_on: + name: Turn Switches ON in Away + default: false + selector: + boolean: {} trigger: - - platform: state + - trigger: state entity_id: !input mode for: - hours: 0 - minutes: 0 seconds: 5 mode: restart @@ -179,10 +208,11 @@ max_exceeded: silent condition: [] action: - # The delay + # Random delay to prevent network load spikes when multiple instances trigger simultaneously - delay: - seconds: "{{ range(5, 31) | random | int }}" + seconds: "{{ range(5, 31) | random }}" + # Extract input configurations into local scope - variables: do_switches: !input control_switches sw_morning: !input morning_switch_on @@ -190,7 +220,6 @@ action: sw_evening: !input evening_switch_on sw_night: !input night_switch_on sw_away: !input away_switch_on - # Make the Use morning/day/evening/night/away toggles control whole sequences morning_enabled: !input morning_toggle day_enabled: !input day_toggle evening_enabled: !input evening_toggle @@ -198,157 +227,145 @@ action: away_enabled: !input away_toggle - choose: - - # Morning + # Morning Mode - conditions: - - condition: and - conditions: - - condition: state - entity_id: !input mode - state: ["Morning", "morning"] + - condition: state + entity_id: !input mode + state: + - "Morning" + - "morning" sequence: - condition: template value_template: "{{ morning_enabled }}" - - service: light.turn_on + - action: light.turn_on enabled: !input morning_toggle data: brightness_pct: !input morning_brightness target: !input light_target - # Switches (optional) - if: - condition: template value_template: "{{ do_switches }}" then: - - choose: - - conditions: - - condition: template - value_template: "{{ sw_morning }}" - sequence: - - service: switch.turn_on - target: !input switch_target - default: - - service: switch.turn_off + - if: + - condition: template + value_template: "{{ sw_morning }}" + then: + - action: switch.turn_on + target: !input switch_target + else: + - action: switch.turn_off target: !input switch_target - # Day + # Day Mode - conditions: - - condition: and - conditions: - - condition: state - entity_id: !input mode - state: ["Day", "day"] + - condition: state + entity_id: !input mode + state: + - "Day" + - "day" sequence: - condition: template value_template: "{{ day_enabled }}" - - service: light.turn_on + - action: light.turn_on enabled: !input day_toggle data: brightness_pct: !input day_brightness target: !input light_target - # Switches (optional) - if: - condition: template value_template: "{{ do_switches }}" then: - - choose: - - conditions: - - condition: template - value_template: "{{ sw_day }}" - sequence: - - service: switch.turn_on - target: !input switch_target - default: - - service: switch.turn_off + - if: + - condition: template + value_template: "{{ sw_day }}" + then: + - action: switch.turn_on + target: !input switch_target + else: + - action: switch.turn_off target: !input switch_target - # Evening + # Evening Mode - conditions: - - condition: and - conditions: - - condition: state - entity_id: !input mode - state: ["Evening", "evening"] + - condition: state + entity_id: !input mode + state: + - "Evening" + - "evening" sequence: - condition: template value_template: "{{ evening_enabled }}" - - service: light.turn_on + - action: light.turn_on enabled: !input evening_toggle data: brightness_pct: !input evening_brightness target: !input light_target - # Switches (optional) - if: - condition: template value_template: "{{ do_switches }}" then: - - choose: - - conditions: - - condition: template - value_template: "{{ sw_evening }}" - sequence: - - service: switch.turn_on - target: !input switch_target - default: - - service: switch.turn_off + - if: + - condition: template + value_template: "{{ sw_evening }}" + then: + - action: switch.turn_on + target: !input switch_target + else: + - action: switch.turn_off target: !input switch_target - # Night + # Night Mode - conditions: - - condition: and - conditions: - - condition: state - entity_id: !input mode - state: ["Night", "night"] + - condition: state + entity_id: !input mode + state: + - "Night" + - "night" sequence: - condition: template value_template: "{{ night_enabled }}" - - service: light.turn_on + - action: light.turn_on enabled: !input night_toggle data: brightness_pct: !input night_brightness target: !input light_target - # Switches (optional) - if: - condition: template value_template: "{{ do_switches }}" then: - - choose: - - conditions: - - condition: template - value_template: "{{ sw_night }}" - sequence: - - service: switch.turn_on - target: !input switch_target - default: - - service: switch.turn_off + - if: + - condition: template + value_template: "{{ sw_night }}" + then: + - action: switch.turn_on + target: !input switch_target + else: + - action: switch.turn_off target: !input switch_target - # Away + # Away Mode - conditions: - - condition: and - conditions: - - condition: state - entity_id: !input mode - state: ["Away", "away"] + - condition: state + entity_id: !input mode + state: + - "Away" + - "away" sequence: - condition: template value_template: "{{ away_enabled }}" - - service: light.turn_off - data: {} + - action: light.turn_off target: !input light_target enabled: !input away_toggle - # Switches (optional) - if: - condition: template value_template: "{{ do_switches }}" then: - - choose: - - conditions: - - condition: template - value_template: "{{ sw_away }}" - sequence: - - service: switch.turn_on - target: !input switch_target - default: - - service: switch.turn_off + - if: + - condition: template + value_template: "{{ sw_away }}" + then: + - action: switch.turn_on + target: !input switch_target + else: + - action: switch.turn_off target: !input switch_target From f1afd967731a43fe91ad237da9053d7d85c57c36 Mon Sep 17 00:00:00 2001 From: dualityps <4126225+ticstyle@users.noreply.github.com> Date: Mon, 13 Jul 2026 22:14:03 +0200 Subject: [PATCH 02/10] Add GitHub Actions workflow for YAML validation --- .github/workflows/validate.yml | 47 ++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 .github/workflows/validate.yml diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..dfab607 --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,47 @@ +name: Validate Blueprint + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + +jobs: + yamllint: + name: 🧹 Lint YAML Syntax + runs-on: ubuntu-latest + steps: + - name: ⤵️ Checkout Code + uses: actions/checkout@v4 + + - name: 🚀 Run YAML Lint + uses: ibaraki/action-yamllint@v1 + with: + file_or_dir: . + config_data: | + extends: relaxed + rules: + line-length: disable + # Allow custom Home Assistant YAML tags so linting doesn't fail on !input + custom-tags: + - "!input" + - "!secret" + - "!include" + + ha-validation: + name: 🏠 Home Assistant Core Check + runs-on: ubuntu-latest + steps: + - name: ⤵️ Checkout Code + uses: actions/checkout@v4 + + - name: 📁 Set up mock Home Assistant folder + run: | + mkdir -p config/blueprints/automation/ticstyle + cp *.yaml config/blueprints/automation/ticstyle/ + echo "default_config:" > config/configuration.yaml + + - name: 🚀 Run Home Assistant Core Config Check + uses: frenck/action-home-assistant@v1 + with: + path: "./config" From 21d45f44c25d8812cbeaa600851ee279a77a0d63 Mon Sep 17 00:00:00 2001 From: dualityps <4126225+ticstyle@users.noreply.github.com> Date: Mon, 13 Jul 2026 22:18:09 +0200 Subject: [PATCH 03/10] Create README for Change Light When Mode Changes Add README for Home Assistant automation blueprint --- README.md | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..cc490bc --- /dev/null +++ b/README.md @@ -0,0 +1,73 @@ +# Change Light When Mode Changes + +[![Validate Blueprint](https://github.com/ticstyle/HA-Change-light-when-mode-changes/actions/workflows/validate.yml/badge.svg)](https://github.com/ticstyle/HA-Change-light-when-mode-changes/actions/workflows/validate.yml) + +A Home Assistant automation blueprint that dynamically adjusts light brightness levels and optional switches whenever your home's mode changes (`Morning`, `Day`, `Evening`, `Night`, `Away`). + +--- + +## 🌟 Features + +* **Mode-Driven Lighting:** Automatically sets predefined light brightness percentages matching your active day mode. +* **Optional Switch Control:** Easily enable/disable power switches or outlets alongside your lights for each mode. +* **Network Load Spreading:** Implements a randomized delay (5–31 seconds) to distribute Zigbee/Z-Wave network traffic when running multiple automation instances simultaneously. +* **Away Mode Shutoff:** Automatically turns off targeted lights and switches when mode switches to **Away**. +* **Modern UI Sections:** Organized into collapsible UI configuration sections inside Home Assistant for a clean, intuitive setup. + +--- + +## 📋 Dependencies + +This blueprint relies on an entity tracking your active day modes (supporting states `Morning`, `Day`, `Evening`, `Night`, `Away`). + +* Recommended Integration: [Day Modes for Home Assistant](https://github.com/ticstyle/Day-Modes) (Available via HACS). +* *Alternative:* Any standard `input_select` or `sensor` entity returning matching state values. + +--- + +## 🚀 Installation + +### Option 1: Direct Import via My Home Assistant +Click the button below to import the blueprint directly into your Home Assistant instance: + +[![Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.](https://my.home-assistant.io/badges/blueprint_import.svg)](https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgithub.com%2Fticstyle%2FHA-Change-light-when-mode-changes%2Fblob%2Fmain%2Fchange_light_when_mode_changes.yaml) + +### Option 2: Manual Import +1. In Home Assistant, go to **Settings** > **Automations & Scenes** > **Blueprints**. +2. Click **Import Blueprint** in the bottom right corner. +3. Paste the blueprint URL: + ```text + [https://github.com/ticstyle/HA-Change-light-when-mode-changes/blob/main/change_light_when_mode_changes.yaml](https://github.com/ticstyle/HA-Change-light-when-mode-changes/blob/main/change_light_when_mode_changes.yaml) + ``` +4. Click **Preview** and then **Import**. + +--- + +## ⚙️ Configuration Inputs + +| Section | Input | Description | Default | +|---|---|---|---| +| **General** | `mode` | Sensor or input_select tracking day modes | `sensor.day_modes` | +| **General** | `light_target` | Target light entity, device, or area | `{}` | +| **General** | `control_switches` | Master toggle to enable switch/outlet control | `false` | +| **General** | `switch_target` | Target switch entity, device, or area | `{}` | +| **Morning** | `morning_toggle` | Enable processing for Morning mode | `true` | +| **Morning** | `morning_brightness` | Light brightness percentage (0–100%) | `10%` | +| **Morning** | `morning_switch_on` | Turn switches ON or OFF during Morning | `true` | +| **Day** | `day_toggle` | Enable processing for Day mode | `true` | +| **Day** | `day_brightness` | Light brightness percentage (0–100%) | `75%` | +| **Day** | `day_switch_on` | Turn switches ON or OFF during Day | `true` | +| **Evening** | `evening_toggle` | Enable processing for Evening mode | `true` | +| **Evening** | `evening_brightness` | Light brightness percentage (0–100%) | `35%` | +| **Evening** | `evening_switch_on` | Turn switches ON or OFF during Evening | `true` | +| **Night** | `night_toggle` | Enable processing for Night mode | `true` | +| **Night** | `night_brightness` | Light brightness percentage (0–100%) | `0%` | +| **Night** | `night_switch_on` | Turn switches ON or OFF during Night | `false` | +| **Away** | `away_toggle` | Enable processing for Away mode | `true` | +| **Away** | `away_switch_on` | Turn switches ON or OFF during Away | `false` | + +--- + +## 📄 License + +This project is open-source and licensed under the [MIT License](LICENSE). From fc1057543d169b67c4ad369f9d058e817698686b Mon Sep 17 00:00:00 2001 From: dualityps <4126225+ticstyle@users.noreply.github.com> Date: Mon, 13 Jul 2026 22:20:35 +0200 Subject: [PATCH 04/10] Update validate.yml --- .github/workflows/validate.yml | 47 ++++++++++++++++------------------ 1 file changed, 22 insertions(+), 25 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index dfab607..8da5414 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -2,46 +2,43 @@ name: Validate Blueprint on: push: - branches: [ main, master ] + branches: [ main ] pull_request: - branches: [ main, master ] + branches: [ main ] jobs: yamllint: - name: 🧹 Lint YAML Syntax + name: 🚀 YAML Linting runs-on: ubuntu-latest steps: - - name: ⤵️ Checkout Code + - name: 📥 Checkout Code uses: actions/checkout@v4 - - name: 🚀 Run YAML Lint - uses: ibaraki/action-yamllint@v1 + - name: 🐍 Set up Python + uses: actions/setup-python@v5 with: - file_or_dir: . - config_data: | - extends: relaxed - rules: - line-length: disable - # Allow custom Home Assistant YAML tags so linting doesn't fail on !input - custom-tags: - - "!input" - - "!secret" - - "!include" - - ha-validation: - name: 🏠 Home Assistant Core Check + python-version: '3.x' + + - name: 📦 Install yamllint + run: pip install yamllint + + - name: 🎛️ Run yamllint + run: yamllint -c .yamllint.yml . + + ha-config-check: + name: 🏠 Home Assistant Config Check runs-on: ubuntu-latest steps: - - name: ⤵️ Checkout Code + - name: 📥 Checkout Code uses: actions/checkout@v4 - - name: 📁 Set up mock Home Assistant folder + - name: 🛠️ Setup Mock HA Environment run: | - mkdir -p config/blueprints/automation/ticstyle - cp *.yaml config/blueprints/automation/ticstyle/ + mkdir -p config/blueprints/automation/my_blueprint + cp *.yaml config/blueprints/automation/my_blueprint/ echo "default_config:" > config/configuration.yaml - - name: 🚀 Run Home Assistant Core Config Check + - name: 🧪 Test in Home Assistant Core uses: frenck/action-home-assistant@v1 with: - path: "./config" + path: "config" From dbba96d447d43c2879c43ebb6667e705b639e84c Mon Sep 17 00:00:00 2001 From: dualityps <4126225+ticstyle@users.noreply.github.com> Date: Mon, 13 Jul 2026 22:28:29 +0200 Subject: [PATCH 05/10] Add .yamllint.yml for YAML linting configuration Configure yamllint with custom rules for Home Assistant. --- .github/workflows/.yamllint.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .github/workflows/.yamllint.yml diff --git a/.github/workflows/.yamllint.yml b/.github/workflows/.yamllint.yml new file mode 100644 index 0000000..acf8674 --- /dev/null +++ b/.github/workflows/.yamllint.yml @@ -0,0 +1,27 @@ +--- +extends: default + +rules: + # Allow long lines inside blueprint descriptions and markdown + line-length: disable + # Ignore Home Assistant custom tags like !input, !secret, !include + custom-tags: + - '!input' + - '!secret' + - '!include' + - '!include_dir_list' + - '!include_dir_named' + - '!include_dir_merge_list' + - '!include_dir_merge_named' + # Allow flexible truthy values + truthy: + allowed-values: + - 'true' + - 'false' + - 'on' + - 'off' + - 'yes' + - 'no' + +ignore: | + .git/ From d1c19d01bb4a03fe68aa5fac52e1602bd3b15b03 Mon Sep 17 00:00:00 2001 From: dualityps <4126225+ticstyle@users.noreply.github.com> Date: Mon, 13 Jul 2026 22:36:32 +0200 Subject: [PATCH 06/10] Add .yamllint.yml configuration file --- .github/workflows/.yamllint.yml => .yamllint.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/.yamllint.yml => .yamllint.yml (100%) diff --git a/.github/workflows/.yamllint.yml b/.yamllint.yml similarity index 100% rename from .github/workflows/.yamllint.yml rename to .yamllint.yml From 1fccef049e5ea7194b7bd13b2aa7baf7886cbfed Mon Sep 17 00:00:00 2001 From: dualityps <4126225+ticstyle@users.noreply.github.com> Date: Mon, 13 Jul 2026 22:38:13 +0200 Subject: [PATCH 07/10] Update .yamllint.yml rules for Home Assistant --- .yamllint.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/.yamllint.yml b/.yamllint.yml index acf8674..c083d82 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -4,16 +4,8 @@ extends: default rules: # Allow long lines inside blueprint descriptions and markdown line-length: disable - # Ignore Home Assistant custom tags like !input, !secret, !include - custom-tags: - - '!input' - - '!secret' - - '!include' - - '!include_dir_list' - - '!include_dir_named' - - '!include_dir_merge_list' - - '!include_dir_merge_named' - # Allow flexible truthy values + + # Allow truthy values commonly used in Home Assistant truthy: allowed-values: - 'true' @@ -23,5 +15,10 @@ rules: - 'yes' - 'no' + # Allow standard Home Assistant block sequence indentation + indentation: + spaces: 2 + indent-sequences: whatever + ignore: | .git/ From c94d2f2baa7d2473195d0e328380387278e6d922 Mon Sep 17 00:00:00 2001 From: dualityps <4126225+ticstyle@users.noreply.github.com> Date: Mon, 13 Jul 2026 22:41:30 +0200 Subject: [PATCH 08/10] Update .yamllint.yml to disable strict rules --- .yamllint.yml | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/.yamllint.yml b/.yamllint.yml index c083d82..ee2b86c 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -2,20 +2,24 @@ extends: default rules: - # Allow long lines inside blueprint descriptions and markdown + # Disable strict document start requirement ('---' at top of file) + document-start: disable + + # Disable strict line length limits line-length: disable - # Allow truthy values commonly used in Home Assistant - truthy: - allowed-values: - - 'true' - - 'false' - - 'on' - - 'off' - - 'yes' - - 'no' + # Disable strict comment spacing rules + comments: disable + comments-indentation: disable + + # Disable trailing whitespace and empty line checks + trailing-spaces: disable + empty-lines: disable + + # Allow boolean values common in Home Assistant + truthy: disable - # Allow standard Home Assistant block sequence indentation + # Allow flexible sequence indentation indentation: spaces: 2 indent-sequences: whatever From 290a60df820be30e34853bbe7347530082c9016a Mon Sep 17 00:00:00 2001 From: dualityps <4126225+ticstyle@users.noreply.github.com> Date: Mon, 13 Jul 2026 22:47:56 +0200 Subject: [PATCH 09/10] Refactor validate.yml for branch syntax and linting Updated YAML linting command format and branch syntax. --- .github/workflows/validate.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index 8da5414..ca3ac46 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -2,9 +2,9 @@ name: Validate Blueprint on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] + branches: [main] jobs: yamllint: @@ -23,7 +23,7 @@ jobs: run: pip install yamllint - name: 🎛️ Run yamllint - run: yamllint -c .yamllint.yml . + run: yamllint -f github -c .yamllint.yml . ha-config-check: name: 🏠 Home Assistant Config Check From ca2bfae9229c090a2aa0f06a9a8899e681597a47 Mon Sep 17 00:00:00 2001 From: dualityps <4126225+ticstyle@users.noreply.github.com> Date: Mon, 13 Jul 2026 22:48:06 +0200 Subject: [PATCH 10/10] Modify .yamllint.yml to adjust linting rules Updated YAML linting rules to disable cosmetic checks and allow more flexibility. --- .yamllint.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.yamllint.yml b/.yamllint.yml index ee2b86c..ee48d68 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -2,22 +2,15 @@ extends: default rules: - # Disable strict document start requirement ('---' at top of file) + # Disable cosmetic rules document-start: disable - - # Disable strict line length limits line-length: disable - - # Disable strict comment spacing rules comments: disable comments-indentation: disable - - # Disable trailing whitespace and empty line checks trailing-spaces: disable empty-lines: disable - - # Allow boolean values common in Home Assistant truthy: disable + brackets: disable # Allow flexible sequence indentation indentation: