Here is my take. I created a nibe.yaml file and put in all the parameters I needed (There are a lot more) for my S1255 and I will add them as I go along.
My yaml file below:
- name: Nibe
type: tcp
host: 192.XXX.XX.XXX
port: 502
sensors:
# Overview
- name: "Heatpump Power Usage"
unique_id: "power_usage"
unit_of_measurement: "W"
data_type: int16
device_class: power
address: 2166
input_type: input
scale: 1
precision: 0
slave: 1
- name: "Heatpump Priority"
unique_id: "operating_prioritisation"
data_type: int16 # int8
# 10: Off, 20: Hot Water, 30: Heat, 40: Pool, 60: Cooling
address: 1028
input_type: input # R/W
scale: 1
precision: 0
state_class: measurement
slave: 1
# Heating
- name: "Heatpump Calculated Supply (Heating)"
unique_id: "calculated_supply_heating"
unit_of_measurement: "°C"
data_type: int16
device_class: temperature
address: 1017
input_type: input # R
scale: 0.1
precision: 1
state_class: measurement
slave: 1
- name: "Heatpump - Supply Line (BT2)"
unique_id: "supply_line_BT2"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 5
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Return Line (BT3)"
unique_id: "return_line_BT3"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 7
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Outdoor Temperature (BT1)"
unique_id: "outdoor_temperature_BT1"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 1
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Average Temperature (BT1)"
unique_id: "average_temp_heatpump_BT1"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 37
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump Condenser Supply (BT12)"
unique_id: "condenser_supply_bt12"
unit_of_measurement: "°C"
data_type: int16
device_class: temperature
address: 12
input_type: input # R
scale: 0.1
precision: 1
state_class: measurement
slave: 1
- name: "Heatpump - Brine In (BT10)"
unique_id: "brine_in_BT10"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 10
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Brine Out (BT11)"
unique_id: "brine_out_BT11"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 11
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
# Hot Water
- name: "Heatpump - Hot Water Top (BT7)"
unique_id: "hotwater_top_BT7"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 8
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Hot Water Charging (BT6)"
unique_id: "hotwater_charging_BT6"
device_class: temperature
state_class: measurement
unit_of_measurement: "°C"
data_type: int16
address: 9
count: 1
slave: 1
precision: 1
input_type: input
scale: 0.1
scan_interval: 30
- name: "Heatpump - Compressor Status"
unique_id: "compressor_status"
data_type: int16 # uint8
# 0: Off, 1: On (Operate)
address: 1100
input_type: input # R
scale: 1
precision: 0
state_class: measurement
slave: 1
# Other
- name: "Heating Curve Offset" # 1.30.1
unique_id: "heating_curve_offset"
data_type: int16 # int8
address: 30
input_type: holding
scale: 1
precision: 0
state_class: measurement
slave: 1