diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index 77561f4..495cbd4 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -208,7 +208,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l ##### BUTTONS ##### entity01: name: Button 01 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -217,6 +217,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity01_name: name: Name "Button 01" (Optional) description: '* *Button label - 10 characters are supported*' @@ -225,7 +230,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity02: name: Button 02 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -234,6 +239,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity02_name: name: Name "Button 02" (Optional) description: '* *Button label - 10 characters are supported*' @@ -242,7 +252,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity03: name: Button 03 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -251,6 +261,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity03_name: name: Name "Button 03" (Optional) description: '* *Button label - 10 characters are supported*' @@ -259,7 +274,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity04: name: Button 04 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -268,6 +283,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity04_name: name: Name "Button 04" (Optional) description: '* *Button label - 10 characters are supported*' @@ -276,7 +296,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity05: name: Button 05 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -285,6 +305,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity05_name: name: Name "Button 05" (Optional) description: '* *Button label - 10 characters are supported*' @@ -293,7 +318,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity06: name: Button 06 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -302,6 +327,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity06_name: name: Name "Button 06" (Optional) description: '* *Button label - 10 characters are supported*' @@ -310,7 +340,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity07: name: Button 07 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -319,6 +349,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity07_name: name: Name "Button 07" (Optional) description: '* *Button label - 10 characters are supported*' @@ -327,7 +362,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity08: name: Button 08 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -336,6 +371,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity08_name: name: Name "Button 08" (Optional) description: '* *Button label - 10 characters are supported*' @@ -344,7 +384,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity09: name: Button 09 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -353,6 +393,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity09_name: name: Name "Button 09" (Optional) description: '* *Button label - 10 characters are supported*' @@ -361,7 +406,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity10: name: Button 10 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -370,6 +415,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity10_name: name: Name "Button 10" (Optional) description: '* *Button label - 10 characters are supported*' @@ -378,7 +428,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity11: name: Button 11 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -387,6 +437,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity11_name: name: Name "Button 11" (Optional) description: '* *Button label - 10 characters are supported*' @@ -395,7 +450,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity12: name: Button 12 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -404,6 +459,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity12_name: name: Name "Button 12" (Optional) description: '* *Button label - 10 characters are supported*' @@ -412,7 +472,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity13: name: Button 13 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -421,6 +481,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity13_name: name: Name "Button 13" (Optional) description: '* *Button label - 10 characters are supported*' @@ -429,7 +494,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity14: name: Button 14 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -438,6 +503,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity14_name: name: Name "Button 14" (Optional) description: '* *Button label - 10 characters are supported*' @@ -446,7 +516,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity15: name: Button 15 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -455,6 +525,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity15_name: name: Name "Button 15" (Optional) description: '* *Button label - 10 characters are supported*' @@ -463,7 +538,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity16: name: Button 16 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -472,6 +547,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity16_name: name: Name "Button 16" (Optional) description: '* *Button label - 10 characters are supported*' @@ -480,7 +560,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity17: name: Button 17 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -489,6 +569,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity17_name: name: Name "Button 17" (Optional) description: '* *Button label - 10 characters are supported*' @@ -497,7 +582,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity18: name: Button 18 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -506,6 +591,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity18_name: name: Name "Button 18" (Optional) description: '* *Button label - 10 characters are supported*' @@ -514,7 +604,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity19: name: Button 19 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -523,6 +613,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity19_name: name: Name "Button 19" (Optional) description: '* *Button label - 10 characters are supported*' @@ -531,7 +626,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity20: name: Button 20 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -540,6 +635,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity20_name: name: Name "Button 20" (Optional) description: '* *Button label - 10 characters are supported*' @@ -548,7 +648,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity21: name: Button 21 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -557,6 +657,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity21_name: name: Name "Button 21" (Optional) description: '* *Button label - 10 characters are supported*' @@ -565,7 +670,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity22: name: Button 22 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -574,6 +679,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity22_name: name: Name "Button 22" (Optional) description: '* *Button label - 10 characters are supported*' @@ -582,7 +692,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity23: name: Button 23 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -591,6 +701,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity23_name: name: Name "Button 23" (Optional) description: '* *Button label - 10 characters are supported*' @@ -599,7 +714,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity24: name: Button 24 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -608,6 +723,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity24_name: name: Name "Button 24" (Optional) description: '* *Button label - 10 characters are supported*' @@ -616,7 +736,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity25: name: Button 25 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -625,6 +745,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity25_name: name: Name "Button 25" (Optional) description: '* *Button label - 10 characters are supported*' @@ -633,7 +758,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity26: name: Button 26 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -642,6 +767,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity26_name: name: Name "Button 26" (Optional) description: '* *Button label - 10 characters are supported*' @@ -650,7 +780,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity27: name: Button 27 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -659,6 +789,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity27_name: name: Name "Button 27" (Optional) description: '* *Button label - 10 characters are supported*' @@ -667,7 +802,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity28: name: Button 28 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -676,6 +811,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity28_name: name: Name "Button 28" (Optional) description: '* *Button label - 10 characters are supported*' @@ -684,7 +824,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity29: name: Button 29 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -693,6 +833,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity29_name: name: Name "Button 29" (Optional) description: '* *Button label - 10 characters are supported*' @@ -701,7 +846,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity30: name: Button 30 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -710,6 +855,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity30_name: name: Name "Button 30" (Optional) description: '* *Button label - 10 characters are supported*' @@ -718,7 +868,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity31: name: Button 31 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -727,6 +877,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity31_name: name: Name "Button 31" (Optional) description: '* *Button label - 10 characters are supported*' @@ -735,7 +890,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l text: {} entity32: name: Button 32 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person)*' default: [] selector: entity: @@ -744,6 +899,11 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - switch - cover - input_boolean + - automation + - button + - input_button + - scene + - person entity32_name: name: Name "Button 32" (Optional) description: '* *Button label - 10 characters are supported*' @@ -836,6 +996,15 @@ variables: button_switch_on: "65" button_cover_off: "66" button_cover_on: "67" + button_automation_off: "107" + button_automation_on: "108" + button_button_off: "109" + button_button_on: "110" + button_scene_off: "113" + button_scene_on: "114" + button_person_off: "111" + button_person_on: "112" + hardware_button_pic_off: "98" hardware_button_pic_on: "99" cover_pic_closed: "78" @@ -1684,16 +1853,29 @@ action: {%- elif repeat.item.entity is match "input_boolean." and states[repeat.item.entity].state == 'off' -%} {{ button_switch_off }} {%- elif repeat.item.entity is match "cover." and states[repeat.item.entity].state == 'open' -%} {{ button_cover_on }} {%- elif repeat.item.entity is match "cover." and states[repeat.item.entity].state == 'closed' -%} {{ button_cover_off }} + {%- elif repeat.item.entity is match "automation." and states[repeat.item.entity].state == 'on' -%} {{ button_automation_on }} + {%- elif repeat.item.entity is match "automation." and states[repeat.item.entity].state == 'off' -%} {{ button_automation_off }} + {%- elif repeat.item.entity is match "button." -%} {{ button_button_off }} + {%- elif repeat.item.entity is match "input_button." -%} {{ button_button_off }} + {%- elif repeat.item.entity is match "scene." -%} {{ button_scene_off }} + {%- elif repeat.item.entity is match "person." and states[repeat.item.entity].state == 'home' -%} {{ button_person_on }} + {%- elif repeat.item.entity is match "person." and states[repeat.item.entity].state != 'home' -%} {{ button_person_off }} {%- endif -%} # TEXT and BRIGHTNESS Background btn_bg: >- - {%- if states[repeat.item.entity].state == 'on' or states[repeat.item.entity].state == 'open' -%} {{ button_color_1 }} + {%- if repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ button_color_2 }} + {%- elif states[repeat.item.entity].state == 'on' or states[repeat.item.entity].state == 'open' -%} {{ button_color_1 }} {%- elif states[repeat.item.entity].state == 'off' or states[repeat.item.entity].state == 'closed' -%} {{ button_color_2 }} + {%- elif repeat.item.entity is match "person." and states[repeat.item.entity].state == 'home' -%} {{ button_color_1 }} + {%- elif repeat.item.entity is match "person." and states[repeat.item.entity].state != 'home' -%} {{ button_color_2 }} {%- endif -%} # TEXT Font btn_txt_font: >- - {%- if states[repeat.item.entity].state == 'on' or states[repeat.item.entity].state == 'open' -%} {{ button_color_2 }} + {%- if repeat.item.entity is match "button." or repeat.item.entity is match "input_button." or repeat.item.entity is match "scene." -%} {{ button_color_1 }} + {%- elif states[repeat.item.entity].state == 'on' or states[repeat.item.entity].state == 'open' -%} {{ button_color_2 }} {%- elif states[repeat.item.entity].state == 'off' or states[repeat.item.entity].state == 'closed' -%} {{ button_color_1 }} + {%- elif repeat.item.entity is match "person." and states[repeat.item.entity].state == 'home' -%} {{ button_color_2 }} + {%- elif repeat.item.entity is match "person." and states[repeat.item.entity].state != 'home' -%} {{ button_color_1 }} {%- endif -%} # BRIGHTNESS Font btn_bri_font: "{{ button_color_2 }}" @@ -2056,16 +2238,29 @@ action: {%- elif trigger.to_state.entity_id is match "input_boolean." and trigger.to_state.state == 'off' -%} {{ button_switch_off }} {%- elif trigger.to_state.entity_id is match "cover." and trigger.to_state.state == 'open' -%} {{ button_cover_on }} {%- elif trigger.to_state.entity_id is match "cover." and trigger.to_state.state == 'closed' -%} {{ button_cover_off }} + {%- elif trigger.to_state.entity_id is match "automation." and trigger.to_state.state == 'on' -%} {{ button_automation_on }} + {%- elif trigger.to_state.entity_id is match "automation." and trigger.to_state.state == 'off' -%} {{ button_automation_off }} + {%- elif trigger.to_state.entity_id is match "button." -%} {{ button_button_on }} + {%- elif trigger.to_state.entity_id is match "input_button." -%} {{ button_button_on }} + {%- elif trigger.to_state.entity_id is match "scene." -%} {{ button_scene_on }} + {%- elif trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home' -%} {{ button_person_on }} + {%- elif trigger.to_state.entity_id is match "person." and trigger.to_state.state != 'home' -%} {{ button_person_off }} {%- endif -%} # TEXT and BRIGHTNESS Background btn_bg: >- - {%- if trigger.to_state.state == 'on' or trigger.to_state.state == 'open' -%} {{ button_color_1 }} + {%- if trigger.to_state.entity_id is match "button." or trigger.to_state.entity_id is match "input_button." or trigger.to_state.entity_id is match "scene." -%} {{ button_color_1 }} + {%- elif trigger.to_state.state == 'on' or trigger.to_state.state == 'open' -%} {{ button_color_1 }} {%- elif trigger.to_state.state == 'off' or trigger.to_state.state == 'closed' -%} {{ button_color_2 }} + {%- elif trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home' -%} {{ button_color_1 }} + {%- elif trigger.to_state.entity_id is match "person." and trigger.to_state.state != 'home' -%} {{ button_color_2 }} {%- endif -%} # TEXT Font btn_txt_font: >- - {%- if trigger.to_state.state == 'on' or trigger.to_state.state == 'open' -%} {{ button_color_2 }} + {%- if trigger.to_state.entity_id is match "button." or trigger.to_state.entity_id is match "input_button." or trigger.to_state.entity_id is match "scene." -%} {{ button_color_2 }} + {%- elif trigger.to_state.state == 'on' or trigger.to_state.state == 'open' -%} {{ button_color_2 }} {%- elif trigger.to_state.state == 'off' or trigger.to_state.state == 'closed' -%} {{ button_color_1 }} + {%- elif trigger.to_state.entity_id is match "person." and trigger.to_state.state == 'home' -%} {{ button_color_2 }} + {%- elif trigger.to_state.entity_id is match "person." and trigger.to_state.state != 'home' -%} {{ button_color_1 }} {%- endif -%} # BRIGHTNESS Font btn_bri_font: "{{ button_color_2 }}" @@ -2174,6 +2369,51 @@ action: component: "{{ component_to_update }}bri" message: "{{ btn_bri_txt }}" + ##### release button/scene (stateless) ##### + - if: + - condition: template + value_template: '{{ trigger.to_state.entity_id is match "button." or trigger.to_state.entity_id is match "input_button." or trigger.to_state.entity_id is match "scene." }}' + then: + - delay: + milliseconds: "1000" + - variables: + btn_pic: >- + {%- if trigger.to_state.entity_id is match "button." -%} {{ button_button_off }} + {%- elif trigger.to_state.entity_id is match "input_button." -%} {{ button_button_off }} + {%- elif trigger.to_state.entity_id is match "scene." -%} {{ button_scene_off }} + {%- endif -%} + btn_bg: '{{ button_color_2 }}' + btn_txt_font: '{{ button_color_1 }}' + + ##### Button PIC ##### + - service: "{{ command_printf }}" + data: + cmd: "{{ component_to_update }}pic.pic={{ btn_pic }}" + + ##### TEXT Background ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ component_to_update }}text" + message: "{{ btn_bg }}" + + ##### TEXT Font Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_font_color }}" + data: + component: "{{ component_to_update }}text" + message: "{{ btn_txt_font }}" + + ##### BRIGHTNESS Background Color ##### + - delay: + milliseconds: "{{ delay_value }}" + - service: "{{ command_background_color }}" + data: + component: "{{ component_to_update }}bri" + message: "{{ btn_bg }}" + ##### UPDATE LIGHTSETTING / COVERSETTING PAGE - choose: ##### LIGHTSETTINGS PAGE - LIGHT Entity ##### @@ -2417,15 +2657,25 @@ action: {%- elif states(last_click) == "releasebuttonpage04button07" -%} {{ entity31 }} {%- elif states(last_click) == "releasebuttonpage04button08" -%} {{ entity32 }} {%- endif -%} + - condition: template + value_template: '{{ entity_short is not match "person." }}' - service: >- {% if entity_short is match 'light.' %} - light.toggle + light.toggle {% elif entity_short is match 'switch.' %} - switch.toggle + switch.toggle {% elif entity_short is match 'cover.' %} - cover.toggle + cover.toggle {% elif entity_short is match 'input_boolean.' %} - input_boolean.toggle + input_boolean.toggle + {% elif entity_short is match 'automation.' %} + automation.toggle + {% elif entity_short is match 'button.' %} + button.press + {% elif entity_short is match 'input_button.' %} + input_button.press + {% elif entity_short is match 'scene.' %} + scene.turn_on {% endif %} data: entity_id: "{{ entity_short }}" @@ -4590,15 +4840,15 @@ action: - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage01 }}' sequence: - ## PAGE BUTTONPAGE01 ## - - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage01 }}' + ## PAGE BUTTONPAGE02 ## + - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage02 }}' sequence: - ## PAGE BUTTONPAGE01 ## + ## PAGE BUTTONPAGE03 ## - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage03 }}' sequence: - ## PAGE BUTTONPAGE01 ## + ## PAGE BUTTONPAGE04 ## - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage04 }}' sequence: