variable "shelly_ip" { type = string description = "The local IP address of the Shelly Plug S (Gen3) controller" default = "192.168.10.168" } variable "sensor_aussen_mac" { type = string description = "The Bluetooth MAC address of the outdoor sensor (e.g. Shelly BLU H&T)" } variable "sensor_innen_mac" { type = string description = "The Bluetooth MAC address of the indoor sensor (e.g. Shelly BLU H&T)" } variable "taupunktschwelle" { type = number description = "Dew point difference threshold [°C] to trigger the fan (indoor_dp > outdoor_dp + threshold)" default = 2.0 } variable "mindesttemperatur" { type = number description = "Minimum indoor temperature [°C] required to run the fan (frost / cold protection)" default = 10.0 } variable "max_indoor_temp_heating" { type = number description = "Maximum cellar temperature [°C] below which heating with outdoor air is permitted. Above this, T_out must be <= T_in." default = 20.0 } variable "winter_temp_threshold_in" { type = number description = "Indoor temperature threshold [°C] below which winter mode is active" default = 14.0 } variable "winter_temp_threshold_out" { type = number description = "Outdoor temperature threshold [°C] below which winter mode is active" default = 10.0 } variable "target_humi_summer" { type = number description = "Target indoor relative humidity [%] during warm / summer mode" default = 40.0 } variable "target_humi_winter" { type = number description = "Target indoor relative humidity [%] during cold / winter mode (avoids over-cooling)" default = 50.0 } variable "urgent_humi_threshold" { type = number description = "Relative humidity threshold [%] above which ventilation is urgently evaluated 24/7" default = 60.0 } variable "night_window_start_hour" { type = number description = "Start hour (0-23) for the optimal dew point drying window" default = 3 } variable "night_window_end_hour" { type = number description = "End hour (0-23) for the optimal dew point drying window" default = 7 } variable "max_runtime_minutes" { type = number description = "Maximum continuous fan runtime in minutes before enforcing a cooldown pause" default = 90 } variable "min_pause_minutes" { type = number description = "Minimum rest period in minutes after a ventilation burst to allow thermal/humidity equilibration" default = 20 } variable "schaltzeit" { type = number description = "Switch logic check interval in seconds" default = 180 } variable "battery_warngrenze" { type = number description = "Battery level warning threshold [%]" default = 20 } variable "lost_connection" { type = number description = "Time in seconds after which data is considered stale, causing the fan to turn off for safety" default = 600 } variable "critical_humi_base" { type = number description = "Critical indoor relative humidity [%] at reference temperature (for mold warning curve)" default = 80 } variable "critical_humi_temp_coeff" { type = number description = "Temperature coefficient [%/°C] for the mold warning curve" default = 0.5 } variable "critical_humi_ref_temp" { type = number description = "Reference temperature [°C] for the mold warning curve" default = 10 } variable "critical_humi_buffer" { type = number description = "Safety buffer [%] subtracted from the critical relative humidity threshold for mold alert" default = 10 }