config: wire TempSensor section from config.json to TempSensorSim

PlantFactory.create() now accepts sensor_config dict; extracts type and
kwargs, falls back to sigma=0.05/temp_offset=-0.15 defaults. brewpi.py
passes config.get('TempSensor', {}). Templates updated with full
TempSensor sections.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-30 19:27:04 +02:00
co-authored by Claude Sonnet 4.6
parent ca1953c9ee
commit 0156e689ca
4 changed files with 24 additions and 6 deletions
+10 -3
View File
@@ -17,14 +17,21 @@ class PlantFactory:
imported - only actually needed when plant_name picks the real rig."""
@staticmethod
def create(plant_name, dt, heater_config):
def create(plant_name, dt, heater_config, sensor_config=None):
sensor_config = sensor_config or {}
if "sim" in plant_name:
heater = HeaterFactory.create("sim", heater_config)
pot = Pot(dt)
sensor = TempSensorFactory.create("sim", temp_offset=-0.15, sigma=0.05)
sensor_type = sensor_config.get('type', 'sim')
sensor_params = {k: v for k, v in sensor_config.items() if k != 'type'}
sensor_params.setdefault('temp_offset', -0.15)
sensor_params.setdefault('sigma', 0.05)
sensor = TempSensorFactory.create(sensor_type, **sensor_params)
return heater, pot, sensor
heater = HeaterFactory.create("Hendi", heater_config)
pot = PotReal()
sensor = TempSensorFactory.create("max31865", temp_offset=-0.15)
sensor_params = {k: v for k, v in sensor_config.items() if k != 'type'}
sensor_params.setdefault('temp_offset', -0.15)
sensor = TempSensorFactory.create("max31865", **sensor_params)
return heater, pot, sensor