{"id":47699134,"url":"https://github.com/l3t4l3s/home-tasks","last_synced_at":"2026-04-11T02:21:27.738Z","repository":{"id":345492106,"uuid":"1186008946","full_name":"L3t4l3s/home-tasks","owner":"L3t4l3s","description":"A feature-rich task management integration for Home Assistant","archived":false,"fork":false,"pushed_at":"2026-04-04T23:16:46.000Z","size":1757,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-04T23:35:01.614Z","etag":null,"topics":["custom-integration","hacs","hacs-integration","home-assistant","homeassistant","todo-list"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/L3t4l3s.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"L3t4l3s","buy_me_a_coffee":"L3t4l3s","custom":"https://paypal.me/kevinschimnick"}},"created_at":"2026-03-19T07:02:54.000Z","updated_at":"2026-04-04T23:16:50.000Z","dependencies_parsed_at":null,"dependency_job_id":"e4d12334-4d8f-4ab6-91b9-20d482cd885d","html_url":"https://github.com/L3t4l3s/home-tasks","commit_stats":null,"previous_names":["l3t4l3s/mytodolist","l3t4l3s/home-tasks"],"tags_count":115,"template":false,"template_full_name":null,"purl":"pkg:github/L3t4l3s/home-tasks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L3t4l3s%2Fhome-tasks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L3t4l3s%2Fhome-tasks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L3t4l3s%2Fhome-tasks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L3t4l3s%2Fhome-tasks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/L3t4l3s","download_url":"https://codeload.github.com/L3t4l3s/home-tasks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/L3t4l3s%2Fhome-tasks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31495466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T17:22:55.647Z","status":"ssl_error","status_checked_at":"2026-04-06T17:22:54.741Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["custom-integration","hacs","hacs-integration","home-assistant","homeassistant","todo-list"],"created_at":"2026-04-02T17:01:02.213Z","updated_at":"2026-04-07T01:01:13.309Z","avatar_url":"https://github.com/L3t4l3s.png","language":"Python","funding_links":["https://github.com/sponsors/L3t4l3s","https://buymeacoffee.com/L3t4l3s","https://paypal.me/kevinschimnick","https://buymeacoffee.com/l3t4l3s"],"categories":[],"sub_categories":[],"readme":"# Home Tasks\n\n[![hacs_badge](https://img.shields.io/badge/HACS-Default-41BDF5.svg)](https://github.com/hacs/integration)\n[![Validate](https://github.com/L3t4l3s/home-tasks/actions/workflows/validate.yaml/badge.svg)](https://github.com/L3t4l3s/home-tasks/actions/workflows/validate.yaml)\n\nA feature-rich task management integration for [Home Assistant](https://www.home-assistant.io/) with a custom Lovelace card.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/L3t4l3s/home-tasks/main/docs/header-light.png\" width=\"400\" alt=\"Home Tasks in light mode\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/L3t4l3s/home-tasks/main/docs/header-dark.png\" width=\"400\" alt=\"Home Tasks in dark mode\"\u003e\n\u003c/p\u003e\n\n## Features\n\n- **Multi-column card** — display multiple lists side-by-side with cross-list drag \u0026 drop\n- **Drag \u0026 drop** reordering (desktop and mobile)\n- **Sub-tasks** with progress tracking\n- **Notes** per task\n- **Due date \u0026 time** with overdue highlighting\n- **Reminders** — up to 5 per task, fire as HA events at a configurable offset before the due time\n- **Priority** (Low / Medium / High) with colored badges\n- **Recurring tasks** — fixed intervals (hours, days, weeks, months) or specific weekdays\n- **Person assignment** using HA person entities\n- **Tags** for categorization and filtering\n- **Tag filtering** via clickable chips in the card header\n- **Sort** — by due date, priority, title, or assigned person; configurable default per column\n- **Filters**: All / Open / Done (per-column default configurable)\n- **Multiple lists** via integration config entries\n- **Events** for automations (created, completed, due, overdue, assigned, reopened, reminder)\n- **Sensors**: Open task count and overdue binary sensor per list\n- **Services**: Create, complete, reopen, and assign tasks via automations\n- **Compact mode** for denser task rows\n- **Auto-delete** completed tasks (optional)\n- **i18n**: English and German, follows HA language setting\n\n## Installation\n\n### HACS (recommended)\n\n1. Open HACS in Home Assistant\n2. Go to **Integrations**\n3. Click the **three dots** menu (top right) → **Custom repositories**\n4. Add `https://github.com/L3t4l3s/home-tasks` with category **Integration**\n5. Install **Home Tasks**\n6. Restart Home Assistant\n\n### Manual\n\n1. Copy the `custom_components/home_tasks` folder into your `config/custom_components/` directory\n2. Restart Home Assistant\n\n## Setup\n\n1. Go to **Settings** → **Devices \u0026 Services** → **Add Integration**\n2. Search for **Home Tasks**\n3. Enter a name for your list\n4. Repeat for additional lists\n\nThe Lovelace card is automatically registered — just add it to your dashboard.\n\n## Card Configuration\n\nAll options are available in the visual card editor. The examples below cover typical use cases.\n\n### Single-column card\n\n```yaml\ntype: custom:home-tasks-card\ncolumns:\n  - list_id: \"your-list-id\"\n    title: Household\n    default_filter: open\n```\n\nThe old flat format (`list_id` at root level) is still supported and migrated automatically.\n\n### Multi-column card\n\n```yaml\ntype: custom:home-tasks-card\ntitle: Family           # optional title above all columns\ncolumns:\n  - list_id: \"uuid-household\"\n    title: Household\n    icon: mdi:home\n    default_filter: open\n    default_sort: due\n  - list_id: \"uuid-shopping\"\n    title: Shopping\n    icon: mdi:cart\n    compact: true\n    auto_delete_completed: true\n    show_notes: false\n    show_sub_tasks: false\n    show_assigned_person: false\n    show_priority: false\n    show_tags: false\n    show_due_date: false\n    show_reminders: false\n    show_recurrence: false\n  - list_id: \"uuid-kids\"\n    title: Kids Chores\n    icon: mdi:school\n    show_priority: false\n    show_due_date: false\n    show_reminders: false\n```\n\n### Column option reference\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `list_id` | *(required)* | The list to display |\n| `title` | List name | Custom column title |\n| `icon` | — | MDI icon shown next to the column title (e.g. `mdi:home`) |\n| `default_filter` | `all` | Initial filter: `all`, `open`, or `done` |\n| `default_sort` | `manual` | Initial sort: `manual`, `due`, `priority`, `title`, or `person` |\n| `show_title` | `true` | Show/hide the column title |\n| `show_progress` | `true` | Show/hide the task progress counter |\n| `show_sort` | `true` | Show/hide the sort button |\n| `show_notes` | `true` | Show/hide the notes field |\n| `show_sub_tasks` | `true` | Show/hide sub-tasks |\n| `show_assigned_person` | `true` | Show/hide person assignment |\n| `show_priority` | `true` | Show/hide priority field and badge |\n| `show_tags` | `true` | Show/hide tags, badges, and filter chips |\n| `show_due_date` | `true` | Show/hide due date and time |\n| `show_reminders` | `true` | Show/hide reminders |\n| `show_recurrence` | `true` | Show/hide recurrence settings |\n| `compact` | `false` | Compact mode for denser task rows |\n| `auto_delete_completed` | `false` | Automatically delete completed tasks |\n\n---\n\n### Household\n\nFull-featured list for shared household tasks — priorities, due dates, person assignment, and recurrence keep everything organized.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/L3t4l3s/home-tasks/main/docs/header-light.png\" width=\"500\" alt=\"Household list\"\u003e\n\u003c/p\u003e\n\n```yaml\ntype: custom:home-tasks-card\ncolumns:\n  - list_id: \"your-list-id\"\n    title: Household\n    default_filter: open\n```\n\n*(All display options are enabled by default.)*\n\n---\n\n### Shopping List\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/L3t4l3s/home-tasks/main/docs/header-dark.png\" width=\"500\" alt=\"Shopping list\"\u003e\n\u003c/p\u003e\n\nMinimal and fast — just items and checkboxes. Completed entries disappear immediately.\n\n```yaml\ntype: custom:home-tasks-card\ncolumns:\n  - list_id: \"your-list-id\"\n    compact: true\n    auto_delete_completed: true\n    show_title: false\n    show_progress: false\n    show_notes: false\n    show_sub_tasks: false\n    show_assigned_person: false\n    show_priority: false\n    show_tags: false\n    show_due_date: false\n    show_reminders: false\n    show_recurrence: false\n```\n\n---\n\n### Work / Projects\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/L3t4l3s/home-tasks/main/docs/usecase-work.png\" width=\"500\" alt=\"Work and projects list\"\u003e\n\u003c/p\u003e\n\nFocused on deadlines — priorities, due dates, reminders, and sub-tasks. Person assignment and recurrence hidden to reduce noise.\n\n```yaml\ntype: custom:home-tasks-card\ncolumns:\n  - list_id: \"your-list-id\"\n    title: Work\n    icon: mdi:briefcase\n    default_filter: open\n    default_sort: due\n    show_priority: true\n    show_due_date: true\n    show_reminders: true\n    show_sub_tasks: true\n    show_notes: true\n    show_assigned_person: false\n    show_tags: false\n    show_recurrence: false\n```\n\n---\n\n### Kids Chores\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/L3t4l3s/home-tasks/main/docs/usecase-chores.png\" width=\"500\" alt=\"Kids chores list\"\u003e\n\u003c/p\u003e\n\nWho does what and when — person assignment, weekday recurrence, and tags for time-of-day filtering. No deadlines or reminders needed.\n\n```yaml\ntype: custom:home-tasks-card\ncolumns:\n  - list_id: \"your-list-id\"\n    title: Kids Chores\n    icon: mdi:school\n    show_priority: false\n    show_due_date: false\n    show_reminders: false\n    show_recurrence: true\n    show_assigned_person: true\n    show_tags: true\n    show_notes: false\n    show_sub_tasks: false\n```\n\n---\n\n## Automations\n\n### Events\n\n| Event | Description |\n|-------|-------------|\n| `home_tasks_task_created` | Fired when a task is created |\n| `home_tasks_task_completed` | Fired when a task is marked as done |\n| `home_tasks_task_due` | Fired when a task's due date is today (once per day) |\n| `home_tasks_task_overdue` | Fired when a task is past its due date (once per day) |\n| `home_tasks_task_assigned` | Fired when a person is assigned to a task |\n| `home_tasks_task_reopened` | Fired when a task is reopened (manually or by recurrence) |\n| `home_tasks_task_reminder` | Fired at the configured offset before a task's due time |\n\nAll events include: `entry_id`, `task_id`, `task_title`, and (if set) `assigned_person`, `due_date`, `tags`.\nThe `home_tasks_task_reminder` event additionally includes `reminder_offset_minutes`.\n\n### Services\n\n#### `home_tasks.add_task`\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `list_name` | * | Name of the list |\n| `entry_id` | * | Config entry ID (alternative to `list_name`) |\n| `title` | yes | Task title |\n| `assigned_person` | no | Person entity ID (e.g. `person.ben`) |\n| `due_date` | no | Due date (`YYYY-MM-DD`) |\n| `tags` | no | Comma-separated tags (e.g. `\"kitchen,daily\"`) |\n\n#### `home_tasks.complete_task`\n\nProvide `task_title`/`task_id` for a single task, or `tag` to complete all open tasks with that tag.\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `list_name` | * | Name of the list |\n| `entry_id` | * | Config entry ID |\n| `task_title` | ** | Title of the task |\n| `task_id` | ** | UUID of the task |\n| `tag` | ** | Complete all open tasks with this tag |\n\n#### `home_tasks.reopen_task`\n\nTarget by single task, person, tag, or a combination.\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `list_name` | * | Name of the list |\n| `entry_id` | * | Config entry ID |\n| `task_title` | ** | Title of the task |\n| `task_id` | ** | UUID of the task |\n| `assigned_person` | ** | Reopen all completed tasks for this person |\n| `tag` | ** | Reopen all completed tasks with this tag |\n\n#### `home_tasks.assign_task`\n\n| Field | Required | Description |\n|-------|----------|-------------|\n| `list_name` | * | Name of the list |\n| `entry_id` | * | Config entry ID |\n| `task_title` | ** | Title of the task |\n| `task_id` | ** | UUID of the task |\n| `person` | yes | Person entity ID |\n\n*\\* Either `list_name` or `entry_id`. \\*\\* See individual service descriptions for required combinations.*\n\n### Sensors\n\nFor each list, the integration creates:\n\n- **Sensor** (`sensor.{list_name}_open_tasks`): Number of open tasks. Attributes: `open_task_titles`, `overdue_count`.\n- **Binary Sensor** (`binary_sensor.{list_name}_overdue`): `on` if any task is past its due date.\n\n### Example Automations\n\nSend a notification when a reminder fires:\n\n```yaml\nautomation:\n  - alias: \"Home Tasks: Reminder notification\"\n    trigger:\n      - platform: event\n        event_type: home_tasks_task_reminder\n    action:\n      - service: notify.mobile_app\n        data:\n          title: \"Task reminder\"\n          message: \"{{ trigger.event.data.task_title }} is due soon\"\n```\n\nReopen morning chores when a child arrives home:\n\n```yaml\nautomation:\n  - alias: \"Reopen morning tasks for Ben\"\n    trigger:\n      - platform: state\n        entity_id: person.ben\n        to: \"home\"\n    action:\n      - service: home_tasks.reopen_task\n        data:\n          list_name: \"Kids Chores\"\n          assigned_person: person.ben\n          tag: \"morning\"\n```\n\nComplete all weekend tasks on Monday morning:\n\n```yaml\nautomation:\n  - alias: \"Complete weekend tasks\"\n    trigger:\n      - platform: time\n        at: \"08:00:00\"\n    condition:\n      - condition: time\n        weekday: [mon]\n    action:\n      - service: home_tasks.complete_task\n        data:\n          list_name: \"Household\"\n          tag: \"weekend\"\n```\n## Support\n\nIf Home-Tasks is useful to you, consider buying me a coffee — it keeps the motivation going and helps fund future projects. 🙏\n\n[![GitHub Sponsors](https://img.shields.io/badge/Sponsor-GitHub-%23EA4AAA?logo=github)](https://github.com/sponsors/L3t4l3s)\n[![Buy Me a Coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-%23FFDD00?logo=buy-me-a-coffee\u0026logoColor=black)](https://buymeacoffee.com/l3t4l3s)\n\n## License\n\nThis project is licensed under the MIT License. See [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl3t4l3s%2Fhome-tasks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fl3t4l3s%2Fhome-tasks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fl3t4l3s%2Fhome-tasks/lists"}