Panasonic J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+ST GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23
Hallo allemaal,
Mijn huidige opstelling heeft ook een CZ-RTC5B regelaar aangesloten. Ik ben erin geslaagd om Heishamon aan te sluiten. Ik kan alle informatie uitlezen. Nu wil ik een regelset gebruiken om mijn MDC09 te besturen. Ik denk echter dat Heishamon en de CZ-RTC5B met elkaar in conflict komen bij het besturen van de unit.
Hoe ga ik hiermee om?
Mijn huidige opstelling heeft ook een CZ-RTC5B regelaar aangesloten. Ik ben erin geslaagd om Heishamon aan te sluiten. Ik kan alle informatie uitlezen. Nu wil ik een regelset gebruiken om mijn MDC09 te besturen. Ik denk echter dat Heishamon en de CZ-RTC5B met elkaar in conflict komen bij het besturen van de unit.
Hoe ga ik hiermee om?
Ter deling en ter review hierbij een stukje code voor:
Ik vraag me wel af of het verstandig is om met 3 timers te werken die eigenlijk allemaal aan dezelfde knop (@SetQuietMode) zitten te draaien.
- Automatische regeling QuietMode (QM) op basis van Outside_Pipe_Temp. Als de unit dreigt dicht te vriezen gaat de QM lager zodat de ventilator harder gaat draaien.
- Bij het defrostsignaal van de warmtepomp gaat QM naar 0.
- Bij een overshoot gaat QM naar 3 om het vermogen te reduceren. Dit voorkomt dat de warmtepomp uitgaat door de trage terugregeling in de WP zelf. De Panasonic zelf gaat anders uit bij een te grote overschoot.
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
| on System#Boot then
print('System#Boot start');
#prevSilentMode = @Quiet_Mode_Level;
#silentMode = #prevSilentMode;
#defrostLimitC = -1;
setTimer(1,60);
setTimer(2,10);
setTimer(3,60);
print('System#Boot end');
end
on timer=1 then
print('Overschoot_control if needed QM3');
if @Main_Outlet_Temp >= @Main_Target_Temp && @Compressor_Freq > 20 then
#silentMode = 3;
#prevSilentMode = #silentMode;
@SetQuietMode = #silentMode;
end
print ('silentMode is currently Overschoot_control: ', #silentMode);
setTimer(1,60);
end
on timer=2 then
print('checkDefrost prewarning start');
#defrostLimitC = round(0.8 * @Outside_Temp - 10);
#defrostLimitC = max(-26, min(-6, #defrostLimitC));
if @Outside_Pipe_Temp <= #defrostLimitC + 4 then
#silentMode = #silentMode - 1;
#silentMode = max(0, min(3, #silentMode));
elseif @Outside_Pipe_Temp > #defrostLimitC + 5 then
#silentMode = #silentMode + 1;
#silentMode = max(0, min(3, #silentMode));
end
if #prevSilentMode != #silentMode then
#prevSilentMode = #silentMode;
@SetQuietMode = #silentMode;
end
print ('silentMode is currently: ', #silentMode);
setTimer(2,300);
end
on timer=3 then
if @Defrosting_State == 1 then
#silentMode = 0;
if #prevSilentMode != #silentMode then
#prevSilentMode = #silentMode;
@SetQuietMode = #silentMode;
print ('silentMode is currently Defrost_State: ', #silentMode);
end
end
setTimer(3,60);
end |
Ik vraag me wel af of het verstandig is om met 3 timers te werken die eigenlijk allemaal aan dezelfde knop (@SetQuietMode) zitten te draaien.
Heisamon staat ingesteld om elke 5 seconden meetwaarden op te halen van de warmtepomp met "How often new values are collected from heatpump: 5 seconds"
Graag zou ik ook elke 5 seconde willen controleren of de warmtepomp een overshoot heeft op de aanvoertemperatuur, en zo nodig Quiet Mode op 3 zet. Kan het kwaad als de loop elke 5 seconde loopt. Bijvoorbeeld qua schrijfacties van en naar de warmtepomp EEPROM ofzo. Of de stabiliteit van Heisamon.
Zoiets dus qua code:
Graag zou ik ook elke 5 seconde willen controleren of de warmtepomp een overshoot heeft op de aanvoertemperatuur, en zo nodig Quiet Mode op 3 zet. Kan het kwaad als de loop elke 5 seconde loopt. Bijvoorbeeld qua schrijfacties van en naar de warmtepomp EEPROM ofzo. Of de stabiliteit van Heisamon.
Zoiets dus qua code:
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
| on System#Boot then
print('System#Boot start');
#prevSilentMode = @Quiet_Mode_Level;
#silentMode = #prevSilentMode;
#defrostLimitC = -1;
setTimer(1,53);
setTimer(2,60);
print('System#Boot end');
end
on timer=1 then
print('Overschoot_control if needed QM3 OR defrost QM0');
if @Defrosting_State == 1 then
#silentMode = 0;
#prevSilentMode = #silentMode;
@SetQuietMode = #silentMode;
print ('silentMode is currently Defrost_State: ', #silentMode);
elseif @Main_Outlet_Temp > @Main_Target_Temp + 0 && @Heat_Power_Production > 3000 then
#silentMode = 3;
#prevSilentMode = #silentMode;
@SetQuietMode = #silentMode;
print ('silentMode is currently Overschoot_control: ', #silentMode);
end
setTimer(1,5);
end
on timer=2 then
print('checkDefrost prewarning start');
#defrostLimitC = round(0.8 * @Outside_Temp - 10);
#defrostLimitC = max(-26, min(-6, #defrostLimitC));
if @Outside_Pipe_Temp <= #defrostLimitC + 4 then
#silentMode = #silentMode - 1;
#silentMode = max(0, min(3, #silentMode));
elseif @Outside_Pipe_Temp > #defrostLimitC + 5 then
#silentMode = #silentMode + 1;
#silentMode = max(0, min(3, #silentMode));
end
if #prevSilentMode != #silentMode then
#prevSilentMode = #silentMode;
@SetQuietMode = #silentMode;
end
print ('silentMode is currently: ', #silentMode);
setTimer(2,300);
end |
Ik denk dat je voor deze functie beter kan triggeren op @Main_Target_Temp. Ik gebruik ter voorkoming van de 3 °C overschrijding:Dre schreef op zondag 11 januari 2026 @ 21:11:
Heisamon staat ingesteld om elke 5 seconden meetwaarden op te halen van de warmtepomp met "How often new values are collected from heatpump: 5 seconds"
Graag zou ik ook elke 5 seconde willen controleren of de warmtepomp een overshoot heeft op de aanvoertemperatuur, en zo nodig Quiet Mode op 3 zet. Kan het kwaad als de loop elke 5 seconde loopt. Bijvoorbeeld qua schrijfacties van en naar de warmtepomp EEPROM ofzo. Of de stabiliteit van Heisamon.
Zoiets dus qua code:
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 44on System#Boot then print('System#Boot start'); #prevSilentMode = @Quiet_Mode_Level; #silentMode = #prevSilentMode; #defrostLimitC = -1; setTimer(1,53); setTimer(2,60); print('System#Boot end'); end on timer=1 then print('Overschoot_control if needed QM3 OR defrost QM0'); if @Defrosting_State == 1 then #silentMode = 0; #prevSilentMode = #silentMode; @SetQuietMode = #silentMode; print ('silentMode is currently Defrost_State: ', #silentMode); elseif @Main_Outlet_Temp > @Main_Target_Temp + 0 && @Heat_Power_Production > 3000 then #silentMode = 3; #prevSilentMode = #silentMode; @SetQuietMode = #silentMode; print ('silentMode is currently Overschoot_control: ', #silentMode); end setTimer(1,5); end on timer=2 then print('checkDefrost prewarning start'); #defrostLimitC = round(0.8 * @Outside_Temp - 10); #defrostLimitC = max(-26, min(-6, #defrostLimitC)); if @Outside_Pipe_Temp <= #defrostLimitC + 4 then #silentMode = #silentMode - 1; #silentMode = max(0, min(3, #silentMode)); elseif @Outside_Pipe_Temp > #defrostLimitC + 5 then #silentMode = #silentMode + 1; #silentMode = max(0, min(3, #silentMode)); end if #prevSilentMode != #silentMode then #prevSilentMode = #silentMode; @SetQuietMode = #silentMode; end print ('silentMode is currently: ', #silentMode); setTimer(2,300); end
code:
1
2
3
4
5
6
7
8
| on @Main_Outlet_Temp then
if @ThreeWay_Valve_State == 0 && #CompState > 0 then
$TaDelta = @Main_Outlet_Temp - @Z1_Heat_Request_Temp;
if $TaDelta >= 3 then
@SetZ1HeatRequestTemperature = ceil(@Main_Outlet_Temp) - 2;
end
end
end |
Panasonic J 7kW WP, boiler & HeishaMon, 6022 Wp PV, Enphase+ST GW, SOLAX SK-SU3000E 13kWh BESS, ITHO Qualityflow WTW, Elvi Smart Charging+ laadpunt, Kia EV6 84kWh EA MY25, gasloos '23