Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Index your code
hub
/
github.com/KartoffelToby/better_thermostat
/ types & classes
Types & classes
308 in github.com/KartoffelToby/better_thermostat
⨍
Functions
2,184
◇
Types & classes
308
↳
Endpoints
5
↓ 35 callers
Class
MpcInput
Input parameters for MPC calibration calculation.
custom_components/better_thermostat/utils/calibration/mpc.py:79
↓ 32 callers
Class
_MpcState
custom_components/better_thermostat/utils/calibration/mpc.py:109
↓ 29 callers
Class
MpcParams
Configuration for the predictive controller.
custom_components/better_thermostat/utils/calibration/mpc.py:23
↓ 21 callers
Class
PIDParams
Configuration parameters for the PID computation. Contains all tuning options used by the PID controller.
custom_components/better_thermostat/utils/calibration/pid.py:89
↓ 18 callers
Class
MockThermostat
Mock Better Thermostat instance for testing.
tests/unit/test_helpers_valve_position.py:13
↓ 17 callers
Class
HeatingPowerTracker
State machine that learns effective heating power (°C / min). Call :meth:`update` on every temperature event. The caller is responsible for
custom_components/better_thermostat/utils/thermal_learning.py:169
↓ 16 callers
Class
MockThermostat
Mock Better Thermostat instance for testing.
tests/unit/test_helpers_mode_remap.py:14
↓ 14 callers
Class
PIDState
State for PID controller per room.
custom_components/better_thermostat/utils/calibration/pid.py:54
↓ 14 callers
Class
ThermalStats
Learned thermal characteristics of the room.
custom_components/better_thermostat/utils/state_manager.py:60
↓ 13 callers
Class
TrvSnapshot
Pre-resolved, immutable view of a single TRV's relevant state.
custom_components/better_thermostat/utils/hvac_action.py:32
↓ 12 callers
Class
DailyHistory
Store one measurement per day for a maximum number of days. Compute an average outside temperature that better reflects the last days: - Tr
custom_components/better_thermostat/utils/weather.py:334
↓ 12 callers
Class
HeatLossTracker
State machine that learns heat-loss rate (°C / min) during idle periods. Call :meth:`update` on every temperature event. The caller is responsib
custom_components/better_thermostat/utils/thermal_learning.py:404
↓ 12 callers
Class
PresetManager
Manages preset modes and their associated temperatures.
custom_components/better_thermostat/utils/preset_manager.py:41
↓ 11 callers
Class
BetterThermostatExternalTemp1hEMASensor
Representation of a Better Thermostat External Temperature 1h EMA Sensor.
custom_components/better_thermostat/sensor.py:696
↓ 11 callers
Class
ToleranceHysteresis
Mutable hysteresis state for the tolerance state-machine.
custom_components/better_thermostat/utils/hvac_action.py:14
↓ 11 callers
Class
TpiParams
Parameters for the TPI controller.
custom_components/better_thermostat/utils/calibration/tpi.py:20
↓ 10 callers
Class
BetterThermostatVirtualTempSensor
Representation of a Better Thermostat Virtual Temperature Sensor (MPC).
custom_components/better_thermostat/sensor.py:781
↓ 10 callers
Class
FakeBT
tests/unit/test_mpc_comprehensive.py:242
↓ 10 callers
Class
RuntimeState
Complete runtime state for one BetterThermostat config entry. This is the top-level structure that gets serialized to a single HA Store file.
custom_components/better_thermostat/utils/state_manager.py:68
↓ 9 callers
Class
BetterThermostatExternalTempSensor
Representation of a Better Thermostat External Temperature Sensor (EMA).
custom_components/better_thermostat/sensor.py:676
↓ 9 callers
Class
BetterThermostatSolarIntensitySensor
Representation of a Better Thermostat Solar Intensity Sensor.
custom_components/better_thermostat/sensor.py:828
↓ 8 callers
Class
BetterThermostatTempSlopeSensor
Representation of a Better Thermostat Temperature Slope Sensor.
custom_components/better_thermostat/sensor.py:745
↓ 8 callers
Class
TpiInput
Input parameters for TPI calibration calculation.
custom_components/better_thermostat/utils/calibration/tpi.py:34
↓ 7 callers
Class
TaskManager
Manages background asyncio tasks with automatic cleanup. Tracks created tasks and automatically removes them from the set when they complete.
custom_components/better_thermostat/utils/controlling.py:104
↓ 6 callers
Class
BetterThermostatHeatingPowerSensor
Representation of a Better Thermostat Heating Power Sensor.
custom_components/better_thermostat/sensor.py:757
↓ 6 callers
Class
CalibrationMode
Calibration mode.
custom_components/better_thermostat/utils/const.py:118
↓ 6 callers
Class
StateManager
Manages unified runtime state persistence for one BetterThermostat instance. Parameters ---------- hass : HomeAssistant The Home
custom_components/better_thermostat/utils/state_manager.py:287
↓ 5 callers
Class
HvacActionResult
Immutable result of a single HVAC-action computation.
custom_components/better_thermostat/utils/hvac_action.py:22
↓ 4 callers
Class
BetterThermostatHeatLossSensor
Representation of a Better Thermostat Heat Loss Sensor.
custom_components/better_thermostat/sensor.py:769
↓ 4 callers
Class
SimCase
Simulation case.
tmp/mpc_simulator.py:29
↓ 3 callers
Class
DummyBT
Dummy BetterThermostat instance for testing.
tests/test_temperature_filter.py:8
↓ 2 callers
Class
BetterThermostatMpcGainSensor
Representation of a Better Thermostat MPC Gain Sensor.
custom_components/better_thermostat/sensor.py:792
↓ 2 callers
Class
BetterThermostatMpcKaSensor
Representation of a Better Thermostat MPC Ka (Insulation) Sensor.
custom_components/better_thermostat/sensor.py:816
↓ 2 callers
Class
BetterThermostatMpcLossSensor
Representation of a Better Thermostat MPC Loss Sensor.
custom_components/better_thermostat/sensor.py:804
↓ 2 callers
Class
BetterThermostatPresetNumber
Representation of a Better Thermostat Preset Temperature Number.
custom_components/better_thermostat/number.py:129
↓ 2 callers
Class
CycleResult
Result of a finalized heating or cooling cycle.
custom_components/better_thermostat/utils/thermal_learning.py:140
↓ 2 callers
Class
HeatLossUpdate
Return value of :meth:`HeatLossTracker.update`.
custom_components/better_thermostat/utils/thermal_learning.py:157
↓ 2 callers
Class
MaintenanceTrvInfo
Snapshot of a single TRV needed during valve maintenance.
custom_components/better_thermostat/utils/valve_maintenance.py:33
↓ 2 callers
Class
_TpiState
custom_components/better_thermostat/utils/calibration/tpi.py:56
↓ 1 callers
Class
BetterThermostat
Representation of a Better Thermostat device.
custom_components/better_thermostat/climate.py:257
↓ 1 callers
Class
BetterThermostatChildLockSwitch
Switch for Child Lock.
custom_components/better_thermostat/switch.py:141
↓ 1 callers
Class
BetterThermostatPIDAutoTuneSwitch
Switch for PID Auto Tune.
custom_components/better_thermostat/switch.py:81
↓ 1 callers
Class
BetterThermostatPIDNumber
Representation of a Better Thermostat PID Parameter Number.
custom_components/better_thermostat/number.py:203
↓ 1 callers
Class
BetterThermostatValveMaxOpeningNumber
Representation of a Better Thermostat Valve Max Opening Number.
custom_components/better_thermostat/number.py:287
↓ 1 callers
Class
CalibrationType
Calibration type.
custom_components/better_thermostat/utils/const.py:110
↓ 1 callers
Class
FakeTrvEntity
A well-behaved simulated TRV as a real climate entity. Commands arrive through the real climate services and are confirmed into the entity st
tests/integration/conftest.py:73
↓ 1 callers
Class
HeatingPowerUpdate
Return value of :meth:`HeatingPowerTracker.update`.
custom_components/better_thermostat/utils/thermal_learning.py:148
↓ 1 callers
Class
MockBT
Mock BT object.
tmp/tpi_simulator.py:27
↓ 1 callers
Class
MockBT
tests/test_tpi.py:89
↓ 1 callers
Class
MockBT
tests/test_pid.py:551
↓ 1 callers
Class
MpcOutput
Output result from MPC calibration calculation.
custom_components/better_thermostat/utils/calibration/mpc.py:101
↓ 1 callers
Class
OptionsFlowHandler
Handle a option flow for a config entry.
custom_components/better_thermostat/config_flow.py:858
↓ 1 callers
Class
TpiOutput
Output result from TPI calibration calculation.
custom_components/better_thermostat/utils/calibration/tpi.py:48
↓ 1 callers
Class
_Input
Marker object standing in for a ``!input <name>`` reference.
tests/unit/test_blueprints.py:32
Class
website/src/components/Configurator.ts:54
Class
BetterThermostatEntityFeature
Supported features of the climate entity.
custom_components/better_thermostat/utils/const.py:103
Class
BtConfigurator
website/src/components/Configurator.ts:54
Class
CalibrationBalance
Shape of ``trv_state['calibration_balance']`` written by calibration.py. ``debug`` is ``PIDDebugInfo`` for PID mode and other shapes for MPC/TPI;
custom_components/better_thermostat/utils/telemetry.py:21
Class
ConfigFlow
Config flow for Better Thermostat.
custom_components/better_thermostat/config_flow.py:651
Class
FakeBT
tests/unit/test_mpc_comprehensive.py:1402
Class
HeatingCycle
One finalized heating cycle (start → peak).
custom_components/better_thermostat/utils/thermal_learning.py:42
Class
HeatingStats
Compact heating-power learning sample.
custom_components/better_thermostat/utils/thermal_learning.py:57
Class
LossCycle
One finalized idle cooling cycle (start → minimum).
custom_components/better_thermostat/utils/thermal_learning.py:69
Class
LossStats
Compact heat-loss learning sample.
custom_components/better_thermostat/utils/thermal_learning.py:79
Class
PIDDebugInfo
Debug information from PID controller.
custom_components/better_thermostat/utils/calibration/pid.py:24
Class
TelemetrySource
Structural read-only contract for objects telemetry helpers consume. Members are declared as read-only properties: the helpers only read these,
custom_components/better_thermostat/utils/telemetry.py:40
Class
TestAccumulationTracking
Tests for accumulation state updates inside trigger_temperature_change.
tests/unit/test_temperature_events.py:474
Class
TestActivate
activate() switches presets, saves/restores user temperature, clamps to bounds.
tests/unit/test_preset_manager.py:67
Class
TestAdaptiveLearning
Tests for gain/loss adaptation logic.
tests/unit/test_mpc_comprehensive.py:517
Class
TestAggressiveCalibrationOffset
The -2.5 offset only fires for AGGRESSIVE + HEATING + cal > -2.5. Mock inputs use ``cur_temp=20.5, bt_target_temp=22.0`` (outside tolerance)
tests/test_aggressive_calibration.py:137
Class
TestAnalyticalSolver
Tests for the analytical MPC solver.
tests/unit/test_mpc_comprehensive.py:1621
Class
TestApplyTemperatureUpdate
Tests for _apply_temperature_update().
tests/unit/test_temperature_events.py:156
Class
TestAsyncRemoveEntryCleansRepairIssues
``async_remove_entry`` must clean up every repair-issue pattern BT creates.
tests/unit/test_init_remove_entry.py:47
Class
TestAsyncSetPresetMode
Tests for async_set_preset_mode.
tests/unit/test_climate_baseline.py:855
Class
TestAsyncSetTemperature
Tests for async_set_temperature.
tests/unit/test_climate_baseline.py:952
Class
TestAsyncSetupEntry
Tests for async_setup_entry.
tests/unit/test_sensor.py:735
Class
TestAsyncUnloadEntry
Tests for async_unload_entry.
tests/unit/test_sensor.py:779
Class
TestAttrToCelsius
The combined read + convert boundary.
tests/unit/test_helpers_attr_to_celsius.py:70
Class
TestAvailableModes
available_modes property returns PRESET_NONE followed by enabled presets.
tests/unit/test_preset_manager.py:43
Class
TestAwaitOptionalSensors
Tests for await_optional_sensors retry logic. Uses asyncio.run() to avoid the HA event-loop-policy issue that affects @pytest.mark.anyio test
tests/unit/test_watcher.py:496
Class
TestBatteryStatusCalls
Tests for battery status updates in entity checks.
tests/_test_watcher.py:337
Class
TestBatteryStatusCalls
Tests for battery status updates in entity checks.
tests/unit/test_watcher.py:776
Class
TestBigChangeHoldBypass
Tests for hold-time bypass on big opening/closing changes.
tests/unit/test_mpc_comprehensive.py:1973
Class
TestBoostModeSafetyOverride
Test safety override resets valve when HVAC is forced to OFF during boost mode. When boost mode sets valve to 100% but then HVAC is forced to OFF
tests/unit/controlling/test_control_trv.py:803
Class
TestBtSensorBase
Tests for _BtSensorBase.__init__ and shared behavior.
tests/unit/test_sensor.py:1372
Class
TestBtSimpleAttributeSensor
Tests for _BtSimpleAttributeSensor base behavior.
tests/unit/test_sensor.py:1465
Class
TestBucketHelpers
round_to_bucket snaps to 0.5 °C; format_bucket renders the tag.
tests/unit/test_pid_helpers.py:30
Class
TestBuildMpcGroupKey
Tests for build_mpc_group_key().
tests/test_distribute_valve.py:162
Class
TestBuildMpcGroupKey
Tests for build_mpc_group_key (multi-TRV group key).
tests/unit/test_mpc_comprehensive.py:1396
Class
TestBuildMpcKey
Tests for build_mpc_key.
tests/unit/test_mpc_comprehensive.py:236
Class
TestBuildTrvSnapshots
Tests for build trv snapshots.
tests/unit/test_valve_maintenance.py:195
Class
TestCalculateHeatLoss
Tests for calculate_heat_loss.
tests/unit/test_climate_baseline.py:651
Class
TestCalculateHeatingPower
Tests for calculate_heating_power.
tests/unit/test_climate_baseline.py:335
Class
TestCalibrationToleranceBand
Verify that calibration tolerance uses asymmetric band [target-tol, target).
tests/test_heating_tolerance.py:230
Class
TestCheckAmbientAirTemperature
Outdoor sensor evaluation, with and without recorder history.
tests/unit/test_weather.py:386
Class
TestCheckAndUpdateDegradedMode
Tests for check_and_update_degraded_mode function.
tests/_test_watcher.py:243
Class
TestCheckAndUpdateDegradedMode
Tests for check_and_update_degraded_mode function.
tests/unit/test_watcher.py:243
Class
TestCheckCriticalEntities
Tests for check_critical_entities function.
tests/_test_watcher.py:206
Class
TestCheckCriticalEntities
Tests for check_critical_entities function.
tests/unit/test_watcher.py:206
Class
TestCheckEntitiesReady
Tests for _check_entities_ready.
tests/unit/test_climate_startup.py:111
next →
1–100 of 308, ranked by callers