Add sensor fault simulation and health display
This commit is contained in:
+32
-8
@@ -13,6 +13,7 @@ class ESP32Simulator:
|
||||
|
||||
self.wifi_override_until = 0
|
||||
self.ignition_on = True
|
||||
self.failed_sensors = set()
|
||||
self.soc = 82.0
|
||||
self.last_update = time.time()
|
||||
|
||||
@@ -43,18 +44,23 @@ class ESP32Simulator:
|
||||
starlink_on = self.relays["starlink"]
|
||||
wifi_override_active = time.time() < self.wifi_override_until
|
||||
|
||||
sensor_names = [
|
||||
"fridge_zone_1",
|
||||
"fridge_zone_2",
|
||||
"rear_seat",
|
||||
"outside"
|
||||
]
|
||||
|
||||
temps = {
|
||||
"fridge_zone_1": self.sensor(36, 2),
|
||||
"fridge_zone_2": self.sensor(12, 3),
|
||||
"rear_seat": self.sensor(78, 8),
|
||||
"outside": self.sensor(88, 8)
|
||||
"fridge_zone_1": None if "fridge_zone_1" in self.failed_sensors else self.sensor(36, 2),
|
||||
"fridge_zone_2": None if "fridge_zone_2" in self.failed_sensors else self.sensor(12, 3),
|
||||
"rear_seat": None if "rear_seat" in self.failed_sensors else self.sensor(78, 8),
|
||||
"outside": None if "outside" in self.failed_sensors else self.sensor(88, 8)
|
||||
}
|
||||
|
||||
sensor_health = {
|
||||
"fridge_zone_1": True,
|
||||
"fridge_zone_2": True,
|
||||
"rear_seat": True,
|
||||
"outside": True
|
||||
name: name not in self.failed_sensors
|
||||
for name in sensor_names
|
||||
}
|
||||
|
||||
remaining_ah = round(self.soc, 1)
|
||||
@@ -108,5 +114,23 @@ class ESP32Simulator:
|
||||
self.ignition_on = not self.ignition_on
|
||||
return self.ignition_on
|
||||
|
||||
def toggle_sensor_fault(self, name):
|
||||
valid = {
|
||||
"fridge_zone_1",
|
||||
"fridge_zone_2",
|
||||
"rear_seat",
|
||||
"outside"
|
||||
}
|
||||
|
||||
if name not in valid:
|
||||
return None
|
||||
|
||||
if name in self.failed_sensors:
|
||||
self.failed_sensors.remove(name)
|
||||
return False
|
||||
|
||||
self.failed_sensors.add(name)
|
||||
return True
|
||||
|
||||
|
||||
esp32 = ESP32Simulator()
|
||||
|
||||
Reference in New Issue
Block a user