Tuya Knob as remote for GLEDOPTO GL-C-008P controlled LED. Help to improve MQTT payloads

I’ve set up an automation for all the actions that my TUYA knob is capable of doing, and I want to use it to control a GLEDOPTO GL-C-008P controlled LED.

LED driver specs and supported here: Gledopto GL-C-008P control via MQTT | Zigbee2MQTT

My aim is to try and be able to control all options of the LED by using just the knob. The automation already includes all actions allowed by the knob. Most of the problem lies with the colour itself (not white range). The driver allows using XY or HSL to input. But as I only have 1 set of rotation actions available, I cannot control 2 variables.

So all I thought was to keep saturation at 100, and let that rotation control the Hue. But that payload "color": {"hsl": ",100,"} doesn’t seem to be accepted as it triggers an error Invalid color mode 'hs' received for entity light.bed_led. Not sure if there’s a way for me to ensure Saturation gets set at 100 all the time while setting colours.

Automation attached.

alias: Remote - Bed led knob
description: ""
triggers:
  - topic: zigbee2mqtt/Living room knob
    trigger: mqtt
actions:
  - variables:
      platform: "{{ trigger.platform }}"
      payload: "{{ trigger.payload_json.action }}"
      size: "{{ trigger.payload_json.action_step_size }}"
  - choose:
      - conditions:
          - "{{ platform == 'mqtt' and payload == 'single' }}"
        sequence:
          - action: light.toggle
            metadata: {}
            data:
              brightness_pct: 20
            target:
              entity_id: light.bed_led
      - conditions:
          - condition: template
            value_template: "{{ platform == 'mqtt' and payload == 'double' }}"
        sequence: []
      - conditions:
          - condition: template
            value_template: "{{ platform == 'mqtt' and payload == 'hold' }}"
        sequence: []
      - conditions:
          - condition: template
            value_template: "{{ platform == 'mqtt' and payload == 'rotate_left' }}"
        sequence:
          - data:
              topic: zigbee2mqtt/Bed LED/set
              payload: |
                {"hue_step": -20, "transition": 0.1, "color": {"hsl": ",100,"} }
            action: mqtt.publish
      - conditions:
          - condition: template
            value_template: "{{ platform == 'mqtt' and payload == 'rotate_right' }}"
        sequence:
          - data:
              topic: zigbee2mqtt/Bed LED/set
              payload: |
                {"hue_step": 20, "transition": 0.1, "color": {"hsl": ",100,"} }
            action: mqtt.publish
      - conditions:
          - condition: template
            value_template: "{{ platform == 'mqtt' and payload == 'toggle' }}"
        sequence:
          - action: light.toggle
            metadata: {}
            data:
              brightness_pct: 20
            target:
              entity_id: light.bed_led
      - conditions:
          - condition: template
            value_template: "{{ platform == 'mqtt' and payload == 'hue_move' }}"
        sequence: []
      - conditions:
          - condition: template
            value_template: "{{ platform == 'mqtt' and payload == 'hue_stop' }}"
        sequence: []
      - conditions:
          - condition: template
            value_template: "{{ platform == 'mqtt' and payload == 'brightness_step_down' }}"
        sequence:
          - data:
              topic: zigbee2mqtt/Bed LED/set
              payload: >
                {"brightness_step_onoff": -{{( size *
                1)|round}},"transition":0.1 }
            action: mqtt.publish
      - conditions:
          - condition: template
            value_template: "{{ platform == 'mqtt' and payload == 'brightness_step_up' }}"
        sequence:
          - data:
              topic: zigbee2mqtt/Bed LED/set
              payload: >
                {"brightness_step_onoff": {{( size *
                1)|round}},"transition":0.1}
            action: mqtt.publish
      - conditions:
          - condition: template
            value_template: >-
              {{ platform == 'mqtt' and payload == 'color_temperature_step_down'
              }}
        sequence:
          - data:
              topic: zigbee2mqtt/Bed LED/set
              payload: |
                {"color_temp_step": -{{( size * 1)|round}},"transition":0.1 }
            action: mqtt.publish
      - conditions:
          - condition: template
            value_template: >-
              {{ platform == 'mqtt' and payload == 'color_temperature_step_up'
              }}
        sequence:
          - data:
              topic: zigbee2mqtt/Bed LED/set
              payload: |
                {"color_temp_step": {{( size * 1)|round}},"transition":0.1 }
            action: mqtt.publish
      - conditions:
          - condition: template
            value_template: "{{ platform == 'state' and payload == 'command' }}"
        sequence: []
      - conditions:
          - condition: template
            value_template: "{{ platform == 'state' and payload == 'event' }}"
        sequence: []
mode: parallel
max_exceeded: silent
trigger_variables:
  mqtt_entity: Living room knob
  base_topic: zigbee2mqtt
max: 10

For reference:
The knob has 2 modes. Event and Command.

Event includes:
Single, Double, Hold, Rotate left, Rotate right.

Command includes (all commands are used and working fine in the automation):
Toggle, Hue move (not practical/reliable), Hue stop (not practical/reliable), Brightness step down, Brightness step up, Color temp up (push+rotate), Color temp down (push+rotate).