With AI becoming a much bigger part of Home Assistant, I decided to try something a little different, asking an AI to take one of my Node-RED flows and turn it into a Home Assistant repository.
The entire repository was written by AI with guidance from myself, and so far it has been working well (cooling is still new and not fully tested yet).
It’s based around using a heat pump, although the original Node-RED flow was for controlling a pellet fire. With the rising cost of pellets, I thought I’d compare the cost of running a heat pump this winter.
As always: “I take no responsibility — use at your own risk.”
Any feed back would be grateful to improve what’s there now
Features
Intelligent Temperature Control
- Heating & Cooling Modes: Full-featured heating with simplified cooling support
- Deadband control to prevent cycling
- Weather compensation for cold days (heating mode only, when outside sensor configured)
- Multiple temperature presets for heating (Comfort, Eco, Boost)
- Single temperature preset for cooling (simplified mode)
- Adjustable temperature settings via number entities
Smart Home Integration
- Occupancy-based heating/cooling via presence tracker
- Sleep detection for automatic eco mode (heating only, requires bed sensor)
- Door/window monitoring to prevent energy waste (both modes)
- Schedule integration with mode support (heating: comfort/eco/boost/off)
- Heat Pump Contact Sensor: Binary sensor to verify heat pump is actually running (recommended for IR/SmartIR controlled devices)
Energy Optimization
- House average temperature limits (heating mode only)
- Configurable deadband ranges above/below target (both modes)
- Maximum/minimum compensation temperature limits (heating mode only)
Comprehensive Monitoring
- Real-time status display via sensors
- Debug information showing current logic
- Climate entity with proper HVAC modes (OFF/HEAT/COOL/AUTO)
- Multiple switch controls for force modes

Heating vs Cooling Modes
Heating Mode (HEAT/AUTO)
Full-featured intelligent heating with:
- Multiple temperature presets (Comfort, Eco, Boost)
- Schedule integration
- Sleep detection (automatic eco mode)
- Weather compensation for cold days
- House average temperature limits
- Force Comfort and Force Eco modes
Cooling Mode (COOL)
Simplified cooling with:
- Single temperature target (default 22°C, adjustable 18-28°C)
- Door sensor monitoring
- Presence detection
- Inverted deadband control (cool when hot, stop when cool)
- Force Cooling mode switch for easy activation
Why simplified cooling? Most cooling needs are straightforward - just maintain a comfortable temperature when it’s hot. The advanced features like schedules and sleep modes are more useful for heating optimization.
Prerequisites
- Home Assistant 2024.1.0 or newer
- HACS (Home Assistant Community Store) installed
- The following entities in your Home Assistant:
- A climate entity (heat pump/thermostat) that supports both heating and cooling
- Room temperature sensor
- Outside temperature sensor (optional but recommended for weather compensation in heating mode)
Installation
Via HACS (Recommended)
- Open HACS in your Home Assistant instance
- Click on “Integrations”
- Click the three dots menu in the top right
- Select “Custom repositories”
- Add this repository URL:
https://github.com/smartthings54/smart-climate-control - Select “Integration” as the category
- Click “Add”
- Search for “Smart Climate Control”
- Click “Download”
- Restart Home Assistant
Manual Installation
- Download the latest release from GitHub
- Extract the
smart_climate_controlfolder - Copy it to your
custom_componentsdirectory:
config/custom_components/smart_climate_control/
- Restart Home Assistant
Configuration
Initial Setup
- Go to Settings → Devices & Services
- Click + Add Integration
- Search for Smart Climate Control
- Follow the setup wizard:
- Select your heat pump/climate entity to control
- Choose temperature sensors
- Configure optional features
Configuration Options
Required Entities
- Heat Pump Entity: Your climate device to control (must support both heat and cool)
- Room Temperature Sensor: The room you want to control
Optional Entities
- Outside Temperature Sensor: For weather compensation (heating mode only)
- Average House Temperature: For whole-house temperature monitoring (heating mode only)
- Door Sensor: Disable heating/cooling when door is open for >70 seconds
- Presence Tracker: For occupancy-based control (person/device_tracker/group/sensor/input_boolean)
- Heating Schedule: Schedule entity for automatic mode changes (heating mode only)
- Bed Sensor: Binary sensor or input_boolean for sleep detection (heating mode only)
Temperature Settings (Configurable via Integration Options)
- Comfort Temperature: Default 20°C (16-25°C range) - Heating mode
- Eco Temperature: Default 18°C (16-25°C range) - Heating mode
- Boost Temperature: Default 23°C (16-25°C range) - Heating mode
- Cooling Temperature: Default 22°C (18-28°C range) - Cooling mode
Advanced Settings (Configurable via Integration Options)
- Deadband Below: 0.5°C (0.1-2°C range) - turn ON when temp drops this much below target
- Deadband Above: 0.5°C (0.1-2°C range) - turn OFF when temp rises this much above target
- Max House Temperature: 25°C (20-30°C range) - safety shutoff limit (heating mode only)
- Weather Compensation Factor: 0.5 (0-1 range) - how much to boost temp based on outside temp (heating mode only)
- Max Compensated Temperature: 25°C (20-30°C range) - (heating mode only)
- Min Compensated Temperature: 16°C (14-20°C range) - (heating mode only)
Created Entities
Climate Entity
climate.YOUR_CLIMATE_ENTITY- Main climate control with OFF/HEAT/COOL/AUTO modes
Switches
switch.smart_climate_climate_management- Master enable/disable for smart controlswitch.smart_climate_force_comfort_mode- Force comfort temperature (heating mode)switch.smart_climate_force_eco_mode- Force eco temperature (heating mode)switch.smart_climate_force_cooling_mode- Force cooling mode (NEW!)
Sensors
sensor.smart_climate_status- Current system status and debug infosensor.smart_climate_mode- Current active mode (Comfort/Eco/Force Comfort/Cooling/etc)sensor.smart_climate_target- Target temperature being used
Number Entities (for adjusting temperatures)
number.smart_climate_boost_temperature- Adjust boost temperaturenumber.smart_climate_comfort_temperature- Adjust comfort temperaturenumber.smart_climate_eco_temperature- Adjust eco temperaturenumber.smart_climate_cooling_temperature- Adjust cooling temperature