Help requested on modbus configuration

Hi,

I’ve got ha 2022.6.7 running in a venv. So no container or hassos. I’m trying to talk to modbus but I don’t see a device/switch in Home Assistant. I might be skipping a step or so.
I can talk to modbus with mbpoll from the command line and my heat pump reacts to it (from the command line) as expected so the base setup/wiring is correct and functional.

Below is the relevant part of my configuration. With this in place, restart home-assistant.service, I don’t find anithing modbus*, Airco* airco, … in Home Assistant in devices.

root@stats:~# grep include /home/homeassistant/.homeassistant/configuration.yaml 
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
modbus: !include modbus.yaml
root@stats:~# ls -lah /home/homeassistant/.homeassistant/modbus.yaml 
-rw-r--r-- 1 homeassistant homeassistant 608 Jul  9 20:45 /home/homeassistant/.homeassistant/modbus.yaml
root@stats:~# cat /home/homeassistant/.homeassistant/modbus.yaml 




- name: modbusairco
  type: serial
  baudrate: 9600
  bytesize: 8
  method: rtu
  parity: N
  port: /dev/ttyUSB2
  stopbits: 1
  message_wait_milliseconds: 5000  
  retries: 20
  retry_on_empty: true
  close_comm_on_error: false
  climates:
    - name: "Airco-Living"
      slave: 2
      address: 58  # current temperature
      input_type: holding
      count: 1
      data_type: custom
      max_temp: 30
      min_temp: 16
      offset: 0
      precision: 2
      scale: 4
        #structure: ">f"
      structure: ">xxH"
      target_temp_register: 4
      temp_step: 0.5
      temperature_unit: C

root@stats:~# 

Maybe a bit more info, when click “Check configuration” in the web GUI, I get this:

Invalid config for [modbus]: Structure request 4 bytes, but 1 registers have a size of 2 bytes @ data['modbus'][0]['climates'][0]. Got OrderedDict([('name', 'Airco-Living'), ('slave', 2), ('address', 58), ('input_type', 'holding'), ('count', 1), ('data_type', 'custom'), ('max_temp', 30), ('min_temp', 16), ('offset', 0), ('precision', 2), ('scale', 4), ('structure', '>f'), ('target_temp_register', 4), ('temp_step', 0.5), ('temperature_unit', 'C'), ('scan_interval', 15)]). (See /home/homeassistant/.homeassistant/configuration.yaml, line 12).

Line 12 is: scene: !include scenes.yml
Line 13 is: modbus: !include modbus.yml

And this from the command line works:
mbpoll -q -1 -a 1 -b 9600 -t 4 -r 3 /dev/ttyUSB2 1 # Turn airco off

Now I got rid of the error with the config below, but still I don’t see any Airco-Living device

root@stats:~# cat /home/homeassistant/.homeassistant/modbus.yaml
---
- name: modbusairco
  type: serial
  baudrate: 9600
  bytesize: 8
  method: rtu
  port: /dev/ttyUSB2
  stopbits: 1
  parity: N
  timeout: 30
  delay: 20
  retry_on_empty: true
  close_comm_on_error: false
  climates:
    - name: "Airco-Living"
      slave: 2
      address: 57  # current temperature
      input_type: holding
      count: 1
      data_type: float16
      max_temp: 30
      min_temp: 16
      offset: 0
      precision: 2
      scale: 4
      target_temp_register: 4
      temp_step: 0.5
      temperature_unit: C

Is there anyone that can help on this?