Finally finished the “Weather Outdoor Temperature Light - Automation”. The complete rgb color spectrum for the temperatures (in degrees F) are here:
Converted the HTML colors to rgb_colors here: https://www.w3schools.com/colors/colors_hwb.asp
- id: Outside_Temp_Color_Change
alias: 'Outside Temp Color Change'
initial_state: 'off'
trigger:
platform: state
entity_id: sensor.outdoor_temperature
action:
service: light.turn_on
entity_id: light.marks_office_light
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 %}