How do I config modbus tcp for Nibe S1255?

@dondrog i readjusted my more hot water! 2.0 and 0.0. The updated integration seems to be working well now.

1 Like

Indeed, the heating offset and the hot water demand are working fine right now

Did anyone succeeded to activate the holiday mode using the integration ?

1 Like

I added this on my s1255-12. Worked perfectly, thanks!

2 Likes

@dondrog @wgumaa The more hot water entity is a slider yes with a -128 to somewhere +. The - values seem to do nothing but the + values from what I understood mean a timeframe. So if you put it on 1 it prioritizes hot water for 1 hour, 2 for 2 hours and so on.

@dondrog That picture with the electricity usage from the machine itself, I’m very much interested in getting this into hass but so far have not found the information. There are so many entities/sensors to activate within the integration that is almost seems like an impossible job (believe around 700 sensors and 550 entities).

Loved the post btw, helped me a lot!

1 Like

@Albastraoz
This is what I’ve created for COP calculation. Maybe you can use some entities from here to get what you want:


  - name: "Nibe Pump COP Total"
    unique_id: "nibe_pump_cop_energy"
    unit_of_measurement: "%"
    state_class: measurement 
    icon: "mdi:gauge"
    state: >
      {% set nibe_pump_out_energy_cop = states('sensor.energy_log_produced_energy_for_heating_over_the_past_hour_32284') | float + states('sensor.energy_log_produced_energy_for_hot_water_over_the_past_hour_32286') | float %}
      {% set nibe_pump_in_energy_cop = states('sensor.energy_log_used_energy_for_heating_over_the_past_hour_32292') | float + states('sensor.energy_log_used_energy_for_hot_water_over_the_past_hour_32294') | float %}

      {% if nibe_pump_out_energy_cop >= 0 and nibe_pump_in_energy_cop > 0 %}
       {{ (nibe_pump_out_energy_cop / nibe_pump_in_energy_cop) | float | round(2) }}
       {% else %}
         0
      {% endif %}
    

  - name: "Nibe Pump COP Heating"
    unique_id: "nibe_pump_cop_energy_heating"
    unit_of_measurement: "%"
    state_class: measurement 
    icon: "mdi:gauge"
    state: >
      {% set nibe_pump_out_heating = states('sensor.energy_log_produced_energy_for_heating_over_the_past_hour_32284') | float %}
      {% set nibe_pump_in_heating = states('sensor.energy_log_used_energy_for_heating_over_the_past_hour_32292') | float %}

      {% if nibe_pump_out_heating >= 0 and nibe_pump_in_heating > 0 %}
       {{ (nibe_pump_out_heating / nibe_pump_in_heating) | float | round(2) }}
       {% else %}
         0
      {% endif %}

  - name: "Nibe Pump COP Hot water"
    unique_id: "nibe_pump_cop_energy_hot_water"
    unit_of_measurement: "%"
    state_class: measurement 
    icon: "mdi:gauge"
    state: >
      {% set nibe_pump_out_hot_water = states('sensor.energy_log_produced_energy_for_hot_water_over_the_past_hour_32286') | float %}
      {% set nibe_pump_in_hot_water = states('sensor.energy_log_used_energy_for_hot_water_over_the_past_hour_32294') | float %}

      {% if nibe_pump_out_hot_water >= 0 and nibe_pump_in_hot_water > 0 %}
       {{ (nibe_pump_out_hot_water / nibe_pump_in_hot_water) | float | round(2) }}
       {% else %}
         0
      {% endif %}
      - type: entities
        title: COP calculation
        entities:
          - sensor.nibe_pump_cop_total
          - sensor.nibe_pump_cop_heating
          - sensor.nibe_pump_cop_hot_water 

2 Likes

@dondrog This is awesome! For the first part of the yaml, did you create those as a template?

Where do you put the code with the calculations?

Indeed, I’ve created a template_sensors.yaml where I have that code, which I’m importing it in the configuration.yaml using:

template:
  - sensor: !include template_sensors.yaml
1 Like

Hi, is it somehow possible to put the heatpump into “standby” manually?
trying this for a long time now. and i dont want to do this like: “offset -10” e.g.
is there a specific entity where i can set this?

@flrnwrzl have you considered “number.operating_mode_42744”

hi thanks for the info.
which number represents which mode?

@flrnwrzl On my S1255 its the following:

‘0.0’: ‘Auto’,
‘1.0’: ‘Manual’,
‘2.0’: ‘Add. Heat Only’

I would create switch that would set it to manual and reduce the supply temperatures: number.max_supply_climate_system_1_40039 & number.min_supply_climate_system_1_40035.
If the supply temperatures are low enough, then the pump would consume negligible power unless you are using it for heating water.

In the summer I essentially lower the supply values so it never supplies heat, but still produces hot water for showers etc.

The pump is then in manual mode.

I can confirm that when its not heating water, it consumes 21W.

This was summer when no heating is needed but hot water. My hot water circulates so I have instantaneous hot water and is connected to towel rails, hence the spikes.

@dondrog I don’t want to be nitpicking but to avoid confusion for newbies … if you want to express the COP as a % than this would be in your example 374%, 441% and 296%. More customary is to express the COP as a plain number (which would be your numbers presented without the ‘%’).

Keep up the good work!

2 Likes

@erikha-com and @dondrog I agree, COP is a ratio and thus should me measured as number and not percentage. @dondrog can you update your calculations to reflect that?

@dondrog That looks great, I’m personally more interested in the Kwh per month. The same as in the picture you showed earlier.

@wgumaa @dondrog I’m currently on holiday but I’m still searching and editing some stuff. I’ve also send an email to Nibe to see what information they could give me.

So I managed to get the total power in Kwh for both heating and hot water. At least I think so because unfortunately I only have history from when I ‘activated’ those sensors and not the complete history, maybe you guy’s know how to get that. But near the end of February I can confirm if I’m correct and share.

My idea to get the Kwh from grid is to do the following: I get the average wattage used in the desired month from the instantaneous_power_used sensor like @wgumaa
showed us and then do (a Watt/1000 * 24 * days_of_month = b Kwh). Please correct my if I’m wrong in this calculation.

My setup is a work in progress but my screenshots underneath shows what I mean with those 2 values watts being the average wattage for this month and the Kwh is for the current month.

*I began tracking around the 15th of January.


@Albastraoz if I understand correctly you want monthly power consumption?

If that’s the case you need to set up a Riemann sum integral in Helpers and then add that entity in your energy dashboard.

2 Likes

@wgumaa Okay I think I’ve set this up now, this was super helpful thanks! I feel pretty stupid xD. I will have to check later if this is the correct entity they also use.

Do you know of any way to import older data from the entities into hass?

Thanks so much!

@Albastraoz not sure you can.

somebody knows why this entity is not working?
number.auto_mode_start_temperature_for_cooling_40184
is there a way to fix it? all others work

Can you explain me how to define a Number entity with a modbus adres? I have the adress, 2505 for set room temp. But it couldn’t define it at the right way until now…