comparison py/fridge.py @ 571:ccfaa4351fd8

scale integrate by delay time namedtuple for StepIntegrator
author Matt Johnston <matt@ucc.asn.au>
date Wed, 11 Nov 2015 21:58:38 +0800
parents afe2eb17723e
children 6848907f85be
comparison
equal deleted inserted replaced
570:afe2eb17723e 571:ccfaa4351fd8
90 90
91 D("fridge on %s" % self.is_on()) 91 D("fridge on %s" % self.is_on())
92 92
93 if self.is_on(): 93 if self.is_on():
94 turn_off = False 94 turn_off = False
95 on_time = self.server.now() - self.fridge_on_clock 95 on_percent = self.integrator.integrate() / params.overshoot_delay
96 96
97 overshoot = params.overshoot_factor * self.integrator.integrate() 97 overshoot = params.overshoot_factor * on_percent
98 D("on_time %(on_time)f, overshoot %(overshoot)f" % locals()) 98 D("on_time %(on_percent)f, overshoot %(overshoot)f" % locals())
99 99
100 if not params.nowort and wort is not None: 100 if not params.nowort and wort is not None:
101 if wort - overshoot < params.fridge_setpoint: 101 if wort - overshoot < params.fridge_setpoint:
102 max_div = self.OVERSHOOT_MAX_DIV 102 max_div = self.OVERSHOOT_MAX_DIV
103 overshoot_factor = params.overshoot_factor 103 overshoot_factor = params.overshoot_factor