Merge branch 'main' of https://github.com/edwardtfn/TX-Ultimate-Easy
This commit is contained in:
3
.github/workflows/validate_esphome_beta.yml
vendored
3
.github/workflows/validate_esphome_beta.yml
vendored
@@ -1,8 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: Validate ESPHome (Beta)
|
name: Validate ESPHome (Beta)
|
||||||
|
|
||||||
# yamllint disable-line rule:truthy
|
on: # yamllint disable-line rule:truthy
|
||||||
on:
|
|
||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
- "*.yaml"
|
- "*.yaml"
|
||||||
|
|||||||
51
.github/workflows/versioning.yml
vendored
Normal file
51
.github/workflows/versioning.yml
vendored
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# Workflow for managing versioning, tagging, and conditional updates
|
||||||
|
---
|
||||||
|
name: Bump Version and Tag
|
||||||
|
|
||||||
|
on: # yamllint disable-line rule:truthy
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
update_stable:
|
||||||
|
description: "Update stable tag?"
|
||||||
|
required: true
|
||||||
|
default: "false"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
versioning:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Set up Git
|
||||||
|
run: |
|
||||||
|
git config user.name "GitHub Actions"
|
||||||
|
git config user.email "actions@github.com"
|
||||||
|
|
||||||
|
- name: Bump Version
|
||||||
|
run: |
|
||||||
|
chmod +x ./versioning/bump_version.sh
|
||||||
|
./versioning/bump_version.sh
|
||||||
|
|
||||||
|
- name: Push Changes and Tags
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: |
|
||||||
|
if ! git push origin main; then
|
||||||
|
echo "Failed to push to main branch"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! git push origin --tags --force; then
|
||||||
|
echo "Failed to push tags"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Conditionally Update Stable Tag
|
||||||
|
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.update_stable == 'true' }}
|
||||||
|
run: |
|
||||||
|
git tag -f stable
|
||||||
|
git push origin stable --force
|
||||||
|
...
|
||||||
@@ -21,9 +21,9 @@ substitutions:
|
|||||||
LIGHT_MODE_BOTTOM_TEXT: "Bottom"
|
LIGHT_MODE_BOTTOM_TEXT: "Bottom"
|
||||||
LIGHT_MODE_TOP_TEXT: "Top"
|
LIGHT_MODE_TOP_TEXT: "Top"
|
||||||
|
|
||||||
LIGHT_TRANSITION_TURN_ON: '0' # Transition time in msec
|
LIGHT_TRANSITION_TURN_ON: '0' # Transition time in msec
|
||||||
LIGHT_TRANSITION_TURN_OFF: '0' # Transition time in msec
|
LIGHT_TRANSITION_TURN_OFF: '0' # Transition time in msec
|
||||||
LIGHT_BRIGHTNESS_TURN_ON: '0' # Brightness (1 to 100%, 0 to not set it)
|
LIGHT_BRIGHTNESS_TURN_ON: '0' # Brightness (1 to 100%, 0 to not set it)
|
||||||
|
|
||||||
globals:
|
globals:
|
||||||
- id: gb_lights_1
|
- id: gb_lights_1
|
||||||
@@ -34,27 +34,7 @@ globals:
|
|||||||
restore_value: false
|
restore_value: false
|
||||||
|
|
||||||
light:
|
light:
|
||||||
- id: light_output_1
|
# These lights are controlling the LEDs on the device
|
||||||
name: Light output 1
|
|
||||||
internal: true
|
|
||||||
platform: binary
|
|
||||||
output: output_relay_1
|
|
||||||
- id: light_output_2
|
|
||||||
name: Light output 2
|
|
||||||
internal: true
|
|
||||||
platform: binary
|
|
||||||
output: output_relay_2
|
|
||||||
- id: light_output_3
|
|
||||||
name: Light output 3
|
|
||||||
internal: true
|
|
||||||
platform: binary
|
|
||||||
output: output_relay_3
|
|
||||||
- id: light_output_4
|
|
||||||
name: Light output 4
|
|
||||||
internal: true
|
|
||||||
platform: binary
|
|
||||||
output: output_relay_4
|
|
||||||
|
|
||||||
- id: light_full
|
- id: light_full
|
||||||
name: Light - All
|
name: Light - All
|
||||||
internal: true
|
internal: true
|
||||||
@@ -65,11 +45,51 @@ light:
|
|||||||
num_leds: 32
|
num_leds: 32
|
||||||
pin: GPIO13
|
pin: GPIO13
|
||||||
|
|
||||||
- id: light_eu
|
# Those lights are available based on the model selections
|
||||||
|
- &light_partition_with_effects
|
||||||
|
id: light_eu
|
||||||
name: Light
|
name: Light
|
||||||
|
platform: partition
|
||||||
|
default_transition_length: ${default_transition_length}
|
||||||
internal: true
|
internal: true
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
effects:
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_effects.yaml
|
- addressable_rainbow:
|
||||||
|
name: "Rainbow"
|
||||||
|
- addressable_rainbow:
|
||||||
|
name: "Rainbow - Fast"
|
||||||
|
speed: 50
|
||||||
|
- pulse:
|
||||||
|
name: "Pulse"
|
||||||
|
transition_length: 1s
|
||||||
|
update_interval: 1s
|
||||||
|
- pulse:
|
||||||
|
name: "Pulse - Slow"
|
||||||
|
transition_length: 2s
|
||||||
|
update_interval: 2s
|
||||||
|
- addressable_scan:
|
||||||
|
name: "Scan"
|
||||||
|
move_interval: 100ms
|
||||||
|
scan_width: 3
|
||||||
|
- addressable_twinkle:
|
||||||
|
name: "Twinkle"
|
||||||
|
twinkle_probability: 5%
|
||||||
|
progress_interval: 4ms
|
||||||
|
- addressable_random_twinkle:
|
||||||
|
name: "Random Twinkle"
|
||||||
|
twinkle_probability: 20%
|
||||||
|
progress_interval: 32ms
|
||||||
|
- addressable_fireworks:
|
||||||
|
name: "Fireworks"
|
||||||
|
update_interval: 32ms
|
||||||
|
spark_probability: 10%
|
||||||
|
use_random_color: false
|
||||||
|
fade_out_rate: 120
|
||||||
|
- addressable_flicker:
|
||||||
|
name: "Flicker"
|
||||||
|
update_interval: 16ms
|
||||||
|
intensity: 5%
|
||||||
|
- random:
|
||||||
|
name: "Random"
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 0
|
from: 0
|
||||||
@@ -77,20 +97,17 @@ light:
|
|||||||
|
|
||||||
- id: light_us
|
- id: light_us
|
||||||
name: Light
|
name: Light
|
||||||
internal: true
|
<<: *light_partition_with_effects
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_effects.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 0
|
from: 0
|
||||||
to: 31
|
to: 31
|
||||||
|
|
||||||
# Those lights are available based on the model selections
|
- &light_partition_with_effects_disabled
|
||||||
- id: light_eu_bottom
|
id: light_eu_bottom
|
||||||
name: Light - Bottom
|
name: Light - Bottom
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
disabled_by_default: true
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
<<: *light_partition_with_effects
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_effects.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 6
|
from: 6
|
||||||
@@ -98,9 +115,7 @@ light:
|
|||||||
reversed: true
|
reversed: true
|
||||||
- id: light_eu_left
|
- id: light_eu_left
|
||||||
name: Light - Left
|
name: Light - Left
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
<<: *light_partition_with_effects_disabled
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_effects.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 13
|
from: 13
|
||||||
@@ -108,9 +123,7 @@ light:
|
|||||||
reversed: true
|
reversed: true
|
||||||
- id: light_eu_right
|
- id: light_eu_right
|
||||||
name: Light - Right
|
name: Light - Right
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
<<: *light_partition_with_effects_disabled
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_effects.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 27
|
from: 27
|
||||||
@@ -122,9 +135,7 @@ light:
|
|||||||
reversed: false
|
reversed: false
|
||||||
- id: light_eu_top
|
- id: light_eu_top
|
||||||
name: Light - Top
|
name: Light - Top
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
<<: *light_partition_with_effects_disabled
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_effects.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 20
|
from: 20
|
||||||
@@ -132,9 +143,7 @@ light:
|
|||||||
reversed: false
|
reversed: false
|
||||||
- id: light_us_bottom
|
- id: light_us_bottom
|
||||||
name: Light - Bottom
|
name: Light - Bottom
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
<<: *light_partition_with_effects_disabled
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_effects.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 9
|
from: 9
|
||||||
@@ -142,9 +151,7 @@ light:
|
|||||||
reversed: true
|
reversed: true
|
||||||
- id: light_us_left
|
- id: light_us_left
|
||||||
name: Light - Left
|
name: Light - Left
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
<<: *light_partition_with_effects_disabled
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_effects.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 15
|
from: 15
|
||||||
@@ -152,9 +159,7 @@ light:
|
|||||||
reversed: true
|
reversed: true
|
||||||
- id: light_us_right
|
- id: light_us_right
|
||||||
name: Light - Right
|
name: Light - Right
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
<<: *light_partition_with_effects_disabled
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_effects.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 31
|
from: 31
|
||||||
@@ -166,444 +171,399 @@ light:
|
|||||||
reversed: false
|
reversed: false
|
||||||
- id: light_us_top
|
- id: light_us_top
|
||||||
name: Light - Top
|
name: Light - Top
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
<<: *light_partition_with_effects_disabled
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_effects.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 25
|
from: 25
|
||||||
to: 30
|
to: 30
|
||||||
reversed: false
|
reversed: false
|
||||||
|
|
||||||
- id: light_00
|
- &light_partition_individual_led
|
||||||
|
id: light_00
|
||||||
name: Light - LED 00
|
name: Light - LED 00
|
||||||
|
platform: partition
|
||||||
disabled_by_default: true
|
disabled_by_default: true
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
default_transition_length: ${default_transition_length}
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 0
|
from: 0
|
||||||
to: 0
|
to: 0
|
||||||
- id: light_01
|
- id: light_01
|
||||||
name: Light - LED 01
|
name: Light - LED 01
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 1
|
from: 1
|
||||||
to: 1
|
to: 1
|
||||||
- id: light_02
|
- id: light_02
|
||||||
name: Light - LED 02
|
name: Light - LED 02
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 2
|
from: 2
|
||||||
to: 2
|
to: 2
|
||||||
- id: light_03
|
- id: light_03
|
||||||
name: Light - LED 03
|
name: Light - LED 03
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 3
|
from: 3
|
||||||
to: 3
|
to: 3
|
||||||
- id: light_04
|
- id: light_04
|
||||||
name: Light - LED 04
|
name: Light - LED 04
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 4
|
from: 4
|
||||||
to: 4
|
to: 4
|
||||||
- id: light_05
|
- id: light_05
|
||||||
name: Light - LED 05
|
name: Light - LED 05
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 5
|
from: 5
|
||||||
to: 5
|
to: 5
|
||||||
- id: light_06
|
- id: light_06
|
||||||
name: Light - LED 06
|
name: Light - LED 06
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 6
|
from: 6
|
||||||
to: 6
|
to: 6
|
||||||
- id: light_07
|
- id: light_07
|
||||||
name: Light - LED 07
|
name: Light - LED 07
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 7
|
from: 7
|
||||||
to: 7
|
to: 7
|
||||||
- id: light_08
|
- id: light_08
|
||||||
name: Light - LED 08
|
name: Light - LED 08
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 8
|
from: 8
|
||||||
to: 8
|
to: 8
|
||||||
- id: light_09
|
- id: light_09
|
||||||
name: Light - LED 09
|
name: Light - LED 09
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 9
|
from: 9
|
||||||
to: 9
|
to: 9
|
||||||
- id: light_10
|
- id: light_10
|
||||||
name: Light - LED 10
|
name: Light - LED 10
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 10
|
from: 10
|
||||||
to: 10
|
to: 10
|
||||||
- id: light_11
|
- id: light_11
|
||||||
name: Light - LED 11
|
name: Light - LED 11
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 11
|
from: 11
|
||||||
to: 11
|
to: 11
|
||||||
- id: light_12
|
- id: light_12
|
||||||
name: Light - LED 12
|
name: Light - LED 12
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 12
|
from: 12
|
||||||
to: 12
|
to: 12
|
||||||
- id: light_13
|
- id: light_13
|
||||||
name: Light - LED 13
|
name: Light - LED 13
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 13
|
from: 13
|
||||||
to: 13
|
to: 13
|
||||||
- id: light_14
|
- id: light_14
|
||||||
name: Light - LED 14
|
name: Light - LED 14
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 14
|
from: 14
|
||||||
to: 14
|
to: 14
|
||||||
- id: light_15
|
- id: light_15
|
||||||
name: Light - LED 15
|
name: Light - LED 15
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 15
|
from: 15
|
||||||
to: 15
|
to: 15
|
||||||
- id: light_16
|
- id: light_16
|
||||||
name: Light - LED 16
|
name: Light - LED 16
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 16
|
from: 16
|
||||||
to: 16
|
to: 16
|
||||||
- id: light_17
|
- id: light_17
|
||||||
name: Light - LED 17
|
name: Light - LED 17
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 17
|
from: 17
|
||||||
to: 17
|
to: 17
|
||||||
- id: light_18
|
- id: light_18
|
||||||
name: Light - LED 18
|
name: Light - LED 18
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 18
|
from: 18
|
||||||
to: 18
|
to: 18
|
||||||
- id: light_19
|
- id: light_19
|
||||||
name: Light - LED 19
|
name: Light - LED 19
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 19
|
from: 19
|
||||||
to: 19
|
to: 19
|
||||||
- id: light_20
|
- id: light_20
|
||||||
name: Light - LED 20
|
name: Light - LED 20
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 20
|
from: 20
|
||||||
to: 20
|
to: 20
|
||||||
- id: light_21
|
- id: light_21
|
||||||
name: Light - LED 21
|
name: Light - LED 21
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 21
|
from: 21
|
||||||
to: 21
|
to: 21
|
||||||
- id: light_22
|
- id: light_22
|
||||||
name: Light - LED 22
|
name: Light - LED 22
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 22
|
from: 22
|
||||||
to: 22
|
to: 22
|
||||||
- id: light_23
|
- id: light_23
|
||||||
name: Light - LED 23
|
name: Light - LED 23
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 23
|
from: 23
|
||||||
to: 23
|
to: 23
|
||||||
- id: light_24
|
- id: light_24
|
||||||
name: Light - LED 24
|
name: Light - LED 24
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 24
|
from: 24
|
||||||
to: 24
|
to: 24
|
||||||
- id: light_25
|
- id: light_25
|
||||||
name: Light - LED 25
|
name: Light - LED 25
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 25
|
from: 25
|
||||||
to: 25
|
to: 25
|
||||||
- id: light_26
|
- id: light_26
|
||||||
name: Light - LED 26
|
name: Light - LED 26
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 26
|
from: 26
|
||||||
to: 26
|
to: 26
|
||||||
- id: light_27
|
- id: light_27
|
||||||
name: Light - LED 27
|
name: Light - LED 27
|
||||||
disabled_by_default: true
|
<<: *light_partition_individual_led
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 27
|
from: 27
|
||||||
to: 27
|
to: 27
|
||||||
- id: light_28
|
- id: light_28 # US Model only
|
||||||
name: Light - LED 28
|
name: Light - LED 28
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
internal: true
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
<<: *light_partition_individual_led
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 28
|
from: 28
|
||||||
to: 28
|
to: 28
|
||||||
- id: light_29
|
- id: light_29 # US Model only
|
||||||
name: Light - LED 29
|
name: Light - LED 29
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
internal: true
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
<<: *light_partition_individual_led
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 29
|
from: 29
|
||||||
to: 29
|
to: 29
|
||||||
- id: light_30
|
- id: light_30 # US Model only
|
||||||
name: Light - LED 30
|
name: Light - LED 30
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
internal: true
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
<<: *light_partition_individual_led
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 30
|
from: 30
|
||||||
to: 30
|
to: 30
|
||||||
- id: light_31
|
- id: light_31 # US Model only
|
||||||
name: Light - LED 31
|
name: Light - LED 31
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_internal.yaml
|
internal: true
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
<<: *light_partition_individual_led
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 31
|
from: 31
|
||||||
to: 31
|
to: 31
|
||||||
|
|
||||||
- id: light_eu_rl_1_1_bottom
|
# These lights are used to indicate relay's statuses
|
||||||
|
- &light_partition_relays
|
||||||
|
id: light_eu_rl_1_1_bottom
|
||||||
name: Light - Relay 1 of 1 (bottom)
|
name: Light - Relay 1 of 1 (bottom)
|
||||||
|
platform: partition
|
||||||
internal: true
|
internal: true
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
default_transition_length: ${default_transition_length}
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 9
|
from: 9
|
||||||
to: 9
|
to: 9
|
||||||
- id: light_eu_rl_1_1_top
|
- id: light_eu_rl_1_1_top
|
||||||
name: Light - Relay 1 of 1 (top)
|
name: Light - Relay 1 of 1 (top)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 23
|
from: 23
|
||||||
to: 23
|
to: 23
|
||||||
- id: light_eu_rl_1_2_bottom
|
- id: light_eu_rl_1_2_bottom
|
||||||
name: Light - Relay 1 of 2 (bottom)
|
name: Light - Relay 1 of 2 (bottom)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 11
|
from: 11
|
||||||
to: 11
|
to: 11
|
||||||
- id: light_eu_rl_1_2_top
|
- id: light_eu_rl_1_2_top
|
||||||
name: Light - Relay 1 of 2 (top)
|
name: Light - Relay 1 of 2 (top)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 21
|
from: 21
|
||||||
to: 21
|
to: 21
|
||||||
- id: light_eu_rl_2_2_bottom
|
- id: light_eu_rl_2_2_bottom
|
||||||
name: Light - Relay 2 of 2 (bottom)
|
name: Light - Relay 2 of 2 (bottom)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 7
|
from: 7
|
||||||
to: 7
|
to: 7
|
||||||
- id: light_eu_rl_2_2_top
|
- id: light_eu_rl_2_2_top
|
||||||
name: Light - Relay 2 of 2 (top)
|
name: Light - Relay 2 of 2 (top)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 25
|
from: 25
|
||||||
to: 25
|
to: 25
|
||||||
- id: light_eu_rl_1_3_bottom
|
- id: light_eu_rl_1_3_bottom
|
||||||
name: Light - Relay 1 of 3 (bottom)
|
name: Light - Relay 1 of 3 (bottom)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 12
|
from: 12
|
||||||
to: 12
|
to: 12
|
||||||
- id: light_eu_rl_1_3_top
|
- id: light_eu_rl_1_3_top
|
||||||
name: Light - Relay 1 of 3 (top)
|
name: Light - Relay 1 of 3 (top)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 20
|
from: 20
|
||||||
to: 20
|
to: 20
|
||||||
- id: light_eu_rl_2_3_bottom
|
- id: light_eu_rl_2_3_bottom
|
||||||
name: Light - Relay 2 of 3 (bottom)
|
name: Light - Relay 2 of 3 (bottom)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 9
|
from: 9
|
||||||
to: 9
|
to: 9
|
||||||
- id: light_eu_rl_2_3_top
|
- id: light_eu_rl_2_3_top
|
||||||
name: Light - Relay 2 of 3 (top)
|
name: Light - Relay 2 of 3 (top)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 23
|
from: 23
|
||||||
to: 23
|
to: 23
|
||||||
- id: light_eu_rl_3_3_bottom
|
- id: light_eu_rl_3_3_bottom
|
||||||
name: Light - Relay 3 of 3 (bottom)
|
name: Light - Relay 3 of 3 (bottom)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 6
|
from: 6
|
||||||
to: 6
|
to: 6
|
||||||
- id: light_eu_rl_3_3_top
|
- id: light_eu_rl_3_3_top
|
||||||
name: Light - Relay 3 of 3 (top)
|
name: Light - Relay 3 of 3 (top)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 26
|
from: 26
|
||||||
to: 26
|
to: 26
|
||||||
- id: light_eu_rl_1_4_bottom
|
- id: light_eu_rl_1_4_bottom
|
||||||
name: Light - Relay 1 of 4 (bottom)
|
name: Light - Relay 1 of 4 (bottom)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 12
|
from: 12
|
||||||
to: 12
|
to: 12
|
||||||
- id: light_eu_rl_1_4_top
|
- id: light_eu_rl_1_4_top
|
||||||
name: Light - Relay 1 of 4 (top)
|
name: Light - Relay 1 of 4 (top)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 20
|
from: 20
|
||||||
to: 20
|
to: 20
|
||||||
- id: light_eu_rl_2_4_bottom
|
- id: light_eu_rl_2_4_bottom
|
||||||
name: Light - Relay 2 of 4 (bottom)
|
name: Light - Relay 2 of 4 (bottom)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 10
|
from: 10
|
||||||
to: 10
|
to: 10
|
||||||
- id: light_eu_rl_2_4_top
|
- id: light_eu_rl_2_4_top
|
||||||
name: Light - Relay 2 of 4 (top)
|
name: Light - Relay 2 of 4 (top)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 22
|
from: 22
|
||||||
to: 22
|
to: 22
|
||||||
- id: light_eu_rl_3_4_bottom
|
- id: light_eu_rl_3_4_bottom
|
||||||
name: Light - Relay 3 of 4 (bottom)
|
name: Light - Relay 3 of 4 (bottom)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 8
|
from: 8
|
||||||
to: 8
|
to: 8
|
||||||
- id: light_eu_rl_3_4_top
|
- id: light_eu_rl_3_4_top
|
||||||
name: Light - Relay 3 of 4 (top)
|
name: Light - Relay 3 of 4 (top)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 24
|
from: 24
|
||||||
to: 24
|
to: 24
|
||||||
- id: light_eu_rl_4_4_bottom
|
- id: light_eu_rl_4_4_bottom
|
||||||
name: Light - Relay 4 of 4 (bottom)
|
name: Light - Relay 4 of 4 (bottom)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 6
|
from: 6
|
||||||
to: 6
|
to: 6
|
||||||
- id: light_eu_rl_4_4_top
|
- id: light_eu_rl_4_4_top
|
||||||
name: Light - Relay 4 of 4 (top)
|
name: Light - Relay 4 of 4 (top)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 26
|
from: 26
|
||||||
to: 26
|
to: 26
|
||||||
- id: light_us_rl_1_1_left
|
- id: light_us_rl_1_1_left
|
||||||
name: Light - Relay 1 of 1 (left)
|
name: Light - Relay 1 of 1 (left)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 15
|
from: 15
|
||||||
to: 24
|
to: 24
|
||||||
- id: light_us_rl_1_1_right
|
- id: light_us_rl_1_1_right
|
||||||
name: Light - Relay 1 of 1 (right)
|
name: Light - Relay 1 of 1 (right)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 31
|
from: 31
|
||||||
@@ -613,16 +573,14 @@ light:
|
|||||||
to: 8
|
to: 8
|
||||||
- id: light_us_rl_1_2_left
|
- id: light_us_rl_1_2_left
|
||||||
name: Light - Relay 1 of 2 (left)
|
name: Light - Relay 1 of 2 (left)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 20
|
from: 20
|
||||||
to: 24
|
to: 24
|
||||||
- id: light_us_rl_1_2_right
|
- id: light_us_rl_1_2_right
|
||||||
name: Light - Relay 1 of 2 (right)
|
name: Light - Relay 1 of 2 (right)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 31
|
from: 31
|
||||||
@@ -632,128 +590,112 @@ light:
|
|||||||
to: 3
|
to: 3
|
||||||
- id: light_us_rl_2_2_left
|
- id: light_us_rl_2_2_left
|
||||||
name: Light - Relay 2 of 2 (left)
|
name: Light - Relay 2 of 2 (left)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 15
|
from: 15
|
||||||
to: 19
|
to: 19
|
||||||
- id: light_us_rl_2_2_right
|
- id: light_us_rl_2_2_right
|
||||||
name: Light - Relay 2 of 2 (right)
|
name: Light - Relay 2 of 2 (right)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 4
|
from: 4
|
||||||
to: 8
|
to: 8
|
||||||
- id: light_us_rl_1_3_left
|
- id: light_us_rl_1_3_left
|
||||||
name: Light - Relay 1 of 3 (left)
|
name: Light - Relay 1 of 3 (left)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 22
|
from: 22
|
||||||
to: 23
|
to: 23
|
||||||
- id: light_us_rl_1_3_right
|
- id: light_us_rl_1_3_right
|
||||||
name: Light - Relay 1 of 3 (right)
|
name: Light - Relay 1 of 3 (right)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 0
|
from: 0
|
||||||
to: 1
|
to: 1
|
||||||
- id: light_us_rl_2_3_left
|
- id: light_us_rl_2_3_left
|
||||||
name: Light - Relay 2 of 3 (left)
|
name: Light - Relay 2 of 3 (left)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 19
|
from: 19
|
||||||
to: 20
|
to: 20
|
||||||
- id: light_us_rl_2_3_right
|
- id: light_us_rl_2_3_right
|
||||||
name: Light - Relay 2 of 3 (right)
|
name: Light - Relay 2 of 3 (right)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 3
|
from: 3
|
||||||
to: 4
|
to: 4
|
||||||
- id: light_us_rl_3_3_left
|
- id: light_us_rl_3_3_left
|
||||||
name: Light - Relay 3 of 3 (left)
|
name: Light - Relay 3 of 3 (left)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 17
|
from: 17
|
||||||
to: 18
|
to: 18
|
||||||
- id: light_us_rl_3_3_right
|
- id: light_us_rl_3_3_right
|
||||||
name: Light - Relay 3 of 3 (right)
|
name: Light - Relay 3 of 3 (right)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 6
|
from: 6
|
||||||
to: 7
|
to: 7
|
||||||
- id: light_us_rl_1_4_left
|
- id: light_us_rl_1_4_left
|
||||||
name: Light - Relay 1 of 4 (left)
|
name: Light - Relay 1 of 4 (left)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 12
|
from: 12
|
||||||
to: 12
|
to: 12
|
||||||
- id: light_us_rl_1_4_right
|
- id: light_us_rl_1_4_right
|
||||||
name: Light - Relay 1 of 4 (right)
|
name: Light - Relay 1 of 4 (right)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 31
|
from: 31
|
||||||
to: 31
|
to: 31
|
||||||
- id: light_us_rl_2_4_left
|
- id: light_us_rl_2_4_left
|
||||||
name: Light - Relay 2 of 4 (left)
|
name: Light - Relay 2 of 4 (left)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 24
|
from: 24
|
||||||
to: 24
|
to: 24
|
||||||
- id: light_us_rl_2_4_right
|
- id: light_us_rl_2_4_right
|
||||||
name: Light - Relay 2 of 4 (right)
|
name: Light - Relay 2 of 4 (right)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 2
|
from: 2
|
||||||
to: 2
|
to: 2
|
||||||
- id: light_us_rl_3_4_left
|
- id: light_us_rl_3_4_left
|
||||||
name: Light - Relay 3 of 4 (left)
|
name: Light - Relay 3 of 4 (left)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 21
|
from: 21
|
||||||
to: 21
|
to: 21
|
||||||
- id: light_us_rl_3_4_right
|
- id: light_us_rl_3_4_right
|
||||||
name: Light - Relay 3 of 4 (right)
|
name: Light - Relay 3 of 4 (right)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 4
|
from: 4
|
||||||
to: 4
|
to: 4
|
||||||
- id: light_us_rl_4_4_left
|
- id: light_us_rl_4_4_left
|
||||||
name: Light - Relay 4 of 4 (left)
|
name: Light - Relay 4 of 4 (left)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 19
|
from: 19
|
||||||
to: 19
|
to: 19
|
||||||
- id: light_us_rl_4_4_right
|
- id: light_us_rl_4_4_right
|
||||||
name: Light - Relay 4 of 4 (right)
|
name: Light - Relay 4 of 4 (right)
|
||||||
internal: true
|
<<: *light_partition_relays
|
||||||
<<: !include TX-Ultimate-Easy-ESPHome_core_hw_leds_light_base.yaml
|
|
||||||
segments:
|
segments:
|
||||||
- id: light_full
|
- id: light_full
|
||||||
from: 7
|
from: 7
|
||||||
@@ -817,7 +759,7 @@ script:
|
|||||||
id(gb_lights_2) = { light_eu_rl_1_3_top, light_eu_rl_2_3_top, light_eu_rl_3_3_top };
|
id(gb_lights_2) = { light_eu_rl_1_3_top, light_eu_rl_2_3_top, light_eu_rl_3_3_top };
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4: // 3 Gang
|
case 4: // 4 Gang
|
||||||
if (is_model_us) {
|
if (is_model_us) {
|
||||||
id(gb_lights_1) = { light_us_rl_1_4_left, light_us_rl_2_4_left,
|
id(gb_lights_1) = { light_us_rl_1_4_left, light_us_rl_2_4_left,
|
||||||
light_us_rl_3_4_left, light_us_rl_4_4_left };
|
light_us_rl_3_4_left, light_us_rl_4_4_left };
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
platform: partition
|
|
||||||
default_transition_length: ${default_transition_length}
|
|
||||||
...
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
---
|
|
||||||
effects:
|
|
||||||
- addressable_rainbow:
|
|
||||||
name: "Rainbow"
|
|
||||||
- addressable_rainbow:
|
|
||||||
name: "Rainbow - Fast"
|
|
||||||
speed: 50
|
|
||||||
- pulse:
|
|
||||||
name: "Pulse"
|
|
||||||
transition_length: 1s
|
|
||||||
update_interval: 1s
|
|
||||||
- pulse:
|
|
||||||
name: "Pulse - Slow"
|
|
||||||
transition_length: 2s
|
|
||||||
update_interval: 2s
|
|
||||||
- addressable_scan:
|
|
||||||
name: "Scan"
|
|
||||||
move_interval: 100ms
|
|
||||||
scan_width: 3
|
|
||||||
- addressable_twinkle:
|
|
||||||
name: "Twinkle"
|
|
||||||
twinkle_probability: 5%
|
|
||||||
progress_interval: 4ms
|
|
||||||
- addressable_random_twinkle:
|
|
||||||
name: "Random Twinkle"
|
|
||||||
twinkle_probability: 20%
|
|
||||||
progress_interval: 32ms
|
|
||||||
- addressable_fireworks:
|
|
||||||
name: "Fireworks"
|
|
||||||
update_interval: 32ms
|
|
||||||
spark_probability: 10%
|
|
||||||
use_random_color: false
|
|
||||||
fade_out_rate: 120
|
|
||||||
- addressable_flicker:
|
|
||||||
name: "Flicker"
|
|
||||||
update_interval: 16ms
|
|
||||||
intensity: 5%
|
|
||||||
- random:
|
|
||||||
name: "Random"
|
|
||||||
...
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
internal: true
|
|
||||||
disabled_by_default: true
|
|
||||||
...
|
|
||||||
@@ -66,6 +66,27 @@ globals:
|
|||||||
restore_value: false
|
restore_value: false
|
||||||
initial_value: 'false'
|
initial_value: 'false'
|
||||||
|
|
||||||
|
light:
|
||||||
|
# These lights are used for the physical relays to be shown as lights
|
||||||
|
- &light_binary_base
|
||||||
|
id: light_output_1
|
||||||
|
name: Light output 1
|
||||||
|
output: output_relay_1
|
||||||
|
platform: binary
|
||||||
|
internal: true
|
||||||
|
- id: light_output_2
|
||||||
|
name: Light output 2
|
||||||
|
output: output_relay_2
|
||||||
|
<<: *light_binary_base
|
||||||
|
- id: light_output_3
|
||||||
|
name: Light output 3
|
||||||
|
output: output_relay_3
|
||||||
|
<<: *light_binary_base
|
||||||
|
- id: light_output_4
|
||||||
|
name: Light output 4
|
||||||
|
output: output_relay_4
|
||||||
|
<<: *light_binary_base
|
||||||
|
|
||||||
output:
|
output:
|
||||||
- id: output_relay_1
|
- id: output_relay_1
|
||||||
platform: gpio
|
platform: gpio
|
||||||
|
|||||||
@@ -98,17 +98,15 @@ TX Ultimate Easy offers extensive configuration options:
|
|||||||
We welcome contributions from the community! Here's how you can help:
|
We welcome contributions from the community! Here's how you can help:
|
||||||
|
|
||||||
1. Fork the repository
|
1. Fork the repository
|
||||||
2. Create a feature branch from `dev`
|
2. Create a feature branch from `main`
|
||||||
3. Make your changes
|
3. Make your changes
|
||||||
4. Submit a pull request targeting the `dev` branch
|
4. Submit a pull request targeting the `main` branch
|
||||||
|
|
||||||
Please ensure your code follows our standards:
|
Please ensure your code follows our standards:
|
||||||
- Passes all lint checks (YAML, C++, Markdown)
|
- Passes all lint checks (YAML, C++, Markdown)
|
||||||
- Includes appropriate documentation
|
- Includes appropriate documentation
|
||||||
- Follows existing code style
|
- Follows existing code style
|
||||||
|
|
||||||
All pull requests should be made against the `dev` branch. We don't accept pull requests directly to `main` as it's reserved for stable releases.
|
|
||||||
|
|
||||||
## Support and Community
|
## Support and Community
|
||||||
|
|
||||||
Need help? Here are your options:
|
Need help? Here are your options:
|
||||||
|
|||||||
66
versioning/README.md
Normal file
66
versioning/README.md
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
# Versioning
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
This project uses a time-based versioning scheme: `year.month.sequential_number`.
|
||||||
|
This scheme makes it easy to identify when a version was released and provides a clear order for releases within a given month.
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
- `2024.12.01` – First release of December 2024.
|
||||||
|
- `2024.12.02` – Second release of December 2024.
|
||||||
|
- `2025.01.01` – First release of January 2025.
|
||||||
|
|
||||||
|
## Files
|
||||||
|
- **`VERSION`**: Contains the current version of the project as plain text.
|
||||||
|
- **`bump_version.sh`**: A script to increment the version based on the current date and release sequence.
|
||||||
|
- **`README.md`**: Documentation for the versioning process.
|
||||||
|
|
||||||
|
## Versioning Rules
|
||||||
|
1. The version format is `YYYY.MM.NN`, where:
|
||||||
|
- `YYYY` is the current year.
|
||||||
|
- `MM` is the current month (two digits).
|
||||||
|
- `NN` is the sequential release number within the month (starting at `01`).
|
||||||
|
2. On each new merge to the `main` branch:
|
||||||
|
- If the month hasn’t changed, the sequential number (`NN`) is incremented.
|
||||||
|
- If the month has changed, the sequential number resets to `01`.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
### Automatically Managed
|
||||||
|
The versioning process is fully integrated into the workflow. Developers do not need to manually increment or manage versions.
|
||||||
|
Simply push your changes, and the system will handle version updates and tagging automatically.
|
||||||
|
|
||||||
|
### Access Version in Code
|
||||||
|
The version is accessible in the ESPHome YAML configuration file (`TX-Ultimate-Easy-ESPHome_core.yaml`) using the following syntax:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
substitutions:
|
||||||
|
version: <<: !include ../versioning/VERSION
|
||||||
|
```
|
||||||
|
|
||||||
|
This ensures the correct version is used directly in the ESPHome setup without requiring manual updates.
|
||||||
|
|
||||||
|
## Benefits of this Versioning Approach
|
||||||
|
1. **Clarity**: Each version is tied to a specific point in time, making it easy to track releases.
|
||||||
|
2. **Automation**: The process is seamless and reduces manual effort.
|
||||||
|
3. **Scalability**: Supports frequent releases while keeping the versioning system organized.
|
||||||
|
4. **Traceability**: Git tags and the `VERSION` file ensure releases are well-documented and easily accessible.
|
||||||
|
|
||||||
|
## Extending the System
|
||||||
|
- Add more scripts to handle additional automation tasks, such as generating changelogs or notifying stakeholders of new releases.
|
||||||
|
- Enhance the `bump_version.sh` script to support different versioning schemes if needed.
|
||||||
|
- Integrate versioning information into your deployment pipelines to label builds with their corresponding version.
|
||||||
|
|
||||||
|
## Version Validation
|
||||||
|
|
||||||
|
The versioning system enforces strict format validation:
|
||||||
|
- Year must be a 4-digit number (YYYY)
|
||||||
|
- Month must be a 2-digit number (01-12)
|
||||||
|
- Sequence must be a 2-digit number (01-99)
|
||||||
|
|
||||||
|
The `bump_version.sh` script includes validation checks and will fail if:
|
||||||
|
- The version format is invalid
|
||||||
|
- The sequence number would exceed 99 in a month
|
||||||
|
|
||||||
|
### GitHub Actions Workflow Adjustment
|
||||||
|
The GitHub Actions workflow for versioning runs only when changes are merged into the `main` branch, ensuring no premature version updates during PR creation.
|
||||||
|
This behavior is automatically handled by the integrated workflow.
|
||||||
57
versioning/bump_version.sh
Normal file
57
versioning/bump_version.sh
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
VERSION_FILE="./versioning/VERSION"
|
||||||
|
VERSION_YAML_FILE="./versioning/VERSION_YAML"
|
||||||
|
|
||||||
|
# Read the current version
|
||||||
|
if [ -f "$VERSION_FILE" ]; then
|
||||||
|
CURRENT_VERSION=$(cat $VERSION_FILE)
|
||||||
|
else
|
||||||
|
CURRENT_VERSION="0.0.0" # Default if file doesn't exist
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Extract components
|
||||||
|
CURRENT_YEAR=$(date +%Y)
|
||||||
|
CURRENT_MONTH=$(date +%m)
|
||||||
|
if ! [[ "$CURRENT_VERSION" =~ ^[0-9]{4}\.[0-9]{2}\.[0-9]{2}$ ]]; then
|
||||||
|
echo "Error: Invalid version format in $VERSION_FILE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
CURRENT_SEQ=$(echo "$CURRENT_VERSION" | awk -F. '{print $3}')
|
||||||
|
|
||||||
|
VERSION_YEAR=$(echo "$CURRENT_VERSION" | awk -F. '{print $1}')
|
||||||
|
VERSION_MONTH=$(echo "$CURRENT_VERSION" | awk -F. '{print $2}')
|
||||||
|
|
||||||
|
# Determine new version
|
||||||
|
if [[ "$CURRENT_YEAR" == "$VERSION_YEAR" && "$CURRENT_MONTH" == "$VERSION_MONTH" ]]; then
|
||||||
|
NEXT_SEQ=$((10#$CURRENT_SEQ + 1))
|
||||||
|
if [ $NEXT_SEQ -gt 99 ]; then
|
||||||
|
echo "Error: Sequence number would exceed 99"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
NEW_SEQ=$(printf "%02d" $NEXT_SEQ)
|
||||||
|
else
|
||||||
|
NEW_SEQ="01" # Reset sequence for a new month
|
||||||
|
fi
|
||||||
|
|
||||||
|
NEW_VERSION="${CURRENT_YEAR}.${CURRENT_MONTH}.${NEW_SEQ}"
|
||||||
|
|
||||||
|
# Update the plain text VERSION file
|
||||||
|
echo "$NEW_VERSION" > "$VERSION_FILE"
|
||||||
|
|
||||||
|
# Update the YAML VERSION_YAML file
|
||||||
|
echo "version: $NEW_VERSION" > "$VERSION_YAML_FILE"
|
||||||
|
|
||||||
|
# Commit and tag
|
||||||
|
if ! git add "$VERSION_FILE" "$VERSION_YAML_FILE"; then
|
||||||
|
echo "Error: Failed to stage version files"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! git commit -m "Bump version to $NEW_VERSION"; then
|
||||||
|
echo "Error: Failed to commit version bump"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! git tag "v$NEW_VERSION"; then
|
||||||
|
echo "Error: Failed to create version tag"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
Reference in New Issue
Block a user