Acties:
  • 0 Henk 'm!

  • nils_vdg
  • Registratie: November 2002
  • Laatst online: 15:59
Die Thermostaat "On" zegt dus niet zo veel.
Yongshi schreef op maandag 7 juli 2025 @ 20:14:
[...]
...
Er mag sowieso niet zo heet water door de vloer, volgens mij gaan dan je slangen kapot. Heb je wel nog een thermostaatkraan op je vloerverdeler? die zou dicht moeten gaan bij zulk warm water.

Heb je met een normale run (legionella bijv) ook dat de vloerverwarming opwarmd of alleen als je zelf aan het 'spelen' bent?
...
Ik heb btw geen thermostaat op de verdelers zitten. Die zijn volledig open omdat alles in de warmtepomp geregeld wordt. Ik heb ook geen pomp op de verdelers.

Zal morgen is kijken wat hij in de legionella stand doet. Volgens mij doet hij dat altijd op dinsdag.

Acties:
  • 0 Henk 'm!

  • Videopac
  • Registratie: November 2000
  • Laatst online: 12:48

Videopac

Rommelt wat aan.

nils_vdg schreef op maandag 7 juli 2025 @ 19:16:
Ik ben recent begonnen met het monitoren van mijn Daikin Altherma warmtepomp met de ESPAltherma.
Ik had eerder daarvoor al een Daikin Wifi module geïnstalleerd voor (beperkte) bediening van de warmtepomp via de app en via mijn Homey.


Nu wil ik een overschot aan energie van de zonnepanelen bufferen, middels het opwarmen van mijn boiler.
Ik merkte dat dit maar zeer beperkt lukte door het inschakelen van de "powerfull" stand van de boiler, maar hij was iedere keer in no-time op de temperatuur van de comfort stand, en dan schakelt de powerfull vanzelf weer uit. Dit had dus nog niet helemaal het gewenste effect.

Ik heb dit nu voor de omzeilt door de verwarmingsplanning volledig op de ECO stand te zetten (comfort zit dus niet meer in de planning).
Vervolgens heb ik de ECO stand staat nu op 38 graden gezet, en de comfort stand op 50 graden.
Als ik nu de powerfull stand aan zet, blijft hij keurig netjes doorverwarmen tot de 50 graden.

Doel bereikt... dacht ik..

[Afbeelding]

[Afbeelding]

Nu zie ik echter ineens dat hij in de powerfull stand van de boiler, ook de vloerverwarming aan gooit. En niet zo'n beetje ook..

Niet zo fijn als het buiten 30°C is om mijn vloer naar de 60°C te gooien 8)7
Laat staan de temperatuurschok van 30 graden verschil in een paar minuten..

Ik zie in mijn dashboard dat hij zelfs de thermostaat van de verwarming aan heeft gezet, en zwaar over mijn stooklijn heen verwarmd. Ook de vloerverwarmingspomp is daarbij gewoon ingeschakeld.

Heeft dat met een bepaalde instelling te maken?
Moet ik ergens instellen dat hij in powerfull modus alleen mijn boiler verwarmd, en niet mijn vloer?
Hij meet die temperatuur wel maar pomp niets. Ik vermoed dat de Tuit-sensor erg dicht bij de 3-wegklep/sww-tank zit en geen goede waarde meet als de sww-tank verwarmt wordt,

Asustor AS6704T (32GB, 4x16TB MG08), OpenWrt (3x GL.iNet Flint 2 MT6000), Lyrion Media Server, Odroid H2/N2+/C4/C2, DS918+ (4x8TB WD RED)


Acties:
  • 0 Henk 'm!

  • nils_vdg
  • Registratie: November 2002
  • Laatst online: 15:59
Zou mooi zijn als dat het is, dan zou er niks aan de hand zijn.

Ik zal zo de temperaturen op de vloerverwarming verdelers zelf is bekijken als hij voor de anti legionella stand naar 60 graden gaat verwarmen.

Acties:
  • 0 Henk 'm!

  • MrRobin
  • Registratie: Augustus 2011
  • Laatst online: 15:08
Dat heeft weinig zin als je een wand model hebt met losse watertank, want dan gaat het laatste stuk verwarmen (>52c) volledig op de BSH, een elektrisch element en stroomt er dus geen water, wat dus ook niet naar je verdelers kan stromen. Als je een vloermodel hebt, begrijp ik dat je geen BSH hebt maar legionella doet op de BUH, en dan houd je dus de hele run een pomp in bedrijf.

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Nu online
Ik heb zelf met een script in HA de status van de 3-weg klep afgevangen . Zie ik gelijk wat de WP aan het doen is, SWW of Ruimte verwarming. Dit werkt goed. Je kunt dan tevens automatisch de CoP per stand uitrekenen (mits je een juiste kWh meting in gebruik hebt).
Als de WP in stand ruimteverwarming staat maar er is geen vraag door de thermostaat dan staat hij in Stand-by modus. Zodra de thermostaat bijkomt kijken we naar de stand van de 3-weg klep.

(foto's zijn niet actueel met uitzondering van de eerste, is even om aan te geven wat er mogelijk is).

Ik heb zelf een zonneboiler in gebruik dus deze periode levert de zonneboiler al het warme SWW water.

Afbeeldingslocatie: https://tweakers.net/i/WmFgmMP0jNjQdoYQrultFml8lc4=/x800/filters:strip_icc():strip_exif()/f/image/CyI5xC0Na7m13z2xesz38s39.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/HyqnMQmEmsHkBnZLNfzjVP5TFsY=/x800/filters:strip_icc():strip_exif()/f/image/TBFoGWBZR33C4aMnMoLYUIrY.jpg?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/bCm6O_zOyKLt4aHz1AdxhmM41kA=/x800/filters:strip_icc():strip_exif()/f/image/z48CVlA2S6E5Ffh3CitXFvjd.jpg?f=fotoalbum_large

[ Voor 3% gewijzigd door benthouse op 08-07-2025 16:47 ]


Acties:
  • 0 Henk 'm!

  • nils_vdg
  • Registratie: November 2002
  • Laatst online: 15:59
MrRobin schreef op dinsdag 8 juli 2025 @ 12:38:
Dat heeft weinig zin als je een wand model hebt met losse watertank, want dan gaat het laatste stuk verwarmen (>52c) volledig op de BSH, een elektrisch element en stroomt er dus geen water, wat dus ook niet naar je verdelers kan stromen. Als je een vloermodel hebt, begrijp ik dat je geen BSH hebt maar legionella doet op de BUH, en dan houd je dus de hele run een pomp in bedrijf.
Ik heb een lucht/lucht warmtepomp met ingebouwde 230L boiler, dus alles wordt geregeld vanuit dezelfde unit.

Vandaag tijdens de anti-legionella verwarming gezien dat het dashboard er precies hetzelfde uit ziet.
Teglijkertijd op de verdelers gezien dat de vloerverwarming keurig 20°C blijft.

De temperaturen die hij dus weergeeft zijn dus niet specifiek van de vloerverwarming, maar puur in/uit van de warmtewisselaar.

Ik had het dashboard van de startpost gekopieerd en geplakt (zonder eigen kennis van home assistant of de Daikin te hebben), en ging er vanuit de temperaturen dus specifiek van de vloerverwarming waren, maar dat is dus gelukkig niet correct. :)
benthouse schreef op dinsdag 8 juli 2025 @ 16:45:
Ik heb zelf met een script in HA de status van de 3-weg klep afgevangen..
Dat ziet er zeker handig uit! Ik zal de ESP even opnieuw moeten flashen, want ik krijg nu de 3-wegklep status nog niet binnen.
En dan nog even wegwijs worden in Home Assistant om zoiets te bouwen.. maar daarvoor nog een hoop te leren.

Mijn zorgen voor nu zijn in ieder geval opgelost. :)

Acties:
  • 0 Henk 'm!

  • Roekeloos
  • Registratie: Februari 2011
  • Laatst online: 17:01
Als je de Altherma wilt aansturen en een wifi module hebt, probeer dan eens om (bijvoorbeeld met Home Assistant) de thermostaten van de boilersturing en de ruimte verwarming/koeling te beïnvloeden. Werkt bij mij geweldig.

Ik moet wel zeggen dat ik stuur op dynamische energieprijzen. Als je wilt sturen op PV overschot, zal een warmtepomp per definitie te traag reageren.

Acties:
  • 0 Henk 'm!

  • nils_vdg
  • Registratie: November 2002
  • Laatst online: 15:59
Voor PV overschot gebruik ik de BUH, dus de elektrische bijverwarming. Dat werkt ook gewoon goed en snel. Alleen moet je wel veel overschot hebben voordat dit mogelijk is want je vraagt dan ook direct 3kW.

Acties:
  • 0 Henk 'm!

  • antoj
  • Registratie: September 2019
  • Laatst online: 21-07 00:43
Wat mooi dat dee topic bestaat!

Ik wil dit gaan opzetten maar heb een altherma die niet in de lijst staat.

Ik heb een Daikin altherma LT3 Bluevolution 6.0 kW zoals hier besproken.

Welke espaltherma versie zouden jullie aanraden hier te gebruiken als instellingen ?

Acties:
  • +1 Henk 'm!

  • MrRobin
  • Registratie: Augustus 2011
  • Laatst online: 15:08
Een lt3 bluevolution zegt me niet zo veel. Ik denk dat je even op zoek moet naar een sticker op je warmtepomp die je vertelt wat het exacte typenummer is dat je hebt. Net zoals een iPhone 16 formeel iphone model a1281 (voorbeeld) heet. Of navragen bij je installateur. Als je de daikin onecta app gebruikt kan je het daar ook terug vinden denk ik

Acties:
  • 0 Henk 'm!

  • antoj
  • Registratie: September 2019
  • Laatst online: 21-07 00:43
Dank voor je antwoord!

Het was eve zoeken maar ik heb een EHBH08EF6V, en die staat er niet tussen :(

Acties:
  • +1 Henk 'm!

  • D-Three
  • Registratie: Oktober 2001
  • Laatst online: 21:08
antoj schreef op donderdag 10 juli 2025 @ 22:25:
Dank voor je antwoord!

Het was eve zoeken maar ik heb een EHBH08EF6V, en die staat er niet tussen :(
Zoek eens in dit topic op dat typenummer, dan vind je enkele mogelijkheden.

Acties:
  • +1 Henk 'm!

  • antoj
  • Registratie: September 2019
  • Laatst online: 21-07 00:43
D-Three schreef op vrijdag 11 juli 2025 @ 00:37:
[...]

Zoek eens in dit topic op dat typenummer, dan vind je enkele mogelijkheden.
Wauw goeie tip. stom dat ik daar niet op ben gekomen. Kwam niet op het idee naar dat type nummer te zoeken. dank.

Acties:
  • 0 Henk 'm!

  • Videopac
  • Registratie: November 2000
  • Laatst online: 12:48

Videopac

Rommelt wat aan.

Ik heb mijn hele lokale netwerk verbouwd i.v.m. Wireguard; van 192.169.1.x naar 192.168.44.x, dus ik dacht ik haal die M5stick uit mijn warmtepomp en flash daar de nieuwe gegevens op, maar ik krijg dat M5stickje niet meer aan de praat. Hij leek te hangen en ik heb hem vervolgens "uit" kunnen zetten met het knopje links van M5. Het schermpje werd toen zwart. Maar ik krijg hem niet meer "aan". Ik schijf uit/aan tussen haakjes omdat ik nog wel opnieuw naar de M5Stick kan flashen, maar als ik hem weer in de warmtepomp aansluit krijg ik geen gegevens in mijn HA dashboard. Afgezien van het IP-adres van mijn HA heb ik in de code niets veranderd. Iemand een idee hoe ik die M5stick weer aan de praat krijg? Ik heb al 2-6 seconden op die linkerknop gedrukt: daarmee zou hij weer aan moeten gaan.

Asustor AS6704T (32GB, 4x16TB MG08), OpenWrt (3x GL.iNet Flint 2 MT6000), Lyrion Media Server, Odroid H2/N2+/C4/C2, DS918+ (4x8TB WD RED)


Acties:
  • 0 Henk 'm!

  • BurnoutVmax
  • Registratie: September 2023
  • Laatst online: 22-10 20:29
Heb sinds kort de Altherma 4 staan. EPBX10A4V binnenunit, EPSK06AV3 buitenunit, EKHWSP200D3V3 Boilervat en Madoka thermostaat.
De Wifi module via onecta geven mij diverse sensoren in Home Assistant, maar via ESPAltherma krijg ik nog niet de juiste sensoren/waardes binnen.

Heb al veel zitten spelen met de diverse bekende registers, maar heb geen juiste waardes voor diverse sensoren;

Leaving water temp. before BUH (R1T): 40.6
Leaving water temp. after BUH (R2T): 42.6
Refrig. Temp. liquid side (R3T): 0
Inlet water temp.(R4T): 0
DHW tank temp. (R5T): -40.6
Indoor ambient temp. (R1T): 0.4
Ext. outdoor ambient sensor (R6T): 0

Iemand een idee hoe ik de juiste registers en/of waarden kan achterhalen voor een Altherma 4 ?

Acties:
  • 0 Henk 'm!

  • Jens85
  • Registratie: December 2015
  • Laatst online: 23-10 21:51
Ik maak inmiddeld bijna driekwart jaar met plezier gebruik van ESPAltherma! Dank aan alle bijdragen in dit forum :)

Nu heb ik een vraagje, Ik heb de laatste tijd wat problemen met mijn warmterpomp. Hij gaat niet verwarmen op de momenten dat het buiten 'te warm' is. Ik verwarm mijn watertank dagelijks om 16:00 naar 44 graden. Dat zou in principe altijd moeten werken, tenzij het buiten warmer is dan 35 graden.

Nu weet ik dat de buitenunit de temperatuur niet door geeft aan ESPAltherma als de buitenunit in standby staat. Is er een andere sensor beschikbaar die simpelweg aan geeft of de compressor vanwegen de buitentemperatuur bescherming niet kan worden ingeschakeld?
Ik zou graag willen inzien wanneer mijn compressor vindt dat het buiten te warm is. Of eigenlijk nog beter, ik wil weten tot welke temperatuur de compressor op moment x mijn water kan verwarmen.

  • Jens85
  • Registratie: December 2015
  • Laatst online: 23-10 21:51
Ik ben nog een beetje door de handleiding gegaan en heb nu de energie bespaar functie uitgezet. De temperatuur lijkt nu wel netjes bij te werken. Ik moet wel nog even uitzoeken welke prijs ik hiervoor betaal in de zin van standby verbruik. Maar als ik hierdoor mijn machine beter kan aansturen is het standby verliers het misschien wel waard.

Het is me alleen nog niet helemaal duidelijk hoe ik het standby verbruik uit kan lezen.

Acties:
  • 0 Henk 'm!

  • doomoo
  • Registratie: Oktober 2018
  • Laatst online: 08:41
Goedemorgen,

Wij hebben een daikin warmtepomp:
Type warmtepomp: EBLA09DA3W1
Type Boiler: EKHWS300D3V3
Type Madoka: brc1hhdw

Ook heb in de m5stickC plus aangeschaft en aan het u bouwen

Wij hebben echter geen brp069a78 lan controller.

Wat mij niet duidelijk is:

Heeft dit alleen impact op het kunnen aansturen van de warmtepomp of ook op het uitlezen van sensoren/attributen?

WarmtePomp Daikin EBLA09DA3W1 || Boiler: Daikin EKHWS300D3V3 || Thermostaat: Daikin BRC1HHDW || Pelletkachel: Nordic Fire Ilvar 9KW || Zonnepanelen: 21x a 7,7 kwP


Acties:
  • 0 Henk 'm!

  • mawashigeri
  • Registratie: November 2002
  • Laatst online: 21:53
doomoo schreef op woensdag 8 oktober 2025 @ 09:25:
Goedemorgen,

Wij hebben een daikin warmtepomp:
Type warmtepomp: EBLA09DA3W1
Type Boiler: EKHWS300D3V3
Type Madoka: brc1hhdw

Ook heb in de m5stickC plus aangeschaft en aan het u bouwen

Wij hebben echter geen brp069a78 lan controller.

Wat mij niet duidelijk is:

Heeft dit alleen impact op het kunnen aansturen van de warmtepomp of ook op het uitlezen van sensoren/attributen?
De ESP32/Altherma stick is een geheel eigen systeem met eigen WiFi, je prikt die op de seriële uitgang van een printplaat in de WP.

Als je de BRP069A78 niet hebt zou ik de installateur nog maar eens bevragen, volgens mij hoort die er standaard bij. In mijn geval zat 'ie ergens verstopt tussen de documentatie. Je hebt deze module niet echt nodig, maar voor telefoon/app besturing is het wel handig.

ERGA06EVH / EHVX08S23EJ6V / ESPaltherma


Acties:
  • 0 Henk 'm!

  • doomoo
  • Registratie: Oktober 2018
  • Laatst online: 08:41
mawashigeri schreef op woensdag 8 oktober 2025 @ 09:52:
[...]

De ESP32/Altherma stick is een geheel eigen systeem met eigen WiFi, je prikt die op de seriële uitgang van een printplaat in de WP.

Als je de BRP069A78 niet hebt zou ik de installateur nog maar eens bevragen, volgens mij hoort die er standaard bij. In mijn geval zat 'ie ergens verstopt tussen de documentatie. Je hebt deze module niet echt nodig, maar voor telefoon/app besturing is het wel handig.
Volgens de daikin site is de module optioneel voor onze warmtepomp. De installateur die de pomp voor de vorige bewoners geplaatst heeft gaf aan dat ie er niet bij zat.

Ging mij er meer om of ik iets niet kon uitlezen zonder de adapter, het aansturen kan ik altijd nog via andere wegen gebeuren.

WarmtePomp Daikin EBLA09DA3W1 || Boiler: Daikin EKHWS300D3V3 || Thermostaat: Daikin BRC1HHDW || Pelletkachel: Nordic Fire Ilvar 9KW || Zonnepanelen: 21x a 7,7 kwP


Acties:
  • 0 Henk 'm!

  • Toppe
  • Registratie: Januari 2004
  • Laatst online: 14:59

Toppe

Oké ✅

Topicstarter
Hier mensen die toevallig de COP sensor al verbeterd hebben?

Dit is m'n oude:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
      - name: "Working COP"
        unit_of_measurement: "COP"
        state_class: measurement
        state: >-
          {% if states('sensor.thermostat') == 'OFF'  %}
          {% set cop = 0.0 | float %} 
          {% elif states('sensor.thermostat') == 'ON' 
            or states('sensor.inverter_usage') |float >90 %}
          {% set t1 = states('sensor.water_leaving_temperature') | float %}
          {% set t2 = states('sensor.water_inlet_temperature') | float %}
          {% set f = states('sensor.flowpump') | float %}
          {% set pw = states('sensor.inverter_usage') | float %}
          {% set pwg = ((t1 - t2)*f) / 60 * 4184 | float %}
          {% set cop = pwg / pw | float  %}
            {% endif %}
          {% if cop != 0.0 %}
          {{ cop | float | round(1) }}
            {% else %}
          {% endif %}


Maar ondertussen heb ik ook een eigen energiemeter er tussen zitten en vraag me af of dit nog de meest accurate informatie oplevert...

Donstil: Je moet kopen wat je wilt hebben. Niet wat je nodig hebt!


Acties:
  • +1 Henk 'm!

  • mawashigeri
  • Registratie: November 2002
  • Laatst online: 21:53
Toppe schreef op zaterdag 11 oktober 2025 @ 18:41:
Hier mensen die toevallig de COP sensor al verbeterd hebben?

Dit is m'n oude:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
      - name: "Working COP"
        unit_of_measurement: "COP"
        state_class: measurement
        state: >-
          {% if states('sensor.thermostat') == 'OFF'  %}
          {% set cop = 0.0 | float %} 
          {% elif states('sensor.thermostat') == 'ON' 
            or states('sensor.inverter_usage') |float >90 %}
          {% set t1 = states('sensor.water_leaving_temperature') | float %}
          {% set t2 = states('sensor.water_inlet_temperature') | float %}
          {% set f = states('sensor.flowpump') | float %}
          {% set pw = states('sensor.inverter_usage') | float %}
          {% set pwg = ((t1 - t2)*f) / 60 * 4184 | float %}
          {% set cop = pwg / pw | float  %}
            {% endif %}
          {% if cop != 0.0 %}
          {{ cop | float | round(1) }}
            {% else %}
          {% endif %}


Maar ondertussen heb ik ook een eigen energiemeter er tussen zitten en vraag me af of dit nog de meest accurate informatie oplevert...
Dit is de mijne (als template), al heel lang overigens
code:
1
2
3
4
5
6
7
8
9
10
11
12
{% set current = state_attr('sensor.altherma','INV primary current (A)')|float %}
{% if is_state_attr('sensor.altherma','Operation Mode', 'Heating')
   and is_state_attr('sensor.altherma','Freeze Protection', 'OFF')
   and (0.0 < current)
%}
  {% set vflow = state_attr('sensor.altherma','Flow sensor (l/min)')|float %}
  {% set leave = state_attr('sensor.altherma','Leaving water temp. after BUH (R2T)')|float %}
  {% set inlet = state_attr('sensor.altherma','Inlet water temp.(R4T)')|float %}
  {{ 0.303016 * vflow * (leave-inlet) / current | round(1)}}
{% else %} 
  0 
{% endif %}"


Edit: we hebben dus allebei 230V hardcoded: (4184/60)/230=0.303188
Ik ga uit van 'correcte' basiscijfers (4190 = soortelijke warmte van water en 0.998 als soortelijke massa van water geeft 4190*0.998=4181.62) dus de getalletjes zijn niet precies gelijk.
Zie ook een oude post waarin de basisberekening staat.

[ Voor 9% gewijzigd door mawashigeri op 11-10-2025 19:37 ]

ERGA06EVH / EHVX08S23EJ6V / ESPaltherma


Acties:
  • 0 Henk 'm!

  • doomoo
  • Registratie: Oktober 2018
  • Laatst online: 08:41
Klopt het dat de COP berekeningen uitgaan van 1 fase? Wij hebben de warmtepomp EBLA09DA3W1 wat een 3-fase pomp is.
Nu zie ik hier oplossingen voorbij komen zoals Voltage /1000*3, echter zie ik de voltage niet als optie (Altherma(EBLA-EDLA D series 9-16kW Monobloc).h)

Verder lees ik hier weinig over, dus voordat ik allerlei onnodige complexiteit ga verzinnen voor een COP berekening was ik benieuwd of ik nu een probleem zoek wat er niet is of iets over het hoofd zie.

WarmtePomp Daikin EBLA09DA3W1 || Boiler: Daikin EKHWS300D3V3 || Thermostaat: Daikin BRC1HHDW || Pelletkachel: Nordic Fire Ilvar 9KW || Zonnepanelen: 21x a 7,7 kwP


Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Nu online
doomoo schreef op woensdag 15 oktober 2025 @ 14:04:
Klopt het dat de COP berekeningen uitgaan van 1 fase? Wij hebben de warmtepomp EBLA09DA3W1 wat een 3-fase pomp is.
Nu zie ik hier oplossingen voorbij komen zoals Voltage /1000*3, echter zie ik de voltage niet als optie (Altherma(EBLA-EDLA D series 9-16kW Monobloc).h)

Verder lees ik hier weinig over, dus voordat ik allerlei onnodige complexiteit ga verzinnen voor een COP berekening was ik benieuwd of ik nu een probleem zoek wat er niet is of iets over het hoofd zie.
Ik heb een EDLA09DAW1 op 3 fasen. Ik zal mijn scripts hier volgende week even delen voor die unit. Zit ook COP berekening bij.

Acties:
  • 0 Henk 'm!

  • Senaxx
  • Registratie: December 2010
  • Laatst online: 24-10 16:57
benthouse schreef op woensdag 15 oktober 2025 @ 21:22:
[...]


Ik heb een EDLA09DAW1 op 3 fasen. Ik zal mijn scripts hier volgende week even delen voor die unit. Zit ook COP berekening bij.
Oh daar ben ik wel benieuwd naar, zelf hebben wij de EDLA14DAW1 en heb wel eens een paar pogingen gedaan maar altijd het gevoel gehad dat het niet exact klopte.

Acties:
  • +1 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Nu online
Senaxx schreef op zaterdag 18 oktober 2025 @ 17:05:
[...]


Oh daar ben ik wel benieuwd naar, zelf hebben wij de EDLA14DAW1 en heb wel eens een paar pogingen gedaan maar altijd het gevoel gehad dat het niet exact klopte.
Ik ben net thuis na paar weken buitenland voor werkgever. Ik kom er komende week op terug. Zal mijn configuratie van ESP32 stick posten en ook de config file voor Home Assistant. Ik gebruik een Eastron energiemeter met Modbus koppeling voor de echte energieverbruiks meting. Die van de WP wijkt namelijk af. In mij HA registreer ik ook de stand by energiekosten.

Acties:
  • 0 Henk 'm!

  • Stanvv
  • Registratie: Juni 2014
  • Laatst online: 20:36
Hier inmiddels ook het meeste aan de praat gekregen, alleen alles aan energy gerelateerd (COP / heat yield / inverter verbuik) bleef steeds op 0. Dat kwam omdat de 'Thermostat ON/OFF' op OFF bleef staan, ook terwijl ik weet dat deze wel eens aan staat.
Als test maar eens 'Ext. Thermostat ON/OFF' toegevoegd en warempel: deze gaat dus wel naar ON als de verwarming aan gaat.

Meer mensen die dit hebben? Qua configuratie:
  • ik heb een EBLA06E23V3, dus 6 kW versie monoblock, inclusief vloerkoeling + 250 L SWW
  • ik gebruik Altherma(EBLA-EDLA D series 4-8kW Monobloc).h, met daarbij o.a. de volgende twee regels uitgecomment:
  • {0x10,1,307,1,-1,"Thermostat ON/OFF"},
  • {0x60,2,303,1,-1,"Ext. Thermostat ON/OFF"},

Acties:
  • +3 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Nu online
Senaxx schreef op zaterdag 18 oktober 2025 @ 17:05:
[...]


Oh daar ben ik wel benieuwd naar, zelf hebben wij de EDLA14DAW1 en heb wel eens een paar pogingen gedaan maar altijd het gevoel gehad dat het niet exact klopte.
ESPAltherma-main\SRC\Setup.h:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
//Setup your credentials and mqtt info here:
//only change the value between the " " leave the rest of the line untouched.
#define WIFI_SSID "WiFi SSID "//**Your WiFi SSID here**
#define WIFI_PWD "WiFi Password"//**Your WiFi password here** leave empty if open (bad!)

//Uncomment this to set a static IP instead of DHCP for the ESP (Separate by commas instead of dots)
#define WIFI_IP 192, 168, 1, 20 //IP Address from the ESP32 stick
#define WIFI_SUBNET 255, 255, 255, 0 //Subnetmaskrelated to IP Address from the ESP32 stick 
#define WIFI_GATEWAY 192, 168, 1, 1 // Wifi Gateway Address ( mostly your main router IP)
#define WIFI_PRIMARY_DNS 8, 8, 8, 8     //A DNS address is needed, even if it's not used 
#define WIFI_SECONDARY_DNS 8, 8, 4, 4   //A DNS address is needed, even if it's not used

#define MQTT_SERVER "192.168.1.17"//**IP address here of your MQTT server**
#define MQTT_USERNAME " "//Username MQTT Server leave empty if not set (bad!)
#define MQTT_PASSWORD " "//Password MQTT Server leave empty if not set (bad!)
#define MQTT_PORT 1883 //MQTT Server port address
//#define MQTT_ENCRYPTED // uncomment if MQTT connection is encrypted via TLS

#define FREQUENCY 10000 //query values every 10 sec (standard value 30000, 30sec)

#if defined(ARDUINO_M5Stick_C) || defined(ARDUINO_M5Stick_C_Plus) || defined(ARDUINO_M5Stick_C_Plus2)  || defined(ARDUINO_M5Stack_Tough)
// Values used when M5StickC, M5STickCPlus or M5Stick_C_Plus2 environment is selected:
#define RX_PIN    36// Pin connected to the TX pin of X10A 
#define TX_PIN    26// Pin connected to the RX pin of X10A
#else 
//Default GPIO PINs for Serial2:
#define RX_PIN    16// Pin connected to the TX pin of X10A 
#define TX_PIN    17// Pin connected to the RX pin of X10A
#endif

#define PIN_THERM 0// Pin connected to the thermostat relay (normally open)
#define PIN_THERM_ACTIVE_STATE HIGH// State to trigger the thermostat relay

//Smart grid control - Optional:
//Uncomment and set to enable SG mqtt functions
//#define PIN_SG1 32// Pin connected to dry contact SG 1 relay (normally open)
//#define PIN_SG2 33// Pin connected to dry contact SG 2 relay (normally open)
// Define if your SG relay board is Low or High triggered (signal pins)
// Only uncomment one of them
#define SG_RELAY_HIGH_TRIGGER
//#define SG_RELAY_LOW_TRIGGER

// Safety relay - also called Prefered electric fare - Optional
// If the safety relay is triggered, the heat pump will be stopped
// uncomment and set to enable the safety relay
// #define SAFETY_RELAY_PIN 33// Pin connected to the safety relay
// #define SAFETY_RELAY_ACTIVE_STATE HIGH// Pin connected to the safety relay


// DO NOT CHANGE: Defines the SG active/inactive relay states, according to the definition of the trigger status
#if defined(SG_RELAY_LOW_TRIGGER)
#define SG_RELAY_ACTIVE_STATE LOW
#define SG_RELAY_INACTIVE_STATE HIGH
#else
#define SG_RELAY_ACTIVE_STATE HIGH
#define SG_RELAY_INACTIVE_STATE LOW
#endif

#define MAX_MSG_SIZE 7120//max size of the json message sent in mqtt 

//Uncomment this line if the JSON message should be in a Json Table format []. Use only for IOBroker Vis. 
//#define JSONTABLE

//Uncomment this if you want to activate the One Value <-> One Topic mode. Each value will be sent to a specific topic below 
// #define ONEVAL_ONETOPIC
// #define MQTT_OneTopic "espaltherma/OneATTR/" //Keep the ending "/" !!

//Uncomment to disable common frequent log messages via MQTT to reduce network load
//#define DISABLE_LOG_MESSAGES


//Uncomment *ONE* of the following according to your installation.
//Then, open and edit the selected file in the /include/def/ folder and uncomment each values you are interested in.

//To use a locale version eg German, change the path to the file to the localized version. 

//Eg:
//instead of: #include "def/Altherma(EGSQH-A series 10kW GEO2).h" 
//use: 
//            #include "def/German/Altherma(EGSQH-A series 10kW GEO2).h"
//
//Suported locales: French, German, Spanish.

//#include "def/DEFAULT.h"

//#include "def/Altherma(EBLA-EDLA D series 4-8kW Monobloc).h"
#include "def/Altherma(EBLA-EDLA D series 9-16kW Monobloc).h"
//#include "def/Altherma(EGSAH-X-EWSAH-X-D series 6-10kW GEO3).h"
//#include "def/Altherma(EGSQH-A series 10kW GEO2).h"
//#include "def/Altherma(EPGA D EAB-EAV-EAVZ D(J) series 11-16kW).h"
//#include "def/Altherma(EPRA D ETSH-X 16P30-50 D series 14-16kW-ECH2O).h"
//#include "def/Altherma(EPRA D ETV16-ETB16-ETVZ16 D series 14-16kW).h"
//#include "def/Altherma(EPRA D_D7 ETSH-X 16P30-50 E_E7 series 14-18kW-ECH2O).h"
//#include "def/Altherma(EPRA D_D7 ETV16-ETB16-ETVZ16 E_E7 series 14-18kW).h"
//#include "def/Altherma(EPRA E ETSH-X 16P30-50 E series 8-12kW-ECH2O).h"
//#include "def/Altherma(EPRA E ETV16-ETB16-ETVZ16 E_EJ series 8-12kW).h"
//#include "def/Altherma(ERGA D EHSH-X P30-50 D series 04-08kW-ECH2O).h"
//#include "def/Altherma(ERGA D EHV-EHB-EHVZ DA series 04-08kW).h"
//#include "def/Altherma(ERGA D EHV-EHB-EHVZ DJ series 04-08 kW).h"
//#include "def/Altherma(ERGA E EHSH-X P30-50 E_EF series 04-08kW-ECH2O).h"
//#include "def/Altherma(ERGA E EHV-EHB-EHVZ E_EJ series 04-08kW).h"
//#include "def/Altherma(ERLA D EBSH-X 16P30-50 D SERIES 11-16kW-ECH2O).h"
//#include "def/Altherma(ERLA D EBV-EBB-EBVZ D SERIES 11-16kW).h"
//#include "def/Altherma(ERLA03 D EHFH-EHFZ DJ series 3kW).h"
//#include "def/Altherma(Hybrid).h"
//#include "def/Altherma(LT_CA_CB_04-08kW).h"
//#include "def/Altherma(LT_CA_CB_11-16kW).h"
//#include "def/Altherma(LT_CB_04-08kW Bizone).h"
//#include "def/Altherma(LT_CB_11-16kW Bizone).h"
//#include "def/Altherma(LT_EBLQ-EBLQ-CA series 5-7kW Monobloc).h"
//#include "def/Altherma(LT_EBLQ-EDLQ-CA series 11-16kW Monobloc).h"
//#include "def/Altherma(LT_Multi_DHWHP).h"
//#include "def/Altherma(LT_Multi_Hybrid).h"
//#include "def/Daikin Mini chiller(EWAA-EWYA D series 4-8kW).h"
//#include "def/Daikin Mini chiller(EWAA-EWYA D series 9-16kW).h"
//#include "def/Daikin Mini chiller(EWAQ-EWYQ B series 4-8kW).h"
//#include "def/DEFAULT.h"
//#include "def/EKHWET-BAV3(Multi DHW tank).h"

//#include "def/PROTOCOL_S_ROTEX.h"
//#include "def/PROTOCOL_S.h"


#ifndef LABELDEF
#warning "NO DEFINITION SELECTED: Please select your heat pump definition in /src/setup.h -- Using default."
#include "def/DEFAULT.h"
#endif

// Default to "Protocol I"
#ifndef PROTOCOL
#define PROTOCOL 'I'
#endif


Er is een onderscheid in de ESPAltherma bestanden (daarin moet je de in het bestand ESPAltherma-main\SRC het bestandje setup aanpassen naar je eigen Wifi en MQTT instellingen. Rest kan je zo overnemen.

In het bestand ESPAltherma-main\Include\def\Altherma(EBLA-EDLA D series 9-16kW Monobloc) de volgende configuratie plakken (de coderingen van de sensoren komen overeen met die van Daikin)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
#include "labeldef.h"
//  This file is a definition file for ESPAtherma
//  uncomment each value you want to query for your installation.


LabelDef labelDefs[] = {
//{0x00,0,802,0,-1,"*Refrigerant type"},
//{0x00,0,152,1,-1,"Sensor Data Qty"},
//{0x00,1,152,1,-1,"INV compressor Qty"},
//{0x00,2,152,1,-1,"STD compressor Qty"},
//{0x00,3,152,1,-1,"Fan Data Qty"},
//{0x00,4,152,1,-1,"Expansion Valve Data Qty"},
//{0x00,5,152,1,-1,"4 Way Valve Data Qty"},
//{0x00,6,152,1,-1,"Crank Case Heater Qty"},
//{0x00,7,152,1,-1,"Solenoid valve Qty"},
//{0x00,8,152,1,-1,"Max. connectable indoor units"},
//{0x00,9,152,1,-1,"Connected Indoor Unit Qty"},
//{0x00,10,152,1,-1,"O/U MPU ID (xx)"},
//{0x00,11,152,1,-1,"O/U MPU ID (yy)"},
//{0x00,12,105,1,-1,"O/U capacity (kW)"},
{0x10,0,217,1,-1,"Operation Mode"},
{0x10,1,307,1,-1,"Thermostat ON/OFF"},
{0x10,1,306,1,-1,"Restart standby"},
{0x10,1,305,1,-1,"Startup Control"},
{0x10,1,304,1,-1,"Defrost Operation"},
//{0x10,1,303,1,-1,"Oil Return Operation"},
//{0x10,1,302,1,-1,"Pressure equalizing operation"},
//{0x10,1,301,1,-1,"Demand Signal"},
//{0x10,1,300,1,-1,"Low noise control"},
{0x10,4,203,1,-1,"Error type"},
{0x10,5,204,1,-1,"Error Code"},
//{0x10,6,114,2,1,"Target Evaporator Temp."},
//{0x10,8,114,2,1,"Target Condensor Temp."},
//{0x10,10,307,1,-1,"Discharge Temp. Drop"},
//{0x10,10,310,1,-1,"Discharge Temp. Protection Retry Qty"},
//{0x10,10,303,1,-1,"Comp. INV Current Drop"},
//{0x10,10,311,1,-1,"Comp. INV Current Protection Retry Qty"},
//{0x10,11,307,1,-1,"HP Drop Control"},
//{0x10,11,310,1,-1,"HP Protection Retry Qty"},
//{0x10,11,303,1,-1,"LP Drop Control"},
//{0x10,11,311,1,-1,"LP Protection Retry Qty"},
//{0x10,12,307,1,-1,"Fin Temp. Drop Control"},
//{0x10,12,310,1,-1,"Fin Temp. Protection Retry Qty"},
//{0x10,12,303,1,-1,"Other Drop Control"},
//{0x10,12,311,1,-1,"Not in use"},
//{0x11,0,215,1,-1,"O/U EEPROM (1st digit)"},
//{0x11,1,215,1,-1,"O/U EEPROM (3rd 4th digit)"},
//{0x11,2,215,1,-1,"O/U EEPROM (5th 6th digit)"},
//{0x11,3,215,1,-1,"O/U EEPROM (7th 8th digit)"},
//{0x11,4,215,1,-1,"O/U EEPROM (10th digit)"},
//{0x11,5,214,1,-1,"O/U EEPROM (11th digit)"},
//{0x00,0,995,1,-1,"NextDataGrid"},
{0x20,0,105,2,1,"R1T-Outdoor air temp."},
{0x20,2,105,2,1,"R4T-Air Heat Exchanger Temp."},
{0x20,4,105,2,1,"R2T-Compressor Discharge Temp."},
{0x20,6,105,2,1,"R3T-Compressor Suction Temp."},
{0x20,8,105,2,1,"R5T-Air Heat Exchanger mid-Temp."},
//{0x20,10,105,2,1,"Liquid pipe temp.(R6T)"},
{0x20,12,105,2,2,"High Pressure"},
{0x20,12,405,2,1,"High Pressure(T)"},
{0x20,14,105,2,2,"Low Pressure"},
{0x20,14,405,2,1,"Low Pressure(T)"},
{0x21,0,105,2,-1,"INV primary current (A)"},
{0x21,2,105,2,-1,"INV secondary current (A)"},
{0x21,4,105,2,1,"INV fin Temp."},
//{0x21,6,105,2,1,"Fan1 Fin temp."},
//{0x21,8,105,2,1,"Fan2 Fin temp."},
//{0x21,10,105,2,1,"Compressor outlet temperature"},
//{0x00,0,995,1,-1,"NextDataGrid"},
{0x30,0,152,1,-1,"INV frequency (Hz)"},
{0x30,1,211,1,-1,"Fan 1 (step)"},
//{0x30,2,211,1,-1,"Fan 2 (step)"},
//{0x30,3,151,2,-1,"Expansion valve 1 (pls)"},
//{0x30,5,151,2,-1,"Expansion valve 2 (pls)"},
//{0x30,7,151,2,-1,"Expansion valve 3 (pls)"},
//{0x30,9,151,2,-1,"Expansion valve 4 (pls)"},
//{0x30,11,307,1,-1,"Y1S-4 Way Valve"},
//{0x30,12,307,1,-1,"Crank case heater"},
//{0x30,13,307,1,-1,"Hot gas bypass valve (Y3S)"},
//{0x30,13,306,1,-1,"LP bypass valve (Y2S)"},
//{0x30,13,305,1,-1,"Y3S"},
//{0x00,0,998,1,-1,"In-Out separator"},
//{0xA0,0,119,2,1,"Suction temp"},
//{0xA0,2,119,2,1,"Outdoor heat exchanger temp."},
//{0xA0,4,119,2,1,"Liquid pipe temp."},
//{0xA0,6,119,2,2,"Pressure"},
//{0xA0,8,151,2,-1,"Expansion valve 3 (pls)"},
//{0xA0,10,152,1,-1,"O/U MPU ID"},
//{0xA0,11,152,1,-1,"O/U MPU ID"},
//{0xA0,12,307,1,-1,"HPS operation"},
//{0xA0,12,306,1,-1,"Safeguard operation"},
//{0xA0,12,305,1,-1,"Crank case heater"},
//{0xA0,12,304,1,-1,"Solenoid Valve 3"},
//{0xA0,12,303,1,-1,"Solenoid Valve 2"},
//{0xA0,12,302,1,-1,"Solenoid Valve 1"},
{0xA0,12,301,1,-1,"Y1S-4 Way Valve"},
//{0xA0,12,300,1,-1,"52C Output"},
{0xA0,13,303,1,-1,"Discharge Temp. Drop"},
{0xA0,13,302,1,-1,"During emergency operation"},
//{0xA0,13,301,1,-1,"Indoor unit blowout 50 ° C flag"},
//{0xA0,13,300,1,-1,"Powerful bit (MT setting bit)"},
//{0xA0,14,105,2,1,"Compressor port temperature"},
//{0xA1,0,119,2,1,"(Raw data)Water heat exchanger inlet temp."},
//{0xA1,2,119,2,1,"(Raw data)Water heat exchanger outlet temp."},
//{0xA1,4,302,1,-1,"Liquid INJ solenoid valve (Y4S)"},
//{0xA1,4,301,1,-1,"Bottom Plate Heater"},
//{0xA1,4,300,1,-1,"PHE Heater"},
{0xA1,5,114,2,1,"Target Discharge Temp."},
{0xA1,7,114,2,1,"Target port temperature"},
//{0xA1,9,305,1,-1,"Monobloc setting"},
//{0xA1,9,304,1,-1,"Minichiller setting"},
//{0xA1,9,303,1,-1,"MT setting"},
//{0xA1,9,302,1,-1,"GSHP setting"},
//{0xA1,9,301,1,-1,"Hydro split setting"},
{0xA1,9,300,1,-1,"Alterma LT setting"},
{0x60,0,304,1,-1,"Data Enable/Disable"},
//{0x60,1,152,1,-1,"Indoor Unit Address"},
{0x60,2,315,1,-1,"I/U operation mode"},
//{0x60,2,303,1,-1,"Ext. Thermostat ON/OFF"},
//{0x60,2,302,1,-1,"Freeze Protection"},
//{0x60,2,301,1,-1,"Silent Mode"},
//{0x60,2,300,1,-1,"Freeze Protection for water piping"},
{0x60,3,204,1,-1,"Error Code"},
{0x60,4,152,1,-1,"Error detailed code"},
{0x60,5,203,1,-1,"Error type"},
//{0x60,6,219,1,-1,"I/U capacity code"},
{0x60,7,105,2,1,"DHW setpoint"},
{0x60,9,105,2,1,"LW setpoint"},
//{0x60,11,307,1,-1,"Water flow switch"},
//{0x60,11,306,1,-1,"Thermal protector (Q1L) BUH"},
//{0x60,11,305,1,-1,"Thermal protector BSH"},
//{0x60,11,304,1,-1,"Benefit kWh rate power supply"},
//{0x60,11,303,1,-1,"Solar input"},
//{0x60,11,302,1,-1,"SmartGridContact2"},
//{0x60,11,301,1,-1,"SmartGridContact1"},
//{0x60,11,300,1,-1,"Bivalent Operation"},
//{0x60,12,307,1,-1,"2way valve(On:Heat_Off:Cool)"},
{0x60,12,306,1,-1,"3way valve (On:DHW_Off:Space)"},
{0x60,12,305,1,-1,"BSH"},
//{0x60,12,304,1,-1,"BUH Step1"},
//{0x60,12,303,1,-1,"BUH Step2"},
//{0x60,12,302,1,-1,"Floor loop shut off valve"},
{0x60,12,301,1,-1,"Water pump operation"},
//{0x60,12,300,1,-1,"Solar pump operation"},
//{0x60,13,152,1,-1,"Indoor Option Code"},
//{0x60,15,215,1,-1,"I/U Software ID (xx)"},
//{0x60,14,215,1,-1,"I/U Software ID (yy)"},
//{0x60,16,152,1,-1,"I/U EEPROM Ver."},
//{0x61,0,307,1,-1,"Data Enable/Disable"},
//{0x61,1,152,1,-1,"Indoor Unit Address"},
{0x61,2,105,2,1,"Hydro Module LWT (R1T)"},
//{0x61,4,105,2,1,"Leaving water temp. after BUH (R2T)"},
{0x61,6,105,2,1,"Hydro Module Refrig. Temp. liquid side (R3T)"},
{0x61,8,105,2,1,"Hydro Module Inlet water temp.(R4T)"},
{0x61,10,105,2,1,"DHW tank temperature (R5T)"},
{0x61,12,105,2,1,"Room temperature (R1T)"},
//{0x61,14,105,2,1,"Ext. indoor ambient sensor (R6T)"},
//{0x62,0,307,1,-1,"Data Enable/Disable"},
//{0x62,1,152,1,-1,"Indoor Unit Address"},
{0x62,2,307,1,-1,"DHW Storage Reheat ON/OFF"},
{0x62,2,306,1,-1,"DWH Storage ECO ON/OFF"},
{0x62,2,305,1,-1,"DHW Storage comfort ON/OFF"},
{0x62,2,304,1,-1,"DHW Powerful Operation. ON/OFF"},
{0x62,2,303,1,-1,"Space Heating Operation ON/OFF"},
{0x62,2,302,1,-1,"System OFF (ON:System off)"},
//{0x62,2,301,1,-1,"Not in use"},
//{0x62,2,300,1,-1,"Emergency (indoor) active/not active"},
//{0x62,3,105,2,1,"LW setpoint (add)"},
{0x62,5,105,2,1,"Room temperature setpoint"},
//{0x62,7,307,1,-1,"Add. Ext. RT Input Cool."},
//{0x62,7,306,1,-1,"Add. Ext. RT Input Heat."},
//{0x62,7,305,1,-1,"Main RT Cooling"},
//{0x62,7,304,1,-1,"Main RT Heating"},
//{0x62,7,303,1,-1,"Pwr consumption limit 4"},
//{0x62,7,302,1,-1,"Pwr consumption limit 3"},
//{0x62,7,301,1,-1,"Pwr consumption limit 2"},
//{0x62,7,300,1,-1,"Pwr consumption limit 1"},
//{0x62,8,307,1,-1,"None"},
//{0x62,8,306,1,-1,"Not in use"},
//{0x62,8,305,1,-1,"Not in use"},
//{0x62,8,304,1,-1,"PHE Heater"},
//{0x62,8,303,1,-1,"Tank preheat ON/OFF"},
{0x62,8,302,1,-1,"Circulation pump operation"},
//{0x62,8,301,1,-1,"Alarm output"},
//{0x62,8,300,1,-1,"Space H Operation output"},
{0x62,9,105,2,-1,"Flow sensor (l/min)"},
{0x62,11,105,1,2,"Water system pressure (B1PW)"},
{0x62,12,152,1,-1,"Water pump signal (0:max-100:stop)"},
//{0x62,13,152,1,-1,"[Future] 3 way Valve Mixing 1"},
//{0x62,14,152,1,-1,"[Future] 3 way Valve Mixing 2"},
{0x62,15,105,2,2,"Refrigerant pressure sensor (S1NPH)"},
//{0x63,0,307,1,-1,"Data Enable/Disable"},
//{0x63,1,152,1,-1,"Indoor Unit Address"},
//{0x63,2,215,1,-1,"I/U EEPROM (3rd digit)"},
//{0x63,3,215,1,-1,"I/U EEPROM (4th 5th digit)"},
//{0x63,4,215,1,-1,"I/U EEPROM (6th 7th digit)"},
//{0x63,5,215,1,-1,"I/U EEPROM (8th 9th digit)"},
//{0x63,6,215,1,-1,"I/U EEPROM (11th digit)"},
//{0x63,7,215,1,-1,"I/U EEPROM (12th digit)(rev.)"},
//{0x63,8,215,1,-1,"Not in use"},
//{0x63,9,215,1,-1,"Not in use"},
//{0x63,10,215,1,-1,"Not in use"},
//{0x63,11,215,1,-1,"Not in use"},
//{0x63,12,215,1,-1,"Not in use"},
//{0x63,13,311,1,-1,"BUH output capacity"},
//{0x63,14,161,1,-1,"Current measured by CT sensor of L1"},
//{0x63,15,161,1,-1,"Current measured by CT sensor of L2"},
//{0x63,16,307,1,-1,"HP Forced FG"},
//{0x63,16,161,1,-1,"Current measured by CT sensor of L3"},
//{0x64,0,307,1,-1,"Data Enable/Disable"},
//{0x64,1,152,1,-1,"Indoor Unit Address"},
//{0x64,2,316,1,-1,"Hybrid Op. Mode"},
//{0x64,2,303,1,-1,"Boiler Operation Demand"},
//{0x64,2,302,1,-1,"Boiler DHW Demand"},
//{0x64,2,301,1,-1,"Bypass Valve Output"},
//{0x64,3,105,2,-1,"BE_COP"},
//{0x64,5,105,2,1,"Hybrid Heating Target Temp."},
{0x64,7,105,2,1,"Boiler Heating Target Temp."},
//{0x64,9,302,1,-1,"Add pump"},
//{0x64,9,301,1,-1,"Main pump"},
//{0x64,10,118,2,1,"Mixed water temp."},
//{0x64,12,105,2,1,"2nd Domestic hot water temperature"},
{0x64,14,152,1,1,"Target delta T heating"},
//{0x64,15,152,1,1,"Target delta T cooling"},
//{0x65,0,307,1,-1,"Data Enable/Disable"},
//{0x65,1,152,2,-1,"Indoor Unit Address"},
//{0x65,2,105,2,1,"Outlet water heat exchanger temp (hydro split model) DLWB2"},
//{0x65,4,105,2,1,"[EKMIK] Bizone kit mixed leaving water temperature R1T"},
//{0x65,6,101,1,-1,"[EKMIK] Bizone kit mix valve position M1S"},
};


In Home Assistant heb ik een YAML file voor de Daikin EDLA/EBLA warmtepomp die dus qua variabelen gekoppeld is aan bovenstaande config file op de ESPAltherma

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
#
template:
#
    - binary_sensor:
#
      - name: "Defrost Operation-binary"
        icon: mdi:snowflake-melt
        state: "{{ state_attr('sensor.althermasensors','Defrost Operation') }}"
        unique_id: "espaltherma.Defrost_Operation_ON/OFF_binary"      
#
      - name: "Thermostat-binary"
        state: "{{ state_attr('sensor.althermasensors','Thermostat ON/OFF') }}"
        unique_id: "espaltherma.Thermostat_ON/OFF_binary"
#
      - name: "3Way Valve-binary"
        state: "{{ state_attr('sensor.althermasensors','3way valve (On:DHW_Off:Space)') }}"
        unique_id: "espaltherma.3way_valve_(On:DHW_Off:Space)_binary"
#        
# Below a combined status from Thermostat and 3-way valve in position for Space Heating
      - name: "Space Heating"
        icon: mdi:heat-wave
        state: "{{  'ON' if is_state('sensor.3way_valve', 'OFF' ) and  is_state('sensor.thermostat', 'ON') else 'OFF'  }}"
        unique_id: "space_heating_in_operation"
#
# Below a combined status from Thermostat and 3-way valve in position for DHW Tank Heating
      - name: "DHW Heating"
        icon: mdi:bathtub-outline
        state: "{{  'ON' if is_state('sensor.3way_valve', 'ON' ) and  is_state('sensor.thermostat', 'ON') else 'OFF'  }}"
        unique_id: "DHW_in_operation"
#
#
      - name: "Restart standby"
        state: "{{ state_attr('sensor.althermasensors','Restart standby') }}"
        unique_id: "espaltherma.Restart_standby_ON/OFF"                
#
      - name: "Startup Control"
        state: "{{ state_attr('sensor.althermasensors','Startup Control') }}"
        unique_id: "espaltherma.Startup_Control_ON/OFF"                    
#
      - name: "Y1S-4 Way Valve"
        state: "{{ state_attr('sensor.althermasensors','Y1S-4 Way Valve') }}"
        unique_id: "espaltherma.Y1S-4_Way_Valve_ON/OFF"                
#
      - name: "BSH"
        state: "{{ state_attr('sensor.althermasensors','BSH') }}"
        unique_id: "espaltherma.BSH_ON/OFF"
#
      - name: "Water pump"
        state: "{{ state_attr('sensor.althermasensors','Water pump operation') }}"
        unique_id: "espaltherma.Water_pump_operation_ON/OFF"
#
      - name: "DHW Storage Reheat"
        state: "{{ state_attr('sensor.althermasensors','DHW Storage Reheat ON/OFF') }}"
        unique_id: "espaltherma.DHW_Storage_Reheat_ON/OFF"        
#
      - name: "DHW Storage ECO"
        state: "{{ state_attr('sensor.althermasensors','DWH Storage ECO ON/OFF') }}"
        unique_id: "espaltherma.DWH_Storage_ECO_ON/OFF"        
#
      - name: "DHW Storage Comfort"
        state: "{{ state_attr('sensor.althermasensors','DHW Storage comfort ON/OFF') }}"
        unique_id: "espaltherma.DHW_Storage_comfort_ON/OFF"        
#
      - name: "DHW Powerful Operation"
        state: "{{ state_attr('sensor.althermasensors','DHW Powerful Operation. ON/OFF') }}"
        unique_id: "espaltherma.DHW_Powerful_Operation_ON/OFF"        
#
      - name: "Space Heating Operation"
        state: "{{ state_attr('sensor.althermasensors','Space Heating Operation ON/OFF') }}"
        unique_id: "espaltherma.Space_Heating_Operation_ON/OFF"        
#
      - name: "System OFF (ON:System off)"
        state: "{{ state_attr('sensor.althermasensors','System OFF (ON:System off)') }}"
        unique_id: "espaltherma.System_OFF_(ON:System_off)"        
#
      - name: "Circulation pump operation"
        state: "{{ state_attr('sensor.althermasensors','Circulation pump operation') }}"
        unique_id: "espaltherma.Circulation_pump_operation_ON/OFF"
#
#
#
#
    - sensor:
#
#
      - name: "Thermostat"
        state: "{{ state_attr('sensor.althermasensors','Thermostat ON/OFF') }}"
        unique_id: "espaltherma.Thermostat_ON/OFF"        
#
      - name: "3Way Valve"
        state: "{{ state_attr('sensor.althermasensors','3way valve (On:DHW_Off:Space)') }}"
        unique_id: "espaltherma.3way_valve_(On:DHW_Off:Space)"
#
      - name: "Defrost Operation"
        state: "{{ state_attr('sensor.althermasensors','Defrost Operation') }}"
        unique_id: "espaltherma.Defrost_Operation_ON/OFF"      
#
      - name: "ESPAltherma last update"
        state: "{{ as_timestamp(states.sensor.althermasensors.last_updated) | timestamp_custom('%H:%M:%S',True) }}"    
        unique_id: "espaltherma.last_update"    
#
      - name: "Error type"
        state: "{{ state_attr('sensor.althermasensors','Error type') }}"  
        unique_id: "espaltherma.Error_type"
#
      - name: "Error code"
        state: "{{ state_attr('sensor.althermasensors','Error Code') }}"  
        unique_id: "espaltherma.Error_code"    
#
      - name: "Error detailed code"
        state: "{{ state_attr('sensor.althermasensors','Error detailed code') }}"  
        unique_id: "espaltherma.Error_detailed_code"    
#
      - name: "Last operation Mode"
        state: "{{ state_attr('sensor.althermasensors','I/U operation mode') }}"
        unique_id: "espaltherma.I/U_operation_mode"
#
      - name: "Operation Mode"
        state: "{{ state_attr('sensor.althermasensors','Operation Mode') }}"   
        unique_id: "espaltherma.Operation_Mode"  
#
#
#
# Analog Values
      - name: "Fan Speed"
        state: "{{ state_attr('sensor.althermasensors','Fan 1 (step)')|float(0) * 10 }} "
        unique_id: "espaltherma.Fan_1_(step)"
        unit_of_measurement: "rpm"
        state_class: measurement
#
      - name: "Target Condensor Temp."
        state: "{{ state_attr('sensor.althermasensors','Target Condensor Temp.') }}"
        unique_id: "espaltherma.Target_Condensor_Temp."
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "R1T-Outdoor air temp."
        state: "{{ state_attr('sensor.althermasensors','R1T-Outdoor air temp.') }}"
        unique_id: "espaltherma.R1T-Outdoor_air_temp."
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "R4T-Air Heat Exchanger Temp."
        state: "{{ state_attr('sensor.althermasensors','R4T-Air Heat Exchanger Temp.') }}"
        unique_id: "espaltherma.R4T-Air_Heat_Exchanger_Temp."
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "R2T-Compressor Discharge Temp."
        state: "{{ state_attr('sensor.althermasensors','R2T-Compressor Discharge Temp.') }}"
        unique_id: "espaltherma.R2T-Compressor_Discharge_Temp."
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "R3T-Compressor Suction Temp."
        state: "{{ state_attr('sensor.althermasensors','R3T-Compressor Suction Temp.') }}"
        unique_id: "espaltherma.R3T-Compressor_Suction_Temp."
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "R5T-Air Heat Exchanger mid-Temp."
        state: "{{ state_attr('sensor.althermasensors','R5T-Air Heat Exchanger mid-Temp.') }}"
        unique_id: "espaltherma.R5T-Air_Heat_Exchanger_mid-Temp."
        unit_of_measurement: "°C"
        state_class: measurement
#      
      - name: "Inverter current"
        state: "{{ state_attr('sensor.althermasensors','INV primary current (A)') }}"
        unique_id: "espaltherma.INV_primary_current_(A)"                                                                        
        unit_of_measurement: "A"
        state_class: measurement    
#
      - name : "Inverter current secondary"
        state: "{{ state_attr('sensor.althermasensors', 'INV secondary current (A)') }}"
        unique_id: "espaltherma.INV_secondary_current_(A)"                                
        unit_of_measurement: "A"
        state_class: measurement
#
      - name: "Inverter fin Temp."
        state: "{{ state_attr('sensor.althermasensors','INV fin Temp.') }}"
        unique_id: "espaltherma.INV_fin_Temp."
        unit_of_measurement: "°C"
        state_class: measurement    
#
      - name: "Inverter frequency"
        state: "{{ state_attr('sensor.althermasensors','INV frequency (Hz)') }}"
        unique_id: "espaltherma.INV_frequency_(Hz)"                                                                                
        unit_of_measurement: "Hz"
        state_class: measurement
#
      - name: "Target Discharge Temp."
        state: "{{ state_attr('sensor.althermasensors','Target Discharge Temp.') }}"
        unique_id: "espaltherma.Target_Discharge_Temp."
        unit_of_measurement: "°C"
        state_class: measurement    
#
      - name: "DWH tank temperature setpoint"
        state: "{{ state_attr('sensor.althermasensors','DHW setpoint') }}"
        unique_id: "espaltherma.DHW_tank_setpoint"                                        
        unit_of_measurement: "°C"
        state_class: measurement   
#
      - name: "Leaving water temperature setpoint"
        state: "{{ state_attr('sensor.althermasensors','LW setpoint') }}"
        unique_id: "espaltherma.LW_setpoint"                                                        
        unit_of_measurement: "°C"
        state_class: measurement
#        
      - name: "Leaving water temperature (R1T)"
        state: "{{ state_attr('sensor.althermasensors','Hydro Module LWT (R1T)') }}"
        unique_id: "espaltherma.Hydro_Module_LWT_(R1T)"                                                
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "Refrigerator liquid temperature (R3T)"
        state: "{{ state_attr('sensor.althermasensors','Hydro Module Refrig. Temp. liquid side (R3T)') }}"
        unique_id: "espaltherma.Hydro_Module_Refrig._Temp._liquid side (R3T)"                                                
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "Inlet water temperature (R4T)"
        state: "{{ state_attr('sensor.althermasensors','Hydro Module Inlet water temp.(R4T)') }}"
        unique_id: "espaltherma.Hydro_Module_Inlet_water_temp.(R4T)"                                                
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "DHW tank temperature (R5T)"
        state: "{{ state_attr('sensor.althermasensors','DHW tank temperature (R5T)') }}"
        unique_id: "espaltherma.DHW_tank_temperature_(R5T)"
        unit_of_measurement: "°C"
        state_class: measurement
#        
      - name: "Room temperature (R1T)"
        state: "{{ state_attr('sensor.althermasensors','Room temperature (R1T)') }}"
        unique_id: "espaltherma.Room_temperature_(R1T)"                                                                
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "Room temperature setpoint"
        state: "{{ state_attr('sensor.althermasensors','Room temperature setpoint') }}"
        unique_id: "espaltherma.Room_temperature_setpoint"                                        
        unit_of_measurement: "°C"
        state_class: measurement   
#      
      - name: "Flow sensor"
        state: "{{ state_attr('sensor.althermasensors','Flow sensor (l/min)') }}"
        unique_id: "espaltherma.Flow_sensor_(l/min)"
        unit_of_measurement: "l/min"
        state_class: measurement
#
      - name: "Water system pressure (B1PW)"
        state: "{{ state_attr('sensor.althermasensors','Water system pressure (B1PW)') }}"
        unique_id: "espaltherma.Water_system_pressure_(B1PW)"                                                        
        unit_of_measurement: "bar"
        state_class: measurement
# (inverted value!)
      - name: "Water pump speed"
        state: "{{ 100 - state_attr('sensor.althermasensors','Water pump signal (0:max-100:stop)') }}"
        unique_id: "espaltherma.Water_pump_signal_(0:max-100:stop)"        
        unit_of_measurement: "%"
        state_class: measurement
#
      - name : "Refrigerant pressure sensor (S1NPH)"
        state: "{{ state_attr('sensor.althermasensors', 'Refrigerant pressure sensor (S1NPH)') }}"
        unique_id: "espaltherma.Refrigerant_pressure_sensor_(S1NPH)"                                        
        unit_of_measurement: "bar"
        state_class: measurement
#
      - name : "Boiler Heating Target Temp."
        state: "{{ state_attr('sensor.althermasensors', 'Boiler Heating Target Temp.') }}"
        unique_id: "espaltherma.Boiler_Heating_Target_Temp."                                        
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "Delta T Heating Target"
        state: "{{ state_attr('sensor.althermasensors','Target delta T heating') }}"
        unique_id: "espaltherma.Target_delta_T_heating"        
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "Althermasensors WifiRSSi"
        state: "{{ state_attr('sensor.althermasensors','WifiRSSI')|replace('dBm', '')|float(0) }}"
        unique_id: "wifirssi"
        unit_of_measurement: "dBm"
        state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}

#
#
# Calculated Inverter Power Usage for average of 3phases      
      - name: "Inverter usage"
        state: "{% if is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'ON') %} {{ (states('sensor.inverter_current')|float(0) * (((states('sensor.phases_voltage_phase_l1')|float + (states('sensor.phases_voltage_phase_l2')|float) + (states('sensor.phases_voltage_phase_l3')|float)) /3) * 1.73)|float(0)) }}  {% elif is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'OFF') %} 0 {% endif %}"
        unique_id: "espaltherma.inverter_usage"
        unit_of_measurement: "W"
        state_class: measurement
#        
# Calculated Heatload (Q=m*c*dT)
      - name: "Heat load"
        state: "{% if is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'ON') %} {{(states('sensor.flow_sensor'))|float / 60 * 4187 * (states('sensor.delta_t'))|float |round(1) }}  {% elif is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'OFF') %} 0 {% endif %}"
        unique_id: "espaltherma.heat_load"  
        unit_of_measurement: "W"
        state_class: measurement

# Calculated COP        
      - name: "CoP"
        state: "{% if is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'ON') %} {{(states('sensor.heat_load'))|float / (states('sensor.inverter_usage')|float) }} {% else %} 0 {% endif %}"
        unique_id: "espaltherma.cop"  
        unit_of_measurement: ""
        state_class: measurement

# Calculated Heat Yield     
      - name: "Heat yield"
        state: "{% if is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'ON') %} {{ (states('sensor.inverter_usage')|float * states('sensor.cop')| float)|round|int }}  {% elif is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'OFF') %} 0 {% endif %}"
        unique_id: "espaltherma.heat_yield"
        unit_of_measurement: "W"
        state_class: measurement

# Calculated Delta T inbetween Inlet and Outlet temperature heatpump      
      - name: "Delta T"
        state: >-
            {{ (states('sensor.leaving_water_temperature_r1t')|float - states('sensor.inlet_water_temperature_r4t') | float)|round(1) }}
        unique_id: "espaltherma.delta_t"
        unit_of_measurement: "°C"

######################################################################################################################################################

Acties:
  • +1 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Nu online
Mijn Daikin.YAML staat in de folder van Home Assistant: /homeassistant/packages
In de Config.YAML file in de hoofdfolder /homeassistant verwijs ik naar de packages folder:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
homeassistant:
  packages: !include_dir_named packages

modbus:
  - name: SDM630
    type: tcp
    host: 192.168.1.21
    port: 502
    delay: 0
    message_wait_milliseconds: 30
    timeout: 5
    sensors: !include sdm630_addresses.yaml


In de hoofdfolder /homeassistant staat ook het automations.Yaml bestand; code hieronder:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
- id: '1739034842461'
  alias: 'Heatpump: Defrost counter'
  description: ''
  triggers:
  - entity_id:
    - sensor.defrost_operation
    to: 'ON'
    trigger: state
  conditions: []
  actions:
  - data: {}
    target:
      entity_id: counter.defrost
    action: counter.increment
  mode: single
- id: '1739034897878'
  alias: Nacht reset
  description: Reset 's nachts alle sensoren naar hun standaard waarde.
  triggers:
  - at: 00:00:10
    trigger: time
  conditions: []
  actions:
  - data: {}
    target:
      entity_id:
      - counter.defrost
    action: counter.reset
  mode: single
- id: '1742414247265'
  alias: Set Heatpump Tariff Based on Mode
  trigger:
  - platform: state
    entity_id:
    - binary_sensor.space_heating_mode
    - binary_sensor.dhw_heating_mode
    - binary_sensor.heatpump_standby_mode
  condition: []
  action:
  - choose:
    - conditions:
      - condition: state
        entity_id: binary_sensor.space_heating_mode
        state: 'on'
      sequence:
      - service: select.select_option
        target:
          entity_id: select.daily_kwh_heatpump
        data:
          option: Space Heating
      - service: select.select_option
        target:
          entity_id: select.weekly_kwh_heatpump
        data:
          option: Space Heating
      - service: select.select_option
        target:
          entity_id: select.monthly_kwh_heatpump
        data:
          option: Space Heating
    - conditions:
      - condition: state
        entity_id: binary_sensor.dhw_heating_mode
        state: 'on'
      sequence:
      - service: select.select_option
        target:
          entity_id: select.daily_kwh_heatpump
        data:
          option: DHW Heating
      - service: select.select_option
        target:
          entity_id: select.weekly_kwh_heatpump
        data:
          option: DHW Heating
      - service: select.select_option
        target:
          entity_id: select.monthly_kwh_heatpump
        data:
          option: DHW Heating
    - conditions:
      - condition: state
        entity_id: binary_sensor.heatpump_standby_mode
        state: 'on'
      sequence:
      - service: select.select_option
        target:
          entity_id: select.daily_kwh_heatpump
        data:
          option: Stand-By
      - service: select.select_option
        target:
          entity_id: select.weekly_kwh_heatpump
        data:
          option: Stand-By
      - service: select.select_option
        target:
          entity_id: select.monthly_kwh_heatpump
        data:
          option: Stand-By
  mode: single


Een Dashboard (ruwe file):

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
views:
  - theme: Backend-selected
    title: Heating systems
    badges:
      - type: entity
        show_name: true
        show_state: true
        show_icon: true
        entity: sensor.espaltherma_last_update
        color: orange
        show_entity_picture: true
        icon: mdi:clock
        tap_action:
          action: none
        state_content: last_changed
      - type: entity
        show_name: true
        show_state: true
        show_icon: true
        entity: sensor.last_legionella_run
        color: blue
        show_entity_picture: true
        icon: mdi:clock-check-outline
        tap_action:
          action: none
      - type: entity
        show_name: true
        show_state: true
        show_icon: true
        entity: sensor.althermasensors_wifirssi
        color: light-green
        show_entity_picture: true
        icon: mdi:wifi
        tap_action:
          action: none
        name: 'WiFi Signal '
      - type: entity
        show_name: false
        show_state: true
        show_icon: true
        entity: binary_sensor.space_heating_mode
        color: deep-orange
        show_entity_picture: true
        name: Space Heating
        tap_action:
          action: more-info
        state_content:
          - name
          - state
      - type: entity
        show_name: false
        show_state: true
        show_icon: true
        entity: binary_sensor.dhw_heating_mode
        color: deep-orange
        show_entity_picture: true
        name: DHW Tank Heating
        tap_action:
          action: more-info
        state_content:
          - name
          - state
      - type: entity
        entity: sensor.actual_outside_temperature
    cards:
      - type: conditional
        conditions:
          - condition: state
            entity: sensor.km2_a840411cad97_pump_speed_relay_1
            state: '0'
        card:
          type: entities
          entities:
            - type: section
              label: Solar Heating not active
          title: 'Actual Status Solar Heating:'
      - type: conditional
        conditions:
          - condition: state
            entity: sensor.km2_a840411cad97_pump_speed_relay_1
            state_not: '0'
        card:
          type: entities
          entities:
            - type: section
              label: DHW Tank Heating with Solar
            - entity: sensor.km2_a840411cad97_temperature_sensor_3
              icon: mdi:thermometer
              name: DHW Tank Top Temperature
            - entity: sensor.km2_a840411cad97_temperature_sensor_2
              icon: mdi:thermometer
              name: DHW Tank Bottom Temperature
            - entity: sensor.km2_a840411cad97_temperature_sensor_1
              icon: mdi:thermometer
              name: Collector Temperature
            - entity: sensor.km2_a840411cad97_pump_speed_relay_1
              icon: mdi:speedometer
              name: Glycolwaterpump speed
          show_header_toggle: false
          title: 'Actual Status Solar Heating:'
      - type: custom:apexcharts-card
        experimental:
          color_threshold: true
        apex_config:
          chart:
            height: 250px
        header:
          show: true
          title: DHW Tank Temperature / Collector roof
          show_states: true
          colorize_states: true
        series:
          - entity: sensor.km2_a840411cad97_temperature_sensor_3
            fill_raw: last
            stroke_width: 1
            color_threshold:
              - value: 50
                color: '#03a034'
              - value: 45
                color: '#ff9900'
              - value: 40
                color: '#cc2900'
              - value: 30
                color: blue
          - entity: sensor.km2_a840411cad97_temperature_sensor_2
            fill_raw: last
            stroke_width: 1
            color_threshold:
              - value: 50
                color: '#03a034'
              - value: 45
                color: '#ff9900'
              - value: 40
                color: '#cc2900'
              - value: 30
                color: blue
          - entity: sensor.km2_a840411cad97_temperature_sensor_1
            fill_raw: last
            stroke_width: 1
            color_threshold:
              - value: 50
                color: '#03a034'
              - value: 45
                color: '#ff9900'
              - value: 40
                color: '#cc2900'
              - value: 30
                color: blue
      - type: conditional
        conditions:
          - condition: state
            entity: sensor.defrost_operation
            state: 'ON'
        card:
          type: markdown
          content: '## Defrost operation active!'
      - type: entities
        entities:
          - entity: sensor.room_temperature_setpoint_2
            icon: mdi:thermometer-auto
            name: Room Temperature setpoint
          - entity: sensor.dwh_tank_temperature_setpoint
            icon: mdi:thermometer-auto
            name: 'DHW Tank Temperature setpoint '
          - entity: sensor.leaving_water_temperature_setpoint
            icon: mdi:thermometer-auto
            name: Leaving Water Temperature setpoint
          - entity: sensor.delta_t_heating_target
            icon: mdi:thermometer-auto
            name: Delta-T Target setpoint
        title: 'Setpoints Heatpump:'
      - type: entities
        entities:
          - entity: binary_sensor.heatpump_standby_mode
          - entity: binary_sensor.space_heating_mode
            icon: mdi:heat-wave
            name: Space Heating
          - entity: binary_sensor.dhw_heating_mode
            icon: mdi:bathtub-outline
            name: DHW Tank Heating
          - entity: binary_sensor.defrost_operation_binary
            icon: mdi:snowflake-melt
            name: Defrost Operation
          - entity: binary_sensor.dhw_powerful_operation
            icon: mdi:rocket-launch
            name: DHW Tank Powerful Operation
          - entity: sensor.cop
            icon: mdi:radiator
            name: CoP Actual
          - entity: sensor.dhw_tank_temperature_r5t
            icon: mdi:thermometer
            name: (R5T) DHW Tank Top Temperature
          - entity: sensor.km2_a840411cad97_temperature_sensor_2
            icon: mdi:thermometer
            name: DHW Tank Bottom Temperature
          - entity: sensor.room_temperature_r1t
            icon: mdi:thermometer
            name: (R1T) Room Temperature
          - entity: sensor.water_pump_speed
          - entity: sensor.altherma_climatecontrol_error_code
            icon: mdi:information-outline
            name: Error Code
        title: 'Summary Heating Systems:'
        show_header_toggle: false
        state_color: true
      - type: vertical-stack
        cards:
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 60m
            apex_config:
              chart:
                height: 250px
            header:
              show: true
              title: CoP last 60 minutes
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.cop
                name: CoP Actual
                fill_raw: last
                curve: stepline
                stroke_width: 2
                color_threshold:
                  - value: -20
                    color: purple
                  - value: -10
                    color: red
                  - value: 3
                    color: '#ff9900'
                  - value: 4
                    color: '#03a034'
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 24h
            apex_config:
              legend:
                show: false
              chart:
                height: 250px
            header:
              show: true
              title: CoP Act / AVG last 24h
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.cop
                name: Actual
                show:
                  in_brush: true
                fill_raw: last
                stroke_width: 1
                curve: stepline
                color_threshold:
                  - value: -20
                    color: purple
                  - value: -10
                    color: red
                  - value: 3
                    color: '#ff9900'
                  - value: 4
                    color: '#03a034'
              - entity: sensor.cop
                name: AVG / 24h
                show:
                  in_brush: true
                fill_raw: last
                stroke_width: 1
                color_threshold:
                  - value: -20
                    color: purple
                  - value: -10
                    color: red
                  - value: 3
                    color: '#ff9900'
                  - value: 4
                    color: '#03a034'
                group_by:
                  func: avg
                  duration: 1d
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 24h
            apex_config:
              legend:
                show: false
              chart:
                height: 250px
            header:
              show: true
              title: CoP Act / AVG last 24h DHW Heating
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.cop_dhw_heating
                name: Actual
                show:
                  in_brush: true
                fill_raw: last
                stroke_width: 1
                curve: stepline
                color_threshold:
                  - value: -20
                    color: purple
                  - value: -10
                    color: red
                  - value: 3
                    color: '#ff9900'
                  - value: 4
                    color: '#03a034'
              - entity: sensor.cop_dhw_heating
                name: AVG / 24h
                show:
                  in_brush: true
                fill_raw: last
                stroke_width: 1
                color_threshold:
                  - value: -20
                    color: purple
                  - value: -10
                    color: red
                  - value: 3
                    color: '#ff9900'
                  - value: 4
                    color: '#03a034'
                group_by:
                  func: avg
                  duration: 1d
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 24h
            apex_config:
              legend:
                show: false
              chart:
                height: 250px
            header:
              show: true
              title: CoP Act / AVG last 24h Space Heating
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.cop_space_heating
                name: Actual
                show:
                  in_brush: true
                fill_raw: last
                stroke_width: 1
                curve: stepline
                color_threshold:
                  - value: -20
                    color: purple
                  - value: -10
                    color: red
                  - value: 3
                    color: '#ff9900'
                  - value: 4
                    color: '#03a034'
              - entity: sensor.cop_space_heating
                name: AVG / 24h
                show:
                  in_brush: true
                fill_raw: last
                stroke_width: 1
                color_threshold:
                  - value: -20
                    color: purple
                  - value: -10
                    color: red
                  - value: 3
                    color: '#ff9900'
                  - value: 4
                    color: '#03a034'
                group_by:
                  func: avg
                  duration: 1d
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 2week
            span:
              end: day
            apex_config:
              chart:
                height: 250px
                stroke_width: 1
            header:
              show: true
              title: CoP / Day Overall
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.cop
                name: AVG CoP / Day
                type: column
                show:
                  in_brush: true
                group_by:
                  func: avg
                  duration: 1d
                color_threshold:
                  - value: -10
                    color: purple
                  - value: 0
                    color: red
                  - value: 2
                    color: orange
                  - value: 3
                    color: yellow
                  - value: 4
                    color: lightgreen
                  - value: 5
                    color: green
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 2week
            span:
              end: day
            apex_config:
              chart:
                height: 250px
                stroke_width: 1
            header:
              show: true
              title: CoP / Day DHW Heating
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.cop_dhw_heating
                name: AVG CoP / Day
                type: column
                show:
                  in_brush: true
                group_by:
                  func: avg
                  duration: 1d
                color_threshold:
                  - value: -10
                    color: purple
                  - value: 0
                    color: red
                  - value: 2
                    color: orange
                  - value: 3
                    color: yellow
                  - value: 4
                    color: lightgreen
                  - value: 5
                    color: green
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 2week
            span:
              end: day
            apex_config:
              chart:
                height: 250px
                stroke_width: 1
            header:
              show: true
              title: CoP / Day Space Heating
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.cop_space_heating
                name: AVG CoP / Day
                type: column
                show:
                  in_brush: true
                group_by:
                  func: avg
                  duration: 1d
                color_threshold:
                  - value: -10
                    color: purple
                  - value: 0
                    color: red
                  - value: 2
                    color: orange
                  - value: 3
                    color: yellow
                  - value: 4
                    color: lightgreen
                  - value: 5
                    color: green
      - type: vertical-stack
        cards:
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
              brush: true
            graph_span: 24h
            brush:
              selection_span: 24h
            apex_config:
              chart:
                height: 250px
            header:
              show: true
              title: Temperature Charts
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.inlet_water_temperature_r4t
                fill_raw: last
                stroke_width: 1
                name: Inlet Temp.
                color: blue
              - entity: sensor.leaving_water_temperature_r1t
                fill_raw: last
                stroke_width: 1
                color: red
                name: Leaving Water Temp.
              - entity: sensor.leaving_water_temperature_setpoint
                fill_raw: last
                stroke_width: 1
                color: purple
                name: LWT setpoint
              - entity: sensor.delta_t
                fill_raw: last
                stroke_width: 1
                color: orange
                name: Delta T
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            apex_config:
              chart:
                height: 250px
            header:
              show: true
              title: Water Flow
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.flow_sensor
                fill_raw: last
                curve: stepline
                stroke_width: 1
                color_threshold:
                  - value: 25
                    color: green
                  - value: 20
                    color: orange
                  - value: 15
                    color: red
                  - value: 10
                    color: purple
                  - value: 5
                    color: blue
          - type: custom:apexcharts-card
            apex_config:
              chart:
                height: 250px
            header:
              show: true
              title: Inverter usage Heatpump
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.inverter_usage
                name: Calculated
                fill_raw: last
                curve: stepline
                stroke_width: 1
              - entity: sensor.total_system_power
                name: Measured
                fill_raw: last
                curve: stepline
                stroke_width: 1
          - type: custom:apexcharts-card
            apex_config:
              chart:
                height: 250px
            header:
              show: true
              title: Heat Yield Heatpump
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.heat_yield
                fill_raw: last
                curve: stepline
                stroke_width: 1
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 2week
            span:
              end: day
            apex_config:
              chart:
                height: 250px
                stroke_width: 1
            header:
              show: true
              title: Defrost Counter / Day
              show_states: true
              colorize_states: true
            series:
              - entity: counter.defrost
                type: column
                show:
                  in_brush: true
                group_by:
                  func: last
                  duration: 1d
                color_threshold:
                  - value: 0
                    color: green
                  - value: 2
                    color: lightgreen
                  - value: 4
                    color: yellow
                  - value: 6
                    color: orange
                  - value: 8
                    color: red
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            apex_config:
              chart:
                height: 250px
            header:
              show: true
              title: Outside Temperature / Defrosts
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.r1t_outdoor_air_temp
                fill_raw: last
                stroke_width: 1
                color_threshold:
                  - value: 30
                    color: red
                  - value: 25
                    color: orange
                  - value: 20
                    color: green
                  - value: 10
                    color: lightgreen
                  - value: 5
                    color: blue
              - entity: counter.defrost
                curve: stepline
                stroke_width: 1
                color_threshold:
                  - value: 0
                    color: black
      - type: custom:apexcharts-card
        experimental:
          color_threshold: true
        graph_span: 180m
        apex_config:
          yaxis:
            min: 0
            max: 3
          chart:
            height: 250px
        header:
          show: true
          title: Water System Pressure
          show_states: true
          colorize_states: true
        series:
          - entity: sensor.water_system_pressure_b1pw
            fill_raw: last
            stroke_width: 1
            color_threshold:
              - value: 1.7
                color: '#03a034'
              - value: 1.5
                color: '#ff9900'
              - value: 1.3
                color: '#cc2900'
              - value: 1
                color: purple
      - type: entities
        entities:
          - entity: sensor.flow_sensor
            icon: mdi:water-pump
            name: Flow Sensor
          - entity: sensor.room_temperature_r1t
            icon: mdi:thermometer
            name: (R1T) Room Temperature
          - entity: sensor.dhw_tank_temperature_r5t
            icon: mdi:thermometer
            name: (R5T) DHW Tank Top Temperature
          - entity: sensor.r1t_outdoor_air_temp
            icon: mdi:thermometer
            name: R1T-Outdoor air temperature
          - entity: sensor.r2t_compressor_discharge_temp
            icon: mdi:thermometer
            name: R2T-Compressor Discharge Temp.
          - entity: sensor.r3t_compressor_suction_temp
            icon: mdi:thermometer
            name: R3T-Compressor Suction Temp.
          - entity: sensor.r4t_air_heat_exchanger_temp
            icon: mdi:thermometer
            Name: R4T-Air Heat exchanger Temp.
          - entity: sensor.r5t_air_heat_exchanger_mid_temp
            icon: mdi:thermometer
            name: R5T-Air Heat Exchanger mid Temp.
          - entity: sensor.refrigerator_liquid_temperature_r3t
            icon: mdi:thermometer
            name: (R3T) Refrigirator liquid Temp.
          - entity: sensor.leaving_water_temperature_r1t
            icon: mdi:thermometer-chevron-down
            name: (R1T) Leaving Water Temperature
          - entity: sensor.inlet_water_temperature_r4t
            icon: mdi:thermometer-chevron-up
            name: (R4T) Inlet Water Temperature
          - entity: sensor.delta_t
            icon: mdi:home-thermometer
            name: Delta T
          - entity: sensor.water_system_pressure_b1pw
            icon: mdi:gauge
            name: Water systempressure (B1PW)
          - entity: sensor.fan_speed
            icon: mdi:fan
            name: Fan Speed
          - entity: sensor.inverter_frequency_2
            icon: mdi:sine-wave
            name: Inverter Frequency output
        title: 'Sensors Heatpump:'
      - type: vertical-stack
        cards:
          - type: entities
            entities:
              - entity: sensor.dhw_heat_losses
              - entity: sensor.inverter_usage
                icon: mdi:lightning-bolt
                name: Heatpump Inverter Usage
              - entity: sensor.total_system_power
              - entity: sensor.heat_yield
                icon: mdi:heating-coil
                name: Heatpump Heat Yield
              - entity: counter.defrost
                icon: mdi:snowflake-melt
                name: Defrost Counter Today
            title: Energy data
            state_color: true
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 1week
            span:
              end: day
            apex_config:
              chart:
                height: 250px
                stroke_width: 1
            header:
              show: true
              title: Heatpump kWh / Day
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.daily_kwh_heatpump
                name: Heatpump kWh / Day
                type: column
                show:
                  in_brush: true
                group_by:
                  func: last
                  duration: 1d
                color_threshold:
                  - value: 0
                    color: green
                  - value: 5
                    color: lightgreen
                  - value: 10
                    color: yellow
                  - value: 15
                    color: orange
                  - value: 20
                    color: red
                  - value: 25
                    color: purple
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 1week
            span:
              end: day
            apex_config:
              chart:
                height: 250px
                stroke_width: 1
            header:
              show: true
              title: Heatpump DHW Heating kWh / Day
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.daily_kwh_heatpump_dhw_heating
                name: DHW Heating kWh / Day
                type: column
                show:
                  in_brush: true
                group_by:
                  func: last
                  duration: 1d
                color_threshold:
                  - value: 0
                    color: green
                  - value: 5
                    color: lightgreen
                  - value: 10
                    color: yellow
                  - value: 15
                    color: orange
                  - value: 20
                    color: red
                  - value: 25
                    color: purple
          - type: custom:apexcharts-card
            experimental:
              color_threshold: true
            graph_span: 1week
            span:
              end: day
            apex_config:
              chart:
                height: 250px
                stroke_width: 1
            header:
              show: true
              title: Heatpump Space heating kWh / Day
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.daily_kwh_heatpump_space_heating
                name: Space Heating kWh / Day
                type: column
                show:
                  in_brush: true
                group_by:
                  func: last
                  duration: 1d
                color_threshold:
                  - value: 0
                    color: green
                  - value: 5
                    color: lightgreen
                  - value: 10
                    color: yellow
                  - value: 15
                    color: orange
                  - value: 20
                    color: red
                  - value: 25
                    color: purple
          - type: custom:apexcharts-card
            chart_type: donut
            apex_config:
              chart:
                height: 250px
            header:
              show: true
              title: Heatpump Energy usage today
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.daily_kwh_heatpump_dhw_heating
              - entity: sensor.daily_kwh_heatpump_space_heating
              - entity: sensor.daily_kwh_heatpump_stand_by
          - type: custom:apexcharts-card
            chart_type: donut
            apex_config:
              chart:
                height: 250px
            header:
              show: true
              title: Heatpump Energy usage this week
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.weekly_kwh_heatpump_dhw_heating
              - entity: sensor.weekly_kwh_heatpump_space_heating
              - entity: sensor.weekly_kwh_heatpump_stand_by
          - type: custom:apexcharts-card
            chart_type: donut
            apex_config:
              chart:
                height: 250px
            header:
              show: true
              title: Heatpump Energy usage this month
              show_states: true
              colorize_states: true
            series:
              - entity: sensor.monthly_kwh_heatpump_dhw_heating
              - entity: sensor.monthly_kwh_heatpump_space_heating
              - entity: sensor.monthly_kwh_heatpump_stand_by
    type: masonry


Even een paar plaatjes van mijn dashboard (kan beter uitgelijnd worden!!)

Afbeeldingslocatie: https://tweakers.net/i/1NRXefTDYDlrGx6J1rlZBto26kw=/800x/filters:strip_exif()/f/image/eD7vOIbw5QTkM3Qa09VMUujQ.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/VZSQSqot36zeQuY6LMiIqynWMHg=/800x/filters:strip_exif()/f/image/bTFSUQmmC1gGbGAWSr6ndvMu.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/lXu2-VN3hMMUixgZsyROMEwkEZ4=/800x/filters:strip_exif()/f/image/WtDy3nBhUaW8lrSYXl5oPYAJ.png?f=fotoalbum_large

Ik hoop dat dit je op weg helpt!

Gr. Benthouse

Acties:
  • 0 Henk 'm!

  • Senaxx
  • Registratie: December 2010
  • Laatst online: 24-10 16:57
benthouse schreef op dinsdag 21 oktober 2025 @ 21:06:
Mijn Daikin.YAML staat in de folder van Home Assistant: /homeassistant/packages
In de Config.YAML file in de hoofdfolder /homeassistant verwijs ik naar de packages folder:

Ik hoop dat dit je op weg helpt!

Gr. Benthouse
Heel erg bedankt! Ik ga er van het weekend eens mee bezig!

Acties:
  • +2 Henk 'm!

  • doomoo
  • Registratie: Oktober 2018
  • Laatst online: 08:41
Hoi Benthouse, dank voor je uitgebreide scripts en informatie! Hier kan ik zeker weer mee verder!

Heb zelf nog geen aparte kwh meter waardoor ik nog niet direct de 3 fase meting en cop o.b.v. 3 fases kan realiseren, dat is iets wat in de toekomst nog wel gaat komen

Zelf ben ik in de tussentijd ook aan het knutselen geweest om een COP berekening te doen op basis van een berekend 3 fase verbruik.

Dit heb ik als volgt gemaakt:

ik gebruik een aparte templates.yaml die ik include via configuration.yaml
Om een 3 fase COP te berekenen bereken ik dus een 3 fase verbruik
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
- sensor:
  - name: "Inverter current"
    state: "{{ state_attr('sensor.althermasensors','INV primary current (A)') }}"
    unit_of_measurement: "A"
    state_class: measurement
    
  - name: "Inverter usage 3fase"
    unique_id: inverter_usage_3ph
    unit_of_measurement: "W"
    device_class: power
    state_class: measurement
    state: >
        {% set i = states('sensor.inverter_current')|float(0) %}
        {% set th = state_attr('sensor.althermasensors','Thermostat ON/OFF')|string|upper %}
        {% set pf = states('input_number.altherma_pf')|float(0.95) %}
        {% set u = 400.0 %}
        {% set sqrt3 = 1.732 %}
        {{ (sqrt3 * u * i * pf) | round(0) if th == 'ON' else 0 }}


  - name: "COPv3"
    unique_id: cop_v3_main
    unit_of_measurement: "COP"
      state_class: measurement
      # (optioneel) availability: laat sensor beschikbaar, tenzij inputs echt ontbreken
    availability: >
        {{ state_attr('sensor.althermasensors','Flow sensor (l/min)') not in [none, 'unknown', 'unavailable']
           and state_attr('sensor.althermasensors','Leaving water temp. before BUH (R1T)') not in [none]
           and state_attr('sensor.althermasensors','Inlet water temp.(R4T)') not in [none] }}
    state: >
        {% set ent   = 'sensor.althermasensors' %}
        {% set vflow = state_attr(ent,'Flow sensor (l/min)')|float(0) %}
        {% set leave = state_attr(ent,'Leaving water temp. before BUH (R1T)')|float(0) %}
        {% set inlet = state_attr(ent,'Inlet water temp.(R4T)')|float(0) %}
        {% set dT    = leave - inlet %}
        {% set mode_ok = is_state_attr(ent,'Operation Mode','Heating') %}
        {% set freeze_ok = is_state_attr(ent,'Freeze Protection','OFF') %}


        {# -- BUH check (bij R1T niet strikt nodig, maar houden we aan) -- #}
        {% set buh = state_attr(ent,'BUH Step1') %}
        {% set buh_off = (buh|string|lower) in ['off','0','false','inactive','none'] or buh in [0, false, none] %}

        {# -- Elektrisch vermogen uit jouw 3-fase sensor: W -> kW -- #}
        {% set pel_w  = states('sensor.inverter_usage_3fase')|float(0) %}
        {% set pel_kw = pel_w / 1000 %}

        {# -- Thermisch vermogen (kW) -- #}
        {% set qth_kw = 0.06 * 1.16 * vflow * dT %}

        {% if mode_ok and freeze_ok and buh_off
              and pel_kw > 0
              and vflow >= 1
              and 0 < dT < 25 %}
          {{ (qth_kw / pel_kw) | round(2) }}
        {% else %}
          0
        {% endif %}


In de Inverter usage 3fase wordt gebruik gemaakt van een PF helper die toegevoegd is aan configuration.yaml

code:
1
2
3
4
5
6
7
8
9
10
input_number:
  altherma_pf:
    name: Altherma PF
    min: 0.70
    max: 1.00
    step: 0.01
    mode: slider
    icon: mdi:sine-wave
    unit_of_measurement: ""
    initial: 0.95


Korte uitleg over het hoe wat waarom

Sensor: inverter_usage_3fase
Formule:
Afbeeldingslocatie: https://tweakers.net/i/yRTc7L2rMiIW69-xrSzdruXgGAI=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/tcyaFZK87nCHiVvXD8BCPkkp.png?f=user_large

U_LL: 400 V (nominale lijn-lijn spanning)
I: Inverter primary current (A)
PF: Power Factor (instelbaar via helper)

Waarom deze aanpak?

Standaard 3-fase vermogensformule.
PF is variabel → via helper eenvoudig te kalibreren.
Geeft 0 W als thermostaat niet ON is → voorkomt gaten in kWh-integratie.

COPv3 (Coefficient of Performance)
Sensor: copv3
Definitie:
Afbeeldingslocatie: https://tweakers.net/i/w99ZmXvD5EbOnTKxCOqGktSNFl8=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/l5gCRN1TVcHcVKibAd6S7Yy7.png?f=user_large
Thermisch vermogen (Q_th):
Afbeeldingslocatie: https://tweakers.net/i/x7MOnQFL_SfZNOMAjg8VnXJeh2A=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/0yLHEML6jCo35IPGs6xtLtbW.png?f=user_large

Flow: debiet in liter/minuut
ΔT: Leaving water temp. vóór BUH (R1T) – Inlet water temp. (R4T)

Waarom R1T?
Meet vóór BUH → pure warmtepompwarmte, geen beïnvloeding door naverwarming.
Elektrisch vermogen (P_el):
Gebruikt dezelfde bron als elders: inverter_usage_3fase (in kW).
Guardrails:

Operation Mode = Heating
Freeze Protection = OFF
BUH uit (vangnet)

PF Helper (Power Factor)
PF (cosφ) = actief vermogen (kW) ÷ schijnbaar vermogen (kVA)
Voor een 3‑fasige warmtepomp:
Afbeeldingslocatie: https://tweakers.net/i/wGujfFq9cWZaCaXDPGaqM_TjQNo=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/r41TQZlDMJA5H1PZv6U6gvZt.png?f=user_large
Helper: altherma_pf

Waarom een helper?

PF varieert per belasting → via slider eenvoudig te kalibreren.
Geen codewijziging nodig bij aanpassing.

Bereik:
0.70 – 1.00 (default 0.95)
Typisch: 0.90–0.98 bij invertercompressoren.


Eerlijkheidshalve moet ik er bij vermelden dat deze kennis niet volledig in mijn hoofd zat, heb hiervoor Ai gebruikt. Om die reden ben ik wel heel benieuwd naar hoe anderen hier naar kijken

WarmtePomp Daikin EBLA09DA3W1 || Boiler: Daikin EKHWS300D3V3 || Thermostaat: Daikin BRC1HHDW || Pelletkachel: Nordic Fire Ilvar 9KW || Zonnepanelen: 21x a 7,7 kwP


Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Nu online
[quote]doomoo schreef op donderdag 23 oktober 2025 @ 11:19:
[...]


Hallo,

wat is de reden dat je de Powerfacor (cos phi) zou willen weten? De inverter heeft een cos.phi van rond de 1, en is dus niet van toepassing. (Ps/Pw is bijna gelijk).

Daarnaast is de stroom van de inverter niet echt nauwkeurig. Als ik in mijn grafiek kijk tussen berekende verbruik op basis van de Inverterstroom uit de WP en de stroom die aan de ingaande kant uit de energiemeter komt dan zit daar een behoorlijk verschil in. M.a.w. de inverterstroom uit de WP is niet zo nauwkeurig en meer indicatief.
Ik ga de COP berekening ook binnenkort aanpassen (zal naar beneden gaan) op basis van werkelijk gemeten verbruik.

Maar goed ieder zijn ding!
Ik vind zowizo je benadering mooi en je neemt keurig alle variabelen mee in de berekeningen zie ik :-).

Ook ik heb in mijn scripts een verschil aangebracht in verbruik WP gedurende Space heating (ruimteverwarming) en verwarming boilervat (Domestic Hotwater Heating) en stand-by (dus geen warmtevraag).

[ Voor 10% gewijzigd door benthouse op 23-10-2025 16:56 ]


Acties:
  • +1 Henk 'm!

  • doomoo
  • Registratie: Oktober 2018
  • Laatst online: 08:41
benthouse schreef op donderdag 23 oktober 2025 @ 16:53:
[quote]doomoo schreef op donderdag 23 oktober 2025 @ 11:19:
[...]


Hallo,

wat is de reden dat je de Powerfacor (cos phi) zou willen weten? De inverter heeft een cos.phi van rond de 1, en is dus niet van toepassing. (Ps/Pw is bijna gelijk).

Daarnaast is de stroom van de inverter niet echt nauwkeurig. Als ik in mijn grafiek kijk tussen berekende verbruik op basis van de Inverterstroom uit de WP en de stroom die aan de ingaande kant uit de energiemeter komt dan zit daar een behoorlijk verschil in. M.a.w. de inverterstroom uit de WP is niet zo nauwkeurig en meer indicatief.
Ik ga de COP berekening ook binnenkort aanpassen (zal naar beneden gaan) op basis van werkelijk gemeten verbruik.

Maar goed ieder zijn ding!
Ik vind zowizo je benadering mooi en je neemt keurig alle variabelen mee in de berekeningen zie ik :-).

Ook ik heb in mijn scripts een verschil aangebracht in verbruik WP gedurende Space heating (ruimteverwarming) en verwarming boilervat (Domestic Hotwater Heating) en stand-by (dus geen warmtevraag).
Waarom pf is tweeledig. Voornaamste reden is dat Daikin zelf aangeeft dat pf een factor is die ergens tussen de 0,93 en 0,98 ligt
https://www.daikinuae.com...ter%20Leaflet%20Final.pdf

Daarnaast heb ik dus alleen een geschat/berekend verbruik door het missen van een energiemeter.

Het kunnen instellen van de pf brengt mijn schatting hopelijk iets dichter bij de realiteit.

Een kleine PF-aanpassing (0.95 → 0.98) verlaagt COP met ~3 %.

Het onderscheid tussen ruimte- en boiler verwarming ga ik ook nog maken, dat vind ik inderdaad een nuttige differentiatie!

WarmtePomp Daikin EBLA09DA3W1 || Boiler: Daikin EKHWS300D3V3 || Thermostaat: Daikin BRC1HHDW || Pelletkachel: Nordic Fire Ilvar 9KW || Zonnepanelen: 21x a 7,7 kwP


Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Nu online
Hieronder even een verschil tussen berekend verbruik op basis van de inverterstroom en het werkelijk gemeten verbruik. Oranje = berekend inverterverbruik (gemeten fasespanning x inverterstroom x Wortel 3), blauw is werkelijk gemeten verbruik uit energiemeter voor de WP.

Inverter ligt een stuk lager; je ziet het al mede door de stand-by energie, die is in rust 104W (kan ook veel lager zijn, vaak rond de 18W) terwijl de inverter 0W aangeeft. Ook in bedrijf (dus inverter actief) ligt het werkelijke gemeten verbruik (veel) hoger dan de inverter stroom x de fasespanning (die varieert ook!!) x cos phi (voor enkelfasige systemen of inverterstroom x lijnspanning x cos.phi x Wortel 3 (voor 3-fase systemen; ook daar varieert de lijnspanning en kan je hem niet gelijkstellen op 400V).

Afbeeldingslocatie: https://tweakers.net/i/7sQrLgXSIpQzuPmkvPtzTSZdv88=/800x/filters:strip_exif()/f/image/DCMnxRhOHuyvcLIRpwKDwQEI.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/UxuUQ631y4k_qowQkw_r-o_Uni8=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/sxNkJLtCISzsVer5pcVrwMni.png?f=user_large

[ Voor 36% gewijzigd door benthouse op 24-10-2025 12:19 ]


Acties:
  • +1 Henk 'm!

  • doomoo
  • Registratie: Oktober 2018
  • Laatst online: 08:41
benthouse schreef op vrijdag 24 oktober 2025 @ 12:08:
Hieronder even een verschil tussen berekend verbruik op basis van de inverterstroom en het werkelijk gemeten verbruik. Oranje = berekend inverterverbruik (gemeten fasespanning x inverterstroom x Wortel 3), blauw is werkelijk gemeten verbruik uit energiemeter voor de WP.

Inverter ligt een stuk lager; je ziet het al mede door de stand-by energie, die is in rust 104W (kan ook veel lager zijn, vaak rond de 18W) terwijl de inverter 0W aangeeft. Ook in bedrijf (dus inverter actief) ligt het werkelijke gemeten verbruik (veel) hoger dan de inverter stroom x de fasespanning (die varieert ook!!) x cos phi (voor enkelfasige systemen of inverterstroom x lijnspanning x cos.phi x Wortel 3 (voor 3-fase systemen; ook daar varieert de lijnspanning en kan je hem niet gelijkstellen op 400V).

[Afbeelding]

[Afbeelding]
Dank voor deze uitgebreide reactie en voor de vergelijking. Dat maakt een hoop duidelijk, die paar procent PF verschil vallen in het niet bij de afwijkingen van de inverter usage en de standby gaten. De conclusie is wel duidelijk, een KW meter is noodzakelijk om echt iets zinnigs over het verbruik van de WP te zeggen.

WarmtePomp Daikin EBLA09DA3W1 || Boiler: Daikin EKHWS300D3V3 || Thermostaat: Daikin BRC1HHDW || Pelletkachel: Nordic Fire Ilvar 9KW || Zonnepanelen: 21x a 7,7 kwP

Pagina: 1 ... 10 11 Laatste