def rancilio_ready_handler(): configs = Configurator.instance() ready = configs.RancilioHeatedUp if ready: blynk.virtual_write(4, 255) else: blynk.virtual_write(4, 0)
def setpoint_handler(value): logger = logging.getLogger('__main__.' + __name__) configs: Configurator = Configurator.instance() value = float(value) configs.pid_configs[configs.RancilioPowerMode]['setpoint'] = value configs.update()
def rancilio_main_switch_handler(value): logger = logging.getLogger('__main__.' + __name__) configs = Configurator.instance() powerOn = int(value) configs.RancilioPoweredOn = bool(powerOn) configs.update() status = 'on' if bool(powerOn) else 'off' logger.info('Rancilio is powered {}'.format(status))
def __init__(self): self.output = 0 self.cycleStartTime = time.time() self.cycleMilliseconds = 1000 self.onTime = 0 self.configs = Configurator.instance() self.pinHandler = PinHandler.instance()
def __init__(self, sensorAddress: str = None): self.logger = logging.getLogger(__name__) self.configs = Configurator.instance() self.oneWireStatus = oneWire.setupOneWire( self.configs.tempSensorPin) self.lastTemperature = None self.sensorAddress = sensorAddress self.sensor = None
def __init__(self): self.configs = Configurator.instance() self.configs.functionList.append(self.update_configs) self.heatingElement = self.configs.heaterElementPin os.system('fast-gpio set-output {}'.format( self.heatingElement )) self.last_value = 0 self.logger = logging.getLogger('__main__.' + __name__)
def __init__(self, stopEvent: Event = None): self.input_value = 0 self.configs = Configurator.instance() self.configs.functionList.append(self.update_configs) self.heater = Heater() self.pid = PID.instance() self.update_configs() self.isPoweredOn = False self.powerMode = self.configs.energy_mode.eco self.dataLogger = self.configs.dataLogger self._stopEvent = stopEvent self.logger = logging.getLogger('__main__.' + __name__)
def __init__(self, stopEvent: Event, error_in_method_event: Event): self.boilerTemp = 21 self.steamTemp = 21 self._boilerTempSensors = [] self._boilerTempSensorsIter = None self._steamTempSensors = [] self.configs = Configurator.instance() self.configs.functionList.append(self.update_configs) self._smoothingFactor = self.configs.smoothingFactor self._stopEvent = stopEvent self._error_in_method_event = error_in_method_event self.lastValue = 23 self.logger = logging.getLogger('__main__.' + __name__)
def rancilio_temperature_status_handler(): configs: Configurator = Configurator.instance() dataLogger = configs.dataLogger pid = PID.instance() logger = logging.getLogger('__main__.' + __name__) temperature = dataLogger.boilerTemp if temperature is None: logger.warning('Temperature is None: {}'.format(temperature)) return blynk.virtual_write(3, temperature) blynk.virtual_write(6, pid.proportional_term) blynk.virtual_write(7, pid.integral_term) blynk.virtual_write(8, pid.derivative_term)
def rancilio_power_mode_handler(value): configs = Configurator.instance() logger = logging.getLogger('__main__.' + __name__) value = int(value) if value == 1: configs.RancilioPowerMode = configs.energy_mode.off elif value == 2: configs.RancilioPowerMode = configs.energy_mode.eco elif value == 3: configs.RancilioPowerMode = configs.energy_mode.on elif value == 4: configs.RancilioPowerMode = configs.energy_mode.steam else: configs.RancilioPowerMode = configs.energy_mode.off logger.error('Power Mode Handler: undefined value: {}'.format(value)) return configs.update() status = configs.energy_mode._fields[configs.RancilioPowerMode] logger.info('Rancilio is powered in {} mode'.format(status)) # set Gauge to new range setpoint = configs.pid_configs[configs.RancilioPowerMode]['setpoint'] blynk.setProperty(3, 'min', setpoint * 0.8) blynk.setProperty(3, 'max', setpoint * 1.2) # set Slider settings blynk.virtual_write(9, setpoint) if configs.RancilioPowerMode == configs.energy_mode.off: blynk.setProperty(9, 'min', 18) blynk.setProperty(9, 'max', 25) elif configs.RancilioPowerMode == configs.energy_mode.eco: blynk.setProperty(9, 'min', 40) blynk.setProperty(9, 'max', 60) elif configs.RancilioPowerMode == configs.energy_mode.on: blynk.setProperty(9, 'min', 92) blynk.setProperty(9, 'max', 110) elif configs.RancilioPowerMode == configs.energy_mode.steam: blynk.setProperty(9, 'min', 105) blynk.setProperty(9, 'max', 125)
def smoothing_factor_handler(value): value = float(value) configs: Configurator = Configurator.instance() configs.smoothingFactor = value configs.update()
def rancilio_heater_status_handler(): configs = Configurator.instance() dutyCycle = configs.heater_output blynk.virtual_write(5, dutyCycle)
def __init__(self, _stopEvent: Event): self.stopEvent = _stopEvent def run(self): while not self.stopEvent.is_set(): rancilio_temperature_status_handler() Rancilio.update() rancilio_heater_status_handler() rancilio_ready_handler() time.sleep(1) # stop event is set Rancilio.setHeaterOutput(0) configs = Configurator.instance() # Threading stuff stopEvent = Event() error_in_method_event = Event() dataLogger = DataLogger(stopEvent, error_in_method_event) dataLogger.addTemperatureSensor('boiler', configs.boilerTempSensor1) dataLogger.addTemperatureSensor('boiler', configs.boilerTempSensor2) configs.dataLogger = dataLogger temperatureAcquisitionProcess = Thread(target=dataLogger.acquireData) temperatureAcquisitionProcess.start() Rancilio = RancilioSilvia() configs.Rancilio = Rancilio rancilioError = RancilioError.instance()