How to connect to Nibe heat pump without the cloud

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
1 Like