Intelligent HVAC scheduling that reduces cost using time-of-use electricity rates.
Curve Control automatically optimizes your air conditioning schedule to run during cheaper electricity rate periods while maintaining your comfort. The system learns your home's thermal characteristics over time and gets smarter every day.
- Smart Temperature Scheduling - Optimizes HVAC usage based on user preferences and electricity prices
- Cost Savings - Automatically shifts operations to off-peak hours
- Beautiful Dashboard - Visual temperature schedule with price indicators
- Thermal Learning - Learns your home's heating/cooling rates over time
- 8 Utility Rate Plans - Supports major TOU plans (SDG&E, ConEd, XCEL, etc.)
HACS integration is planned for future release. You can download it as a custom integration from the HACS add-on today: https://github.com/boringbots/HomeAssistant_SmartTemps.git
-
Download the Integration
cd /config/custom_components/ git clone https://github.com/boringbots/HomeAssistant_SmartTemps.git curve_controlOr download and extract the
custom_components/curve_controlfolder to:/config/custom_components/curve_control/ -
Restart Home Assistant
- Go to Settings → System → Restart
-
Add the Integration
- Go to Settings → Devices & Services
- Click + Add Integration
- Search for "Curve Control"
- Click to add
-
Configure Authentication (Step 1 of 2)
- Username: Choose a username (3-50 characters)
- Password: Secure password (8+ characters)
- Email: Enter email to register OR leave blank to login with existing account
- Click Submit
-
Configure Preferences (Step 2 of 2)
- Thermostat Entity: Select your climate entity
- Home Size: Square footage (500-10,000 sq ft)
- Target Temperature: Your comfort temperature (60-85°F)
- Location: Select your utility provider's rate plan
- Time Away: When you typically leave home (e.g., 08:00)
- Time Home: When you typically return home (e.g., 17:00)
- Savings Level: Low / Medium / High (how aggressive to optimize)
- Weather Entity: For weather-aware optimization
- Click Submit
The dashboard card file is automatically copied to /config/www/ when you install the integration. You just need to register it and add the card:
- Go to Settings → Dashboards
- Click ⋮ (three dots menu, top right corner)
- Select Resources
- Click + Add Resource (bottom right)
- Fill in exactly:
- URL:
/local/curve-control-card.js - Resource type: JavaScript Module
- URL:
- Click Create
- Hard refresh your browser:
- Windows/Linux:
Ctrl+Shift+R - Mac:
Cmd+Shift+R
- Windows/Linux:
- You may also need to restart Home Assistant
- Go to your dashboard
- Click Edit Dashboard (pencil icon, top right)
- If this is your first time, click Take Control to enable manual editing
- Click + Add Card
- Scroll down → Manual or Curve Control Card under Custom cards
- Paste this YAML:
type: custom:curve-control-card entity: sensor.curve_control_energy_optimizer_temperature_schedule_chart
- Click Save
- Click Done
That's it! Your advanced card with temperature graph and interactive controls will appear.
Click the Optimize Schedule button on your dashboard card. This will:
- Run immediate optimization with current settings
- Save your preferences to the cloud
- Enable automatic nightly optimization at midnight
After your first optimization:
- Your custom schedule is automatically recalculated every night
- Uses updated weather forecast, price changes, and your latest preferences
The integration creates several helpful sensors:
sensor.curve_control_...temperature_schedule_chart- Main schedule datasensor.curve_control_...cost_savings- Money saved over 120-day periodsensor.curve_control_...co2_avoided- Environmental impactbutton.curve_control_optimize_schedule- Manual optimization trigger
The dashboard card displays:
- Temperature Schedule Chart - 24-hour optimized schedule with price bars
- Electricity Price Colors:
- 🟢 Green = Off-peak (cheapest)
- 🟡 Yellow = Mid-peak
- 🔴 Red = On-peak (most expensive)
- Optimize Button - Run optimization with one click
- Savings Stats - Cost savings, percent savings, CO2 avoided
- Environmental Impact - Equivalent cars off the road
- San Diego Gas & Electric TOU-DR1
- San Diego Gas & Electric TOU-DR2
- San Diego Gas & Electric TOU-DR-P
- San Diego Gas & Electric TOU-ELEC
- San Diego Gas & Electric Standard DR
- New Hampshire TOU Whole House Domestic
- Texas XCEL Time-Of-Use
- NYC ConEdison Residential TOU
- Low - Minimal temperature variation, prioritizes comfort
- Medium - Balanced comfort and savings
- High - Maximum savings, larger temperature swings
The integration collects:
- Temperature sensor readings every 5 minutes
- HVAC state (heating/cooling/off)
- Target temperature settings
Thermal Learning: Over time, the system learns:
- How fast your home cools down (cooling rate)
- How fast your home heats up (natural drift rate)
- More accurate predictions = better optimization = more savings
- ✅ Secure Authentication: All data tied to your account only
- ✅ No Sharing: Your data is not shared with third parties
- GitHub Repository: https://github.com/boringbots/HomeAssistant_SmartTemps
- Issue Tracker: https://github.com/boringbots/HomeAssistant_SmartTemps/issues
- Website: https://curvecontrol.io
- Set accurate time windows - Be honest about when you're actually home
- Use Medium or High savings level - Low provides minimal savings
- Let it learn - System gets better after a week of data collection
- Check weather integration - Weather-aware optimization can improve results
- Monitor the dashboard - Watch when AC runs and adjust preferences if needed
You're now saving with Curve Control! The system will optimize your HVAC automatically.
Questions?
Open an issue on GitHub: https://github.com/boringbots/HomeAssistant_SmartTemps/issues Or visit: https://curvecontrol.io