A complete, full-featured task management system designed as a Home Assistant add-on, enabling multi-user collaboration, date/time tracking, image uploads, and deep integration with Home Assistant automations.
- Multi-user collaboration - Multiple users can work on projects together
- Color-coded status system with 4 states:
- π Starting (Blue) - Tasks just beginning
- β‘ In Progress (Orange) - Actively being worked on
- π Ongoing (Purple) - Continuous/recurring work
- β Done (Green) - Completed tasks
- Priority levels (Low, Medium, High)
- Task assignment - Assign tasks to specific users
- Notes & Comments - Each task can have multiple notes from different users
- User attribution - Every note shows who wrote it with color coding
- Automatic timestamps - Created, started, and completed dates
- Estimated completion - Set and update target finish times
- Time remaining - Real-time calculation of days/hours until deadline
- Overdue warnings - Visual alerts when past estimated completion
- Full timeline view - See complete task history
- Multiple images per task - Upload unlimited images
- Shared visibility - All team members see all images
- Image gallery - Beautiful grid display
- User attribution - Shows who uploaded each image
- Full-size preview - Click to view images in full resolution
- Supported formats - PNG, JPG, JPEG, GIF, WEBP, BMP (up to 16MB)
- Real-time events fired for:
- Task creation
- Status changes
- Task assignment
- Note additions
- Image uploads
- Project creation
- REST API sensors for statistics
- Automation triggers based on task states
- Notification support via Home Assistant
- State sensors for tracking task counts
- Beautiful, responsive web interface
- Real-time statistics dashboard
- Color-coded task cards
- Project organization
- User management with custom colors
- Note threading on tasks
- Image galleries
- Copy the entire
taskmaster-addonfolder to your Home Assistant add-ons directory:
/addons/taskmaster-addon/
-
Restart Home Assistant
-
Navigate to Settings β Add-ons β Add-on Store
-
Click the menu (three dots) and select Reload
-
You should see TaskMaster in your local add-ons
-
Click on TaskMaster and then Install
-
Start the add-on
-
Access the interface at:
http://homeassistant.local:8099
First, create users who will be collaborating on projects:
- Click + User button
- Enter username and display name
- Choose a color for the user (used for visual identification)
- Submit
- Use the user dropdown in the header to select who you are
- This determines who creates tasks and adds notes
- Click + Project button
- Enter project name and description
- Submit
- Click on a project card to open it
- Click + Add Task
- Fill in task details:
- Title and description
- Status (starting, in progress, ongoing, or done)
- Priority (low, medium, high)
- Assign to a user (optional)
- Set estimated completion date/time (optional)
- Submit
- Click on any task card to view details
- Change status with the status buttons
- Update estimated completion time
- Upload images (π· Upload Images button)
- Add notes and comments
- View complete timeline
TaskMaster fires these events that can trigger automations:
event_data:
task_id: 123
project_id: 1
title: "Task title"
status: "starting"
assigned_to: 1event_data:
task_id: 123
title: "Task title"
old_status: "starting"
new_status: "in_progress"event_data:
task_id: 123
image_id: 456
user_id: 1
filename: "kitchen_before.jpg"automation:
- alias: "Task Completed"
trigger:
- platform: event
event_type: taskmaster_task_status_changed
event_data:
new_status: done
action:
- service: notify.mobile_app_your_phone
data:
title: "Task Done! π"
message: "{{ trigger.event.data.title }} is complete"automation:
- alias: "Work Mode"
trigger:
- platform: event
event_type: taskmaster_task_status_changed
event_data:
new_status: in_progress
action:
- service: light.turn_on
target:
entity_id: light.desk_lamp
data:
brightness: 255http://localhost:8099/api
GET /api/users- List all usersPOST /api/users- Create userGET /api/users/:id- Get userPUT /api/users/:id- Update userDELETE /api/users/:id- Delete user
GET /api/projects- List all projectsPOST /api/projects- Create projectGET /api/projects/:id- Get projectPUT /api/projects/:id- Update projectDELETE /api/projects/:id- Delete project
GET /api/projects/:id/tasks- List project tasksPOST /api/projects/:id/tasks- Create taskGET /api/tasks/:id- Get taskPUT /api/tasks/:id- Update taskDELETE /api/tasks/:id- Delete task
GET /api/tasks/:id/notes- List task notesPOST /api/tasks/:id/notes- Create notePUT /api/notes/:id- Update noteDELETE /api/notes/:id- Delete note
GET /api/tasks/:id/images- List task imagesPOST /api/tasks/:id/images- Upload imageDELETE /api/images/:id- Delete imageGET /api/images/:id/download- Download/view image
GET /api/stats- Get statistics
| Status | Color | Hex | Description |
|---|---|---|---|
| Starting | Blue | #3498db | Task is just beginning |
| In Progress | Orange | #f39c12 | Actively working on it |
| Ongoing | Purple | #9b59b6 | Continuous work |
| Done | Green | #27ae60 | Task completed |
TaskMaster uses SQLite for data storage. The database is located at:
/data/taskmaster.db
Images are stored at:
/data/uploads/
This ensures your data persists across add-on restarts.
MIT License
For issues and feature requests, please use the GitHub issue tracker.
- Added date/time tracking (created, started, estimated, completed)
- Added image upload system
- Added time remaining calculator
- Added overdue warnings
- Added image gallery view
- Improved task detail view
- Multi-user collaboration
- Project and task management
- Notes system
- Color-coded statuses
- Home Assistant integration
- REST API
- Web interface