Skip to content

⚠️⚠️⚠️ BREAKING CHANGE ⚠️⚠️⚠️ AND NEW DOMAINS

Choose a tag to compare

@cataseven cataseven released this 24 Feb 16:44
e28f4fd

Release Notes — v1.2.0 and v.1.2.1

v1.2.0 ⚠️Breaking Changes ⚠️

PLEASE READ THIS NOTES AND UPDATED README DOCUMENT

⚠️REMOVED TEMPLATE VARIABLES: {{ active_count }} and {{ inactive_count }}

These generic variables have been replaced by domain-specific equivalents that are more readable and meaningful. Update your text and secondary_text fields as follows:

The full list of available count variables per domain is now:

Domain Available count variables
light {{ on_count }} {{ off_count }}
switch {{ on_count }} {{ off_count }}
binary_sensor {{ true_count }} {{ false_count }}
cover {{ open_count }} {{ closed_count }} {{ opening_count }} {{ closing_count }} {{ stopped_count }}
media_player {{ playing_count }} {{ idle_count }} {{ paused_count }} {{ buffering_count }} {{ on_count }} {{ off_count }}
person {{ at_home_count }} {{ away_count }}
alarm_control_panel {{ armed_count }} {{ disarmed_count }} {{ triggered_count }} {{ arming_count }} {{ pending_count }}
lock {{ unlocked_count }} {{ locked_count }} {{ locking_count }} {{ unlocking_count }} {{ jammed_count }}
vacuum {{ cleaning_count }} {{ docked_count }} {{ returning_count }} {{ paused_count }} {{ idle_count }} {{ error_count }}
camera {{ streaming_count }} {{ idle_count }} {{ recording_count }}
climate (state) {{ heat_count }} {{ cool_count }} {{ heat_cool_count }} {{ auto_count }} {{ dry_count }} {{ fan_only_count }} {{ off_count }}
climate (attribute) {{ heating_count }} {{ cooling_count }} {{ idle_count }} {{ fan_count }} {{ drying_count }} {{ preheating_count }} {{ defrosting_count }}

{{ total_count }} and {{ unavailable_count }} are available in all domains and unchanged.

CHANGES ON CONDITIONS

Granular State Conditions

Each domain now exposes additional conditions that go beyond the basic active/inactive distinction, letting you react to specific intermediate or transient states.

Domain Available Conditions
light, switch if_any_on, if_all_on, if_any_off, if_all_off
binary_sensor if_any_true, if_all_true, if_any_false, if_all_false
cover if_any_open, if_all_open, if_any_closed, if_all_closed, if_any_opening, if_all_opening, if_any_closing, if_all_closing, if_any_stopped, if_all_stopped
media_player if_any_playing, if_all_playing, if_any_idle, if_all_idle, if_any_paused, if_all_paused, if_any_buffering, if_all_buffering, if_any_on, if_all_on, if_any_off, if_all_off
person if_any_at_home, if_all_at_home, if_any_away, if_all_away
alarm_control_panel if_any_armed, if_all_armed, if_any_disarmed, if_all_disarmed, if_any_triggered, if_all_triggered, if_any_arming, if_all_arming, if_any_pending, if_all_pending
lock if_any_unlocked, if_all_unlocked, if_any_locked, if_all_locked, if_any_locking, if_all_locking, if_any_unlocking, if_all_unlocking, if_any_jammed, if_all_jammed
vacuum if_any_cleaning, if_all_cleaning, if_any_docked, if_all_docked, if_any_returning, if_all_returning, if_any_paused, if_all_paused, if_any_idle, if_all_idle, if_any_error, if_all_error
camera if_any_streaming, if_all_streaming, if_any_idle, if_all_idle, if_any_recording, if_all_recording
climate (HVAC mode) if_any_heat, if_all_heat, if_any_cool, if_all_cool, if_any_heat_cool, if_all_heat_cool, if_any_auto, if_all_auto, if_any_dry, if_all_dry, if_any_fan_only, if_all_fan_only, if_any_off, if_all_off
climate (hvac_action) if_any_heating, if_all_heating, if_any_cooling, if_all_cooling, if_any_idle, if_all_idle, if_any_fan, if_all_fan, if_any_drying, if_all_drying, if_any_preheating, if_all_preheating, if_any_defrosting, if_all_defrosting
sensor if_any_above, if_any_below, if_any_equal, if_any_not_equal, any_unavailable

Note: Climate conditions are based on the hvac_action attribute rather than the entity state, which means they reflect what the thermostat is actually doing rather than the mode it is set to. For example, a thermostat set to heat mode may have hvac_action: idle when the target temperature is already reached — if_any_heating will correctly report it as not actively heating.

Granular counters (examples):

# Climate — based on hvac_action attribute
text: "{{ heating_count }} heating, {{ cooling_count }} cooling"

# Media player
text: "{{ playing_count }} playing, {{ paused_count }} paused"

# Vacuum
text: "{{ cleaning_count }} cleaning, {{ returning_count }} returning"

# Cover
text: "{{ open_count }} open, {{ opening_count }} opening"

# Alarm
text: "{{ triggered_count }} triggered"

# Camera
text: "{{ recording_count }} recording"

# Lock
text: "{{ jammed_count }} jammed"

v1.2.1

6 New Supported Domains

The following domains are now fully supported with conditions, template count variables, and UI editor integration.

Conditions

Domain Conditions
fan any_unavailable, if_any_on, if_all_on, if_any_off, if_all_off
humidifier any_unavailable, if_any_on, if_all_on, if_any_off, if_all_off
plant any_unavailable, if_any_problem, if_all_problem, if_any_ok, if_all_ok
siren any_unavailable, if_any_on, if_all_on, if_any_off, if_all_off
update any_unavailable, if_any_on, if_all_on, if_any_off, if_all_off
water_heater any_unavailable, if_any_active, if_all_active, if_any_off, if_all_off, if_any_eco, if_all_eco, if_any_electric, if_all_electric, if_any_performance, if_all_performance, if_any_high_demand, if_all_high_demand, if_any_heat_pump, if_all_heat_pump, if_any_gas, if_all_gas

Count Variables

All new domains also expose {{ total_count }} and {{ unavailable_count }} in addition to the domain-specific variables below.

Domain Count variables
fan {{ on_count }} {{ off_count }}
humidifier {{ on_count }} {{ off_count }}
plant {{ problem_count }} {{ ok_count }}
siren {{ on_count }} {{ off_count }}
update {{ on_count }} {{ off_count }}
water_heater {{ active_count }} {{ off_count }} {{ eco_count }} {{ electric_count }} {{ performance_count }} {{ high_demand_count }} {{ heat_pump_count }} {{ gas_count }}

Examples

# Fan summary
- domain: fan
  name: Fans
  styles:
    - condition: if_any_on
      text: "{{ on_count }} running"
      icon: mdi:fan
      color: deepskyblue
    - condition: if_all_off
      text: All Off
      icon: mdi:fan-off
      color: grey

# Plant care
- domain: plant
  name: Plants
  styles:
    - condition: if_any_problem
      text: "{{ problem_count }} need attention"
      icon: mdi:flower-alert
      color: red
    - condition: if_all_ok
      text: All Healthy
      icon: mdi:flower
      color: green

# Water heater
- domain: water_heater
  name: Water Heaters
  styles:
    - condition: if_any_heating
      text: "{{ active_count }} active ({{ eco_count }} eco)"
      icon: mdi:water-boiler
      color: orange
    - condition: if_all_off
      text: All Off
      icon: mdi:water-boiler-off
      color: grey

# Updates available
- domain: update
  name: Updates
  styles:
    - condition: if_any_on
      text: "{{ on_count }} update(s) available"
      icon: mdi:update
      color: orange
    - condition: if_all_off
      text: Up to Date
      icon: mdi:check-circle
      color: green

UI Improvements

  • Domain names in the editor dropdown now display in human-readable format — underscores are replaced with spaces and each word is capitalized (e.g. alarm_control_panelAlarm Control Panel, water_heaterWater Heater).
  • Domain dropdown is now sorted alphabetically.