Skip to main content

Maintenance reminders smart home integration, free and open source

Maintenance reminders integration for Gladys Assistant

Recurring home maintenance (boiler, filters, chimney…): days left, reminders, Done button.

The recurring jobs of the house, kept in Gladys itself: the boiler service every year, the ventilation filters every six months, the chimney, the vehicle inspection, the descaling, the batteries of the smoke detectors... Each task counts the days left, warns you before the due date, says when it is late, and a tap on Done starts the count again. No account, no cloud.

Feedback welcome. This integration was tested with the test Gladys of the SDK and in its Docker image, not yet in everyday use with a real Gladys. If something does not work as described, please say so on the Gladys forum or in the issues.

What you need​

  • Gladys Assistant 5.2.0 or later (the form of the widget button).
  • Nothing else: the tasks are stored by the integration in its own volume.

Set up​

  1. Install the integration, open its Configuration tab.
  2. Create or change a task:
    • choose a suggested task (boiler service 1 year, chimney sweeping 1 year, vehicle inspection 2 years, ventilation filters 6 months, vacuum cleaner filter 3 months, descaling 2 months, smoke detector batteries 1 year, air conditioning service, cooker hood filter, water filter cartridge, gutters, septic tank, fire extinguisher): name, period and notice are filled in for you;
    • or type a name and a period: Every (a number) and a Unit (days, weeks, months, years), ten years at most;
    • Last done: 2026-03-14, 14/03/2026, or -30 for 30 days ago; empty, today;
    • Notice (days): how many days before the due date the task is "due soon" (empty: the one of the suggested task, else 7).
  3. Open the Discovery tab and add the task: it becomes a device of Gladys, which you can rename and put in a room.
  4. Add the Upcoming maintenance widget to a dashboard.

The same action changes a task: give its name and only what changes (the period, the notice, or a corrected last date). Mark a task as done records that it was done, today or on the date typed. Show the tasks gives every task and its next due date. Delete a task deletes it and its history for good: type its exact name to confirm, then delete its device in Gladys too.

Language of the feature names: the language of the names given to the features when a task is added, of the dates they show and of the texts sent to scenes (French by default).

The due date of a monthly or yearly task keeps the day of the month, or takes the last day of a shorter month: done on 31 January, a monthly task is due on 28 February (29 in a leap year). Days change at midnight in the time zone of Gladys.

Devices​

One device per task, with six features:

FeatureValue
Days leftdays until the due date, negative once late
Period leftthe part of the period left, 100 % the day it is done, 0 on the due date
Due soon1 within the notice, up to the due date
Overdue1 from the day after the due date until it is done
Last donethe last date it was done
Next due datethe due date

The names are those of the configured language (here, English). Gladys does not offer calendar events to a device integration: the due dates are features, the widget and the scenes, not entries of the Gladys calendar.

Dashboard​

The Upcoming maintenance widget shows how many tasks are due soon or late, then the next tasks by due date: late in red ("8 d late"), due soon in orange ("in 11 d"), the others with their date. Done opens a form: choose the task, and the date it was done (empty: today).

Settings: the tasks shown (all, or only the ones due soon or late), the number of rows (3 to 10), and the parts to hide (the count, the Done button).

Scenes​

Triggers​

  • Maintenance due soon: a task entered its notice (e.g. 30 days before the boiler service). Once per due date.
  • Maintenance overdue: a task passed its due date without being marked as done. Once per due date.

Both can be limited to one task (empty: any) and give the name of the task, its due date (YYYY-MM-DD) and its days left.

Actions​

  • Mark maintenance as done: the count of the task starts again, from today or from a date (2026-03-14, 14/03/2026, -2). Gives the last date, the next due date and the days left.
  • Read the maintenance tasks: what is due soon or late as one text ("Ventilation filters (8 d late), Boiler service (in 11 d)"), or every task, with the number of tasks overdue and due soon and the next task.

Scene ideas​

  • "Maintenance due soon": a Telegram message "Book the boiler service before {{due}}".
  • Every Monday at 8: Read the maintenance tasks, then a message with the text when something is due.
  • An NFC tag on the vacuum cleaner: Mark maintenance as done for its filter.

Your data​

Everything is stored in one file, tasks.json, in the volume of the integration (/data), with the previous version as tasks.json.bak. Each change is written to a temporary file then renamed: a power cut never leaves half a file. If the file is unreadable at start, it is kept as tasks.json.corrupt and the backup is read instead. The last twenty dates each task was done are kept. Uninstalling the integration deletes its volume, and the tasks with it.

Troubleshooting​

  • The task is not in the scenes or in the widget settings: add its device in the Discovery tab first.
  • "Date not understood": use 2026-03-14, 14/03/2026 or -7.
  • "This date is in the future": give the day it was done.
  • "The tasks could not be saved": the volume of the integration is full or read-only; nothing was changed. See the logs of the integration.
  • Logs: in Gladys, the integration page, Logs. Start the integration with LOG_LEVEL=debug for more detail.

Limits​

  • 100 tasks, 40 characters per name, a period of ten years at most, a notice of 365 days at most. The days left shown are bounded to ±3660.
  • One date per task: no time of day, no sub-tasks, no reminder repeated every day (a scene on "Overdue" can do it).
  • No entries in the Gladys calendar (see Devices), no import from another service.

Configuration settings​

These are the settings Maintenance reminders asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
Your maintenance taskssectionNoCreate a task with the buttons below (a suggested one, or your own), then add it in the Discovery tab: it becomes a device with its days left, for the dashboard (Upcoming maintenance widget) and the scenes. Everything stays in Gladys.
Language of the feature namesselectNoNames given to the features when a task is added, dates and texts sent to scenes.

How to install Maintenance reminders in Gladys​

  1. In Gladys, open Integrations: Maintenance reminders appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/guim31/gladys-entretien:1.0.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/guim31/gladys-entretien.

Maintenance reminders requires Gladys >=5.2.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.

Not running Gladys yet? It is free and open source: follow the installation guide to get started.

About external integrations​

Maintenance reminders is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by guim31, not by the Gladys core team.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂