-
Notifications
You must be signed in to change notification settings - Fork 2
Visibility Configuration Guide
-
Go to Integration Settings
- Open Home Assistant
- Navigate to Settings → Devices & Services → Integrations
- Find TaskMate and click Configure
-
Open Chore Management
- Click Manage Chores
- Either Add Single Chore (create new) or select a chore to Edit
-
Configure Step 1 - Basic Details
- Fill in chore name, points, time category, etc.
- Scroll down to the Visibility section
- Set your visibility fields (see below)
- Click Next for Step 2
-
Complete Step 2 - Scheduling
- Set your schedule (specific days or recurring)
- Click Submit
-
Test
- Open a child card
- Verify the chore appears/disappears based on your condition
What it does: Specifies which Home Assistant entity controls the chore's visibility.
Examples of valid entity IDs:
binary_sensor.dishwashersensor.soil_moistureinput_boolean.guest_modeswitch.laundry_roomsensor.outdoor_temperaturenumber.threshold_value
How to find your entity ID:
- Go to Developer Tools > States
- Search for the entity you want
- Copy the entity ID from the left column
- Paste into the visibility field
Leaving it blank: If you leave this field empty, visibility filtering is disabled and the chore always shows.
What it does: Specifies the comparison operator to use.
Available operators:
| Operator | Best For | Example |
|---|---|---|
Equals |
String matching |
binary_sensor.door = open
|
Not Equal |
Inverse conditions |
input_boolean.guest_mode ≠ on
|
≥ (Greater or equal) |
Minimum numeric threshold |
sensor.battery ≥ 80
|
≤ (Less or equal) |
Maximum numeric threshold |
sensor.moisture ≤ 30
|
> (Greater than) |
Above numeric threshold |
sensor.temp > 20
|
< (Less than) |
Below numeric threshold |
sensor.temp < 0
|
How to choose:
-
Text values (
on,off,home,running): UseEqualsorNot Equal -
Numbers (percentages, temperature, counts): Use
≥,≤,>, or< -
Inverted logic (show when NOT condition): Use
Not Equal
What it does: Specifies the target value for the comparison.
For text operators (Equals, Not Equal):
- Enter any string value
- Examples:
on,off,home,away,running,idle - Must match the entity state exactly (case-insensitive)
For numeric operators (≥, ≤, >, <):
- Enter a number only
- Decimal values allowed:
22.5,10.25 - No units: use
30not30%or30°C
Finding the correct value:
- Go to Developer Tools > States
- Find your entity
- Look at the "state" column
- Copy the exact value
Examples:
Entity: binary_sensor.dishwasher
State in Developer Tools: "on"
Value to Compare: on
Entity: sensor.temperature
State in Developer Tools: 22.5
Value to Compare: 22.5
Entity: sensor.battery_percent
State in Developer Tools: 85
Value to Compare: 80 (if you want >= 80%)
Goal: Show "Fold Laundry" only when the dryer is running.
Setup:
-
Create/Edit Chore
- Name: "Fold Laundry"
- Points: 10
- Time Category: Anytime
- Continue to Step 1 visibility fields
-
Set Visibility
-
Show When Entity Is:
binary_sensor.dryer -
How to Compare:
Equals -
Value to Compare:
on
-
Show When Entity Is:
-
Result
- ✅ Shows when dryer IS running (
on) - ❌ Hides when dryer is off (
off)
- ✅ Shows when dryer IS running (
Why this works: Children can't fold laundry if it's not done drying yet.
Goal: Show "Water Plants" when soil moisture drops below 40%.
Setup:
-
Create/Edit Chore
- Name: "Water Plants"
- Points: 5
- Time Category: Morning
- Continue to Step 1 visibility fields
-
Set Visibility
-
Show When Entity Is:
sensor.soil_moisture -
How to Compare:
≤(Less than or equal) -
Value to Compare:
40
-
Show When Entity Is:
-
Result
- ✅ Shows when moisture is 40% or lower
- ❌ Hides when moisture is above 40%
Why this works: No need to water if the plant is already moist enough.
Goal: Show "Lunch Prep" only on school days using an input_boolean.
Setup:
-
Create the Helper (in Settings → Devices & Services → Helpers)
- Name: "School Day"
- Entity ID:
input_boolean.school_day - Create automation or manually toggle it
-
Create/Edit Chore
- Name: "Lunch Prep"
- Points: 3
- Time Category: Morning
- Continue to Step 1 visibility fields
-
Set Visibility
-
Show When Entity Is:
input_boolean.school_day -
How to Compare:
Equals -
Value to Compare:
on
-
Show When Entity Is:
-
Result
- ✅ Shows when
input_boolean.school_dayison - ❌ Hides when it's
off
- ✅ Shows when
Why this works: Parents can toggle the helper to control when lunch prep shows.
Goal: Show "Tidy Room" only when guests are NOT coming.
Setup:
-
Create/Edit Chore
- Name: "Tidy Room"
- Points: 8
- Time Category: Anytime
- Continue to Step 1 visibility fields
-
Set Visibility
-
Show When Entity Is:
input_boolean.guest_mode -
How to Compare:
Not Equal -
Value to Compare:
on
-
Show When Entity Is:
-
Result
- ✅ Shows when guest_mode is OFF (not "on")
- ❌ Hides when guest_mode is ON ("on")
Why this works: Kids can relax when guests aren't coming; when they are, they should clean instead.
Goal: Show "Yard Work" only when it's warm (≥ 20°C).
Setup:
-
Create/Edit Chore
- Name: "Yard Work"
- Points: 15
- Time Category: Afternoon
- Continue to Step 1 visibility fields
-
Set Visibility
-
Show When Entity Is:
sensor.outdoor_temperature -
How to Compare:
≥(Greater or equal) -
Value to Compare:
20
-
Show When Entity Is:
-
Result
- ✅ Shows when temperature is 20°C or warmer
- ❌ Hides when it's colder than 20°C
Why this works: Outdoor work is only reasonable in decent weather.
- Go to Developer Tools > States
- Search for your visibility entity
- Confirm it exists and has a current state
- If it shows "unavailable" or "unknown", fix the integration first
Manually toggle or change the entity state in Developer Tools and watch the child card:
- Developer Tools > States
- Find your visibility entity
- Click the entity row to expand it
- Click the "SET STATE" button (if available)
- Change to a state that should match your condition
- Watch the child card (updates within 30 seconds)
- Change back to a state that shouldn't match
- Verify the chore hides
After setting up visibility, your entity should appear with the correct state:
binary_sensor.dishwasher: on
sensor.soil_moisture: 35
input_boolean.guest_mode: off
sensor.temperature: 22.5
Battery percentage example:
- Entity:
sensor.battery_percent - State:
85 - To show when ≥ 80%: Enter
80
Temperature example:
- Entity:
sensor.temperature(in Celsius) - State:
22.5 - To show when ≥ 20°C: Enter
20
Humidity example:
- Entity:
sensor.humidity - State:
60 - To show when ≤ 70%: Enter
70
Decimal values are fully supported:
Entity: sensor.temperature
Operator: >
Value: 20.5
→ Shows when temperature is above 20.5°C
Negative comparisons work fine:
Entity: sensor.temperature
Operator: <
Value: 0
→ Shows when temperature is below freezing (< 0°C)
Problem: Typo in entity ID
Configured: binary_sensro.dishwasher (typo)
Should be: binary_sensor.dishwasher
Fix:
- Go to Developer Tools > States
- Copy the exact entity ID
- Paste it correctly
Problem: Entering units with the number
Configured: 30% (wrong)
Should be: 30
Fix: Enter only the number, no %, °C, or other units.
Problem: Assuming case matters
Entity state: "Home"
Configured value: "home" (different case)
Fix: Matching is case-insensitive, so both work fine.
Problem: Guessing the state value
Guessed: "running"
Actual state: "Running" (capitalized)
Fix: Check Developer Tools > States for the exact value.
Problem: Using > for text matching
Operator: > (Greater than)
State: "running"
Fix: Use Equals for text values.
Create several chores that share the same visibility condition:
Chores related to dishwasher (all visible when binary_sensor.dishwasher = on):
1. Load Dishwasher
2. Unload Dishwasher
3. Wipe Counters
Each chore can have the same visibility settings.
Use multiple input_booleans to create complex logic:
# In Home Assistant automation
- alias: Update chore conditions
triggers:
- platform: state
entity_id: input_boolean.guests_arriving
actions:
- service: input_boolean.turn_on
target:
entity_id: input_boolean.room_cleaning_choresThen set chore visibility to the dependent helper.
Create time-based conditions using template sensors:
template:
- sensor:
- name: "Is School Day"
unique_id: is_school_day
state: >
{% if now().weekday() < 5 %}
on
{% else %}
off
{% endif %}Use sensor.is_school_day for visibility.
Checklist:
- ✓ Entity ID is correct (check Developer Tools > States)
- ✓ Entity state is available (not "unavailable")
- ✓ Comparison operator matches your intent
- ✓ Value matches the entity state exactly
- ✓ Waited 30 seconds for update cycle
- ✓ Reloaded the child card (refresh browser)
How to debug:
Go to Developer Tools > States
Find your visibility entity
Check the current state value
Manually verify it should match your condition
If not, the condition is set incorrectly
Checklist:
- ✓ Visibility Entity field is NOT empty
- ✓ Visibility State value is correct
- ✓ Entity actually exists in Home Assistant
- ✓ Entity is not in "unavailable" state
Note: If an entity becomes unavailable, the chore defaults to visible for safety.
Checklist:
- ✓ Entity state is numeric (no text/units)
- ✓ Using correct comparison operator (≥, ≤, >, <)
- ✓ Value is a valid number (not
30%or30°C) - ✓ Check exact value in Developer Tools > States
- Dynamic Chore Visibility — Feature overview
- Visibility Operators Reference — Detailed operator guide
- Home Assistant Developer Tools — Finding entities
- TaskMate GitHub Issues — Report bugs
- Configuration Guide — Full TaskMate setup
- Dynamic Chore Visibility — Feature overview
- Visibility Operators Reference — Operator details