ChronoShade is a precision time-based cover control integration for Home Assistant that revolutionizes how you manage blinds, shutters, and other covers. Unlike traditional cover controls that rely on simple open/close commands, ChronoShade uses advanced position-time mapping to provide accurate, non-linear movement tracking for perfect cover positioning every time.
- π― Precision Control: Define exact positions at specific time intervals
- π Non-Linear Movement: Model real-world cover behavior with custom time maps
- π Dual Control Methods: Use existing covers or individual switch entities
- ποΈ Tilt Support: Full tilt position control for venetian blinds
- π Easy Setup: Simple mode for quick configuration, advanced mode for power users
- π§ Flexible Integration: Works with switches, scripts, automations, and existing covers
- π± Modern UI: Beautiful config flow with real-time validation
- Open HACS in Home Assistant
- Go to "Integrations"
- Click the three dots menu β "Custom repositories"
- Add
https://github.com/mikipal7/ha-chronoshadeas an Integration - Search for "ChronoShade" and install
- Restart Home Assistant
- Go to Settings β Devices & Services β Add Integration
- Search for "ChronoShade"
- Download the latest release
- Copy
custom_components/chronoshadeto your Home Assistantcustom_componentsdirectory - Restart Home Assistant
- Add the integration via the UI
ChronoShade offers two configuration modes:
Perfect for covers with linear movement:
- Enter total opening/closing time
- System automatically creates optimal time maps
Full control with JSON time maps:
{
"0": 0, // At 0 seconds: 0% (closed)
"5": 30, // At 5 seconds: 30% open
"10": 80, // At 10 seconds: 80% open
"15": 100 // At 15 seconds: 100% (fully open)
}Use separate entities for open/close/stop operations:
- Open Entity: Switch, script, or automation to open the cover
- Close Entity: Switch, script, or automation to close the cover
- Stop Entity: (Optional) Entity to stop movement
Enhance an existing Home Assistant cover entity with precision timing.
ChronoShade provides custom services for advanced control:
Set a known position for calibration:
service: chronoshade.set_known_position
data:
entity_id: cover.bedroom_blinds
position: 50Set a known tilt position:
service: chronoshade.set_known_tilt_position
data:
entity_id: cover.bedroom_blinds
position: 75# Configuration.yaml (if using YAML)
cover:
- platform: chronoshade
devices:
living_room_blinds:
name: "Living Room Blinds"
open_switch_entity_id: switch.blinds_open
close_switch_entity_id: switch.blinds_close
opening_time_map:
0: 0
12: 100
closing_time_map:
0: 100
12: 0Perfect for covers that move faster at the beginning:
cover:
- platform: chronoshade
devices:
bedroom_shutters:
name: "Bedroom Shutters"
open_switch_entity_id: script.shutters_open
close_switch_entity_id: script.shutters_close
stop_switch_entity_id: script.shutters_stop
opening_time_map:
0: 0 # Closed
3: 40 # Fast initial movement
8: 70 # Slower middle section
15: 100 # Final positioning
closing_time_map:
0: 100 # Open
4: 60 # Quick start
10: 30 # Gradual closing
15: 0 # Fully closed
tilting_time_down: 2.5
tilting_time_up: 2.5Traditional cover integrations assume linear movement, but real covers don't work that way:
- Motors vary in speed during operation
- Mechanical resistance changes throughout the movement
- Weight distribution affects movement patterns
- Wear and age impact timing
ChronoShade solves this by letting you map the actual behavior of your covers, ensuring perfect positioning every time.
- Use the
set_known_positionservice to calibrate - Adjust your time maps based on observed behavior
- Consider mechanical factors like friction and wear
- Ensure
tilting_time_downandtilting_time_upare configured - Verify your cover supports tilt operations
- Check that tilt commands are properly mapped to your hardware
- Verify the
custom_components/chronoshadedirectory exists - Check Home Assistant logs for errors
- Ensure you've restarted Home Assistant after installation
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for the Home Assistant community
- Inspired by real-world cover control challenges
- Thanks to all contributors and testers
ChronoShade - Precision in every movement β±οΈ