fermentord/internal/configuration/fermentord.go
Søren Rasmussen e142662cc8
Some checks reported errors
continuous-integration/drone/push Build encountered an error
Enable I2C display
2024-06-15 16:26:28 +02:00

56 lines
1.8 KiB
Go

package configuration
type Configuration struct {
Brew struct {
UUID string `mapstructure:"uuid"`
} `mapstructure:"brew"`
NATS struct {
Servers []string `mapstructure:"servers"`
Username string `mapstructure:"username"`
Password string `mapstructure:"password"`
Stream string `mapstructure:"stream"`
Subject struct {
Event string `mapstructure:"event"`
State string `mapstructure:"state"`
Temp string `mapstructure:"temp"`
Tilt string `mapstructure:"tilt"`
} `mapstructure:"subject"`
} `mapstructure:"nats"`
HTTP struct {
Port int16 `mapstructure:"port"`
} `mapstructure:"http"`
Sensors struct {
Wort string `mapstructure:"wort"`
Chamber string `mapstructure:"chamber"`
Ambient string `mapstructure:"ambient"`
Weight float64 `mapstructure:"weight"`
} `mapstructure:"sensors"`
I2C struct {
Bus int `mapstructure:"bus"`
} `mapstructure:"i2c"`
FermentationTemperature float64 `mapstructure:"fermentation_temp"`
DeltaTemperatureCool float64 `mapstructure:"delta_temp_cool"`
DeltaTemperatureHeat float64 `mapstructure:"delta_temp_heat"`
HeaterEnabled bool `mapstructure:"heater_enabled"`
CoolerEnabled bool `mapstructure:"cooler_enabled"`
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"`
}