from components.atemperatureSensor import ATemperatureSensor from utils.value import Value, ValueChanged import math class TempSensorSim(ATemperatureSensor): def name(self): return "FakeTemp" def __init__(self): self.count = 0 self.freq = 0.2 self.log("Created") self.temp = Value(22.37) self.temp_set = self.temp.get() def set_fake_temp(self, temp): self.temp_set = temp def temperature(self): self.count += 1 return self.temp_set + 0.1*math.sin(2*math.pi*self.count*self.freq) def process(self): temp = self.temperature() self.temp.set(temp) def set_on_changed(self, on_changed: ValueChanged): self.temp = on_changed