Govee Home Products / Dreamcolor LED strip

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.