How do I config modbus tcp for Nibe S1255?

Sure install the integration and getting it running.

The dashboard I am using looks like this and we can go through the steps to configure each section.

Section 1 are indicators:

image

Everything on there applies to your heat pump except for the circulation pump. Hot water demand is broken at the moment but they are working on fixing it.

Section 2 are controls:

image

Section 3 are also indicators for temperature and consumption:

image

image

1 Like

Thank you ! I’ve installed the integration and it works, but I would like the same, to add this dashboard that you are using. @wgumaa Can you please share the integration configuration.yaml for this ?

@dondrog for my yaml configuration to work you need to have “card-mod” front end integration installed. You can find it in HACS.

For the first part:

image

The code:

type: custom:layout-card
layout_type: masonry
cards:
  - square: false
    type: grid
    cards:
      - type: vertical-stack
        cards:
          - type: custom:mushroom-chips-card
            chips:
              - type: template
                icon: |-
                  {% set state=states(entity) %}
                  {% if state=='0.0' %}
                  mdi:heat-pump
                  {% elif state=='1.0' %}
                  mdi:heat-pump-outline
                  {% else %}
                  mdi:radiator
                  {% endif %}
                entity: number.operating_mode_42744
                content: |-
                  Operating Mode - 
                    {% set d ={
                    '0.0': 'Auto',
                    '1.0': 'Manual', 
                    '2.0': 'Add. Heat Only' 
                    } %}
                    {{ d.get(states(entity)) }}
                tap_action:
                  action: more-info
                icon_color: |-
                  {% set state=states(entity) %}
                  {% if state=='0.0' %}
                  green
                  {% elif state=='1.0' %}
                  orange
                  {% elif state=='2.0' %}
                  red
                  {% else %}
                  grey
                  {% endif %}
            alignment: justify
            card_mod: null
            style: |
              ha-card {
               --chip-border-width: 0px;
               --chip-box-shadow: none;
               --chip-background: none; 
              }
          - type: custom:mushroom-chips-card
            chips:
              - type: template
                entity: binary_sensor.compressor_status_31101
                tap_action:
                  action: more-info
                content: |-
                  Compressor - 
                    {% set d ={
                    'off': 'Off',
                    'on': 'On', 
                    } %}
                    {{ d.get(states(entity)) }}
                icon: |-
                  {% set state=states(entity) %}
                  {% if state=='off' %}
                  mdi:heat-pump-outline
                  {% elif state=='on' %}
                  mdi:heat-pump
                  {% else %}
                  mdi:hvac
                  {% endif %}
                icon_color: |-
                  {% set state=states(entity) %}
                  {% if state=='on' %}
                  green
                  {% else %}
                  grey
                  {% endif %}
                card_mod: null
                style: |
                  ha-card {
                   --chip-border-width: 0px;
                   --chip-box-shadow: none;
                   --chip-background: none; 
                  }
          - type: custom:mushroom-chips-card
            chips:
              - type: template
                entity: switch.shellyplusplugs_d4d4daecdce8_switch_0
                tap_action:
                  action: more-info
                content: |-
                  Circulation Pump - 
                    {% set d ={
                    'off': 'Off',
                    'on': 'On', 
                    } %}
                    {{ d.get(states(entity)) }}
                icon: |-
                  {% set state=states(entity) %}
                  {% if state=='off' %}
                  mdi:pump-off
                  {% elif state=='on' %}
                  mdi:pump
                  {% else %}
                  mdi:hvac
                  {% endif %}
                icon_color: |-
                  {% set state=states(entity) %}
                  {% if state=='on' %}
                  green
                  {% else %}
                  grey
                  {% endif %}
                card_mod: null
                style: |
                  ha-card {
                   --chip-border-width: 0px;
                   --chip-box-shadow: none;
                   --chip-background: none; 
                  }
      - type: vertical-stack
        cards:
          - type: custom:mushroom-chips-card
            chips:
              - type: template
                entity: sensor.priority_31029
                icon: |-
                  {% set state=states(entity) %}
                  {% if state=='OFF' %}
                  mdi:heat-pump
                  {% elif state=='HOT WATER' %}
                  mdi:water-boiler
                  {% elif state=='HEAT' %}
                  mdi:radiator
                  {% elif state=='POOL' %}
                  mdi:pool
                  {% elif state=='COOLING' %}
                  mdi:air-conditioner
                  {% else %}
                  mdi:heat-pump
                  {% endif %}
                content: |-
                  Priority - 
                    {% set d ={
                    'OFF': 'Off',
                    'HOT WATER': 'Hot Water', 
                    'HEAT': 'Heat',
                    'POOL': 'Pool',
                    'COOLING': 'Cooling' 
                    } %}
                    {{ d.get(states(entity)) }}
                tap_action:
                  action: more-info
                icon_color: |-
                  {% set state=states(entity) %}
                  {% if state=='OFF' %}
                  grey
                  {% elif state=='HOT WATER' %}
                  orange
                  {% elif state=='HEAT' %}
                  red
                  {% elif state=='POOL' %}
                  yellow
                  {% elif state=='COOLING' %}
                  blue
                  {% else %}
                  grey
                  {% endif %}
                card_mod: null
                style: |
                  ha-card {
                   --chip-border-width: 0px;
                   --chip-box-shadow: none;
                   --chip-background: none; 
                  }
          - type: custom:mushroom-chips-card
            chips:
              - type: template
                entity: number.heating_offset_climate_system_1_40031
                tap_action:
                  action: more-info
                content: |-
                  Heating Offset - 
                  {% set d ={
                    '-10.0': '-10°C',
                    '-9.0': '-9°C', 
                    '-8.0': '-8°C', 
                    '-7.0': '-7°C', 
                    '-6.0': '-6°C',
                    '-5.0': '-5°C',
                    '-4.0': '-4°C', 
                    '-3.0': '-3°C', 
                    '-2.0': '-2°C', 
                    '-1.0': '-1°C',
                    '0.0': '0°C',
                    '1.0': '+1°C', 
                    '2.0': '+2°C', 
                    '3.0': '+3°C', 
                    '4.0': '+4°C',
                    '5.0': '+5°C',
                    '6.0': '+6°C', 
                    '7.0': '+7°C', 
                    '8.0': '+8°C', 
                    '9.0': '+9°C',
                    '10.0': '+10°C',
                    } %}
                    {{ d.get(states(entity)) }}
                icon: |-
                  {% set state=states(entity) %}
                  {% if state=='-10.0' %}
                  mdi:snowflake
                  {% elif state=='-9.0' %}
                  mdi:snowflake
                  {% elif state=='-8.0' %}
                  mdi:snowflake
                  {% elif state=='-7.0' %}
                  mdi:snowflake
                  {% elif state=='-6.0' %}
                  mdi:snowflake
                  {% elif state=='-5.0' %}
                  mdi:snowflake
                  {% elif state=='-4.0' %}
                  mdi:snowflake
                  {% elif state=='-3.0' %}
                  mdi:snowflake
                  {% elif state=='-2.0' %}
                  mdi:snowflake
                  {% elif state=='-1.0' %}
                  mdi:snowflake
                  {% elif state=='0.0' %}
                  mdi:radiator-disabled
                  {% elif state=='1.0' %}
                  mdi:radiator
                  {% elif state=='2.0' %}
                  mdi:radiator
                  {% elif state=='3.0' %}
                  mdi:radiator
                  {% elif state=='4.0' %}
                  mdi:radiator
                  {% elif state=='5.0' %}
                  mdi:radiator
                  {% elif state=='6.0' %}
                  mdi:radiator
                  {% elif state=='7.0' %}
                  mdi:radiator
                  {% elif state=='8.0' %}
                  mdi:radiator
                  {% elif state=='9.0' %}
                  mdi:radiator
                  {% elif state=='10.0' %}
                  mdi:radiator
                  {% else %}
                  mdi-radiator-off
                  {% endif %}
                icon_color: |-
                  {% set state=states(entity) %}
                  {% if state=='-10.0' %}
                  purple
                  {% elif state=='-9.0' %}
                  purple
                  {% elif state=='-8.0' %}
                  purple
                  {% elif state=='-7.0' %}
                  light-blue
                  {% elif state=='-6.0' %}
                  light-blue
                  {% elif state=='-5.0' %}
                  light-blue
                  {% elif state=='-4.0' %}
                  light-green
                  {% elif state=='-3.0' %}
                  light-green
                  {% elif state=='-2.0' %}
                  light-green
                  {% elif state=='-1.0' %}
                  yellow
                  {% elif state=='0.0' %}
                  grey
                  {% elif state=='1.0' %}
                  amber
                  {% elif state=='2.0' %}
                  orange
                  {% elif state=='3.0' %}
                  orange
                  {% elif state=='4.0' %}
                  orange
                  {% elif state=='5.0' %}
                  red
                  {% elif state=='6.0' %}
                  red
                  {% elif state=='7.0' %}
                  red
                  {% elif state=='8.0' %}
                  brown
                  {% elif state=='9.0' %}
                  brown
                  {% elif state=='10.0' %}
                  brown
                  {% else %}
                  grey
                  {% endif %}
                alignment: justify
                card_mod: null
                style: |
                  ha-card {
                   --chip-border-width: 0px;
                   --chip-box-shadow: none;
                   --chip-background: none; 
                  }
          - type: custom:mushroom-chips-card
            chips:
              - type: template
                entity: number.hot_water_demand_mode_40057
                tap_action:
                  action: more-info
                content: |-
                  Hot Water Demand - 
                   {% set d ={
                    '0.0': 'Small',
                    '1.0': 'Medium', 
                    '2.0': 'Large', 
                    '4.0': 'Smart Control',
                    } %}
                    {{ d.get(states(entity)) }}
                icon: |-
                  {% set state=states(entity) %}
                  {% if state=='0.0' %}
                  mdi:size-s
                  {% elif state=='1.0' %}
                  mdi:size-m
                  {% elif state=='2.0' %}
                  mdi:size-l
                  {% elif state=='4.0' %}
                  mdi:head-snowflake
                  {% else %}
                  mdi:water-boiler-alert
                  {% endif %}
                icon_color: |-
                  {% set state=states(entity) %}
                  {% if state=='0.0' %}
                  green
                  {% elif state=='1.0' %}
                  orange
                  {% elif state=='2.0' %}
                  red
                  {% elif state=='4.0' %}
                  blue
                  {% else %}
                  grey
                  {% endif %}
                card_mod: null
                style: |
                  ha-card {
                   --chip-border-width: 0px;
                   --chip-box-shadow: none;
                   --chip-background: none; 
                  }
    columns: 2
layout:
  width: 285
1 Like

@dondrog Keep in mind Hot Water Demand is broken at the moment!

1 Like

@dondrog I am suing mushroom cards and again you can find in HACS

Part 2 is the controls:

image

Code:

type: custom:layout-card
layout_type: masonry
layout:
  width: 285
cards:
  - type: vertical-stack
    title: Heat Pump Controls
    cards:
      - type: custom:mushroom-template-card
        icon_color: |-
          {% set state=states(entity) %}
          {% if state=='0.0' %}
          grey
          {% elif state=='127.0' %}
          red
          {% else %}
          grey
          {% endif %}
        icon: |-
          {% set state=states(entity) %}
          {% if state=='0.0' %}
          mdi:water-boiler-off
          {% elif state=='1.0' %}
          {% else %}
          mdi:water-boiler
          {% endif %}
        secondary: |2-
           {% set d ={
            '0.0': 'Off',
            '127.0': 'On', 
            } %}
            {{ d.get(states(entity)) }}
        primary: More Hot Water
        hold_action:
          action: none
        double_tap_action:
          action: call-service
          service: script.more_hot_water_on
          target: {}
        multiline_secondary: false
        tap_action:
          action: call-service
          service: script.more_hot_water_off
          target: {}
        entity: number.more_hot_water_40698
      - type: entities
        entities:
          - entity: number.hot_water_demand_mode_40057
            name: Hot Water Demand
            icon: mdi:water-opacity
      - type: custom:numberbox-card
        border: true
        entity: number.max_supply_climate_system_1_40039
        name: Maximum Supply
        step: 1
        unit: °C
        min: 5
        icon: mdi:thermometer-chevron-up
        moreinfo: number.max_supply_climate_system_1_40039
        max: 80
      - type: custom:numberbox-card
        border: true
        entity: number.min_supply_climate_system_1_40035
        name: Minimum Supply
        step: 1
        icon: mdi:thermometer-chevron-down
        min: 5
        max: 80
      - type: horizontal-stack

     ```

You will have to create scripts for more hot water on and off.
1 Like

Thank you very much for your help @wgumaa
I’ve managed to configure the dashboard via yaml :


If you may, can you please share Section 3 yaml ?

nibe.yml (dashboard), so far:

title: Nibe Pump
views:
  - title: Indicators
    type: custom:layout-card
    layout_type: masonry
    cards:
      - square: false
        title: Indicators
        type: grid
        cards:
          - type: vertical-stack
            cards:
              - type: custom:mushroom-chips-card
                chips:
                  - type: template
                    icon: |-
                      {% set state=states(entity) %}
                      {% if state=='0.0' %}
                      mdi:heat-pump
                      {% elif state=='1.0' %}
                      mdi:heat-pump-outline
                      {% else %}
                      mdi:radiator
                      {% endif %}
                    entity: number.operating_mode_42744
                    content: |-
                      Operating Mode - 
                        {% set d ={
                        '0.0': 'Auto',
                        '1.0': 'Manual', 
                        '2.0': 'Add. Heat Only' 
                        } %}
                        {{ d.get(states(entity)) }}
                    tap_action:
                      action: more-info
                    icon_color: |-
                      {% set state=states(entity) %}
                      {% if state=='0.0' %}
                      green
                      {% elif state=='1.0' %}
                      orange
                      {% elif state=='2.0' %}
                      red
                      {% else %}
                      grey
                      {% endif %}
                alignment: justify
                card_mod: null
                style: |
                  ha-card {
                   --chip-border-width: 0px;
                   --chip-box-shadow: none;
                   --chip-background: none; 
                  }
              - type: custom:mushroom-chips-card
                chips:
                  - type: template
                    entity: binary_sensor.compressor_status_31101
                    tap_action:
                      action: more-info
                    content: |-
                      Compressor - 
                        {% set d ={
                        'off': 'Off',
                        'on': 'On', 
                        } %}
                        {{ d.get(states(entity)) }}
                    icon: |-
                      {% set state=states(entity) %}
                      {% if state=='off' %}
                      mdi:heat-pump-outline
                      {% elif state=='on' %}
                      mdi:heat-pump
                      {% else %}
                      mdi:hvac
                      {% endif %}
                    icon_color: |-
                      {% set state=states(entity) %}
                      {% if state=='on' %}
                      green
                      {% else %}
                      grey
                      {% endif %}
                    card_mod: null
                    style: |
                      ha-card {
                       --chip-border-width: 0px;
                       --chip-box-shadow: none;
                       --chip-background: none; 
                      }
              - type: custom:mushroom-chips-card
                chips:
                  - type: template
                    entity: switch.shellyplusplugs_d4d4daecdce8_switch_0
                    tap_action:
                      action: more-info
                    content: |-
                      Circulation Pump - 
                        {% set d ={
                        'off': 'Off',
                        'on': 'On', 
                        } %}
                        {{ d.get(states(entity)) }}
                    icon: |-
                      {% set state=states(entity) %}
                      {% if state=='off' %}
                      mdi:pump-off
                      {% elif state=='on' %}
                      mdi:pump
                      {% else %}
                      mdi:hvac
                      {% endif %}
                    icon_color: |-
                      {% set state=states(entity) %}
                      {% if state=='on' %}
                      green
                      {% else %}
                      grey
                      {% endif %}
                    card_mod: null
                    style: |
                      ha-card {
                       --chip-border-width: 0px;
                       --chip-box-shadow: none;
                       --chip-background: none; 
                      }
          - type: vertical-stack
            cards:
              - type: custom:mushroom-chips-card
                chips:
                  - type: template
                    entity: sensor.priority_31029
                    icon: |-
                      {% set state=states(entity) %}
                      {% if state=='OFF' %}
                      mdi:heat-pump
                      {% elif state=='HOT WATER' %}
                      mdi:water-boiler
                      {% elif state=='HEAT' %}
                      mdi:radiator
                      {% elif state=='POOL' %}
                      mdi:pool
                      {% elif state=='COOLING' %}
                      mdi:air-conditioner
                      {% else %}
                      mdi:heat-pump
                      {% endif %}
                    content: |-
                      Priority - 
                        {% set d ={
                        'OFF': 'Off',
                        'HOT WATER': 'Hot Water', 
                        'HEAT': 'Heat',
                        'POOL': 'Pool',
                        'COOLING': 'Cooling' 
                        } %}
                        {{ d.get(states(entity)) }}
                    tap_action:
                      action: more-info
                    icon_color: |-
                      {% set state=states(entity) %}
                      {% if state=='OFF' %}
                      grey
                      {% elif state=='HOT WATER' %}
                      orange
                      {% elif state=='HEAT' %}
                      red
                      {% elif state=='POOL' %}
                      yellow
                      {% elif state=='COOLING' %}
                      blue
                      {% else %}
                      grey
                      {% endif %}
                    card_mod: null
                    style: |
                      ha-card {
                       --chip-border-width: 0px;
                       --chip-box-shadow: none;
                       --chip-background: none; 
                      }
              - type: custom:mushroom-chips-card
                chips:
                  - type: template
                    entity: number.heating_offset_climate_system_1_40031
                    tap_action:
                      action: more-info
                    content: |-
                      Heating Offset - 
                      {% set d ={
                        '-10.0': '-10°C',
                        '-9.0': '-9°C', 
                        '-8.0': '-8°C', 
                        '-7.0': '-7°C', 
                        '-6.0': '-6°C',
                        '-5.0': '-5°C',
                        '-4.0': '-4°C', 
                        '-3.0': '-3°C', 
                        '-2.0': '-2°C', 
                        '-1.0': '-1°C',
                        '0.0': '0°C',
                        '1.0': '+1°C', 
                        '2.0': '+2°C', 
                        '3.0': '+3°C', 
                        '4.0': '+4°C',
                        '5.0': '+5°C',
                        '6.0': '+6°C', 
                        '7.0': '+7°C', 
                        '8.0': '+8°C', 
                        '9.0': '+9°C',
                        '10.0': '+10°C',
                        } %}
                        {{ d.get(states(entity)) }}
                    icon: |-
                      {% set state=states(entity) %}
                      {% if state=='-10.0' %}
                      mdi:snowflake
                      {% elif state=='-9.0' %}
                      mdi:snowflake
                      {% elif state=='-8.0' %}
                      mdi:snowflake
                      {% elif state=='-7.0' %}
                      mdi:snowflake
                      {% elif state=='-6.0' %}
                      mdi:snowflake
                      {% elif state=='-5.0' %}
                      mdi:snowflake
                      {% elif state=='-4.0' %}
                      mdi:snowflake
                      {% elif state=='-3.0' %}
                      mdi:snowflake
                      {% elif state=='-2.0' %}
                      mdi:snowflake
                      {% elif state=='-1.0' %}
                      mdi:snowflake
                      {% elif state=='0.0' %}
                      mdi:radiator-disabled
                      {% elif state=='1.0' %}
                      mdi:radiator
                      {% elif state=='2.0' %}
                      mdi:radiator
                      {% elif state=='3.0' %}
                      mdi:radiator
                      {% elif state=='4.0' %}
                      mdi:radiator
                      {% elif state=='5.0' %}
                      mdi:radiator
                      {% elif state=='6.0' %}
                      mdi:radiator
                      {% elif state=='7.0' %}
                      mdi:radiator
                      {% elif state=='8.0' %}
                      mdi:radiator
                      {% elif state=='9.0' %}
                      mdi:radiator
                      {% elif state=='10.0' %}
                      mdi:radiator
                      {% else %}
                      mdi-radiator-off
                      {% endif %}
                    icon_color: |-
                      {% set state=states(entity) %}
                      {% if state=='-10.0' %}
                      purple
                      {% elif state=='-9.0' %}
                      purple
                      {% elif state=='-8.0' %}
                      purple
                      {% elif state=='-7.0' %}
                      light-blue
                      {% elif state=='-6.0' %}
                      light-blue
                      {% elif state=='-5.0' %}
                      light-blue
                      {% elif state=='-4.0' %}
                      light-green
                      {% elif state=='-3.0' %}
                      light-green
                      {% elif state=='-2.0' %}
                      light-green
                      {% elif state=='-1.0' %}
                      yellow
                      {% elif state=='0.0' %}
                      grey
                      {% elif state=='1.0' %}
                      amber
                      {% elif state=='2.0' %}
                      orange
                      {% elif state=='3.0' %}
                      orange
                      {% elif state=='4.0' %}
                      orange
                      {% elif state=='5.0' %}
                      red
                      {% elif state=='6.0' %}
                      red
                      {% elif state=='7.0' %}
                      red
                      {% elif state=='8.0' %}
                      brown
                      {% elif state=='9.0' %}
                      brown
                      {% elif state=='10.0' %}
                      brown
                      {% else %}
                      grey
                      {% endif %}
                    alignment: justify
                    card_mod: null
                    style: |
                      ha-card {
                       --chip-border-width: 0px;
                       --chip-box-shadow: none;
                       --chip-background: none; 
                      }
              - type: custom:mushroom-chips-card
                chips:
                  - type: template
                    entity: number.hot_water_demand_mode_40057
                    tap_action:
                      action: more-info
                    content: |-
                      Hot Water Demand - 
                       {% set d ={
                        '0.0': 'Small',
                        '1.0': 'Medium', 
                        '2.0': 'Large', 
                        '4.0': 'Smart Control',
                        } %}
                        {{ d.get(states(entity)) }}
                    icon: |-
                      {% set state=states(entity) %}
                      {% if state=='0.0' %}
                      mdi:size-s
                      {% elif state=='1.0' %}
                      mdi:size-m
                      {% elif state=='2.0' %}
                      mdi:size-l
                      {% elif state=='4.0' %}
                      mdi:head-snowflake
                      {% else %}
                      mdi:water-boiler-alert
                      {% endif %}
                    icon_color: |-
                      {% set state=states(entity) %}
                      {% if state=='0.0' %}
                      green
                      {% elif state=='1.0' %}
                      orange
                      {% elif state=='2.0' %}
                      red
                      {% elif state=='4.0' %}
                      blue
                      {% else %}
                      grey
                      {% endif %}
                    card_mod: null
                    style: |
                      ha-card {
                       --chip-border-width: 0px;
                       --chip-box-shadow: none;
                       --chip-background: none; 
                      }
        columns: 2
    layout:
      width: 285
      
  - title: Heat Pump Controls
    type: custom:layout-card
    layout_type: masonry
    layout:
      width: 285
    cards:
      - type: vertical-stack
        title: Heat Pump Controls
        cards:
          - type: custom:mushroom-template-card
            icon_color: |-
              {% set state=states(entity) %}
              {% if state=='0.0' %}
              grey
              {% elif state=='127.0' %}
              red
              {% else %}
              grey
              {% endif %}
            icon: |-
              {% set state=states(entity) %}
              {% if state=='0.0' %}
              mdi:water-boiler-off
              {% elif state=='1.0' %}
              {% else %}
              mdi:water-boiler
              {% endif %}
            secondary: |2-
               {% set d ={
                '0.0': 'Off',
                '127.0': 'On', 
                } %}
                {{ d.get(states(entity)) }}
            primary: More Hot Water
            hold_action:
              action: none
            double_tap_action:
              action: call-service
              service: script.more_hot_water_on
              target: {}
            multiline_secondary: false
            tap_action:
              action: call-service
              service: script.more_hot_water_off
              target: {}
            entity: number.more_hot_water_40698
          - type: entities
            entities:
              - entity: number.hot_water_demand_mode_40057
                name: Hot Water Demand
                icon: mdi:water-opacity
          - type: custom:numberbox-card
            border: true
            entity: number.max_supply_climate_system_1_40039
            name: Maximum Supply
            step: 1
            unit: °C
            min: 5
            icon: mdi:thermometer-chevron-up
            moreinfo: number.max_supply_climate_system_1_40039
            max: 80
          - type: custom:numberbox-card
            border: true
            entity: number.min_supply_climate_system_1_40035
            name: Minimum Supply
            step: 1
            icon: mdi:thermometer-chevron-down
            min: 5
            max: 80

@dondrog for the graphs:


image

The code:

type: custom:layout-card
layout_type: masonry
cards:
  - square: false
    columns: 2
    type: grid
    title: Temperatures & Consumption
    cards:
      - type: gauge
        name: Heat Supply Line
        unit: °C
        max: 65
        min: 20
        entity: sensor.supply_line_bt2_30006
        needle: false
        severity:
          green: 0
          yellow: 20
          red: 35
        card_mod:
          style:
            .: |
              ha-card {
                background-color: transparent;
                box-shadow: none;
                border: 0px; 
                  }
      - type: gauge
        unit: °C
        name: Heat Return Line
        min: 20
        max: 60
        entity: sensor.return_line_bt3_30008
        severity:
          green: 0
          yellow: 20
          red: 35
        card_mod:
          style:
            .: |
              ha-card {
                background-color: transparent;
                box-shadow: none;
                border: 0px; 
                  }
      - type: gauge
        name: Hot Water (Top)
        max: 55
        min: 18
        unit: °C
        severity:
          green: 25
          yellow: 35
          red: 45
        needle: false
        entity: sensor.display_hot_water_sensor_eb100_bt7_31690
        card_mod:
          style:
            .: |
              ha-card {
                background-color: transparent;
                box-shadow: none;
                border: 0px; 
                  }
      - type: gauge
        name: Hot Water Charging
        max: 55
        min: 18
        unit: °C
        severity:
          green: 30
          yellow: 40
          red: 50
        needle: false
        entity: sensor.hot_water_charging_bt6_30010
        card_mod:
          style:
            .: |
              ha-card {
                background-color: transparent;
                box-shadow: none;
                border: 0px; 
                  }
      - type: gauge
        entity: sensor.brine_in_bt10_30011
        name: Brine In
        unit: °C
        min: -10
        max: 15
        card_mod:
          style:
            .: |
              ha-card {
                background-color: transparent;
                box-shadow: none;
                border: 0px; 
                  }
      - type: gauge
        entity: sensor.brine_out_bt11_30012
        name: Brine Out
        unit: °C
        min: -10
        max: 15
        card_mod:
          style:
            .: |
              ha-card {
                background-color: transparent;
                box-shadow: none;
                border: 0px; 
                  }
  - type: vertical-stack
    cards:
      - type: custom:mini-graph-card
        entities:
          - entity: sensor.instantaneous_used_power_32167
            name: Heat Pump Power Consumption
            unit: w
        color_thresholds:
          - value: 0
            color: '#9B59B6'
          - value: 25
            color: '#3498DB'
          - value: 250
            color: '#27AE60'
          - value: 500
            color: '#F1C40F'
          - value: 750
            color: '#F39C12'
          - value: 1000
            color: '#E74C3C'
        hours_to_show: 24
        card_mod:
          style:
            .: |
              ha-card {
                background-color: transparent;
                box-shadow: none;
                border: 0px; 
                  }
        points_per_hour: 1
        update_interval: 30
        line_width: 2
      - type: custom:mini-graph-card
        entities:
          - entity: sensor.hot_water_charging_bt6_30010
            name: Hot Water Charging
            unit: °C
        color_thresholds:
          - value: 0
            color: '#6BBCD1'
          - value: 10
            color: '#002947'
          - value: 20
            color: '#002947'
          - value: 30
            color: '#3498DB'
          - value: 40
            color: '#FD9415'
          - value: 50
            color: '#E23201'
          - value: 60
            color: '#E23201'
        hours_to_show: 24
        points_per_hour: 1
        update_interval: 30
        line_width: 2
        card_mod:
          style:
            .: |
              ha-card {
                background-color: transparent;
                box-shadow: none;
                border: 0px; 
                  }
layout:
  width: 285

Enjoy playing around and come back with questions as I am sure you will have some!

I could post it because the forum does not allow more than 3 consecutive posts!

1 Like

@dondrog You can get rid of the circulation pump as that is a device external to the Nibe system. I have separate Hot water circulation pump that circulates hot water in the pipes.

1 Like

Thank you, @wgumaa !
I’m still getting my head around. The struggle is to find the right sensors in the Entities provided by the integration. Your config helped me a lot, basically it did everything.

Do you know which entities are behind this two numbers below ?

I’ve tried adding a few of them, but with no luck.

Edit: I just saw that it was an open ticket for this :

I’m trying to change the heating offset, but everytime I change it, either from the dashboard either from the integration, the heat pump will set it to 0 after a few seconds.

Do you have the same problem ?

For the total energy consumption I’ve used Integration - Riemann sum integral with the sensor.instantaneous_used_power_32167 and added the device in the Energy dashboard.

1 Like

No i am not experiencing that.

@dondrog what is the entity? Is it a number?

indeed, this one: number.heating_offset_climate_system_1_40031 . But as I mentioned on the edit, I saw that you reported it on github and it’s a known bug which will be fixed with, hopefully, the upcoming release of the core version.

@dondrog that wasn’t for the heating offset but the Hot Water Demand which broke after the last update. Basically numerical values have become words.

For me the heating offset is working fine. I just tested between our messages and it stays.

Strange, for me still doesn’t work. Did you test is with negative values ?

Indeed I’ve confused them, this one was raised by m-wo :

@dondrog just tried now.

and yes you are right! it jumped back to 0!

I am not using heating offset that much. But good to know. Another broken entity!

Look here: Update nibe heatpump to 2.5.0 by elupus · Pull Request #103788 · home-assistant/core · GitHub

1 Like

@dondrog the beta is out in HA beta core, but the full core would be out on the 6th Dec where the integration has been update to include the fixes but also the changes discussed.

1 Like

That’s good news. I think I will give it a try tomorrow maybe to see how it works.
I don’t know if you already have scripts for more hot water, but I’ve created some:

###Card:
        - type: custom:mushroom-template-card
            icon_color: |-
              {% set state=states(entity)|int(0) %}
              {% if state<=0 %}
              grey
              {% else %}
              red
              {% endif %}
            icon: |-
              {% set state=states(entity)|int(0) %}
              {% if state<=0 %}
              mdi:water-boiler-off
              {% else %}
              mdi:water-boiler
              {% endif %}
            secondary: |2-
               {% set d ={
                '0.0': 'Off',
                '2.0': 'On', 
                } %}
                {{ d.get(states(entity)) }}
            primary: More Hot Water
            hold_action:
              action: none
            double_tap_action:
              action: more-info
            multiline_secondary: false
            tap_action:
              action: call-service
              service: script.switch_hot_water
            entity: number.more_hot_water_40698

###Script (goes in the scripts.yaml )
switch_hot_water:
    sequence:
      - choose:
          - conditions:
              - condition: state
                entity_id: number.more_hot_water_40698
                state: '0.0'
            sequence:
              - service: number.set_value
                data:
                  value: '2.0'
                  entity_id: number.more_hot_water_40698
          - conditions:
              - condition: state
                entity_id: number.more_hot_water_40698
                state: '2.0'
            sequence:
              - service: number.set_value
                data:
                  value: '0.0'
                  entity_id: number.more_hot_water_40698
        default: []
2 Likes

@dondrog how did you get your more hot water to work with a value of 2.0?

I have a slider with that goes from -128 (which does nothing) to 0 (Off) to 127 (On)