Features
🔥 heating / ❄️ cooling based on
👥 people presence
🗓️ multiple schedulers
🚶 presence sensor
↔️ proximity aka geo fencing
🏃 away temperature offset
🥶 frost protection
😡 adjustable aggressive mode
🌤️ activation based on weather, temperature or boolean entities
🎛️ granular schedule adjustments
🪟 multiple window open detection
🎈 party mode
🤝 guest mode
🧭 thermostat calibration for the most common devices (Tado, Aqara, Popp / Danfoss / Hive, Tuya)
⚙️ several tweaks for fixing your thermostat issues
🎬 custom action
🤫 calm & 💪 reliable
Latest Version: 4.2.6
Documentation: work in progress
Major Changelogs: 4.0 | 4.1 | 4.2
Known issues
- nothing atm
Thanks for testing, reporting and debugging to everyone especially: sben, sourdistorne, dario2 , coldspark29 , technikhaus, tirol3, stephanschleichstr13, bandit79, Mar1us, vajdum. Ziegelsandundspucke, mukrop, k-dani, allard77, hainfelder, Appox, NikB, kitus, David883, p6Dave, fir3dragon
Changes in current developer version
PLANNED FEATURES
- window detection / calibration only
- calendar support
- scene based reset (last known temperature will be taken not the static one)
- more adjustable limits for aggressive mode
- firing events with calibration and heating data
- away temperature - lower temperature when scheduler is on but nobody is home
- logbook entries (temperature,mode,calibration)
You encounter a problem?
- Check if you’re running the latest version.
- If it’s the case, describe your problem.
- What do you want to achieve?
- What doesn’t work?
- Set debug level to warning
- Trigger you automation
- Share your tace log for example here
- Give me some time to check
How do I get a trace log?
- Navigate to your automations
- Find your automation and click on three-dots-menu
- Click on traces
- Select a trace with the upper arrows
- Click on three-dots-menu again
- Click on download trace
Also you can create issues on my github repo.
FAQ
Hints
To make long entering / leaving durations for persons and open / closing durations for windows work properly I recommend to setup the uptime integration.
Calendar Based Scheduler Selector Sensor
Here is an example for my template based binary sensor for holidays. There are two calendars. One holds the national holidays for my region and the other one is my personal calendar. The sensor scans for national holidays and a catchphrase for my personal one.
template:
- trigger:
- platform: time_pattern
minutes: /10
action:
- service: calendar.get_events
data:
start_date_time: "{{ now().replace(hour=0,minute=0,second=0,microsecond=0) }}"
end_date_time: "{{ now().replace(hour=23,minute=59,second=59,microsecond=999999) }}"
target:
entity_id:
- calendar.family
- calendar.holidays
response_variable: calendar_events
binary_sensor:
- name: Holiday
icon: mdi:palm-tree
unique_id: holiday
state: >
{{
( calendar_events['calendar.family'].events | regex_search('holiday', ignorecase=True) ) or
( calendar_events['calendar.holidays'].events | count > 0 )
}}
AHC Template Sensor
If you want to create your own AHC-Sensor with all the evaluated data just add this to your template section of your configuration. You need one sensor for each of your automations so just copy the code and edit the fields next to the comments.
template:
- trigger:
- platform: event
event_type: ahc_event
event_data:
automation: automation.ahc_v4 #CHANGE YOUR AUTOMATION ENTITY-ID HERE
binary_sensor:
- name: "AHC Test Room Data" #SET A NAME FOR YOUR SENSOR
unique_id: AHC Test Room #SET A UNIQUE ID
state: "{{ trigger.event.data.is_comfort }}"
attributes:
automation: "{{ trigger.event.data.automation }}"
target_temperature: "{{ trigger.event.data.target_temperature }}"
comfort_temperature: "{{ trigger.event.data.comfort_temperature }}"
eco_temperature: "{{ trigger.event.data.eco_temperature }}"
mode: "{{ trigger.event.data.mode }}"
is_comfort: "{{ trigger.event.data.is_comfort }}"
is_away_temperature: "{{ trigger.event.data.is_away_temperature }}"
is_somebody_on_way_home_state: "{{ trigger.event.data.is_somebody_on_way_home_state }}"
is_party: "{{ trigger.event.data.is_party }}"
is_guest: "{{ trigger.event.data.is_guest }}"
is_window_open: "{{ trigger.event.data.is_window_open }}"
active_scheduler: "{{ trigger.event.data.active_scheduler }}"
state_scheduler: "{{ trigger.event.data.state_scheduler }}"
is_person_based: "{{ trigger.event.data.is_person_based }}"
is_anybody_home: "{{ trigger.event.data.is_anybody_home }}"
state_presence_sensor: "{{ trigger.event.data.state_presence_sensor }}"
state_presence_scheduler: "{{ trigger.event.data.state_presence_scheduler }}"
is_presence_on: "{{ trigger.event.data.is_presence_on }}"
is_frost_protection: "{{ trigger.event.data.is_frost_protection }}"
last_temperature_change: "{{ iif(trigger.event.data.is_change,now(),this.attributes.last_calibration) }}"
last_calibration: "{{ iif(trigger.event.data.is_calibration,now(),this.attributes.last_calibration) }}"
state_presence_sensor_presence_scheduler_combined: "{{ trigger.event.data.state_presence_sensor_presence_scheduler_combined }}"
is_presence_based: "{{ trigger.event.data.is_presence_based }}"
is_force_max_temperature: "{{ trigger.event.data.is_force_max_temperature }}"
If you have questions or feature request, feel free to comment this thread.
Greets!
References
UI inspired: ☀️ Cover Control Automation (CCA) - a comprehensive and highly configurable roller blind blueprint
My blueprints
Simple scene toggle
Yet not another door/window/sensor open warning notification with auto close
Zone notification extended
Advanced Heating Control