modbus_controller:
  - id: ${rgb_id}
    address: ${rgb_address}
    modbus_id: modbus_bus
    update_interval: 1s
    command_throttle: 0ms

# ===================== Discrete Inputs (FC02) =====================
binary_sensor:
  - platform: modbus_controller
    modbus_controller_id: ${rgb_id}
    name: "${rgb_prefix} DI1"
    address: 1
    register_type: discrete_input

number:
  # -------- RGB Channels (0–255) --------
  - platform: modbus_controller
    name: "RGB621 Red"
    id: rgb621_red
    modbus_controller_id: ${rgb_id}
    address: 400
    register_type: holding
    value_type: U_WORD
    min_value: 0
    max_value: 255
    step: 1

  - platform: modbus_controller
    name: "RGB621 Green"
    id: rgb621_green
    modbus_controller_id: ${rgb_id}
    address: 401
    register_type: holding
    value_type: U_WORD
    min_value: 0
    max_value: 255
    step: 1

  - platform: modbus_controller
    name: "RGB621 Blue"
    id: rgb621_blue
    modbus_controller_id: ${rgb_id}
    address: 402
    register_type: holding
    value_type: U_WORD
    min_value: 0
    max_value: 255
    step: 1