It is very sloppy code but sure
Light Template: Package
input_boolean:
govee_strip:
input_number:
govee_strip:
min: 0
max: 255
govee_temperature_input:
min: 0
max: 500
govee_h_input:
min: 0
max: 360
govee_s_input:
min: 0
max: 360
light:
- platform: template
lights:
govee_strip:
friendly_name: "Govee Strip"
turn_on:
service: input_boolean.turn_on
entity_id: input_boolean.govee_strip
turn_off:
service: input_boolean.turn_off
entity_id: input_boolean.govee_strip
set_level:
service: input_number.set_value
data_template:
value: "{{ brightness }}"
entity_id: input_number.govee_strip
temperature_template: "{{states('input_number.govee_temperature_input') | int}}"
set_temperature:
service: input_number.set_value
data_template:
value: "{{ color_temp }}"
entity_id: input_number.govee_temperature_input
color_template: "({{states('input_number.govee_h_input') | int}}, {{states('input_number.govee_s_input') | int}})"
set_color:
- service: input_number.set_value
data_template:
value: "{{ h }}"
entity_id: input_number.govee_h_input
- service: input_number.set_value
data_template:
value: "{{ s }}"
entity_id: input_number.govee_s_input
Node Red:
[{"id":"6417e853.f90a58","type":"tab","label":"Govee Strip","disabled":false,"info":""},{"id":"b38dab15.6f7ea8","type":"server-events","z":"6417e853.f90a58","name":"Govee Light Strip","server":"60a5cb09.83c6b4","event_type":"call_service","exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"x":100,"y":220,"wires":[["b3614dc6.0c609"]]},{"id":"b3614dc6.0c609","type":"switch","z":"6417e853.f90a58","name":"Govee Light","property":"payload.event.service_data.entity_id","propertyType":"msg","rules":[{"t":"eq","v":"light.govee_strip","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":270,"y":220,"wires":[["af7901cf.990f3"]]},{"id":"af7901cf.990f3","type":"switch","z":"6417e853.f90a58","name":"Off / On","property":"payload.event.service","propertyType":"msg","rules":[{"t":"eq","v":"turn_off","vt":"str"},{"t":"eq","v":"turn_on","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":420,"y":220,"wires":[["c7322a8f.e8bdb8"],["6a9957eb.61da08"]]},{"id":"c7322a8f.e8bdb8","type":"alexa-remote-smarthome","z":"6417e853.f90a58","name":"Turn Off Desk Light","account":"c48d6174.f6e8c","config":{"option":"action","value":[{"entity":"16c5f063-98e3-4462-98e7-5ed52790bbeb","action":"turnOff"}]},"outputs":1,"x":610,"y":180,"wires":[[]]},{"id":"9f7ab290.d1045","type":"alexa-remote-smarthome","z":"6417e853.f90a58","name":"Desk Brightness","account":"c48d6174.f6e8c","config":{"option":"action","value":[{"entity":"16c5f063-98e3-4462-98e7-5ed52790bbeb","action":"setBrightness","value":{"type":"msg","value":"payload.event.service_data.brightness"}}]},"outputs":1,"x":800,"y":220,"wires":[[]]},{"id":"6a9957eb.61da08","type":"function","z":"6417e853.f90a58","name":"Light Function","func":"if (typeof msg.payload.event.service_data.brightness != \"undefined\" && typeof msg.payload.event.service_data.hs_color != \"undefined\") {\n var brightness = msg.payload.event.service_data.brightness;\n var percent = ((brightness * 100) / 255);\n \n msg.payload.event.service_data.brightness = percent;\n\n return [msg, msg, null, null];\n} else if (typeof msg.payload.event.service_data.brightness != \"undefined\" && typeof msg.payload.event.service_data.color_temp != \"undefined\") {\n var colors_numbers = [150, 222, 278, 361, 433];\n var color_names = [\"Cool\", \"Daylight\", \"White\", \"Soft\", \"Warm\"];\n var color = msg.payload.event.service_data.color_temp;\n var newmsg = {};\n\n var brightness = msg.payload.event.service_data.brightness;\n newmsg.payload.brightness = ((brightness * 100) / 255);\n \n if (color >= colors_numbers[0] && color < colors_numbers[1]) {\n newmsg.payload.color = color_names[0];\n } else if (color >= colors_numbers[1] && color < colors_numbers[2]) {\n newmsg.payload.color = color_names[1];\n } else if (color >= colors_numbers[2] && color < colors_numbers[3]) {\n newmsg.payload.color = color_names[2];\n } else if (color >= colors_numbers[3] && color < colors_numbers[4]) {\n newmsg.payload.color = color_names[3];\n } else if (color >= colors_numbers[4] && color <= 500) {\n newmsg.payload.color = color_names[4];\n }\n \n return [newmsg, null, newmsg, null];\n} else if (typeof msg.payload.event.service_data.brightness != \"undefined\") {\n var brightness = msg.payload.event.service_data.brightness;\n var percent = ((brightness * 100) / 255);\n \n msg.payload.event.service_data.brightness = percent;\n \n return [msg, null, null, null];\n} else if (typeof msg.payload.event.service_data.hs_color != \"undefined\") {\n return [null, msg, null, null];\n} else if (typeof msg.payload.event.service_data.color_temp != \"undefined\") {\n var colors_numbers = [150, 222, 278, 361, 433];\n var color_names = [\"Cool\", \"Daylight\", \"White\", \"Soft\", \"Warm\"];\n var color = msg.payload.event.service_data.color_temp;\n var newmsg = {};\n \n if (color >= colors_numbers[0] && color < colors_numbers[1]) {\n newmsg.payload.color = color_names[0];\n } else if (color >= colors_numbers[1] && color < colors_numbers[2]) {\n newmsg.payload.color = color_names[1];\n } else if (color >= colors_numbers[2] && color < colors_numbers[3]) {\n newmsg.payload.color = color_names[2];\n } else if (color >= colors_numbers[3] && color < colors_numbers[4]) {\n newmsg.payload.color = color_names[3];\n } else if (color >= colors_numbers[4] && color <= 500) {\n newmsg.payload.color = color_names[4];\n }\n \n return [null, null, newmsg, null];\n}\n\n\nreturn [null, null, null, msg];","outputs":4,"noerr":0,"x":600,"y":280,"wires":[["9f7ab290.d1045"],["ab8a5f76.da31"],["8310ed00.d6e71"],["74269dd7.a9c334"]]},{"id":"f0a449f8.0690f8","type":"color-convert","z":"6417e853.f90a58","input":"hsl","output":"css","outputType":"string","scaleInput":false,"x":970,"y":260,"wires":[["ecdbf6f3.6838d8"]]},{"id":"ab8a5f76.da31","type":"change","z":"6417e853.f90a58","name":"","rules":[{"t":"set","p":"payload.hue","pt":"msg","to":"payload.event.service_data.hs_color[0]","tot":"msg"},{"t":"set","p":"payload.saturation","pt":"msg","to":"payload.event.service_data.hs_color[1]","tot":"msg"},{"t":"set","p":"payload.lightness","pt":"msg","to":"50","tot":"num"},{"t":"delete","p":"payload.event_type","pt":"msg"},{"t":"delete","p":"payload.event","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":260,"wires":[["f0a449f8.0690f8"]]},{"id":"ecdbf6f3.6838d8","type":"alexa-remote-smarthome","z":"6417e853.f90a58","name":"Desk Color","account":"c48d6174.f6e8c","config":{"option":"action","value":[{"entity":"16c5f063-98e3-4462-98e7-5ed52790bbeb","action":"setColor","value":{"type":"msg","value":"payload"}}]},"outputs":1,"x":1130,"y":260,"wires":[[]]},{"id":"8310ed00.d6e71","type":"alexa-remote-smarthome","z":"6417e853.f90a58","name":"Desk Color Temperature","account":"c48d6174.f6e8c","config":{"option":"action","value":[{"entity":"16c5f063-98e3-4462-98e7-5ed52790bbeb","action":"setColorTemperature","value":{"type":"msg","value":"payload.color"}}]},"outputs":1,"x":830,"y":300,"wires":[[]]},{"id":"74269dd7.a9c334","type":"alexa-remote-smarthome","z":"6417e853.f90a58","name":"Desk Turn On","account":"c48d6174.f6e8c","config":{"option":"action","value":[{"entity":"16c5f063-98e3-4462-98e7-5ed52790bbeb","action":"turnOn"}]},"outputs":1,"x":800,"y":340,"wires":[[]]},{"id":"60a5cb09.83c6b4","type":"server","z":"","name":"Home Assistant","legacy":false,"hassio":false,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true},{"id":"c48d6174.f6e8c","type":"alexa-remote-account","z":"","name":"Main","authMethod":"proxy","proxyOwnIp":"192.168.1.39","proxyPort":"3456","cookieFile":"","refreshInterval":"3","alexaServiceHost":"pitangui.amazon.com","amazonPage":"amazon.com","acceptLanguage":"en-US","userAgent":"","useWsMqtt":"on","autoInit":"on"}]
Keep in mind you will need to replace the template light.py with the one in the pull request since his PR is not live yet.