Aqotec RM360 over Modbus, Part 1: Read-Only Home Assistant Sensors
A safe read-only Home Assistant Modbus setup for an Aqotec RM360 district-heating controller, with short English sensor names.
This is the first part of a short “zero to hero” series for connecting an Aqotec RM360 heating controller to Home Assistant via Modbus TCP.
The goal in this part is intentionally boring: read values only, name them clearly, and avoid writing to the controller.
Layout
In configuration.yaml I keep the Modbus setup in its own file:
modbus: !include modbus.yaml
That means modbus.yaml must start directly with the hub list. Do not add another top-level modbus: key inside that file.
A compact modbus.yaml
The names below are English and intentionally short. They are easier to use in dashboards, automations, and history charts.
- name: rm360
type: tcp
host: 10.0.0.5
port: 502
sensors:
- name: rm360_outdoor_temp
address: 43000
unit_of_measurement: "°C"
device_class: temperature
scan_interval: 300
data_type: int16
scale: 0.1
precision: 1
- name: rm360_dh_flow_temp
address: 43758
unit_of_measurement: "°C"
device_class: temperature
scan_interval: 600
data_type: int16
scale: 0.01
precision: 1
- name: rm360_dh_return_temp
address: 43759
unit_of_measurement: "°C"
device_class: temperature
scan_interval: 600
data_type: int16
scale: 0.01
precision: 1
- name: rm360_hc_flow_temp
address: 43054
unit_of_measurement: "°C"
device_class: temperature
scan_interval: 60
data_type: int16
scale: 0.1
precision: 1
- name: rm360_hc_target_temp
address: 43055
unit_of_measurement: "°C"
device_class: temperature
scan_interval: 60
data_type: int16
scale: 0.1
precision: 1
- name: rm360_buffer_top_temp
address: 43377
unit_of_measurement: "°C"
device_class: temperature
scan_interval: 60
data_type: int16
scale: 0.1
precision: 1
- name: rm360_buffer_bottom_temp
address: 43378
unit_of_measurement: "°C"
device_class: temperature
scan_interval: 60
data_type: int16
scale: 0.1
precision: 1
- name: rm360_energy_raw
unique_id: rm360_energy_raw
address: 43750
scan_interval: 720
unit_of_measurement: "kWh"
data_type: float32
precision: 1
- name: rm360_power
address: 43754
scan_interval: 60
unit_of_measurement: "kW"
data_type: float32
precision: 1
- name: rm360_flow_rate
address: 43756
scan_interval: 60
unit_of_measurement: "l/h"
data_type: float32
- name: rm360_heating_pump
address: 43058
scan_interval: 10
data_type: int16
- name: rm360_heating_state
address: 43060
scan_interval: 10
data_type: int16
- name: rm360_mode
address: 41195
scan_interval: 60
data_type: int16
- name: rm360_hc2_mode
unique_id: rm360_hc2_mode
slave: 1
address: 41197
input_type: holding
scan_interval: 30
data_type: int16
- name: rm360_hc2_day_offset
unique_id: rm360_hc2_day_offset
slave: 1
address: 41222
input_type: holding
scan_interval: 30
data_type: float32
precision: 1
- name: rm360_hc2_night_offset
unique_id: rm360_hc2_night_offset
slave: 1
address: 41224
input_type: holding
scan_interval: 30
data_type: float32
precision: 1
- name: rm360_day_offset
unique_id: rm360_day_offset
slave: 1
address: 41214
input_type: holding
data_type: float32
scan_interval: 30
precision: 1
- name: rm360_night_offset
unique_id: rm360_night_offset
slave: 1
address: 41216
input_type: holding
data_type: float32
scan_interval: 30
precision: 1
- name: rm360_hc2_day_cutoff
unique_id: rm360_hc2_day_cutoff
slave: 1
address: 40146
input_type: holding
data_type: int16
unit_of_measurement: "°C"
device_class: temperature
scan_interval: 1800
precision: 0
- name: rm360_hc2_night_cutoff
unique_id: rm360_hc2_night_cutoff
slave: 1
address: 40147
input_type: holding
data_type: int16
unit_of_measurement: "°C"
device_class: temperature
scan_interval: 1800
precision: 0
Notes
input_type: holdingmaps to Modbus FC3: Read Holding Registers.- Keep read-only sensors read-only. Do not create write automations until the read side is stable.
- Slow-moving parameters such as cutoff temperatures do not need a 30-second polling interval. Thirty minutes is usually enough.
In the next part we will look at the energy counter and why I added a raw sensor plus a filtered Home Assistant template sensor.
Series navigation
Next step: Aqotec RM360 over Modbus, Part 2: The Energy Counter Workaround