Voici un petit code que j'utilise depuis quelques années pour suivre les performances de ma PAC.
Pour cela, il est nécessaire d'avoir la mesure de température d'entrée et de sortie d'eau ainsi que la puissance consommée.
J'utilise des capteurs aqara pour la température (un peu modifiés avec un SHT31 déporté + pate thermique) et un capteur de puissance Aeotec. En général, ce qu'il manque est le débit. Il faut le connaitre, l'estimer ou le mesurer via un débitmètre.
Pour ma part, mon débit est constant (delta P constant sur plancher chauffant), j'ai une nourrice qui me donne les débit par zone. J'ai pu vérifier que mon estimation de débit était correct par le COP qui est conforme à la datasheet de ma PAC.
Si vous n'arrivez pas à avoir le bon débit, cela permettra quand même de suivre les performances de la PAC au cours des années (voir si cela se dégrade) et voir aussi à partir de quelles basses températures ses performances dégringolent.
Je me base sur la formule suivante:
P = qv × 1,16 × ΔT
Avec:
- P en [W]
- qv en [l/h]
- ∆T: Ecart de température reçu ou perdu par l’eau en [K]
Il vous faudra créer deux capteurs virtuels: 1 compteur de consommation kwh (pour la puissance thermique) et un custom sensor pour le cop.
Le code dont il vous faudra adapter le nom des capteurs et le débit:
Code : Tout sélectionner
return {
on = {
timer = {
'every 5 minutes',
}
},
execute = function(domoticz)
local Td = domoticz.devices('9 - PAC départ eau')
local Tr = domoticz.devices('10 - PAC retour eau')
-- local PuissanceCalo = 0.77*1.16*(Td.temperature-Tr.temperature)
local Puissancethermique = 0.77*1.16*(Td.temperature-Tr.temperature)*1000
print('-------------------------puissance thermique calculée: ' .. Puissancethermique)
if (Puissancethermique>100) then
-- domoticz.devices('Puissance calo PAC'). updateCustomSensor(PuissanceCalo)
domoticz.devices('Puissance thermique PAC').updateElectricity(Puissancethermique)
else
-- domoticz.devices('Puissance calo PAC'). updateCustomSensor(0)
domoticz.devices('Puissance thermique PAC').updateElectricity(0)
end
local Pw = domoticz.devices('PAC kWh')
local Pt = domoticz.devices('Puissance thermique PAC')
print('-------------------------puissance wattH: ' .. Pw.WhActual)
print('-------------------------old puissance thermH: ' .. Pt.WhActual)
if (Pw.WhActual>65) then
--local COP = Pt.WhActual/Pw.WhActual
local COP = Puissancethermique/Pw.WhActual
if COP >= 5 then
print('-------------------------Overload COP ' .. COP .. ', decreased to 5')
COP = 5
end
if (COP>0) then
domoticz.devices('COP PAC').updateCustomSensor(COP)
print('-------------------------nouveau COP: ' .. COP)
end
else
domoticz.devices('COP PAC').updateCustomSensor(0)
print('-------------------------nouveau COP: 0')
end
end
}