Licznik zużycia energii przez pompę ciepła rozbicie na grzanie i ciepłą wodę

Cześć,
Potrzebuję stworzyć licznik mediów w HA z rozbiciem na licznik grzania CWU i licznik grzania CO. W tej chwili posiadam sensor bieżącej pracy pompy ciepła w trzech stanach: OFF, HEAT, HOT WATER. Stworzonego też mam pomocnika licznika mediów z bieżącej mocy pompy ciepła. W załączniku wycinek tego co udało się utworzyć. Myślałem o jakimś sensorze template z “Count if” tylko nie udało mi się nigdzie znaleźć dokumentacji jak go stworzyć.

   - name: "Licznik CWU"
     unit_of_measurement: "W"
     state: >
         {% if states('sensor.gree_status_pracy') = 'HOT WATER' %}
         {% set t_cwu = states('sensor.pvmonitor_chwilowa_moc_calkowita') %}
         {{ t_cwu }}
         {% endif %}

1 polubienie

Udało się rozwiązać, wrzucam kod
Licznik zużycia do grzania CWU

  - name: "Licznik CWU"
    unit_of_measurement: "W"
    state: >
        {% if states('sensor.gree_status_pracy') == "HOT WATER" %}
        {% set t_cwu = states('sensor.pvmonitor_chwilowa_moc_calkowita_pompy') %}
        {{ t_cwu }}
        {% endif %}

Licznik zużycia dla grzania CO

  - name: "Licznik CO"
    unit_of_measurement: "W"
    state: >
        {% if states('sensor.gree_status_pracy') == "OFF" or "HEAT" %}
        {% set t_co = states('sensor.pvmonitor_chwilowa_moc_calkowita_pompy') %}
        {{ t_co }}
        {% endif %}

Sensory mocy (W) wskazania zależne od stanu HEAT, HOT WATER


    - name: "Moc CWU"
      unit_of_measurement: "W"
      state_class: measurement
      state: >
        {% if is_state('sensor.gree_status_pracy', 'HOT WATER') %}
          {{ states('sensor.pvmonitor_chwilowa_moc_calkowita') | float(0) }}
        {% else %}
          0
        {% endif %}

    - name: "Moc CO"
      unit_of_measurement: "W"
      state_class: measurement
      state: >
        {% if is_state('sensor.gree_status_pracy', 'HEAT') %}
          {{ states('sensor.pvmonitor_chwilowa_moc_calkowita') | float(0) }}
        {% else %}
          0
        {% endif %}

:information_source:
| float(0) - Zapobiega błędom w przypadku, gdy sensor zwraca None, unavailable


    {% else %}
      0  # Zwraca 0, domyślnie , aby wskazać, że moc jest zerowa
    {% endif %}

Teraz “W” na “kWh” ( moc na energie elektryczną )

- platform: integration
  name: energia_cwu
  source: sensor.moc_cwu
  unit_prefix: k
  round: 2

- platform: integration
  name: energia_co
  source: sensor.moc_co
  unit_prefix: k
  round: 2

Teraz licznik (dzienny)

utility_meter:
  licznik_cwu_dzienny:
    source: sensor.energia_cwu
    cycle: daily
    
  licznik_co_dzienny:
    source: sensor.energia_co
    cycle: daily
2 polubienia

O wskazania zerowe też przydadzą się. Jeśli chodzi o zamianę mocy na energię to wykorzystałem właśnie integrację całkujący sumą Reimanna metodą trapezów, a dzienne liczniki za pomocą pomocnika licznika mediów z dziennym resetem i zaokrągleniem do 2 miejsc po przecinku. Dzięki za pomoc.

Wrzuciłeś kod yaml wyrwany z kontekstu, to tylko część kodu dlatego dla nowych osob jest on mało przydatny, nalezy zawsze podawać cały przykładowy kod.

Moc CO przyjmuje 2 stany OFF i HEAT, bo w momencie kiedy wyświetla się OFF cała elektronika i pompy z bufora pracują.

  - name: "Moc CO"
    unit_of_measurement: "W"
    state_class: measurement
    state: >
      {% if is_state('sensor.gree_status_pracy', 'HEAT') or is_state('sensor.gree_status_pracy', 'OFF') %}
      {{ states('sensor.pvmonitor_chwilowa_moc_calkowita_pompy') | float(0) }}
      {% else %}
      0
      {% endif %}

Cały kod wrzucony jest na pastebin w innym temacie na tym forum.

@michael2303
pastebin ma to do siebie, że znika z niego zawartość na dość niejasnych zasadach, więc zdecydowanie lepiej jest wrzucić załącznik zip do posta jeśli objętość tekstu przekracza dopuszczalny rozmiar posta.

:thinking: to pobawię sie w detektywa i poszukam sobie cale forum a wystarczyło podać linka do konkretnego posta na forum - miło, szybko i przyjemnie.

1 polubienie

Kod nadal jest dostępny na pastebin.

Ręce opadają.

Podaj link do pastebin

1 polubienie

Skoro można dublować tematy to proszę modbus: - name: versati3 type: tcp host: 192.168.88.250 port: - Pastebin.com
Ten sam link jest w temacie, który wysłałem w poprzednim poście.
Kolejny link, który również jest w poprzednim temacie i może się przydać
Gree Versati III Air to water heat pump - #22 by Pecator - Feature Requests - Home Assistant Community

Jednak któryś z liczników zlicza nie tak jak trzeba, bo podliczniki CO i CWU powinny dać w sumie całkowite zużycie pompy. Oba podliczniki zrobione według wcześniejszych opisów. Z tego co sprawdziłem początkowy stan zliczania CWU rozpoczyna się od ostatniego stanu CO.
image
Zależność mocy pomiędzy stanami pracy są w porządku

Cześć, trochę niezwiązane z tematem, ale czym mierzysz przepływ? Też mam PC opartą o Gree i zawsze byłem ciekawy jaki jest COP, ale nie na tyle, żeby wpinać przepływomierz :slight_smile:

Mam HA, więc przepływomierz przyszedł z Ali za około 40 zł, do tego ESP które przewalało się i zrobione.