So, I have it up and running.
After some trial and error, I now have Total COP, Heating COP and Hot Water COP. Thank you again @alfabetagama for the directions.
For the charts I used ApexCharts Card by @RomRider (via HACS)
And I’ve added below code to my configuration.yaml:
modbus:
- name: "NibeS2125"
type: tcp
host: 192.168.xxx.xxx
port: 502
sensors:
- name: "IN - Nibe S2125 heating energy last hour"
unique_id: "nibe_s2125_in_energy_heating"
data_type: int16 # int8
address: 2291
input_type: input # R/W
scale: 0.01
precision: 2
state_class: measurement
unit_of_measurement: "kWh"
slave: 1
scan_interval: 900
- name: "OUT - Nibe S2125 heating energy last hour"
unique_id: "nibe_s2125_out_energy_heating"
data_type: int16 # int8
address: 2283
input_type: input # R/W
scale: 0.01
precision: 2
state_class: measurement
unit_of_measurement: "kWh"
slave: 1
scan_interval: 900
- name: "IN - Nibe S2125 hot water energy last hour"
unique_id: "nibe_s2125_in_energy_hot_water"
data_type: int16 # int8
address: 2293
input_type: input # R/W
scale: 0.01
precision: 2
state_class: measurement
unit_of_measurement: "kWh"
slave: 1
scan_interval: 900
- name: "OUT - Nibe S2125 hot water energy last hour"
unique_id: "nibe_s2125_out_energy_hot_water"
data_type: int16 # int8
address: 2285
input_type: input # R/W
scale: 0.01
precision: 2
state_class: measurement
unit_of_measurement: "kWh"
slave: 1
scan_interval: 900
template:
- sensor:
- name: "Nibe S2125 COP Total"
unique_id: "nibe_s2125_cop_energy"
unit_of_measurement: ""
state: >
{% set nibe_s2125_out_energy_cop = states('sensor.nibe_s2125_heating_energy_last_hour_out') | float + states('sensor.nibe_s2125_hot_water_energy_last_hour_out') | float %}
{% set nibe_s2125_in_energy_cop = states('sensor.nibe_s2125_heating_energy_last_hour_in') | float + states('sensor.nibe_s2125_hot_water_energy_last_hour_in') | float %}
{{ (nibe_s2125_out_energy_cop / nibe_s2125_in_energy_cop) | float | round(2) }}
- sensor:
- name: "Nibe S2125 COP Heating"
unique_id: "nibe_s2125_cop_energy_heating"
unit_of_measurement: ""
state: >
{% set nibe_s2125_out_energy_heating = states('sensor.nibe_s2125_heating_energy_last_hour_out') | float %}
{% set nibe_s2125_in_energy_heating = states('sensor.nibe_s2125_heating_energy_last_hour_in') | float %}
{{ (nibe_s2125_out_energy_heating / nibe_s2125_in_energy_heating) | float | round(2) }}
- sensor:
- name: "Nibe S2125 COP Hot water"
unique_id: "nibe_s2125_cop_energy_hot_water"
unit_of_measurement: ""
state: >
{% set nibe_s2125_out_energy_hot_water = states('sensor.nibe_s2125_hot_water_energy_last_hour_out') | float %}
{% set nibe_s2125_in_energy_hot_water = states('sensor.nibe_s2125_hot_water_energy_last_hour_in') | float %}
{{ (nibe_s2125_out_energy_hot_water / nibe_s2125_in_energy_hot_water) | float | round(2) }}