-
Notifications
You must be signed in to change notification settings - Fork 2
Visibility Operators Reference
| Operator | Symbol | Use Case | Example |
|---|---|---|---|
| Equals | = |
Exact text match | Entity: binary_sensor.door, State: open
|
| Not Equal | ≠ |
Inverted match | Entity: input_boolean.guest_mode, State: on
|
| Greater or Equal | ≥ |
Numeric threshold (at or above) | Entity: sensor.battery, State: 80
|
| Less or Equal | ≤ |
Numeric threshold (at or below) | Entity: sensor.moisture, State: 30
|
| Greater Than | > |
Numeric threshold (above) | Entity: sensor.temp, State: 25
|
| Less Than | < |
Numeric threshold (below) | Entity: sensor.temp, State: 0
|
Description: Show the chore when the entity state exactly matches the target value (case-insensitive).
Best For:
- Binary states:
on,off - Location states:
home,away,work - Custom string values:
running,idle,locked - Friendly name states
Examples:
Entity: binary_sensor.dishwasher
Operator: Equals
State: on
→ Shows when dishwasher IS running
Entity: person.john
Operator: Equals
State: home
→ Shows when John IS home
Entity: cover.garage_door
Operator: Equals
State: open
→ Shows when garage door IS open
Technical Details:
- Matching is case-insensitive (
Onmatcheson,HOMEmatcheshome) - Whitespace is trimmed
- Works with any string state value
Description: Show the chore when the entity state does NOT match the target value (inverse of Equals).
Best For:
- Hiding chores under certain conditions
- Conditional availability: "show unless..."
- Input booleans for feature gates
Examples:
Entity: input_boolean.guest_mode
Operator: Not Equal
State: on
→ Shows when guests are NOT visiting
Entity: person.parent
Operator: Not Equal
State: away
→ Shows when at least one parent is NOT away
Entity: binary_sensor.school_open
Operator: Not Equal
State: on
→ Shows when school is NOT in session
Technical Details:
- Inverted logic of Equals
- Also case-insensitive
- Useful for permission/restriction patterns
Description: Show the chore when the entity state value is greater than or equal to the target number.
Best For:
- Minimum thresholds
- "At least" conditions
- Battery levels, stock quantities, percentages
Examples:
Entity: sensor.battery_percent
Operator: ≥
State: 80
→ Shows when battery is 80% or higher
Entity: sensor.outdoor_temp
Operator: ≥
State: 20
→ Shows when temperature is 20°C or warmer
Entity: sensor.available_disk_space
Operator: ≥
State: 5
→ Shows when at least 5GB free (if sensor provides GB values)
Technical Details:
- Both values are converted to numbers for comparison
- Decimal values supported:
22.5,10.25 - If entity state can't be converted to a number, falls back to string matching
Description: Show the chore when the entity state value is less than or equal to the target number.
Best For:
- Maximum thresholds
- "No more than" conditions
- Moisture levels, humidity, cost limits
Examples:
Entity: sensor.soil_moisture_percent
Operator: ≤
State: 30
→ Shows when soil is 30% moist or drier
Entity: sensor.indoor_humidity
Operator: ≤
State: 60
→ Shows when humidity is 60% or lower
Entity: number.temperature_threshold
Operator: ≤
State: 15
→ Shows when threshold is set to 15°C or lower
Technical Details:
- Converts both values to numbers
- Decimal values supported
- Common for sensor-based automation
Description: Show the chore when the entity state value is strictly greater than (not equal to) the target number.
Best For:
- Exclusive minimum thresholds
- "More than" conditions
- Situations where the threshold value itself should hide the chore
Examples:
Entity: sensor.outdoor_temp
Operator: >
State: 20
→ Shows when temperature is ABOVE 20°C (20° itself doesn't show)
Entity: counter.days_since_cleaning
Operator: >
State: 7
→ Shows when MORE than 7 days have passed
Entity: sensor.room_occupancy_count
Operator: >
State: 0
→ Shows when room has more than 0 people (i.e., at least 1)
Technical Details:
- Stricter than
≥(excludes the boundary value) - Useful when the exact threshold value has special meaning
- Numeric conversion with decimal support
Description: Show the chore when the entity state value is strictly less than (not equal to) the target number.
Best For:
- Exclusive maximum thresholds
- "Less than" conditions
- Situations where the threshold value itself should hide the chore
Examples:
Entity: sensor.outdoor_temp
Operator: <
State: 0
→ Shows when temperature is BELOW 0°C (freezing point)
Entity: sensor.snow_depth_cm
Operator: <
State: 5
→ Shows when snow is less than 5cm deep
Entity: sensor.water_level_percent
Operator: <
State: 25
→ Shows when water level is BELOW 25%
Technical Details:
- Stricter than
≤(excludes the boundary value) - Useful for critical thresholds
- Numeric conversion with decimal support
| Entity State | ≥ 50 | > 50 | ≤ 50 | < 50 | = 50 | ≠ 50 |
|---|---|---|---|---|---|---|
| 30 | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ |
| 50 | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ |
| 70 | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ |
Chore: "Load Dishwasher"
Entity: binary_sensor.dishwasher
Operator: Equals
State: off
→ Shows when dishwasher is NOT running (i.e., ready to load)
Why this works: When the dishwasher is off, children can load it. When it's running, the chore isn't helpful.
Chore: "Rake Leaves"
Entity: sensor.outdoor_temperature
Operator: ≥
State: 15
→ Shows when temperature is 15°C or warmer
Why this works: You only want kids doing outdoor work in reasonable weather.
Chore: "Water Plants"
Entity: sensor.soil_moisture
Operator: ≤
State: 40
→ Shows when soil moisture is 40% or lower
Why this works: No need to water if the soil is already moist.
Chore: "Clean Room"
Entity: input_boolean.guests_arriving_today
Operator: Equals
State: on
→ Shows when guests are expected
Why this works: You want kids cleaning their rooms when guests are coming.
Chore: "Lunch Prep"
Entity: input_boolean.school_day
Operator: Equals
State: on
→ Shows only on school days
Why this works: Lunch prep is only relevant on days when someone is going to school.
When using comparison operators (≥, ≤, >, <), TaskMate converts state values to numbers:
-
"22"→22 -
"22.5"→22.5 -
"100%"→ Fails (% breaks conversion, falls back to string) -
"-5"→-5(negative numbers work)
-
"on","off"→ Can't convert to number -
"running","idle"→ Can't convert to number -
"22.5.1"→ Multiple decimals, can't convert
When conversion fails:
- Operator comparison is skipped
- Falls back to checking if state equals the target string (case-insensitive)
- Useful safety net for mixed string/number states
You can embed the operator directly in the State field instead of selecting a separate operator. This is useful for quick configuration or automations:
| State field | Equivalent to |
|---|---|
>=10 |
Operator: ≥, State: 10
|
<=30 |
Operator: ≤, State: 30
|
>25 |
Operator: >, State: 25
|
<0 |
Operator: <, State: 0
|
!=off |
Operator: ≠, State: off
|
When an embedded operator is detected, it overrides the selected operator dropdown. This means if you set Operator to Equals but the State field contains >=50, the chore will use ≥ 50.
Create custom input_boolean helpers for complex logic:
# In configuration.yaml
input_boolean:
chore_day_weekend:
name: Chore Day - Weekend
chore_day_schoolday:
name: Chore Day - School DayThen use them for visibility:
Chore: "Yard Work"
Entity: input_boolean.chore_day_weekend
Operator: Equals
State: on
Create template sensors that calculate conditions:
template:
- sensor:
- name: "Is Cold"
unique_id: sensor_is_cold
state: "{{ states('sensor.temperature') | float(0) < 10 }}"Then use in visibility:
Entity: sensor.is_cold
Operator: Equals
State: "true"
Before setting up visibility, verify your entity state:
- Go to Developer Tools > States
- Search for your entity
- Check the exact state value
- Use that value in Visibility State field
While single conditions are supported, you can simulate AND/OR by:
- Creating helper automations that update input_booleans
- Using template sensors to combine multiple entity states
- Setting up multiple chores with complementary visibility rules
- Check the entity ID spelling in Developer Tools > States
- Ensure the integration providing the entity is installed and running
- Wait for Home Assistant to fully load all integrations
- Verify the entity state is actually numeric (no units or symbols)
- Check Developer Tools > States for the exact value
- Try converting to string comparison if state has units
- Double-check the Visibility State value matches exactly
- For numeric operators, ensure the number is valid
- Wait 30 seconds for the visibility update cycle
- Reload the TaskMate integration
- Dynamic Chore Visibility — Feature overview and setup
- Configuration Guide — Complete TaskMate setup