How to connect ADHDTasker to Home Assistant
Make the smart home pull its weight: announce a chore is due on the kitchen speaker, flash a light green when one's done, and add tasks straight from your automations.
×
ADHDTasker talks to Home Assistant both ways:
- Events out — when a chore is added, due, claimed or completed (or a reward is requested), ADHDTasker pings a Home Assistant webhook. You decide what happens: a TTS announcement, a light colour, a notification, anything.
- Commands in — a small REST API lets Home Assistant add or complete tasks, ping the family, and read the board for dashboards.
No custom component, no add‑on. About ten minutes. Let's go.
Part 1 — Events out (announce & light up)
The quickest path is the importable blueprint, which wires events to TTS + lights for you.
1. Import the blueprint. In Home Assistant go to Settings → Automations & Scenes → Blueprints → Import Blueprint and paste this URL:
https://adhdtasker.com/ha-blueprint.yaml2. Create an automation from it. Give it a long, random Webhook ID and a shared secret, then pick your lights + a colour per event and a speaker + TTS engine. Defaults: blue on added, amber on due, green on completed.
3. Grab the webhook URL. On the new automation, open the ⋮ menu and copy its webhook URL. If you have Home Assistant Cloud (Nabu Casa), enable a cloudhook and use the https://hooks.nabu.casa/… URL — no port‑forwarding, and your instance stays private.
4. Tell ADHDTasker. In the web app (app.adhdtasker.com), open Manage → Home Assistant, paste the webhook URL, copy the shared secret it shows into the blueprint (they must match), Save, then hit Send test. Your speaker should say "ADHDTasker is connected to Home Assistant" and your lights should blink.
That's it — now mark a chore done and listen for it. 🎉
Prefer to write your own automation? The webhook payload puts everything on trigger.json — here's a celebration on completion:
- alias: ADHDTasker Celebrate
triggers:
- trigger: webhook
webhook_id: !secret adhdtasker_webhook_id
allowed_methods: [POST]
local_only: false
conditions:
- condition: template
value_template: "{{ trigger.json.event == 'task.completed' }}"
actions:
- action: tts.speak
target: { entity_id: tts.home_assistant_cloud }
data:
media_player_entity_id: media_player.living_room
message: "Nice work {{ trigger.json.profile.name }}! That's {{ trigger.json.task.points }} points."
mode: queued
Part 2 — Commands in (add & complete from HA)
Now the other direction. In ADHDTasker open Manage → Inbound API and tap Generate API key. Pop it in secrets.yaml:
adhdtasker_api_key: "paste-your-key-here"
Add a REST command (and a sensor for dashboards) to configuration.yaml, then restart:
rest_command:
adhdtasker:
url: "https://us-central1-adhdtasker-68a50.cloudfunctions.net/api"
method: POST
headers:
X-API-Key: !secret adhdtasker_api_key
Content-Type: application/json
payload: "{{ payload }}"
sensor:
- platform: rest
name: ADHDTasker
resource: "https://us-central1-adhdtasker-68a50.cloudfunctions.net/api"
headers:
X-API-Key: !secret adhdtasker_api_key
value_template: "{{ value_json.open }}"
json_attributes: [counts, leaderboard]
scan_interval: 300
Part 3 — Two automations to steal
Nudge everyone on school mornings:
- alias: ADHDTasker School Morning Ping
triggers:
- trigger: time
at: "07:00:00"
conditions:
- condition: time
weekday: [mon, tue, wed, thu, fri]
actions:
- action: rest_command.adhdtasker
data:
payload: '{"action":"ping","title":"School morning","message":"Time to get ready for school!"}'
mode: single
A bedtime board briefing — reads out what's left and who's winning:
- alias: ADHDTasker Bedtime Briefing
triggers:
- trigger: time
at: "19:30:00"
conditions:
- condition: numeric_state
entity_id: sensor.adhdtasker
above: 0
actions:
- action: tts.speak
target: { entity_id: tts.home_assistant_cloud }
data:
media_player_entity_id: media_player.living_room
message: >
{{ states('sensor.adhdtasker') }} chores still need doing.
{% set lb = state_attr('sensor.adhdtasker','leaderboard') %}
{% if lb and lb[0].lifetime | int > 0 %} {{ lb[0].name }} is leading.{% endif %}
mode: single
Swap media_player.living_room, light.living_room and tts.home_assistant_cloud for your own entities. From here it's just Home Assistant — point press a button to complete a task, flash the hallway red when the bins haven't gone out, put the leaderboard on a dashboard. Have fun. 🏠