Simple Thermostat - using card_mod and rgb values for target temp pulled from outside temp

Figured I would share an idea I had to use card_mod to change how Simple Thermostat looks and use the rgb background color from the outside temp (I have a rgb light that changes color based on the outside temp), which is a separate automation for those interested.

  • Mark
card_mod:
  style: >
    /* Extract RGB attributes with fallbacks if light is off/null */ 
    {% set rgb = state_attr('light.weather_light_lifx', 'rgb_color') or [255, 119, 0] %} 
    {% set r = rgb[0] %}  {% set g = rgb[1] %}  {% set b = rgb[2] %}

    /* 1. Global typography, scale, & card background overrides */ 
    ha-card {
      font-family: var(--primary-font-family, inherit) !important;
      color: var(--primary-text-color) !important;
      
      /* Map simple-thermostat CSS variables */
      --st-font-size-title: var(--ha-card-header-font-size, 1.7rem) !important;
      --st-font-size-xl: 1.7rem !important;
      --st-font-size-m: var(--paper-font-subhead_-_font-size, 0.9rem) !important;
      --st-font-size-sensors: var(--paper-font-caption_-_font-size, 2.0rem) !important;
      
      /* Force native layout dimensions */
      --st-mode-active-color: #ffffff !important;
      --st-mode-color: #ffffff !important;
      --st-spacing: 2px !important;
    }

    /* 2. Brute-force override all text elements, labels, and state values */
    ha-card * {
      font-family: var(--primary-font-family, inherit) !important;
    }

    /* 3. Force 'Currently', 'State', and row labels to HA standard caption size */
    ha-card .st-label, ha-card [class*="label"], ha-card td.name {
      font-size: var(--paper-font-caption_-_font-size, 1.1rem) !important;
      color: var(--secondary-text-color) !important;
    }

    /* 4. Force 'Currently', 'State', and sensor values to HA body text size */
    ha-card .st-value, ha-card
    [class*="value"]:not([class*="target"]):not([class*="current"]), ha-card
    .st-sensor__value {
      font-size: var(--paper-font-subhead_-_font-size, 1.10rem) !important;
      color: var(--primary-text-color) !important;
    }

    /* 5. TARGET TEMPERATURE SETPOINT NUMBER ONLY */
    ha-card .st-target-temperature, ha-card .st-target-value, ha-card .target_value,
    ha-card .current--target {
      font-size: 3.6rem !important;
      line-height: 3.6rem !important;
    }

    /* 6. EXTRA LARGE STEPPER BUTTONS & ARROWS */
    ha-card ha-icon-button,
    ha-card [class*="stepper"] ha-icon, ha-card [class*="stepper"]
    ha-icon-button, ha-card [class*="stepper"] {
      --mdc-icon-button-size: 64px !important;
      --mdc-icon-size: 3.2rem !important;
      margin: 4px 8px !important;
    }

    /* 7. COLOR THE COLUMNS DIFFERENTLY (RGB BOX) */

    /* COLUMN 1 (Odd items / Left side): Transparent */
    ha-card .st-body > *:nth-child(odd), ha-card .st-card-body > *:nth-child(odd), ha-card
    [class*="body"] > *:nth-child(odd) {
      border: none !important;
      background-color: transparent !important;
      padding: 4px !important;
    }

    /* COLUMN 2 (Right side): RGB background with extra padding */
    ha-card .st-body > *:nth-child(even), ha-card .st-card-body > *:nth-child(even),
    ha-card [class*="body"] > *:nth-child(even) {
      border: 3px solid rgba({{ r }}, {{ g }}, {{ b }}, 0.3) !important;
      background-color: rgba({{ r }}, {{ g }}, {{ b }}, 0.12) !important;
      
      padding: 10px 25px !important;
      border-radius: 14px !important;
      box-sizing: border-box !important;
      box-shadow: 0 0 12px rgba({{ r }}, {{ g }}, {{ b }}, 0.3) !important;

      width: fit-content !important;
      max-width: max-content !important;
      display: inline-flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      align-self: center !important;
      flex-grow: 0 !important;
    }

    /* 7B. APPEND THE SMALL "TARGET" LABEL INSIDE THE RGB BOX */
    ha-card .st-body > *:nth-child(even)::after, ha-card .st-card-body >
    *:nth-child(even)::after, ha-card [class*="body"] > *:nth-child(even)::after {
      content: "Target Temp";
      font-size: 0.9rem !important;
      line-height: normal !important;
      color: var(--secondary-text-color) !important;
      margin-top: -2px !important;
      font-weight: 500 !important;
      text-transform: capitalize !important;
    }

    /* 8. TARGET BODY ROWS & SENSOR SPACING SPECIFICALLY */

    /* A. Reduce vertical gap BETWEEN body rows */
    ha-card .st-body, ha-card .st-card-body, ha-card [class*="body"] {
      display: flex !important;
      flex-direction: column !important;
      gap: 11px !important;
      padding-top: 0px !important;
      padding-bottom: 0px !important;
    }

    /* B. Center row content & reduce horizontal space */
    ha-card .st-card-row, ha-card st-card-row, ha-card .st-sensors-grid {
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      gap: 16px !important;
      margin-top: 1px !important;
      margin-bottom: 1px !important;
    }

    /* C. Reduce spacing inside individual sensor pills/items */
    ha-card .st-sensors, ha-card st-card-sensors {
      gap: 4px !important;
      margin-top: 2px !important;
    }

    ha-card .st-sensor {
      gap: 4px !important;
      padding: 0 !important;
      margin: 0 !important;
    }

    /* 9. SHRINK PRESET & HVAC MODE CONTAINER BOXES & COLUMNS */
    
    /* Force grid container heights down */
    ha-card .st-module__mode,
    ha-card .st-module__preset,
    ha-card .st-modes {
      grid-auto-rows: minmax(28px, auto) !important;
      grid-template-rows: repeat(auto-fill, minmax(28px, 1fr)) !important;
      gap: 4px !important;
    }

    /* Force button host containers to shrink height & width */
    ha-card .st-module__mode *,
    ha-card .st-module__preset *,
    ha-card .st-modes * {
      min-height: 28px !important;
      max-height: 28px !important;
    }

    /* Adjust button padding, heights, and border radius */
    ha-card st-ha-card-button,
    ha-card .st-mode-item,
    ha-card [class*="mode"] button,
    ha-card [class*="preset"] button {
      min-height: 28px !important;
      height: 28px !important;
      padding: 0px 6px !important;
      border-radius: 6px !important;
      box-sizing: border-box !important;
    }

    /* Font & Icon styling inside mode buttons */
    ha-card .st-module__mode *, ha-card .mode-item *, ha-card [class*="mode"] button *,
    ha-card .st-modes button * {
      color: #ffffff !important;
      --paper-item-icon-color: #ffffff !important;
      font-size: 0.75rem !important;
    }

    /* 10. OVERRIDE 'NONE' PRESET ACTIVE BACKGROUND COLOR */
    ha-card .st-module__preset, ha-card [class*="preset"] {
      --st-mode-active-background: rgba(255, 255, 255, 0.12) !important;
    }

    ha-card .st-module__preset button:first-child, ha-card [class*="preset"]
    button:first-child, ha-card button.st-mode--none, ha-card
    button[data-mode="none"] {
      background-color: rgba(255, 255, 255, 0.12) !important;
      background: rgba(255, 255, 255, 0.12) !important;
    }

Here is the rgb weather light automation:

- id: Outside_Temp_Color_Change
  alias: Outside Temp Color Change
  trigger:
  - platform: state
    entity_id: sensor.outdoor_temperature
  action:
  - action: light.turn_on
    entity_id: light.weather_light_lifx
    data_template:
      rgb_color:
      - '{% if states.sensor.outdoor_temperature.state | int <= 0 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 1 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        2 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 3 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 4 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 5 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 6 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        7 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 8 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 9 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 10 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 11 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        12 %} 245 {% elif states.sensor.outdoor_temperature.state | int == 13 %} 235
        {% elif states.sensor.outdoor_temperature.state | int == 14 %} 224 {% elif
        states.sensor.outdoor_temperature.state | int == 15 %} 214 {% elif states.sensor.outdoor_temperature.state
        | int == 16 %} 207 {% elif states.sensor.outdoor_temperature.state | int ==
        17 %} 198 {% elif states.sensor.outdoor_temperature.state | int == 18 %} 186
        {% elif states.sensor.outdoor_temperature.state | int == 19 %} 175 {% elif
        states.sensor.outdoor_temperature.state | int == 20 %} 167 {% elif states.sensor.outdoor_temperature.state
        | int == 21 %} 157 {% elif states.sensor.outdoor_temperature.state | int ==
        22 %} 140 {% elif states.sensor.outdoor_temperature.state | int == 23 %} 123
        {% elif states.sensor.outdoor_temperature.state | int == 24 %} 111 {% elif
        states.sensor.outdoor_temperature.state | int == 25 %} 93 {% elif states.sensor.outdoor_temperature.state
        | int == 26 %} 76 {% elif states.sensor.outdoor_temperature.state | int ==
        27 %} 64 {% elif states.sensor.outdoor_temperature.state | int == 28 %} 47
        {% elif states.sensor.outdoor_temperature.state | int == 29 %} 30 {% elif
        states.sensor.outdoor_temperature.state | int == 30 %} 17 {% elif states.sensor.outdoor_temperature.state
        | int == 31 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        32 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 33 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 34 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 35 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        36 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 37 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 38 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 39 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        40 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 41 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 42 %} 5 {% elif states.sensor.outdoor_temperature.state
        | int == 43 %} 10 {% elif states.sensor.outdoor_temperature.state | int ==
        44 %} 15 {% elif states.sensor.outdoor_temperature.state | int == 45 %} 20
        {% elif states.sensor.outdoor_temperature.state | int == 46 %} 26 {% elif
        states.sensor.outdoor_temperature.state | int == 47 %} 31 {% elif states.sensor.outdoor_temperature.state
        | int == 48 %} 36 {% elif states.sensor.outdoor_temperature.state | int ==
        49 %} 41 {% elif states.sensor.outdoor_temperature.state | int == 50 %} 46
        {% elif states.sensor.outdoor_temperature.state | int == 51 %} 51 {% elif
        states.sensor.outdoor_temperature.state | int == 52 %} 61 {% elif states.sensor.outdoor_temperature.state
        | int == 53 %} 66 {% elif states.sensor.outdoor_temperature.state | int ==
        54 %} 75 {% elif states.sensor.outdoor_temperature.state | int == 55 %} 88
        {% elif states.sensor.outdoor_temperature.state | int == 56 %} 96 {% elif
        states.sensor.outdoor_temperature.state | int == 57 %} 106 {% elif states.sensor.outdoor_temperature.state
        | int == 58 %} 112 {% elif states.sensor.outdoor_temperature.state | int ==
        59 %} 122 {% elif states.sensor.outdoor_temperature.state | int == 60 %} 132
        {% elif states.sensor.outdoor_temperature.state | int == 61 %} 140 {% elif
        states.sensor.outdoor_temperature.state | int == 62 %} 153 {% elif states.sensor.outdoor_temperature.state
        | int == 63 %} 162 {% elif states.sensor.outdoor_temperature.state | int ==
        64 %} 174 {% elif states.sensor.outdoor_temperature.state | int == 65 %} 187
        {% elif states.sensor.outdoor_temperature.state | int == 66 %} 195 {% elif
        states.sensor.outdoor_temperature.state | int == 67 %} 208 {% elif states.sensor.outdoor_temperature.state
        | int == 68 %} 221 {% elif states.sensor.outdoor_temperature.state | int ==
        69 %} 234 {% elif states.sensor.outdoor_temperature.state | int == 70 %} 242
        {% elif states.sensor.outdoor_temperature.state | int == 71 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 72 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 73 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        74 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 75 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 76 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 77 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 78 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        79 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 80 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 81 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 82 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 83 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        84 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 85 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 86 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 87 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 88 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        89 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 90 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 91 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 92 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 93 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        94 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 95 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 96 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 97 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 98 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        99 %} 255 {% elif states.sensor.outdoor_temperature.state | int >= 100 %}
        255 {% else %} 43 {% endif %}

        '
      - '{% if states.sensor.outdoor_temperature.state | int <= 0 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 1 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        2 %} 232 {% elif states.sensor.outdoor_temperature.state | int == 3 %} 209
        {% elif states.sensor.outdoor_temperature.state | int == 4 %} 184 {% elif
        states.sensor.outdoor_temperature.state | int == 5 %} 161 {% elif states.sensor.outdoor_temperature.state
        | int == 6 %} 138 {% elif states.sensor.outdoor_temperature.state | int ==
        7 %} 115 {% elif states.sensor.outdoor_temperature.state | int == 8 %} 89
        {% elif states.sensor.outdoor_temperature.state | int == 9 %} 66 {% elif states.sensor.outdoor_temperature.state
        | int == 10 %} 43 {% elif states.sensor.outdoor_temperature.state | int ==
        11 %} 20 {% elif states.sensor.outdoor_temperature.state | int == 12 %} 18
        {% elif states.sensor.outdoor_temperature.state | int == 13 %} 15 {% elif
        states.sensor.outdoor_temperature.state | int == 14 %} 13 {% elif states.sensor.outdoor_temperature.state
        | int == 15 %} 13 {% elif states.sensor.outdoor_temperature.state | int ==
        16 %} 10 {% elif states.sensor.outdoor_temperature.state | int == 17 %} 8
        {% elif states.sensor.outdoor_temperature.state | int == 18 %} 5 {% elif states.sensor.outdoor_temperature.state
        | int == 19 %} 3 {% elif states.sensor.outdoor_temperature.state | int ==
        20 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 21 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 22 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 23 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        24 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 25 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 26 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 27 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        28 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 29 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 30 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 31 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        32 %} 25 {% elif states.sensor.outdoor_temperature.state | int == 33 %} 50
        {% elif states.sensor.outdoor_temperature.state | int == 34 %} 75 {% elif
        states.sensor.outdoor_temperature.state | int == 35 %} 103 {% elif states.sensor.outdoor_temperature.state
        | int == 36 %} 126 {% elif states.sensor.outdoor_temperature.state | int ==
        37 %} 155 {% elif states.sensor.outdoor_temperature.state | int == 38 %} 178
        {% elif states.sensor.outdoor_temperature.state | int == 39 %} 206 {% elif
        states.sensor.outdoor_temperature.state | int == 40 %} 228 {% elif states.sensor.outdoor_temperature.state
        | int == 41 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        42 %} 250 {% elif states.sensor.outdoor_temperature.state | int == 43 %} 245
        {% elif states.sensor.outdoor_temperature.state | int == 44 %} 242 {% elif
        states.sensor.outdoor_temperature.state | int == 45 %} 237 {% elif states.sensor.outdoor_temperature.state
        | int == 46 %} 232 {% elif states.sensor.outdoor_temperature.state | int ==
        47 %} 227 {% elif states.sensor.outdoor_temperature.state | int == 48 %} 222
        {% elif states.sensor.outdoor_temperature.state | int == 49 %} 219 {% elif
        states.sensor.outdoor_temperature.state | int == 50 %} 214 {% elif states.sensor.outdoor_temperature.state
        | int == 51 %} 209 {% elif states.sensor.outdoor_temperature.state | int ==
        52 %} 214 {% elif states.sensor.outdoor_temperature.state | int == 53 %} 219
        {% elif states.sensor.outdoor_temperature.state | int == 54 %} 222 {% elif
        states.sensor.outdoor_temperature.state | int == 55 %} 227 {% elif states.sensor.outdoor_temperature.state
        | int == 56 %} 232 {% elif states.sensor.outdoor_temperature.state | int ==
        57 %} 237 {% elif states.sensor.outdoor_temperature.state | int == 58 %} 242
        {% elif states.sensor.outdoor_temperature.state | int == 59 %} 245 {% elif
        states.sensor.outdoor_temperature.state | int == 60 %} 250 {% elif states.sensor.outdoor_temperature.state
        | int == 61 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        62 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 63 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 64 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 65 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 66 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        67 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 68 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 69 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 70 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 71 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        72 %} 247 {% elif states.sensor.outdoor_temperature.state | int == 73 %} 238
        {% elif states.sensor.outdoor_temperature.state | int == 74 %} 230 {% elif
        states.sensor.outdoor_temperature.state | int == 75 %} 221 {% elif states.sensor.outdoor_temperature.state
        | int == 76 %} 213 {% elif states.sensor.outdoor_temperature.state | int ==
        77 %} 204 {% elif states.sensor.outdoor_temperature.state | int == 78 %} 200
        {% elif states.sensor.outdoor_temperature.state | int == 79 %} 191 {% elif
        states.sensor.outdoor_temperature.state | int == 80 %} 183 {% elif states.sensor.outdoor_temperature.state
        | int == 81 %} 174 {% elif states.sensor.outdoor_temperature.state | int ==
        82 %} 162 {% elif states.sensor.outdoor_temperature.state | int == 83 %} 149
        {% elif states.sensor.outdoor_temperature.state | int == 84 %} 136 {% elif
        states.sensor.outdoor_temperature.state | int == 85 %} 119 {% elif states.sensor.outdoor_temperature.state
        | int == 86 %} 106 {% elif states.sensor.outdoor_temperature.state | int ==
        87 %} 94 {% elif states.sensor.outdoor_temperature.state | int == 88 %} 81
        {% elif states.sensor.outdoor_temperature.state | int == 89 %} 68 {% elif
        states.sensor.outdoor_temperature.state | int == 90 %} 55 {% elif states.sensor.outdoor_temperature.state
        | int == 91 %} 43 {% elif states.sensor.outdoor_temperature.state | int ==
        92 %} 38 {% elif states.sensor.outdoor_temperature.state | int == 93 %} 34
        {% elif states.sensor.outdoor_temperature.state | int == 94 %} 30 {% elif
        states.sensor.outdoor_temperature.state | int == 95 %} 21 {% elif states.sensor.outdoor_temperature.state
        | int == 96 %} 17 {% elif states.sensor.outdoor_temperature.state | int ==
        97 %} 13 {% elif states.sensor.outdoor_temperature.state | int == 98 %} 9
        {% elif states.sensor.outdoor_temperature.state | int == 99 %} 4 {% elif states.sensor.outdoor_temperature.state
        | int >= 100 %} 0 {% else %} 255 {% endif %}

        '
      - '{% if states.sensor.outdoor_temperature.state | int <= 0 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 1 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        2 %} 244 {% elif states.sensor.outdoor_temperature.state | int == 3 %} 234
        {% elif states.sensor.outdoor_temperature.state | int == 4 %} 222 {% elif
        states.sensor.outdoor_temperature.state | int == 5 %} 211 {% elif states.sensor.outdoor_temperature.state
        | int == 6 %} 202 {% elif states.sensor.outdoor_temperature.state | int ==
        7 %} 190 {% elif states.sensor.outdoor_temperature.state | int == 8 %} 178
        {% elif states.sensor.outdoor_temperature.state | int == 9 %} 167 {% elif
        states.sensor.outdoor_temperature.state | int == 10 %} 156 {% elif states.sensor.outdoor_temperature.state
        | int == 11 %} 146 {% elif states.sensor.outdoor_temperature.state | int ==
        12 %} 158 {% elif states.sensor.outdoor_temperature.state | int == 13 %} 169
        {% elif states.sensor.outdoor_temperature.state | int == 14 %} 179 {% elif
        states.sensor.outdoor_temperature.state | int == 15 %} 191 {% elif states.sensor.outdoor_temperature.state
        | int == 16 %} 200 {% elif states.sensor.outdoor_temperature.state | int ==
        17 %} 212 {% elif states.sensor.outdoor_temperature.state | int == 18 %} 222
        {% elif states.sensor.outdoor_temperature.state | int == 19 %} 232 {% elif
        states.sensor.outdoor_temperature.state | int == 20 %} 245 {% elif states.sensor.outdoor_temperature.state
        | int == 21 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        22 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 23 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 24 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 25 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 26 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        27 %} 255 {% elif states.sensor.outdoor_temperature.state | int == 28 %} 255
        {% elif states.sensor.outdoor_temperature.state | int == 29 %} 255 {% elif
        states.sensor.outdoor_temperature.state | int == 30 %} 255 {% elif states.sensor.outdoor_temperature.state
        | int == 31 %} 255 {% elif states.sensor.outdoor_temperature.state | int ==
        32 %} 252 {% elif states.sensor.outdoor_temperature.state | int == 33 %} 250
        {% elif states.sensor.outdoor_temperature.state | int == 34 %} 250 {% elif
        states.sensor.outdoor_temperature.state | int == 35 %} 247 {% elif states.sensor.outdoor_temperature.state
        | int == 36 %} 245 {% elif states.sensor.outdoor_temperature.state | int ==
        37 %} 245 {% elif states.sensor.outdoor_temperature.state | int == 38 %} 242
        {% elif states.sensor.outdoor_temperature.state | int == 39 %} 242 {% elif
        states.sensor.outdoor_temperature.state | int == 40 %} 240 {% elif states.sensor.outdoor_temperature.state
        | int == 41 %} 238 {% elif states.sensor.outdoor_temperature.state | int ==
        42 %} 217 {% elif states.sensor.outdoor_temperature.state | int == 43 %} 198
        {% elif states.sensor.outdoor_temperature.state | int == 44 %} 182 {% elif
        states.sensor.outdoor_temperature.state | int == 45 %} 161 {% elif states.sensor.outdoor_temperature.state
        | int == 46 %} 143 {% elif states.sensor.outdoor_temperature.state | int ==
        47 %} 122 {% elif states.sensor.outdoor_temperature.state | int == 48 %} 101
        {% elif states.sensor.outdoor_temperature.state | int == 49 %} 83 {% elif
        states.sensor.outdoor_temperature.state | int == 50 %} 66 {% elif states.sensor.outdoor_temperature.state
        | int == 51 %} 46 {% elif states.sensor.outdoor_temperature.state | int ==
        52 %} 41 {% elif states.sensor.outdoor_temperature.state | int == 53 %} 36
        {% elif states.sensor.outdoor_temperature.state | int == 54 %} 31 {% elif
        states.sensor.outdoor_temperature.state | int == 55 %} 28 {% elif states.sensor.outdoor_temperature.state
        | int == 56 %} 23 {% elif states.sensor.outdoor_temperature.state | int ==
        57 %} 18 {% elif states.sensor.outdoor_temperature.state | int == 58 %} 13
        {% elif states.sensor.outdoor_temperature.state | int == 59 %} 8 {% elif states.sensor.outdoor_temperature.state
        | int == 60 %} 5 {% elif states.sensor.outdoor_temperature.state | int ==
        61 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 62 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 63 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 64 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        65 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 66 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 67 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 68 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        69 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 70 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 71 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 72 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        73 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 74 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 75 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 76 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        77 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 78 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 79 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 80 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        81 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 82 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 83 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 84 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        85 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 86 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 87 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 88 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        89 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 90 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 91 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 92 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        93 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 94 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 95 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int == 96 %} 0 {% elif states.sensor.outdoor_temperature.state | int ==
        97 %} 0 {% elif states.sensor.outdoor_temperature.state | int == 98 %} 0 {%
        elif states.sensor.outdoor_temperature.state | int == 99 %} 0 {% elif states.sensor.outdoor_temperature.state
        | int >= 100 %} 0 {% else %} 113 {% endif %}

        '