package controllers type ControllerConfig struct { NATS struct { URL string `mapstructure:"url"` Stream string `mapstructure:"stream"` Subject struct { Temp string `mapstructure:"temp"` State string `mapstructure:"state"` } `mapstructure:"subject"` } `mapstructure:"nats"` HTTP struct { Port int16 `mapstructure:"port"` } `mapstructure:"http"` DataPath string `mapstructure:"data_path"` Sensor struct { Wort string `mapstructure:"wort"` Chamber string `mapstructure:"chamber"` Ambient string `mapstructure:"ambient"` } `mapstructure:"sensors"` FermentationTemperature float64 `mapstructure:"fermentation_temp"` DeltaTemperatureCool float64 `mapstructure:"delta_temp_cool"` DeltaTemperatureHeat float64 `mapstructure:"delta_temp_heat"` Limits struct { MinChamberTemperature float64 `mapstructure:"min_chamber_temp"` MaxChamberTemperature float64 `mapstructure:"max_chamber_temp"` MinCoolerRuntimeSecs float64 `mapstructure:"min_cooler_runtime_secs"` MaxCoolerRuntimeSecs float64 `mapstructure:"max_cooler_runtime_secs"` MinCoolerCooldownSecs float64 `mapstructure:"min_cooler_cooldown_secs"` HeaterGraceTimeSecs float64 `mapstructure:"heater_grace_time_secs"` } `mapstructure:"limits"` PID struct { Kp float64 `mapstructure:"kp"` // 2.0 Ki float64 `mapstructure:"ki"` // 0.0001 Kd float64 `mapstructure:"kd"` // 2.0 } `mapstructure:"pid"` }