TheFes schreef op donderdag 11 november 2021 @ 14:50:
[...]
Je template is onleesbaar zo. Ik ben er even door
heen geakkerd en
heb een paar if's vervangen door
| max filters.
Verder lijkt
het me logisc
her om je automation gewoon te triggeren als
het nodig is, dus als je nieuwe target temperatuur versc
hilt van de de
huidige target temperatuur, in plaats van elke minuut.
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
| alias: Panasonic optimizer
description: Setpoint WP aanpassen
variables:
newtarget: >
{% set outputtemp = states('sensor.aquarea_outlet_temperature') | float %}
{% set targettemp = states('sensor.aquarea_outlet_target_temperature') | float %}
{% set frequency = states('sensor.aquarea_compressor_frequency') | float %}
{% set setpoint = state_attr('climate.panasonic_wp', 'temperature') | float %}
{% set roomTemperature = states('sensor.temperatuur_keuken') | float %}
{% set outsideTemp = states('sensor.aquarea_outdoor_ambient') | float %}
{% set deltaT = setpoint - roomTemperature %}
{% set WARBasetemp = 28 %}
{% set shift = 0 %}
{% set hystOff = 0.5 %}
{% set lowpowerlimittemp = 3 %}
{% set newtarget = targettemp %}
{% set WARsetpoint = [35, WARBasetemp - outsideTemp] | max %}
{% if roomTemperature < (setpoint - 1.5) %}
{% set shift = 3 %}
{% elif roomTemperature < (setpoint -1 ) %}
{% set shift = 2 %}
{% elif roomTemperature < (setpoint - 0.5) %}
{% set shift = 1 %}
{% elif roomTemperature < (setpoint + 0.0 )%}
{% set shift = 0 %}
{% elif roomTemperature < (setpoint + 0.2) %}
{% set shift = -1 %}
{% elif roomTemperature < (setpoint + 0.4) %}
{% set shift = -2 %}
{% elif roomTemperature < (setpoint + 0.6 )%}
{% set shift = -3 %}
{% endif %}
{% if outsideTemp > lowpowerlimittemp and roomTemperature > (setpoint - 1) %}
{% set newtarget = outputtemp - 1 %}
{% else %}
{% set newtarget = WARBasetemp + shift %}
{% endif %}
{% if roomTemperature < (setpoint + hystOff ) %}
{% if frequency == 0 and roomTemperature < setpoint %}
{% set newtarget = outputtemp + 4 %}
{% endif %}
{% if frequency > 0 and outputtemp < 24 %}
{% set newtarget = outputtemp + 2 %}
{% endif %}
{% else %}
{% set newtarget = outputtemp -3 %}
{% endif %}
{{ [20, newtarget] | max }}
trigger:
- platform: template
value_template: "{{ newtarget != states('sensor.aquarea_outlet_target_temperature') | float }}"
condition: []
action:
- service: mqtt.publish
data_template:
topic: panasonic_heat_pump/commands/SetZ1HeatRequestTemperature
retain: false
payload_template: "{{ target_temp }}"
mode: single |
T
hanks, daar kan ik wel wat mee, vooral om die variable zo op deze manier te creeren. Triggeren bij elke verandering is niet
handi,
had ik overwogen maar met be
hoorlijk wat variablen die veranderen trigger je dan veel vaker dan 1x per minuut en dat is niet nodig, zo snel reageert
het allemaal niet. Maar op deze manier kan ik wel elke minuut de c
hecks draaien en dan alleen
het aangepaste setpoint pus
hen naar
het relevante MQTT topic wanneer nodig.
Septillion schreef op donderdag 11 november 2021 @ 14:52:
@
deWit Zelf zou ik denk ik vooral de WP als device zien toe te voegen aan
HA ipv zelf MQTT te pus
hen. Dan kan je die gewoon ervoor gebruiken. Of is dat niet gewoon al 'climate.panasonic_wp'?
En dit draait maar elke minuut maar is
het niet gewoon te doen dat dit gewoon reageert op
het aanpassen van de parameters? Lijkt me nu namelijk allemaal wel een beetje nodeloos complex.
En volgens mij wordt 'WARsetpoint' uiteindelijk nu nooit gebruikt. En kan je inderdaad wat dingen maxen.
Ja, dat is lastiger dan
het lijkt. De WP
heeft een knutselwerkje eraan
hangen (
Heis
hamon) die een
hoop dingen via MQTT besc
hikbaar maakt, in t
heorie zou je dat natuurlijk als device kunnen toevoegen maar daar ontbreekt de kennis bij mij (nog) voor.
Klopt, nog niet, daarmee moet ik nog verder aan de knutsel om die ec
ht weersaf
hankelijk te maken op basis van gemiddelde etmaaltemperatuur van de afgelopen 24 uur en de verwac
hting voor de komende 24 uur, maar dat zat
hier nog niet in.
Heis
hamon inderdaad.
Jesse- schreef op donderdag 11 november 2021 @ 15:52:
[...]
Hoe vaak wordt de berekening dan uitgevoerd en is
het niet minder intensief om eens per minuut
het ding te doorlopen?
Het is verder toc
h een traag systeem wat aangestuurd wordt, dus een minuut meer of minder maakt niet uit.
Of begrijp ik niet goed
hoe
het werkt?

Ja, dat was inderdaad ook mijn overweging,
hij draait nu per minuut omdat de warmtepomp bij bijvoorbeeld een aanvoer
hoger dan setpoint voor x minuten afsc
hakeld, dat wil ik voor zijn
Jesse- schreef op donderdag 11 november 2021 @ 16:13:
[...]
@
deWit ik
heb als extra voorwaarde voor de automation dat de Pana wel in verwarmingsstand moet staan:
YAML:
1
2
3
4
5
6
7
8
| condition: or
conditions:
- condition: state
entity_id: input_select.heishamon_heatmode
state: Vloer+Tank
- condition: state
entity_id: input_select.heishamon_heatmode
state: Vloer |
Das wel een goeie, maar ik gebruik
hem alleen in verwarmingsstand en niet voor
hot water oid dus die c
heck is voor mij niet nodig.