Huanyang GT with Modbus & ESPHome - Cant get it to work

I am trying to control my Huanyang GT Series with my HomeAssistant but I just keep getting errors…
I have a ESP32 and using ESPHome in HA. I can read the sensors but not activate (write) anything. First I just keep getting:

[01:12:49.245][D][number:033]: 'VFD Kommandofrekvens': Sending state 0.500000
[01:12:49.274][D][modbus:157]: Modbus error function code: 0x86 exception: 18
[01:12:49.276][E][modbus_controller:094]: Modbus error function code: 0x6 exception: 18
[01:12:49.277][E][modbus_controller:098]: Modbus error - last command: function code=0x6  register address = 0x2001  registers count=1 payload size=2

But now I changed my Yaml and now I am getting:

[02:52:44.591][D][number:033]: 'VFD Kommandofrekvens': Sending state 0.000000
[02:52:46.088][D][number:065]: 'VFD Kommandofrekvens': Setting value
[02:52:46.091][D][number:124]:   New value: 18.299999
[02:52:46.096][D][modbus.number:059]: Updating register: connected Sensor=VFD Kommandofrekvens start address=0x2000 register count=1 new value=18.30 (val=1829.00)
[02:52:46.098][D][number:033]: 'VFD Kommandofrekvens': Sending state 18.299999
[02:52:47.168][W][modbus_controller:027]: Modbus device=1 set offline
[02:52:47.170][D][modbus_controller:039]: Modbus command to device=1 register=0x2001 no response received - removed from send queue
[02:52:47.210][W][modbus_controller:065]: Modbus device=1 back online
[02:52:47.215][D][modbus_controller.sensor:025]: Sensor new state: 50.00

I understand that ESPHome is trying to send commands over register 2000 but my device wants it on 2001, is that correct?

I have tried to get this to work during sooo many hours now so someone please help me.

This is my Yaml:

esphome:
  name: esphome-web-db0d38
  friendly_name: ESPHome Web db0d38

esp32:
  variant: esp32
  framework:
    type: esp-idf

logger:
  level: DEBUG

api:

ota:
  platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: true
  power_save_mode: none

uart:
  id: rs485_uart
  tx_pin: 1
  rx_pin: 3
  baud_rate: 9600
  parity: NONE
  stop_bits: 1

modbus:
  uart_id: rs485_uart
  flow_control_pin: 17
  send_wait_time: 200ms

modbus_controller:
  id: vfd
  address: 1    # Modbus-adress (PC.00)
  update_interval: 2s

# ---------------- STYRNING ----------------
# Start/Stop på 0x2000
switch:
  - platform: modbus_controller
    id: vfd_start_switch
    modbus_controller_id: vfd
    name: "VFD Start"
    register_type: holding
    address: 0x2000
    bitmask: 0xFFFF
    use_write_multiple: true
    write_lambda: |-
      return x ? 1 : 0;  // 1 = start, 0 = stop

# Kommandofrekvens på 0x2001
number:
  - platform: modbus_controller
    id: vfd_freq_number
    modbus_controller_id: vfd
    name: "VFD Kommandofrekvens"
    register_type: holding
    address: 0x2001
    unit_of_measurement: Hz
    min_value: 0
    max_value: 50
    step: 0.1
    use_write_multiple: true
    write_lambda: |-
      return (uint16_t)(x * 100); // skickas som hundradels Hz

# ---------------- SENSORER ----------------
sensor:
  - platform: modbus_controller
    modbus_controller_id: vfd
    name: "VFD Aktuell Frekvens"
    unit_of_measurement: Hz
    address: 3
    register_type: holding
    value_type: U_WORD
    lambda: |-
      return x / 100.0;

  - platform: modbus_controller
    modbus_controller_id: vfd
    name: "VFD DC Bus Voltage"
    unit_of_measurement: V
    address: 4
    register_type: holding
    value_type: U_WORD

I just want it to be able to run my fan