Skip to content

doctarock/Calendar-Plugin-For-Home-Assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Calendar Plugin for Observer

Calendar is an optional Observer plugin that adds a calendar and to-do tab, plus calendar-related intake tools and runtime hooks. It is packaged as a plain JavaScript plugin.

Note: This is a plugin for https://github.com/doctarock/local-ai-home-assistant. It will need to be uploaded to your instance as a zip or copied into the server plugin directory.

Features

  • Calendar UI tab with daily, monthly, and edit views.
  • To-do UI with open and completed items.
  • Calendar event CRUD API routes.
  • To-do CRUD API routes.
  • Intake tools for finding, creating, updating, removing, and summarizing calendar events.
  • Optional scheduled "Nova action" events that can queue runtime tasks when due.
  • Runtime reminders for open to-do items.

Repository Layout

calendar/
  calendar-plugin.js        Plugin entry point, manifest, routes, hooks, and tool registration
  lib/calendar-domain.js    Calendar and to-do domain logic
  public/calendar-tab.js    Browser UI mounted by the host plugin tab

Installation

Copy the calendar/ directory into the plugin directory used by your Observer-compatible host, then enable the plugin from the host application.

The host must provide the plugin API methods used by this plugin, including route registration, UI tab registration, data storage, capability registration, hooks, broadcasts, and runtime context access.

Data and Privacy

The plugin stores calendar events and to-do items through the host dataApi using these keys:

  • calendar-events
  • todo-list

Calendar events, locations, descriptions, action messages, linked task IDs, and to-do text may contain private information. Runtime data for those keys should stay out of git. This repository includes .gitignore rules for common generated data paths and files.

Routes

The plugin registers these routes:

  • GET /api/plugin-ui/calendar/tab.js
  • GET /api/calendar/events
  • POST /api/calendar/events
  • POST /api/calendar/events/:eventId/state
  • DELETE /api/calendar/events/:eventId
  • GET /api/todos
  • POST /api/todos
  • POST /api/todos/:todoId/state
  • POST /api/todos/:todoId/remove

Tools

The plugin registers these intake tools:

  • get_calendar_summary
  • find_calendar_events
  • create_calendar_event
  • update_calendar_event
  • remove_calendar_event
  • set_calendar_event_state

About

Adds a 'Calendar' and 'User To Do List' to the assistant which can trigger pre-scheduled actions and help you keep organized.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors