Discussions about Nibe S-series and the integration

In 2022.12.0 we now have the possibility to use the Nibe integration to connect to S-Series Heat Pump thanks to @elupus. I lack the possibility to get the energy from the pump. I have found one address and have used it in a Modbus integration:

      - name: "Nibe - Flowmeter heat (only compressor)"
        unique_id: Nibe.address.1585      
        unit_of_measurement: "kWh"
        data_type: uint32
        swap: word
        device_class: energy
        address: 1585
        input_type: input
        scale: 0.1
        precision: 1
        state_class: total_increasing
        slave: 1

This I think is the total energy leaving the pump. But I would like to get hold of the input energy. It should be available because I can see it on the display. Does anyone have an idea what register it could be?

1 Like

Hi everyone I need your help!
I just installera the Nibe Integration and connected to My S320 successfully. I find the heat pump and 755 entities. When I try and enable the ones I want to use it comes up as unavailable, what am I doing wrong?

1 Like

Unsure. Have look in the logs for any errors.

Logger: homeassistant.components.nibe_heatpump
Source: helpers/update_coordinator.py:201
Integration: Nibe Heat Pump (documentation, issues)
First occurred: 06:19:50 (2 occurrences)
Last logged: 16:59:42

Error fetching Nibe Heat Pump data: Failed to update: Error ‘Function code is not an allowable action for the server.’ reading roomsensor-1-1-30027 starting: 26 count: 1 from: 0

Found this in the logg, I have no idea where to even start.

@Kenpaisimmu Do you have a Room sensor?

Yes I have a ROT10 at first floor and a THS10 on the second floor, I tried to to enable a few other entities like outdoor temp but same thing.

Disable all entities to start with. That error could come from the climate entity. Then only enable the Prio sensor and see if that works.

Tried that but didn’t work, but now it seems the “heating curve” entity is working at least.

After disabling it can take some time for it to start working again. But what i was curious about is if enabling some entity break all the other.

Hi I have the same issue with my S1255

The address I had in yaml file:

  - 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

That is supposed to show consumption

Another issue I uncovered was the “More Hot Water” entity. On the S-Series and specifically on MyUplink, this is a simple on/off switch.

I found this entity “number.more_hot_water_40698” which is a slider from -128 to +127. If I push the slider the +127 it turns on the more hot water.

It would be good to have a simple switch.

Does anyone have an S1255 and has the possibility to use an USB-device to get all active registers?

Yes and I have dumped them. I can do so once more tonight.

Does anyone with a S1255 get values in the BE1/BE2/BE3 (current) sensors? Mine are all 0 which is the same as when I check through the myUplink API. Current Power (EME 20) is also 0.

I got them working on a S320, but they never go below 2 A, even when the heat pump isn’t running. Are you sure the CT-clamps are connected?

Does anyone know how you change the set point for the room temperature on a S320? It’s the value marked in the image.

This is my experimental setup for power usage, derived from 1903 (current) address using P(kwh) = U * I * 1.732 / 1000 equation for three phases. Current is register 1903 divided by 10. I have SMOS40 and Nibe s2125. So far looks like a good estimate.

     sensors:
          # 3.1.2 Overview
        - name: "wp In Power"
          unique_id: "wp_power_in"
          data_type: int16  # int8
          address: 1903
          input_type: input  # R/W
          scale: 0.06582
          precision: 2
          state_class: measurement
          unit_of_measurement: "kW"
          slave: 1

And total energy spent:

sensor:
  - platform: integration
    source: sensor.wp_power_in
    name: energy_spent
    round: 2
    unit_time: h

With new firmware (nibe-n-2_17_5.swu) new energy related modbus registers on are available on smo s40:

Energy log - Energy produced for heat during current hour	MODBUS_INPUT_REGISTER	2283	100	kWh	6	0	0	0
Energy log - Energy produced for hot water during current hour	MODBUS_INPUT_REGISTER	2285	100	kWh	6	0	0	0
Energy log - Energy produced for pool during current hour	MODBUS_INPUT_REGISTER	2287	100	kWh	6	0	0	0
Energy log - Energy produced for cooling during current hour	MODBUS_INPUT_REGISTER	2289	100	kWh	6	0	0	0
Energy log - Energy used for heat during current hour	MODBUS_INPUT_REGISTER	2291	100	kWh	6	0	0	0
Energy log - Energy used for hot water during current hour	MODBUS_INPUT_REGISTER	2293	100	kWh	6	0	0	0
Energy log - Energy used for pool during current hour	MODBUS_INPUT_REGISTER	2295	100	kWh	6	0	0	0
Energy log - Energy used for cooling during current hour	MODBUS_INPUT_REGISTER	2297	100	kWh	6	0	0	0
Energy log - Energy used by additional heater for heat during current hour	MODBUS_INPUT_REGISTER	2299	100	kWh	6	0	0	0
Energy log - Energy used by additional heater for hot water during current hour	MODBUS_INPUT_REGISTER	2301	100	kWh	6	0	0	0
Energy log - Energy used by additional heater for pool during current hour	MODBUS_INPUT_REGISTER	2303	100	kWh	6	0	0	0
Energy log - Current power consumption	MODBUS_INPUT_REGISTER	2305	100	kW	6	0	0	0
Energy log - Current power consumption, components	MODBUS_INPUT_REGISTER	2307	100	kW	6	0	0	0
i
2 Likes

Were you able to get them visible into HA?

yes.

modbus:
  - name: "Nibe2125"
    type: tcp
    host: 192.168.1.220
    port: 502
    sensors:
      - name: "Nibe heating energy last hour"
        unique_id: "nibe_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: "Nibe hot water energy last hour"
        unique_id: "nibe_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: "Nibe hot water add energy last hour"
        unique_id: "nibe_in_add_energy_hot_water"
        data_type: int16  # int8
        address: 2301
        input_type: input  # R/W
        scale: 0.01
        precision: 2
        state_class: measurement
        unit_of_measurement: "kWh"
        slave: 1
        scan_interval: 900
      - name: "Nibe heating add energy last hour"
        unique_id: "nibe_in_add_energy_heating"
        data_type: int16  # int8
        address: 2299
        input_type: input  # R/W
        scale: 0.01
        precision: 2
        state_class: measurement
        unit_of_measurement: "kWh"
        slave: 1
        scan_interval: 900
      - name: "nibe_current_power"
        unique_id: "nibe_current_power"
        data_type: int16  # int8
        address: 2305
        input_type: input  # R/W
        precision: 2
        state_class: measurement
        unit_of_measurement: "kW"
        scale: 0.01
        slave: 1
        scan_interval: 60
      - name: "nibe_current_power_comp"
        unique_id: "nibe_current_power_comp"
        data_type: int16  # int8
        address: 2307
        input_type: input  # R/W
        precision: 2
        state_class: measurement
        unit_of_measurement: "kW"
        scale: 0.01
        slave: 1
        scan_interval: 60

Utility meters should use delta setting:

1 Like

Within how long should I be able to see any results and/or is it possible to share your complete configuration?

The only thing I’m really interested in is somehow getting the COP value.