Op verzoek van de Topicstarter toch de How_to helemaal uitgeschreven in onderstaand topic. Hier zal dan vanuit de TS naar verwezen worden.
How-To:
Modbus verbinding van LG Warmtepomp Series 4 naar HomeAssistant via Waveshare Gateway.
Waveshare Gateway
Om de Waveshare gateway te configureren gebruik je het programma VirCom.exe. Na het starten krijg je het volgende scherm:
Klik op “Device”. Het programma zal zoeken naar beschikbare gateways in het netwerk. In mijn geval zijn dat er 2.
Selecteer de juiste gateway en klik op “Edit Device”:
Je kunt nu de gateway configureren met de voor jou benodigde parameters:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| IP Mode: Static
IP Addres: Vul hier je lokaal IP adres voor de gateway
Port: 502
Work Mode: TCP Server
Net Mask: 255.255.255.0
Gateway: Vul hier je lokaal IP adres in van je Acces Point of Modem
Dest. IP/Domain: 192.168.1.3
Dest. Port: 4196
Serial: 9600
Data Bits: 8
Parity: None
Stop Bits: 1
Flow Control: None
DNS Server IP: Vul hier een geschikte DNS server adres in
Desst. Mode: Dynamic
Transfer Protocol: Modbus_TCP_Protocol
Keep Alive Time: Vul hier een tijd in waarbinnen normal gesproken communicatie plaats vindt. Als je
maar 1 keer minuut gegevens afvraagt, dan moet deze tijd langer dan 60 s gezet worden.
Http Port: 80
Restart for no data:Vul hier een tijd in, wanneer automatisch een connectie moet worden gemaakt nadat
de verbinding is uitgevallen
Max Frame Length: 1300 Byte
Max Interval: 4 Ms |
Klik vervolgens op "Modify Setting" en "Restart Dev".
Instellingen LG
Dipswitches:
Instellingen:
Modbus adres op 01. (mag ook op een ander adres, maar dan moet je dat ander adres ook in HomeAssistant gebruiken).
Modbus registers voor Series 4:
Input
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
| Register Description
30001 Error Code
30002 ODU operation Cycle 0 : Standby(OFF) / 1 : Cooling / 2 : Heating
30003 Water inlet temp. [0.1 °C ×10]
30004 Water outlet temp. [0.1 °C ×10]
30005 Backup heater outlet temp. [0.1 °C ×10]
30006 DHW tank water temp. [0.1 °C ×10]
30007 Solar collector temp. [0.1 °C ×10]
30008 Room air temp. (Circuit 1) [0.1 °C ×10]
30009 Current Flow rate [0.1 LPM ×10]
30010 Flow temp. (Circuit 2) [0.1 °C ×10]
30011 Room air temp. (Circuit 2) [0.1 °C ×10]
30012 Energy State input 0 : Energy state 0; 1: Energy state 1….
30013 Outdoor Air temp. [0.1 °C ×10]
30014
30015
30016
30017 Pipe in temp [0.1 °C ×10]
30018 Pipe out temp [0.1 °C ×10]
30019 Suction temp [0.1 °C ×10]
30020 INV1 dis. temp [0.1 °C ×10]
30021 HEX temp [0.1 °C ×10]
30022
30023 HighPress [mBar]
30024 LowPress [mBar]
30025 Inverter [Hz]
39998 Produc Group 0x8X (0x80, 0x83, 0x88, 0x89)
39999 Product Info. Split : 0 / Monobloc : 3 / High Temp. : 4 / Medium Temp. : 5 / System Boiler : 6 |
Holding
code:
1
2
3
4
5
6
7
8
9
10
11
| Register Description
40001 Operation Mode 0 : Cooling / 4 : Heating / 3 : Auto
40002 Control method (Circuit 1/2) 0 : Water outlet temp. Control 1 : Water inlet temp. Control 2 : Room air control
40003 Target temp (Heating/Cooling) Circuit 1 [0.1 °C ×10]
40004 Room Air Temp. Circuit 1 [0.1 °C ×10]
40005 Shift value(Target) in auto mode Circuit 1 1K
40006 Target temp (Heating/Cooling) Circuit 2 [0.1 °C ×10]
40007 Room Air Temp. Circuit 2 [0.1 °C ×10]
40008 Shift value(Target) in auto mode Circuit 2 1K
40009 DHW Target temp. [0.1 °C ×10]
40010 Energy state input 0..8 |
Discrete
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| Register Description
10001 Water flow status 0 : Flow rate ok / 1 : Flow rate too low
10002 Water Pump status 0 : Water Pump OFF / 1 : Water Pump ON
10003 Ext. Water Pump status 0 : Water Pump OFF / 1 : Water Pump ON
10004 Compressor status 0 : Compressor OFF / 1 : Compressor ON
10005 Defrosting status 0 : Defrost OFF / 1 : Defrost ON
10006 DHW heating status (DHW Thermal On/Off) 0 : DHW inactive / 1 : DHW active
10007 DHW Tank disinfection status 0 : Disinfection inactive / 1 : Disinfection active
10008 Silent mode status 0 : Silent mode inactive / 1 : Silent mode active
10009 Cooling status 0 : No cooling / 1 : Cooling operation
10010 Solar pump status 0 : Solar pump OFF / 1: Solar pump ON
10011 Backup heater (Step 1) status 0 : OFF / 1 : ON
10012 Backup heater (Step 2) status 0 : OFF / 1 : ON
10013 DHW boost heater status 0 : OFF / 1 : ON
10014 Error status 0 : no error / 1 : error state
10015 Emergency Operation Available (Space heating/cooling) 0 : Unavailable / 1 : Available
10016 Emergency Operation Available (DHW) 0 : Unavailable / 1 : Available
10017 Mix pump status 0 : Mix pump OFF / 1 : Mix pump ON |
Coil
code:
1
2
3
4
5
6
7
| Register Description
00001 Enable/Disable (Heating/Cooling) 0 : Operation OFF / 1 : Operation ON
00002 Enable/Disable (DHW) 0 : Operation OFF / 1 : Operation ON
00003 Silent Mode Set 0 : Silent mode OFF / 1 : Silent mode ON
00004 Trigger Disinfection operation 0 : Keep status / 1 : Operation start
00005 Emergency Stop 0 : Normal operation / 1 : Emergency stop
00006 Trigger Emergency Operation 0 : Keep status / 1 : Operation Start |
HomeAssistant
Hieronder geef ik een voorbeeld hoe de configurations,yaml en de automation.yaml eruit zou kunnen zien.
configurations,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
| # Loads default set of integrations. Do not remove.
default_config:
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
modbus:
- type: tcp
host: 192.168.178.58
port: 502
name: "lg_modbus"
retry_on_empty: true
retries: 10
sensors:
##input
- name: lg_error_code
scan_interval: 120
address: 0
slave: 1
input_type: input
- name: lg_water_inlet_temp
scale: 0.1
precision: 1
scan_interval: 15
address: 2
slave: 1
unit_of_measurement: °C
input_type: input
- name: lg_water_outlet_temp
scale: 0.1
precision: 1
scan_interval: 15
address: 3
slave: 1
unit_of_measurement: °C
input_type: input
- name: lg_dhw_water_temp
scale: 0.1
precision: 1
scan_interval: 30
address: 5
slave: 1
unit_of_measurement: °C
input_type: input
- name: lg_room_air_temp_circuit1
scale: 0.1
precision: 1
scan_interval: 60
address: 7
slave: 1
unit_of_measurement: °C
input_type: input
- name: lg_current_flow_rate
scale: 0.1
precision: 1
scan_interval: 30
address: 8
slave: 1
unit_of_measurement: l/min
input_type: input
- name: lg_outdoor_air_temp
scale: 0.1
precision: 1
scan_interval: 30
address: 12
slave: 1
unit_of_measurement: °C
input_type: input
- name: lg_Pipe_in_temp
scale: 0.1
precision: 1
scan_interval: 60
address: 16
slave: 1
unit_of_measurement: °C
input_type: input
- name: lg_Fan_speed
scale: 1
precision: 0
scan_interval: 60
address: 19
slave: 1
unit_of_measurement: rpm
input_type: input
- name: lg_high_press
scale: 1
precision: 0
scan_interval: 60
address: 22
slave: 1
unit_of_measurement: mBar
input_type: input
- name: lg_low_press
scale: 1
precision: 0
scan_interval: 60
address: 23
slave: 1
unit_of_measurement: mBar
input_type: input
- name: lg_inverter
scale: 1
precision: 0
scan_interval: 30
address: 24
slave: 1
unit_of_measurement: Hz
input_type: input
##holding
- name: lg_operation_mode
scan_interval: 30
address: 0
slave: 1
input_type: holding
- name: lg_control_method
scan_interval: 30
address: 1
slave: 1
input_type: holding
- name: lg_target_temp_circuit1
scale: 0.1
precision: 1
scan_interval: 30
address: 2
slave: 1
unit_of_measurement: °C
input_type: holding
- name: lg_room_air_temp_circuit1_holding
scale: 0.1
precision: 1
scan_interval: 30
address: 3
slave: 1
unit_of_measurement: °C
input_type: holding
- name: lg_shift_value_in_auto_mode_circuit1
scan_interval: 30
address: 4
slave: 1
input_type: holding
- name: lg_shift_value_in_auto_mode_circuit2
scan_interval: 30
address: 7
slave: 1
input_type: holding
- name: lg_dhw_target_temp
scale: 0.1
precision: 1
scan_interval: 30
address: 8
slave: 1
unit_of_measurement: °C
input_type: holding
binary_sensors:
## discrete
- name: lg_water_flow_status
scan_interval: 30
address: 0
slave: 1
input_type: discrete_input
- name: lg_water_pump_status
scan_interval: 30
address: 1
slave: 1
input_type: discrete_input
- name: lg_compressor_status
scan_interval: 30
address: 3
slave: 1
input_type: discrete_input
- name: lg_defrosting_status
scan_interval: 30
address: 4
slave: 1
input_type: discrete_input
- name: lg_dhw_heating_status
scan_interval: 30
address: 5
slave: 1
input_type: discrete_input
- name: lg_silent_mode_status
scan_interval: 30
address: 7
slave: 1
input_type: discrete_input
- name: lg_error_status
scan_interval: 30
address: 13
slave: 1
input_type: discrete_input
switches:
##coil
- name: lg_enable_disable_heating/cooling
address: 0
slave: 1
write_type: coil
verify:
- name: lg_enable_disable_dhw
address: 1
slave: 1
write_type: coil
verify:
- name: lg_silent_mode_set
address: 2
slave: 1
write_type: coil
verify:
- name: lg_trigger_desinfection_operation
address: 3
slave: 1
write_type: coil
verify:
- name: lg_emergency_stop
address: 4
slave: 1
write_type: coil
verify:
- name: lg_trigger_emergency_operation
address: 5
slave: 1
write_type: coil
verify:
input_number:
box_lg3:
name: Numeric Input Box_lg3
initial: 21
min: 15
max: 35
step: 0.1
mode: box
box_lg4:
name: Numeric Input Box_lg4
initial: 21
min: 15
max: 25
step: 0.1
mode: box
box_lg5:
name: Numeric Input Box_lg5
initial: 0
min: -5
max: 5
step: 1
mode: box
box_lg9:
name: Numeric Input Box_lg9
initial: 50
min: 40
max: 58
step: 0.1
mode: box
box_tb_min:
name: Numeric Input Box_tb_min
initial: -20
min: -30
max: 0
step: 0.1
mode: box
box_tb_max:
name: Numeric Input Box_tb_max
initial: 8
min: 0
max: 30
step: 0.1
mode: box
box_target_min:
name: Numeric Input Box_target_min
initial: 27
min: 20
max: 50
step: 0.1
mode: box
box_target_max:
name: Numeric Input Box_target_max
initial: 31
min: 20
max: 50
step: 0.1
mode: box
sensor:
- platform: filter
name: "filtered_buiten_temperature"
entity_id: sensor.shellyplusht_buiten_temperature
filters:
- filter: outlier
window_size: 4
radius: 4.0
- filter: lowpass
time_constant: 10
precision: 2
- platform: filter
name: "filtered_buiten_temperature2"
entity_id: sensor.shelly1pm_wp_temperature_3
filters:
- filter: outlier
window_size: 2
radius: 1.0
- filter: lowpass
time_constant: 10
- filter: time_simple_moving_average
window_size: "00:02"
precision: 2
- platform: filter
name: "filtered_kamer_temperature"
entity_id: sensor.shelly1pm_kamer_temperature_3
filters:
- filter: outlier
window_size: 2
radius: 1.0
- filter: lowpass
time_constant: 300
- filter: time_simple_moving_average
window_size: "00:30"
precision: 2
- platform: filter
name: "filtered_wp_kwth_neg"
entity_id: sensor.wp_kwth
filters:
- filter: range
lower_bound: -20.0
upper_bound: 0.0
- platform: filter
name: "filtered_wp_kwth"
entity_id: sensor.wp_kwth
filters:
- filter: range
lower_bound: 0.0
upper_bound: 20.0
- platform: integration
source: sensor.wp_kwth_neg
name: wp_neg_thermal_energy
round: 2
- platform: integration
source: sensor.wp_kwth_pos
name: wp_pos_thermal_energy
round: 2
template:
- sensor:
- name: temp_stooklijn
unique_id: id_temp_stooklijn
state: >
{% if states('sensor.filtered_buiten_temperature2') | float < states('input_number.box_tb_min') | float %}
{% set lghp_stooklijn = states('input_number.box_target_max') | float %}
{% elif states('sensor.filtered_buiten_temperature2') | float > states('input_number.box_tb_max') | float %}
{% set lghp_stooklijn = states('input_number.box_target_min') | float %}
{% else %}
{% set lghp_stooklijn = (states('input_number.box_target_max') | float - (( states('sensor.filtered_buiten_temperature2') | float - states('input_number.box_tb_min') | float ) * (states('input_number.box_target_max') | float - states('input_number.box_target_min') | float)/(states('input_number.box_tb_max') | float - states('input_number.box_tb_min') | float) )) %}
{% endif %}
{{ lghp_stooklijn | float | round(2) }}
unit_of_measurement: °C
- sensor:
- name: temp_wp_aanvoer
unique_id: id_temp_wp_aanvoer
state: "{{ (states('sensor.shelly1pm_wp_temperature') | float ) | round(2) }}"
unit_of_measurement: °C
- sensor:
- name: temp_wp_retour
unique_id: id_temp_wp_retour
state: "{{ (states('sensor.shelly1pm_wp_temperature_2') | float ) | round(2) }}"
unit_of_measurement: °C
- sensor:
- name: wp_kwth
unique_id: id_wp_kwth
state: >
{% if states('sensor.lg_current_flow_rate')| float < 6 %}
{% set lghp_thermal_power = 0.0 | float %}
{% else %}
{% set lghp_thermal_power = ((states('sensor.temp_wp_aanvoer') | float - states('sensor.temp_wp_retour') | float) * 1.176 * 1.16277 ) | float %}
{% endif %}
{{ lghp_thermal_power | float | round(2) }}
unit_of_measurement: kW
- sensor:
- name: wp_kwth_pos
unique_id: id_wp_kwth_pos
state: "{{ (states('sensor.filtered_wp_kwth') | float * 1.0) | round(2) }}"
unit_of_measurement: kW
- sensor:
- name: wp_kwth_neg
unique_id: id_wp_kwth_neg
state: "{{ (states('sensor.filtered_wp_kwth_neg') | float * -1.0) | round(2) }}"
unit_of_measurement: kW
- sensor:
- name: wp_cop
unique_id: id_wp_cop
state: "{{ ((states('sensor.wp_kwth') | float) * 1000 / (states('sensor.kwh_meter_wp_lg_active_power') | float)) | round(2) }}"
unit_of_measurement: kWth/kWe |
automation.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
| - id: lg_holding3
alias: Target water temperatuur
description: Instellen gewenste water temperatuur
trigger:
- platform: state
entity_id:
- input_number.box_lg3
condition: []
action:
- service: modbus.write_register
data:
address: 2
slave: 1
hub: lg_modbus
value: '{{ (states.input_number.box_lg3.state) | float * 10 }}'
mode: single
- id: lg_holding4
alias: Target kamer temperatuur
description: Instellen gewenste kamer temperatuur
trigger:
- platform: state
entity_id:
- input_number.box_lg4
condition: []
action:
- service: modbus.write_register
data:
address: 3
slave: 1
hub: lg_modbus
value: '{{ (states.input_number.box_lg4.state) | float * 10 }}'
mode: single
- id: lg_holding5
alias: Target shift temperatuur
description: Instellen gewenste verschuiving temperatuur
trigger:
- platform: state
entity_id:
- input_number.box_lg5
condition: []
action:
- service: modbus.write_register
data:
address: 4
slave: 1
hub: lg_modbus
value: '{%set Correctie = states("input_number.box_lg5") | int%} {% if Correctie
< 0 %} {% set Correctie = Correctie + 65536 | int(16) %} {% endif %} {{ Correctie
}}'
mode: single
- id: lg_holding9
alias: Target DHW temperatuur
description: Instellen gewenste tapwater temperatuur
trigger:
- platform: state
entity_id:
- input_number.box_lg9
condition: []
action:
- service: modbus.write_register
data:
address: 8
slave: 1
hub: lg_modbus
value: '{{ (states.input_number.box_lg9.state) | float * 10 }}'
mode: single
- id: lg_holding3_update
alias: Update LG Target water temperatuur
description: Update LG Target water temperatuur
trigger:
- platform: state
entity_id:
- sensor.lg_target_temp_circuit1
condition: []
action:
- service: input_number.set_value
data:
value: '{{ (states.sensor.lg_target_temp_circuit1.state) }}'
target:
entity_id: input_number.box_lg3
mode: single
- id: lg_holding4_update
alias: Update LG Target kamer temperatuur
description: Update LG Target kamer temperatuur
trigger:
- platform: state
entity_id:
- sensor.lg_room_air_temp_circuit1_holding
condition: []
action:
- service: input_number.set_value
data:
value: '{{ (states.sensor.lg_room_air_temp_circuit1_holding.state) }}'
target:
entity_id: input_number.box_lg4
mode: single
- id: lg_holding5_update
alias: Update LG Target shift temperatuur
description: Update LG Target shift temperatuur
trigger:
- platform: state
entity_id:
- sensor.lg_shift_value_in_auto_mode_circuit1
condition: []
action:
- service: input_number.set_value
data:
value: '{{ (states.sensor.lg_shift_value_in_auto_mode_circuit1.state) }}'
target:
entity_id: input_number.box_lg5
mode: single
- id: lg_holding9_update
alias: Update LG Target DHW temperatuur
description: Update LG Target DHW temperatuur
trigger:
- platform: state
entity_id:
- sensor.lg_dhw_target_temp
condition: []
action:
- service: input_number.set_value
data:
value: '{{ (states.sensor.lg_dhw_target_temp.state) }}'
target:
entity_id: input_number.box_lg9
mode: single
- id: '1676731122476'
alias: 'Warmtepomp: Stille modus aan/uit'
description: 'Warmtepomp: Stille modus aan/uit omschakeling'
trigger:
- platform: state
entity_id:
- binary_sensor.lg_defrosting_status
for:
hours: 0
minutes: 0
seconds: 0
from: 'off'
to: 'on'
id: 'Trigger_ID01: Defrost gestart'
- platform: state
entity_id:
- switch.lg_silent_mode_set
from: unavailable
to: 'off'
id: 'Trigger_ID02: Silent mode switch komt weer beschikbaar'
- platform: numeric_state
entity_id: sensor.filtered_buiten_temperature2
above: 5
id: 'Trigger_ID03: Voortschrijdend gemiddelde Temperatuur buiten boven 5 graden'
- platform: numeric_state
entity_id: sensor.shelly1pm_wp_temperature_3
above: 6
id: 'Trigger_ID04: Temperatuur buiten boven 6 graden'
- platform: state
entity_id:
- binary_sensor.lg_compressor_status
from: 'off'
to: 'on'
id: 'Trigger_ID05: Compressor gaat weer aan'
- platform: numeric_state
entity_id: sensor.filtered_buiten_temperature2
id: 'Trigger_ID06: Voortschrijdend gemiddelde Temperatuur buiten onder 2.5 graden'
below: 2.5
- platform: time
at: '13:00:00'
id: 'Trigger_ID07: om 13 uur '
- platform: numeric_state
entity_id: sensor.filtered_buiten_temperature2
id: 'Trigger_ID08: Voortschrijdend gemiddelde Temperatuur buiten onder 3.4 graden'
below: 3.4
- platform: numeric_state
entity_id: sensor.shellyplusht_buiten_humidity
id: 'Trigger_ID09: Vochtigheid boven 90%'
above: 90
condition: []
action:
- if:
- condition: trigger
id: 'Trigger_ID01: Defrost gestart'
then:
- service: switch.turn_on
data: {}
target:
entity_id: switch.lg_silent_mode_set
- delay:
hours: 0
minutes: 17
seconds: 0
milliseconds: 0
- service: switch.turn_off
data: {}
target:
entity_id: switch.lg_silent_mode_set
- if:
- condition: trigger
id: 'Trigger_ID02: Silent mode switch komt weer beschikbaar'
- condition: state
entity_id: binary_sensor.lg_silent_mode_status
state: 'off'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
above: 5
then:
- service: switch.turn_on
data: {}
target:
entity_id: switch.lg_silent_mode_set
alias: 'Perform an action if: When triggered by Trigger_ID02: Silent mode switch
komt weer beschikbaar'
- if:
- condition: trigger
id: 'Trigger_ID03: Voortschrijdend gemiddelde Temperatuur buiten boven 5 graden'
- condition: state
entity_id: binary_sensor.lg_silent_mode_status
state: 'off'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
above: 5
then:
- service: switch.turn_on
data: {}
target:
entity_id: switch.lg_silent_mode_set
alias: 'Perform an action if: When triggered by Trigger_ID03: Voortschrijdend
gemiddelde Temperatuur buiten boven 5 graden'
- if:
- condition: trigger
id: 'Trigger_ID04: Temperatuur buiten boven 6 graden'
- condition: state
entity_id: binary_sensor.lg_silent_mode_status
state: 'off'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
above: 5
then:
- service: switch.turn_on
data: {}
target:
entity_id: switch.lg_silent_mode_set
alias: 'Perform an action if: When triggered by Trigger_ID04: Temperatuur buiten
boven 6 graden'
- if:
- condition: trigger
id: 'Trigger_ID05: Compressor gaat weer aan'
- condition: state
entity_id: binary_sensor.lg_silent_mode_status
state: 'off'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
above: 5
then:
- service: switch.turn_on
data: {}
target:
entity_id: switch.lg_silent_mode_set
alias: 'Perform an action if: When triggered by Trigger_ID05: Compressor gaat
weer aan en temperatuur > 5'
- if:
- condition: trigger
id: 'Trigger_ID06: Voortschrijdend gemiddelde Temperatuur buiten onder 2.5 graden'
- condition: state
entity_id: binary_sensor.lg_silent_mode_status
state: 'on'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
below: 3
then:
- service: switch.turn_off
data: {}
target:
entity_id: switch.lg_silent_mode_set
alias: 'Perform an action if: When triggered by Trigger_ID06: Voortschrijdend
gemiddelde Temperatuur buiten onder 2.5 graden'
- if:
- condition: trigger
id: 'Trigger_ID07: om 13 uur '
- condition: state
entity_id: binary_sensor.lg_silent_mode_status
for:
hours: 21
minutes: 0
seconds: 0
state: 'on'
then:
- service: switch.turn_off
data: {}
target:
entity_id: switch.lg_silent_mode_set
- delay:
hours: 2
minutes: 5
seconds: 0
milliseconds: 0
- service: switch.turn_on
data: {}
target:
entity_id: switch.lg_silent_mode_set
alias: 'Perform an action if: When triggered by Trigger_ID07: om 13 uur '
- if:
- condition: trigger
id: 'Trigger_ID08: Voortschrijdend gemiddelde Temperatuur buiten onder 3.4 graden'
- condition: state
entity_id: binary_sensor.lg_silent_mode_status
state: 'on'
- condition: numeric_state
entity_id: sensor.shellyplusht_buiten_humidity
above: 96
then:
- service: switch.turn_off
data: {}
target:
entity_id: switch.lg_silent_mode_set
alias: 'Perform an action if: When triggered by Trigger_ID08: Voortschrijdend
gemiddelde Temperatuur buiten onder 3.4 graden'
- if:
- condition: trigger
id: 'Trigger_ID09: Vochtigheid boven 90%'
- condition: state
entity_id: binary_sensor.lg_silent_mode_status
state: 'on'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
below: 3.4
then:
- service: switch.turn_off
data: {}
target:
entity_id: switch.lg_silent_mode_set
alias: 'Perform an action if: When triggered by Trigger_ID09: Vochtigheid boven
90%'
- if:
- condition: trigger
id: 'Trigger_ID05: Compressor gaat weer aan'
- condition: state
entity_id: binary_sensor.lg_silent_mode_status
state: 'off'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
below: 5
then:
- service: switch.turn_on
data: {}
target:
entity_id: switch.lg_silent_mode_set
- delay:
hours: 0
minutes: 17
seconds: 0
milliseconds: 0
- service: switch.turn_off
data: {}
target:
entity_id: switch.lg_silent_mode_set
alias: 'Perform an action if: When triggered by Trigger_ID05: Compressor gaat
weer aan en temperatuur < 5'
mode: single
- id: '1676797926588'
alias: 'Warmtepomp: Gewenste temperatuur en aan/uit instellen'
description: Warmtepomp Gewenste temperatuur en aan/uit instellen
trigger:
- platform: time
at: 06:00:00
id: 'Trigger_ID01: 6 uur ''s morgens'
- platform: time
at: 08:00:00
id: 'Trigger_ID02: 8 uur ''s morgens'
- platform: time
at: '10:00:00'
id: 'Trigger_ID03: 10 uur ''s morgens'
- platform: time
at: '22:00:00'
id: 'Trigger_ID04: 10 uur ''s avonds'
- platform: time
at: 00:00:00
id: 'Trigger_ID05: 12 uur ''s nachts'
- platform: time
at: 02:00:00
id: 'Trigger_ID06: 2 uur ''s nachts'
- platform: time
at: '10:30:00'
id: 'Trigger_ID07: 10:30 uur ''s morgens'
- platform: time
at: '20:00:00'
id: 'Trigger_ID08: 8 uur ''s avonds'
condition: []
action:
- if:
- condition: trigger
id: 'Trigger_ID01: 6 uur ''s morgens'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
below: 8
- condition: numeric_state
entity_id: sensor.lg_target_temp_circuit1
below: 21
- condition: numeric_state
entity_id: sensor.shelly1pm_kamer_temperature_3
below: 21.5
then:
- service: input_number.set_value
data:
value: 21
target:
entity_id: input_number.box_lg3
alias: 'Perform an action if: When triggered by Trigger_ID01: 6 uur ''s morgens'
- if:
- condition: trigger
id: 'Trigger_ID02: 8 uur ''s morgens'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
below: 8
- condition: numeric_state
entity_id: sensor.lg_target_temp_circuit1
below: 21
- condition: numeric_state
entity_id: sensor.shelly1pm_kamer_temperature_3
below: 21.5
then:
- service: input_number.set_value
data:
value: 21
target:
entity_id: input_number.box_lg3
alias: 'Perform an action if: When triggered by Trigger_ID02: 8 uur ''s morgens'
- if:
- condition: trigger
id: 'Trigger_ID03: 10 uur ''s morgens'
- condition: numeric_state
entity_id: sensor.lg_target_temp_circuit1
below: 21
then:
- service: input_number.set_value
data:
value: 21
target:
entity_id: input_number.box_lg3
alias: 'Perform an action if: When triggered by Trigger_ID03: 10 uur ''s morgens'
- if:
- condition: trigger
id: 'Trigger_ID04: 10 uur ''s avonds'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
above: 4
- condition: numeric_state
entity_id: sensor.lg_target_temp_circuit1
above: 20
- condition: numeric_state
entity_id: sensor.shelly1pm_kamer_temperature_3
above: 22
then:
- service: input_number.set_value
data:
value: 20
target:
entity_id: input_number.box_lg3
alias: 'Perform an action if: When triggered by Trigger_ID04: 10 uur ''s avonds'
- if:
- condition: trigger
id: 'Trigger_ID05: 12 uur ''s nachts'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
above: 6
- condition: numeric_state
entity_id: sensor.lg_target_temp_circuit1
above: 20
- condition: numeric_state
entity_id: sensor.shelly1pm_kamer_temperature_3
above: 22.5
then:
- service: input_number.set_value
data:
value: 20
target:
entity_id: input_number.box_lg3
alias: 'Perform an action if: When triggered by Trigger_ID05: 12 uur ''s nachts'
- if:
- condition: trigger
id: 'Trigger_ID06: 2 uur ''s nachts'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
above: 8
- condition: numeric_state
entity_id: sensor.kwh_meter_wp_lg_active_power
above: 200
- condition: numeric_state
entity_id: sensor.shelly1pm_kamer_temperature_3
above: 22
then:
- service: input_number.set_value
data:
value: 20
target:
entity_id: input_number.box_lg3
- service: switch.turn_off
data: {}
target:
entity_id: switch.lg_enable_disable_heating_cooling
- delay:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
- service: switch.turn_on
data: {}
target:
entity_id: switch.lg_enable_disable_heating_cooling
alias: 'Perform an action if: When triggered by Trigger_ID06: 2 uur ''s nachts'
- if:
- condition: trigger
id: 'Trigger_ID07: 10:30 uur ''s morgens'
- condition: numeric_state
entity_id: sensor.kwh_meter_wp_lg_active_power
below: 200
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
below: 10
then:
- service: input_number.set_value
data:
value: 22
target:
entity_id: input_number.box_lg3
- delay:
hours: 0
minutes: 15
seconds: 0
milliseconds: 0
- service: input_number.set_value
data:
value: 21
target:
entity_id: input_number.box_lg3
alias: 'Perform an action if: When triggered by Trigger_ID07: 10:30 uur ''s morgens'
- if:
- condition: trigger
id: 'Trigger_ID08: 8 uur ''s avonds'
- condition: numeric_state
entity_id: sensor.filtered_buiten_temperature2
above: 10
- condition: numeric_state
entity_id: sensor.lg_target_temp_circuit1
above: 20
- condition: numeric_state
entity_id: sensor.shelly1pm_kamer_temperature_3
above: 22
then:
- service: input_number.set_value
data:
value: 20
target:
entity_id: input_number.box_lg3
alias: 'Perform an action if: When triggered by Trigger_ID08: 8 uur ''s avonds'
mode: single
- id: '1679084935339'
alias: Update na herstart
description: Update LG
trigger:
- platform: homeassistant
event: start
condition: []
action:
- delay:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
- service: input_number.set_value
data:
value: '{{ (states.sensor.lg_target_temp_circuit1.state) }}'
target:
entity_id: input_number.box_lg3
- service: input_number.set_value
data:
value: '{{ (states.sensor.lg_dhw_target_temp.state) }}'
target:
entity_id: input_number.box_lg9
- service: input_number.set_value
data:
value: '{{ (states.sensor.lg_room_air_temp_circuit1_holding.state) }}'
target:
entity_id: input_number.box_lg4
- service: input_number.set_value
data:
value: '{{ (states.sensor.lg_shift_value_in_auto_mode_circuit1.state) }}'
target:
entity_id: input_number.box_lg5
mode: single |
Korte uitleg bij Automations.yaml:
regel 1..16 Waarde van een input_number schrijven naar een modbus register. In dit geval de gewenste water temperatuur schrijven naar modbus schrijfregister 2.
regel 17..32, regel 33..50, regel 51..66 Idem, maar dan voor 3 andere waardes; gewenste kamer temperatuur, gewenste verschuiving temperatuur, gewenste tapwater temperatuur
regel 67..81 Waarde van een input_number updaten met de waarde uit de warmtepomp. In dit geval de gewenste water temperatuur updaten.
regel 82..96, regel 97..111, regel 112..126 Idem, maar dan voor 3 andere waardes; gewenste kamer temperatuur, gewenste verschuiving temperatuur, gewenste tapwater temperatuur
regel 128..358 Stille modus aan en uit zetten.
.. regel 131..176 Toewijzen van de triggers
.... regel 132..141 Trigger 1: Defrost is gestart
.... regel 142..147 Trigger 2: Stille modus is uit na herstel van communicatie
.... regel 148..151 Trigger 3: Voortschrijdend gemiddelde Temperatuur buiten boven 5 graden
.... regel 152..155 Trigger 4: Temperatuur buiten boven 6 graden
.... regel 156..161 Trigger 5: Compressor gaat weer aan
.... regel 162..165 Trigger 6: Voortschrijdend gemiddelde Temperatuur buiten onder 2.5 graden
.... regel 166..168 Trigger 7: Om 13 uur
.... regel 169..172 Trigger 8: Voortschrijdend gemiddelde Temperatuur buiten onder 3.4 graden
.... regel 173..176 Trigger 9: Vochtigheid boven 90%
.. regel 178..358 Acties aan de hand van de triggers
.... regel 179..195 Als Trigger 1 dan Stille modus aan voor 17 minuten
.... regel 196..211 Als Trigger 2 en Buitentemperatuur hoger dan 5 dan Stille modus aan
.... regel 212..227 Als Trigger 3 dan Stille modus aan
.... regel 228..243 Als Trigger 4 dan Stille modus aan
.... regel 244..259 Als Trigger 5 en Buitentemperatuur hoger dan 5 dan Stille modus aan
.... regel 260..275 Als Trigger 6 dan Stille modus uit
.... regel 276..300 Als Trigger 7 en Stille modus is al 21 uur aan dan Stille modus 2 uur en 5 minuten uit
.... regel 301..316 Als Trigger 8 en vochtigheid hoger dan 96% dan Stille modus uit
.... regel 317..332 Als Trigger 9 en Buitentemperatuur lager dan 3.4 dan Stille modus uit
.... regel 333..357 Als Trigger 5 en Buitentemperatuur hoger dan 5 dan Stille modus aan voor 17 minuten
[
Voor 6% gewijzigd door
Jojan265 op 26-11-2023 21:13
]