From d60b56b37aa3e5b0585cd6537865145d286fb47a Mon Sep 17 00:00:00 2001 From: CeeWeasel Date: Mon, 28 Jul 2025 20:52:16 -0400 Subject: [PATCH] Refactor camera cards to use advanced-camera-card format - Updated garage-card.yaml to use vertical-stack and advanced-camera-card structure. - Refactored indoor-camera-cycler.yaml to include multiple cameras in advanced-camera-card format. - Modified kitchen-card.yaml to align with new advanced-camera-card structure. - Consolidated master-bedroom-card.yaml to include both left and right cameras in a single advanced-camera-card. - Removed deprecated master-bedroom-left-card.yaml and master-bedroom-right-card.yaml files. - Updated nursery-card.yaml to follow the new advanced-camera-card format. - Refactored outdoor-camera-cycler.yaml to utilize advanced-camera-card for multiple outdoor cameras. - Cleaned up view-ha-floorplan.yaml by removing commented-out code. - Updated view-overview.yaml to remove unused plant entities. - Corrected media source paths in wake_up_the_master_bedroom.yaml and take_meds.yaml scripts. - Added new ESPHome configurations for bed presence sensors. - Updated full-sized floorplan SVG with new IDs for bed presence sensors. --- .gitignore | 2 +- automations/cameras/cycle_cameras.yaml | 303 -- automations/people/almost_bedtime.yaml | 4 +- automations/people/bedtime.yaml | 4 +- automations/people/goodnight_kids.yaml | 28 +- automations/rooms/front_porch_lights.yaml | 67 +- automations/things/keurig_done.yaml | 2 +- automations/things/kitchen_fridge_door.yaml | 2 +- .../rooms/master_bathroom_occupied.yaml | 2 +- .../rooms/utility_room_occupied.yaml | 2 +- .../packages/automatic_sprinkler_system.yaml | 37 - components/packages/clever_announcements.yaml | 4 +- components/packages/esphome_devices.yaml | 37 + .../packages/plant_sensor_batteries.yaml | 2 - components/packages/plants.yaml | 26 - .../rtl_433_devices/daisy_soil_moisture.yaml | 44 - .../rtl_433_devices/outdoor_thermostat.yaml | 8 +- .../sunflower_box_moisture.yaml | 44 - customizations/entities/plants.yaml | 14 +- esphome/bed-presence-2d14a4.yaml | 64 + esphome/bed-presence-c175a4.yaml | 64 + esphome/common/ethernet.yaml | 2 + esphome/common/wifi.yaml | 3 + esphome/common/wifi_dhcp.yaml | 2 + esphome/common/wifi_no_power_save.yaml | 3 + groups.yaml | 5 - lovelace/cameras/view-camera-12.yaml | 22 +- lovelace/details/view-batteries.yaml | 4 - lovelace/details/view-hvac.yaml | 3759 +++++++++-------- lovelace/phone/plants.yaml | 2 - .../plant-cards/fineoffset_wh51_00f935.yaml | 4 - .../plant-cards/fineoffset_wh51_0d1e11.yaml | 4 - lovelace/room_cards/back_yard.yaml | 4 +- lovelace/room_cards/front_yard.yaml | 4 +- lovelace/room_cards/master_bathroom.yaml | 2 +- lovelace/room_cards/utility_room.yaml | 2 +- lovelace/stretch-cameras/back-yard-card.yaml | 105 +- lovelace/stretch-cameras/blue-room-card.yaml | 105 +- .../stretch-cameras/computer-area-card.yaml | 105 +- .../stretch-cameras/front-porch-card.yaml | 105 +- lovelace/stretch-cameras/front-room-card.yaml | 105 +- lovelace/stretch-cameras/front-yard-card.yaml | 105 +- lovelace/stretch-cameras/garage-card.yaml | 105 +- .../stretch-cameras/indoor-camera-cycler.yaml | 137 +- lovelace/stretch-cameras/kitchen-card.yaml | 105 +- .../stretch-cameras/master-bedroom-card.yaml | 95 +- .../master-bedroom-left-card.yaml | 40 - .../master-bedroom-left-view.yaml | 6 - .../master-bedroom-right-card.yaml | 40 - .../master-bedroom-right-view.yaml | 6 - lovelace/stretch-cameras/nursery-card.yaml | 105 +- .../outdoor-camera-cycler.yaml | 119 +- lovelace/view-ha-floorplan.yaml | 47 +- lovelace/view-overview.yaml | 14 - .../wake_up_the_master_bedroom.yaml | 2 +- scripts/people/clint/take_meds.yaml | 6 +- www/floorplan/fullsized_floorplan.svg | 22 +- 57 files changed, 3064 insertions(+), 2997 deletions(-) delete mode 100644 automations/cameras/cycle_cameras.yaml create mode 100644 components/packages/esphome_devices.yaml delete mode 100644 components/packages/rtl_433_devices/daisy_soil_moisture.yaml delete mode 100644 components/packages/rtl_433_devices/sunflower_box_moisture.yaml create mode 100644 esphome/bed-presence-2d14a4.yaml create mode 100644 esphome/bed-presence-c175a4.yaml delete mode 100644 lovelace/plant-cards/fineoffset_wh51_00f935.yaml delete mode 100644 lovelace/plant-cards/fineoffset_wh51_0d1e11.yaml delete mode 100644 lovelace/stretch-cameras/master-bedroom-left-card.yaml delete mode 100644 lovelace/stretch-cameras/master-bedroom-left-view.yaml delete mode 100644 lovelace/stretch-cameras/master-bedroom-right-card.yaml delete mode 100644 lovelace/stretch-cameras/master-bedroom-right-view.yaml diff --git a/.gitignore b/.gitignore index a254933..52d47a2 100644 --- a/.gitignore +++ b/.gitignore @@ -38,7 +38,7 @@ media/ custom_components/ custom_logs/ snapshots/ -rtl_433/ +rtl_433*/ tts/ /lovelace/private model_cache/ diff --git a/automations/cameras/cycle_cameras.yaml b/automations/cameras/cycle_cameras.yaml deleted file mode 100644 index 2575626..0000000 --- a/automations/cameras/cycle_cameras.yaml +++ /dev/null @@ -1,303 +0,0 @@ -alias: Cycle Cameras -id: automation_cycle_cameras -mode: queued - -trigger: - - - id: automatic - platform: homeassistant - event: start - - - id: automatic - platform: time_pattern - seconds: "/10" - - - id: cam01 - platform: state - entity_id: binary_sensor.frigate_cam01_person_occupancy - from: 'off' - to: 'on' - - id: cam03 - platform: state - entity_id: binary_sensor.frigate_cam03_person_occupancy - from: 'off' - to: 'on' - - id: cam04 - platform: state - entity_id: binary_sensor.frigate_cam04_person_occupancy - from: 'off' - to: 'on' - - id: cam06 - platform: state - entity_id: binary_sensor.frigate_cam06_person_occupancy - from: 'off' - to: 'on' - - id: cam07 - platform: state - entity_id: binary_sensor.frigate_cam07_person_occupancy - from: 'off' - to: 'on' - - id: cam08 - platform: state - entity_id: binary_sensor.frigate_cam08_person_occupancy - from: 'off' - to: 'on' - - id: cam12 - platform: state - entity_id: binary_sensor.frigate_cam12_person_occupancy - from: 'off' - to: 'on' - - id: cam13 - platform: state - entity_id: binary_sensor.frigate_cam13_person_occupancy - from: 'off' - to: 'on' - - id: cam14 - platform: state - entity_id: binary_sensor.frigate_cam14_person_occupancy - from: 'off' - to: 'on' - - id: cam19 - platform: state - entity_id: binary_sensor.frigate_cam19_person_occupancy - from: 'off' - to: 'on' - -action: - - service: input_select.select_next - data: {} - target: - entity_id: input_select.master_bedroom_camera - - - choose: - - conditions: - - condition: trigger - id: cam01 - - condition: state - entity_id: input_boolean.indoor_camera_lock - state: 'off' - sequence: - - service: input_select.select_option - target: - entity_id: input_select.indoor_camera_cycle - data: - option: Blue Room - - conditions: - - condition: trigger - id: cam03 - - condition: state - entity_id: input_boolean.indoor_camera_lock - state: 'off' - sequence: - - service: input_select.select_option - target: - entity_id: input_select.indoor_camera_cycle - data: - option: Computer Area - - conditions: - - condition: trigger - id: cam04 - - condition: state - entity_id: input_boolean.outdoor_camera_lock - state: 'off' - sequence: - - service: input_select.select_option - target: - entity_id: input_select.outdoor_camera_cycle - data: - option: Garage - - conditions: - - condition: trigger - id: cam06 - - condition: state - entity_id: input_boolean.indoor_camera_lock - state: 'off' - sequence: - - service: input_select.select_option - target: - entity_id: input_select.indoor_camera_cycle - data: - option: Bedroom Left - - conditions: - - condition: trigger - id: cam07 - - condition: state - entity_id: input_boolean.indoor_camera_lock - state: 'off' - sequence: - - service: input_select.select_option - target: - entity_id: input_select.indoor_camera_cycle - data: - option: Bedroom Right - - conditions: - - condition: trigger - id: cam08 - - condition: state - entity_id: input_boolean.indoor_camera_lock - state: 'off' - sequence: - - service: input_select.select_option - target: - entity_id: input_select.indoor_camera_cycle - data: - option: Nursery - - conditions: - - condition: trigger - id: cam12 - - condition: state - entity_id: input_boolean.indoor_camera_lock - state: 'off' - sequence: - - service: input_select.select_option - target: - entity_id: input_select.indoor_camera_cycle - data: - option: Kitchen - - conditions: - - condition: trigger - id: cam13 - - condition: state - entity_id: input_boolean.indoor_camera_lock - state: 'off' - sequence: - - service: input_select.select_option - target: - entity_id: input_select.indoor_camera_cycle - data: - option: Front Room - - conditions: - - condition: trigger - id: cam14 - - condition: state - entity_id: input_boolean.outdoor_camera_lock - state: 'off' - sequence: - - service: input_select.select_option - target: - entity_id: input_select.outdoor_camera_cycle - data: - option: Back Yard - - conditions: - - condition: trigger - id: cam19 - - condition: state - entity_id: input_boolean.outdoor_camera_lock - state: 'off' - sequence: - - service: input_select.select_option - target: - entity_id: input_select.outdoor_camera_cycle - data: - option: Front Porch - - default: - - choose: - - conditions: - - condition: trigger - id: automatic - - condition: state - entity_id: input_boolean.indoor_camera_lock - state: 'off' - - condition: or - conditions: - - condition: and - conditions: - - condition: state - entity_id: input_select.indoor_camera_cycle - state: Blue Room - - condition: state - entity_id: binary_sensor.frigate_cam01_person_occupancy - state: 'off' - - condition: and - conditions: - - condition: state - entity_id: input_select.indoor_camera_cycle - state: Computer Area - - condition: state - entity_id: binary_sensor.frigate_cam03_person_occupancy - state: 'off' - - condition: and - conditions: - - condition: state - entity_id: input_select.indoor_camera_cycle - state: Bedroom Left - - condition: state - entity_id: binary_sensor.frigate_cam06_person_occupancy - state: 'off' - - condition: and - conditions: - - condition: state - entity_id: input_select.indoor_camera_cycle - state: Bedroom Right - - condition: state - entity_id: binary_sensor.frigate_cam07_person_occupancy - state: 'off' - - condition: and - conditions: - - condition: state - entity_id: input_select.indoor_camera_cycle - state: Nursery - - condition: state - entity_id: binary_sensor.frigate_cam08_person_occupancy - state: 'off' - - condition: and - conditions: - - condition: state - entity_id: input_select.indoor_camera_cycle - state: Kitchen - - condition: state - entity_id: binary_sensor.frigate_cam12_person_occupancy - state: 'off' - - condition: and - conditions: - - condition: state - entity_id: input_select.indoor_camera_cycle - state: Front Room - - condition: state - entity_id: binary_sensor.frigate_cam13_person_occupancy - state: 'off' - sequence: - - service: input_select.select_next - data: {} - target: - entity_id: input_select.indoor_camera_cycle - - - choose: - - conditions: - - condition: trigger - id: automatic - - condition: state - entity_id: input_boolean.outdoor_camera_lock - state: 'off' - - condition: or - conditions: - - condition: and - conditions: - - condition: state - entity_id: input_select.outdoor_camera_cycle - state: Garage - - condition: state - entity_id: binary_sensor.frigate_cam04_person_occupancy - state: 'off' - - condition: and - conditions: - - condition: state - entity_id: input_select.outdoor_camera_cycle - state: Back Yard - - condition: state - entity_id: binary_sensor.frigate_cam14_person_occupancy - state: 'off' - - condition: and - conditions: - - condition: state - entity_id: input_select.outdoor_camera_cycle - state: Front Porch - - condition: state - entity_id: binary_sensor.frigate_cam19_person_occupancy - state: 'off' - sequence: - - service: input_select.select_next - data: {} - target: - entity_id: input_select.outdoor_camera_cycle \ No newline at end of file diff --git a/automations/people/almost_bedtime.yaml b/automations/people/almost_bedtime.yaml index de226da..64171de 100644 --- a/automations/people/almost_bedtime.yaml +++ b/automations/people/almost_bedtime.yaml @@ -37,13 +37,13 @@ action: - media_player.bathroom_mini - media_player.kitchen - media_player.great_room - media_content_id: media-source://media_source/local/sounds/tts/almost_bedtime.mp3 + media_content_id: media-source://media_source/tts/almost_bedtime.mp3 volume: 0.7 default: - service: script.make_clever_announcement data: entity_id: media_player.announcements - media_content_id: media-source://media_source/local/sounds/tts/almost_bedtime.mp3 + media_content_id: media-source://media_source/tts/almost_bedtime.mp3 volume: 0.7 # Because of how we're calling the script, the automation won't continue until the script is done, so we don't need a delay here diff --git a/automations/people/bedtime.yaml b/automations/people/bedtime.yaml index a7b55e3..cbb6004 100644 --- a/automations/people/bedtime.yaml +++ b/automations/people/bedtime.yaml @@ -2,8 +2,8 @@ initial_state: 'on' alias: 'Bedtime' id: automation_bedtime trigger: - - platform: homeassistant - event: start + # - platform: homeassistant + # event: start - platform: state entity_id: diff --git a/automations/people/goodnight_kids.yaml b/automations/people/goodnight_kids.yaml index d1e7a02..3a0e990 100644 --- a/automations/people/goodnight_kids.yaml +++ b/automations/people/goodnight_kids.yaml @@ -40,23 +40,23 @@ action: {% if is_state('input_boolean.emmett_home', 'on') %} {% if is_state('input_boolean.bridget_home', 'on') %} {% if is_state('input_boolean.ebin_home', 'on') %} - media-source://media_source/local/sounds/tts/goodnight_emmett_bridget_ebin.mp3 + media-source://media_source/tts/goodnight_emmett_bridget_ebin.mp3 {% else %} - media-source://media_source/local/sounds/tts/goodnight_emmett_bridget.mp3 + media-source://media_source/tts/goodnight_emmett_bridget.mp3 {% endif %} {% elif is_state('input_boolean.ebin_home','on') %} - media-source://media_source/local/sounds/tts/goodnight_emmett_ebin.mp3 + media-source://media_source/tts/goodnight_emmett_ebin.mp3 {% else %} - media-source://media_source/local/sounds/tts/goodnight_emmett.mp3 + media-source://media_source/tts/goodnight_emmett.mp3 {% endif %} {% elif is_state('input_boolean.bridget_home', 'on') %} {% if is_state('input_boolean.ebin_home', 'on') %} - media-source://media_source/local/sounds/tts/goodnight_bridget_ebin.mp3 + media-source://media_source/tts/goodnight_bridget_ebin.mp3 {% else %} - media-source://media_source/local/sounds/tts/goodnight_bridget.mp3 + media-source://media_source/tts/goodnight_bridget.mp3 {% endif %} {% elif is_state('input_boolean.ebin_home', 'on') %} - media-source://media_source/local/sounds/tts/goodnight_ebin.mp3 + media-source://media_source/tts/goodnight_ebin.mp3 {% endif %} volume: 0.7 default: @@ -67,23 +67,23 @@ action: {% if is_state('input_boolean.emmett_home', 'on') %} {% if is_state('input_boolean.bridget_home', 'on') %} {% if is_state('input_boolean.ebin_home', 'on') %} - media-source://media_source/local/sounds/tts/goodnight_emmett_bridget_ebin.mp3 + media-source://media_source/tts/goodnight_emmett_bridget_ebin.mp3 {% else %} - media-source://media_source/local/sounds/tts/goodnight_emmett_bridget.mp3 + media-source://media_source/tts/goodnight_emmett_bridget.mp3 {% endif %} {% elif is_state('input_boolean.ebin_home','on') %} - media-source://media_source/local/sounds/tts/goodnight_emmett_ebin.mp3 + media-source://media_source/tts/goodnight_emmett_ebin.mp3 {% else %} - media-source://media_source/local/sounds/tts/goodnight_emmett.mp3 + media-source://media_source/tts/goodnight_emmett.mp3 {% endif %} {% elif is_state('input_boolean.bridget_home', 'on') %} {% if is_state('input_boolean.ebin_home', 'on') %} - media-source://media_source/local/sounds/tts/goodnight_bridget_ebin.mp3 + media-source://media_source/tts/goodnight_bridget_ebin.mp3 {% else %} - media-source://media_source/local/sounds/tts/goodnight_bridget.mp3 + media-source://media_source/tts/goodnight_bridget.mp3 {% endif %} {% elif is_state('input_boolean.ebin_home', 'on') %} - media-source://media_source/local/sounds/tts/goodnight_ebin.mp3 + media-source://media_source/tts/goodnight_ebin.mp3 {% endif %} volume: 0.7 diff --git a/automations/rooms/front_porch_lights.yaml b/automations/rooms/front_porch_lights.yaml index d1d6b7d..2ed2287 100644 --- a/automations/rooms/front_porch_lights.yaml +++ b/automations/rooms/front_porch_lights.yaml @@ -8,18 +8,24 @@ trigger: entity_id: - binary_sensor.front_porch_motion - binary_sensor.front_porch_person_occupancy + - binary_sensor.front_yard_person_occupancy to: "on" - platform: state id: motion_off - entity_id: binary_sensor.front_porch_motion, binary_sensor.front_porch_person_occupancy + entity_id: + - binary_sensor.front_porch_motion + - binary_sensor.front_porch_person_occupancy + - binary_sensor.front_yard_person_occupancy to: "off" for: minutes: 5 - platform: state id: door_open - entity_id: binary_sensor.garage_door, binary_sensor.outer_garage_door_contact #, binary_sensor.outer_garage_door + entity_id: + - binary_sensor.garage_door + - binary_sensor.outer_garage_door_contact #, binary_sensor.outer_garage_door to: "on" - platform: state @@ -33,34 +39,15 @@ trigger: id: too_dark entity_id: binary_sensor.front_porch_naturally_lit to: "off" + for: + seconds: 30 - platform: state id: too_bright entity_id: binary_sensor.front_porch_naturally_lit to: "on" - -condition: - # - condition: or - # conditions: - # - alias: "Front porch not naturally lit" - # condition: state - # entity_id: binary_sensor.front_porch_naturally_lit - # state: 'off' - - # - alias: "Light is already off" - # condition: state - # entity_id: light.front_porch_overhead - # state: 'off' - - - alias: "It is not late evening" - condition: state - entity_id: binary_sensor.late_evening - state: 'off' - - - alias: "It is not night" - condition: state - entity_id: binary_sensor.night - state: 'off' + for: + seconds: 30 action: - choose: @@ -72,6 +59,16 @@ action: entity_id: light.front_porch_overhead state: 'off' + - alias: "It is not late evening" + condition: state + entity_id: binary_sensor.late_evening + state: 'off' + + - alias: "It is not night" + condition: state + entity_id: binary_sensor.night + state: 'off' + - alias: "Front porch not naturally lit" condition: state entity_id: binary_sensor.front_porch_naturally_lit @@ -113,6 +110,26 @@ action: target: entity_id: light.front_porch_overhead + - conditions: + - condition: trigger + id: "too_dark" + + - condition: state + entity_id: light.front_porch_overhead + state: 'off' + + - condition: state + entity_id: + - binary_sensor.front_porch_motion + - binary_sensor.front_porch_person_occupancy + - binary_sensor.front_yard_person_occupancy + state: 'on' + + sequence: + - service: light.turn_on + target: + entity_id: light.front_porch_overhead + - conditions: - condition: state entity_id: binary_sensor.front_porch_motion diff --git a/automations/things/keurig_done.yaml b/automations/things/keurig_done.yaml index 1c43b6e..11986f3 100644 --- a/automations/things/keurig_done.yaml +++ b/automations/things/keurig_done.yaml @@ -54,4 +54,4 @@ action: - alias: "Announce that the coffee is ready" service: script.make_clever_announcement data: - media_content_id: media-source://media_source/local/sounds/tts/coffee_ready.mp3 + media_content_id: media-source://media_source/tts/coffee_ready.mp3 diff --git a/automations/things/kitchen_fridge_door.yaml b/automations/things/kitchen_fridge_door.yaml index 8e4f80c..f490e06 100644 --- a/automations/things/kitchen_fridge_door.yaml +++ b/automations/things/kitchen_fridge_door.yaml @@ -46,7 +46,7 @@ action: sequence: - service: script.make_clever_announcement data: - media_content_id: media-source://media_source/local/sounds/tts/kitchen_fridge_open_too_long.mp3 + media_content_id: media-source://media_source/tts/kitchen_fridge_open_too_long.mp3 - choose: - conditions: diff --git a/components/binary_sensors/rooms/master_bathroom_occupied.yaml b/components/binary_sensors/rooms/master_bathroom_occupied.yaml index 8f6a2d6..6f91130 100644 --- a/components/binary_sensors/rooms/master_bathroom_occupied.yaml +++ b/components/binary_sensors/rooms/master_bathroom_occupied.yaml @@ -18,7 +18,7 @@ observations: # platform: state # to_state: 'on' - - entity_id: binary_sensor.master_bathroom_hygrostat + - entity_id: binary_sensor.master_bathroom_too_humid prob_given_true: .99 prob_given_false: 0.05 platform: state diff --git a/components/binary_sensors/rooms/utility_room_occupied.yaml b/components/binary_sensors/rooms/utility_room_occupied.yaml index 0ce2cae..3c145c1 100644 --- a/components/binary_sensors/rooms/utility_room_occupied.yaml +++ b/components/binary_sensors/rooms/utility_room_occupied.yaml @@ -18,7 +18,7 @@ observations: # platform: state # to_state: 'on' - - entity_id: binary_sensor.utility_room_hygrostat + - entity_id: binary_sensor.utility_room_too_humid prob_given_true: .99 prob_given_false: 0.05 platform: state diff --git a/components/packages/automatic_sprinkler_system.yaml b/components/packages/automatic_sprinkler_system.yaml index d915b9a..7537813 100644 --- a/components/packages/automatic_sprinkler_system.yaml +++ b/components/packages/automatic_sprinkler_system.yaml @@ -435,43 +435,6 @@ automation: data: message: "{{now().strftime('%Y-%m-%d')}}T{{now().strftime('%H:%M:%S.%f')}},{{states('sensor.ecowitt_wh40_21917_precipitation')}},{{states('binary_sensor.is_raining')}},{{state_attr('binary_sensor.is_raining','sample_count')}},{{state_attr('binary_sensor.is_raining','sample_duration')}},{{state_attr('binary_sensor.is_raining','min_gradient')}},{{state_attr('binary_sensor.is_raining','gradient')}}" - - alias: "Log Soil Moisture" - id: 362fbc8d-64f1-47dd-a686-e460e9c18690 - trigger: - - platform: state - entity_id: input_boolean.log_soil_moisture - from: "off" - to: "on" - - - platform: state - entity_id: sensor.fineoffset_wh51_00f935_moisture - not_to: - - "unknown" - - "unavailable" - - - platform: state - entity_id: sensor.fineoffset_wh51_0ce593_moisture - not_to: - - "unknown" - - "unavailable" - - - platform: state - entity_id: sensor.fineoffset_wh51_0d1e11_moisture - not_to: - - "unknown" - - "unavailable" - - condition: - - condition: state - entity_id: input_boolean.log_soil_moisture - state: "on" - action: - - service: notify.send_message - target: - entity_id: notify.soil_moisture - data: - message: "{{now().strftime('%Y-%m-%d')}}T{{now().strftime('%H:%M:%S.%f')}},{{states('sensor.fineoffset_wh51_00f935_moisture')}},{{states('sensor.fineoffset_wh51_0ce593_moisture')}},{{states('sensor.fineoffset_wh51_0d1e11_moisture')}}" - - alias: "Sprinkler: Reset After Automatic Run" id: automation_sprinkler_reset_after_automatic_run trigger: diff --git a/components/packages/clever_announcements.yaml b/components/packages/clever_announcements.yaml index 664acc3..b3a074b 100644 --- a/components/packages/clever_announcements.yaml +++ b/components/packages/clever_announcements.yaml @@ -15,7 +15,7 @@ script: media_content_id: description: "Media Content ID to announce" - example: media-source://media_source/local/sounds/tts/welcome_to_daddys_house.mp3 + example: media-source://media_source/tts/welcome_to_daddys_house.mp3 selector: text: @@ -42,7 +42,7 @@ script: # If YTube Music Player is not in use, play the announcement over the media_player.announcements speaker group media_player: '{{ iif(entity_id is defined, entity_id, iif(is_state("media_player.ytube_music_player","playing") or is_state("media_player.ytube_music_player","idle") or is_state("media_player.ytube_music_player","paused"),state_attr("media_player.ytube_music_player","remote_player_id"),"media_player.announcements")) }}' remote_player: '{{ state_attr("media_player.ytube_music_player","remote_player_id") }}' - content_id: '{{ iif(media_content_id is defined,media_content_id,"media-source://media_source/local/sounds/tts/welcome_to_daddys_house.mp3") }}' + content_id: '{{ iif(media_content_id is defined,media_content_id,"media-source://media_source/tts/welcome_to_daddys_house.mp3") }}' content_type: '{{ iif(media_content_type is defined,media_content_type,"audio/mpeg") }}' volume: "{{ iif(volume is defined,volume,0.6) }}" original_volume: '{{ iif(is_state("media_player.ytube_music_player","off"),0.0,state_attr(state_attr("media_player.ytube_music_player","remote_player_id"), "volume_level")) }}' diff --git a/components/packages/esphome_devices.yaml b/components/packages/esphome_devices.yaml new file mode 100644 index 0000000..aeff13f --- /dev/null +++ b/components/packages/esphome_devices.yaml @@ -0,0 +1,37 @@ +template: + - binary_sensor: + - name: White Bed Occupied + state: "{{ is_state('binary_sensor.bed_presence_2d14a4_bed_occupied_either', 'on') }}" + icon: > + {% if is_state("binary_sensor.white_bed_occupied", "on") %} + mdi:bed-single + {% else %} + mdi:bed-single-outline + {% endif %} + + - name: Master Bed Occupied + state: "{{ is_state('binary_sensor.bed_presence_2d14a4_bed_occupied_either', 'on') }}" + icon: > + {% if is_state("binary_sensor.master_bed_occupied", "on") %} + mdi:bed-king + {% else %} + mdi:bed-king-outline + {% endif %} + + - name: Master Bed Left Occupied + state: "{{ is_state('binary_sensor.bed_presence_c175a4_bed_occupied_left', 'on') }}" + icon: > + {% if is_state("binary_sensor.master_bed_left_occupied", "on") %} + mdi:bed-king + {% else %} + mdi:bed-king-outline + {% endif %} + + - name: Master Bed Right Occupied + state: "{{ is_state('binary_sensor.bed_presence_c175a4_bed_occupied_right', 'on') }}" + icon: > + {% if is_state("binary_sensor.master_bed_right_occupied", "on") %} + mdi:bed-king + {% else %} + mdi:bed-king-outline + {% endif %} \ No newline at end of file diff --git a/components/packages/plant_sensor_batteries.yaml b/components/packages/plant_sensor_batteries.yaml index 756b49c..0b09939 100644 --- a/components/packages/plant_sensor_batteries.yaml +++ b/components/packages/plant_sensor_batteries.yaml @@ -13,7 +13,5 @@ sensor: name: Lowest Ecowitt Battery type: min entity_ids: - - sensor.fineoffset_wh51_0d1e11_battery - - sensor.fineoffset_wh51_00f935_battery - sensor.fineoffset_wh51_0ce593_battery diff --git a/components/packages/plants.yaml b/components/packages/plants.yaml index 61aa4d2..99779fb 100644 --- a/components/packages/plants.yaml +++ b/components/packages/plants.yaml @@ -44,19 +44,6 @@ plant: min_conductivity: 10 max_conductivity: 5700 - fineoffset_wh51_00f935: - sensors: - moisture: sensor.fineoffset_wh51_00f935_moisture - temperature: sensor.outdoor_temperature - battery: sensor.fineoffset_wh51_00f935_battery - brightness: sensor.outdoors_mean_illuminance - min_moisture: 15 - max_moisture: 80 - min_brightness: 200 - max_brightness: 300000 - min_temperature: -30 - max_temperature: 120 - fineoffset_wh51_0ce593: sensors: moisture: sensor.fineoffset_wh51_0ce593_moisture @@ -69,16 +56,3 @@ plant: max_brightness: 300000 min_temperature: -30 max_temperature: 120 - - fineoffset_wh51_0d1e11: - sensors: - moisture: sensor.fineoffset_wh51_0d1e11_moisture - temperature: sensor.outdoor_temperature - battery: sensor.fineoffset_wh51_0d1e11_battery - brightness: sensor.outdoors_mean_illuminance - min_moisture: 15 - max_moisture: 80 - min_brightness: 200 - max_brightness: 300000 - min_temperature: -30 - max_temperature: 120 diff --git a/components/packages/rtl_433_devices/daisy_soil_moisture.yaml b/components/packages/rtl_433_devices/daisy_soil_moisture.yaml deleted file mode 100644 index 0df00fb..0000000 --- a/components/packages/rtl_433_devices/daisy_soil_moisture.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# White Ziptie -mqtt: - sensor: - - name: "Timestamp" - device_class: timestamp - icon: mdi:clock-in - state_topic: "rtl_433/9b13b3f4-rtl433/devices/Fineoffset-WH51/00f935/time" - force_update: true - entity_category: diagnostic - unique_id: Fineoffset-WH51-00f935-UTC - device: - identifiers: Fineoffset-WH51-00f935 - name: Fineoffset-WH51-00f935 - model: Fineoffset-WH51 - manufacturer: rtl_433 - - - name: "Battery" - device_class: battery - unit_of_measurement: "%" - value_template: "{{ (float(value) * 99 + 1) | round(0) }}" - state_class: measurement - entity_category: diagnostic - state_topic: "rtl_433/9b13b3f4-rtl433/devices/Fineoffset-WH51/00f935/battery_ok" - force_update: true - unique_id: Fineoffset-WH51-00f935-B - device: - identifiers: Fineoffset-WH51-00f935 - name: Fineoffset-WH51-00f935 - model: Fineoffset-WH51 - manufacturer: rtl_433 - - - name: "Moisture" - device_class: moisture - unit_of_measurement: "%" - value_template: "{{ value|float }}" - state_class: measurement - state_topic: "rtl_433/9b13b3f4-rtl433/devices/Fineoffset-WH51/00f935/moisture" - force_update: true - unique_id: Fineoffset-WH51-00f935-H - device: - identifiers: Fineoffset-WH51-00f935 - name: Fineoffset-WH51-00f935 - model: Fineoffset-WH51 - manufacturer: rtl_433 diff --git a/components/packages/rtl_433_devices/outdoor_thermostat.yaml b/components/packages/rtl_433_devices/outdoor_thermostat.yaml index 08f89dd..3c43287 100644 --- a/components/packages/rtl_433_devices/outdoor_thermostat.yaml +++ b/components/packages/rtl_433_devices/outdoor_thermostat.yaml @@ -3,7 +3,7 @@ mqtt: - name: "Timestamp" device_class: timestamp icon: mdi:clock-in - state_topic: "rtl_433/9b13b3f4-rtl433/devices/LaCrosse-TX141THBv2/0/106/time" + state_topic: "rtl_433/9b13b3f4-rtl433/devices/LaCrosse-TX141THBv2/0/233/time" force_update: true entity_category: diagnostic unique_id: LaCrosse-TX141THBv2-0-UTC @@ -19,7 +19,7 @@ mqtt: value_template: "{{ (float(value) * 99 + 1) | round(0) }}" state_class: measurement entity_category: diagnostic - state_topic: "rtl_433/9b13b3f4-rtl433/devices/LaCrosse-TX141THBv2/0/106/battery_ok" + state_topic: "rtl_433/9b13b3f4-rtl433/devices/LaCrosse-TX141THBv2/0/233/battery_ok" force_update: true unique_id: LaCrosse-TX141THBv2-0-B device: @@ -33,7 +33,7 @@ mqtt: unit_of_measurement: "°C" value_template: "{{ value|float }}" state_class: measurement - state_topic: "rtl_433/9b13b3f4-rtl433/devices/LaCrosse-TX141THBv2/0/106/temperature_C" + state_topic: "rtl_433/9b13b3f4-rtl433/devices/LaCrosse-TX141THBv2/0/233/temperature_C" force_update: true unique_id: LaCrosse-TX141THBv2-0-T device: @@ -47,7 +47,7 @@ mqtt: unit_of_measurement: "%" value_template: "{{ value|float }}" state_class: measurement - state_topic: "rtl_433/9b13b3f4-rtl433/devices/LaCrosse-TX141THBv2/0/106/humidity" + state_topic: "rtl_433/9b13b3f4-rtl433/devices/LaCrosse-TX141THBv2/0/233/humidity" force_update: true unique_id: LaCrosse-TX141THBv2-0-H device: diff --git a/components/packages/rtl_433_devices/sunflower_box_moisture.yaml b/components/packages/rtl_433_devices/sunflower_box_moisture.yaml deleted file mode 100644 index 019d14d..0000000 --- a/components/packages/rtl_433_devices/sunflower_box_moisture.yaml +++ /dev/null @@ -1,44 +0,0 @@ -# Yellow Ziptie -mqtt: - sensor: - - name: "Timestamp" - device_class: timestamp - icon: mdi:clock-in - state_topic: "rtl_433/9b13b3f4-rtl433/devices/Fineoffset-WH51/0d1e11/time" - force_update: true - entity_category: diagnostic - unique_id: Fineoffset-WH51-0d1e11-UTC - device: - identifiers: Fineoffset-WH51-0d1e11 - name: Fineoffset-WH51-0d1e11 - model: Fineoffset-WH51 - manufacturer: rtl_433 - - - name: "Battery" - device_class: battery - unit_of_measurement: "%" - value_template: "{{ (float(value) * 99 + 1) | round(0) }}" - state_class: measurement - entity_category: diagnostic - state_topic: "rtl_433/9b13b3f4-rtl433/devices/Fineoffset-WH51/0d1e11/battery_ok" - force_update: true - unique_id: Fineoffset-WH51-0d1e11-B - device: - identifiers: Fineoffset-WH51-0d1e11 - name: Fineoffset-WH51-0d1e11 - model: Fineoffset-WH51 - manufacturer: rtl_433 - - - name: "Moisture" - device_class: moisture - unit_of_measurement: "%" - value_template: "{{ value|float }}" - state_class: measurement - state_topic: "rtl_433/9b13b3f4-rtl433/devices/Fineoffset-WH51/0d1e11/moisture" - force_update: true - unique_id: Fineoffset-WH51-0d1e11-H - device: - identifiers: Fineoffset-WH51-0d1e11 - name: Fineoffset-WH51-0d1e11 - model: Fineoffset-WH51 - manufacturer: rtl_433 diff --git a/customizations/entities/plants.yaml b/customizations/entities/plants.yaml index 5758c6f..a20ebd0 100644 --- a/customizations/entities/plants.yaml +++ b/customizations/entities/plants.yaml @@ -22,18 +22,10 @@ plant.plant_sensor_3eb0: # entity_picture: /local/image/pansy.jpg # friendly_name: Pansy -plant.fineoffset_wh51_00f935: - entity_picture: /local/image/daisy.jpg - friendly_name: Daisies (F935) - plant.fineoffset_wh51_0ce593: entity_picture: /local/image/hosta.jpg friendly_name: Hostas (E593) -plant.fineoffset_wh51_0d1e11: - entity_picture: /local/image/cacti_planter.jpg - friendly_name: Cacti Planter (1E11) - ## Groups group.front_yard_plants: @@ -44,9 +36,9 @@ group.back_yard_plants: entity_picture: /local/image/daisy.jpg friendly_name: Back Yard Plants -group.indoor_plants: - entity_picture: /local/image/cacti_planter.jpg - friendly_name: Indoor Plants +# group.indoor_plants: +# entity_picture: /local/image/cacti_planter.jpg +# friendly_name: Indoor Plants group.outdoor_plants: entity_picture: /local/image/daisy.jpg diff --git a/esphome/bed-presence-2d14a4.yaml b/esphome/bed-presence-2d14a4.yaml new file mode 100644 index 0000000..f65f805 --- /dev/null +++ b/esphome/bed-presence-2d14a4.yaml @@ -0,0 +1,64 @@ +esphome: + name: bed-presence-2d14a4 + friendly_name: Bed Presence 2d14a4 + min_version: 2024.6.0 + name_add_mac_suffix: false + project: + name: ElevatedSensors.BedPresenceMk1 + version: DIY + platformio_options: + board_build.flash_mode: dio + +esp32: + board: esp32-c3-devkitm-1 + framework: + type: esp-idf + sdkconfig_options: + CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y + CONFIG_BT_BLE_50_FEATURES_SUPPORTED: n + +# Enable logging +logger: + +# Enable Home Assistant API +api: + +# Enable wifi +wifi: + # Set up a wifi access point + ap: {} + +# In combination with the `ap` this allows the user +# to provision wifi credentials to the device via WiFi AP. +captive_portal: + +# Enable esphome OTA updates +ota: +- platform: esphome + +################################################################################ +packages: + remote_package: + url: https://github.com/ElevatedSensors/sensor-configs + ref: main + refresh: 1s + files: + - bed-presence-mk1/base.yaml + - esphome-common/bluetooth-proxy.yaml + +# See https://github.com/ElevatedSensors/sensor-configs/blob/main/bed-presence-mk1/sensor.yaml for a detailed +# description of available substitutions. +# +# substitutions: +# trigger_percentile: '0.75' +# averaging_window_samples: '5' +# fast_delayed_on: '0ms' +# fast_delayed_off: '0ms' +# standard_delayed_on: '0s' +# standard_delayed_off: '1s' +# slow_delayed_on: '2s' +# slow_delayed_off: '5s' +# reporting_delta: '1.0' +# reporting_interval_max: '180s' +# calibrate_100: '408000' +# calibrate_0: '276000' diff --git a/esphome/bed-presence-c175a4.yaml b/esphome/bed-presence-c175a4.yaml new file mode 100644 index 0000000..6163370 --- /dev/null +++ b/esphome/bed-presence-c175a4.yaml @@ -0,0 +1,64 @@ +esphome: + name: bed-presence-c175a4 + friendly_name: Bed Presence c175a4 + min_version: 2024.6.0 + name_add_mac_suffix: false + project: + name: ElevatedSensors.BedPresenceMk1 + version: DIY + platformio_options: + board_build.flash_mode: dio + +esp32: + board: esp32-c3-devkitm-1 + framework: + type: esp-idf + sdkconfig_options: + CONFIG_BT_BLE_42_FEATURES_SUPPORTED: y + CONFIG_BT_BLE_50_FEATURES_SUPPORTED: n + +# Enable logging +logger: + +# Enable Home Assistant API +api: + +# Enable wifi +wifi: + # Set up a wifi access point + ap: {} + +# In combination with the `ap` this allows the user +# to provision wifi credentials to the device via WiFi AP. +captive_portal: + +# Enable esphome OTA updates +ota: +- platform: esphome + +################################################################################ +packages: + remote_package: + url: https://github.com/ElevatedSensors/sensor-configs + ref: main + refresh: 1s + files: + - bed-presence-mk1/base.yaml + - esphome-common/bluetooth-proxy.yaml + +# See https://github.com/ElevatedSensors/sensor-configs/blob/main/bed-presence-mk1/sensor.yaml for a detailed +# description of available substitutions. +# +# substitutions: +# trigger_percentile: '0.75' +# averaging_window_samples: '5' +# fast_delayed_on: '0ms' +# fast_delayed_off: '0ms' +# standard_delayed_on: '0s' +# standard_delayed_off: '1s' +# slow_delayed_on: '2s' +# slow_delayed_off: '5s' +# reporting_delta: '1.0' +# reporting_interval_max: '180s' +# calibrate_100: '408000' +# calibrate_0: '276000' diff --git a/esphome/common/ethernet.yaml b/esphome/common/ethernet.yaml index 638c6ab..6303907 100644 --- a/esphome/common/ethernet.yaml +++ b/esphome/common/ethernet.yaml @@ -9,6 +9,8 @@ ethernet: power_pin: GPIO5 phy_addr: 0 + use_address: ${devicename}.local + manual_ip: static_ip: ${static_ip} gateway: !secret iot_default_gateway diff --git a/esphome/common/wifi.yaml b/esphome/common/wifi.yaml index 79de3f1..a59309e 100644 --- a/esphome/common/wifi.yaml +++ b/esphome/common/wifi.yaml @@ -1,3 +1,4 @@ +esphome: captive_portal: wifi: @@ -14,6 +15,8 @@ wifi: gateway: !secret iot_default_gateway subnet: !secret iot_subnet_mask + use_address: ${devicename}.local + # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "${friendly_name}" diff --git a/esphome/common/wifi_dhcp.yaml b/esphome/common/wifi_dhcp.yaml index 5b54969..d1bbee4 100644 --- a/esphome/common/wifi_dhcp.yaml +++ b/esphome/common/wifi_dhcp.yaml @@ -9,6 +9,8 @@ wifi: - ssid: !secret IoT_Wifi_SSID password: !secret IoT_Wifi_PWD + use_address: ${devicename}.local + # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "${friendly_name}" diff --git a/esphome/common/wifi_no_power_save.yaml b/esphome/common/wifi_no_power_save.yaml index 25bca77..bff325f 100644 --- a/esphome/common/wifi_no_power_save.yaml +++ b/esphome/common/wifi_no_power_save.yaml @@ -1,3 +1,4 @@ +esphome: captive_portal: wifi: @@ -7,6 +8,8 @@ wifi: #- ssid: !secret IoT_Wifi_SSID # password: !secret IoT_Wifi_PWD + use_address: ${devicename}.local + manual_ip: static_ip: ${static_ip} gateway: !secret iot_default_gateway diff --git a/groups.yaml b/groups.yaml index 42a3f57..e574804 100644 --- a/groups.yaml +++ b/groups.yaml @@ -8,15 +8,10 @@ front_yard_plants: back_yard_plants: - plant.plant_sensor_3eb0 #Manly Deck Box - - plant.fineoffset_wh51_00f935 #Daisies - plant.plant_sensor_3eae #Golden Deck Box -indoor_plants: - - plant.fineoffset_wh51_0d1e11 #Cactus Planter - outdoor_plants: - plant.fineoffset_wh51_0ce593 #Hostas - - plant.fineoffset_wh51_00f935 #Daisies ceiling_fans: - fan.master_bedroom diff --git a/lovelace/cameras/view-camera-12.yaml b/lovelace/cameras/view-camera-12.yaml index 4e024eb..4b48b5e 100644 --- a/lovelace/cameras/view-camera-12.yaml +++ b/lovelace/cameras/view-camera-12.yaml @@ -11,8 +11,6 @@ card: dimensions: layout: fit: fill - status_bar: - style: none cameras: - camera_entity: camera.frigate_cam12 live_provider: go2rtc @@ -20,26 +18,16 @@ card: modes: - webrtc stream: rtsp_cam12_sub + cast: + method: dashboard + dashboard: + dashboard_path: camera-casting-yml + view_path: kitchen-camera live: preload: true draggable: true show_image_during_load: false lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none - menu: - buttons: - frigate: - enabled: false - style: none - media_viewer: - draggable: false - lazy_load: false dimensions: aspect_ratio_mode: static aspect_ratio: '16:9' diff --git a/lovelace/details/view-batteries.yaml b/lovelace/details/view-batteries.yaml index d927c3e..cabee25 100644 --- a/lovelace/details/view-batteries.yaml +++ b/lovelace/details/view-batteries.yaml @@ -14,10 +14,6 @@ cards: - type: entities title: Ecowitt Batteries entities: - - entity: sensor.fineoffset_wh51_0d1e11_battery - name: Computer Area - 1e11 - - entity: sensor.fineoffset_wh51_00f935_battery - name: Daisies - f935 - entity: sensor.fineoffset_wh51_0ce593_battery name: Hostas - e593 - type: entities diff --git a/lovelace/details/view-hvac.yaml b/lovelace/details/view-hvac.yaml index 295d12a..8f3df86 100644 --- a/lovelace/details/view-hvac.yaml +++ b/lovelace/details/view-hvac.yaml @@ -1,1841 +1,1938 @@ title: HVAC path: hvac icon: mdi:thermometer-water -type: panel +type: sections visible: - user: 24a4bd075e7f41a497dd0390a1dd4a9f - user: cad46dedf86f454ebbd7f697a58730f2 -cards: - - type: vertical-stack +max_columns: 5 +sections: + - type: grid + cards: + - type: heading + icon: mdi:grass + heading: Outside + heading_style: title + badges: + - type: entity + show_state: true + show_icon: true + entity: sensor.outdoor_temperature + tap_action: + action: more-info + - type: entity + show_state: true + show_icon: true + entity: sensor.outdoor_humidity + tap_action: + action: more-info + - type: custom:mushroom-entity-card + entity: sensor.thermal_comfort_heat_index + name: Heat Index + primary_info: state + secondary_info: name + - type: custom:mushroom-entity-card + entity: sensor.thermal_comfort_dew_point + name: Dew Point + primary_info: state + secondary_info: name + - type: custom:mushroom-template-card + entity: sensor.thermal_comfort_summer_simmer_perception + primary: >- + {% if + is_state('sensor.thermal_comfort_summer_simmer_perception','cool') %} + Cool + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','slightly_cool') + %} Comfy + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','comfortable') + %} Comfy + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','slightly_warm') + %} Warm + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} Warm + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','extremely_warm') + %} Hot + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} Hot + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} Danger + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} Danger + + {% else %} Unknown {% endif %} + secondary: Summer Simmer + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.thermal_comfort_summer_simmer_perception','cool') %} + indigo + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','comfortable') + %} green + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange + + {% elif + is_state('sensor.thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red + + {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.thermal_comfort_summer_scharlau_perception + primary: Summer Scharlau + secondary: > + {% if + is_state('sensor.thermal_comfort_summer_scharlau_perception','comfortable') + %} Comfy {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','slightly_uncomfortable') + %} Slightly Uncomfy {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','moderately_uncomfortable') + %} Moderatly Uncomfy {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','highly_uncomfortable') + %} Highly Uncomfortable {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','outside_calculable_range') + %} Outside Calculable Range {% endif %} + icon: > + {% if + is_state('sensor.thermal_comfort_summer_scharlau_perception','comfortable') + %} mdi:thermometer-low {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','slightly_uncomfortable') + %} mdi:thermometer {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','moderately_uncomfortable') + %} mdi:thermometer-high {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','highly_uncomfortable') + %} mdi:thermometer-alert {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','outside_calculable_range') + %} mdi:thermometer-low {% endif %} + icon_color: > + {% if + is_state('sensor.thermal_comfort_summer_scharlau_perception','comfortable') + %} green {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','slightly_uncomfortable') + %} yellow {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','moderately_uncomfortable') + %} orange {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','highly_uncomfortable') + %} red {% elif + is_state('sensor.thermal_comfort_summer_scharlau_perception','outside_calculable_range') + %} gray {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.thermal_comfort_dew_point_perception + primary: >- + {% if is_state('sensor.thermal_comfort_dew_point_perception','dry') %} + Dry + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','very_comfortable') + %} Comfortable + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','ok_but_humid') + %} Sticky + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} Humid + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','quite_uncomfortable') + %} Uncomfortable + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} Oppressive + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','severely_high') + %} Miserable + + {% else %} Unknown {% endif %} + secondary: | + Dew Point Perception + icon: tc:dew-point + icon_color: > + {% if is_state('sensor.thermal_comfort_dew_point_perception','dry') %} + blue-grey + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','very_comfortable') + %} green + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','ok_but_humid') + %} light-green + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} yellow + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','quite_uncomfortable') + %} amber + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} deep-orange + + {% elif + is_state('sensor.thermal_comfort_dew_point_perception','severely_high') + %} red + + {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.thermal_comfort_humidex_perception + primary: >- + {% if + is_state('sensor.thermal_comfort_humidex_perception','comfortable') %} + Comfortable + + {% elif + is_state('sensor.thermal_comfort_humidex_perception','noticable_discomfort') + %} Uncomfortable + + {% elif + is_state('sensor.thermal_comfort_humidex_perception','evident_discomfort') + %} Unbearable + + {% elif + is_state('sensor.thermal_comfort_humidex_perception','great_discomfort') + %} Oppressive + + {% elif + is_state('sensor.thermal_comfort_humidex_perception','dangerous_discomfort') + %} Dangerous + + {% elif + is_state('sensor.thermal_comfort_humidex_perception','heat_stroke') %} + Hazardous + + {% else %} disabled {% endif %} + secondary: | + Humidex + icon: tc:thermal-perception + icon_color: >- + {% if + is_state('sensor.thermal_comfort_humidex_perception','comfortable') %} + green + + {% elif + is_state('sensor.thermal_comfort_humidex_perception','noticable_discomfort') + %} yellow + + {% elif + is_state('sensor.thermal_comfort_humidex_perception','evident_discomfort') + %} amber + + {% elif + is_state('sensor.thermal_comfort_humidex_perception','great_discomfort') + %} orange + + {% elif + is_state('sensor.thermal_comfort_humidex_perception','dangerous_discomfort') + %} deep-orange + + {% elif + is_state('sensor.thermal_comfort_humidex_perception','heat_stroke') %} + red + + {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.thermal_comfort_relative_strain_perception + primary: Relative Strain + secondary: > + {% if + is_state('sensor.thermal_comfort_relative_strain_perception','comfortable') + %} Comfy {% elif + is_state('sensor.thermal_comfort_relative_strain_perception','slight_discomfort') + %} Slight Discomfort {% elif + is_state('sensor.thermal_comfort_relative_strain_perception','discomfort') + %} Discomfort {% elif + is_state('sensor.thermal_comfort_relative_strain_perception','significant_discomfort') + %} Significant Discomfort {% elif + is_state('sensor.thermal_comfort_relative_strain_perception','extreme_discomfort') + %} Extreme Discomfort {% endif %} + icon: tc:dew-point-alternative + icon_color: > + {% if + is_state('sensor.thermal_comfort_relative_strain_perception','comfortable') + %} green {% elif + is_state('sensor.thermal_comfort_relative_strain_perception','slight_discomfort') + %} yellow {% elif + is_state('sensor.thermal_comfort_relative_strain_perception','discomfort') + %} orange {% elif + is_state('sensor.thermal_comfort_relative_strain_perception','significant_discomfort') + %} red {% elif + is_state('sensor.thermal_comfort_relative_strain_perception','extreme_discomfort') + %} red {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.thermal_comfort_thoms_discomfort_perception + primary: Thoms + secondary: > + {% if + is_state('sensor.thermal_comfort_thoms_discomfort_perception','no_discomfort') + %} No discomfort {% elif + is_state('sensor.thermal_comfort_thoms_discomfort_perception','less_than_half') + %} Less than half {% elif + is_state('sensor.thermal_comfort_thoms_discomfort_perception','more_than_half') + %} More than half {% elif + is_state('sensor.thermal_comfort_thoms_discomfort_perception','most') + %} Most {% elif + is_state('sensor.thermal_comfort_thoms_discomfort_perception','everyone') + %} Everyone {% elif + is_state('sensor.thermal_comfort_thoms_discomfort_perception','dangerous') + %} Dangerous {% endif %} + icon: tc:heat-index + icon_color: > + {% if + is_state('sensor.thermal_comfort_thoms_discomfort_perception','no_discomfort') + %} blue {% elif + is_state('sensor.thermal_comfort_thoms_discomfort_perception','less_than_half') + %} yellow {% elif + is_state('sensor.thermal_comfort_thoms_discomfort_perception','more_than_half') + %} orange {% elif + is_state('sensor.thermal_comfort_thoms_discomfort_perception','most') + %} orange {% elif + is_state('sensor.thermal_comfort_thoms_discomfort_perception','everyone') + %} red {% elif + is_state('sensor.thermal_comfort_thoms_discomfort_perception','dangerous') + %} red {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.thermal_comfort_winter_scharlau_perception + primary: Winter Scharlau + secondary: > + {% if + is_state('sensor.thermal_comfort_winter_scharlau_perception','comfortable') + %} Comfy {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','slightly_uncomfortable') + %} Slightly Uncomfy {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','moderatly_uncomfortable') + %} Moderatly Uncomfy {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','highly_uncomfortable') + %} Highly Uncomfortable {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','outside_calculable_range') + %} Outside Calculable Range {% endif %} + icon: > + {% if + is_state('sensor.thermal_comfort_winter_scharlau_perception','comfortable') + %} mdi:snowflake-off {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','slightly_uncomfortable') + %} mdi:snowflake {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','moderatly_uncomfortable') + %} mdi:snowflake-thermometer {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','highly_uncomfortable') + %} mdi:snowflake-alert {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','outside_calculable_range') + %} mdi:snowflake-off {% endif %} + icon_color: > + {% if + is_state('sensor.thermal_comfort_winter_scharlau_perception','comfortable') + %} green {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','slightly_uncomfortable') + %} yellow {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','moderatly_uncomfortable') + %} orange {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','highly_uncomfortable') + %} red {% elif + is_state('sensor.thermal_comfort_winter_scharlau_perception','outside_calculable_range') + %} gray {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-entity-card + entity: sensor.thermal_comfort_frost_risk + name: Frost Risk + - type: grid + cards: + - type: heading + icon: mdi:television + heading: Front Room + heading_style: title + badges: + - type: entity + entity: sensor.front_room_thermostat_temperature + tap_action: + action: more-info + - type: entity + entity: sensor.front_room_thermostat_humidity + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.front_room_thermal_comfort_summer_simmer_perception + primary: > + {% if + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','cool') + %} Cool {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} Comfy {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','comfortable') + %} Comfy {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} Warm {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} Warm {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} Hot {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} Hot {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} Danger {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} Danger {% else %} Unknown {% endif %} + secondary: Simmer + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.front_room_thermal_comfort_summer_simmer_index + primary: >- + {{states('sensor.front_room_thermal_comfort_summer_simmer_index') | + round(2) }} °F + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: "" + - type: custom:mushroom-template-card + entity: sensor.front_room_thermal_comfort_dew_point_perception + primary: > + {% if + is_state('sensor.front_room_thermal_comfort_dew_point_perception','dry') + %} Dry {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','very_comfortable') + %} Very Comfy {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','ok_but_humid') + %} Sticky {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} Humid {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} Uncomfortable {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} Oppressive {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','severely_high') + %} Miserable {% else %} Unknown {% endif %} + icon: tc:dew-point + icon_color: > + {% if + is_state('sensor.front_room_thermal_comfort_dew_point_perception','dry') + %} blue-grey {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','very_comfortable') + %} green {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','comfortable') + %} light-green {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','ok_but_humid') + %} lime {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} yellow {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} amber {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} deep-orange {% elif + is_state('sensor.front_room_thermal_comfort_dew_point_perception','severely_high') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: Dew Point + - type: custom:mushroom-template-card + entity: sensor.front_room_thermal_comfort_humidex_perception + primary: > + {% if + is_state('sensor.front_room_thermal_comfort_humidex_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.front_room_thermal_comfort_humidex_perception','noticable_discomfort') + %} Uncomfortable {% elif + is_state('sensor.front_room_thermal_comfort_humidex_perception','evident_discomfort') + %} Unbearable {% elif + is_state('sensor.front_room_thermal_comfort_humidex_perception','great_discomfort') + %} Oppressive {% elif + is_state('sensor.front_room_thermal_comfort_humidex_perception','dangerous_discomfort') + %} Dangerous {% elif + is_state('sensor.front_room_thermal_comfort_humidex_perception','heat_stroke') + %} Hazardous {% else %} disabled {% endif %} + secondary: Humidex + icon: tc:thermal-perception + icon_color: > + {% if + is_state('sensor.front_room_thermal_comfort_humidex_perception','comfortable') + %} green {% elif + is_state('sensor.front_room_thermal_comfort_humidex_perception','noticable_discomfort') + %} yellow {% elif + is_state('sensor.front_room_thermal_comfort_humidex_perception','evident_discomfort') + %} amber {% elif + is_state('sensor.front_room_thermal_comfort_humidex_perception','great_discomfort') + %} orange {% elif + is_state('sensor.front_room_thermal_comfort_humidex_perception','dangerous_discomfort') + %} deep-orange {% elif + is_state('sensor.front_room_thermal_comfort_humidex_perception','heat_stroke') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: heading + icon: mdi:desktop-tower-monitor + heading: Computer Area + heading_style: title + badges: + - type: entity + entity: sensor.computer_area_multisensor_air_temperature + tap_action: + action: more-info + - type: entity + entity: sensor.computer_area_multisensor_humidity + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.computer_area_thermal_comfort_summer_simmer_perception + primary: > + {% if + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','cool') + %} Cool {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','slightly_cool') + %} Comfy {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','comfortable') + %} Comfy {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','slightly_warm') + %} Warm {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} Warm {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','extremely_warm') + %} Hot {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} Hot {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} Danger {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} Danger {% else %} Unknown {% endif %} + secondary: Simmer + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.computer_area_thermal_comfort_summer_simmer_index + primary: >- + {{states('sensor.computer_area_thermal_comfort_summer_simmer_index') | + round(2) }} °F + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: "" + - type: custom:mushroom-template-card + entity: sensor.computer_area_thermal_comfort_dew_point_perception + primary: > + {% if + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','dry') + %} Dry {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','very_comfortable') + %} Very Comfy {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','ok_but_humid') + %} Sticky {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} Humid {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} Uncomfortable {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} Oppressive {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','severely_high') + %} Miserable {% else %} Unknown {% endif %} + icon: tc:dew-point + icon_color: > + {% if + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','dry') + %} blue-grey {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','very_comfortable') + %} green {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','comfortable') + %} light-green {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','ok_but_humid') + %} lime {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} yellow {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} amber {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} deep-orange {% elif + is_state('sensor.computer_area_thermal_comfort_dew_point_perception','severely_high') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: Dew Point + - type: custom:mushroom-template-card + entity: sensor.computer_area_thermal_comfort_humidex_perception + primary: > + {% if + is_state('sensor.computer_area_thermal_comfort_humidex_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.computer_area_thermal_comfort_humidex_perception','noticable_discomfort') + %} Uncomfortable {% elif + is_state('sensor.computer_area_thermal_comfort_humidex_perception','evident_discomfort') + %} Unbearable {% elif + is_state('sensor.computer_area_thermal_comfort_humidex_perception','great_discomfort') + %} Oppressive {% elif + is_state('sensor.computer_area_thermal_comfort_humidex_perception','dangerous_discomfort') + %} Dangerous {% elif + is_state('sensor.computer_area_thermal_comfort_humidex_perception','heat_stroke') + %} Hazardous {% else %} disabled {% endif %} + secondary: Humidex + icon: tc:thermal-perception + icon_color: > + {% if + is_state('sensor.computer_area_thermal_comfort_humidex_perception','comfortable') + %} green {% elif + is_state('sensor.computer_area_thermal_comfort_humidex_perception','noticable_discomfort') + %} yellow {% elif + is_state('sensor.computer_area_thermal_comfort_humidex_perception','evident_discomfort') + %} amber {% elif + is_state('sensor.computer_area_thermal_comfort_humidex_perception','great_discomfort') + %} orange {% elif + is_state('sensor.computer_area_thermal_comfort_humidex_perception','dangerous_discomfort') + %} deep-orange {% elif + is_state('sensor.computer_area_thermal_comfort_humidex_perception','heat_stroke') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: grid + cards: + - type: heading + icon: mdi:bunk-bed + heading: Nursery + heading_style: title + badges: + - type: entity + entity: sensor.nursery_multisensor_air_temperature + tap_action: + action: more-info + - type: entity + entity: sensor.nursery_multisensor_humidity + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.nursery_thermal_comfort_summer_simmer_perception + primary: > + {% if + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','cool') + %} Cool {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','slightly_cool') + %} Comfy {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','comfortable') + %} Comfy {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','slightly_warm') + %} Warm {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} Warm {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','extremely_warm') + %} Hot {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} Hot {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} Danger {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} Danger {% else %} Unknown {% endif %} + secondary: Simmer + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.nursery_thermal_comfort_summer_simmer_index + primary: >- + {{states('sensor.nursery_thermal_comfort_summer_simmer_index') | + round(2) }} °F + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: "" + - type: custom:mushroom-template-card + entity: sensor.nursery_thermal_comfort_dew_point_perception + primary: > + {% if + is_state('sensor.nursery_thermal_comfort_dew_point_perception','dry') + %} Dry {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','very_comfortable') + %} Very Comfy {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','ok_but_humid') + %} Sticky {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} Humid {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} Uncomfortable {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} Oppressive {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','severely_high') + %} Miserable {% else %} Unknown {% endif %} + icon: tc:dew-point + icon_color: > + {% if + is_state('sensor.nursery_thermal_comfort_dew_point_perception','dry') + %} blue-grey {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','very_comfortable') + %} green {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','comfortable') + %} light-green {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','ok_but_humid') + %} lime {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} yellow {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} amber {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} deep-orange {% elif + is_state('sensor.nursery_thermal_comfort_dew_point_perception','severely_high') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: Dew Point + - type: custom:mushroom-template-card + entity: sensor.nursery_thermal_comfort_humidex_perception + primary: > + {% if + is_state('sensor.nursery_thermal_comfort_humidex_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.nursery_thermal_comfort_humidex_perception','noticable_discomfort') + %} Uncomfortable {% elif + is_state('sensor.nursery_thermal_comfort_humidex_perception','evident_discomfort') + %} Unbearable {% elif + is_state('sensor.nursery_thermal_comfort_humidex_perception','great_discomfort') + %} Oppressive {% elif + is_state('sensor.nursery_thermal_comfort_humidex_perception','dangerous_discomfort') + %} Dangerous {% elif + is_state('sensor.nursery_thermal_comfort_humidex_perception','heat_stroke') + %} Hazardous {% else %} disabled {% endif %} + secondary: Humidex + icon: tc:thermal-perception + icon_color: > + {% if + is_state('sensor.nursery_thermal_comfort_humidex_perception','comfortable') + %} green {% elif + is_state('sensor.nursery_thermal_comfort_humidex_perception','noticable_discomfort') + %} yellow {% elif + is_state('sensor.nursery_thermal_comfort_humidex_perception','evident_discomfort') + %} amber {% elif + is_state('sensor.nursery_thermal_comfort_humidex_perception','great_discomfort') + %} orange {% elif + is_state('sensor.nursery_thermal_comfort_humidex_perception','dangerous_discomfort') + %} deep-orange {% elif + is_state('sensor.nursery_thermal_comfort_humidex_perception','heat_stroke') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: heading + icon: mdi:microsoft-xbox-controller + heading: Great Room + heading_style: title + badges: + - type: entity + entity: sensor.great_room_multisensor_air_temperature + tap_action: + action: more-info + - type: entity + entity: sensor.great_room_multisensor_humidity + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.great_room_thermal_comfort_summer_simmer_perception + primary: > + {% if + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','cool') + %} Cool {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} Comfy {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','comfortable') + %} Comfy {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} Warm {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} Warm {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} Hot {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} Hot {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} Danger {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} Danger {% else %} Unknown {% endif %} + secondary: Simmer + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.great_room_thermal_comfort_summer_simmer_index + primary: >- + {{states('sensor.great_room_thermal_comfort_summer_simmer_index') | + round(2) }} °F + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: "" + - type: custom:mushroom-template-card + entity: sensor.great_room_thermal_comfort_dew_point_perception + primary: > + {% if + is_state('sensor.great_room_thermal_comfort_dew_point_perception','dry') + %} Dry {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','very_comfortable') + %} Very Comfy {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','ok_but_humid') + %} Sticky {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} Humid {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} Uncomfortable {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} Oppressive {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','severely_high') + %} Miserable {% else %} Unknown {% endif %} + icon: tc:dew-point + icon_color: > + {% if + is_state('sensor.great_room_thermal_comfort_dew_point_perception','dry') + %} blue-grey {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','very_comfortable') + %} green {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','comfortable') + %} light-green {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','ok_but_humid') + %} lime {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} yellow {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} amber {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} deep-orange {% elif + is_state('sensor.great_room_thermal_comfort_dew_point_perception','severely_high') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: Dew Point + - type: custom:mushroom-template-card + entity: sensor.great_room_thermal_comfort_humidex_perception + primary: > + {% if + is_state('sensor.great_room_thermal_comfort_humidex_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.great_room_thermal_comfort_humidex_perception','noticable_discomfort') + %} Uncomfortable {% elif + is_state('sensor.great_room_thermal_comfort_humidex_perception','evident_discomfort') + %} Unbearable {% elif + is_state('sensor.great_room_thermal_comfort_humidex_perception','great_discomfort') + %} Oppressive {% elif + is_state('sensor.great_room_thermal_comfort_humidex_perception','dangerous_discomfort') + %} Dangerous {% elif + is_state('sensor.great_room_thermal_comfort_humidex_perception','heat_stroke') + %} Hazardous {% else %} disabled {% endif %} + secondary: Humidex + icon: tc:thermal-perception + icon_color: > + {% if + is_state('sensor.great_room_thermal_comfort_humidex_perception','comfortable') + %} green {% elif + is_state('sensor.great_room_thermal_comfort_humidex_perception','noticable_discomfort') + %} yellow {% elif + is_state('sensor.great_room_thermal_comfort_humidex_perception','evident_discomfort') + %} amber {% elif + is_state('sensor.great_room_thermal_comfort_humidex_perception','great_discomfort') + %} orange {% elif + is_state('sensor.great_room_thermal_comfort_humidex_perception','dangerous_discomfort') + %} deep-orange {% elif + is_state('sensor.great_room_thermal_comfort_humidex_perception','heat_stroke') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: grid + cards: + - type: heading + icon: mdi:bed-king + heading: Master Bedroom + heading_style: title + badges: + - type: entity + entity: sensor.master_bedroom_multisensor_air_temperature + tap_action: + action: more-info + - type: entity + entity: sensor.master_bedroom_multisensor_humidity + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.master_bedroom_thermal_comfort_summer_simmer_perception + primary: > + {% if + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','cool') + %} Cool {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','slightly_cool') + %} Comfy {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','comfortable') + %} Comfy {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','slightly_warm') + %} Warm {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} Warm {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','extremely_warm') + %} Hot {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} Hot {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} Danger {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} Danger {% else %} Unknown {% endif %} + secondary: Simmer + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.master_bedroom_thermal_comfort_summer_simmer_index + primary: >- + {{states('sensor.master_bedroom_thermal_comfort_summer_simmer_index') + | round(2) }} °F + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: "" + - type: custom:mushroom-template-card + entity: sensor.master_bedroom_thermal_comfort_dew_point_perception + primary: > + {% if + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','dry') + %} Dry {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','very_comfortable') + %} Very Comfy {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','ok_but_humid') + %} Sticky {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} Humid {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} Uncomfortable {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} Oppressive {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','severely_high') + %} Miserable {% else %} Unknown {% endif %} + icon: tc:dew-point + icon_color: > + {% if + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','dry') + %} blue-grey {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','very_comfortable') + %} green {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','comfortable') + %} light-green {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','ok_but_humid') + %} lime {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} yellow {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} amber {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} deep-orange {% elif + is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','severely_high') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: Dew Point + - type: custom:mushroom-template-card + entity: sensor.master_bedroom_thermal_comfort_humidex_perception + primary: > + {% if + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','noticable_discomfort') + %} Uncomfortable {% elif + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','evident_discomfort') + %} Unbearable {% elif + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','great_discomfort') + %} Oppressive {% elif + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','dangerous_discomfort') + %} Dangerous {% elif + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','heat_stroke') + %} Hazardous {% else %} disabled {% endif %} + secondary: Humidex + icon: tc:thermal-perception + icon_color: > + {% if + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','comfortable') + %} green {% elif + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','noticable_discomfort') + %} yellow {% elif + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','evident_discomfort') + %} amber {% elif + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','great_discomfort') + %} orange {% elif + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','dangerous_discomfort') + %} deep-orange {% elif + is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','heat_stroke') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: heading + icon: mdi:yoga + heading: Blue Room + heading_style: title + badges: + - type: entity + entity: sensor.blue_room_multisensor_air_temperature + tap_action: + action: more-info + - type: entity + entity: sensor.blue_room_multisensor_humidity + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.blue_room_thermal_comfort_summer_simmer_perception + primary: > + {% if + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','cool') + %} Cool {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} Comfy {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','comfortable') + %} Comfy {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} Warm {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} Warm {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} Hot {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} Hot {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} Danger {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} Danger {% else %} Unknown {% endif %} + secondary: Simmer + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.blue_room_thermal_comfort_summer_simmer_index + primary: >- + {{states('sensor.blue_room_thermal_comfort_summer_simmer_index') | + round(2) }} °F + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: "" + - type: custom:mushroom-template-card + entity: sensor.blue_room_thermal_comfort_dew_point_perception + primary: > + {% if + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','dry') + %} Dry {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','very_comfortable') + %} Very Comfy {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','ok_but_humid') + %} Sticky {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} Humid {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} Uncomfortable {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} Oppressive {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','severely_high') + %} Miserable {% else %} Unknown {% endif %} + icon: tc:dew-point + icon_color: > + {% if + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','dry') + %} blue-grey {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','very_comfortable') + %} green {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','comfortable') + %} light-green {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','ok_but_humid') + %} lime {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} yellow {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} amber {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} deep-orange {% elif + is_state('sensor.blue_room_thermal_comfort_dew_point_perception','severely_high') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: Dew Point + - type: custom:mushroom-template-card + entity: sensor.blue_room_thermal_comfort_humidex_perception + primary: > + {% if + is_state('sensor.blue_room_thermal_comfort_humidex_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.blue_room_thermal_comfort_humidex_perception','noticable_discomfort') + %} Uncomfortable {% elif + is_state('sensor.blue_room_thermal_comfort_humidex_perception','evident_discomfort') + %} Unbearable {% elif + is_state('sensor.blue_room_thermal_comfort_humidex_perception','great_discomfort') + %} Oppressive {% elif + is_state('sensor.blue_room_thermal_comfort_humidex_perception','dangerous_discomfort') + %} Dangerous {% elif + is_state('sensor.blue_room_thermal_comfort_humidex_perception','heat_stroke') + %} Hazardous {% else %} disabled {% endif %} + secondary: Humidex + icon: tc:thermal-perception + icon_color: > + {% if + is_state('sensor.blue_room_thermal_comfort_humidex_perception','comfortable') + %} green {% elif + is_state('sensor.blue_room_thermal_comfort_humidex_perception','noticable_discomfort') + %} yellow {% elif + is_state('sensor.blue_room_thermal_comfort_humidex_perception','evident_discomfort') + %} amber {% elif + is_state('sensor.blue_room_thermal_comfort_humidex_perception','great_discomfort') + %} orange {% elif + is_state('sensor.blue_room_thermal_comfort_humidex_perception','dangerous_discomfort') + %} deep-orange {% elif + is_state('sensor.blue_room_thermal_comfort_humidex_perception','heat_stroke') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: grid + cards: + - type: heading + icon: mdi:shower + heading: Master Bathroom + heading_style: title + badges: + - type: entity + entity: sensor.master_bathroom_thermostat_temperature + tap_action: + action: more-info + - type: entity + entity: sensor.master_bathroom_thermostat_humidity + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.master_bathroom_thermal_comfort_summer_simmer_perception + primary: > + {% if + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','cool') + %} Cool {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','slightly_cool') + %} Comfy {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','comfortable') + %} Comfy {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','slightly_warm') + %} Warm {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} Warm {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','extremely_warm') + %} Hot {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} Hot {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} Danger {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} Danger {% else %} Unknown {% endif %} + secondary: Simmer + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.master_bathroom_thermal_comfort_summer_simmer_index + primary: >- + {{states('sensor.master_bathroom_thermal_comfort_summer_simmer_index') + | round(2) }} °F + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: "" + - type: custom:mushroom-template-card + entity: sensor.master_bathroom_thermal_comfort_dew_point_perception + primary: > + {% if + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','dry') + %} Dry {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','very_comfortable') + %} Very Comfy {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','ok_but_humid') + %} Sticky {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} Humid {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} Uncomfortable {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} Oppressive {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','severely_high') + %} Miserable {% else %} Unknown {% endif %} + icon: tc:dew-point + icon_color: > + {% if + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','dry') + %} blue-grey {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','very_comfortable') + %} green {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','comfortable') + %} light-green {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','ok_but_humid') + %} lime {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} yellow {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} amber {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} deep-orange {% elif + is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','severely_high') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: Dew Point + - type: custom:mushroom-template-card + entity: sensor.master_bathroom_thermal_comfort_humidex_perception + primary: > + {% if + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','noticable_discomfort') + %} Uncomfortable {% elif + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','evident_discomfort') + %} Unbearable {% elif + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','great_discomfort') + %} Oppressive {% elif + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','dangerous_discomfort') + %} Dangerous {% elif + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','heat_stroke') + %} Hazardous {% else %} disabled {% endif %} + secondary: Humidex + icon: tc:thermal-perception + icon_color: > + {% if + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','comfortable') + %} green {% elif + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','noticable_discomfort') + %} yellow {% elif + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','evident_discomfort') + %} amber {% elif + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','great_discomfort') + %} orange {% elif + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','dangerous_discomfort') + %} deep-orange {% elif + is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','heat_stroke') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: heading + icon: mdi:washing-machine + heading: Utility Room + heading_style: title + badges: + - type: entity + entity: sensor.utility_room_thermostat_temperature + tap_action: + action: more-info + - type: entity + entity: sensor.utility_room_thermostat_humidity + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.utility_room_thermal_comfort_summer_simmer_perception + primary: > + {% if + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','cool') + %} Cool {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} Comfy {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','comfortable') + %} Comfy {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} Warm {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} Warm {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} Hot {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} Hot {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} Danger {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} Danger {% else %} Unknown {% endif %} + secondary: Simmer + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: custom:mushroom-template-card + entity: sensor.utility_room_thermal_comfort_summer_simmer_index + primary: >- + {{states('sensor.utility_room_thermal_comfort_summer_simmer_index') | + round(2) }} °F + icon: tc:simmer-zone + icon_color: > + {% if + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','cool') + %} indigo {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','slightly_cool') + %} light-blue {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','comfortable') + %} green {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','slightly_warm') + %} light-green {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') + %} yellow {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','extremely_warm') + %} amber {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') + %} orange {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') + %} deep-orange {% elif + is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: "" + - type: custom:mushroom-template-card + entity: sensor.utility_room_thermal_comfort_dew_point_perception + primary: > + {% if + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','dry') + %} Dry {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','very_comfortable') + %} Very Comfy {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','ok_but_humid') + %} Sticky {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} Humid {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} Uncomfortable {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} Oppressive {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','severely_high') + %} Miserable {% else %} Unknown {% endif %} + icon: tc:dew-point + icon_color: > + {% if + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','dry') + %} blue-grey {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','very_comfortable') + %} green {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','comfortable') + %} light-green {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','ok_but_humid') + %} lime {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') + %} yellow {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','quite_uncomfortable') + %} amber {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') + %} deep-orange {% elif + is_state('sensor.utility_room_thermal_comfort_dew_point_perception','severely_high') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + secondary: Dew Point + - type: custom:mushroom-template-card + entity: sensor.utility_room_thermal_comfort_humidex_perception + primary: > + {% if + is_state('sensor.utility_room_thermal_comfort_humidex_perception','comfortable') + %} Comfortable {% elif + is_state('sensor.utility_room_thermal_comfort_humidex_perception','noticable_discomfort') + %} Uncomfortable {% elif + is_state('sensor.utility_room_thermal_comfort_humidex_perception','evident_discomfort') + %} Unbearable {% elif + is_state('sensor.utility_room_thermal_comfort_humidex_perception','great_discomfort') + %} Oppressive {% elif + is_state('sensor.utility_room_thermal_comfort_humidex_perception','dangerous_discomfort') + %} Dangerous {% elif + is_state('sensor.utility_room_thermal_comfort_humidex_perception','heat_stroke') + %} Hazardous {% else %} disabled {% endif %} + secondary: Humidex + icon: tc:thermal-perception + icon_color: > + {% if + is_state('sensor.utility_room_thermal_comfort_humidex_perception','comfortable') + %} green {% elif + is_state('sensor.utility_room_thermal_comfort_humidex_perception','noticable_discomfort') + %} yellow {% elif + is_state('sensor.utility_room_thermal_comfort_humidex_perception','evident_discomfort') + %} amber {% elif + is_state('sensor.utility_room_thermal_comfort_humidex_perception','great_discomfort') + %} orange {% elif + is_state('sensor.utility_room_thermal_comfort_humidex_perception','dangerous_discomfort') + %} deep-orange {% elif + is_state('sensor.utility_room_thermal_comfort_humidex_perception','heat_stroke') + %} red {% else %} disabled {% endif %} + tap_action: + action: more-info + - type: grid cards: - # - type: horizontal-stack - # cards: - # # - type: custom:mushroom-title-card - # # title: "{{states('sensor.energy_tariff')}}" - # # subtitle: "{{states('sensor.energy_cost')}} $/kWh" - # - type: custom:mushroom-chips-card - # chips: - # - type: back - # - type: custom:mushroom-title-card - # title: HVAC - type: horizontal-stack cards: - - type: vertical-stack - cards: - - type: custom:mushroom-title-card - title: Outside - alignment: center - - type: horizontal-stack - cards: - - type: custom:mushroom-entity-card - entity: sensor.outdoor_temperature - name: Temperature - - type: custom:mushroom-entity-card - entity: sensor.outdoor_humidity - name: Humidity - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.thermal_comfort_dew_point_perception - primary: Dew Point Perception - secondary: > - {% if is_state('sensor.thermal_comfort_dew_point_perception','dry') %} - Dry - {% elif is_state('sensor.thermal_comfort_dew_point_perception','very_comfortable') %} - Very Comfy - {% elif is_state('sensor.thermal_comfort_dew_point_perception','comfortable') %} - Comfy - {% elif is_state('sensor.thermal_comfort_dew_point_perception','ok_but_humid') %} - Humid - {% elif is_state('sensor.thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - Somewhat Uncomfy - {% elif is_state('sensor.thermal_comfort_dew_point_perception','quite_uncomfortable') %} - Quite Uncomfy - {% elif is_state('sensor.thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - Extremely Uncomfy - {% elif is_state('sensor.thermal_comfort_dew_point_perception','severely_high') %} - Severely High - {% endif %} - icon: tc:dew-point - icon_color: > - {% if is_state('sensor.thermal_comfort_dew_point_perception','dry') %} - gray - {% elif is_state('sensor.thermal_comfort_dew_point_perception','very_comfortable') %} - green - {% elif is_state('sensor.thermal_comfort_dew_point_perception','comfortable') %} - green - {% elif is_state('sensor.thermal_comfort_dew_point_perception','ok_but_humid') %} - blue - {% elif is_state('sensor.thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - yellow - {% elif is_state('sensor.thermal_comfort_dew_point_perception','quite_uncomfortable') %} - orange - {% elif is_state('sensor.thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - orange - {% elif is_state('sensor.thermal_comfort_dew_point_perception','severely_high') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.thermal_comfort_relative_strain_perception - primary: Relative Strain - secondary: > - {% if is_state('sensor.thermal_comfort_relative_strain_perception','comfortable') %} - Comfy - {% elif is_state('sensor.thermal_comfort_relative_strain_perception','slight_discomfort') %} - Slight Discomfort - {% elif is_state('sensor.thermal_comfort_relative_strain_perception','discomfort') %} - Discomfort - {% elif is_state('sensor.thermal_comfort_relative_strain_perception','significant_discomfort') %} - Significant Discomfort - {% elif is_state('sensor.thermal_comfort_relative_strain_perception','extreme_discomfort') %} - Extreme Discomfort - {% endif %} - icon: tc:dew-point-alternative - icon_color: > - {% if is_state('sensor.thermal_comfort_relative_strain_perception','comfortable') %} - green - {% elif is_state('sensor.thermal_comfort_relative_strain_perception','slight_discomfort') %} - yellow - {% elif is_state('sensor.thermal_comfort_relative_strain_perception','discomfort') %} - orange - {% elif is_state('sensor.thermal_comfort_relative_strain_perception','significant_discomfort') %} - red - {% elif is_state('sensor.thermal_comfort_relative_strain_perception','extreme_discomfort') %} - red - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.thermal_comfort_humidex_perception - primary: Humidex - secondary: > - {% if is_state('sensor.thermal_comfort_humidex_perception','comfortable') %} - Comfy - {% elif is_state('sensor.thermal_comfort_humidex_perception','noticable_discomfort') %} - Noticable Discomfort - {% elif is_state('sensor.thermal_comfort_humidex_perception','evident_discomfort') %} - Evident Discomfort - {% elif is_state('sensor.thermal_comfort_humidex_perception','great_discomfort') %} - Great Discomfort - {% elif is_state('sensor.thermal_comfort_humidex_perception','dangerous_discomfort') %} - Dangerous - {% elif is_state('sensor.thermal_comfort_humidex_perception','heat_stroke') %} - Heat Stroke - {% endif %} - icon: tc:thermal-perception - icon_color: > - {% if is_state('sensor.thermal_comfort_humidex_perception','comfortable') %} - green - {% elif is_state('sensor.thermal_comfort_humidex_perception','noticable_discomfort') %} - yellow - {% elif is_state('sensor.thermal_comfort_humidex_perception','evident_discomfort') %} - orange - {% elif is_state('sensor.thermal_comfort_humidex_perception','great_discomfort') %} - orange - {% elif is_state('sensor.thermal_comfort_humidex_perception','dangerous_discomfort') %} - red - {% elif is_state('sensor.thermal_comfort_humidex_perception','heat_stroke') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.thermal_comfort_summer_scharlau_perception - primary: Summer Scharlau - secondary: > - {% if is_state('sensor.thermal_comfort_summer_scharlau_perception','comfortable') %} - Comfy - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','slightly_uncomfortable') %} - Slightly Uncomfy - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','moderately_uncomfortable') %} - Moderatly Uncomfy - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','highly_uncomfortable') %} - Highly Uncomfortable - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','outside_calculable_range') %} - Outside Calculable Range - {% endif %} - icon: > - {% if is_state('sensor.thermal_comfort_summer_scharlau_perception','comfortable') %} - mdi:thermometer-low - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','slightly_uncomfortable') %} - mdi:thermometer - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','moderately_uncomfortable') %} - mdi:thermometer-high - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','highly_uncomfortable') %} - mdi:thermometer-alert - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','outside_calculable_range') %} - mdi:thermometer-low - {% endif %} - icon_color: > - {% if is_state('sensor.thermal_comfort_summer_scharlau_perception','comfortable') %} - green - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','slightly_uncomfortable') %} - yellow - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','moderately_uncomfortable') %} - orange - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','highly_uncomfortable') %} - red - {% elif is_state('sensor.thermal_comfort_summer_scharlau_perception','outside_calculable_range') %} - gray - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.thermal_comfort_summer_simmer_perception - primary: Simmer Simmer - secondary: > - {% if is_state('sensor.thermal_comfort_summer_simmer_perception','cool') %} - Cool - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','slightly_cool') %} - Cool - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','comfortable') %} - Comfy - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','slightly_warm') %} - Warm - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - Warm - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','extremely_warm') %} - Hot - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - Hot - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - Danger - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - Danger - {% endif %} - icon: tc:simmer-zone - icon_color: > - {% if is_state('sensor.thermal_comfort_summer_simmer_perception','cool') %} - blue - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','slightly_cool') %} - blue - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','comfortable') %} - green - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','slightly_warm') %} - yellow - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - yellow - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','extremely_warm') %} - orange - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - orange - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - red - {% elif is_state('sensor.thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.thermal_comfort_thoms_discomfort_perception - primary: Thoms - secondary: > - {% if is_state('sensor.thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - No discomfort - {% elif is_state('sensor.thermal_comfort_thoms_discomfort_perception','less_than_half') %} - Less than half - {% elif is_state('sensor.thermal_comfort_thoms_discomfort_perception','more_than_half') %} - More than half - {% elif is_state('sensor.thermal_comfort_thoms_discomfort_perception','most') %} - Most - {% elif is_state('sensor.thermal_comfort_thoms_discomfort_perception','everyone') %} - Everyone - {% elif is_state('sensor.thermal_comfort_thoms_discomfort_perception','dangerous') %} - Dangerous - {% endif %} - icon: tc:heat-index - icon_color: > - {% if is_state('sensor.thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - blue - {% elif is_state('sensor.thermal_comfort_thoms_discomfort_perception','less_than_half') %} - yellow - {% elif is_state('sensor.thermal_comfort_thoms_discomfort_perception','more_than_half') %} - orange - {% elif is_state('sensor.thermal_comfort_thoms_discomfort_perception','most') %} - orange - {% elif is_state('sensor.thermal_comfort_thoms_discomfort_perception','everyone') %} - red - {% elif is_state('sensor.thermal_comfort_thoms_discomfort_perception','dangerous') %} - red - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.thermal_comfort_winter_scharlau_perception - primary: Winter Scharlau - secondary: > - {% if is_state('sensor.thermal_comfort_winter_scharlau_perception','comfortable') %} - Comfy - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','slightly_uncomfortable') %} - Slightly Uncomfy - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','moderatly_uncomfortable') %} - Moderatly Uncomfy - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','highly_uncomfortable') %} - Highly Uncomfortable - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','outside_calculable_range') %} - Outside Calculable Range - {% endif %} - icon: > - {% if is_state('sensor.thermal_comfort_winter_scharlau_perception','comfortable') %} - mdi:snowflake-off - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','slightly_uncomfortable') %} - mdi:snowflake - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','moderatly_uncomfortable') %} - mdi:snowflake-thermometer - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','highly_uncomfortable') %} - mdi:snowflake-alert - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','outside_calculable_range') %} - mdi:snowflake-off - {% endif %} - icon_color: > - {% if is_state('sensor.thermal_comfort_winter_scharlau_perception','comfortable') %} - green - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','slightly_uncomfortable') %} - yellow - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','moderatly_uncomfortable') %} - orange - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','highly_uncomfortable') %} - red - {% elif is_state('sensor.thermal_comfort_winter_scharlau_perception','outside_calculable_range') %} - gray - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-entity-card - entity: sensor.thermal_comfort_frost_risk - name: Frost Risk - - - type: vertical-stack - cards: - - type: custom:mushroom-title-card - title: Front Room - alignment: center - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.front_room_thermal_comfort_dew_point_perception - primary: Dew Point - secondary: > - {% if is_state('sensor.front_room_thermal_comfort_dew_point_perception','dry') %} - Dry - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','very_comfortable') %} - Very Comfy - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','comfortable') %} - Comfy - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','ok_but_humid') %} - Humid - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - Somewhat Uncomfy - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - Quite Uncomfy - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - Extremely Uncomfy - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','severely_high') %} - Severely High - {% endif %} - icon: tc:dew-point - icon_color: > - {% if is_state('sensor.front_room_thermal_comfort_dew_point_perception','dry') %} - gray - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','very_comfortable') %} - green - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','comfortable') %} - green - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','ok_but_humid') %} - blue - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - yellow - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - orange - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - orange - {% elif is_state('sensor.front_room_thermal_comfort_dew_point_perception','severely_high') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.front_room_thermal_comfort_humidex_perception - primary: Humidex - secondary: > - {% if is_state('sensor.front_room_thermal_comfort_humidex_perception','comfortable') %} - Comfy - {% elif is_state('sensor.front_room_thermal_comfort_humidex_perception','noticable_discomfort') %} - Noticable Discomfort - {% elif is_state('sensor.front_room_thermal_comfort_humidex_perception','evident_discomfort') %} - Evident Discomfort - {% elif is_state('sensor.front_room_thermal_comfort_humidex_perception','great_discomfort') %} - Great Discomfort - {% elif is_state('sensor.front_room_thermal_comfort_humidex_perception','dangerous_discomfort') %} - Dangerous - {% elif is_state('sensor.front_room_thermal_comfort_humidex_perception','heat_stroke') %} - Heat Stroke - {% endif %} - icon: tc:thermal-perception - icon_color: > - {% if is_state('sensor.front_room_thermal_comfort_humidex_perception','comfortable') %} - green - {% elif is_state('sensor.front_room_thermal_comfort_humidex_perception','noticable_discomfort') %} - yellow - {% elif is_state('sensor.front_room_thermal_comfort_humidex_perception','evident_discomfort') %} - orange - {% elif is_state('sensor.front_room_thermal_comfort_humidex_perception','great_discomfort') %} - orange - {% elif is_state('sensor.front_room_thermal_comfort_humidex_perception','dangerous_discomfort') %} - red - {% elif is_state('sensor.front_room_thermal_comfort_humidex_perception','heat_stroke') %} - red - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.front_room_thermal_comfort_summer_simmer_perception - primary: Simmer - secondary: > - {% if is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','cool') %} - Cool - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','slightly_cool') %} - Cool - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','comfortable') %} - Comfy - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','slightly_warm') %} - Warm - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - Warm - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','extremely_warm') %} - Hot - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - Hot - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - Danger - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - Danger - {% endif %} - icon: tc:simmer-zone - icon_color: > - {% if is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','cool') %} - blue - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','slightly_cool') %} - blue - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','comfortable') %} - green - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','slightly_warm') %} - yellow - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - yellow - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','extremely_warm') %} - orange - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - orange - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - red - {% elif is_state('sensor.front_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.front_room_thermal_comfort_thoms_discomfort_perception - primary: Thoms - secondary: > - {% if is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - No discomfort - {% elif is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - Less than half - {% elif is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - More than half - {% elif is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','most') %} - Most - {% elif is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','everyone') %} - Everyone - {% elif is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','dangerous') %} - Dangerous - {% endif %} - icon: tc:heat-index - icon_color: > - {% if is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - blue - {% elif is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - yellow - {% elif is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - yellow - {% elif is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','most') %} - orange - {% elif is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','everyone') %} - orange - {% elif is_state('sensor.front_room_thermal_comfort_thoms_discomfort_perception','dangerous') %} - red - {% endif %} - tap_action: - action: more-info - - - type: custom:mushroom-title-card - title: Computer Area - alignment: center - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.computer_area_thermal_comfort_dew_point_perception - primary: Dew Point - secondary: > - {% if is_state('sensor.computer_area_thermal_comfort_dew_point_perception','dry') %} - Dry - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','very_comfortable') %} - Very Comfy - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','comfortable') %} - Comfy - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','ok_but_humid') %} - Humid - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - Somewhat Uncomfy - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - Quite Uncomfy - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - Extremely Uncomfy - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','severely_high') %} - Severely High - {% endif %} - icon: tc:dew-point - icon_color: > - {% if is_state('sensor.computer_area_thermal_comfort_dew_point_perception','dry') %} - gray - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','very_comfortable') %} - green - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','comfortable') %} - green - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','ok_but_humid') %} - blue - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - yellow - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - orange - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - orange - {% elif is_state('sensor.computer_area_thermal_comfort_dew_point_perception','severely_high') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.computer_area_thermal_comfort_humidex_perception - primary: Humidex - secondary: > - {% if is_state('sensor.computer_area_thermal_comfort_humidex_perception','comfortable') %} - Comfy - {% elif is_state('sensor.computer_area_thermal_comfort_humidex_perception','noticable_discomfort') %} - Noticable Discomfort - {% elif is_state('sensor.computer_area_thermal_comfort_humidex_perception','evident_discomfort') %} - Evident Discomfort - {% elif is_state('sensor.computer_area_thermal_comfort_humidex_perception','great_discomfort') %} - Great Discomfort - {% elif is_state('sensor.computer_area_thermal_comfort_humidex_perception','dangerous_discomfort') %} - Dangerous - {% elif is_state('sensor.computer_area_thermal_comfort_humidex_perception','heat_stroke') %} - Heat Stroke - {% endif %} - icon: tc:thermal-perception - icon_color: > - {% if is_state('sensor.computer_area_thermal_comfort_humidex_perception','comfortable') %} - green - {% elif is_state('sensor.computer_area_thermal_comfort_humidex_perception','noticable_discomfort') %} - yellow - {% elif is_state('sensor.computer_area_thermal_comfort_humidex_perception','evident_discomfort') %} - orange - {% elif is_state('sensor.computer_area_thermal_comfort_humidex_perception','great_discomfort') %} - orange - {% elif is_state('sensor.computer_area_thermal_comfort_humidex_perception','dangerous_discomfort') %} - red - {% elif is_state('sensor.computer_area_thermal_comfort_humidex_perception','heat_stroke') %} - red - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.computer_area_thermal_comfort_summer_simmer_perception - primary: Simmer - secondary: > - {% if is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','cool') %} - Cool - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','slightly_cool') %} - Cool - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','comfortable') %} - Comfy - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','slightly_warm') %} - Warm - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - Warm - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','extremely_warm') %} - Hot - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - Hot - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - Danger - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - Danger - {% endif %} - icon: tc:simmer-zone - icon_color: > - {% if is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','cool') %} - blue - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','slightly_cool') %} - blue - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','comfortable') %} - green - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','slightly_warm') %} - yellow - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - yellow - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','extremely_warm') %} - orange - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - orange - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - red - {% elif is_state('sensor.computer_area_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.computer_area_thermal_comfort_thoms_discomfort_perception - primary: Thoms - secondary: > - {% if is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - No discomfort - {% elif is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - Less than half - {% elif is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - More than half - {% elif is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','most') %} - Most - {% elif is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','everyone') %} - Everyone - {% elif is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','dangerous') %} - Dangerous - {% endif %} - icon: tc:heat-index - icon_color: > - {% if is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - blue - {% elif is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - yellow - {% elif is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - yellow - {% elif is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','most') %} - orange - {% elif is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','everyone') %} - orange - {% elif is_state('sensor.computer_area_thermal_comfort_thoms_discomfort_perception','dangerous') %} - red - {% endif %} - tap_action: - action: more-info - - - type: vertical-stack - cards: - - type: custom:mushroom-title-card - title: Nursery - alignment: center - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.nursery_thermal_comfort_dew_point_perception - primary: Dew Point - secondary: > - {% if is_state('sensor.nursery_thermal_comfort_dew_point_perception','dry') %} - Dry - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','very_comfortable') %} - Very Comfy - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','comfortable') %} - Comfy - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','ok_but_humid') %} - Humid - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - Somewhat Uncomfy - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - Quite Uncomfy - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - Extremely Uncomfy - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','severely_high') %} - Severely High - {% endif %} - icon: tc:dew-point - icon_color: > - {% if is_state('sensor.nursery_thermal_comfort_dew_point_perception','dry') %} - gray - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','very_comfortable') %} - green - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','comfortable') %} - green - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','ok_but_humid') %} - blue - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - yellow - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - orange - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - orange - {% elif is_state('sensor.nursery_thermal_comfort_dew_point_perception','severely_high') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.nursery_thermal_comfort_humidex_perception - primary: Humidex - secondary: > - {% if is_state('sensor.nursery_thermal_comfort_humidex_perception','comfortable') %} - Comfy - {% elif is_state('sensor.nursery_thermal_comfort_humidex_perception','noticable_discomfort') %} - Noticable Discomfort - {% elif is_state('sensor.nursery_thermal_comfort_humidex_perception','evident_discomfort') %} - Evident Discomfort - {% elif is_state('sensor.nursery_thermal_comfort_humidex_perception','great_discomfort') %} - Great Discomfort - {% elif is_state('sensor.nursery_thermal_comfort_humidex_perception','dangerous_discomfort') %} - Dangerous - {% elif is_state('sensor.nursery_thermal_comfort_humidex_perception','heat_stroke') %} - Heat Stroke - {% endif %} - icon: tc:thermal-perception - icon_color: > - {% if is_state('sensor.nursery_thermal_comfort_humidex_perception','comfortable') %} - green - {% elif is_state('sensor.nursery_thermal_comfort_humidex_perception','noticable_discomfort') %} - yellow - {% elif is_state('sensor.nursery_thermal_comfort_humidex_perception','evident_discomfort') %} - orange - {% elif is_state('sensor.nursery_thermal_comfort_humidex_perception','great_discomfort') %} - orange - {% elif is_state('sensor.nursery_thermal_comfort_humidex_perception','dangerous_discomfort') %} - red - {% elif is_state('sensor.nursery_thermal_comfort_humidex_perception','heat_stroke') %} - red - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.nursery_thermal_comfort_summer_simmer_perception - primary: Simmer - secondary: > - {% if is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','cool') %} - Cool - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','slightly_cool') %} - Cool - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','comfortable') %} - Comfy - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','slightly_warm') %} - Warm - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - Warm - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','extremely_warm') %} - Hot - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - Hot - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - Danger - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - Danger - {% endif %} - icon: tc:simmer-zone - icon_color: > - {% if is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','cool') %} - blue - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','slightly_cool') %} - blue - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','comfortable') %} - green - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','slightly_warm') %} - yellow - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - yellow - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','extremely_warm') %} - orange - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - orange - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - red - {% elif is_state('sensor.nursery_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.nursery_thermal_comfort_thoms_discomfort_perception - primary: Thoms - secondary: > - {% if is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - No discomfort - {% elif is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - Less than half - {% elif is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - More than half - {% elif is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','most') %} - Most - {% elif is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','everyone') %} - Everyone - {% elif is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','dangerous') %} - Dangerous - {% endif %} - icon: tc:heat-index - icon_color: > - {% if is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - blue - {% elif is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - yellow - {% elif is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - yellow - {% elif is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','most') %} - orange - {% elif is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','everyone') %} - orange - {% elif is_state('sensor.nursery_thermal_comfort_thoms_discomfort_perception','dangerous') %} - red - {% endif %} - tap_action: - action: more-info - - - type: custom:mushroom-title-card - title: Great Room - alignment: center - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.great_room_thermal_comfort_dew_point_perception - primary: Dew Point - secondary: > - {% if is_state('sensor.great_room_thermal_comfort_dew_point_perception','dry') %} - Dry - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','very_comfortable') %} - Very Comfy - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','comfortable') %} - Comfy - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','ok_but_humid') %} - Humid - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - Somewhat Uncomfy - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - Quite Uncomfy - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - Extremely Uncomfy - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','severely_high') %} - Severely High - {% endif %} - icon: tc:dew-point - icon_color: > - {% if is_state('sensor.great_room_thermal_comfort_dew_point_perception','dry') %} - gray - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','very_comfortable') %} - green - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','comfortable') %} - green - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','ok_but_humid') %} - blue - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - yellow - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - orange - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - orange - {% elif is_state('sensor.great_room_thermal_comfort_dew_point_perception','severely_high') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.great_room_thermal_comfort_humidex_perception - primary: Humidex - secondary: > - {% if is_state('sensor.great_room_thermal_comfort_humidex_perception','comfortable') %} - Comfy - {% elif is_state('sensor.great_room_thermal_comfort_humidex_perception','noticable_discomfort') %} - Noticable Discomfort - {% elif is_state('sensor.great_room_thermal_comfort_humidex_perception','evident_discomfort') %} - Evident Discomfort - {% elif is_state('sensor.great_room_thermal_comfort_humidex_perception','great_discomfort') %} - Great Discomfort - {% elif is_state('sensor.great_room_thermal_comfort_humidex_perception','dangerous_discomfort') %} - Dangerous - {% elif is_state('sensor.great_room_thermal_comfort_humidex_perception','heat_stroke') %} - Heat Stroke - {% endif %} - icon: tc:thermal-perception - icon_color: > - {% if is_state('sensor.great_room_thermal_comfort_humidex_perception','comfortable') %} - green - {% elif is_state('sensor.great_room_thermal_comfort_humidex_perception','noticable_discomfort') %} - yellow - {% elif is_state('sensor.great_room_thermal_comfort_humidex_perception','evident_discomfort') %} - orange - {% elif is_state('sensor.great_room_thermal_comfort_humidex_perception','great_discomfort') %} - orange - {% elif is_state('sensor.great_room_thermal_comfort_humidex_perception','dangerous_discomfort') %} - red - {% elif is_state('sensor.great_room_thermal_comfort_humidex_perception','heat_stroke') %} - red - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.great_room_thermal_comfort_summer_simmer_perception - primary: Simmer - secondary: > - {% if is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','cool') %} - Cool - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','slightly_cool') %} - Cool - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','comfortable') %} - Comfy - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','slightly_warm') %} - Warm - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - Warm - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','extremely_warm') %} - Hot - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - Hot - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - Danger - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - Danger - {% endif %} - icon: tc:simmer-zone - icon_color: > - {% if is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','cool') %} - blue - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','slightly_cool') %} - blue - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','comfortable') %} - green - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','slightly_warm') %} - yellow - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - yellow - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','extremely_warm') %} - orange - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - orange - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - red - {% elif is_state('sensor.great_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.great_room_thermal_comfort_thoms_discomfort_perception - primary: Thoms - secondary: > - {% if is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - No discomfort - {% elif is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - Less than half - {% elif is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - More than half - {% elif is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','most') %} - Most - {% elif is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','everyone') %} - Everyone - {% elif is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','dangerous') %} - Dangerous - {% endif %} - icon: tc:heat-index - icon_color: > - {% if is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - blue - {% elif is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - yellow - {% elif is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - yellow - {% elif is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','most') %} - orange - {% elif is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','everyone') %} - orange - {% elif is_state('sensor.great_room_thermal_comfort_thoms_discomfort_perception','dangerous') %} - red - {% endif %} - tap_action: - action: more-info - - - type: vertical-stack - cards: - - type: custom:mushroom-title-card - title: Master Bedroom - alignment: center - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.master_bedroom_thermal_comfort_dew_point_perception - primary: Dew Point - secondary: > - {% if is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','dry') %} - Dry - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','very_comfortable') %} - Very Comfy - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','comfortable') %} - Comfy - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','ok_but_humid') %} - Humid - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - Somewhat Uncomfy - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - Quite Uncomfy - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - Extremely Uncomfy - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','severely_high') %} - Severely High - {% endif %} - icon: tc:dew-point - icon_color: > - {% if is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','dry') %} - gray - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','very_comfortable') %} - green - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','comfortable') %} - green - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','ok_but_humid') %} - blue - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - yellow - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - orange - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - orange - {% elif is_state('sensor.master_bedroom_thermal_comfort_dew_point_perception','severely_high') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.master_bedroom_thermal_comfort_humidex_perception - primary: Humidex - secondary: > - {% if is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','comfortable') %} - Comfy - {% elif is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','noticable_discomfort') %} - Noticable Discomfort - {% elif is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','evident_discomfort') %} - Evident Discomfort - {% elif is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','great_discomfort') %} - Great Discomfort - {% elif is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','dangerous_discomfort') %} - Dangerous - {% elif is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','heat_stroke') %} - Heat Stroke - {% endif %} - icon: tc:thermal-perception - icon_color: > - {% if is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','comfortable') %} - green - {% elif is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','noticable_discomfort') %} - yellow - {% elif is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','evident_discomfort') %} - orange - {% elif is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','great_discomfort') %} - orange - {% elif is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','dangerous_discomfort') %} - red - {% elif is_state('sensor.master_bedroom_thermal_comfort_humidex_perception','heat_stroke') %} - red - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.master_bedroom_thermal_comfort_summer_simmer_perception - primary: Simmer - secondary: > - {% if is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','cool') %} - Cool - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','slightly_cool') %} - Cool - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','comfortable') %} - Comfy - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','slightly_warm') %} - Warm - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - Warm - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','extremely_warm') %} - Hot - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - Hot - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - Danger - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - Danger - {% endif %} - icon: tc:simmer-zone - icon_color: > - {% if is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','cool') %} - blue - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','slightly_cool') %} - blue - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','comfortable') %} - green - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','slightly_warm') %} - yellow - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - yellow - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','extremely_warm') %} - orange - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - orange - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - red - {% elif is_state('sensor.master_bedroom_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception - primary: Thoms - secondary: > - {% if is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - No discomfort - {% elif is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - Less than half - {% elif is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - More than half - {% elif is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','most') %} - Most - {% elif is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','everyone') %} - Everyone - {% elif is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','dangerous') %} - Dangerous - {% endif %} - icon: tc:heat-index - icon_color: > - {% if is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - blue - {% elif is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - yellow - {% elif is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - yellow - {% elif is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','most') %} - orange - {% elif is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','everyone') %} - orange - {% elif is_state('sensor.master_bedroom_thermal_comfort_thoms_discomfort_perception','dangerous') %} - red - {% endif %} - tap_action: - action: more-info - - - type: custom:mushroom-title-card - title: Blue Room - alignment: center - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.blue_room_thermal_comfort_dew_point_perception - primary: Dew Point - secondary: > - {% if is_state('sensor.blue_room_thermal_comfort_dew_point_perception','dry') %} - Dry - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','very_comfortable') %} - Very Comfy - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','comfortable') %} - Comfy - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','ok_but_humid') %} - Humid - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - Somewhat Uncomfy - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - Quite Uncomfy - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - Extremely Uncomfy - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','severely_high') %} - Severely High - {% endif %} - icon: tc:dew-point - icon_color: > - {% if is_state('sensor.blue_room_thermal_comfort_dew_point_perception','dry') %} - gray - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','very_comfortable') %} - green - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','comfortable') %} - green - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','ok_but_humid') %} - blue - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - yellow - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - orange - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - orange - {% elif is_state('sensor.blue_room_thermal_comfort_dew_point_perception','severely_high') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.blue_room_thermal_comfort_humidex_perception - primary: Humidex - secondary: > - {% if is_state('sensor.blue_room_thermal_comfort_humidex_perception','comfortable') %} - Comfy - {% elif is_state('sensor.blue_room_thermal_comfort_humidex_perception','noticable_discomfort') %} - Noticable Discomfort - {% elif is_state('sensor.blue_room_thermal_comfort_humidex_perception','evident_discomfort') %} - Evident Discomfort - {% elif is_state('sensor.blue_room_thermal_comfort_humidex_perception','great_discomfort') %} - Great Discomfort - {% elif is_state('sensor.blue_room_thermal_comfort_humidex_perception','dangerous_discomfort') %} - Dangerous - {% elif is_state('sensor.blue_room_thermal_comfort_humidex_perception','heat_stroke') %} - Heat Stroke - {% endif %} - icon: tc:thermal-perception - icon_color: > - {% if is_state('sensor.blue_room_thermal_comfort_humidex_perception','comfortable') %} - green - {% elif is_state('sensor.blue_room_thermal_comfort_humidex_perception','noticable_discomfort') %} - yellow - {% elif is_state('sensor.blue_room_thermal_comfort_humidex_perception','evident_discomfort') %} - orange - {% elif is_state('sensor.blue_room_thermal_comfort_humidex_perception','great_discomfort') %} - orange - {% elif is_state('sensor.blue_room_thermal_comfort_humidex_perception','dangerous_discomfort') %} - red - {% elif is_state('sensor.blue_room_thermal_comfort_humidex_perception','heat_stroke') %} - red - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.blue_room_thermal_comfort_summer_simmer_perception - primary: Simmer - secondary: > - {% if is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','cool') %} - Cool - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','slightly_cool') %} - Cool - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','comfortable') %} - Comfy - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','slightly_warm') %} - Warm - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - Warm - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','extremely_warm') %} - Hot - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - Hot - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - Danger - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - Danger - {% endif %} - icon: tc:simmer-zone - icon_color: > - {% if is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','cool') %} - blue - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','slightly_cool') %} - blue - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','comfortable') %} - green - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','slightly_warm') %} - yellow - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - yellow - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','extremely_warm') %} - orange - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - orange - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - red - {% elif is_state('sensor.blue_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.blue_room_thermal_comfort_thoms_discomfort_perception - primary: Thoms - secondary: > - {% if is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - No discomfort - {% elif is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - Less than half - {% elif is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - More than half - {% elif is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','most') %} - Most - {% elif is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','everyone') %} - Everyone - {% elif is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','dangerous') %} - Dangerous - {% endif %} - icon: tc:heat-index - icon_color: > - {% if is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - blue - {% elif is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - yellow - {% elif is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - yellow - {% elif is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','most') %} - orange - {% elif is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','everyone') %} - orange - {% elif is_state('sensor.blue_room_thermal_comfort_thoms_discomfort_perception','dangerous') %} - red - {% endif %} - tap_action: - action: more-info - - - type: vertical-stack - cards: - - type: custom:mushroom-title-card - title: Master Bathroom - alignment: center - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.master_bathroom_thermal_comfort_dew_point_perception - primary: Dew Point - secondary: > - {% if is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','dry') %} - Dry - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','very_comfortable') %} - Very Comfy - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','comfortable') %} - Comfy - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','ok_but_humid') %} - Humid - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - Somewhat Uncomfy - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - Quite Uncomfy - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - Extremely Uncomfy - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','severely_high') %} - Severely High - {% endif %} - icon: tc:dew-point - icon_color: > - {% if is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','dry') %} - gray - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','very_comfortable') %} - green - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','comfortable') %} - green - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','ok_but_humid') %} - blue - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - yellow - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - orange - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - orange - {% elif is_state('sensor.master_bathroom_thermal_comfort_dew_point_perception','severely_high') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.master_bathroom_thermal_comfort_humidex_perception - primary: Humidex - secondary: > - {% if is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','comfortable') %} - Comfy - {% elif is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','noticable_discomfort') %} - Noticable Discomfort - {% elif is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','evident_discomfort') %} - Evident Discomfort - {% elif is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','great_discomfort') %} - Great Discomfort - {% elif is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','dangerous_discomfort') %} - Dangerous - {% elif is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','heat_stroke') %} - Heat Stroke - {% endif %} - icon: tc:thermal-perception - icon_color: > - {% if is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','comfortable') %} - green - {% elif is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','noticable_discomfort') %} - yellow - {% elif is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','evident_discomfort') %} - orange - {% elif is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','great_discomfort') %} - orange - {% elif is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','dangerous_discomfort') %} - red - {% elif is_state('sensor.master_bathroom_thermal_comfort_humidex_perception','heat_stroke') %} - red - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.master_bathroom_thermal_comfort_summer_simmer_perception - primary: Simmer - secondary: > - {% if is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','cool') %} - Cool - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','slightly_cool') %} - Cool - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','comfortable') %} - Comfy - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','slightly_warm') %} - Warm - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - Warm - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','extremely_warm') %} - Hot - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - Hot - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - Danger - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - Danger - {% endif %} - icon: tc:simmer-zone - icon_color: > - {% if is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','cool') %} - blue - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','slightly_cool') %} - blue - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','comfortable') %} - green - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','slightly_warm') %} - yellow - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - yellow - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','extremely_warm') %} - orange - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - orange - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - red - {% elif is_state('sensor.master_bathroom_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception - primary: Thoms - secondary: > - {% if is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - No discomfort - {% elif is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - Less than half - {% elif is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - More than half - {% elif is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','most') %} - Most - {% elif is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','everyone') %} - Everyone - {% elif is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','dangerous') %} - Dangerous - {% endif %} - icon: tc:heat-index - icon_color: > - {% if is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - blue - {% elif is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - yellow - {% elif is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - yellow - {% elif is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','most') %} - orange - {% elif is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','everyone') %} - orange - {% elif is_state('sensor.master_bathroom_thermal_comfort_thoms_discomfort_perception','dangerous') %} - red - {% endif %} - tap_action: - action: more-info - - - type: custom:mushroom-title-card - title: Utility Room - alignment: center - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.utility_room_thermal_comfort_dew_point_perception - primary: Dew Point - secondary: > - {% if is_state('sensor.utility_room_thermal_comfort_dew_point_perception','dry') %} - Dry - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','very_comfortable') %} - Very Comfy - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','comfortable') %} - Comfy - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','ok_but_humid') %} - Humid - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - Somewhat Uncomfy - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - Quite Uncomfy - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - Extremely Uncomfy - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','severely_high') %} - Severely High - {% endif %} - icon: tc:dew-point - icon_color: > - {% if is_state('sensor.utility_room_thermal_comfort_dew_point_perception','dry') %} - gray - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','very_comfortable') %} - green - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','comfortable') %} - green - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','ok_but_humid') %} - blue - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','somewhat_uncomfortable') %} - yellow - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','quite_uncomfortable') %} - orange - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','extremely_uncomfortable') %} - orange - {% elif is_state('sensor.utility_room_thermal_comfort_dew_point_perception','severely_high') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.utility_room_thermal_comfort_humidex_perception - primary: Humidex - secondary: > - {% if is_state('sensor.utility_room_thermal_comfort_humidex_perception','comfortable') %} - Comfy - {% elif is_state('sensor.utility_room_thermal_comfort_humidex_perception','noticable_discomfort') %} - Noticable Discomfort - {% elif is_state('sensor.utility_room_thermal_comfort_humidex_perception','evident_discomfort') %} - Evident Discomfort - {% elif is_state('sensor.utility_room_thermal_comfort_humidex_perception','great_discomfort') %} - Great Discomfort - {% elif is_state('sensor.utility_room_thermal_comfort_humidex_perception','dangerous_discomfort') %} - Dangerous - {% elif is_state('sensor.utility_room_thermal_comfort_humidex_perception','heat_stroke') %} - Heat Stroke - {% endif %} - icon: tc:thermal-perception - icon_color: > - {% if is_state('sensor.utility_room_thermal_comfort_humidex_perception','comfortable') %} - green - {% elif is_state('sensor.utility_room_thermal_comfort_humidex_perception','noticable_discomfort') %} - yellow - {% elif is_state('sensor.utility_room_thermal_comfort_humidex_perception','evident_discomfort') %} - orange - {% elif is_state('sensor.utility_room_thermal_comfort_humidex_perception','great_discomfort') %} - orange - {% elif is_state('sensor.utility_room_thermal_comfort_humidex_perception','dangerous_discomfort') %} - red - {% elif is_state('sensor.utility_room_thermal_comfort_humidex_perception','heat_stroke') %} - red - {% endif %} - tap_action: - action: more-info - - type: horizontal-stack - cards: - - type: custom:mushroom-template-card - entity: sensor.utility_room_thermal_comfort_summer_simmer_perception - primary: Simmer - secondary: > - {% if is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','cool') %} - Cool - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','slightly_cool') %} - Cool - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','comfortable') %} - Comfy - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','slightly_warm') %} - Warm - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - Warm - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','extremely_warm') %} - Hot - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - Hot - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - Danger - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - Danger - {% endif %} - icon: tc:simmer-zone - icon_color: > - {% if is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','cool') %} - blue - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','slightly_cool') %} - blue - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','comfortable') %} - green - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','slightly_warm') %} - yellow - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','increasing_discomfort') %} - yellow - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','extremely_warm') %} - orange - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','danger_of_heatstroke') %} - orange - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','extreme_danger_of_heatstroke') %} - red - {% elif is_state('sensor.utility_room_thermal_comfort_summer_simmer_perception','circulatory_collapse_imminent') %} - red - {% endif %} - tap_action: - action: more-info - - type: custom:mushroom-template-card - entity: sensor.utility_room_thermal_comfort_thoms_discomfort_perception - primary: Thoms - secondary: > - {% if is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - No discomfort - {% elif is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - Less than half - {% elif is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - More than half - {% elif is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','most') %} - Most - {% elif is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','everyone') %} - Everyone - {% elif is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','dangerous') %} - Dangerous - {% endif %} - icon: tc:heat-index - icon_color: > - {% if is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','no_discomfort') %} - blue - {% elif is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','less_than_half') %} - yellow - {% elif is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','more_than_half') %} - yellow - {% elif is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','most') %} - orange - {% elif is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','everyone') %} - orange - {% elif is_state('sensor.utility_room_thermal_comfort_thoms_discomfort_perception','dangerous') %} - red - {% endif %} - tap_action: - action: more-info - - - type: custom:mini-graph-card - name: Inside - state_map: - - value: "on" - label: Day - - value: "off" - label: Night - - value: above_horizon - label: Day - - value: below_horizon - label: Night - entities: - - entity: sensor.front_room_thermostat_temperature - name: Front Room - - entity: sensor.master_bedroom_multisensor_air_temperature - name: Bedroom - - entity: sensor.nursery_multisensor_air_temperature - name: Nursery - - entity: sensor.kitchen_multisensor_air_temperature - name: Kitchen - - entity: sensor.computer_area_multisensor_air_temperature - name: Computer Area - - entity: sensor.great_room_multisensor_air_temperature - name: Great Room - - color: white - entity: sensor.outdoor_temperature + - type: custom:mini-graph-card + name: Inside + state_map: + - value: "on" + label: Day + - value: "off" + label: Night + - value: above_horizon + label: Day + - value: below_horizon + label: Night + entities: + - entity: sensor.front_room_thermostat_temperature + name: Front Room + - entity: sensor.master_bedroom_multisensor_air_temperature + name: Bedroom + - entity: sensor.nursery_multisensor_air_temperature + name: Nursery + - entity: sensor.kitchen_multisensor_air_temperature + name: Kitchen + - entity: sensor.computer_area_multisensor_air_temperature + name: Computer Area + - entity: sensor.great_room_multisensor_air_temperature + name: Great Room + - color: white + entity: sensor.outdoor_temperature + name: Outside + show_line: false + show_points: false + show_legend: false + - color: black + entity: sensor.sun_elevation + name: Night + show_line: false + show_points: false + show_legend: false + y_axis: secondary + lower_bound: 60 + line_width: 1 + hour24: true + hours_to_show: 24 + points_per_hour: 4 + color_thresholds: + - value: 58 + color: "#260d8f" + - value: 60 + color: "#251ab9" + - value: 62 + color: "#0f28e5" + - value: 64 + color: "#007eff" + - value: 66 + color: "#00aaf9" + - value: 68 + color: "#00cc9e" + - value: 70 + color: "#59E442" + - value: 72 + color: "#59E442" + - value: 74 + color: "#7fd206" + - value: 76 + color: "#97bf00" + - value: 78 + color: "#aaac00" + - value: 80 + color: "#b89700" + - value: 82 + color: "#c18200" + - value: 84 + color: "#c86c00" + - value: 86 + color: "#ca5400" + - value: 88 + color: "#c93905" + - value: 90 + color: "#c4161e" + grid_options: + columns: full + column_span: 5 + - type: grid + cards: + - type: horizontal-stack + cards: + - type: custom:mini-graph-card name: Outside - show_line: false - show_points: false - show_legend: false - - color: black - entity: sensor.sun_elevation - name: Night - show_line: false - show_points: false - show_legend: false - y_axis: secondary - lower_bound: 60 - line_width: 1 - hour24: true - hours_to_show: 24 - points_per_hour: 4 - color_thresholds: - - value: 58 - color: "#260d8f" - - value: 60 - color: "#251ab9" - - value: 62 - color: "#0f28e5" - - value: 64 - color: "#007eff" - - value: 66 - color: "#00aaf9" - - value: 68 - color: "#00cc9e" - - value: 70 - color: "#59E442" - - value: 72 - color: "#59E442" - - value: 74 - color: "#7fd206" - - value: 76 - color: "#97bf00" - - value: 78 - color: "#aaac00" - - value: 80 - color: "#b89700" - - value: 82 - color: "#c18200" - - value: 84 - color: "#c86c00" - - value: 86 - color: "#ca5400" - - value: 88 - color: "#c93905" - - value: 90 - color: "#c4161e" - - - type: custom:mini-graph-card - name: Outside - state_map: - - value: "on" - label: Day - - value: "off" - label: Night - - value: above_horizon - label: Day - - value: below_horizon - label: Night - entities: - - entity: sensor.lacrosse_tx141thbv2_0_temperature - name: Front Yard - - entity: sensor.acurite_592txr_a_temperature - name: Back Yard - - color: white - entity: sensor.outdoor_temperature - name: Outside - show_line: false - show_points: false - show_legend: false - - color: black - entity: sensor.sun_elevation - name: Night - show_line: false - show_points: false - show_legend: false - y_axis: secondary - lower_bound: 60 - line_width: 1 - hour24: true - hours_to_show: 24 - points_per_hour: 4 - color_thresholds: - - value: 58 - color: "#260d8f" - - value: 60 - color: "#251ab9" - - value: 62 - color: "#0f28e5" - - value: 64 - color: "#007eff" - - value: 66 - color: "#00aaf9" - - value: 68 - color: "#00cc9e" - - value: 70 - color: "#59E442" - - value: 72 - color: "#59E442" - - value: 74 - color: "#7fd206" - - value: 76 - color: "#97bf00" - - value: 78 - color: "#aaac00" - - value: 80 - color: "#b89700" - - value: 82 - color: "#c18200" - - value: 84 - color: "#c86c00" - - value: 86 - color: "#ca5400" - - value: 88 - color: "#c93905" - - value: 90 - color: "#c4161e" - - - type: markdown - content: |- - # Sensors: - -
-
Absolute Humidity absolute_humidity
-
- Absolute humidity is a measure of the actual amount of water vapor - (moisture) in the air. -
-
Heat Index heat_index
-
- The heat index combines air temperature and relative humidity to posit a - human-perceived equivalent temperature. -
-
Humidex + Perception humidex humidex_perception
-
- The humidex (humidity index) describes how hot the weather feels to an average person as a result of the combined effect of heat and humidity. It is calculated from the dew point. -
-
Dew Point + Perception dew_point dew_point_perception
-
- The dew point is the temperature to which air must be cooled to become - saturated with water vapor and dew forms on surfaces. -
-
Frost Point frost_point
-
- Frost point, temperature, below 0° C (32° F), at which moisture in the air - will condense as a layer of frost on any exposed surface. -
-
Frost Risk frost_risk
-
- Risk of Frost based on current temperature, frost point and absolute humidity. -
-
Relative Strain Perception relative_strain_perception
-
- A measure of discomfort resulting from the combined effect of temperature and humidity. It assumes a person dressed in a light business suit, walking at a moderate pace in a very light air motion. It is applicable to assess heat stress of manual workers under shelter at various metabolic rates. Valid for temperatures between 26 and 35°C (79 to 95°F). -
-
Summer Simmer Index + Perception summer_simmer_index summer_simmer_perception
-
- Provides a proven indicator of heat stress concerns and discomfort using meaningful equivalent temperature values for general public acceptance and awareness. -
-
Moist Air Enthalpy moist_air_enthalpy
-
- The enthalpy of moist air is the sum of the enthalpy of the dry air and the enthalpy of the water vapour. Enthalpy is the total energy of a thermodynamic system. -
-
Summer Scharlau Perception summer_scharlau_perception
-
- The summer Scharlau index describes a bioclimatic thermal comfort when temperature values are higher than 0°C. Valid for temperatures 17° to 39°C (63° to 102°F) and humidity >= 30%. -
-
Winter Scharlau Perception winter_scharlau_perception
-
- Reflects the level of human discomfort caused by cooling. Valid for: temperatures -5 to +6°C (23 to 43°F) and humidity >= 40%. -
-
Thoms discomfort Perception thoms_discomfort_perception
-
- Indicates the level of discomfort as a result of high temperature and the combined effect with relative humidity. -
-
+ state_map: + - value: "on" + label: Day + - value: "off" + label: Night + - value: above_horizon + label: Day + - value: below_horizon + label: Night + entities: + - entity: sensor.lacrosse_tx141thbv2_0_temperature + name: Front Yard + - entity: sensor.acurite_592txr_a_temperature + name: Back Yard + - color: white + entity: sensor.outdoor_temperature + name: Outside + show_line: false + show_points: false + show_legend: false + - color: black + entity: sensor.sun_elevation + name: Night + show_line: false + show_points: false + show_legend: false + y_axis: secondary + lower_bound: 60 + line_width: 1 + hour24: true + hours_to_show: 24 + points_per_hour: 4 + color_thresholds: + - value: 58 + color: "#260d8f" + - value: 60 + color: "#251ab9" + - value: 62 + color: "#0f28e5" + - value: 64 + color: "#007eff" + - value: 66 + color: "#00aaf9" + - value: 68 + color: "#00cc9e" + - value: 70 + color: "#59E442" + - value: 72 + color: "#59E442" + - value: 74 + color: "#7fd206" + - value: 76 + color: "#97bf00" + - value: 78 + color: "#aaac00" + - value: 80 + color: "#b89700" + - value: 82 + color: "#c18200" + - value: 84 + color: "#c86c00" + - value: 86 + color: "#ca5400" + - value: 88 + color: "#c93905" + - value: 90 + color: "#c4161e" + grid_options: + columns: full + column_span: 5 + - type: grid + cards: + - type: horizontal-stack + grid_options: + columns: full + cards: + - type: markdown + content: |- + # Sensors: +
+
Absolute Humidity absolute_humidity
+
+ Absolute humidity is a measure of the actual amount of water vapor + (moisture) in the air. +
+
Heat Index heat_index
+
+ The heat index combines air temperature and relative humidity to posit a + human-perceived equivalent temperature. +
+
Humidex + Perception humidex humidex_perception
+
+ The humidex (humidity index) describes how hot the weather feels to an average person as a result of the combined effect of heat and humidity. It is calculated from the dew point. +
+
Dew Point + Perception dew_point dew_point_perception
+
+ The dew point is the temperature to which air must be cooled to become + saturated with water vapor and dew forms on surfaces. +
+
Frost Point frost_point
+
+ Frost point, temperature, below 0° C (32° F), at which moisture in the air + will condense as a layer of frost on any exposed surface. +
+
Frost Risk frost_risk
+
+ Risk of Frost based on current temperature, frost point and absolute humidity. +
+
Relative Strain Perception relative_strain_perception
+
+ A measure of discomfort resulting from the combined effect of temperature and humidity. It assumes a person dressed in a light business suit, walking at a moderate pace in a very light air motion. It is applicable to assess heat stress of manual workers under shelter at various metabolic rates. Valid for temperatures between 26 and 35°C (79 to 95°F). +
+
Summer Simmer Index + Perception summer_simmer_index summer_simmer_perception
+
+ Provides a proven indicator of heat stress concerns and discomfort using meaningful equivalent temperature values for general public acceptance and awareness. +
+
Moist Air Enthalpy moist_air_enthalpy
+
+ The enthalpy of moist air is the sum of the enthalpy of the dry air and the enthalpy of the water vapour. Enthalpy is the total energy of a thermodynamic system. +
+
Summer Scharlau Perception summer_scharlau_perception
+
+ The summer Scharlau index describes a bioclimatic thermal comfort when temperature values are higher than 0°C. Valid for temperatures 17° to 39°C (63° to 102°F) and humidity >= 30%. +
+
Winter Scharlau Perception winter_scharlau_perception
+
+ Reflects the level of human discomfort caused by cooling. Valid for: temperatures -5 to +6°C (23 to 43°F) and humidity >= 40%. +
+
Thoms discomfort Perception thoms_discomfort_perception
+
+ Indicates the level of discomfort as a result of high temperature and the combined effect with relative humidity. +
+
+ column_span: 5 +cards: [] \ No newline at end of file diff --git a/lovelace/phone/plants.yaml b/lovelace/phone/plants.yaml index a8090af..e541c48 100644 --- a/lovelace/phone/plants.yaml +++ b/lovelace/phone/plants.yaml @@ -61,8 +61,6 @@ cards: - !include /config/lovelace/plant-cards/plant_sensor_3eae.yaml - !include /config/lovelace/plant-cards/plant_sensor_3eb0.yaml - !include /config/lovelace/plant-cards/fineoffset_wh51_0ce593.yaml - - !include /config/lovelace/plant-cards/fineoffset_wh51_00f935.yaml - - !include /config/lovelace/plant-cards/fineoffset_wh51_0d1e11.yaml - type: vertical-stack view_layout: diff --git a/lovelace/plant-cards/fineoffset_wh51_00f935.yaml b/lovelace/plant-cards/fineoffset_wh51_00f935.yaml deleted file mode 100644 index fe5b137..0000000 --- a/lovelace/plant-cards/fineoffset_wh51_00f935.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: vertical-stack -cards: - - type: plant-status - entity: plant.fineoffset_wh51_00f935 diff --git a/lovelace/plant-cards/fineoffset_wh51_0d1e11.yaml b/lovelace/plant-cards/fineoffset_wh51_0d1e11.yaml deleted file mode 100644 index 74c227b..0000000 --- a/lovelace/plant-cards/fineoffset_wh51_0d1e11.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: vertical-stack -cards: - - type: plant-status - entity: plant.fineoffset_wh51_0d1e11 diff --git a/lovelace/room_cards/back_yard.yaml b/lovelace/room_cards/back_yard.yaml index ddcb7d2..7b66c7d 100644 --- a/lovelace/room_cards/back_yard.yaml +++ b/lovelace/room_cards/back_yard.yaml @@ -25,13 +25,13 @@ elements: # text-transform: capitalize - type: state-label - entity: sensor.deck_temperature + entity: sensor.acurite_592txr_a_temperature style: left: 15% top: 35% font-size: 180% - type: state-label - entity: sensor.lacrosse_tx141thbv2_0_temperature + entity: sensor.acurite_592txr_a_humidity style: left: 85% top: 35% diff --git a/lovelace/room_cards/front_yard.yaml b/lovelace/room_cards/front_yard.yaml index 83a72f7..6146d0d 100644 --- a/lovelace/room_cards/front_yard.yaml +++ b/lovelace/room_cards/front_yard.yaml @@ -30,13 +30,13 @@ elements: text-transform: capitalize - type: state-label - entity: sensor.front_porch_temperature + entity: sensor.lacrosse_tx141thbv2_0_temperature style: left: 15% top: 35% font-size: 180% - type: state-label - entity: sensor.lacrosse_tx141thbv2_0_temperature + entity: sensor.lacrosse_tx141thbv2_0_humidity style: left: 85% top: 35% diff --git a/lovelace/room_cards/master_bathroom.yaml b/lovelace/room_cards/master_bathroom.yaml index 5370bea..ab62124 100644 --- a/lovelace/room_cards/master_bathroom.yaml +++ b/lovelace/room_cards/master_bathroom.yaml @@ -50,7 +50,7 @@ elements: # left: 76% # top: 9% - type: state-icon - entity: binary_sensor.master_bathroom_hygrostat + entity: binary_sensor.master_bathroom_too_humid style: left: 76% top: 9% diff --git a/lovelace/room_cards/utility_room.yaml b/lovelace/room_cards/utility_room.yaml index 5a85695..1c8f9b9 100644 --- a/lovelace/room_cards/utility_room.yaml +++ b/lovelace/room_cards/utility_room.yaml @@ -51,7 +51,7 @@ elements: # left: 76% # top: 9% - type: state-icon - entity: binary_sensor.utility_room_hygrostat + entity: binary_sensor.utility_room_too_humid style: left: 76% top: 9% diff --git a/lovelace/stretch-cameras/back-yard-card.yaml b/lovelace/stretch-cameras/back-yard-card.yaml index c31f321..bee10af 100644 --- a/lovelace/stretch-cameras/back-yard-card.yaml +++ b/lovelace/stretch-cameras/back-yard-card.yaml @@ -1,40 +1,65 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam14 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam14_sub - icon: mdi:grass - title: Back Yard - id: back_yard -live: - layout: - fit: fill - preload: true - draggable: true - show_image_during_load: false - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file +type: vertical-stack +cards: + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam14 + live_provider: go2rtc + id: frigate-cam14 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam14_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' \ No newline at end of file diff --git a/lovelace/stretch-cameras/blue-room-card.yaml b/lovelace/stretch-cameras/blue-room-card.yaml index 247cf51..4928ac1 100644 --- a/lovelace/stretch-cameras/blue-room-card.yaml +++ b/lovelace/stretch-cameras/blue-room-card.yaml @@ -1,40 +1,65 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam01 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam01_sub - icon: mdi:yoga - title: Blue Room - id: blue_room -live: - layout: - fit: fill - preload: true - draggable: true - show_image_during_load: false - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file +type: vertical-stack +cards: + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam01 + live_provider: go2rtc + id: frigate-cam01 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam01_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' \ No newline at end of file diff --git a/lovelace/stretch-cameras/computer-area-card.yaml b/lovelace/stretch-cameras/computer-area-card.yaml index 6b1a7d4..1ac6dac 100644 --- a/lovelace/stretch-cameras/computer-area-card.yaml +++ b/lovelace/stretch-cameras/computer-area-card.yaml @@ -1,40 +1,65 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam03 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam03_sub - icon: mdi:desktop-classic - title: Computer Area - id: computer_area -live: - layout: - fit: fill - preload: true - draggable: false - show_image_during_load: true - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file +type: vertical-stack +cards: + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam03 + live_provider: go2rtc + id: frigate-cam03 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam03_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' \ No newline at end of file diff --git a/lovelace/stretch-cameras/front-porch-card.yaml b/lovelace/stretch-cameras/front-porch-card.yaml index 8ef4dc0..ecf8134 100644 --- a/lovelace/stretch-cameras/front-porch-card.yaml +++ b/lovelace/stretch-cameras/front-porch-card.yaml @@ -1,40 +1,65 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam19 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam19_sub - icon: mdi:doorbell-video - title: Front Porch - id: front_porch -live: - layout: - fit: fill - preload: true - draggable: true - show_image_during_load: false - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file +type: vertical-stack +cards: + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam19 + live_provider: go2rtc + id: frigate-cam19 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam19_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' \ No newline at end of file diff --git a/lovelace/stretch-cameras/front-room-card.yaml b/lovelace/stretch-cameras/front-room-card.yaml index 3d25ad7..071f9f9 100644 --- a/lovelace/stretch-cameras/front-room-card.yaml +++ b/lovelace/stretch-cameras/front-room-card.yaml @@ -1,40 +1,65 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam13 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam13_sub - icon: mdi:television - title: Front Room - id: front_room -live: - layout: - fit: fill - preload: true - draggable: true - show_image_during_load: false - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file +type: vertical-stack +cards: + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam13 + live_provider: go2rtc + id: frigate-cam13 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam13_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' \ No newline at end of file diff --git a/lovelace/stretch-cameras/front-yard-card.yaml b/lovelace/stretch-cameras/front-yard-card.yaml index 2de9f8a..8d171e3 100644 --- a/lovelace/stretch-cameras/front-yard-card.yaml +++ b/lovelace/stretch-cameras/front-yard-card.yaml @@ -1,40 +1,65 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam18 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam18_sub - icon: mdi:grass - title: Front Yard - id: front_yard -live: - layout: - fit: fill - preload: true - draggable: true - show_image_during_load: false - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file +type: vertical-stack +cards: + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam18 + live_provider: go2rtc + id: frigate-cam18 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam18_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' \ No newline at end of file diff --git a/lovelace/stretch-cameras/garage-card.yaml b/lovelace/stretch-cameras/garage-card.yaml index 2b9f831..4077083 100644 --- a/lovelace/stretch-cameras/garage-card.yaml +++ b/lovelace/stretch-cameras/garage-card.yaml @@ -1,40 +1,65 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam04 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam04_sub - icon: mdi:garage - title: Garage - id: garage -live: - layout: - fit: fill - preload: true - draggable: true - show_image_during_load: false - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file +type: vertical-stack +cards: + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam04 + live_provider: go2rtc + id: frigate-cam04 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam04_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' \ No newline at end of file diff --git a/lovelace/stretch-cameras/indoor-camera-cycler.yaml b/lovelace/stretch-cameras/indoor-camera-cycler.yaml index 810794b..70a4d57 100644 --- a/lovelace/stretch-cameras/indoor-camera-cycler.yaml +++ b/lovelace/stretch-cameras/indoor-camera-cycler.yaml @@ -1,44 +1,97 @@ type: vertical-stack cards: - - type: conditional - conditions: - - entity: input_select.indoor_camera_cycle - state: Blue Room - card: - !include /config/lovelace/stretch-cameras/blue-room-card.yaml - - type: conditional - conditions: - - entity: input_select.indoor_camera_cycle - state: Computer Area - card: - !include /config/lovelace/stretch-cameras/computer-area-card.yaml - - type: conditional - conditions: - - entity: input_select.indoor_camera_cycle - state: Bedroom Left - card: - !include /config/lovelace/stretch-cameras/master-bedroom-left-card.yaml - - type: conditional - conditions: - - entity: input_select.indoor_camera_cycle - state: Bedroom Right - card: - !include /config/lovelace/stretch-cameras/master-bedroom-right-card.yaml - - type: conditional - conditions: - - entity: input_select.indoor_camera_cycle - state: Nursery - card: - !include /config/lovelace/stretch-cameras/nursery-card.yaml - - type: conditional - conditions: - - entity: input_select.indoor_camera_cycle - state: Kitchen - card: - !include /config/lovelace/stretch-cameras/kitchen-card.yaml - - type: conditional - conditions: - - entity: input_select.indoor_camera_cycle - state: Front Room - card: - !include /config/lovelace/stretch-cameras/front-room-card.yaml + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam03 + live_provider: go2rtc + id: frigate-cam03 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam03_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + events: [] + occupancy: false + - camera_entity: camera.frigate_cam04 + live_provider: go2rtc + id: frigate-cam04 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam04_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + events: [] + occupancy: false + - camera_entity: camera.frigate_cam12 + live_provider: go2rtc + id: frigate-cam12 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam12_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' diff --git a/lovelace/stretch-cameras/kitchen-card.yaml b/lovelace/stretch-cameras/kitchen-card.yaml index fb50cb2..9c158f7 100644 --- a/lovelace/stretch-cameras/kitchen-card.yaml +++ b/lovelace/stretch-cameras/kitchen-card.yaml @@ -1,40 +1,65 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam12 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam12_sub - icon: mdi:fridge - title: Kitchen - id: kitchen -live: - layout: - fit: fill - preload: true - draggable: true - show_image_during_load: false - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file +type: vertical-stack +cards: + - type: custom:advanced-camera-card + cameras_global: + dimensions: + aspect_ratio_mode: static + aspect_ratio: 1280:800 + layout: + fit: fill + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: hidden + cameras: + - camera_entity: camera.frigate_cam12 + live_provider: go2rtc + id: frigate-cam12 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam12_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: + - low-performance + - casting + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single diff --git a/lovelace/stretch-cameras/master-bedroom-card.yaml b/lovelace/stretch-cameras/master-bedroom-card.yaml index b69b208..1c72733 100644 --- a/lovelace/stretch-cameras/master-bedroom-card.yaml +++ b/lovelace/stretch-cameras/master-bedroom-card.yaml @@ -1,14 +1,85 @@ type: vertical-stack cards: - - type: conditional - conditions: - - entity: input_select.master_bedroom_camera - state: Left - card: - !include /config/lovelace/stretch-cameras/master-bedroom-left-card.yaml - - type: conditional - conditions: - - entity: input_select.master_bedroom_camera - state: Right - card: - !include /config/lovelace/stretch-cameras/master-bedroom-right-card.yaml + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam06 + live_provider: go2rtc + id: frigate-cam06 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam06_sub + modes: + - webrtc + title: MBR Left + icon: mdi:bed-king + always_error_if_entity_unavailable: false + triggers: + motion: false + events: [] + occupancy: false + - camera_entity: camera.frigate_cam07 + live_provider: go2rtc + id: frigate-cam07 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam07_sub + modes: + - webrtc + title: MBR Right + icon: mdi:bed-king + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' diff --git a/lovelace/stretch-cameras/master-bedroom-left-card.yaml b/lovelace/stretch-cameras/master-bedroom-left-card.yaml deleted file mode 100644 index 22c3c23..0000000 --- a/lovelace/stretch-cameras/master-bedroom-left-card.yaml +++ /dev/null @@ -1,40 +0,0 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam06 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam06_sub - icon: mdi:bed-queen - title: MBR Left - id: mbr_left -live: - layout: - fit: fill - preload: true - draggable: true - show_image_during_load: false - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file diff --git a/lovelace/stretch-cameras/master-bedroom-left-view.yaml b/lovelace/stretch-cameras/master-bedroom-left-view.yaml deleted file mode 100644 index 7c17794..0000000 --- a/lovelace/stretch-cameras/master-bedroom-left-view.yaml +++ /dev/null @@ -1,6 +0,0 @@ -title: Master Bedroom Left -path: mbr-camera-left -icon: mdi:bed-king -panel: true -cards: - - !include /config/lovelace/stretch-cameras/master-bedroom-left-card.yaml \ No newline at end of file diff --git a/lovelace/stretch-cameras/master-bedroom-right-card.yaml b/lovelace/stretch-cameras/master-bedroom-right-card.yaml deleted file mode 100644 index d0c184d..0000000 --- a/lovelace/stretch-cameras/master-bedroom-right-card.yaml +++ /dev/null @@ -1,40 +0,0 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam07 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam07_sub - icon: mdi:bed-queen - title: MBR Right - id: mbr_right -live: - layout: - fit: fill - preload: true - draggable: true - show_image_during_load: false - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file diff --git a/lovelace/stretch-cameras/master-bedroom-right-view.yaml b/lovelace/stretch-cameras/master-bedroom-right-view.yaml deleted file mode 100644 index 093dcab..0000000 --- a/lovelace/stretch-cameras/master-bedroom-right-view.yaml +++ /dev/null @@ -1,6 +0,0 @@ -title: Master Bedroom Right -path: mbr-camera-right -icon: mdi:bed-king -panel: true -cards: - - !include /config/lovelace/stretch-cameras/master-bedroom-right-card.yaml \ No newline at end of file diff --git a/lovelace/stretch-cameras/nursery-card.yaml b/lovelace/stretch-cameras/nursery-card.yaml index f000f75..3dc8aae 100644 --- a/lovelace/stretch-cameras/nursery-card.yaml +++ b/lovelace/stretch-cameras/nursery-card.yaml @@ -1,40 +1,65 @@ -type: custom:advanced-camera-card -cameras: - - camera_entity: camera.frigate_cam08 - live_provider: go2rtc - go2rtc: - modes: - - webrtc - stream: rtsp_cam08_sub - icon: mdi:bunk-bed - title: Nursery - id: nursery -live: - layout: - fit: fill - preload: true - draggable: true - show_image_during_load: false - lazy_load: false - controls: - title: - mode: none - timeline: - mode: none - thumbnails: - mode: none -menu: - buttons: - frigate: - enabled: false - style: none -media_viewer: - draggable: false - lazy_load: false -dimensions: - aspect_ratio_mode: static - aspect_ratio: '16:9' -view: - actions: - tap_action: - action: more-info \ No newline at end of file +type: vertical-stack +cards: + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam08 + live_provider: go2rtc + id: frigate-cam08 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam08_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' \ No newline at end of file diff --git a/lovelace/stretch-cameras/outdoor-camera-cycler.yaml b/lovelace/stretch-cameras/outdoor-camera-cycler.yaml index 3ee1969..89144dc 100644 --- a/lovelace/stretch-cameras/outdoor-camera-cycler.yaml +++ b/lovelace/stretch-cameras/outdoor-camera-cycler.yaml @@ -1,26 +1,97 @@ type: vertical-stack cards: - - type: conditional - conditions: - - entity: input_select.outdoor_camera_cycle - state: Garage - card: - !include /config/lovelace/stretch-cameras/garage-card.yaml - - type: conditional - conditions: - - entity: input_select.outdoor_camera_cycle - state: Back Yard - card: - !include /config/lovelace/stretch-cameras/back-yard-card.yaml - - type: conditional - conditions: - - entity: input_select.outdoor_camera_cycle - state: Front Porch - card: - !include /config/lovelace/stretch-cameras/front-porch-card.yaml - - type: conditional - conditions: - - entity: input_select.outdoor_camera_cycle - state: Front Yard - card: - !include /config/lovelace/stretch-cameras/front-yard-card.yaml \ No newline at end of file + - type: custom:advanced-camera-card + cameras_global: + dimensions: + layout: + fit: fill + + status_bar: + style: none + menu: + buttons: + frigate: + enabled: false + style: none + cameras: + - camera_entity: camera.frigate_cam18 + live_provider: go2rtc + id: frigate-cam18 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam18_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + events: [] + occupancy: false + - camera_entity: camera.frigate_cam04 + live_provider: go2rtc + id: frigate-cam04 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam04_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + events: [] + occupancy: false + - camera_entity: camera.frigate_cam19 + live_provider: go2rtc + id: frigate-cam19 + capabilities: + disable: [] + disable_except: + - live + go2rtc: + stream: rtsp_cam19_sub + modes: + - webrtc + always_error_if_entity_unavailable: false + triggers: + motion: false + entities: [] + view: + default: live + default_reset: + every_seconds: 5 + after_interaction: true + interaction_mode: all + default_cycle_camera: true + triggers: + filter_selected_camera: false + profiles: [] + grid_options: + columns: full + live: + preload: true + draggable: false + show_image_during_load: false + lazy_load: false + controls: + timeline: + mode: none + thumbnails: + mode: none + builtin: false + next_previous: + style: none + zoomable: false + auto_play: + - selected + transition_effect: slide + display: + mode: single + dimensions: + aspect_ratio_mode: static + aspect_ratio: '16:10' diff --git a/lovelace/view-ha-floorplan.yaml b/lovelace/view-ha-floorplan.yaml index 66b58af..2e31bd9 100644 --- a/lovelace/view-ha-floorplan.yaml +++ b/lovelace/view-ha-floorplan.yaml @@ -36,36 +36,6 @@ cards: - state: idle class: hvac-idle - # - entities: - # - input_boolean.clint_in_bed - # - input_boolean.emmett_in_bed - # - input_boolean.bridget_in_bed - # - input_boolean.kristy_in_bed - # - input_boolean.marshall_in_bed - # - input_boolean.tess_in_bed - # - input_boolean.ebin_in_bed - # - input_boolean.guest_in_bed - # states: - # - state: 'on' - # class: in-bed - # - state: 'off' - # class: out-of-bed - - # - entities: - # - input_boolean.clint_is_awake - # - input_boolean.emmett_is_awake - # - input_boolean.bridget_is_awake - # - input_boolean.kristy_is_awake - # - input_boolean.marshall_is_awake - # - input_boolean.tess_is_awake - # - input_boolean.ebin_is_awake - # - input_boolean.guest_is_awake - # states: - # - state: 'on' - # class: awake - # - state: 'off' - # class: sleeping - - entities: - input_boolean.entryway_occupied - input_boolean.front_room_occupied @@ -127,10 +97,8 @@ cards: - entities: - plant.plant_sensor_cea4 - plant.plant_sensor_3eae - - plant.fineoffset_wh51_00f935 - plant.fineoffset_wh51_0ce593 - plant.plant_sensor_3eb0 - - plant.fineoffset_wh51_0d1e11 states: - state: "problem" class: "health-warning" @@ -142,9 +110,9 @@ cards: - entities: - binary_sensor.black_bed_occupied - - input_boolean.white_bed_occupied - - binary_sensor.bed_presence_c175a4_bed_occupied_left - - binary_sensor.bed_presence_c175a4_bed_occupied_right + - binary_sensor.white_bed_occupied + - binary_sensor.master_bed_left_occupied + - binary_sensor.master_bed_right_occupied - binary_sensor.computer_area_person_occupancy - binary_sensor.dining_room_person_occupancy - binary_sensor.entryway_person_occupancy @@ -712,22 +680,13 @@ cards: - binary_sensor.deck_motion - binary_sensor.entryway_motion - binary_sensor.frigate_cam01_person_occupancy - #- binary_sensor.frigate_cam02_person_occupancy - binary_sensor.frigate_cam03_person_occupancy - binary_sensor.frigate_cam04_person_occupancy - #- binary_sensor.frigate_cam05_person_occupancy - binary_sensor.frigate_cam06_person_occupancy - binary_sensor.frigate_cam07_person_occupancy - binary_sensor.frigate_cam08_person_occupancy - #- binary_sensor.frigate_cam09_person_occupancy - #- binary_sensor.frigate_cam10_person_occupancy - #- binary_sensor.frigate_cam11_person_occupancy - binary_sensor.frigate_cam12_person_occupancy - #- binary_sensor.frigate_cam13_person_occupancy - #- binary_sensor.frigate_cam14_motion - #- binary_sensor.frigate_cam14_person_occupancy - binary_sensor.frigate_cam18_person_occupancy - #- binary_sensor.frigate_cam19_motion - binary_sensor.frigate_cam19_person_occupancy - binary_sensor.great_room_multisensor_home_security_motion_detection - binary_sensor.garage_multisensor_home_security_motion_detection diff --git a/lovelace/view-overview.yaml b/lovelace/view-overview.yaml index b1026cb..89ee8fc 100644 --- a/lovelace/view-overview.yaml +++ b/lovelace/view-overview.yaml @@ -850,20 +850,6 @@ badges: navigation_path: /phone-yaml/plants hold_action: action: more-info - - entity: plant.fineoffset_wh51_00f935 - name: Dasies - tap_action: - action: navigate - navigation_path: /phone-yaml/plants - hold_action: - action: more-info - - entity: plant.fineoffset_wh51_0d1e11 - name: Cacti - tap_action: - action: navigate - navigation_path: /phone-yaml/plants - hold_action: - action: more-info - entity: binary_sensor.check_mail name: Mail tap_action: diff --git a/scripts/master_bedroom/wake_up_the_master_bedroom.yaml b/scripts/master_bedroom/wake_up_the_master_bedroom.yaml index 4c992e1..1e9c76b 100644 --- a/scripts/master_bedroom/wake_up_the_master_bedroom.yaml +++ b/scripts/master_bedroom/wake_up_the_master_bedroom.yaml @@ -25,7 +25,7 @@ sequence: - action: media_player.play_media data: - media_content_id: media-source://media_source/local/sounds/alarms/Alarm_Clock.mp3 + media_content_id: media-source://media_source/alarms/Alarm_Clock.mp3 media_content_type: music target: entity_id: media_player.master_bedroom_clock diff --git a/scripts/people/clint/take_meds.yaml b/scripts/people/clint/take_meds.yaml index faa7a95..c50b035 100644 --- a/scripts/people/clint/take_meds.yaml +++ b/scripts/people/clint/take_meds.yaml @@ -17,7 +17,7 @@ sequence: entity_id: - media_player.bathroom_mini data: - media_content_id: media-source://media_source/local/sounds/tts/taking_morning_meds.mp3 + media_content_id: media-source://media_source/tts/taking_morning_meds.mp3 media_content_type: "audio/mpeg" - conditions: - alias: "Afternoon meds needed" @@ -34,7 +34,7 @@ sequence: entity_id: - media_player.bathroom_mini data: - media_content_id: media-source://media_source/local/sounds/tts/taking_afternoon_meds.mp3 + media_content_id: media-source://media_source/tts/taking_afternoon_meds.mp3 media_content_type: "audio/mpeg" default: - service: media_player.play_media @@ -42,5 +42,5 @@ sequence: entity_id: - media_player.bathroom_mini data: - media_content_id: media-source://media_source/local/sounds/tts/meds_not_needed.mp3 + media_content_id: media-source://media_source/tts/meds_not_needed.mp3 media_content_type: "audio/mpeg" diff --git a/www/floorplan/fullsized_floorplan.svg b/www/floorplan/fullsized_floorplan.svg index 9d3b66f..45606b5 100644 --- a/www/floorplan/fullsized_floorplan.svg +++ b/www/floorplan/fullsized_floorplan.svg @@ -38,9 +38,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="0.01" - inkscape:cx="52050" - inkscape:cy="21950" + inkscape:zoom="0.02" + inkscape:cx="48525" + inkscape:cy="32825" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" @@ -49,7 +49,7 @@ showborder="true" inkscape:window-width="1920" inkscape:window-height="1009" - inkscape:window-x="-8" + inkscape:window-x="1912" inkscape:window-y="-8" inkscape:window-maximized="1" showguides="true" @@ -3113,9 +3113,9 @@ + inkscape:label="binary_sensor.master_bed_right_occupied" /> + inkscape:label="binary_sensor.white_bed_occupied" /> + inkscape:label="binary_sensor.master_bed_left_occupied" /> - inkscape:label="light.front_porch_overhead" />