Discussions about Nibe S-series and the integration

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.

Untitled picture2

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