Acties:
  • +1 Henk 'm!

  • rogervdh
  • Registratie: Augustus 2008
  • Laatst online: 07:17
KikkerMario schreef op zondag 19 januari 2025 @ 11:17:
[...]
Heel mooi! Begrijp ik goed dat het inmiddels stabiel draait. De wifi-problemen kwamen ergens anders van en het smart grid gedeelte werkt?
Klopt, werkt heel stabiel en goed nu. Echter....mocht er toch een keer een (incidentele) 'hickup' zijn (dus korte unavailable in Home Assistant), dan lijkt HA toch te 'vergeten' wat de actuele SmartGrid modus is. Dat moet ik op de een of andere manier nog wel zien op te lossen, want dat is wel vrij essentieel. Stel de pomp staat op "Forced off", dan mag dat niet zonder daadwerkelijke aanpassing van de SG-modus opeens "Free Running" worden bij een korte hickup, terwijl het in werkelijkheid nog steeds "Forced off" is.
Ik kon die 0,5 mm2 niet vinden in de Daikin handleiding. Heb je misschien een link?

Welke draden heb je hiervoor gekocht en hoe zijn ze aangesloten op de SG poort van de warmtepomp? (Wat voor soort stekkertje(s))?
Ik weet niet welk type Daikin je hebt, maar zie bijv. deze handleiding, pagina 20. Dan zie je staan:

"In geval van Smart Grid-laagspanningscontacten
Draden (Smart Grid-pulsmeter): 0,5 mm²
Draden (Smart Grid-laagspanningscontacten): 0,5 mm²"

Ik heb gewoon een oude kabel van de zolder gepakt. Flexibele koperdraad en zelfs nog wat dikker is dan 0,5 mm². Het is geen hoogspanning wat erop komt te staan, dus niet al teveel aandacht aan geschonken.

Acties:
  • +1 Henk 'm!

  • Videopac
  • Registratie: November 2000
  • Laatst online: 09:38

Videopac

Rommelt wat aan.

Coffee schreef op zondag 19 januari 2025 @ 09:27:
[...]


Ik heb dit ook regelmatig. Bij mij is er meestal een update beschikbaar voor een HACS component. Die voer ik dan uit, waarna het weer werkt.

Is de HACS nog wel beschikbaar in je zijbalk? Er was laatst een bug waarbij HACS niet wilde laden, en alle gerelateerde componenten het ook niet meer deden. Even terugscrollen in de thread, dan zal je er wat over vinden.
Ik lijk inderdaad last te hebben van dat HACS probleem. Ik heb geen HACS meer in de zijbalk links.
Het schijnt dat je HACS opnieuw moet installeren maar ik heb geen idee hoe.
Home Assistant is ook niet bepaald duidelijk hierin.
Uiteindelijk kom ik via andere linkjes hier terecht:
https://hacs.xyz/docs/use/download/download/
Weet iemand hoe HACS geupdate moet worden?
(en waarom worden nieuwe versies niet automagisch aangeboden?)

Edit: ik heb nu iets van "Get HACS" geïnstalleerd en gestart.
Hoe dit helpt HACS te updaten: geen idee; wat zit dat HA toch ongelooflijk raar in elkaar.
(of mijn hoofd, dat kan natuurlijk ook).

Edit 2: uiteindelijk gesnapt hoe ik in dat log moet kijken en HA geherstart en het werkt weer _/-\o_
Dank voor de hulp d:)b

[ Voor 14% gewijzigd door Videopac op 19-01-2025 13:17 ]

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:
  • +1 Henk 'm!

  • Magnetronkip
  • Registratie: Februari 2006
  • Laatst online: 11:12
In nog geen 2 jaar tijd al de 3de keer dat ik mijn m5stick plus moet vervangen, doet helemaal niks meer krijg hem niet meer aan de praat.

Hij zit natuurlijk buiten in de warmtepomp..

Andere die hier ook last van hebben en er een oplossing voor hebben?

Live PVoutput 10.777 kW Tatooine | Hacking is like having sex. You get in, you get out, then you hope that you didn't leave something behind that can be traced back to you.


Acties:
  • 0 Henk 'm!

  • mawashigeri
  • Registratie: November 2002
  • Laatst online: 11:41
Magnetronkip schreef op zondag 19 januari 2025 @ 13:47:
In nog geen 2 jaar tijd al de 3de keer dat ik mijn m5stick plus moet vervangen, doet helemaal niks meer krijg hem niet meer aan de praat.

Hij zit natuurlijk buiten in de warmtepomp..

Andere die hier ook last van hebben en er een oplossing voor hebben?
Bij mij zit 'ie in de binnenunit, maar als het echt buiten moet misschien ingieten in hars? Of iets minder definitief: goed verpakken in plastic en aftapen? Meerdere lagen wellicht om capilaire werking zoveel mogelijk tegen te gaan.

ERGA06EVH / EHVX08S23EJ6V / ESPaltherma


Acties:
  • 0 Henk 'm!

  • Magnetronkip
  • Registratie: Februari 2006
  • Laatst online: 11:12
mawashigeri schreef op zondag 19 januari 2025 @ 15:39:
[...]

Bij mij zit 'ie in de binnenunit, maar als het echt buiten moet misschien ingieten in hars? Of iets minder definitief: goed verpakken in plastic en aftapen? Meerdere lagen wellicht om capilaire werking zoveel mogelijk tegen te gaan.
Ik heb een monoblock dus helaas geen binnen unit.
Zit er nu aan te denken om een m5stack rough te bestellen en die buiten te plaatsen.

Heb al wel een netwerk kabel getrokken vanmiddag, dus misschien probeer ik eerst wel of de data het haalt over 4 a 5 meter, naar een m5stack binnen.

Live PVoutput 10.777 kW Tatooine | Hacking is like having sex. You get in, you get out, then you hope that you didn't leave something behind that can be traced back to you.


Acties:
  • 0 Henk 'm!

  • Riesjard
  • Registratie: April 2003
  • Niet online
Beetje geneuzel dit maar ik stoor me een beetje aan een van de standaard ESP altherma sensoren die in de basis-set zit. Het gaat om de warmteopbrengst. Nu met alle defrosts is het zo dat deze regelmatig diep in de min gaat.
Nu heeft niemand anders dan ik daar waasrschijnlijk last van maar dit komt ook wel een beetje doordat ik deze data weer gebruik om de totale warmteopbrengst te berekenen (en daarmee weer de gemiddelde COP voor een dag). Zie deze post:
Riesjard in "Daikin Altherma 3 -> ESPAltherma"

Die COP wordt hierdoor omlaag getrokken.
Wat zou een zuivere manier zijn om met de opbrengst om te gaan? Dit 'probleem' doet zich ook voor in de zomermaanden, wanneer ik de warmtepomp mee laat koelen.

Ik zie zelf 2 opties:
- Negatieve waarden 0 maken
- Opbrengst altijd positief maken

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

Acties:
  • 0 Henk 'm!

  • Driek
  • Registratie: Maart 2002
  • Laatst online: 11:47
rogervdh schreef op vrijdag 10 januari 2025 @ 11:02:
[...]


Ik kan inmiddels met een hoge mate van zekerheid zeggen dat het unavailability issue veroorzaakt wordt door mijn mesh netwerk. Per toeval heeft het probleem zich (voor nu) opgelost. Voor m'n router (FRITZ!Box 7590 AX) is sinds gisteren een firmware upate beschikbaar van FRITZ!OS 8.00 naar 8.02 en sinds ik die geïnstalleerd heb, is het probleem als sneeuw voor de zon verdwenen. Inmiddels 16 uur zonder enige onderbreking van ESPAltherma/M5StickC, dus ik mag concluderen dat het probleem door het mesh netwerk veroorzaakt wordt. De router doet ook accesspoint steering en wellicht dat in die hoek iets mis gaat, maar dat ga ik nog verder analyseren. In de logging van zowel de router als accesspoints was niks geks te zien. Al m'n accesspoints zijn ethernet bekabeld, dus een instabiele backbone ligt het sowieso ook niet aan. Hieronder is een onderbreking te zien rond 8:30 AM, maar dat is de reboot van Home Assistant vanwege installatie core 2025.1.2. Wellicht nuttige info voor gebruikers met soortgelijke issues.

[Afbeelding]
Ik denk dat ik hier ook last van heb. De stick zit op 2 meter van een wifi punt zonder muren en de stick hangt buiten de wp, maar toch veel disconnects.

Even kijken hoe ik kan updaten.Hij hangt er al weer even dus wordt door de docu grasduinen.

Tijd van werken, tijd van rusten


Acties:
  • 0 Henk 'm!

  • rogervdh
  • Registratie: Augustus 2008
  • Laatst online: 07:17
Driek schreef op maandag 20 januari 2025 @ 16:57:
[...]

Ik denk dat ik hier ook last van heb. De stick zit op 2 meter van een wifi punt zonder muren en de stick hangt buiten de wp, maar toch veel disconnects.

Even kijken hoe ik kan updaten.Hij hangt er al weer even dus wordt door de docu grasduinen.
Je maakt wel/geen gebruik van de smart grid modussen op de M5Stick/ESPAltherma? Zo ja, ben ik wel benieuwd of meer gebruikers herkennen dat de SG modus weer "Free Running" wordt na een disconnect.

Acties:
  • 0 Henk 'm!

  • KikkerMario
  • Registratie: December 2016
  • Laatst online: 09:05
Dank je!
gewoon een oude kabel van de zolder
Ah, en ik zie nu dat de X5M gewoon een kroonsteen is, dus geen stekkertje nodig.

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

Acties:
  • 0 Henk 'm!

  • Driek
  • Registratie: Maart 2002
  • Laatst online: 11:47
rogervdh schreef op maandag 20 januari 2025 @ 21:07:
[...]


Je maakt wel/geen gebruik van de smart grid modussen op de M5Stick/ESPAltherma? Zo ja, ben ik wel benieuwd of meer gebruikers herkennen dat de SG modus weer "Free Running" wordt na een disconnect.
ik maak er geen gebruik van

Tijd van werken, tijd van rusten


Acties:
  • 0 Henk 'm!

  • Tom2828
  • Registratie: Juli 2015
  • Laatst online: 01-05 15:02
rogervdh schreef op zondag 19 januari 2025 @ 12:31:
[...]

Klopt, werkt heel stabiel en goed nu. Echter....mocht er toch een keer een (incidentele) 'hickup' zijn (dus korte unavailable in Home Assistant), dan lijkt HA toch te 'vergeten' wat de actuele SmartGrid modus is. Dat moet ik op de een of andere manier nog wel zien op te lossen, want dat is wel vrij essentieel. Stel de pomp staat op "Forced off", dan mag dat niet zonder daadwerkelijke aanpassing van de SG-modus opeens "Free Running" worden bij een korte hickup, terwijl het in werkelijkheid nog steeds "Forced off" is.
Dit kun je volgens mij vrij eenvoudig oplossen met Home Assistant zelf door bij het zetten van de SmartGrid modus deze modus ook in een Helper te zetten (Je spiegelt daarmee zeg maar de modus waar de pomp op staat).

Maak vervolgens een automation die triggert wanneer de status van de warmtepomp van 'unavailable' naar een andere status gaat. Deze automation kijkt naar de modus die in de Helper staat en als het verschilt van de warmtepomp kan hij de juiste modus gelijk trekken.

Acties:
  • +2 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
Ik had ook vaak last van het steeds kort Unavailable zijn van AlthermaSensors. Ik heb in setup.h toen
code:
1
#define DISABLE_LOG_MESSAGES
enabled en sindsdien lijkt het probleem opgelost. Geen idee of dit nog een eventueel negatief effect kan hebben; in HA zie ik in elk geval nog steeds alle data binnenkomen.

edit:
De reden dat ik hier een oplossing in zag is dat ik in de logs van Mosquitto ontdekte dat steeds als AlthermaSensors op unavailable ging er een time-out werd weergegeven. En steeds was dat op het zelfde punt in de cyclus die ESPAltherma doormaakt, namelijk bij het publishen van espaltherma/log.

[ Voor 32% gewijzigd door EmTri op 24-01-2025 00:32 ]


Acties:
  • 0 Henk 'm!

  • SnarfB
  • Registratie: Augustus 2022
  • Laatst online: 09:37
Riesjard schreef op maandag 20 januari 2025 @ 16:38:
Beetje geneuzel dit maar ik stoor me een beetje aan een van de standaard ESP altherma sensoren die in de basis-set zit. Het gaat om de warmteopbrengst. Nu met alle defrosts is het zo dat deze regelmatig diep in de min gaat.
Nu heeft niemand anders dan ik daar waasrschijnlijk last van maar dit komt ook wel een beetje doordat ik deze data weer gebruik om de totale warmteopbrengst te berekenen (en daarmee weer de gemiddelde COP voor een dag). Zie deze post:
Riesjard in "Daikin Altherma 3 -> ESPAltherma"

Die COP wordt hierdoor omlaag getrokken.
Wat zou een zuivere manier zijn om met de opbrengst om te gaan? Dit 'probleem' doet zich ook voor in de zomermaanden, wanneer ik de warmtepomp mee laat koelen.

Ik zie zelf 2 opties:
- Negatieve waarden 0 maken
- Opbrengst altijd positief maken

[Afbeelding]
toon volledige bericht
Je kunt dit probleem oplossen door in de berekening van de Heat yield 0.0 max toe te voegen , zie hier onder. Nu komt hij niet meer onder de nul


(states('sensor.althermasensors_inverter_usage')|float(0) * states('sensor.althermasensors_cop')| float(0), 0.0)|max | round|int }} {% else %}

Acties:
  • +5 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Magnetronkip schreef op zondag 19 januari 2025 @ 13:47:
In nog geen 2 jaar tijd al de 3de keer dat ik mijn m5stick plus moet vervangen, doet helemaal niks meer krijg hem niet meer aan de praat.

Hij zit natuurlijk buiten in de warmtepomp..

Andere die hier ook last van hebben en er een oplossing voor hebben?
Ik heb ook een monoblock en heel eenvoudig de ESP32 naar binnen gebracht middels een UTP kabel van ca 2,5mtr lengte. In de WP een aansluitdoosje met dubbelzijdig tape bevestigd waar de draden naar X10P op aangesloten zitten.

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

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Allen, Ik ben al een paar dagen aan het stoeien om vanuit de enkele entiteit de attributen te genereren. Ik heb ook te maken met de sensor.none_altherma wat maakt dat ik in de YAML file een hoop aan moet passen.

Heeft er iemand ook een EDLA/EBLA Monoblock draaien (9kW of groter) met ESPaltherma waar ik de YAML configuratie van kan 'lenen' en bij voorkeur ook een dashboard?
Ik heb de Daikin Onecta integratie operationeel dus die sensoren zijn aanwezig voor op een dashboard.

Daarnaast ben ik nieuwsgierig welke variabelen er geslecteerd (uncommented) zijn in het bestand welke in de configuratie van de ESP32 moet.

Dank alvast!!!

Acties:
  • +1 Henk 'm!

  • HumorousGazelle
  • Registratie: Juni 2024
  • Laatst online: 10:37
benthouse schreef op dinsdag 28 januari 2025 @ 17:08:
Allen, Ik ben al een paar dagen aan het stoeien om vanuit de enkele entiteit de attributen te genereren. Ik heb ook te maken met de sensor.none_altherma wat maakt dat ik in de YAML file een hoop aan moet passen.

Heeft er iemand ook een EDLA/EBLA Monoblock draaien (9kW of groter) met ESPaltherma waar ik de YAML configuratie van kan 'lenen' en bij voorkeur ook een dashboard?
Ik heb de Daikin Onecta integratie operationeel dus die sensoren zijn aanwezig voor op een dashboard.

Daarnaast ben ik nieuwsgierig welke variabelen er geslecteerd (uncommented) zijn in het bestand welke in de configuratie van de ESP32 moet.

Dank alvast!!!
Je kan toch veel sneller de sensor aanpassen naar sensor.altherma in plaats van alle entiteiten te wijzigen in je YAML?

Acties:
  • +1 Henk 'm!

  • Tom2828
  • Registratie: Juli 2015
  • Laatst online: 01-05 15:02
benthouse schreef op dinsdag 28 januari 2025 @ 17:08:
Allen, Ik ben al een paar dagen aan het stoeien om vanuit de enkele entiteit de attributen te genereren. Ik heb ook te maken met de sensor.none_altherma wat maakt dat ik in de YAML file een hoop aan moet passen.

Heeft er iemand ook een EDLA/EBLA Monoblock draaien (9kW of groter) met ESPaltherma waar ik de YAML configuratie van kan 'lenen' en bij voorkeur ook een dashboard?
Ik heb de Daikin Onecta integratie operationeel dus die sensoren zijn aanwezig voor op een dashboard.

Daarnaast ben ik nieuwsgierig welke variabelen er geslecteerd (uncommented) zijn in het bestand welke in de configuratie van de ESP32 moet.

Dank alvast!!!
Zie mijn post van een tijdje geleden:
Tom2828 schreef op woensdag 27 november 2024 @ 11:16:
[...]


Die 'none' moet je eigenlijk alleen hier weghalen. Bij je Integraties ga je naar MQTT, dan klik je op je apparaten en kies je voor je Altherma. In het blokje Sensoren klik je je AlthermaSensors en dan op het tandwieltje.
[Afbeelding]

Acties:
  • +3 Henk 'm!

  • rob-bo
  • Registratie: April 2007
  • Laatst online: 04-04 21:47
Heeft er al eens iemand naar zoiets gekeken?

Afbeeldingslocatie: https://tweakers.net/i/-vKydSKMUg3ys-IoLcmI18Br1Z8=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/0hsX8kGq11nUTMnj3i8w9wRU.png?f=user_small


Dat lost meerdere problemen (die ik hier gelezen heb) op lijkt me. Geen losse power supply, geen wifi disconnects en klaar voor de smart-grid optie.

Acties:
  • 0 Henk 'm!

  • -Casper
  • Registratie: Juni 2012
  • Laatst online: 11:29
Vraagje, in de documentatie lees ik:
Adding this will take priority on your thermostat. ESPAltherma will turn the heating on/off ; the thermostat will be in standby.
Betekent dit dat de esp altherma 100% de thermostaat vervangt of enkel wanneer de esp altherma aan schakelt?

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
rob-bo schreef op vrijdag 7 februari 2025 @ 12:45:
Heeft er al eens iemand naar zoiets gekeken?

[Afbeelding]


Dat lost meerdere problemen (die ik hier gelezen heb) op lijkt me. Geen losse power supply, geen wifi disconnects en klaar voor de smart-grid optie.
Heb je een linkje waar je deze gevonden hebt? Ben wel geïnteresseerd!

Acties:
  • 0 Henk 'm!

  • rogervdh
  • Registratie: Augustus 2008
  • Laatst online: 07:17
rob-bo schreef op vrijdag 7 februari 2025 @ 12:45:
Heeft er al eens iemand naar zoiets gekeken?

[Afbeelding]


Dat lost meerdere problemen (die ik hier gelezen heb) op lijkt me. Geen losse power supply, geen wifi disconnects en klaar voor de smart-grid optie.
Ziet er heel goed uit! Ben benieuwd of iemand ermee aan de slag wil gaan... (en werkend krijgt).

Acties:
  • 0 Henk 'm!

  • SirLikeAlot
  • Registratie: Mei 2021
  • Laatst online: 01-05 15:08
rob-bo schreef op vrijdag 7 februari 2025 @ 12:45:
Heeft er al eens iemand naar zoiets gekeken?

[Afbeelding]


Dat lost meerdere problemen (die ik hier gelezen heb) op lijkt me. Geen losse power supply, geen wifi disconnects en klaar voor de smart-grid optie.
Ik gebruik zelf een ASTRA br4g8al (zie; https://github.com/raomin/ESPAltherma/issues/17#issuecomment-1887492565) meteen met 4x een relay en in een nette behuizing. Voor nog geen 30 euro echt wel een net apparaatje. Kost wel wat extra moeite om ESPAltherma erop te zetten, maar dan is het (zeker voor SG functies) een betere oplossing wat mij betreft dan de standaard M5StickC.

Acties:
  • 0 Henk 'm!

  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 11:55

Japie.G

Colour Classic

MrFish schreef op maandag 18 maart 2024 @ 20:20:
[...]


Denk dat je helemaal gelijk hebt in dat laatste. Sowieso zijn die thermal protection entries niet zo nuttig, liever zie je gewoon of de BUH en BSH zelf aan of uit staan (en die kun je ook gewoon aanzetten).
Wat diet die q1l thermal protector eigenlijk? Ik zie hem af en toe wel schakelen. Iemand een idee?

Renault Scenic E-Tech EV - PV-Output


Acties:
  • 0 Henk 'm!

  • Senaxx
  • Registratie: December 2010
  • Laatst online: 04-05 17:59
SirLikeAlot schreef op maandag 17 februari 2025 @ 16:16:
[...]


Ik gebruik zelf een ASTRA br4g8al (zie; https://github.com/raomin/ESPAltherma/issues/17#issuecomment-1887492565) meteen met 4x een relay en in een nette behuizing. Voor nog geen 30 euro echt wel een net apparaatje. Kost wel wat extra moeite om ESPAltherma erop te zetten, maar dan is het (zeker voor SG functies) een betere oplossing wat mij betreft dan de standaard M5StickC.
Zou je hier wat meer over willen delen hoe jij hem hebt ingebouwd? Vooral dat deze een externe antenne heeft voor beter wifi bereik vind ik wel interessant. Want ik zie een printplaatje tussen zitten de astra en de WP zitten.

[ Voor 5% gewijzigd door Senaxx op 18-02-2025 09:32 ]


Acties:
  • 0 Henk 'm!

  • SirLikeAlot
  • Registratie: Mei 2021
  • Laatst online: 01-05 15:08
Senaxx schreef op dinsdag 18 februari 2025 @ 09:22:
[...]


Zou je hier wat meer over willen delen hoe jij hem hebt ingebouwd? Vooral dat deze een externe antenne heeft voor beter wifi bereik vind ik wel interessant. Want ik zie een printplaatje tussen zitten de astra en de WP zitten.
Natuurlijk, het printplaatje is overigens in de kabel tussen WP en Astra verwerkt. Dat is een zgn. logic level shifter die 5v naar 3,3v kan omzetten. Die heb ik er puur voor de veiligheid tussen gezet. Dit is overigens voor de M5StickC ook een tip, die ik had is zo toch waarschijnlijk overleden uiteindelijk denk ik. Dit terwijl ESP32 modules zogenaamd 5v aan zouden moeten kunnen op de inputs....

Wellicht overdone, maar zo draait hij superstabiel en nu al meer dan een jaar. ;)

Acties:
  • 0 Henk 'm!

  • MrFish
  • Registratie: Juni 2003
  • Laatst online: 07:05

MrFish

Untitled

Japie.G schreef op maandag 17 februari 2025 @ 22:12:
[...]


Wat diet die q1l thermal protector eigenlijk? Ik zie hem af en toe wel schakelen. Iemand een idee?
Geen idee wat die precies doet. Het zal wel een thermische beveiliging zijn voor oververhitting van het element oid.

  • FransHe
  • Registratie: December 2022
  • Laatst online: 10:06
Ik probeer de WifiRSSI uit te lezen maar krijg melding "onbekend". Heeft iemand de goede code om de stick uit te lezen? De gegevens van de Altherma komen goed binnen en ik kan de waarden ook in het overzicht van de stick zien in HA maar wil ze als separate sensoren.

Acties:
  • +1 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
@FransHe dit komt uit mijn espaltherma.yaml:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
homeassistant:
  customize:
    sensor.althermasensors_wifirssi:
      friendly_name: "ESP Wifi RSSI"        

template:
  - unique_id: "althermasensors"
    sensor:
      - name: "Althermasensors WifiRSSi"
        unique_id: wifirssi
        state: "{{ state_attr('sensor.althermasensors','WifiRSSI')|replace('dBm', '')|float(0) }}"
        unit_of_measurement: "dBm"
        state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}

In combinatie met de volgende dashboardcode:
code:
1
2
3
4
5
6
type: entities
entities:
  - entity: sensor.althermasensors
    icon: ""
  - entity: sensor.althermasensors_wifirssi
    icon: mdi:wifi

Geeft dat dit resultaat:
Afbeeldingslocatie: https://tweakers.net/i/J5xVqbF5YJLuYn7cRXxjDTlzU7Y=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/SsqMel1ifha44zbjjOYePoHV.png?f=user_large

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Hallo,

ik heb nu alle sensoren in mijn config.yaml staan door het betere knip- en plakwerk. Alles werkt. Nu wil ik echter de sensoren UIT de Config.YAML naar een apart bestand overzetten zodat de config.yaml overzichtelijk blijft.
Wil alles naar de sensor.yaml kopieeren en dan in de config.yaml een verwijzing naar het bestang sensor.yaml middels de

sensor: !include sensor.yaml

optie. (regel 9)

Echter krijg ik dit niet voor elkaar. meerdere forums terug gelezen, en het lijkt erop dat HA in de voorbije jaren wijzigingen heeft ondergaan want wer zijn meerdere varianten en opties. Soms kom je oude(re) tegen en soms nieuwe beschrijvingen maar ik krijg het desondanks niet werkend.

Op regel 9 heb ik nu een # staan maar die moet uiteindelijk weg

Mijn config.YAML:

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
# 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
# sensor: !include sensor.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

template:
    - sensor:
#
      - name: "ESPAltherma last update"
        state: "{{ as_timestamp(states.sensor.althermasensors.last_updated) | timestamp_custom('%H:%M:%S',True) }}"    
        unique_id: "espaltherma.last_update"    
#
      - name: "Operation Mode"
        state: "{{ state_attr('sensor.althermasensors','Operation Mode') }}"   
        unique_id: "espaltherma.Operation_Mode"    
#
      - name: "Thermostat"
        state: "{{ state_attr('sensor.althermasensors','Thermostat ON/OFF') }}"
        unique_id: "espaltherma.Thermostat_ON/OFF"                
#
      - 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: "Defrost Operation"
        state: "{{ state_attr('sensor.althermasensors','Defrost Operation') }}"
        unique_id: "espaltherma.Defrost_Operation_ON/OFF"                    
#
      - name: "Oil Return Operation"
        state: "{{ state_attr('sensor.althermasensors','Oil Return Operation') }}"
        unique_id: "espaltherma.Oil_Return_Operation_ON/OFF"                        
#
      - name: "Pressure equalizing operation"
        state: "{{ state_attr('sensor.althermasensors','Pressure equalizing operation') }}"
        unique_id: "espaltherma.Pressure_equalizing_operation_ON/OFF"                            
#
      - name: "Demand Signal"
        state: "{{ state_attr('sensor.althermasensors','Demand Signal') }}"
        unique_id: "espaltherma.Demand_Signal_ON/OFF"                                
#
      - name: "Low noise control"
        state: "{{ state_attr('sensor.althermasensors','Low noise control') }}"
        unique_id: "espaltherma.Low_noise_control_ON/OFF"                                    
#
      - 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: "Discharge Temperature Drop"
        state: "{{ state_attr('sensor.althermasensors','Discharge Temp. Drop') }}"  
        unique_id: "espaltherma.Discharge_Temp._Drop_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: "Emergency operation"
        state: "{{ state_attr('sensor.althermasensors','During emergency operation') }}"
        unique_id: "espaltherma.Y1S-4_Way_Valve_ON/OFF"                
#
      - name: "Monobloc setting"
        state: "{{ state_attr('sensor.althermasensors','Monobloc setting') }}"
        unique_id: "espaltherma.Monobloc_setting_ON/OFF"                
#
      - name: "Minichiller setting"
        state: "{{ state_attr('sensor.althermasensors','Minichiller setting') }}"
        unique_id: "espaltherma.Minichiller_setting_ON/OFF"                
#
      - name: "Last operation Mode"
        state: "{{ state_attr('sensor.althermasensors','I/U operation mode') }}"
        unique_id: "espaltherma.I/U_operation_mode"
#
      - name: "Ext. Thermostat"
        state: "{{ state_attr('sensor.althermasensors','Ext. Thermostat ON/OFF') }}"
        unique_id: "espaltherma.Ext._Thermostat_ON/OFF"                
#
      - name : "Freeze Protection"
        state: "{{ state_attr('sensor.althermasensors', 'Freeze Protection') }}"
        unique_id: "espaltherma.Freeze_Protection_ON/OFF"
#
      - name : "Silent Mode"
        state: "{{ state_attr('sensor.althermasensors', 'Silent Mode') }}"
        unique_id: "espaltherma.Silent_Mode_ON/OFF"
#
      - name : "Freeze Protection for water piping"
        state: "{{ state_attr('sensor.althermasensors', 'Freeze Protection for water piping') }}"
        unique_id: "espaltherma.Freeze_Protection_for_water_piping_ON/OFF"
#
      - name: "Error detailed code"
        state: "{{ state_attr('sensor.althermasensors','Error detailed code') }}"  
        unique_id: "espaltherma.Error_detailed_code"    
#
      - name: "Water flow switch"
        state: "{{ state_attr('sensor.althermasensors','Water flow switch') }}"
        unique_id: "espaltherma.Water_flow_switch_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: "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"
#
      - name: "Boiler Operation Demand"
        state: "{{ state_attr('sensor.althermasensors','Boiler Operation Demand') }}"
        unique_id: "espaltherma.Boiler_Operation_Demand_ON/OFF"
#
      - name: "Boiler DHW Demand"
        state: "{{ state_attr('sensor.althermasensors','Boiler DHW Demand') }}"
        unique_id: "espaltherma.Boiler_DHW_Demand_ON/OFF"
#
#
#
#
#
# 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
#
#
#
#
#
# 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)) }} {% else %} 0 {% endif %}"
        unique_id: "espaltherma.inverter_usage"
        unit_of_measurement: "W"
        state_class: measurement

# Calculated Heatload (Q=m*c*dT)
      - name: "Heatload"
        state: "{{(states('sensor.flowpump'))|float / 60 * 4187 * (states('sensor.dt'))|float |round(1) }}"
        unique_id: "espaltherma.heatload"  
        unit_of_measurement: "W"
        state_class: measurement

# Calculated COP        
      - name: "COP"
        state: "{% if is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'ON') %} {{(states('sensor.heatload'))|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 }} {% else %} 0 {% endif %}"
        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.dT"
        unit_of_measurement: "°C"

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

# Weather entities
      - name: "Actual outside Temperature"
        state: "{{ state_attr('weather.forecast_home','temperature')|float(0) }} "
        unique_id: "weather.actual_temperature"
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "Dew point"
        state: "{{ state_attr('weather.forecast_home','dew_point')|float(0) }} "
        unique_id: "weather.dew_point"
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "Humidity"
        state: "{{ state_attr('weather.forecast_home','humidity')|float(0) }} "
        unique_id: "weather.humidity"
        unit_of_measurement: "%"
        state_class: measurement
#
      - name: "Outside Pressure"
        state: "{{ state_attr('weather.forecast_home','pressure')|float(0) }} "
        unique_id: "weather.pressure"
        unit_of_measurement: "mbar"
        state_class: measurement
#
      - name: "Wind speed"
        state: "{{ state_attr('weather.forecast_home','wind_speed')|float(0) }} "
        unique_id: "weather.wind_speed"
        unit_of_measurement: "km/h"
        state_class: measurement
#
      - name: "Wind gust speed"
        state: "{{ state_attr('weather.forecast_home','wind_gust_speed')|float(0) }} "
        unique_id: "weather.wind_gust_speed"
        unit_of_measurement: "km/h"
        state_class: measurement
#
      - name: "Wind bearing"
        state: "{{ state_attr('weather.forecast_home','wind_bearing')|float(0) }} "
        unique_id: "weather.wind_bearing"
        unit_of_measurement: "°"


In de sensor.yaml moet ik waarschijnlijk iets doen met

platform:

en dan

template:
sensor:

weghalen??


Maar ik krijg steeds foutmeldingen.....

sensor.yaml:

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
###################################################
#                                                  #
#                     Sensors                      #
#                                                  #
####################################################


platform:
  template:
  - sensor:
#
      - name: "ESPAltherma last update"
        state: "{{ as_timestamp(states.sensor.althermasensors.last_updated) | timestamp_custom('%H:%M:%S',True) }}"    
        unique_id: "espaltherma.last_update"    
#
      - name: "Operation Mode"
        state: "{{ state_attr('sensor.althermasensors','Operation Mode') }}"   
        unique_id: "espaltherma.Operation_Mode"    
#
      - name: "Thermostat"
        state: "{{ state_attr('sensor.althermasensors','Thermostat ON/OFF') }}"
        unique_id: "espaltherma.Thermostat_ON/OFF"                
#
      - 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: "Defrost Operation"
        state: "{{ state_attr('sensor.althermasensors','Defrost Operation') }}"
        unique_id: "espaltherma.Defrost_Operation_ON/OFF"                    
#
      - name: "Oil Return Operation"
        state: "{{ state_attr('sensor.althermasensors','Oil Return Operation') }}"
        unique_id: "espaltherma.Oil_Return_Operation_ON/OFF"                        
#
      - name: "Pressure equalizing operation"
        state: "{{ state_attr('sensor.althermasensors','Pressure equalizing operation') }}"
        unique_id: "espaltherma.Pressure_equalizing_operation_ON/OFF"                            
#
      - name: "Demand Signal"
        state: "{{ state_attr('sensor.althermasensors','Demand Signal') }}"
        unique_id: "espaltherma.Demand_Signal_ON/OFF"                                
#
      - name: "Low noise control"
        state: "{{ state_attr('sensor.althermasensors','Low noise control') }}"
        unique_id: "espaltherma.Low_noise_control_ON/OFF"                                    
#
      - 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: "Discharge Temperature Drop"
        state: "{{ state_attr('sensor.althermasensors','Discharge Temp. Drop') }}"  
        unique_id: "espaltherma.Discharge_Temp._Drop_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: "Emergency operation"
        state: "{{ state_attr('sensor.althermasensors','During emergency operation') }}"
        unique_id: "espaltherma.Y1S-4_Way_Valve_ON/OFF"                
#
      - name: "Monobloc setting"
        state: "{{ state_attr('sensor.althermasensors','Monobloc setting') }}"
        unique_id: "espaltherma.Monobloc_setting_ON/OFF"                
#
      - name: "Minichiller setting"
        state: "{{ state_attr('sensor.althermasensors','Minichiller setting') }}"
        unique_id: "espaltherma.Minichiller_setting_ON/OFF"                
#
      - name: "Last operation Mode"
        state: "{{ state_attr('sensor.althermasensors','I/U operation mode') }}"
        unique_id: "espaltherma.I/U_operation_mode"
#
      - name: "Ext. Thermostat"
        state: "{{ state_attr('sensor.althermasensors','Ext. Thermostat ON/OFF') }}"
        unique_id: "espaltherma.Ext._Thermostat_ON/OFF"                
#
      - name : "Freeze Protection"
        state: "{{ state_attr('sensor.althermasensors', 'Freeze Protection') }}"
        unique_id: "espaltherma.Freeze_Protection_ON/OFF"
#
      - name : "Silent Mode"
        state: "{{ state_attr('sensor.althermasensors', 'Silent Mode') }}"
        unique_id: "espaltherma.Silent_Mode_ON/OFF"
#
      - name : "Freeze Protection for water piping"
        state: "{{ state_attr('sensor.althermasensors', 'Freeze Protection for water piping') }}"
        unique_id: "espaltherma.Freeze_Protection_for_water_piping_ON/OFF"
#
      - name: "Error detailed code"
        state: "{{ state_attr('sensor.althermasensors','Error detailed code') }}"  
        unique_id: "espaltherma.Error_detailed_code"    
#
      - name: "Water flow switch"
        state: "{{ state_attr('sensor.althermasensors','Water flow switch') }}"
        unique_id: "espaltherma.Water_flow_switch_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: "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"
#
      - name: "Boiler Operation Demand"
        state: "{{ state_attr('sensor.althermasensors','Boiler Operation Demand') }}"
        unique_id: "espaltherma.Boiler_Operation_Demand_ON/OFF"
#
      - name: "Boiler DHW Demand"
        state: "{{ state_attr('sensor.althermasensors','Boiler DHW Demand') }}"
        unique_id: "espaltherma.Boiler_DHW_Demand_ON/OFF"
#
#
#
#
#
# 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
#
#
#
#
#
# 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)) }} {% else %} 0 {% endif %}"
        unique_id: "espaltherma.inverter_usage"
        unit_of_measurement: "W"
        state_class: measurement

# Calculated Heatload (Q=m*c*dT)
      - name: "Heatload"
        state: "{{(states('sensor.flowpump'))|float / 60 * 4187 * (states('sensor.dt'))|float |round(1) }}"
        unique_id: "espaltherma.heatload"  
        unit_of_measurement: "W"
        state_class: measurement

# Calculated COP        
      - name: "COP"
        state: "{% if is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'ON') %} {{(states('sensor.heatload'))|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 }} {% else %} 0 {% endif %}"
        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.dT"
        unit_of_measurement: "°C"

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

# Weather entities
      - name: "Actual outside Temperature"
        state: "{{ state_attr('weather.forecast_home','temperature')|float(0) }} "
        unique_id: "weather.actual_temperature"
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "Dew point"
        state: "{{ state_attr('weather.forecast_home','dew_point')|float(0) }} "
        unique_id: "weather.dew_point"
        unit_of_measurement: "°C"
        state_class: measurement
#
      - name: "Humidity"
        state: "{{ state_attr('weather.forecast_home','humidity')|float(0) }} "
        unique_id: "weather.humidity"
        unit_of_measurement: "%"
        state_class: measurement
#
      - name: "Outside Pressure"
        state: "{{ state_attr('weather.forecast_home','pressure')|float(0) }} "
        unique_id: "weather.pressure"
        unit_of_measurement: "mbar"
        state_class: measurement
#
      - name: "Wind speed"
        state: "{{ state_attr('weather.forecast_home','wind_speed')|float(0) }} "
        unique_id: "weather.wind_speed"
        unit_of_measurement: "km/h"
        state_class: measurement
#
      - name: "Wind gust speed"
        state: "{{ state_attr('weather.forecast_home','wind_gust_speed')|float(0) }} "
        unique_id: "weather.wind_gust_speed"
        unit_of_measurement: "km/h"
        state_class: measurement
#
      - name: "Wind bearing"
        state: "{{ state_attr('weather.forecast_home','wind_bearing')|float(0) }} "
        unique_id: "weather.wind_bearing"
        unit_of_measurement: "°"


iemand een idee waarom dit niet 'eenvoudig' kan????

Acties:
  • +1 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Heb ik ook geprobeerd; week of 2 terug; kreeg het niet werkend. Inmiddels met het dashboard van @Toppe Toppe en de mobiele versie die hier in het forum ook gepost is mijn eigen dashboards aan de praat gekregen.

Nu de grap nog dus om de config.yaml op te schonen. Dat lijkt een erg lastige stap want vele mensen krijgen dit niet voor elkaar. HA is niet echt eenvoudig... 8)7

Dit is wat ik er van gebrouwen heb; allemaal losse delen die goed op de Iphone te zijn / lezen zijn.

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

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

Ik ben begonnen met uit te zoeken wat er werkte in de ESP config file van Raomin. heb daar ook de juiste (Daikin) benamingen bijgezocht in de technische handleiding; die hebben nl. wel 3x een temperatuursensor die R1T heet; is niet echt handig......

Wellicht op de PC nog wat beter uitlijnen; maar op de telefoon werkt dit perfect. Ik heb dus een combinatie van een warmtepomp en een Resol zonneboiler systeem (staat hier ook tussen).

[ Voor 7% gewijzigd door benthouse op 20-02-2025 20:30 ]


Acties:
  • +1 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
Je dash ziet er prima uit!

Met een poging je yaml op te schonen zou ik in elk geval beginnen met in je config.yaml regels 13 t/m 401 te verwijderen. Voeg dan @ regel 12 in:
code:
1
2
homeassistant:
  packages: !include_dir_named packages

Vervolgens maak je in de directory (map/folder, hoe je het wilt noemen) waar je config.yaml staat een nieuwe map met de naam packages aan en plaats in die map je sensor.yaml.

Verander dan in sensor.yaml
code:
1
2
3
platform:
  template:
  - sensor:
in
code:
1
2
3
template:
  - unique_id: "althermasensors"
    sensor:

Hernoem daarna sensor.yaml naar espaltherma.yaml.

Dan ben je al een heel eind denk ik. Dit breekt dan wel je forecast sensors waarschijnlijk; dat los je op door de relevante code uit espaltherma.yaml te knippen en in een nieuw aan te maken .yaml bestand in de map packages te plakken. Denk hierbij weer aan bovenstaande template: opbouw.

Uiteraard bestanden opslaan na edit. Als we het goed gedaan hebben dan vind HA de yaml configuratie prima (checken via Developer Tools -> YAML). HA ff herstarten en dan zou het moeten draaien.

Acties:
  • +1 Henk 'm!

  • FransHe
  • Registratie: December 2022
  • Laatst online: 10:06
floydv schreef op dinsdag 12 november 2024 @ 14:30:
Is er iemand die EPSAltherma heeft draaien met de Daikin EHBH08EF6V?
Zou je mij kunnen vertellen welk model je in 'setup.h' gebruikt? de default of een ander model?
Ik gebruik de Default. Werkt prima sinds 2022.

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
EmTri schreef op donderdag 20 februari 2025 @ 22:30:
Je dash ziet er prima uit!

Met een poging je yaml op te schonen zou ik in elk geval beginnen met in je config.yaml regels 13 t/m 401 te verwijderen. Voeg dan @ regel 12 in:
code:
1
2
homeassistant:
  packages: !include_dir_named packages

Vervolgens maak je in de directory (map/folder, hoe je het wilt noemen) waar je config.yaml staat een nieuwe map met de naam packages aan en plaats in die map je sensor.yaml.

Verander dan in sensor.yaml
code:
1
2
3
platform:
  template:
  - sensor:
in
code:
1
2
3
template:
  - unique_id: "althermasensors"
    sensor:

Hernoem daarna sensor.yaml naar espaltherma.yaml.

Dan ben je al een heel eind denk ik. Dit breekt dan wel je forecast sensors waarschijnlijk; dat los je op door de relevante code uit espaltherma.yaml te knippen en in een nieuw aan te maken .yaml bestand in de map packages te plakken. Denk hierbij weer aan bovenstaande template: opbouw.

Uiteraard bestanden opslaan na edit. Als we het goed gedaan hebben dan vind HA de yaml configuratie prima (checken via Developer Tools -> YAML). HA ff herstarten en dan zou het moeten draaien.
toon volledige bericht
Allereerst dank voor je antwoord! Wordt gewaardeerd.

Ik heb de stappen doorlopen en kreeg inderdaad geen foutmeldingen bij de check. Na herstarten van HA echter ook geen updates vanuit de ESP32.....

hieronder wat screenshots:

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

Dit was stap 1; in configuration.yaml de extra regel toevoegen en de sensor definities verwijderen. (Ik heb de weerentiteiten voor het gemak compleet verwijderd)

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

In stap 2 de extra directorey/folder etc aangemaakt conform je voorbeeld

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

In stap 3 de sensor.yaml aangemaakt in de nieuwe directory; en hernoemd

Afbeeldingslocatie: https://tweakers.net/i/JYY_XhNDPIA0CUgYQjy9Ho-R56U=/800x/filters:strip_exif()/f/image/8r0QK1THAW9jZDZPK6KiYE4T.png?f=fotoalbum_large


In stap 4 in espaltherma.yaml de template regel etc aangepast

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

Helaas geen communicatie......

Acties:
  • 0 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
Ah bummer... Dan beter een rommeltje in je yaml. :+

Maar goed, eens kijken of we het kunnen fiksen dan. Ik vermoed dat het komt doordat er nu een extra unique_id veld in je espaltherma.yaml staat.
code:
1
2
3
template:
  - unique_id: "althermasensors"
    sensor:

Als dat zo is dan heten je sensors nu wellicht anders dan dat je dashboard verwacht. Misschien kan je ze daar aanpassen?

Of anders dat je het wellicht aan de praat krijgt door die unique_id weg te halen uit espaltherma.yaml (al weet ik niet zeker of dat verdere implicaties heeft)
code:
1
2
template:
  - sensor:

Acties:
  • 0 Henk 'm!

  • FransHe
  • Registratie: December 2022
  • Laatst online: 10:06
Ik heb een probleem met het uitrekenen van Delta T.

De individuele parameters krijg ik goed op het scherm:
Afbeeldingslocatie: https://tweakers.net/i/2XgLvikCO1vS_3kq58CZQY0Te_A=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/8qpDnUsSbRnLS0yoSaMjVEYX.png?f=user_large

Daarvan zijn dit de data:

- name: "Water leaving temperature"
state: "{{ state_attr('sensor.althermasensors','Outlet BUH(R1T)') }}"
unit_of_measurement: "°C"
state_class: measurement
- name: "Water inlet temperature"
state: "{{ state_attr('sensor.althermasensors','Inlet water temp.(R4T)') }}"
unit_of_measurement: "°C"
state_class: measurement


Maar als ik dan ga rekenen met deze gegevens:

- name: "∆T"
unit_of_measurement: "°C"
state_class: measurement
state: >-
{{ (states('sensor.althermasensors', 'Outlet BUH(R1T)') | float - states('sensor.althermasensors','Inlet temperature(R4T)') | float) | round(1) }}

dan komt er de waarde "onbekend" uit.

Als ik de formule maak met sensoren uit de Onecta data wordt er wel goed gerekend maar de betrouwbaarheid van de Daikin app is niet de beste; valt regelmatig weg. Ook zie ik geen sensor voor de inlet -temperatuur in Onecta.

Tips graag.

Acties:
  • 0 Henk 'm!

  • D-Three
  • Registratie: Oktober 2001
  • Laatst online: 04-05 22:23
@FransHe Nog een extra set haakjes denk ik:

{{ ((states('sensor.althermasensors', 'Outlet BUH(R1T)') | float) - (states('sensor.althermasensors','Inlet temperature(R4T)') | float)) | round(1) }}

Acties:
  • 0 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
De sensors bij naam gebruiken:

{{ (states('sensor.water_leaving_temperature') | float(0) - states('sensor.water_inlet_temperature') | float(0)) | round(1) }}

Acties:
  • 0 Henk 'm!

  • FransHe
  • Registratie: December 2022
  • Laatst online: 10:06
D-Three schreef op zaterdag 22 februari 2025 @ 07:49:
@FransHe Nog een extra set haakjes denk ik:

{{ ((states('sensor.althermasensors', 'Outlet BUH(R1T)') | float) - (states('sensor.althermasensors','Inlet temperature(R4T)') | float)) | round(1) }}
Heb ik gedaan, geen verandering. Als ik het tweede deel vervang door de waarde 1 komt er op het dashboard -1 als waarde. Het lijkt er op dat de vergelijking niet de sensor.althermasensors accepteerd.

Acties:
  • 0 Henk 'm!

  • FransHe
  • Registratie: December 2022
  • Laatst online: 10:06
Dit zijn de sensors uit de Onecta app maar de laatste staat niet in de lijst van beschikbare sensors bij mij. Ik wil de sensors uit de ESPAltherma gebruiken. Die zijn nauwkeuriger dan de waarden uit de Onecta; die zijn afgerond.

Acties:
  • +1 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
Je haalt states en state_attr door elkaar denk ik.
Met states krijg je de waarde van een sensor, met state_attr de waarde van een attribuut van een sensor.

code:
1
{{ states('sensor.althermasensors', 'Outlet BUH(R1T)') }}
Bovenstaande geeft als output 'Online', je vraagt immers naar de staat van sensor.althermasensors, niet van een attribuut daarvan.

Als voorbeeld deze sensor die je geconfigureerd hebt:
code:
1
2
3
4
- name: "Water leaving temperature"
state: "{{ state_attr('sensor.althermasensors','Outlet BUH(R1T)') }}"
unit_of_measurement: "°C"
state_class: measurement

Twee manieren om de waarde tevoorschijn te halen:
code:
1
2
{{ (state_attr('sensor.althermasensors','Outlet BUH(R1T)') | float(0)) | round(1) }}
{{ (states('sensor.water_leaving_temperature') | float(0)) | round(1) }}
Met de eerste methode vraag je de waarde van het attribuut 'Outlet BUH(R1T)' van sensor.althermasensors.
Met de tweede methode vraag je de waarde van de sensor met de naam 'Water leaving temperature'.

Zo is het in elk geval zoals ik de boel interpreteer, wellicht kan iemand het verbeteren en/of verduidelijken, maar ik denk wel dat dit de kern van je probleem is, @FransHe.

Acties:
  • 0 Henk 'm!

  • FransHe
  • Registratie: December 2022
  • Laatst online: 10:06
EmTri schreef op zaterdag 22 februari 2025 @ 15:02:
Je haalt states en state_attr door elkaar denk ik.
Met states krijg je de waarde van een sensor, met state_attr de waarde van een attribuut van een sensor.

code:
1
{{ states('sensor.althermasensors', 'Outlet BUH(R1T)') }}
Bovenstaande geeft als output 'Online', je vraagt immers naar de staat van sensor.althermasensors, niet van een attribuut daarvan.

Als voorbeeld deze sensor die je geconfigureerd hebt:
code:
1
2
3
4
- name: "Water leaving temperature"
state: "{{ state_attr('sensor.althermasensors','Outlet BUH(R1T)') }}"
unit_of_measurement: "°C"
state_class: measurement

Twee manieren om de waarde tevoorschijn te halen:
code:
1
2
{{ (state_attr('sensor.althermasensors','Outlet BUH(R1T)') | float(0)) | round(1) }}
{{ (states('sensor.water_leaving_temperature') | float(0)) | round(1) }}
Met de eerste methode vraag je de waarde van het attribuut 'Outlet BUH(R1T)' van sensor.althermasensors.
Met de tweede methode vraag je de waarde van de sensor met de naam 'Water leaving temperature'.

Zo is het in elk geval zoals ik de boel interpreteer, wellicht kan iemand het verbeteren en/of verduidelijken, maar ik denk wel dat dit de kern van je probleem is, @FransHe.
toon volledige bericht
Dank. De waardes heb ik maar het probleem is dat als ik voor Delta T de ESP-waardes wil gebruiken het niet werkt conform de DeltaT vergelijking van @Toppe Toppe. Het werkt wel met de sensoren van de Daikin Onecta app maar niet met de sensoren uit EspAltherma.

Acties:
  • 0 Henk 'm!

  • FransHe
  • Registratie: December 2022
  • Laatst online: 10:06
Dit is de oplossing voor DeltaT met de variablen uit EspAltherma die voor mij werkt.

Afbeeldingslocatie: https://tweakers.net/i/n2Ue00eAxTR-o-sMKT66iu12KD8=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/By33LfUI4UbugJ1aU4CVbITn.png?f=user_large

code:
1
2
3
4
5
6
7
8
9
10
11
12
      - name: "Tin"
        state: "{{ state_attr('sensor.althermasensors','Inlet temperature(R4T)') }}"
        unit_of_measurement: "°C"
        state_class: measurement
      - name: "Tout"
        state: "{{ state_attr('sensor.althermasensors','Outlet BUH(R2T)') }}"
        unit_of_measurement: "°C"
        state_class: measurement
      - name: "Tdelta"
        unit_of_measurement: "°C"
        state_class: measurement
        state: "{{ (state_attr('sensor.althermasensors','Outlet BUH(R2T)') | float(0) - state_attr('sensor.althermasensors','Inlet temperature(R4T)') | float(0) ) | round(1) }}"

[ Voor 10% gewijzigd door FransHe op 22-02-2025 20:41 ]


Acties:
  • 0 Henk 'm!

  • Yongshi
  • Registratie: Juli 2016
  • Laatst online: 09:53
Zitten rotzooien met de instellingen van de awt. Kijken hoe laag ik hem kan krijgen (heb nog een gesloten verdeler).

Veel pendelgedrag gehad. Ook op hogere temperaturen. Echter vond ik het vreemd dat hij bij lage temperatuur alsnog op 1k+ loopt te verwarmen en dan uit te gaan.

Nu de overshoot van 1 naar 2 graden gezet en hij loopt lekker laag te pruttelen no problemo.
Vermoed dat hij gewoon te streng voor zichzelf was en hij die 2 graden speling nodig heeft om op een mooie balans te komen.

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Iemand een idee hoe je dit soort grafieken de werkelijkheid kan laten zien?
Flow sensor is omstreeks 22.00u uitgegaan en ca 01.00u weer aan.
Echter vanaf moment van uitschakelen (naar 0) en weer inschakelen krijg je zo'n rare boog (met de rode pijl aangegeven) in de grafiek; hoe kan dit opgelost worden:

Afbeeldingslocatie: https://tweakers.net/i/Iwhu2G8Poja3T6lGECCWNSO-46o=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/BzcyGCVmK8q7BLFWyAv2kOMC.png?f=user_large

Ik zou verwachten dat de lijn op de X-as met Y-as=0 horizontaal doorloopt tot moment van inschakelen


Snippet van de grafiek:

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
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
    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

[ Voor 5% gewijzigd door benthouse op 23-02-2025 12:31 ]


Acties:
  • +2 Henk 'm!

  • Monga
  • Registratie: Mei 2002
  • Laatst online: 10:52
@benthouse curve: stepline toevoegen aan je series.

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
thanks! dat was hem inderdaad!

Acties:
  • +1 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
EmTri schreef op vrijdag 21 februari 2025 @ 19:15:
Ah bummer... Dan beter een rommeltje in je yaml. :+

Maar goed, eens kijken of we het kunnen fiksen dan. Ik vermoed dat het komt doordat er nu een extra unique_id veld in je espaltherma.yaml staat.
code:
1
2
3
template:
  - unique_id: "althermasensors"
    sensor:

Als dat zo is dan heten je sensors nu wellicht anders dan dat je dashboard verwacht. Misschien kan je ze daar aanpassen?

Of anders dat je het wellicht aan de praat krijgt door die unique_id weg te halen uit espaltherma.yaml (al weet ik niet zeker of dat verdere implicaties heeft)
code:
1
2
template:
  - sensor:
toon volledige bericht
Ja! is nu gelukt; het verwijderen van - unique_id:"althermasensors" werkte!!!!

Alles staat in aparte YAML files en de boel werkt zonder foutmeldingen; door naar de volgende zaken die ik toe wil voegen :-) Dank je wel!!

Acties:
  • +1 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
Top, fijn dat het nu werkt! :)

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Ik probeer in config.yaml 2 binaire signalen (oorsprong is de altherma.sensors en daar dus 2 attributen van) samen te voegen; echter dit lukt niet.
Iemand een idee hoe dit eenvoudig kan in een YAML?

Mijn code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
template:
  - binary_sensor:
      - name: "Status DHW Heating active"
        unique_id: "mode_dhw_heating_active"
        state: >
         {{ is_state_attr('sensor.althermasensors','3way valve (On:DHW_Off:Space)', 'ON') 
             and
             is_state_attr('sensor.althermasensors','thermostat ON/OFF', 'ON') }}
        device_class: running     

      - name: "Status Space Heating active"
        unique_id: "mode_space_heating_active"
        state: >
         {{ is_state_attr('sensor.althermasensors','3way valve (On:DHW_Off:Space)', 'OFF') 
             and
             is_state_attr('sensor.althermasensors','thermostat ON/OFF', 'ON') }}
        device_class: running


Hij geeft geen foutmeldingen maar werkt niet op één of andere manier.....

[ Voor 33% gewijzigd door benthouse op 01-03-2025 15:41 ]


Acties:
  • +1 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
Je geeft ons niet veel om mee te werken; 'het werkt niet' is nogal summier. Maar als ik moet gokken dan zeg ik dat je False krijgt waar je True verwacht omdat er typo's in je attributen zitten.

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
EmTri schreef op zondag 2 maart 2025 @ 10:42:
Je geeft ons niet veel om mee te werken; 'het werkt niet' is nogal summier. Maar als ik moet gokken dan zeg ik dat je False krijgt waar je True verwacht omdat er typo's in je attributen zitten.
Dit opgenomen in mijn config.yaml. Bedoeling is dat als beide waar zijn ik een binary sensor op true wil hebben in geval van DHW of ingeval van Space heating een true als de 3-weg klep niet aangestuurd wordt maar de thermostaat wel.

Lijkt eeio dat de AND functie niet werkt. Als ik dit met OR test dan gaat de binaty sensor wel.

Ik heb gekeken bij helper en dan groepen van entiteiten maar omdat deze signalen in de YAML gedefinieerd zijn als sensor ipv binary kan ik die niet selecteren.

[ Voor 11% gewijzigd door benthouse op 02-03-2025 12:35 ]


Acties:
  • 0 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
Als je dit in de template editor (Developer Tools -> Template) gooit:
code:
1
2
3
         {{ is_state_attr('sensor.althermasensors','3way valve (On:DHW_Off:Space)', 'OFF') 
             and
             is_state_attr('sensor.althermasensors','thermostat ON/OFF', 'ON') }}

Krijg je dan wel True te zien wanneer de ruimteverwarming actief is?

Acties:
  • +1 Henk 'm!

  • acinfo64
  • Registratie: Februari 2009
  • Laatst online: 16-04 21:32
Is er ook ergens een hele simpele stap voor stap beschrijving hoe ik het dashboard krijg zoals op deze site of the ESPAlterma aan de gang kan krijgen? Ik zie met name links naar threads die soms >10 pagina's details hebben waar je uiteindelijk nauwelijks doorheen komt.

Mijn sensor doet het onderstaande gedaan maar geen verder niks te zien in Home Assistant behale de sensor en wat ruwe data.
SirLikeAlot schreef op donderdag 1 februari 2024 @ 09:26:
Goed, ik probeer het zo duidelijk mogelijk uit te leggen voor iedereen....

Plaats in de standaard configuration.yaml:

code:
1
2
3
homeassistant:
  *snip*
  packages: !include_dir_named packages


Of gebruik het packages mapje op een locatie wat je zelf al gebruikt. Maak het mapje 'packages' aan en plaats hierin het package (filename=altherma.yaml);

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
################################################
## ESPAltherma
################################################

################################################
## Component setup
################################################

#  - platform: generic_thermostat
#    name: ESPAltherma
#    heater: switch.altherma
#    target_sensor: sensor.woonkamer_temperature
#    min_temp: 15
#    max_temp: 25
#    cold_tolerance: 0.5
#    hot_tolerance: 0.5
#    min_cycle_duration:
#      minutes: 30
#    away_temp: 15
#    precision: 0.1

# climate:
  # - platform: smart_thermostat
    # name: ESPAltherma
    # unique_id: climate_espaltherma
    # heater: switch.altherma #esp
    # invert_heater: true
    # target_sensor: sensor.gemiddelde_woonkamer_temperatuur
    # outdoor_sensor: sensor.espaltherma_outdoorairtemp
    # keep_alive:
      # seconds: 120
    # cold_tolerance: 0.5
    # hot_tolerance: 0.5
    # #standaard
    # #kp: 5
    # #ki: 0.01
    # #kd: 500

    # #vloerverwarming?
    # kp: 100
    # ki: 0.0032
    # kd: 3000 #half uur response? Wellicht minderen
    # ke: 0.5 #outdoor sensor gain

    # sampling_period: 0 #?
    # pwm: 01:30:00
    # min_cycle_duration: 00:60:00
    # min_off_cycle_duration: 00:10:00
    # precision: 0.1
    # noiseband: 0.2

    # ac_mode: false
    # away_temp: 17
    # eco_temp: 18
    # boost_temp: 22
    # comfort_temp: 21
    # home_temp: 20
    # sleep_temp: 18
    # target_temp: 20
    # target_temp_step: 0.1
    # min_temp: 7
    # max_temp: 28

################################################
## Sensor etc
################################################

homeassistant:
  customize:
    sensor.althermasensors_fan:
      friendly_name: "Fan"
      icon: mdi:fan
    sensor.althermasensors_error_type:
      friendly_name: "Error Type"
      icon: mdi:alert-circle
    sensor.althermasensors_discharge_pipe_temp:
      friendly_name: "Discharge pipe temp"
    sensor.althermasensors_operation_mode:
      friendly_name: "Operation Mode"
    sensor.althermasensors_i_o_mode:
      friendly_name: "I/O (indoor/outdoor) Mode"
    sensor.althermasensors_current_mode:
      friendly_name: "Current Mode"

    sensor.althermasensors_booster_thermal_protection:
      friendly_name: "Booster thermal protection OLD"
    sensor.althermasensors_back_up_thermal_protection:
      friendly_name: "Back-up thermal protection OLD"
    sensor.althermasensors_thermal_protector_backup_heater:
      friendly_name: "Thermal Protector Backup Heater"
    sensor.althermasensors_thermal_protector_booster_heater:
      friendly_name: "Thermal Protector Booster Heater"

    sensor.althermasensors_watertanktemperature:
      friendly_name: "Watertanktemperature"
      icon: mdi:thermometer-water
    sensor.althermasensors_flowpump:
      friendly_name: "Flowpump"
      icon: mdi:water-pump
    sensor.althermasensors_water_flow_switch:
      friendly_name: "Water flow switch"
    sensor.althermasensors_water_pump_operation:
      friendly_name: "Water pump operation"
    sensor.althermasensors_water_pump_level:
      friendly_name: "Water pump level"
    sensor.althermasensors_reheat:
      friendly_name: "Reheat"
    sensor.althermasensors_delta_t_heating:
      friendly_name: "Delta T Heating"
    sensor.althermasensors_delta_t_cooling:
      friendly_name: "Delta T Cooling"
    sensor.althermasensors_outdoor_temperature:
      friendly_name: "Outdoor temperature"
    sensor.althermasensors_thermostat:
      friendly_name: "Thermostat"
    sensor.althermasensors_defrost_operation:
      friendly_name: "Defrost operation"
    sensor.althermasensors_back_up_heater:
      friendly_name: "Back-up heater"
    sensor.althermasensors_watertank_setpoint:
      friendly_name: "Watertank setpoint"
    sensor.althermasensors_room_temperature_setpoint:
      friendly_name: "Room temperature setpoint"
    sensor.althermasensors_water_leaving_temperature:
      friendly_name: "Water leaving temperature before buh"
      icon: mdi:thermometer-water
    sensor.althermasensors_water_leaving_temperature_after_buh:
      friendly_name: "Water leaving temperature after buh"
      icon: mdi:thermometer-water
    sensor.althermasensors_water_inlet_temperature:
      friendly_name: "Water inlet temperature"
      icon: mdi:thermometer-water
    sensor.althermasensors_heat_exchanger_temperature:
      friendly_name: "Heat exchanger temperature"
    sensor.althermasensors_refrigerator_liquid_temperature:
      friendly_name: "Refrigerator liquid temperature"
    sensor.althermasensors_water_pressure:
      friendly_name: "Water pressure"
      icon: mdi:car-brake-low-pressure
    sensor.althermasensors_leaving_water_setpoint:
      friendly_name: "Leaving water setpoint"
    sensor.althermasensors_roomtemperature:
      friendly_name: "Roomtemperature"
    sensor.althermasensors_inverter_current:
      friendly_name: "Inverter current"
      icon: mdi:current-ac
    sensor.althermasensors_inverter_frequency:
      friendly_name: "Inverter frequency"
    sensor.althermasensors_inverter_usage:
      friendly_name: "Inverter usage"
    sensor.althermasensors_voltage:
      friendly_name: "Voltage"
      icon: mdi:flash-triangle
    sensor.althermasensors_heat_yield:
      friendly_name: "Heat yield"
    sensor.althermasensors_suction_pipe_temperature:
      friendly_name: "Suction pipe temperature"
    sensor.althermasensors_inverter_current_secondary:
      friendly_name: "Inverter current secondary"
    sensor.althermasensors_pressure_sensor:
      friendly_name: "Pressure sensor"
      icon: mdi:car-brake-low-pressure
    sensor.althermasensors_std_compressor_1:
      friendly_name: "STD Compressor 1"
    sensor.althermasensors_freeze_protection:
      friendly_name: "Freeze Protection"
    sensor.althermasensors_silent_mode:
      friendly_name: "Silent mode"
    sensor.althermasensors_espaltherma_last_update:
      friendly_name: "ESPAltherma last update"
    sensor.althermasensors_cop:
      friendly_name: "COP"
    sensor.althermasensors_cop_with_cooling:
      friendly_name: "COP with cooling"
    sensor.althermasensors_t:
      friendly_name: "∆T"
    sensor.althermasensors_desinfectie:
      friendly_name: "Desinfectie"

sensor:
  - platform: min_max
    name: Gemiddelde Woonkamer Temperatuur
    unique_id: woonkamer_gemiddelde
    type: mean
    round_digits: 2
    entity_ids:
      - sensor.althermasensors_roomtemperature #via espaltherma
      #- sensor.airco_woonkamer_inside_temperature #airco geeft geen goede resultaten
      - sensor.airthings_woonkamer_temperature #airthings
      #- sensor.temperatuurmeter_temperature #zigbee temperatuurmeter

  - platform: template
    sensors:
      # smart_thermostat_output:
        # friendly_name: PID Output
        # unit_of_measurement: "%"
        # value_template: "{{ state_attr('climate.espaltherma', 'control_output') | float(0) }}"
      # smart_thermostat_p:
        # friendly_name: PID P
        # unit_of_measurement: "%"
        # value_template: "{{ state_attr('climate.espaltherma', 'pid_p') | float(0) }}"
      # smart_thermostat_i:
        # friendly_name: PID I
        # unit_of_measurement: "%"
        # value_template: "{{ state_attr('climate.espaltherma', 'pid_i') | float(0) }}"
      # smart_thermostat_d:
        # friendly_name: PID D
        # unit_of_measurement: "%"
        # value_template: "{{ state_attr('climate.espaltherma', 'pid_d') | float(0) }}"
      # smart_thermostat_e:
        # friendly_name: PID E
        # unit_of_measurement: "%"
        # value_template: "{{ state_attr('climate.espaltherma', 'pid_e') | float(0) }}"

      #test!
      espaltherma_cop:
        friendly_name: "COP"
        unit_of_measurement: "COP"
        value_template:
          "{% if is_state_attr('sensor.althermasensors','Operation Mode', 'Heating') and is_state_attr('sensor.althermasensors','Freeze Protection', 'OFF')  %}
          {{
          ((state_attr('sensor.althermasensors','Flow sensor (l/min)')| float(0) * 0.06 * 1.16 * (state_attr('sensor.althermasensors','Leaving water temp. before BUH (R1T)') | float(0) - state_attr('sensor.althermasensors','Inlet water temp.(R4T)')|float(0)) )
          /
          (state_attr('sensor.althermasensors','INV primary current (A)') | float(0) * state_attr('sensor.althermasensors','Voltage (N-phase) (V)')|float(0) / 1000))
          |round(2)
          }}
          {% else %} 0 {%endif%}"
        availability_template: >-
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}

template:
  - unique_id: "althermasensors"
    sensor:
      - name: "Althermasensors Fan"
        unique_id: fan
        state: "{{ state_attr('sensor.althermasensors','Fan 1 (10 rpm)') | float(0) | round * 10 }}"
        unit_of_measurement: "rpm"
        state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Error type"
        unique_id: errortype
        state: "{{ state_attr('sensor.althermasensors','Error type') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Discharge pipe temp"
        unique_id: dischargepipetemp
        state: "{{ state_attr('sensor.althermasensors','Discharge pipe temp.') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Discharge pipe temp.') | is_number }}
      - name: "Althermasensors Operation mode"
        unique_id: operationmode
        state: "{{ state_attr('sensor.althermasensors','Operation Mode') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors I/O Mode"
        unique_id: iomode
        state: "{{ state_attr('sensor.althermasensors','I/U operation mode') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Current mode"
        unique_id: currentmode
        ##??state: "{% if is_state('sensor.althermasensors_thermostat', 'ON') %} {{ state_attr('sensor.althermasensors','Operation Mode') }} {% else %} Off {% endif %}"
        state: "{{ state_attr('sensor.althermasensors','Operation Mode') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}

      - name: "Althermasensors Thermal Protector Backup Heater"
        unique_id: backupthermalprotectionnew
        state: "{{ state_attr('sensor.althermasensors','Thermal protector (Q1L) BUH') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Thermal Protector Booster Heater"
        unique_id: boosterthermalprotectionnew
        state: "{{ state_attr('sensor.althermasensors','Thermal protector BSH') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}

      - name: "Althermasensors Watertanktemperature"
        unique_id: watertanktemperature
        state: "{{ state_attr('sensor.althermasensors','DHW tank temp. (R5T)') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','DHW tank temp. (R5T)') | is_number }}
      - name: "Althermasensors Flowpump"
        unique_id: flowpump
        state: "{{ state_attr('sensor.althermasensors','Flow sensor (l/min)') }}"
        unit_of_measurement: "l/min"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Flow sensor (l/min)') | is_number }}
      - name: "Althermasensors Water flow switch"
        unique_id: waterflowswitch
        state: "{{ state_attr('sensor.althermasensors','Water flow switch') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Water pump operation"
        unique_id: waterpumpoperation
        state: "{{ state_attr('sensor.althermasensors','Water pump operation') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Water pump level"
        unique_id: waterpumplevel
        state: "{{ 100 - state_attr('sensor.althermasensors','Water pump signal (0:max-100:stop)') }}"
        unit_of_measurement: "%"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Water pump signal (0:max-100:stop)') | is_number }}
      - name: "Althermasensors Reheat"
        unique_id: reheat
        state: "{{ state_attr('sensor.althermasensors','Reheat ON/OFF') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Circulation pump"
        unique_id: circulationpump
        state: "{{ state_attr('sensor.althermasensors','Circulation pump operation') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Delta T Heating"
        unique_id: deltatheating
        state: "{{ state_attr('sensor.althermasensors','Target delta T heating') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Delta T Cooling"
        unique_id: deltatcooling
        state: "{{ state_attr('sensor.althermasensors','Target delta T cooling') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Outdoor temperature"
        unique_id: outdoortemperature
        state: "{{ state_attr('sensor.althermasensors','R1T-Outdoor air temp.') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','R1T-Outdoor air temp.') | is_number }}
      - name: "Althermasensors Thermostat"
        unique_id: thermostat
        state: "{{ state_attr('sensor.althermasensors','Thermostat ON/OFF') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Defrost operation"
        unique_id: defrostoperation
        state: "{{ state_attr('sensor.althermasensors','Defrost Operation') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Back-up heater"
        unique_id: backupheater
        state: "{{ state_attr('sensor.althermasensors','BUH Step1') }}"
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Watertank setpoint"
        unique_id: watertanksetpoint
        state: "{{ state_attr('sensor.althermasensors','DHW setpoint') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','DHW setpoint') | is_number }}
      - name: "Althermasensors Room temperature setpoint"
        unique_id: roomtemperaturesetpoint
        state: "{{ state_attr('sensor.althermasensors','RT setpoint') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','RT setpoint') | is_number }}
      - name: "Althermasensors Water leaving temperature"
        unique_id: waterleavingtemperature
        state: "{{ state_attr('sensor.althermasensors','Leaving water temp. before BUH (R1T)') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Leaving water temp. before BUH (R1T)') | is_number }}
      - name: "Althermasensors Water leaving temperature after buh"
        unique_id: waterleavingtemperatureafterbuh
        state: "{{ state_attr('sensor.althermasensors','Leaving water temp. after BUH (R2T)') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Leaving water temp. after BUH (R2T)') | is_number }}
      - name: "Althermasensors Water inlet temperature"
        unique_id: waterinlettemperature
        state: "{{ state_attr('sensor.althermasensors','Inlet water temp.(R4T)') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Inlet water temp.(R4T)') | is_number }}
      - name: "Althermasensors Heat exchanger temperature"
        unique_id: heatexchangertemperature
        state: "{{ state_attr('sensor.althermasensors','Heat exchanger mid-temp.') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Heat exchanger mid-temp.') | is_number }}
      - name: "Althermasensors Refrigerator liquid temperature"
        unique_id: refrigeratorliquidtemperature
        state: "{{ state_attr('sensor.althermasensors','Refrig. Temp. liquid side (R3T)') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Refrig. Temp. liquid side (R3T)') | is_number }}
      - name: "Althermasensors Water pressure"
        unique_id: waterpressure
        state: "{{ state_attr('sensor.althermasensors','Water pressure') }}"
        unit_of_measurement: "bar"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Water pressure') | is_number }}
      - name: "Althermasensors Leaving water setpoint"
        unique_id: leavingwatersetpoint
        state: "{{ state_attr('sensor.althermasensors','LW setpoint (main)') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','LW setpoint (main)') | is_number }}
      - name: "Althermasensors Roomtemperature"
        unique_id: roomtemperature
        state: "{{ state_attr('sensor.althermasensors','Indoor ambient temp. (R1T)') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Indoor ambient temp. (R1T)') | is_number }}
      - name: "Althermasensors Inverter current"
        unique_id: invertercurrent
        state: "{{ state_attr('sensor.althermasensors','INV primary current (A)') }}"
        unit_of_measurement: "A"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','INV primary current (A)') | is_number }}
      - name: "Althermasensors Inverter frequency"
        unique_id: inverterfrequency
        state: "{{ state_attr('sensor.althermasensors','INV frequency (rps)') }}"
        unit_of_measurement: "rps"
        state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Inverter usage"
        unique_id: inverterusage
        state: "{% if is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'ON') %} {{ (states('sensor.althermasensors_inverter_current')|float(0) * 230 | float(0)) }} {% else %} 0 {% endif %}"
        unit_of_measurement: "W"
        state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Voltage"
        unique_id: voltage
        state: "{{ state_attr('sensor.althermasensors','Voltage (N-phase) (V)') }}"
        unit_of_measurement: "V"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Voltage (N-phase) (V)') | is_number }}
      - name: "Althermasensors Heat yield"
        unique_id: heatyield
        state: "{% if is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'ON') %} {{ (states('sensor.althermasensors_inverter_usage')|float(0) * states('sensor.althermasensors_cop')| float(0))|round|int }} {% else %} 0 {% endif %}"
        unit_of_measurement: "W"
        state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}

      #- name: "Althermasensors Low noise control"
      #  unique_id: lownoisecontrol
      #  state: "{{ state_attr('sensor.althermasensors', 'Low noise control') }}"
      #  state_class: measurement
      - name: "Althermasensors Suction pipe temperature"
        unique_id: suctionpipetemperature
        state: "{{ state_attr('sensor.althermasensors', 'Suction pipe temp.') }}"
        unit_of_measurement: "°C"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','Suction pipe temp.') | is_number }}
      - name: "Althermasensors Inverter current secondary"
        unique_id: invertercurrentsecondary
        state: "{{ state_attr('sensor.althermasensors', 'INV secondary current (A)') }}"
        unit_of_measurement: "A"
        state_class: measurement
        availability: >
          {{ state_attr('sensor.althermasensors','INV secondary current (A)') | is_number }}
      - name: "Althermasensors Pressure sensor"
        unique_id: pressuresensor
        state: "{{ state_attr('sensor.althermasensors', 'Pressure sensor') }}"
        state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors STD Compressor 1"
        unique_id: stdcompressor1
        state: "{{ state_attr('sensor.althermasensors', 'STD Compressor 1') }}"
        #state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Freeze Protection"
        unique_id: freezeprotection
        state: "{{ state_attr('sensor.althermasensors', 'Freeze Protection') }}"
        #state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors Silent mode"
        unique_id: silentmode
        state: "{{ state_attr('sensor.althermasensors', 'Silent Mode') }}"
        #ON OFF dus geen measurement?
        #state_class: measurement
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
      - name: "Althermasensors ESPAltherma last update"
        unique_id: espalthermalastupdate
        state: "{{ as_timestamp(states.sensor.althermasensors.last_updated) | timestamp_custom('%H:%M:%S',True) }}"

      - name: "Althermasensors COP"
        unique_id: cop
        unit_of_measurement: "COP"
        state_class: measurement
        state: >-
          {% if is_state_attr('sensor.althermasensors','Operation Mode', 'Heating') and is_state_attr('sensor.althermasensors','Freeze Protection', 'OFF')  %}
              {% if states('sensor.althermasensors_inverter_usage') | float(0) < 90 %}
                  {% set cop = 0.0 | float(default=0) %} 
              {% elif states('sensor.althermasensors_inverter_usage') | float(0) > 90 %}
                  {% set t1 = states('sensor.althermasensors_water_leaving_temperature') | float(0) %}
                  {% set t2 = states('sensor.althermasensors_water_inlet_temperature') | float(0) %}
                  {% set f = states('sensor.althermasensors_flowpump') | float(0) %}
                  {% set pw = states('sensor.althermasensors_inverter_usage') | float(0) %}
                  {% set pwg = ((t1 - t2)*f) / 60 * 4184 | float(0) %}
                  {% set cop = pwg / pw | float(0)  %}
              {% endif %}
              {{ cop | float(0) | round(1) }}
          {% else %}
            0.0
          {% endif %}
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}

      - name: "Althermasensors COP with cooling"
        unique_id: copcooling
        unit_of_measurement: "COP"
        state_class: measurement
        state: >-
          {% if is_state_attr('sensor.althermasensors','Operation Mode', 'Cooling') and is_state_attr('sensor.althermasensors','Freeze Protection', 'OFF')  %}
              {% if states('sensor.althermasensors_inverter_usage') | float(0) < 90 %}
                  {% set cop = 0.0 | float(default=0) %} 
              {% elif states('sensor.althermasensors_inverter_usage') | float(0) > 90 %}
                  {% set t1 = states('sensor.althermasensors_water_leaving_temperature') | float(0) %}
                  {% set t2 = states('sensor.althermasensors_water_inlet_temperature') | float(0) %}
                  {% set f = states('sensor.althermasensors_flowpump') | float(0) %}
                  {% set pw = states('sensor.althermasensors_inverter_usage') | float(0) %}
                  {% set pwg = ((t1 - t2)*f) / 60 * 4184 | float(0) %}
                  {% set cop = pwg / pw | float(0)  %}
              {% endif %}
              {{ cop | float(0) | round(1) }}
          {% else %}
            0.0
          {% endif %}
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}

      - name: "Althermasensors ∆T"
        unique_id: deltat
        unit_of_measurement: "°C"
        state_class: measurement
        ## if else prevent dipping DT when warming DHW or not heating
        state: >-
          {% if is_state_attr('sensor.althermasensors','Operation Mode', 'Heating') and is_state_attr('sensor.althermasensors','Freeze Protection', 'OFF')  %}
            {{ (states('sensor.althermasensors_water_leaving_temperature')|float(0) - states('sensor.althermasensors_water_inlet_temperature') | float(0))|round(1) }}
          {% else %}
            {{ (states('sensor.althermasensors_t')|float(0)) }} 
            ## use previous value or use 0?
          {% endif %}
        availability: >
          {{ states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
        ##  {{ states('sensor.althermasensors_operation_mode') == 'Heating' and states('sensor.althermasensors') not in ['0', 'unavailable', 'unknown', 'none'] }}
        
  - trigger:
      - platform: numeric_state
        entity_id: sensor.althermasensors_watertanktemperature
        above: 55
    sensor:
      - name: "Althermasensors Desinfectie"
        unique_id: desinfectie
        state: >
          {% if  today_at('5:00') < now() < today_at('23:30') %}
            {{ this.state }}
          {% else %}
            {{ now().strftime('%d-%m-%Y %H:%M') }}
          {% endif %}

################################################
## Automation
################################################

automation:
  - alias: "Warmtepomp - Pendel counter"
    id: "warmtepomp_pendel_counter"
    description: ""
    trigger:
      - platform: state
        entity_id:
          - sensor.althermasensors_inverter_current
        to: "0"
    condition: []
    action:
      - service: counter.increment
        data: {}
        target:
          entity_id:
            - counter.pendel_counter
    mode: single

  - alias: "Warmtepomp - Defrost counter"
    id: "warmtepomp_defrost_counter"
    description: ""
    trigger:
      - platform: state
        entity_id:
          - sensor.althermasensors_defrost_operation
        to: "ON"
    condition: []
    action:
      - service: counter.increment
        data: {}
        target:
          entity_id: counter.defrost
    mode: single

#  - alias: "Warmtepomp - Google Sheets"
#   id: "warmtepomp_google_sheets"
#    description: ""
#   trigger:
#      - platform: state
#        entity_id:
#          - sensor.althermasensors_espaltherma_last_update
#    condition: []
#    action:
#      - service: google_sheets.append_sheet
#        data:
#          config_entry: 9df3c895d3d971c61*snip*
#          data:
#            Date: "{{ now().strftime('%-d-%m-%Y') }}"
#            Thermostat: "{{ states('sensor.althermasensors_thermostat') }}"
#            Inverter usage: "{{ states('sensor.althermasensors_inverter_usage') }}"
#            Setpoint: "{{ states('sensor.althermasensors_leaving_water_setpoint') }}"
#            Water out: "{{ states('sensor.althermasensors_water_leaving_temperature') }}"
#            Water in: "{{ states('sensor.althermasensors_water_inlet_temperature') }}"
#            Flow: "{{ states('sensor.althermasensors_flowpump') }}"
#            COP: "{{  states('sensor.althermasensors_cop') }}"
#            Defrosts: "{{  states('counter.defrost') }}"
#         worksheet: Daikin Warmtepomp Statistieken
#    mode: single


Plaats de file in de map; /config/packages/altherma.yaml. Check de configuratie en herstart.

Wat heb ik aangepast tov @Toppe;
- Availability bij sensoren toegevoegd. Voorkomt een vol logboek.
- Delta T sensor aangepast zodat deze niet zoveel schommelt (bij DHW opwarmen).
- Prefix gerealiseerd zodat de sensoren beginnen met althermasensors_ en netjes staan.
- unique_id toegevoegd zodat de sensoren te bewerken zijn in HA.
- Sensoren aangepast om compatible te zijn, float(0) gebruik.
- Climate component zit erin als voorbeeld (staat uit-gecomment), voor wie aansturing via ESPAltherma aandurft...

Mochten jullie opmerkingen of verbeteringen hebben, dan hoor ik dat graag!
toon volledige bericht

Acties:
  • 0 Henk 'm!

  • Jelte
  • Registratie: Juni 2001
  • Niet online
Volgende week woensdag komt hier een Daikin Altherma en die wil ik natuurlijk lekker uitlezen en wat strakker bedienen. En dat kan met ESPAltherna zo te zien!

Lekker koppelen aan Home Assistant en gebruik maken van de Smart Grid functie.
SirLikeAlot schreef op vrijdag 8 maart 2024 @ 12:44:
ESPAltherma kun je ook op andere ESP32 bordjes programmeren. Zo gebruik ik zelf graag deze; ASTRA br4g8al (ook te krijgen op Aliexpress). 4 relays en op 220v en met wifi antenne, alles wat je wil hebben.

Het heeft wat (eenvoudige) aanpassingen nodig. Zie hier voor info; https://github.com/raomin...7#issuecomment-1887492565

Dus product uit je link zou het zeker moeten doen.
Die Astra lijkt het ideale product voor mijn doel, maar zo te zien is deze niet meer te verkrijgen. Tenminste niet naar NL

Iemand een tip voor een vergelijkbaar apparaat?

Anders ga ik toch maar voor die stick met extra relays. Met het risico op wifi issues, want warmtepomp komt in de voortuin een meter of 8 van de (op zich prima) wifi unit te hangen.

Acties:
  • 0 Henk 'm!

  • Japie.G
  • Registratie: Augustus 2001
  • Laatst online: 11:55

Japie.G

Colour Classic

Jelte schreef op zondag 2 maart 2025 @ 21:54:
want warmtepomp komt in de voortuin een meter of 8 van de (op zich prima) wifi unit te hangen.
de binnenunit in de voortuin? :P

Renault Scenic E-Tech EV - PV-Output


Acties:
  • 0 Henk 'm!

  • Jelte
  • Registratie: Juni 2001
  • Niet online
Japie.G schreef op zondag 2 maart 2025 @ 22:10:
[...]


de binnenunit in de voortuin? :P
Sorry, was niet duidelijk. Het wordt een Daikin Edla Altherma 3M monoblock dus.

Dan moet die esp stick toch in de warmtepomp?

Acties:
  • +1 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Jelte schreef op maandag 3 maart 2025 @ 07:30:
[...]

Sorry, was niet duidelijk. Het wordt een Daikin Edla Altherma 3M monoblock dus.

Dan moet die esp stick toch in de warmtepomp?
Je kunt de stick buiten de behuizing plaatsen. Ik heb zelf een UTP kabeltje vanaf de monoblock naar binnnen getrokken. In de monoblock even de connectoren aangesloten op een RJ45 behuizing en zo de stick binnen geplaatst.Afbeeldingslocatie: https://tweakers.net/i/1A_7g9gdApLFYGcH8lQbs2hFF6s=/x800/filters:strip_icc():strip_exif()/f/image/oXg7Gyo3cLoLjfp9LGfUvZEq.jpg?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
EmTri schreef op zondag 2 maart 2025 @ 13:07:
Als je dit in de template editor (Developer Tools -> Template) gooit:
code:
1
2
3
         {{ is_state_attr('sensor.althermasensors','3way valve (On:DHW_Off:Space)', 'OFF') 
             and
             is_state_attr('sensor.althermasensors','thermostat ON/OFF', 'ON') }}

Krijg je dan wel True te zien wanneer de ruimteverwarming actief is?
nee, werkt ook niet. Lijkt erop dat dit niet eenvoudig in YAML te vangen is. Heb al gekeken bij 'conditions' en ook met een binaire groep maar daar kan je kiezen voor alle entiteiten 'waar'' maar ik zoek er dus één waarbij er ook een entiniet 'niet waar' moet zijn.

Is niet echt eenvoudig; ik ben van oorsprong iemand die in relais en plc techniek denkt en dan is YAML toch wat minder flexibel

Acties:
  • +1 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
Dat zou moeten werken. Ik denk dan dat je typo's in je attributen hebt. En als ik het vergelijk met mijn config dan zijn dat een spatie tussen valve en ( en thermostat zonder hoofdletter. Probeer dit eens?
code:
1
2
3
{{ is_state_attr('sensor.althermasensors','3way valve(On:DHW_Off:Space)', 'OFF') 
    and
    is_state_attr('sensor.althermasensors','Thermostat ON/OFF', 'ON') }}

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
EmTri schreef op maandag 3 maart 2025 @ 21:09:
[...]


Dat zou moeten werken. Ik denk dan dat je typo's in je attributen hebt. En als ik het vergelijk met mijn config dan zijn dat een spatie tussen valve en ( en thermostat zonder hoofdletter. Probeer dit eens?
code:
1
2
3
{{ is_state_attr('sensor.althermasensors','3way valve(On:DHW_Off:Space)', 'OFF') 
    and
    is_state_attr('sensor.althermasensors','Thermostat ON/OFF', 'ON') }}
ik zou een TRUE verwachten met bovenstaande YAML maar het is helaas een FALSEAfbeeldingslocatie: https://tweakers.net/i/vh9PCJqs39G_MwrGkwIk4zyzioA=/800x/filters:strip_exif()/f/image/Ct0CxgKa4LIm53EplyH3tSlQ.png?f=fotoalbum_large

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

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

[ Voor 13% gewijzigd door benthouse op 03-03-2025 21:22 ]


Acties:
  • +1 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
Okay ik zit ff terug te kijken in de code van je sensors die je eerder gepost hebt:
code:
1
2
3
4
5
6
7
- 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)"

Daar is te zien dat er bij jou wel een spatie tussen valve en ( staat. Thermostat staat nog steeds met een hoofdletter. Dan zou dit het moeten zijn:
code:
1
2
3
{{ is_state_attr('sensor.althermasensors','3way valve (On:DHW_Off:Space)', 'OFF') 
    and
    is_state_attr('sensor.althermasensors','Thermostat ON/OFF', 'ON') }}


Je kan overigens ook is_state gebruiken op de namen van die sensors die je eerder geconfigureerd hebt:
code:
1
2
3
{{ is_state('sensor.3way_valve', 'OFF' ) 
    and
    is_state('sensor.thermostat', 'ON') }}
Ik heb geen idee wat de beste manier is en waarom. :+

[ Voor 43% gewijzigd door EmTri op 03-03-2025 21:59 ]


Acties:
  • 0 Henk 'm!

  • Jelte
  • Registratie: Juni 2001
  • Niet online
benthouse schreef op maandag 3 maart 2025 @ 21:01:
[...]


Je kunt de stick buiten de behuizing plaatsen. Ik heb zelf een UTP kabeltje vanaf de monoblock naar binnnen getrokken. In de monoblock even de connectoren aangesloten op een RJ45 behuizing en zo de stick binnen geplaatst.[Afbeelding]
Kijk dat is een goede tip!
Dan kan ik die stick op een plek dichtbij de wifi hangen. Prima optie!

Morgen maar eens alles gaan bestelen dan.

Naast die stick dus de relays. 4 stuks en een RJ45 behuizing. Of mis ik dan nog iets?

Acties:
  • +1 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
EmTri schreef op maandag 3 maart 2025 @ 21:43:
Okay ik zit ff terug te kijken in de code van je sensors die je eerder gepost hebt:
code:
1
2
3
4
5
6
7
- 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)"

Daar is te zien dat er bij jou wel een spatie tussen valve en ( staat. Thermostat staat nog steeds met een hoofdletter. Dan zou dit het moeten zijn:
code:
1
2
3
{{ is_state_attr('sensor.althermasensors','3way valve (On:DHW_Off:Space)', 'OFF') 
    and
    is_state_attr('sensor.althermasensors','Thermostat ON/OFF', 'ON') }}


Je kan overigens ook is_state gebruiken op de namen van die sensors die je eerder geconfigureerd hebt:
code:
1
2
3
{{ is_state('sensor.3way_valve', 'OFF' ) 
    and
   is_state('sensor.thermostat', 'ON') }}
Ik heb geen idee wat de beste manier is en waarom. :+
toon volledige bericht
Die laatste variant die werkte en kon ik gelijk opnemen in mijn YAML:file. Je bent een held! _/-\o_ _/-\o_

[ Voor 8% gewijzigd door benthouse op 04-03-2025 17:32 ]


Acties:
  • +1 Henk 'm!

  • EmTri
  • Registratie: Januari 2007
  • Laatst online: 04-05 12:00
Ah fijn dat het werkt nu! En dank aan jou voor het idee. Ik heb het namelijk ook geïmplementeerd, als twee normale sensors die ON/OFF als output geven; zo passen ze mooi in het rijtje hier:

Afbeeldingslocatie: https://tweakers.net/i/B3xucdsTAjjOcAUv26V9xm5nNg0=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/6sCrHQPTu7pS6FS2cJc6BT93.png?f=user_large
code:
1
2
3
4
5
- name: "Althermasensors Space Heating"
  unique_id: spaceheating
  state: "{{ 'ON' if is_state('sensor.althermasensors_3way_valve', 'OFF') 
              and
              is_state('sensor.althermasensors_thermostat', 'ON') else 'OFF' }}"

Acties:
  • +2 Henk 'm!

  • Yongshi
  • Registratie: Juli 2016
  • Laatst online: 09:53
Afbeeldingslocatie: https://tweakers.net/i/7TXI8WMNY5_OxcdMsMIkALBqRho=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/b6cuh9wG0eySG8m789x3NHGQ.png?f=user_large

En dan kan je ook nog kijken naar picture elements om het een beetje mooi weer te geven.
Ik heb bovenstaande opgemaakt zodat ik direct kan zien wat hij aan het doen is.
verwarming of warm water, aanvoer en set temps, inverter stroom vraag, element heaters en powerfull mode (enkel defrost mist nog en eventueel een COP of iets)

Acties:
  • 0 Henk 'm!

  • Jelte
  • Registratie: Juni 2001
  • Niet online
benthouse schreef op maandag 3 maart 2025 @ 21:01:
[...]


Je kunt de stick buiten de behuizing plaatsen. Ik heb zelf een UTP kabeltje vanaf de monoblock naar binnnen getrokken. In de monoblock even de connectoren aangesloten op een RJ45 behuizing en zo de stick binnen geplaatst.[Afbeelding]
Hoe heet het componentje wat je gebruikt om van UTP naar dupont te gaan?
Of direct een linkje waar je het kan kopen mag ook ;)

Of is deze het?

https://www.kabelshop.nl/...9355-i28567-t2062001.html

[ Voor 7% gewijzigd door Jelte op 09-03-2025 19:55 ]


Acties:
  • 0 Henk 'm!

  • Jelte
  • Registratie: Juni 2001
  • Niet online
Ik ga dus voor de M5 stick in de meterkast, naast de router (Dus geen wifi issues ;) ) en met een UTP kabel naar de warmtepomp met die RJ45 behuizingen van benthouse.

Als ik alles wil kunnen schakelen, verwarming, koeling en smart grid heb ik vier relays nodig. Leek me relatief logisch om de relays zelf ín de warmtepomp te zetten

UTP heeft 8 aders. Vier zijn nodig voor communicatie van ESPAtherma met de warmtepomp. Volgens de plaatjes lijkt het relay bloklje van M5stack ook vier aders nodig te hebben. Dat zou dus moeten passen. Of zie ik iets over het hoofd?

UTP kabel gaat circa 12m lang zijn. Klop het dat dat geen probleem is?

https://www.tinytronics.n...les/m5stack-4-relais-unit

Acties:
  • +1 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Jelte schreef op zondag 9 maart 2025 @ 20:28:
Ik ga dus voor de M5 stick in de meterkast, naast de router (Dus geen wifi issues ;) ) en met een UTP kabel naar de warmtepomp met die RJ45 behuizingen van benthouse.

Als ik alles wil kunnen schakelen, verwarming, koeling en smart grid heb ik vier relays nodig. Leek me relatief logisch om de relays zelf ín de warmtepomp te zetten

UTP heeft 8 aders. Vier zijn nodig voor communicatie van ESPAtherma met de warmtepomp. Volgens de plaatjes lijkt het relay bloklje van M5stack ook vier aders nodig te hebben. Dat zou dus moeten passen. Of zie ik iets over het hoofd?

UTP kabel gaat circa 12m lang zijn. Klop het dat dat geen probleem is?

https://www.tinytronics.n...les/m5stack-4-relais-unit
RJ45 doosje: Ik heb dit zojuist gevonden op AliExpress: €3,06 | RJ45 8P8C HM-HB01 Model UTP Niet-afgeschermde enkele poort Desktop Informatie Mount Box
https://a.aliexpress.com/_EITlOtm

Aan de M5 stack zijde heb ik deze connector (8-pennetjes, male)

Ik heb dit zojuist gevonden op AliExpress: €2,14 | 10PCS 2.54MM Dupont Lijn Mannelijke Vrouwelijke Dubbelkoppige 1P 2P 3P 4P 5P 6P 7P 8P 9P 10 Pin Dupont Jumper Kabel Draad voor PCB
https://a.aliexpress.com/_EHhYFQM

Die heb ik ook op zo’n RJ45 doosje afgemonteerd.

[ Voor 14% gewijzigd door benthouse op 09-03-2025 20:59 ]


Acties:
  • 0 Henk 'm!

  • Jelte
  • Registratie: Juni 2001
  • Niet online
Jelte schreef op zondag 9 maart 2025 @ 20:28:
Ik ga dus voor de M5 stick in de meterkast, naast de router (Dus geen wifi issues ;) ) en met een UTP kabel naar de warmtepomp met die RJ45 behuizingen van benthouse.

Als ik alles wil kunnen schakelen, verwarming, koeling en smart grid heb ik vier relays nodig. Leek me relatief logisch om de relays zelf ín de warmtepomp te zetten

UTP heeft 8 aders. Vier zijn nodig voor communicatie van ESPAtherma met de warmtepomp. Volgens de plaatjes lijkt het relay bloklje van M5stack ook vier aders nodig te hebben. Dat zou dus moeten passen. Of zie ik iets over het hoofd?

UTP kabel gaat circa 12m lang zijn. Klop het dat dat geen probleem is?

https://www.tinytronics.n...les/m5stack-4-relais-unit
Kan iemand hier uitsluitsel over geven?
heb ik aan één UTP met dus 8 aders voldoende om zowel de warmtepomp uit te lezen als koeling, verwaring en SG functies aan te sturen?

Acties:
  • 0 Henk 'm!

  • KikkerMario
  • Registratie: December 2016
  • Laatst online: 09:05
Jelte schreef op dinsdag 11 maart 2025 @ 09:15:
[...]
Kan iemand hier uitsluitsel over geven?
heb ik aan één UTP met dus 8 aders voldoende om zowel de warmtepomp uit te lezen als koeling, verwaring en SG functies aan te sturen?
Smart grid functies:
Daarvoor heb je volgens de documentatie aders van 0,5 mm2 nodig. Zie dit bericht. De meeste UTP-kabels halen volgens mij nog niet de helft daarvan. Als je twee aders 23AWG combineert tot één, dan ben je er zo te zien wel. Om het volgens de specificaties te doen, heb je dus alleen al voor de SG contacten alle 8 de aders van een 23AWG UTP kabel nodig. Maar als je toch een aparte kabel trekt, dan is een ander soort kabel misschien beter en/of goedkoper: je hebt niet specifiek een datakabel nodig om op de SG contacten aan te sluiten.
Ik ga er hierbij van uit dat je je relais bij je M5 stick plaatst. Als je je relais in de warmtepomp plaatst, dan heb je kabels nodig die voldoende vermogen voor je relais kunnen leveren.

Koeling en verwarming aansturen:
Als je het aansturen via de Daikin cloud doet, dan heb je daarvoor helemaal geen kabels nodig. Dat werkt heel goed met bijvoorbeeld Homey of Home Assistant, maar dan ben je wel cloud-afhankelijk.
De enige offline-methode waarmee je veel kan aansturen is volgens mij het gebruik van de themostaatcontacten. Zie bijvoorbeeld https://github.com/Arnold-n/P1P2MQTT. Zelf heb ik er geen ervaring mee, maar het wordt veel op dit forum genoemd.

Acties:
  • 0 Henk 'm!

  • Jelte
  • Registratie: Juni 2001
  • Niet online
KikkerMario schreef op woensdag 12 maart 2025 @ 17:09:
[...]


Smart grid functies:
Daarvoor heb je volgens de documentatie aders van 0,5 mm2 nodig. Zie dit bericht. De meeste UTP-kabels halen volgens mij nog niet de helft daarvan. Als je twee aders 23AWG combineert tot één, dan ben je er zo te zien wel. Om het volgens de specificaties te doen, heb je dus alleen al voor de SG contacten alle 8 de aders van een 23AWG UTP kabel nodig. Maar als je toch een aparte kabel trekt, dan is een ander soort kabel misschien beter en/of goedkoper: je hebt niet specifiek een datakabel nodig om op de SG contacten aan te sluiten.
Ik ga er hierbij van uit dat je je relais bij je M5 stick plaatst. Als je je relais in de warmtepomp plaatst, dan heb je kabels nodig die voldoende vermogen voor je relais kunnen leveren.

Koeling en verwarming aansturen:
Als je het aansturen via de Daikin cloud doet, dan heb je daarvoor helemaal geen kabels nodig. Dat werkt heel goed met bijvoorbeeld Homey of Home Assistant, maar dan ben je wel cloud-afhankelijk.
De enige offline-methode waarmee je veel kan aansturen is volgens mij het gebruik van de themostaatcontacten. Zie bijvoorbeeld https://github.com/Arnold-n/P1P2MQTT. Zelf heb ik er geen ervaring mee, maar het wordt veel op dit forum genoemd.
toon volledige bericht
mijn idee was om het relais inderdaad in de warmtepomp te zetten en via de utp kabel alleen data te versturen. Dan vanaf het relais die 0,5mm² naar het juiste contact.

En dan is de vraag of een ader van de utp kabel voldoende is om vanaf de stick naar het relais in de warmtepomp te kunnen communiceren.

En ik ben het liefst niet afhankelijk van de cloud, of wil in ieder geval een backup voor als 'de cloud uitvalt'

[ Voor 3% gewijzigd door Jelte op 12-03-2025 17:14 ]


Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Jelte schreef op woensdag 12 maart 2025 @ 17:13:
[...]
mijn idee was om het relais inderdaad in de warmtepomp te zetten en via de utp kabel alleen data te versturen. Dan vanaf het relais die 0,5mm² naar het juiste contact.

En dan is de vraag of een ader van de utp kabel voldoende is om vanaf de stick naar het relais in de warmtepomp te kunnen communiceren.

En ik ben het liefst niet afhankelijk van de cloud, of wil in ieder geval een backup voor als 'de cloud uitvalt'
Gewoon proberen via UTP Kabel. Volgens moj trekken die relais niet zoveel vermogen. Eenvoudige test doen met de kabellengte die je nodig hebt voor je de kabel erin trekt. Als het werkt dan weet je dat, mocht het niet zo zijn moet er bijv een 5x0,5mm2 kabeltje extra in voor de aansturing en de 0Vdc.

Acties:
  • 0 Henk 'm!

  • ymaenhout
  • Registratie: Januari 2013
  • Laatst online: 29-04 23:26
Mocht iemand interesse hebben in een NUC met Home Assistant, laat maar weten.

Ik doe er toch te weinig mee. De wp draait prima zo :)

Acties:
  • 0 Henk 'm!

  • Jelte
  • Registratie: Juni 2001
  • Niet online
Ok espaltherma op die M5stick gezet en het lijkt te werken (voor zover het kan werken als die niet aan de warmtepomp hangt ;) )
Ook heb ik de SG zaken uncomment, maar er gebeurt weinig in het relais ding. Ik heb de vier relais versie zodat ik ook warm en koud kan schakelen). Ik zie geen lampjes branden en/of relais klikken. Zie ik iets over het hoofd?

Acties:
  • 0 Henk 'm!

  • Enzoz89
  • Registratie: Oktober 2018
  • Laatst online: 02-05 23:47
Afgelopen week is mijn M5Stick C Plus vastgelopen en start deze niet meer op.
Hierop draaide eerder mijn ESPAltherma.
Ik had echter nog een ESP32-S3-N16R8 liggen, en die heb ik nu voorzien van ESPAltherma. Helaas maakt hij geen verbinding met mijn warmtepomp (WP).
Ik heb even gekeken, en volgens mij moet ik GPIO 17 en 18 gebruiken voor TX en RX.
Afbeeldingslocatie: https://tweakers.net/i/8K8ZkdgEwD338K19oVlThkKZFhw=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/oxmCO52E6RE7HplaC5BEJ5fZ.png?f=user_large
Maar tot op heden is er nog steeds geen verbinding met de WP.
Heeft iemand ervaring met de ESP32-S3-N16R8? Of kijk ik ergens overheen en gebruik ik misschien de verkeerde GPIO-pinnen?
Alvast bedankt!

Acties:
  • 0 Henk 'm!

  • WaTTe44
  • Registratie: November 2018
  • Laatst online: 11:52
Geen ervaring met deze, gebruik esp8266.
Maar probeer het eens op deze manier:
Afbeeldingslocatie: https://tweakers.net/i/FguurOi1aOiGEvxDl30TtOsfygs=/800x/filters:strip_exif()/f/image/DylCOhSw3hs1xFlLWEhlInsQ.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • Jelte
  • Registratie: Juni 2001
  • Niet online
Iemand ervaring met het gebruiken van de 4relay van M5stack met ESPAltherma?

Heb wel deze code gevonden: https://github.com/raomin/ESPAltherma/discussions/296
Maar die is helaas niet voor de Cplus 2 en het codevoorbeeld is niet beschikbaar voor de CPlus2 (alleen voor de C PLus

Ik loop vast tegen een error die aangeeft dat de calls niet goed zijn, maar dat lijkt wel zo te zijn en ChatGPT bevestigd dat:

mqtt.h:66: undefined reference to `UNIT_4RELAY::begin(TwoWire*, unsigned char, unsigned char)'

Terwijl de call dus prima gedefinieerd is en de bestanden geinclude worden (en gevonden door de compiler)

Acties:
  • +2 Henk 'm!

  • Jelte
  • Registratie: Juni 2001
  • Niet online
Goed ik heb het voor elkaar gekregen. De UNIT_4RELAY.cpp file stond in de verkeerde map. Die moet in de src map staan, naast de setup.h en main.cpp.

De verwarming en SG relays klikken nu lekker in het rond :)

Volgende stap: De koeling aankrijgen, dat zie ik nog niet zo snel. Schakelt iemand hier zijn warmtepomp voor koeling ook via een relais?
Hoe heb je dat voor elkaar gekregen?
Zo te zien zit dat niet in espaltherma

[ Voor 21% gewijzigd door Jelte op 03-04-2025 22:10 ]


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
nodri2000 schreef op woensdag 15 februari 2023 @ 13:01:
[...]


Nee, een gewone ESP32. Wroom ESP32 van A-Z delivery
Ik was benieuwd naar de pins die gebruikt moeten worden: volgens mij staat het voor de m5stack uitgelegd. Maar voor de wroom32 niet. En die heb ik ook in gebruik.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Ik heb zoals hierboven vermeld staat enkele sensoren waarmee ik kan zien waarvoor de Daikin Warmtepomp in werking is, dat werkt uitstekend de symbooltjes kleuren keurig in oranje/rood zodra in werking.

YAML daarvoor:

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
template:
#
    - binary_sensor:
#
      - 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"
#


Nu wil ik met de bovenstaande entiteiten "Space Heating" en "DHW Heating" de CoP en Heatyield gaan berekenen. Ik heb voor de overall performance onderstaande YAML in gebruik

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
# 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 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"


Als ik nu bovenstaande berekeningen aanpas en dan IPV de
code:
1
{% if is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'ON') %}
voorwaarde in de code aanpas naar de hierboven genoemde voorwaarde
code:
1
{% if is_state_attr('binary_sensor.space_heating_in_operation', 'Space Heating', 'ON') %}
dan zou ik verwachten dat dan de berekening gemaakt wordt voor de Ruimte Verwarming, en als dan de DHW Tank gevuld wordt deze dus niet mee telt in de berekening van CoP etc.
(Ik wil uiteindelijk voor de DHW Tank een zelfde CoP berekening maken zodat ik daar ook een beter gevoel bij krijg)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Calculated Inverter Power Usage for average of 3phases SPACE HEATING      
      - name: "Inverter usage Space Heating"
        state: "{% if is_state_attr('binary_sensor.space_heating_in_operation', 'Space Heating', '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('binary_sensor.space_heating_in_operation', 'Space Heating', 'OFF') %} 0 {% endif %}"
        unique_id: "espaltherma.inverter_usage_sph"
        unit_of_measurement: "W"
        state_class: measurement
#        
# Calculated Heatload (Q=m*c*dT) SPACE HEATING
      - name: "Heat load Space Heating"
        state: "{% if is_state_attr('binary_sensor.space_heating_in_operation', 'Space Heating', 'ON') %} {{(states('sensor.flow_sensor'))|float / 60 * 4187 * (states('sensor.delta_t'))|float |round(1) }}  {% elif is_state_attr('binary_sensor.space_heating_in_operation', 'Space Heating', 'OFF') %} 0 {% endif %}"
        unique_id: "espaltherma.heat_load_sph"  
        unit_of_measurement: "W"
        state_class: measurement

# Calculated COP SPACE HEATING        
      - name: "CoP Space Heating"
        state: "{% if is_state_attr('binary_sensor.space_heating_in_operation', 'Space Heating', 'ON') %} {{(states('sensor.heat_load_sph'))|float / (states('sensor.inverter_usage_sph')|float) }} {% else %} 0 {% endif %}"
        unique_id: "espaltherma.cop_sph"  
        unit_of_measurement: ""
        state_class: measurement


Echter testen in de Sjabloon editor geeft geen uitkomst van de berekening en de entiteiten Heatload en Inverter Usage zijn zelf onbekend. Na herstarten van Home Assistant ook geen foutmeldingen.

Afbeeldingslocatie: https://tweakers.net/i/nN-rj2wVYAlxeCF7t_KrcZsSduw=/800x/filters:strip_exif()/f/image/fgoVvZkxkVYCV9fHrJShJXjo.png?f=fotoalbum_large

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

Afbeeldingslocatie: https://tweakers.net/i/4Lz5f_vbG_-0-ZbnUCE7QrOt9g4=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/BZYunr9bXv1DRifEiJzg7sXz.png?f=user_large

de CoP wordt wel berekend en is 0 maar dat komt waarschijnlijk omdat er van de eerdere 2 entiteiten geen gegevens bekend zijn,

Iemand een idee waar dit fout gaat??
Dank alvast!

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Ik heb inmiddels de CoP berekeningen voor Space Heating en DHW Heating separaat gekregen :) . Was eenvoudiger dan ik dacht uiteindelijk; De elektrische energie die erin gaat en de warmtevracht die eruit komt is natuurlijk een identieke berekening 8)7 8)7 8)7 . Je hoeft alleen maar uit te vogelen voor welke optie de warmtepomp actief is; Hieronder de gebruikte code om de CoP apart uit te rekenen voor Ruimteverwarming.en SWW.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#
# Calculated COP SPACE HEATING        
      - name: "CoP Space Heating"
        state: "{% if is_state('sensor.3way_valve', 'OFF' ) and  is_state('sensor.thermostat', 'ON') %} {{(states('sensor.heat_load'))|float / (states('sensor.inverter_usage')|float) }} {% else %} 0 {% endif %}"
        unique_id: "espaltherma.cop_sph"  
        unit_of_measurement: ""
        state_class: measurement  
#
# Calculated COP DHW HEATING        
      - name: "CoP DHW Heating"
        state: "{% if is_state('sensor.3way_valve', 'ON' ) and  is_state('sensor.thermostat', 'ON') %} {{(states('sensor.heat_load'))|float / (states('sensor.inverter_usage')|float) }} {% else %} 0 {% endif %}"
        unique_id: "espaltherma.cop_dhw"  
        unit_of_measurement: ""
        state_class: measurement


Afbeeldingslocatie: https://tweakers.net/i/VLBliyq38uWgF-wwrhSO8ol1gUI=/x800/filters:strip_exif()/f/image/3c3MRQsLs7d4umAzn0HyrKaX.png?f=fotoalbum_large

[ Voor 75% gewijzigd door benthouse op 19-04-2025 22:04 ]


Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Nu wil ik ook het energie verbruik gaan splitsen tussen ruimte verwarming en SWW verwarming. Hiervoor de utilitiemeter van HA in gebruik maar wil niet echt lukken. Deze utilitiemeter van HA kan schakelen tussen twee statussen (Tarrifs)
Ik wil er dus een voor Space Heating en een voor DHW heating en dan verbruik aflezen per dag. Nu registreert hij alles op Space Heating: (plaatje klopt niet helemaal, enkele dagen terug aan het pielen geweest om dit al voor elkaar te krijgen heb daardoor wat data in database staan die niet correct is en hier wel weergegeven wordt)

Afbeeldingslocatie: https://tweakers.net/i/wOBJHHeV-Ofbhy1WJcb91CtzzrM=/x800/filters:strip_exif()/f/image/VoQoPYVkbVrRUtD9g5UbDFrU.png?f=fotoalbum_large

De SDM630 die ik via Modbus gekoppeld heb levert 1 totaal meting (sensor.total_import_kwh). Maar op basis van een trigger (binary_sensor.dhw_heating) wil ik dus de verbruiksmeting in kWh doen per actieve stand van de warmtepomp.

Hierbij de code:

Aparte energy.yaml file in /homeassistant/packages/energy.yaml:

code:
1
2
3
4
5
6
7
utility_meter:
  energy_heatpump:
    source: sensor.total_import_kwh
    cycle: daily
    tariffs:
      - DHW Heating
      - Space Heating


en dan een automatisering die dus om moet schakelen van Space Heating naar DHW Heating (maar dat niet doet...)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- id: '1745010590441'
  alias: Heatpump Energy consumption
  description: ''
  triggers:
  - trigger: state
    entity_id:
    - binary_sensor.dhw_heating
    from: 'OFF'
    to: 'ON'
  conditions: []
  actions:
  - target:
      entity_id:
      - select.energy_heatpump
    data:
      option: "{% if is_state('binary_sensor.dhw_heating', 'DHW Heating') %}  DHW
        Heating {% else %}  Space Heating{% endif %}"
    action: select.select_option


Iemand dit wel voor elkaar gekregen?? Iemand een idee???

[ Voor 39% gewijzigd door benthouse op 19-04-2025 17:55 ]


Acties:
  • 0 Henk 'm!

  • Toppe
  • Registratie: Januari 2004
  • Laatst online: 08:44

Toppe

Oké ✅

Topicstarter
benthouse schreef op zaterdag 19 april 2025 @ 13:10:
Ik heb inmiddels de CoP berekeningen voor Space Heating en DHW Heating separaat gekregen :) . Was eenvoudiger dan ik dacht uiteindelijk; De elektrische energie sie erin gaat en de warmtevracht die eruit komt is natuurlijk een identieke berekening 8)7 8)7 8)7 . Je hoeft alleen maar uit te vogelen voor welke optie de warmtepomp actief is; Hieronder de gebruikte code om de CoP apart uit te rekenen voor Ruimteverwarming.en SWW.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#
# Calculated COP SPACE HEATING        
      - name: "CoP Space Heating"
        state: "{% if is_state('sensor.3way_valve', 'OFF' ) and  is_state('sensor.thermostat', 'ON') %} {{(states('sensor.heat_load'))|float / (states('sensor.inverter_usage')|float) }} {% else %} 0 {% endif %}"
        unique_id: "espaltherma.cop_sph"  
        unit_of_measurement: ""
        state_class: measurement  
#
# Calculated COP DHW HEATING        
      - name: "CoP DHW Heating"
        state: "{% if is_state('sensor.3way_valve', 'ON' ) and  is_state('sensor.thermostat', 'ON') %} {{(states('sensor.heat_load'))|float / (states('sensor.inverter_usage')|float) }} {% else %} 0 {% endif %}"
        unique_id: "espaltherma.cop_dhw"  
        unit_of_measurement: ""
        state_class: measurement


[Afbeelding]
toon volledige bericht
Zit die 3 weg klep standaard in Espaltherma of heb je die er later tussen gezet?

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


Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Toppe schreef op zaterdag 19 april 2025 @ 19:45:
[...]


Zit die 3 weg klep standaard in Espaltherma of heb je die er later tussen gezet?
Bij mij standaard. Heb een EDLA Monoblock. Heb wel de standaard configuratie file van Raomin iets aangepast om beter te kunnen destilleren wat wat is.

Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Ik was vandaag bezig met espaltherma compilen en up & running krijgen. Na een
code:
1
pio run -t upload -e esp32
had de wroom32 esp32 de espaltherma code en zag ik ook espaltherma terecht komen in mqtt. :)

Maar, hij post enkel een "Offline" dingetje en dan gaat hij uit / crasht hij / ...
Vervolgens gaat hij 5 seconden later weer precies hetzelfde doen.

Heeft iemand dit ook weleens gehad?
Lijkt erop dat hij wel naar MQTT kan verbinden want anders kwam die "Offline" niet terecht daar. Maar "Online" wordt nooit gepost.

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!

  • Tanuki
  • Registratie: Januari 2005
  • Niet online
Tanuki schreef op zondag 20 april 2025 @ 21:58:
Ik was vandaag bezig met espaltherma compilen en up & running krijgen. Na een
code:
1
pio run -t upload -e esp32
had de wroom32 esp32 de espaltherma code en zag ik ook espaltherma terecht komen in mqtt. :)

Maar, hij post enkel een "Offline" dingetje en dan gaat hij uit / crasht hij / ...
Vervolgens gaat hij 5 seconden later weer precies hetzelfde doen.

Heeft iemand dit ook weleens gehad?
Lijkt erop dat hij wel naar MQTT kan verbinden want anders kwam die "Offline" niet terecht daar. Maar "Online" wordt nooit gepost.
Het bordje dat ik probeer te gebruiken is deze: https://www.circuitstate....ut-diagram-and-reference/

Zijn er meer mensen die de ESP-WROOM-32 gebruiken met ESPAltherma?
Welke bordjes worden hier voornamelijk gebruikt?

PV: Growatt MOD5000TL3-XH + 5720wp, WPB: Atlantic Explorer v4 270LC, L/L: MHI SCM 125ZM-S + SRK 50ZS-W + 2x SRK 25ZS-W + SRK 20ZS-W Modbus kWh meter nodig?


Acties:
  • 0 Henk 'm!

  • mawashigeri
  • Registratie: November 2002
  • Laatst online: 11:41
Tanuki schreef op maandag 21 april 2025 @ 23:08:
[...]

Het bordje dat ik probeer te gebruiken is deze: https://www.circuitstate....ut-diagram-and-reference/

Zijn er meer mensen die de ESP-WROOM-32 gebruiken met ESPAltherma?
Welke bordjes worden hier voornamelijk gebruikt?
Wat ik zo gelezen heb meestal een M5stickC variant (ik heb een plus2), deze zitten al in een behuizing met de seriële pinnen gemakkelijk bruikbaar. Zeker wat duurder dan een los bordje, maar wel lekker makkelijk.
Voor mij was het voornaamste hardware werk dan ook het in elkaar prutsen van de seriële level-converter met connector voor de esp32.

ERGA06EVH / EHVX08S23EJ6V / ESPaltherma


Acties:
  • 0 Henk 'm!

  • Senaxx
  • Registratie: December 2010
  • Laatst online: 04-05 17:59
benthouse schreef op vrijdag 18 april 2025 @ 21:21:
Ik heb zoals hierboven vermeld staat enkele sensoren waarmee ik kan zien waarvoor de Daikin Warmtepomp in werking is, dat werkt uitstekend de symbooltjes kleuren keurig in oranje/rood zodra in werking.

YAML daarvoor:

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
template:
#
    - binary_sensor:
#
      - 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"
#


Nu wil ik met de bovenstaande entiteiten "Space Heating" en "DHW Heating" de CoP en Heatyield gaan berekenen. Ik heb voor de overall performance onderstaande YAML in gebruik

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
# 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 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"


Als ik nu bovenstaande berekeningen aanpas en dan IPV de
code:
1
{% if is_state_attr('sensor.althermasensors', 'Thermostat ON/OFF', 'ON') %}
voorwaarde in de code aanpas naar de hierboven genoemde voorwaarde
code:
1
{% if is_state_attr('binary_sensor.space_heating_in_operation', 'Space Heating', 'ON') %}
dan zou ik verwachten dat dan de berekening gemaakt wordt voor de Ruimte Verwarming, en als dan de DHW Tank gevuld wordt deze dus niet mee telt in de berekening van CoP etc.
(Ik wil uiteindelijk voor de DHW Tank een zelfde CoP berekening maken zodat ik daar ook een beter gevoel bij krijg)

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# Calculated Inverter Power Usage for average of 3phases SPACE HEATING      
      - name: "Inverter usage Space Heating"
        state: "{% if is_state_attr('binary_sensor.space_heating_in_operation', 'Space Heating', '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('binary_sensor.space_heating_in_operation', 'Space Heating', 'OFF') %} 0 {% endif %}"
        unique_id: "espaltherma.inverter_usage_sph"
        unit_of_measurement: "W"
        state_class: measurement
#        
# Calculated Heatload (Q=m*c*dT) SPACE HEATING
      - name: "Heat load Space Heating"
        state: "{% if is_state_attr('binary_sensor.space_heating_in_operation', 'Space Heating', 'ON') %} {{(states('sensor.flow_sensor'))|float / 60 * 4187 * (states('sensor.delta_t'))|float |round(1) }}  {% elif is_state_attr('binary_sensor.space_heating_in_operation', 'Space Heating', 'OFF') %} 0 {% endif %}"
        unique_id: "espaltherma.heat_load_sph"  
        unit_of_measurement: "W"
        state_class: measurement

# Calculated COP SPACE HEATING        
      - name: "CoP Space Heating"
        state: "{% if is_state_attr('binary_sensor.space_heating_in_operation', 'Space Heating', 'ON') %} {{(states('sensor.heat_load_sph'))|float / (states('sensor.inverter_usage_sph')|float) }} {% else %} 0 {% endif %}"
        unique_id: "espaltherma.cop_sph"  
        unit_of_measurement: ""
        state_class: measurement


Echter testen in de Sjabloon editor geeft geen uitkomst van de berekening en de entiteiten Heatload en Inverter Usage zijn zelf onbekend. Na herstarten van Home Assistant ook geen foutmeldingen.

[Afbeelding]

[Afbeelding]

[Afbeelding]

de CoP wordt wel berekend en is 0 maar dat komt waarschijnlijk omdat er van de eerdere 2 entiteiten geen gegevens bekend zijn,

Iemand een idee waar dit fout gaat??
Dank alvast!
toon volledige bericht
Ik ben wel benieuwd naar je implementatie aangezien ik ook een 3fase 14kW monoblock heb. Ik zag in je inverter usage dat je keek naar sensor.phases_voltage_phase_l1. Is dat er bij jou 1 die uit ESPAltherma komt of is dat een aparte sensor van de 3fase groep ofzo.

Ik heb namelijk die sensor niet gezien in ESPAltherma en heb niet zo'n groep.

Acties:
  • 0 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Senaxx schreef op woensdag 23 april 2025 @ 14:09:
[...]


Ik ben wel benieuwd naar je implementatie aangezien ik ook een 3fase 14kW monoblock heb. Ik zag in je inverter usage dat je keek naar sensor.phases_voltage_phase_l1. Is dat er bij jou 1 die uit ESPAltherma komt of is dat een aparte sensor van de 3fase groep ofzo.

Ik heb namelijk die sensor niet gezien in ESPAltherma en heb niet zo'n groep.
Nee, die entiteit komt uit een sensorbox welke behoort tot mijn Smart EVSE en de P1 poort van mijn kWh meter uitleest. De sensorbox is in gebruik t.b.v. load balancing, maar elke meter die frequent de fasespanning update en naar homeassistant stuurt kan gebruikt worden.
Ik heb nu ook een Eastrom SDM630 tussen verdeler en warmtepomp maar die communiceert via Modbus en die update slechts 1x per 2 minuten ofzo en daarmee is de berekening minder accuraat

Acties:
  • +1 Henk 'm!

  • benthouse
  • Registratie: November 2009
  • Laatst online: 04-05 18:30
Stand by verbruik is behoorlijk bij een EDLA09DAW1 monoblock. Heb een Eastron SDM630 energiemeter ertussen en op basis van vraag (Thermostaat en stand 3-weg klep) wordt verbruik toegewezen aan één van de ingestelde ‘tarieven’ binnen de nutsmeter functie. Afbeeldingslocatie: https://tweakers.net/i/HyqnMQmEmsHkBnZLNfzjVP5TFsY=/x800/filters:strip_icc():strip_exif()/f/image/TBFoGWBZR33C4aMnMoLYUIrY.jpg?f=fotoalbum_large

Ik heb dit sinds maandagmiddag operationeel. In Stand- by mode toch zo’n 20W continue verbruik.
CoP nog steedsop basis van berekening met de Inverter Usage uit de ESPAltherma oplossing. Maar heb inmiddels geconstateerd dat die minder accuraat is dan met een echte kWh meter. Afbeeldingslocatie: https://tweakers.net/i/bCm6O_zOyKLt4aHz1AdxhmM41kA=/x800/filters:strip_icc():strip_exif()/f/image/z48CVlA2S6E5Ffh3CitXFvjd.jpg?f=fotoalbum_large

Op dagen waar er geen CoP voor DHW tank is, wordt de tank verwarmd door een zonneboiler systeem.

[ Voor 30% gewijzigd door benthouse op 23-04-2025 20:20 ]


Acties:
  • 0 Henk 'm!

  • Signum666
  • Registratie: Oktober 2008
  • Laatst online: 09:50
Ik heb de LAN adapter nu al een tijdje draaien met Espaltherma en heb er sinds kort een pulse meter op aangesloten zitten. Het vermogen waarmee het SWW verwarmd wordt is dus ook beperkt tot het overschot van de zonnepanelen. Nu mijn vraag; zou het zinvol zijn om de tank ook helemaal richting de 60 graden te verwarmen op deze manier? Dat gaat natuurlijk voor een deel met de BUH. Niet de meest efficiënte manier..

Acties:
  • +1 Henk 'm!

  • MrRobin
  • Registratie: Augustus 2011
  • Laatst online: 09:45
Signum666 schreef op woensdag 30 april 2025 @ 17:28:
Ik heb de LAN adapter nu al een tijdje draaien met Espaltherma en heb er sinds kort een pulse meter op aangesloten zitten. Het vermogen waarmee het SWW verwarmd wordt is dus ook beperkt tot het overschot van de zonnepanelen. Nu mijn vraag; zou het zinvol zijn om de tank ook helemaal richting de 60 graden te verwarmen op deze manier? Dat gaat natuurlijk voor een deel met de BUH. Niet de meest efficiënte manier..
Zodra saldering is afgeschaft is dat nuttig, nu veelal nog niet. Kan je meer vertellen over je pulse meter? Welk model, hoe werkt die? Ik neem aan dat die s0 pulsen verstuurt? En dat je ook smartgrid gebruikt om je zonne overschot te gebruiken? Ik was in de veronderstelling dat smartgrid de enige manier is om met een s0 puls zender je overschot te gebruiken voor sww, hoe werkt dit voor jou? En hoe verwarm.je sww? Met een programma?

Acties:
  • +1 Henk 'm!

  • Signum666
  • Registratie: Oktober 2008
  • Laatst online: 09:50
MrRobin schreef op woensdag 30 april 2025 @ 18:18:
[...]


Zodra saldering is afgeschaft is dat nuttig, nu veelal nog niet. Kan je meer vertellen over je pulse meter? Welk model, hoe werkt die? Ik neem aan dat die s0 pulsen verstuurt? En dat je ook smartgrid gebruikt om je zonne overschot te gebruiken? Ik was in de veronderstelling dat smartgrid de enige manier is om met een s0 puls zender je overschot te gebruiken voor sww, hoe werkt dit voor jou? En hoe verwarm.je sww? Met een programma?
Ik heb de inepro pro380-mod uit een oude Shell Recharge laadpaal gesloopt en deze in de meterkast tussen de hoofdgroepen en de rest geplaatst. Hier zit een S0 pulse uitgang op, die vervolgens aangesloten zit op de Daikin LAN adapter. De LAN adapter verzorgt de Smartgrid communicatie met de warmtepomp, want ons model heeft dat niet ingebakken. Espaltherma heeft vervolgens 2 relays die ik aanstuur via met Home Assistant. Ik had al CT klemmen door de Zappi laadpaal die ik kan ik gebruiken in Home Assistant om uit te lezen of er overschot is. Zodra dat het geval is wordt de SG modus op "aanbevolen aan" gezet. Het vermogen waarmee SWW verwarmd wordt is dan beperkt tot het overschot.

Overigens zitten er wel de nodige beperkingen aan het hele SG verhaal. Ik gebruik de warmtepomp in LWT mode, en dan moet het buiten boven de 19 graden zijn wil hij überhaupt SWW verwarmen op deze manier. Je kan ook bufferen met de vloerverwarming om te koelen, maar dat gebruik ik niet aangezien we airco hebben. De normale verwarming van de SWW is warmhouden, met een hysterese van 10 graden. Ik heb hem standaard op 50 graden staan.

Ik heb deze opzet in een eerdere post al eens uitgelegd, maar toen had ik de Inepro er nog niet bij. https://gathering.tweakers.net/forum/view_message/79673536

[ Voor 7% gewijzigd door Signum666 op 30-04-2025 18:32 ]


Acties:
  • +1 Henk 'm!

  • MrRobin
  • Registratie: Augustus 2011
  • Laatst online: 09:45
Ik draai ook in lwt modus maar met een vaste toegestane waarde (2.5kw) in aanbevolen aan. Ik herken je verhaal van 19c niet, maar wel dat er idd significant veel overschot moet zijn voordat sww verwarmen begint. Ik heb hem specifiek op 2.5kw staan omdat vanaf 3kw waarde ook de BSH gebruikt wordt, en dat wil ik alleen in gedwongen aan modus.

Acties:
  • +1 Henk 'm!

  • Signum666
  • Registratie: Oktober 2008
  • Laatst online: 09:50
Die 19 graden is geen vaste waarde, maar dit is de instelling van je warmtepomp onder welke buitentemperatuur hij gaat verwarmen. Geforceerd aan werkt altijd, maar aanbevolen aan alleen onder specifieke condities.

Afbeeldingslocatie: https://tweakers.net/i/BU_jKnSrlIOKy3PQ-IvOqAkGOAc=/800x/filters:strip_exif()/f/image/QGtcGvgEJG65Y7OaLo5tuVqm.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • MrRobin
  • Registratie: Augustus 2011
  • Laatst online: 09:45
Wow! Thanks voor deze screenshot. Ik vermoedde al dat dit het geval zou zijn maar ik kon nergens iets vinden over het gedrag van "bufferen wanneer", in lwt modus. Ik ervaar idd ook dat de tank alleen gaat bufferen als ik de cv uit zet, wat niet ideaal is. Kan je een linkje delen naar deze pdf en / of aangeven waar in het instellingen menu 4-02 en f-01 staan? Ik zie ze wel in het instellingen overzicht maar niet hoe die instellingen precies heten...

Acties:
  • 0 Henk 'm!

  • MrRobin
  • Registratie: Augustus 2011
  • Laatst online: 09:45
Iets te vroeg gesproken, inmiddels gevonden! Ruimte verwarming / koeling > werkingsgebied. Dank!

Acties:
  • 0 Henk 'm!

  • Signum666
  • Registratie: Oktober 2008
  • Laatst online: 09:50
https://www.daikin.nl/con...ference%20guide_Dutch.pdf

Pagina 41 kun je die passage vinden. Ik heb ook lange tijd gedacht dat de LAN adapter niet werkte, en stuitte veel later pas op deze PDF. Dat verklaarde een hoop inderdaad :)

[ Voor 26% gewijzigd door Signum666 op 30-04-2025 23:47 ]


Acties:
  • 0 Henk 'm!

  • ShaneV
  • Registratie: Maart 2005
  • Nu online
Signum666 schreef op woensdag 30 april 2025 @ 17:28:
Ik heb de LAN adapter nu al een tijdje draaien met Espaltherma en heb er sinds kort een pulse meter op aangesloten zitten. Het vermogen waarmee het SWW verwarmd wordt is dus ook beperkt tot het overschot van de zonnepanelen. Nu mijn vraag; zou het zinvol zijn om de tank ook helemaal richting de 60 graden te verwarmen op deze manier? Dat gaat natuurlijk voor een deel met de BUH. Niet de meest efficiënte manier..
Doen wij al altijd (België met DM..) de 60 graden zorgt ervoor dat ik ook minder warmwater verbruik en dat hij tussentijds niet opwarmt. 60 als er vol zonneenergie overschot is en anders 53 in beperkte vermogen (minder zon). De tank is als het ware dan een batterij.
Pagina: 1 ... 9 10 Laatste