Modbus Sensor Scaling Issue and Possible Solutions

Hey everyone, I’m trying to figure out how to get the normal value from my Modbus sensor without using an additional template sensor. Right now, my Modbus register contains an integer of temperature multiplied by 10. I can convert it using a template sensor, but I want to see if there’s a way to get the normal value directly from the Modbus sensor itself.

I’ve tried using the scale and data_type parameters, but it’s not working as expected. Here’s my current configuration:

yaml
modbus:
name: Z031
type: tcp
host: 192.168.1.200
port: 502
sensor:
- platform: modbus
scan_interval: 1
registers:
- name: _test_asis
hub: Z031
register: 30000
- name: _test_scale
hub: Z031
register: 30000
scale: 0.1
- name: _test_float
hub: Z031
register: 30000
data_type: float
- name: _test_float_and_scale
hub: Z031
register: 30000
data_type: float
scale: 0.1

The results I’m getting are 184, 18, 0, and 0, but I need it to show 18.4. Has anyone else encountered this issue or found a workaround? Any insights or suggestions would be greatly appreciated! :pray: