From da611e384ad27e0bd099bfa7535e401c99cabcae Mon Sep 17 00:00:00 2001 From: deejaybeam Date: Sat, 11 Feb 2023 18:28:41 +0100 Subject: [PATCH] upd: multi-climate --- nspanel_blueprint.yaml | 213 ++++++++++++++++++++++++++++------------- 1 file changed, 149 insertions(+), 64 deletions(-) diff --git a/nspanel_blueprint.yaml b/nspanel_blueprint.yaml index 5f1e240..4fff37e 100644 --- a/nspanel_blueprint.yaml +++ b/nspanel_blueprint.yaml @@ -387,7 +387,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 | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -404,6 +404,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity01_name: name: Name "Button 01" (Optional) description: '* *Button label - 10 characters are supported*' @@ -418,7 +419,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity02: name: Button 02 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -435,6 +436,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity02_name: name: Name "Button 02" (Optional) description: '* *Button label - 10 characters are supported*' @@ -449,7 +451,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity03: name: Button 03 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -466,6 +468,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity03_name: name: Name "Button 03" (Optional) description: '* *Button label - 10 characters are supported*' @@ -480,7 +483,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity04: name: Button 04 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -497,6 +500,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity04_name: name: Name "Button 04" (Optional) description: '* *Button label - 10 characters are supported*' @@ -511,7 +515,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity05: name: Button 05 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -528,6 +532,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity05_name: name: Name "Button 05" (Optional) description: '* *Button label - 10 characters are supported*' @@ -542,7 +547,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity06: name: Button 06 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -559,6 +564,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity06_name: name: Name "Button 06" (Optional) description: '* *Button label - 10 characters are supported*' @@ -573,7 +579,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity07: name: Button 07 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -590,6 +596,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity07_name: name: Name "Button 07" (Optional) description: '* *Button label - 10 characters are supported*' @@ -604,7 +611,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity08: name: Button 08 (Optional) - description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 1"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -621,6 +628,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity08_name: name: Name "Button 08" (Optional) description: '* *Button label - 10 characters are supported*' @@ -635,7 +643,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity09: name: Button 09 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -652,6 +660,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity09_name: name: Name "Button 09" (Optional) description: '* *Button label - 10 characters are supported*' @@ -666,7 +675,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity10: name: Button 10 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -683,6 +692,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity10_name: name: Name "Button 10" (Optional) description: '* *Button label - 10 characters are supported*' @@ -697,7 +707,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity11: name: Button 11 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -714,6 +724,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity11_name: name: Name "Button 11" (Optional) description: '* *Button label - 10 characters are supported*' @@ -728,7 +739,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity12: name: Button 12 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -745,6 +756,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity12_name: name: Name "Button 12" (Optional) description: '* *Button label - 10 characters are supported*' @@ -759,7 +771,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity13: name: Button 13 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -776,6 +788,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity13_name: name: Name "Button 13" (Optional) description: '* *Button label - 10 characters are supported*' @@ -790,7 +803,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity14: name: Button 14 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -807,6 +820,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity14_name: name: Name "Button 14" (Optional) description: '* *Button label - 10 characters are supported*' @@ -821,7 +835,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity15: name: Button 15 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -838,6 +852,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity15_name: name: Name "Button 15" (Optional) description: '* *Button label - 10 characters are supported*' @@ -852,7 +867,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity16: name: Button 16 (Optional) - description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 2"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -869,6 +884,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity16_name: name: Name "Button 16" (Optional) description: '* *Button label - 10 characters are supported*' @@ -883,7 +899,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity17: name: Button 17 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -900,6 +916,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity17_name: name: Name "Button 17" (Optional) description: '* *Button label - 10 characters are supported*' @@ -914,7 +931,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity18: name: Button 18 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -931,6 +948,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity18_name: name: Name "Button 18" (Optional) description: '* *Button label - 10 characters are supported*' @@ -945,7 +963,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity19: name: Button 19 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -962,6 +980,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity19_name: name: Name "Button 19" (Optional) description: '* *Button label - 10 characters are supported*' @@ -976,7 +995,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity20: name: Button 20 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -993,6 +1012,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity20_name: name: Name "Button 20" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1007,7 +1027,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity21: name: Button 21 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1024,6 +1044,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity21_name: name: Name "Button 21" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1038,7 +1059,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity22: name: Button 22 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1055,6 +1076,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity22_name: name: Name "Button 22" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1069,7 +1091,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity23: name: Button 23 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1086,6 +1108,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity23_name: name: Name "Button 23" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1100,7 +1123,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity24: name: Button 24 (Optional) - description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 3"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1117,6 +1140,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity24_name: name: Name "Button 24" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1131,7 +1155,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity25: name: Button 25 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1148,6 +1172,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity25_name: name: Name "Button 25" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1162,7 +1187,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity26: name: Button 26 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1179,6 +1204,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity26_name: name: Name "Button 26" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1193,7 +1219,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity27: name: Button 27 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1210,6 +1236,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity27_name: name: Name "Button 27" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1224,7 +1251,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity28: name: Button 28 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1241,6 +1268,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity28_name: name: Name "Button 28" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1255,7 +1283,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity29: name: Button 29 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1272,6 +1300,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity29_name: name: Name "Button 29" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1286,7 +1315,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity30: name: Button 30 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1303,6 +1332,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity30_name: name: Name "Button 30" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1317,7 +1347,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity31: name: Button 31 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1334,6 +1364,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity31_name: name: Name "Button 31" (Optional) description: '* *Button label - 10 characters are supported*' @@ -1348,7 +1379,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l boolean: entity32: name: Button 32 (Optional) - description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan)*' + description: '* *Displayed on **"Button Page 4"** - (ONLY light | switch | cover | input_boolean | automation | button | input_button | scene | person | script | binary_sensor | fan | climate)*' default: [] selector: entity: @@ -1365,6 +1396,7 @@ The goal was to create a version that allows everyone to use the NSpanel fully l - script - binary_sensor - fan + - climate entity32_name: name: Name "Button 32" (Optional) description: '* *Button label - 10 characters are supported*' @@ -2144,6 +2176,8 @@ variables: button_binary_sensor_on: '108' button_fan_off: "121" button_fan_on: "122" + button_climate_off: "121" + button_climate_on: "122" hardware_button_pic_off: "98" hardware_button_pic_on: "99" @@ -3327,7 +3361,11 @@ trigger: condition: '{{ states(nextion_inited_trigger) == "on" }}' action: - variables: - settings_entity_value: '{{ states(settings_entity) }}' + #settings_entity_value: '{{ states(settings_entity) }}' + settings_entity_value: >- + {%- if states(settings_entity) != "unavailable" -%} {{ states(settings_entity) }} + {%- else -%} unknown + {%- endif -%} entity_long: >- {%- if settings_entity_value != "unknown" -%} {{ settings_entity_value.split(',')[0] }} {%- else -%} unknown @@ -3500,6 +3538,8 @@ action: {%- elif repeat.item.entity is match "binary_sensor." and states[repeat.item.entity].state == 'off' -%} {{ button_binary_sensor_off }} {%- elif repeat.item.entity is match "fan." and states[repeat.item.entity].state == 'on' -%} {{ button_fan_on }} {%- elif repeat.item.entity is match "fan." and states[repeat.item.entity].state == 'off' -%} {{ button_fan_off }} + {%- elif repeat.item.entity is match "climate." and states[repeat.item.entity].state != 'off' -%} {{ button_climate_on }} + {%- elif repeat.item.entity is match "climate." and states[repeat.item.entity].state == 'off' -%} {{ button_climate_off }} {%- endif -%} # TEXT and BRIGHTNESS Background btn_bg: >- @@ -3508,6 +3548,8 @@ action: {%- 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 }} + {%- elif repeat.item.entity is match "climate." and states[repeat.item.entity].state != 'off' -%} {{ button_color_1 }} + {%- elif repeat.item.entity is match "climate." and states[repeat.item.entity].state == 'off' -%} {{ button_color_2 }} {%- endif -%} # TEXT Font btn_txt_font: >- @@ -3516,6 +3558,8 @@ action: {%- 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 }} + {%- elif repeat.item.entity is match "climate." and states[repeat.item.entity].state != 'off' -%} {{ button_color_2 }} + {%- elif repeat.item.entity is match "climate." and states[repeat.item.entity].state == 'off' -%} {{ button_color_1 }} {%- endif -%} # BRIGHTNESS Font btn_bri_font: "{{ button_color_2 }}" @@ -3524,6 +3568,7 @@ action: btn_bri_txt: >- {%- if repeat.item.entity is match "light." and states(repeat.item.entity) == 'on' and state_attr(repeat.item.entity, "brightness") != None -%} {{ (state_attr(repeat.item.entity, "brightness") | int * 100 /255) | round(0) }}% {%- elif repeat.item.entity is match "cover." and states(repeat.item.entity) == 'open' and state_attr(repeat.item.entity, "current_position") != None -%} {{ (state_attr(repeat.item.entity, "current_position") | int(100)) | round(0) }}% + {%- elif repeat.item.entity is match "climate." and states(repeat.item.entity) != 'off' and state_attr(repeat.item.entity, "current_temperature") != None -%} {{ (state_attr(repeat.item.entity, "current_temperature") | int) | round(0) }}° {%- else -%} 0 {%- endif -%} @@ -3949,6 +3994,8 @@ action: {%- elif trigger.to_state.entity_id is match "binary_sensor." and trigger.to_state.state == 'off' -%} {{ button_binary_sensor_off }} {%- elif trigger.to_state.entity_id is match "fan." and trigger.to_state.state == 'on' -%} {{ button_fan_on }} {%- elif trigger.to_state.entity_id is match "fan." and trigger.to_state.state == 'off' -%} {{ button_fan_off }} + {%- elif trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off' -%} {{ button_climate_on }} + {%- elif trigger.to_state.entity_id is match "climate." and trigger.to_state.state == 'off' -%} {{ button_climate_off }} {%- endif -%} # TEXT and BRIGHTNESS Background btn_bg: >- @@ -3957,6 +4004,8 @@ action: {%- 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 }} + {%- elif trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off' -%} {{ button_color_1 }} + {%- elif trigger.to_state.entity_id is match "climate." and trigger.to_state.state == 'off' -%} {{ button_color_2 }} {%- endif -%} # TEXT Font btn_txt_font: >- @@ -3965,6 +4014,8 @@ action: {%- 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 }} + {%- elif trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off' -%} {{ button_color_2 }} + {%- elif trigger.to_state.entity_id is match "climate." and trigger.to_state.state == 'off' -%} {{ button_color_1 }} {%- endif -%} # BRIGHTNESS Font btn_bri_font: "{{ button_color_2 }}" @@ -4006,6 +4057,7 @@ action: btn_bri_txt: >- {%- if trigger.to_state.entity_id is match "light." and trigger.to_state.state == 'on' and trigger.to_state.attributes.brightness is defined -%} {{ (trigger.to_state.attributes.brightness | int * 100 /255) | round(0) }}% {%- elif trigger.to_state.entity_id is match "cover." and trigger.to_state.state == 'open' and trigger.to_state.attributes.current_position is defined -%} {{ (trigger.to_state.attributes.current_position | int) | round(0) }}% + {%- elif trigger.to_state.entity_id is match "climate." and trigger.to_state.state != 'off' and trigger.to_state.attributes.current_temperature is defined -%} {{ (trigger.to_state.attributes.current_temperature | int) | round(0) }}° {%- else -%} 0 {%- endif -%} @@ -4397,7 +4449,7 @@ action: {%- elif states(last_click) == "releasebuttonpage04button08" -%} {{ entity32_confirm }} {%- endif -%} - condition: template - value_template: '{{ entity_short |length > 0 and entity_short is not match "person." and entity_short is not match "binary_sensor." }}' + value_template: '{{ entity_short |length > 0 and entity_short is not match "person." and entity_short is not match "binary_sensor." and entity_short is not match "climate." }}' - if: - condition: template value_template: "{{ entity_confirm }}" @@ -4662,9 +4714,6 @@ action: - condition: template value_template: '{{ trigger.event.data.new_state.state == "releaselightsettingsclose" }}' sequence: - - service: '{{ command_set_settings_entity }}' - data: - entity: 'unknown' - service: "{{ command_printf }}" data: cmd: "page {{ entity_back }}" @@ -4729,9 +4778,6 @@ action: - condition: template value_template: '{{ trigger.event.data.new_state.state == "releasecoversettingsclose" }}' sequence: - - service: '{{ command_set_settings_entity }}' - data: - entity: 'unknown' - service: "{{ command_printf }}" data: cmd: "page {{ entity_back }}" @@ -4759,11 +4805,11 @@ action: sequence: - if: - condition: template - value_template: '{{ states(climate) == "off" }}' + value_template: '{{ states(entity_long) == "off" }}' then: - service: climate.turn_on ############ data: - entity_id: !input climate + entity_id: '{{ entity_long }}' # - service: climate.set_temperature # data: # entity_id: !input climate @@ -4772,7 +4818,7 @@ action: else: - service: climate.turn_off ############ data: - entity_id: !input climate + entity_id: '{{ entity_long }}' # - service: climate.set_temperature # data: # entity_id: !input climate @@ -4784,11 +4830,11 @@ action: sequence: - if: - condition: template - value_template: '{{ states(climate) != "off" }}' + value_template: '{{ states(entity_long) != "off" }}' then: - if: - condition: template - value_template: '{{ climate_optimistic == true }}' + value_template: '{{ climate_optimistic == true }}' ## TODO - remove from here then: - variables: current_setpoint: "{{states(display_target_temperature) | round(1)}}" @@ -4797,10 +4843,10 @@ action: value: "{{ current_setpoint -0.5 }}" else: - variables: - current_setpoint: "{{state_attr(climate, 'temperature') | round(1)}}" + current_setpoint: "{{state_attr(entity_long, 'temperature') | round(1)}}" - service: climate.set_temperature data: - entity_id: !input climate + entity_id: '{{ entity_long }}' #hvac_mode: 'heat' temperature: "{{ current_setpoint -0.5 }}" @@ -4810,13 +4856,13 @@ action: sequence: - if: - condition: template - value_template: '{{ states(climate) != "off" }}' + value_template: '{{ states(entity_long) != "off" }}' then: - variables: - current_setpoint: "{{state_attr(climate, 'temperature') | round(1)}}" + current_setpoint: "{{state_attr(entity_long, 'temperature') | round(1)}}" - if: - condition: template - value_template: '{{ climate_optimistic == true }}' + value_template: '{{ climate_optimistic == true }}' ## TODO - remove from here then: - variables: current_setpoint: "{{states(display_target_temperature) | round(1)}}" @@ -4825,10 +4871,10 @@ action: value: "{{ current_setpoint +0.5 }}" else: - variables: - current_setpoint: "{{state_attr(climate, 'temperature') | round(1)}}" + current_setpoint: "{{state_attr(entity_long, 'temperature') | round(1)}}" - service: climate.set_temperature data: - entity_id: !input climate + entity_id: '{{ entity_long }}' #hvac_mode: 'heat' temperature: "{{ current_setpoint +0.5 }}" @@ -4838,7 +4884,7 @@ action: sequence: - if: - condition: template - value_template: '{{ states(climate) != "off" }}' + value_template: '{{ states(entity_long) != "off" }}' then: - variables: #climateslider: '{{ trigger.event.data.new_state.state |replace("climateslider","") | int }}' @@ -4875,7 +4921,7 @@ action: {%- endif -%} - if: - condition: template - value_template: '{{ climate_optimistic == true }}' + value_template: '{{ climate_optimistic == true }}' ## TODO - remove from here then: - service: "{{ command_thermostat_cycle }}" data: @@ -4883,10 +4929,19 @@ action: else: - service: climate.set_temperature data: - entity_id: !input climate + entity_id: '{{ entity_long }}' #hvac_mode: 'heat' temperature: "{{ new_setpoint }}" + ##### Page Climate - Close Climate Page ##### TODO + # - conditions: + # - condition: template + # value_template: '{{ trigger.event.data.new_state.state == "releaseclimateclose" }}' + # sequence: + # - service: "{{ command_printf }}" + # data: + # cmd: "page {{ entity_back }}" + ##### Left button press ##### - conditions: - condition: trigger @@ -5192,6 +5247,9 @@ action: ## PAGE HOME ## - conditions: '{{ trigger.event.data.new_state.state == page_home }}' sequence: + - service: '{{ command_set_settings_entity }}' + data: + entity: 'unknown' ##### NSPanel Date ##### - delay: milliseconds: "{{ delay_value }}" @@ -5393,7 +5451,7 @@ action: data: cmd: home.icon_top_02.pic={{ relay02_pic }} - ##### climate-page left - apply climate temperature if climate_optimistic ##### + ##### climate-page left - apply climate temperature if climate_optimistic ##### ## TODO - remove from here - if: - condition: template value_template: '{{ trigger.event.data.old_state.state == page_climate }}' @@ -6656,7 +6714,7 @@ action: alias: 'climate page' sequence: - variables: - hvac_mode: "{{ states(climate) }}" + hvac_mode: "{{ states(entity_long) }}" outdoor_temp: >- {%- if outdoortemp is match "sensor." and states(outdoortemp).state != "unavailable" -%} {{ states(outdoortemp) |round(0) }} {%- elif state_attr(weather_entity, "temperature") != None -%} {{state_attr(weather_entity,"temperature") | round(0)}} @@ -6666,7 +6724,12 @@ action: {%- if hvac_mode == "off" -%} {{ off_mui }} {%- elif hvac_mode != "off" -%} {{ on_mui }} {%- endif -%} - + - service: "{{ command_text_printf }}" + data: + component: climate.climate_name + message: '{{ entity_long_name }}' + - delay: + milliseconds: "{{ delay_value }}" - service: "{{ command_text_printf }}" data: component: outdoor_temp @@ -6674,13 +6737,13 @@ action: - service: "{{ command_text_printf }}" data: component: current_temp - message: "{{state_attr(climate, 'current_temperature') | round(1)}}°" + message: "{{state_attr(entity_long, 'current_temperature') | round(1)}}°" - if: condition: template value_template: '{{ hvac_mode != "off" }}' then: - variables: - target_temp: "{{state_attr(climate, 'temperature') | round(1)}}" + target_temp: "{{state_attr(entity_long, 'temperature') | round(1)}}" - service: "{{ command_thermostat_cycle }}" data: value: "{{target_temp}}" @@ -6899,6 +6962,9 @@ action: ## PAGE BUTTONPAGE01 ## - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage01 }}' sequence: + - service: '{{ command_set_settings_entity }}' + data: + entity: 'unknown' ##### Button Page Label ##### - if: - condition: template @@ -6912,6 +6978,9 @@ action: ## PAGE BUTTONPAGE02 ## - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage02 }}' sequence: + - service: '{{ command_set_settings_entity }}' + data: + entity: 'unknown' ##### Button Page Label ##### - if: - condition: template @@ -6925,6 +6994,9 @@ action: ## PAGE BUTTONPAGE03 ## - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage03 }}' sequence: + - service: '{{ command_set_settings_entity }}' + data: + entity: 'unknown' ##### Button Page Label ##### - if: - condition: template @@ -6938,6 +7010,9 @@ action: ## PAGE BUTTONPAGE04 ## - conditions: '{{ trigger.event.data.new_state.state == page_buttonpage04 }}' sequence: + - service: '{{ command_set_settings_entity }}' + data: + entity: 'unknown' ##### Button Page Label ##### - if: - condition: template @@ -7286,9 +7361,16 @@ action: - condition: template value_template: '{{ climate |length > 0 }}' then: - - service: "{{ command_printf }}" + - variables: + entity_long: '{{ climate }}' + entity_long_name: >- + {%- if states(climate) == 'unavailable' -%} {{ climate }} + {%- else -%} {{ state_attr(climate, "friendly_name")| default('no name') }} + {%- endif -%} + entity_back: '{{ page_home }}' + - service: '{{ command_set_settings_entity }}' data: - cmd: "page {{ page_climate }}" + entity: '{{ entity_long }},{{ entity_back }},{{ entity_long_name }}' ##### Set Flame-Symbol ##### - conditions: @@ -7387,7 +7469,7 @@ action: cmd: heating_bt_pic.pic={{ heating_bt_pic }} - if: - condition: template - value_template: '{{ trigger.event.data.new_state.state != "off" }}' + value_template: '{{ trigger.event.data.new_state.state != "off" }}' #### TODO AND->OR (not) not optimistic-mode then: - service: "{{ command_thermostat_cycle }}" data: @@ -7433,7 +7515,10 @@ action: data: cmd: "page {{ page_coversettings }}" - conditions: '{{ entity_long is match "climate." }}' - sequence: [] + sequence: + - service: "{{ command_printf }}" + data: + cmd: "page {{ page_climate }}" #############################################################