LG Therma (Monoblock) warmtepompen topic - Deel 1

Pagina: 1 ... 202 203 Laatste
Acties:

Onderwerpen


  • jschel
  • Registratie: September 2022
  • Laatst online: 08-02 12:42
Ik had nog eens in de handleiding van de R32 gekeken, bij troubleshooting vond ik het volgende:

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

Dus als het water onder de 15 graden is start de compressor niet meer. Als je hem dan wilt starten zonder back-up heater en je hebt SWW kun je starten door bv de warmte van je SWW vat te gebruiken. Maar goed eigenlijk slaat dit nergens op... Dus als je in de winter een keer op vakantie gaat en je warmtepomp valt uit krijg je hem niet meer aan de gang zonder backup-heater of SWW vat met elektrische naverwarmer... Maar goed om te weten ik kan iig altijd wel starten dan via het SWW vat.

LG HM123MR | Goodwe GW8K-DT | Homeassistant | ESPhome | Gasloos


  • legalr
  • Registratie: November 2007
  • Laatst online: 22:40
walter_321 schreef op vrijdag 6 februari 2026 @ 21:35:
[...]

De wp kiest om een defrost te doen voor een heel aantal redenen. Maar uiteidelijk wil die vooral in de eerste plaats zorgen dat er voldoende luchtdebiet is doorheen de luchtwarmtewisselaar.
De temperatuursensor speelt maar een beperkte rol. Bij mij is de sensor links boven aan de ingang van de warmtewisselaar net een plaats waar het net wat warmer lijkt.
Kan je zien of de defrost nodig waren ? Dat is; de opbrengst loopt terug en gebruikte vermogen stijgt...
Ps; heb je ergens de echte buitentemperatuur? Mij is het nog niet opgevallen dat de meting van de buitentemperatuur van de LG beinvloed wordt door de defrost. Dat kijk ik eens na...
Helaas heb ik gisteren ook een mislukte HA update gedaan waardoor ik nu een paar dagen logging kwijt ben, vanaf gisteravond is de temperatuur van de buitensensor voeler nog steed stabiel gebleven tijdens de diverse defrost cycles.

vandaag is eindelijk de temperatuur flink omhoog geschiten na een paar weken rondom de 0 graden en ga zo vanmiddag overal met een beetje lauw water het opgebouwde ijs rondom de WP laten verdwijnen.

  • kazemo
  • Registratie: Augustus 2022
  • Laatst online: 07-02 15:10
jschel schreef op zaterdag 7 februari 2026 @ 12:41:
[...]


Ik had nog eens in de handleiding van de R32 gekeken, bij troubleshooting vond ik het volgende:

[Afbeelding]

Dus als het water onder de 15 graden is start de compressor niet meer. Als je hem dan wilt starten zonder back-up heater en je hebt SWW kun je starten door bv de warmte van je SWW vat te gebruiken. Maar goed eigenlijk slaat dit nergens op... Dus als je in de winter een keer op vakantie gaat en je warmtepomp valt uit krijg je hem niet meer aan de gang zonder backup-heater of SWW vat met elektrische naverwarmer... Maar goed om te weten ik kan iig altijd wel starten dan via het SWW vat.
Klopt helemaal,aanvulling hierop ook al aangehaald die 4gr binnen temp. dan ben je dus helemaal te laat dan kan je er dus van uitgaan dat het buiten flink vriest rondpompen van water van 4gr baat dan niet meer het water in het monoblok bevriest dan(warmte wisselaar etc. kapot) als je dan via een omweg de compressor ook nog aanzet gaat die ook kapot...resultaat een nieuwe wp kopen,dus als je voor langere tijd in de winter weg gaat niet veel lager zetten (sparen) en helemaal dom compleet uitzetten ...of vullen met glycol en vorstkleppen(niet standaard).

veel installateurs doen het niet vanwege:

lagere warmtecapaciteit van glycol,

hogere viscositeit (meer pompvermogen nodig),

risico op lekkage via vorstkleppen.

[ Voor 5% gewijzigd door kazemo op 07-02-2026 15:10 ]


  • jschel
  • Registratie: September 2022
  • Laatst online: 08-02 12:42
kazemo schreef op zaterdag 7 februari 2026 @ 14:48:
[...]

Klopt helemaal,aanvulling hierop ook al aangehaald die 4gr binnen temp. dan ben je dus helemaal te laat dan kan je er dus van uitgaan dat het buiten flink vriest rondpompen van water van 4gr baat dan niet meer het water in het monoblok bevriest dan(warmte wisselaar etc. kapot) als je dan via een omweg de compressor ook nog aanzet gaat die ook kapot...resultaat een nieuwe wp kopen,dus als je voor langere tijd in de winter weg gaat niet veel lager zetten (sparen) en helemaal dom compleet uitzetten ...of vullen met glycol en vorstkleppen(niet standaard).

veel installateurs doen het niet vanwege:

lagere warmtecapaciteit van glycol,

hogere viscositeit (meer pompvermogen nodig),

risico op lekkage via vorstkleppen.
Ben het helemaal met je eens maar om eerlijk te zijn heb ik in de zomer al 2 keer gehad dat, door stroomuitval en door een andere rede, waarschijnlijk een bug, dat de warmtepomp er mee gestopt was tijdens een vakantie 8)7 Als dat tijdens de winter gebeurt ben je dus wel klaar als je geen alternatief hebt. Bv een SWW vat of een backup heater om hem weer te starten.

LG HM123MR | Goodwe GW8K-DT | Homeassistant | ESPhome | Gasloos


  • SalexSun
  • Registratie: December 2017
  • Laatst online: 21:24
Weet iemand hoe dat bij andere merken is?

LG monobloc s 5kW U44, 3kWp zuid, Model 3 SR+


  • SalexSun
  • Registratie: December 2017
  • Laatst online: 21:24
Ik heb hem in de winter geplaatst. Ondanks dat de vloer waarschijnlijk warm genoeg was heb ik het systeem toen toch gevuld met warm water om dit voor te zijn

LG monobloc s 5kW U44, 3kWp zuid, Model 3 SR+


  • SalexSun
  • Registratie: December 2017
  • Laatst online: 21:24
jschel schreef op zaterdag 7 februari 2026 @ 12:41:
[...]


Ik had nog eens in de handleiding van de R32 gekeken, bij troubleshooting vond ik het volgende:

[Afbeelding]

Dus als het water onder de 15 graden is start de compressor niet meer. Als je hem dan wilt starten zonder back-up heater en je hebt SWW kun je starten door bv de warmte van je SWW vat te gebruiken. Maar goed eigenlijk slaat dit nergens op... Dus als je in de winter een keer op vakantie gaat en je warmtepomp valt uit krijg je hem niet meer aan de gang zonder backup-heater of SWW vat met elektrische naverwarmer... Maar goed om te weten ik kan iig altijd wel starten dan via het SWW vat.
Principieel is deze bescherming toch overbodig? De warmtepomp zal onafhankelijk van watertemperatuur meer energie in het systeem stoppen voor de eerste defrost, dan energie die er bij een defrost wordt uitgehaald. Tenzij COP<1

Dit lijkt enkel een probleem als je een koude start doet met dichtgevroren condensor oid

LG monobloc s 5kW U44, 3kWp zuid, Model 3 SR+


  • KarsS
  • Registratie: Juni 2022
  • Laatst online: 21:45
SalexSun schreef op zaterdag 7 februari 2026 @ 16:56:
[...]
Principieel is deze bescherming toch overbodig? De warmtepomp zal onafhankelijk van watertemperatuur meer energie in het systeem stoppen voor de eerste defrost, dan energie die er bij een defrost wordt uitgehaald. Tenzij COP<1

Dit lijkt enkel een probleem als je een koude start doet met dichtgevroren condensor oid
Dat het principe van niet meer starten onder een bepaalde temperatuur overbodig is durf ik zo niet te zeggen. Wel vind ik die 15 graden bij LG belachelijk hoog :-( Een bekende van mij heeft een Daikin en ik dacht dat dat daar 8 graden was.

Overigens heb ik hier op het forum gelezen (heeel lang geleden) dat de ThermaV onder 15 graden wel eenmalig opstart als je de spanning er opnieuw op zet. Lijkt me ook wel logisch, want anders zouden installateurs onder de 15 graden geen ThermaV meer kunnen installeren.

  • beumer
  • Registratie: Juni 2012
  • Laatst online: 22:22
hwopereis schreef op vrijdag 6 februari 2026 @ 21:34:
[...]


Wat krijg je precies niet aan de praat? Kan je wel modbus instellen? Als je wat meer info geeft kunnen we misschien pinpointen wat er fout gaat.

Lijkt me niet logisch dat de instellingen er zijn maar dat de software ze niet ondersteunt.

Bij mij koste het ook even wat moeite om het uitgelezen werkend te krijgen. Versie 3072.
Ik lijk gewoon geen verbinding te krijgen.
In de controller op de LG heb ik adres code 01 en draden netjes verbonden (wit naar 3rd party A, blauw naar 3rd party B ) maar de sensoren worden niet uitgelezen:
Afbeeldingslocatie: https://tweakers.net/i/7QKMnULBzRevHKQEPx3leVlaC5M=/232x232/filters:strip_icc():strip_exif()/f/image/YIRKLo8aJ1JQs46yjThMulGC.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/_flAta5Ec0aMEyM0fzQkDyE3Ptw=/232x232/filters:strip_icc():strip_exif()/f/image/YWBX3EDqdIP0BBGXLalGk3De.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/hGPbCLq9M0m37ki48Ed38ClZt3M=/232x232/filters:strip_icc():strip_exif()/f/image/YemaaBEwlrVrCw6VzFBCzvsM.jpg?f=fotoalbum_tile
Afbeeldingslocatie: https://tweakers.net/i/4oGH6Ldha20Ukwhkvioz1TPW0TQ=/232x232/filters:strip_icc():strip_exif()/f/image/cngn5rFS4vV6CLgOKIEyCEbw.jpg?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/Pz3-LDm4d1l_CERzrUwVr6j29is=/232x232/filters:strip_exif()/f/image/ym03GRtxKLr7Vprs6jyDDz1l.png?f=fotoalbum_tileAfbeeldingslocatie: https://tweakers.net/i/XUrsHouunNmhfD6cFJ-G-MCtiDA=/232x232/filters:strip_icc():strip_exif()/f/image/pzTenk4tOSUNxwtBpIvzBSQy.jpg?f=fotoalbum_tile
Ik zoek eigenlijk een manier om te achterhalen of mijn instellingen niet kloppen, de aansluiting niet correct is of het gewoon niet gaat met mijn versie.

  • Jojan265
  • Registratie: Februari 2022
  • Laatst online: 22:31
beumer schreef op zondag 8 februari 2026 @ 09:26:
[...]

Ik lijk gewoon geen verbinding te krijgen.
In de controller op de LG heb ik adres code 01 en draden netjes verbonden (wit naar 3rd party A, blauw naar 3rd party B) maar de sensoren worden niet uitgelezen:
[Afbeelding][Afbeelding][Afbeelding]
[Afbeelding][Afbeelding][Afbeelding]
Ik zoek eigenlijk een manier om te achterhalen of mijn instellingen niet kloppen, de aansluiting niet correct is of het gewoon niet gaat met mijn versie.
Je aansluitingen en dipswitches lijken goed te staan. Dan moet je dus uitzoeken of je alles in HA wel goed hebt staan. Heb je de modbus integratie wel geladen in HA? Je zou eventueel met een modbus tester kunnen uitsluiten of het aan HA of aan je LG ligt.

LG-HM071MR-U44 / SWW Hewalex PCWU 3.0 / PV SMA + Jinko 14 kWp / Kia e-Niro


  • beumer
  • Registratie: Juni 2012
  • Laatst online: 22:22
Ik gebruik hem met esphome op printje van @AUijtdehaag en heb dit in de config staan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
### modbus ###
uart:
  id: mod_bus
  tx_pin: 16
  rx_pin: 12 
  baud_rate: 9600
  stop_bits: 1
  parity: NONE
  
modbus:
  id: modbus_lg
  send_wait_time: 200ms

modbus_controller:
  - id: lg
    ## the Modbus device addr
    address: 0x1
    modbus_id: modbus_lg
    setup_priority: -10
    update_interval: 10s

[ Voor 3% gewijzigd door beumer op 08-02-2026 10:21 ]


  • walter_321
  • Registratie: Februari 2025
  • Laatst online: 21:08
beumer schreef op zondag 8 februari 2026 @ 10:20:
Ik gebruik hem met esphome op printje van @AUijtdehaag en heb dit in de config staan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
### modbus ###
uart:
  id: mod_bus
  tx_pin: 16
  rx_pin: 12 
  baud_rate: 9600
  stop_bits: 1
  parity: NONE
  
modbus:
  id: modbus_lg
  send_wait_time: 200ms

modbus_controller:
  - id: lg
    ## the Modbus device addr
    address: 0x1
    modbus_id: modbus_lg
    setup_priority: -10
    update_interval: 10s
Je moet nog wat logging info delen;
- kan HA op de ESP32 connecteren?
- kan de ESP32 de LG zien? Daar zou je moeten zien dat hij om de paar seconden een uitlezing doet en wat het resultaat is.

  • PeteSplit
  • Registratie: Oktober 2023
  • Laatst online: 23:54

PeteSplit

HN091MR.NK5 HU051MR.U44

beumer schreef op zondag 8 februari 2026 @ 10:20:
Ik gebruik hem met esphome op printje van @AUijtdehaag en heb dit in de config staan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
### modbus ###
uart:
  id: mod_bus
  tx_pin: 16
  rx_pin: 12 
  baud_rate: 9600
  stop_bits: 1
  parity: NONE
  
modbus:
  id: modbus_lg
  send_wait_time: 200ms

modbus_controller:
  - id: lg
    ## the Modbus device addr
    address: 0x1
    modbus_id: modbus_lg
    setup_priority: -10
    update_interval: 10s
HA kan de ESP al zien, maar de waarden van de warmtepomp komen niet binnen.
Heb je de warmtepomp even spanningsloos gemaakt na het instellen van de dipswitch en de warmtepomp al opnieuw opgestart ?

LG (AWHP R32) / ESPhome (ESP32) / GoodWe 4K-DT (5kWp) / Homewizard (1 PiB) / Home Assistant (NUC)


  • Powrskin
  • Registratie: November 2005
  • Niet online
KarsS schreef op zondag 8 februari 2026 @ 07:48:
[...]
Dat het principe van niet meer starten onder een bepaalde temperatuur overbodig is durf ik zo niet te zeggen. Wel vind ik die 15 graden bij LG belachelijk hoog :-( Een bekende van mij heeft een Daikin en ik dacht dat dat daar 8 graden was.

Overigens heb ik hier op het forum gelezen (heeel lang geleden) dat de ThermaV onder 15 graden wel eenmalig opstart als je de spanning er opnieuw op zet. Lijkt me ook wel logisch, want anders zouden installateurs onder de 15 graden geen ThermaV meer kunnen installeren.
zover ik weet klopt dat. het lukt dus wel maar misschien een "paar" vloerverwarmingsgroepen uitzetten en een paar keer opstarten.

Nukezone FTW


  • beumer
  • Registratie: Juni 2012
  • Laatst online: 22:22
PeteSplit schreef op zondag 8 februari 2026 @ 11:48:
[...]


HA kan de ESP al zien, maar de waarden van de warmtepomp komen niet binnen.
Heb je de warmtepomp even spanningsloos gemaakt na het instellen van de dipswitch en de warmtepomp al opnieuw opgestart ?
HA kan inderdaad de ESP zien, maar niet de waardes van de LG, deze is in de tussentijd al meerdere keren spanningsloos geweest dus dat zou het probleem ook niet moeten zijn. Enige wat ik kan bedenken is dat RX en TX misschien niet op juiste pin ingesteld zijn.

  • PeteSplit
  • Registratie: Oktober 2023
  • Laatst online: 23:54

PeteSplit

HN091MR.NK5 HU051MR.U44

beumer schreef op zondag 8 februari 2026 @ 12:07:
[...]

HA kan inderdaad de ESP zien, maar niet de waardes van de LG, deze is in de tussentijd al meerdere keren spanningsloos geweest dus dat zou het probleem ook niet moeten zijn. Enige wat ik kan bedenken is dat RX en TX misschien niet op juiste pin ingesteld zijn.
Maar alles van de ESP gaat toch via deze pins naar HA. Je hebt alleen de waardes niet.
Lijkt alsof iets offline is. Heb je HA ook een keer gereset ? Werkt de WiFi goed ?

LG (AWHP R32) / ESPhome (ESP32) / GoodWe 4K-DT (5kWp) / Homewizard (1 PiB) / Home Assistant (NUC)


  • jvanderkroon
  • Registratie: Juni 2006
  • Laatst online: 20:47
@beumer Ik zou zeggen connect even via de ESPhome site met je esp device en dan zie je daar de logging. Of als je `web_server` op je esp hebt aan staan even naar het ip van je esp navigeren in de browser en dan zie je daar de logging.

LG-HM051MR-U44 | Daalderop DUO 50l | 1500 WP Zuid | gasloos '23


  • mdvmine
  • Registratie: Februari 2003
  • Laatst online: 18:54
jschel schreef op zaterdag 7 februari 2026 @ 12:41:
[...]
Dus als het water onder de 15 graden is start de compressor niet meer. Als je hem dan wilt starten zonder back-up heater en je hebt SWW kun je starten door bv de warmte van je SWW vat te gebruiken. Maar goed eigenlijk slaat dit nergens op... Dus als je in de winter een keer op vakantie gaat en je warmtepomp valt uit krijg je hem niet meer aan de gang zonder backup-heater of SWW vat met elektrische naverwarmer... Maar goed om te weten ik kan iig altijd wel starten dan via het SWW vat.
Bedankt, goed gevonden. Rare plaats om dit te documenteren, en lijkt ook niet consistent dan met wat er onder Frost protection staat. En waar komt die 18 graden vandaan? Hij start niet onder de 15, maar dan moet het zelfs ineens 18 graden worden om nog aan te gaan? Bizar.

En aangezien de compressor niet start, zou hij vanzelf de backup heater kunnen gebruiken. (Zonder over de max stroom te gaan). Maar dat doet hij dus niet? Of dat wordt bedoeld met "unit warms up to 18" .... met de backup heater?

En hier staat dat de backup heater een optionele accessoire is? Maar staat niet bij accessoires genoemd, ik nam aan dat die standaard ingebouwd zat?

  • mdvmine
  • Registratie: Februari 2003
  • Laatst online: 18:54
SalexSun schreef op zaterdag 7 februari 2026 @ 16:56:
[...]
Principieel is deze bescherming toch overbodig? De warmtepomp zal onafhankelijk van watertemperatuur meer energie in het systeem stoppen voor de eerste defrost, dan energie die er bij een defrost wordt uitgehaald. Tenzij COP<1

Dit lijkt enkel een probleem als je een koude start doet met dichtgevroren condensor oid
Inderdaad, sowieso in verwarmingsmodus zal hij het water warmer maken, niet kouder haha. En ook al is hij dichtgevroren, zou hij een hot-gas-injectie ontdooiing kunnen doen.

  • draakje1975
  • Registratie: Januari 2016
  • Laatst online: 00:04
Ik meld mij ook eens even aan bij dit grote forum..
Bij ons draait een LG GM 123MR U34

Inmiddels met ESP32 en RS485 de modbus aan het uitlezen.

Forum is nu wel dusdanig groot dat het wel wat lastig is om bepaalde zaken te vinden :)

Maar daar komen we vast wel uit

  • beumer
  • Registratie: Juni 2012
  • Laatst online: 22:22
PeteSplit schreef op zondag 8 februari 2026 @ 12:41:
[...]


Maar alles van de ESP gaat toch via deze pins naar HA. Je hebt alleen de waardes niet.
De verbinding tussen esp en HA werkt gewoon goed maar daar heb ik geen tx en rx voor nodig, probleem zit tussen esp en LG. Logs wat uitgebreid en heb dit als resultaten:
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
[20:52:40.046][V][modbus:030]: Clearing buffer of 5 bytes - parse failed
[20:52:40.104][V][modbus:039]: Clearing buffer of 3 bytes - timeout
[20:52:40.245][V][modbus:046]: Stop waiting for response from 1
[20:52:40.249][D][modbus_controller:039]: Modbus command to device=1 register=0x07 no response received - removed from send queue
[20:52:40.271][V][modbus:264]: Modbus write: 01:04:00:0C:00:01:F1:C9
[20:52:40.273][W][modbus:148]: Modbus CRC Check failed! C022!=0C
[20:52:40.279][V][modbus:030]: Clearing buffer of 5 bytes - parse failed
[20:52:40.284][W][modbus_controller:284]: Duplicate modbus command found: type=0x4 address=17 count=1
[20:52:40.284][W][modbus_controller:284]: Duplicate modbus command found: type=0x4 address=19 count=1
[20:52:40.333][V][modbus:039]: Clearing buffer of 3 bytes - timeout
[20:52:40.476][V][modbus:046]: Stop waiting for response from 1
[20:52:40.494][V][modbus:264]: Modbus write: 01:04:00:0C:00:01:F1:C9
[20:52:40.497][W][modbus:148]: Modbus CRC Check failed! C022!=0C
[20:52:40.501][V][modbus:030]: Clearing buffer of 5 bytes - parse failed
[20:52:40.557][V][modbus:039]: Clearing buffer of 3 bytes - timeout
[20:52:40.714][V][modbus:046]: Stop waiting for response from 1
[20:52:40.717][V][modbus:264]: Modbus write: 01:04:00:0C:00:01:F1:C9
[20:52:40.717][W][modbus:148]: Modbus CRC Check failed! C022!=0C
[20:52:40.719][V][modbus:030]: Clearing buffer of 5 bytes - parse failed
[20:52:40.772][V][modbus:039]: Clearing buffer of 3 bytes - timeout
[20:52:40.919][V][modbus:046]: Stop waiting for response from 1
[20:52:40.929][V][modbus:264]: Modbus write: 01:04:00:0C:00:01:F1:C9
[20:52:40.932][W][modbus:148]: Modbus CRC Check failed! C022!=0C
[20:52:40.935][V][modbus:030]: Clearing buffer of 5 bytes - parse failed
[20:52:40.994][V][modbus:039]: Clearing buffer of 3 bytes - timeout
[20:52:41.139][V][modbus:046]: Stop waiting for response from 1
[20:52:41.150][V][modbus:264]: Modbus write: 01:04:00:0C:00:01:F1
Claude Code komt er ook niet meer uit. Is er iemand met een u43 die het werkend heeft en een yaml zou willen delen?
En mocht iemand een tip hebben hoe ik dingen kan uitsluiten, al dan niet met een minimale config om de modbus te testen dan zou ik erg blij zijn.

  • wrapper83
  • Registratie: Maart 2012
  • Laatst online: 23:46
@beumer ,

Ik heb ook een poging gedaan met esp32 (tebogo in "LG Therma (Monoblock) warmtepompen topic - Deel 1"), maar ik kreeg ook errors met het laatste script:
https://randomnerdtutoria...2-pinout-reference-gpios/

Dit naar mijn boardje omgezet:
esp32:
board: esp32dev
variant: esp32
framework:
type: arduino

met deze verbinding:
https://github.com/espressif/esp-idf/issues/10781

uart:
id: mod_bus
tx_pin: 16 >>
rx_pin: 12 >>
baud_rate: 9600
stop_bits: 1
parity: NONE

ik kreeg andere meldingen:
Afbeeldingslocatie: https://tweakers.net/i/k3LNA68zAcaoNjlrwFR6hsf773o=/800x/filters:strip_exif()/f/image/cnVyN1wu9FCmjgSSCPfls8Sv.png?f=fotoalbum_large

Heb de Circulatie pomp met BLE eruitgehaald:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
# =========================
### Esphome code to ctrl a LG heatpump
### esp-wp-control
### version V3.0 toegvoegd: - mac_address: **:**:**:**:**:** # ALPHA 25-60 180
### 29 januari 2026 aangepast
# ========================= 

substitutions:
  device_name: esp-wp-control
  friendly_name: "esp-wp-control"
  comment: LG warmtepomp

esphome:
  name: ${device_name}
  friendly_name: ${friendly_name}
  comment: ${comment}

esp32:
  board: esp32dev
  variant: esp32
  framework:
    type: arduino 

logger:
  baud_rate: 0   
  level: INFO
  logs:
    modbus_controller.sensor: WARN
    modbus_controller.output: WARN
    modbus.number: WARN
    modbus.select: WARN
    modbus.sensor: WARN
    esp32.preferences: WARN
    sensor: WARN
    text_sensor: WARN
    number: WARN 
    esp32_ble_tracker: WARN
    esp32_ble_client: WARN
    alpha3: WARN 

api:
  reboot_timeout: 0s

ota:
  - platform: esphome
    on_begin:
      then:
      #  - switch.turn_off: ble_client_switch
      #  - logger.log: "BLE connection suspended for OTA update"
    on_end:
      then:
      #  - switch.turn_on: ble_client_switch
      #  - logger.log: "BLE connection started after OTA update"  

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  min_auth_mode: WPA2
  fast_connect: on
  reboot_timeout: 0s
  ap:
    ssid: "Esp-WP Fallback Hotspot"
    password: !secret wifi_hotspot_password
    ap_timeout: 5min 
  
captive_portal:    

web_server:
  port: 80
  auth:
    username: !secret username
    password: !secret username_password

esp32_ble_tracker:

#ble_client:
#  - mac_address: **:**:**:**:**:** 
#    id: Circulation_pump
#    auto_connect: true

uart:
  id: mod_bus
  tx_pin: 17
  rx_pin: 16 
  baud_rate: 9600
  stop_bits: 1
  parity: NONE

modbus:
  id: modbus_lg
  send_wait_time: 1000ms

modbus_controller:
  - id: lg
    address: 0x1
    modbus_id: modbus_lg
    setup_priority: -10
    update_interval: 10s

button:
  - platform: restart
    id: restart_button
    name: " Herstart WP control module"
    
######################################
### op basis van https://gathering.tweakers.net/forum/list_message/84523852#84523852 toegevoegd
### Compressor mode op basis van https://gathering.tweakers.net/forum/list_message/84523968?newPost=1#84523968    
  - platform: template
    name: "Test: Simuleer Defrost & Switch"
    id: test_logic_button
    on_press:
      - lambda: |-
          // Kopie van de logica om te testen
          id(defrost_count) += 1;
          id(defrost_counter_sensor).publish_state(id(defrost_count));
          ESP_LOGI("test_logic", "TEST KNOP: Teller opgehoogd naar: %d", id(defrost_count));
          
          if (id(defrost_count) >= 3) {
            id(defrost_count) = 0;
            id(defrost_counter_sensor).publish_state(0);
            
            auto current_mode = id(silent_mode_logic_select)->current_option();
            std::string next_mode = "Suction Temp"; // Default fallback

            if (current_mode == "Suction Temp") {
              next_mode = "Frost Margin (Dauwpunt)";
            } else if (current_mode == "Frost Margin (Dauwpunt)") {
              next_mode = "Compressor Hz (Comfort)";
            } else if (current_mode == "Compressor Hz (Comfort)") {
              next_mode = "Hoge Belasting (Hz)";
            } else if (current_mode == "Hoge Belasting (Hz)") {
              next_mode = "Suction Temp";
            }
            
            id(silent_mode_logic_select).publish_state(next_mode);
            ESP_LOGI("test_logic", "TEST KNOP: 3 bereikt! Schakelen naar: %s", next_mode.c_str());
          }    
######################################


######################################
### op basis van https://gathering.tweakers.net/forum/list_message/84523852#84523852 toegevoegd
### Compressor mode op basis van https://gathering.tweakers.net/forum/list_message/84523968?newPost=1#84523968
# =========================
# GLOBALS (Voor het onthouden van de teller)
# =========================
globals:
  - id: defrost_count
    type: int
    restore_value: yes  # <--- AANGEPAST: Onthouden bij herstart!
    initial_value: '0'
######################################

# =========================
# SWITCHES (coils)
# =========================

switch:
  - platform: modbus_controller
    modbus_controller_id: lg
    id: _00001
    register_type: coil
    address: 00
    device_class: switch
    name: "00001 Enable ⁄ Disable (Heating ⁄ Cooling)"

  - platform: modbus_controller
    modbus_controller_id: lg
    id: sidu_awhp_silent
    register_type: coil
    address: 02
    device_class: switch
    name: "00003 Silent Mode Set"

#  - platform: ble_client
#    ble_client_id: Circulation_pump
#    id: ble_client_switch
#    name: "Enable Bluetooth Connection"
#    icon: mdi:bluetooth
#    restore_mode: RESTORE_DEFAULT_ON

# =========================
# BINARY SENSORS (discrete inputs)
# =========================
binary_sensor:
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "10001 Water flow status"
    id: sidu_awhp_flow_switch
    register_type: discrete_input
    device_class: running
    address: 00
    skip_updates: 5 # 60s
    
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "10002 Main Pump"
    id: sidu_awhp_main_pump
    register_type: discrete_input
    device_class: running
    address: 01    

  - platform: modbus_controller
    modbus_controller_id: lg  
    name: "10004 Compressor status"
    id: compressor_running     
    register_type: discrete_input
    device_class: running
    address: 03
    
#   - platform: modbus_controller
#     modbus_controller_id: lg    
#     name: "10005 Defrosting"
#     id: defrosting_mode
#     register_type: discrete_input
#     device_class: running
#     address: 04

######################################
### op basis van https://gathering.tweakers.net/forum/list_message/84523852#84523852 toegevoegd
### Compressor mode op basis van https://gathering.tweakers.net/forum/list_message/84523968?newPost=1#84523968
# DE TELLER LOGICA: Kijk naar de defrost status
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "10005 Defrosting"
    id: defrosting_mode
    register_type: discrete_input
    address: 04
    on_press:
      then:
        - lambda: |-
            // Alleen tellen als we NIET in handmatig staan
            if (id(silent_mode_logic_select)->current_option() != "Handmatig") {
              id(defrost_count) += 1;
              id(defrost_counter_sensor).publish_state(id(defrost_count));
              ESP_LOGI("test_logic", "Defrost gedetecteerd! Teller op: %d", id(defrost_count));
              
              if (id(defrost_count) >= 3) {
                id(defrost_count) = 0;
                id(defrost_counter_sensor).publish_state(0);
                
                auto current_mode = id(silent_mode_logic_select)->current_option();
                std::string next_mode = "Suction Temp"; // Default

                if (current_mode == "Suction Temp") {
                  next_mode = "Frost Margin (Dauwpunt)";
                } else if (current_mode == "Frost Margin (Dauwpunt)") {
                  next_mode = "Compressor Hz (Comfort)";
                } else if (current_mode == "Compressor Hz (Comfort)") {
                  next_mode = "Hoge Belasting (Hz)";
                } else if (current_mode == "Hoge Belasting (Hz)") {
                  next_mode = "Suction Temp";
                }
                
                id(silent_mode_logic_select).publish_state(next_mode);
                ESP_LOGI("test_logic", "3 Defrosts bereikt. Schakelen naar %s", next_mode.c_str());
              }
            }
            
  # De intelligente logica (zoals eerder besproken, maar nu in de lijst)
  - platform: template
    id: intelligent_silent_logic
    filters:
      - delayed_on: 10s
      - delayed_off: 10s
    lambda: |-
      auto mode = id(silent_mode_logic_select)->current_option();
      float current_hz = id(inv1_trace).state;
      float outdoor_temp = id(air_temp).state;
      bool is_defrosting = id(defrosting_mode).state;

      if (mode == "Suction Temp") {
        if (id(suction_temp).state > 1.5) return true;
        if (id(suction_temp).state < 0.0) return false;
      } 
      else if (mode == "Frost Margin (Dauwpunt)") {
        if (id(frost_margin_sensor).state < -0.3 && id(suction_temp).state < 0.0) return false;
        if (id(frost_margin_sensor).state > 2.0 && id(suction_temp).state > 1.0) return true;
      }
      else if (mode == "Compressor Hz (Comfort)") {
        if (current_hz > 45.0) return true;
        if (current_hz < 40.0) return false;
      }
      else if (mode == "Hoge Belasting (Hz)") {
        if (is_defrosting) return false; 
        if (current_hz > 45.0 && outdoor_temp > 4.0) return false;
        else if (current_hz < 40.0) return true;
      }
      return id(sidu_awhp_silent).state;
    on_press:
      then:
        - if:
            condition:
              lambda: 'return id(silent_mode_logic_select)->current_option() != "Handmatig";'
            then:
              - switch.turn_on: sidu_awhp_silent
    on_release:
      then:
        - if:
            condition:
              lambda: 'return id(silent_mode_logic_select)->current_option() != "Handmatig";'
            then:
              - switch.turn_off: sidu_awhp_silent
######################################

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "10008 Silent mode status"
    id: Cooling_Fan
    register_type: discrete_input
    device_class: running
    address: 07

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "10014 Error status"
    id: Error_status
    register_type: discrete_input
    device_class: problem
    address: 13
    skip_updates: 5 # 60s


# =========================
# SENSORS (input registers)
# =========================
sensor:

######################################
### op basis van https://gathering.tweakers.net/forum/list_message/84523852#84523852 toegevoegd
### Compressor mode op basis van https://gathering.tweakers.net/forum/list_message/84523968?newPost=1#84523968

  # Dauwpunt ontvangen van Home Assistant (Buienradar)
  - platform: homeassistant
    id: ha_dew_point
    entity_id: sensor.dew_point # Zorg dat dit de exacte naam in HA is
    on_value:
      then:
        - component.update: frost_margin_sensor

  # De berekende Frost Margin (Verdamper - Dauwpunt)
  - platform: template
    name: "HP Frost Margin"
    id: frost_margin_sensor
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    lambda: |-
      return id(suction_temp).state - id(ha_dew_point).state;
      
  # SENSORS (Extra sensor om de teller te zien in HA)    
  - platform: template
    name: "Defrost Counter voor Test"
    id: defrost_counter_sensor
    accuracy_decimals: 0
    unit_of_measurement: "x"
    lambda: |-
      return id(defrost_count);      
      
######################################

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "30001 Error Code"
    id: sidu_awhp_error_number
    register_type: read
    address: 00
    value_type: U_WORD
    accuracy_decimals: 0
    skip_updates: 5 # 60s

  - platform: modbus_controller
    modbus_controller_id: lg  
    name: "30002 ODU operation Cycle"
    id: sidu_awhp_indoor_operation_info
    register_type: read
    address: 01
    value_type: U_WORD
    accuracy_decimals: 0
    skip_updates: 5 # 60s

  - platform: modbus_controller
    modbus_controller_id: lg   
    name: "30003 Water inlet Temp."
    id: sidu_awhp_water_in_temp
    address: 02
    register_type: read
    value_type: S_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1 
    state_class: "measurement"
    device_class: "temperature"
  
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "30004 Water outlet Temp."
    id: sidu_awhp_water_out_temp
    address: 03
    register_type: read
    value_type: S_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1 
    state_class: "measurement"
    device_class: "temperature"
     
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "30008 Room air temp. (Circuit 1)"
    id: sidu_awhp_room_temp1
    address: 07
    register_type: read
    value_type: S_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
    state_class: "measurement"
    device_class: "temperature"
    skip_updates: 2 # 30s
    
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "30009 Current Flow Rate"
    id: sidu_awhp_flow_sensor
    register_type: read
    address: 08
    unit_of_measurement: "l/m"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
      - multiply: 0.1
    state_class: "measurement"
    device_class: volume_flow_rate
    lambda: |-
      if (id(sidu_awhp_main_pump).state) return x;
      else return 0.0;     

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "30013 Outdoor Air Temp."
    id: air_temp
    address: 12
    register_type: read
    value_type: S_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1 
    state_class: "measurement"
    device_class: "temperature"
    skip_updates: 2 # 30s

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "30017 Pipe in Temp."
    id: inner_heat_exchanger_in_temp
    address: 16
    register_type: read
    value_type: S_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1 
    state_class: "measurement"
    device_class: "temperature"
    skip_updates: 2 # 30s

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "30019 Suction Temp."
    id: suction_temp
    address: 18
    register_type: read
    value_type: S_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1 
    state_class: "measurement"
    device_class: "temperature"
    skip_updates: 2 # 30s

  - platform: modbus_controller
    modbus_controller_id: lg  
    name: "30020 INV1 dis.Temp."
    id: inv1_discharge_temp
    address: 19
    register_type: read
    value_type: S_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1 
    state_class: "measurement"
    device_class: "temperature"
    skip_updates: 2 # 30s

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "30021 HEX Temp."
    id: heat_exchanger_temp
    address: 20
    register_type: read
    value_type: S_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1 
    state_class: "measurement"
    device_class: "temperature"
    skip_updates: 2 # 30s
  
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "30023 HighPress Trace"
    id: highpress_trace
    address: 22
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1
    state_class: "measurement"
    device_class: pressure
    unit_of_measurement: "mBar"
    skip_updates: 2 # 30s
    
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "30024 LowPress Trace"
    id: lowpress_trace
    address: 23
    register_type: read
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1
    state_class: "measurement"
    device_class: pressure
    unit_of_measurement: "mBar"
    skip_updates: 2 # 30s

  - platform: modbus_controller
    modbus_controller_id: lg   
    name: "30025 INV1 Trace"   
    id: inv1_trace
    address: 24
    register_type: read
    unit_of_measurement: "Hz"
    value_type: U_WORD
    accuracy_decimals: 0
    filters:
      - multiply: 1
    state_class: "measurement"
    device_class: frequency
    skip_updates: 2 # 30s

  - platform: template
    name: "Delta T"
    id: wp_delta_t
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    state_class: "measurement"
    device_class: "temperature_delta"
    icon: mdi:delta
    update_interval: 10s
    lambda: |-
      if (!id(compressor_running).state) {
        return 0.0;
      }
      return id(sidu_awhp_water_out_temp).state - id(sidu_awhp_water_in_temp).state;

  #- platform: alpha3
  #  ble_client_id: Circulation_pump
  #  update_interval: 30s 
  #  flow:
  #    name: "Circulation pump Flow" 
  #    state_class: "measurement"
  #    device_class: volume_flow_rate
  #    unit_of_measurement: "l/m"
  #    accuracy_decimals: 1     
  #    filters:
  #      - multiply: 16.66667
  #  head:
  #    name: "Circulation pump Head"
  #    state_class: "measurement"
  #    device_class: distance
  #    unit_of_measurement: "m"
  #    accuracy_decimals: 1      
  #  speed:
  #    name: "Circulation pump Speed"
  #    state_class: "measurement"
  #    device_class: speed
  #    unit_of_measurement: "rpm"
  #    accuracy_decimals: 1
  #  power:
  #    name: "Circulation pump Power"
  #    state_class: "measurement"
  #    device_class: power
  #    unit_of_measurement: "W"
  #    accuracy_decimals: 1

# =========================
# SELECTS (Holding registers)
# =========================
select:

######################################
### op basis van https://gathering.tweakers.net/forum/list_message/84523852#84523852 toegevoegd
### Compressor mode op basis van https://gathering.tweakers.net/forum/list_message/84523968?newPost=1#84523968
  - platform: template
    name: "Silent Mode Regeling Keuze"
    id: silent_mode_logic_select
    options:
      - "Handmatig"
      - "Suction Temp"
      - "Frost Margin (Dauwpunt)"
      - "Compressor Hz (Comfort)"  # De vorige: Silent AAN bij hoge Hz
      - "Hoge Belasting (Hz)"     # De nieuwe: Silent UIT bij hoge Hz
    initial_option: "Suction Temp"
    optimistic: true
    restore_value: true
######################################

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "40001 Operation Mode"
    id: _40001
    address: 00
    value_type: U_WORD
    optionsmap:
      "Heat": 4
      "Auto": 3
    entity_category: config
    icon: "mdi:toggle-switch"

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "40002 Control method (Circuit 1 ⁄ 2)"
    id: _40002
    address: 01
    value_type: U_WORD
    optionsmap:
      "Outlet": 0
      "Inlet": 1
    entity_category: config
    icon: "mdi:toggle-switch"
    
# =========================
# NUMBERS (Holding Registers)
# =========================
number:
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "40003 Target temp (Heating ⁄ Cooling) Circuit 1"
    id: sidu_awhp_air_out_temp_targetting
    address: 02
    value_type: U_WORD
    unit_of_measurement: "°C"
    min_value: 20
    max_value: 50
    step: 1
    multiply: 10
    device_class: "temperature"
    entity_category: config
    use_write_multiple: true

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "40005 Shift value(Target) in auto mode Circuit 1"
    id: _40005
    address: 04
    value_type: U_WORD
    unit_of_measurement: "°C"
    min_value: -5
    max_value: 5
    step: 1
    device_class: "temperature"
    entity_category: config
    use_write_multiple: true
    
text_sensor:
  - platform: version
    name: "${device_name} ESPHome Version"
    hide_timestamp: true

[ Voor 100% gewijzigd door wrapper83 op 08-02-2026 21:30 ]

LG HM091MR.U44 - OEG 300liter 516005190 warmte wisselaar boiler - Solaredge / Growatt 4800 kWh


  • PeteSplit
  • Registratie: Oktober 2023
  • Laatst online: 23:54

PeteSplit

HN091MR.NK5 HU051MR.U44

Afbeeldingslocatie: https://tweakers.net/i/rZYC1XvIwvOqqB6EemSeya_2Ua8=/fit-in/4920x3264/filters:max_bytes(3145728):no_upscale():strip_icc():strip_exif()/f/image/KJmRb23wtyt1phBlT1vvSWng.jpg?f=user_large

[ Voor 199% gewijzigd door PeteSplit op 08-02-2026 23:54 ]

LG (AWHP R32) / ESPhome (ESP32) / GoodWe 4K-DT (5kWp) / Homewizard (1 PiB) / Home Assistant (NUC)


  • Cees-JanH
  • Registratie: December 2017
  • Laatst online: 22:30
Cees-JanH schreef op maandag 5 januari 2026 @ 11:26:
YAML:
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
substitutions:
  name: esp-wp-control
  friendly_name: "LG Warmtepomp (ESP)"
  # RS485 pins (pas aan als jouw bedrading anders is)
  rs485_tx: "16"
  rs485_rx: "12"

esphome:
  name: ${name}
  friendly_name: ${friendly_name}

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: arduino
    # USB CDC UIT -> voorkomt USBSerial compile-fouten op S3
    sdkconfig_options:
      CONFIG_ARDUINO_USB_CDC_ON_BOOT: "n"
      CONFIG_USB_CDC_ENABLED: "n"

logger:
  baud_rate: 0
  level: INFO

api:
  reboot_timeout: 0s

ota:
  platform: esphome
  password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap:
    ssid: "${name}-fallback"
    password: "configesp"

captive_portal:

web_server:
  port: 80

button:
  - platform: restart
    name: "Herstart ESP"

# =========================
# Modbus RTU / RS485 (LG)
# =========================
uart:
  id: mod_bus
  tx_pin: 16
  rx_pin: 12
  baud_rate: 9600
  parity: NONE
  stop_bits: 1

modbus:
  id: modbus_bus
  send_wait_time: 1000ms

modbus_controller:
  - id: lg
    address: 0x1
    modbus_id: modbus_bus
    setup_priority: -10
    update_interval: 10s

# =========================
# SCHAKELAARS (coils)
# =========================
switch:
  - platform: modbus_controller
    modbus_controller_id: lg
    id: wp_hoofdswitch
    name: "Warmtepomp aan/uit"
    register_type: coil
    address: 0

  - platform: modbus_controller
    modbus_controller_id: lg
    id: wp_dhw
    name: "Warm tapwater (DHW) aan/uit"
    register_type: coil
    address: 1

  - platform: modbus_controller
    modbus_controller_id: lg
    id: wp_silent_mode
    name: "Stille modus aan/uit"
    register_type: coil
    address: 2

  - platform: modbus_controller
    modbus_controller_id: lg
    id: wp_dhw_desinfectie
    name: "DHW desinfectie aan/uit"
    register_type: coil
    address: 3

# =========================
# STATUS (discrete inputs)
# =========================
binary_sensor:
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Waterflow status"
    register_type: discrete_input
    address: 0

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Waterpomp status"
    register_type: discrete_input
    address: 1

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Compressor actief"
    register_type: discrete_input
    address: 3

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Ontdooien actief"
    register_type: discrete_input
    address: 4

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Stille modus actief (status)"
    register_type: discrete_input
    address: 7

# =========================
# SENSORS (input registers)
# =========================
sensor:
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Foutcode"
    id: hp_error_code
    register_type: read
    address: 0
    value_type: U_WORD
    accuracy_decimals: 0

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "ODU operation cycle"
    register_type: read
    address: 1
    value_type: U_WORD
    accuracy_decimals: 0

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Watertemperatuur retour (inlet)"
    id: hp_inlet_temp
    register_type: read
    address: 2
    value_type: U_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Watertemperatuur aanvoer (outlet)"
    id: hp_outlet_temp
    register_type: read
    address: 3
    value_type: U_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

      
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "flow rate"
    id: flow
    register_type: read
    address: 8
    unit_of_measurement: "l/min"
    value_type: U_WORD
    accuracy_decimals: 1
    filters:
     - multiply: 0.1

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Buitentemperatuur"
    id: hp_outside_temp
    register_type: read
    address: 12
    value_type: S_WORD
    unit_of_measurement: "°C"
    accuracy_decimals: 1
    filters:
      - multiply: 0.1

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Compressor frequentie "
    register_type: read
    address: 24
    value_type: U_WORD
    unit_of_measurement: "Hertz"
    accuracy_decimals: 0
    filters:
      - multiply: 1

# =========================
# HOLDING REGISTERS (lezen)
# =========================
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Bedrijfsmodus (raw)"
    id: hp_operation_mode_raw
    register_type: holding
    address: 0
    value_type: U_WORD
    accuracy_decimals: 0

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Regelmethode (raw)"
    id: hp_control_method_raw
    register_type: holding
    address: 1
    value_type: U_WORD
    accuracy_decimals: 0

# =========================
# WRITEBARE SETPOINTS (holding) als Number
# (ESPHome regelt schaal automatisch met multiply)
# =========================
number:
  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Ruimte temperatuur circuit 1"
    id: hp_target_temp_c1
    register_type: holding
    address: 2
    value_type: U_WORD
    unit_of_measurement: "°C"
    min_value: 16
    max_value: 25
    step: 1
    multiply: 10

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Ruimte temperatuur circuit 2"
    id: hp_target_temp_c2
    register_type: holding
    address: 5
    value_type: U_WORD
    unit_of_measurement: "°C"
    min_value: 16
    max_value: 25
    step: 1
    multiply: 10

  - platform: modbus_controller
    modbus_controller_id: lg
    name: "Doeltemperatuur warm tapwater (DHW)"
    id: hp_target_temp_dhw
    register_type: holding
    address: 8
    value_type: U_WORD
    unit_of_measurement: "°C"
    min_value: 45
    max_value: 60
    step: 1
    multiply: 10

# Helper “numbers” om raw registers te schrijven (via select)


  - platform: modbus_controller
    modbus_controller_id: lg
    id: hp_operation_mode_write
    name: "Bedrijfsmodus (schrijf raw)"
    entity_category: diagnostic
    register_type: holding
    address: 0
    value_type: U_WORD
    min_value: 0
    max_value: 10
    step: 1

  - platform: modbus_controller
    modbus_controller_id: lg
    id: hp_control_method_write
    name: "Regelmethode (schrijf raw)"
    entity_category: diagnostic
    register_type: holding
    address: 1
    value_type: U_WORD
    min_value: 0
    max_value: 10
    step: 1

# =========================
# SELECTS (schrijven naar holding register)
# =========================
select:
  - platform: template
    name: "Bedrijfsmodus"
    id: hp_operation_mode
    optimistic: true
    options:
      - "Koelen"
      - "Verwarmen"
      - "Auto"
    set_action:
      - lambda: |-
          int v = 3; // Auto
          if (x == "Koelen") v = 0;
          else if (x == "Verwarmen") v = 4;
          id(hp_operation_mode_write).publish_state(v);

  - platform: template
    name: "Regelmethode"
    id: hp_control_method
    optimistic: true
    options:
      - "Watertemp. uitlaat (aanvoer)"
      - "Watertemp. inlaat (retour)"
      - "Ruimtelucht"
    set_action:
      - lambda: |-
          int v = 2; // Ruimtelucht
          if (x == "Watertemp. uitlaat (aanvoer)") v = 0;
          else if (x == "Watertemp. inlaat (retour)") v = 1;
          id(hp_control_method_write).publish_state(v);

  • wrapper83
  • Registratie: Maart 2012
  • Laatst online: 23:46
Wat ik ook niet precies snap is de pin vs. GPIO en dat er verschillende ESP boardjes zijn, en dus de pinout nummering weer anders is. vandaar dat ik nu twijvel aan de PINS die ik in mijn YAML heb staan. Iemand een helder idee waar te beginnen?

LG HM091MR.U44 - OEG 300liter 516005190 warmte wisselaar boiler - Solaredge / Growatt 4800 kWh


  • draakje1975
  • Registratie: Januari 2016
  • Laatst online: 00:04
Ik merk op dat het bij mij nog niet geheel soepeltjes loopt.
Sinds ik de RS485 ertussen heb gaat de warmtepomp niet meer vanzelf aan.

Mijn gevoe zegt me dat ik een instelling heb gemist. Iets wat ik nu jusit wel moet doen omdat ik met de ESP werk.

Ik heb mij mogelijk maar half ingelezen.
:) Het is nu net alsof de intellegentie nu uit de WP is gehaalt en dat ik alles nu via mijn ESP moet aansturen.

Kan iemand hier iets zinnigs over zeggen? Of is er dan toch meer info nodig?

Jumpers 1 en 2 van sw2 zijn nu aan en in HA komt de data prima binnen. Ook de binnenunit controller doet nog prima zijn werk .
Pagina: 1 ... 202 203 Laatste