Homebridge plugin that exposes the seasons of the year as HomeKit contact sensors for use in seasonal automations.
This project is a fork of the original homebridge-seasons by @naofireblade, adding Homebridge UI configuration options and Homebridge 2.x support. It also updates the seasons to show in HomeKit as contact sensors for easy automation conditions. Thank you @naofireblade for creating the original code and for passing the original npm name on for this updated version.
- Node.js 20.0.0 or later
- Homebridge 1.8.0 or later (including Homebridge 2.x)
Search for homebridge-seasons in the Homebridge UI plugin search and install it.
npm install -g homebridge-seasonsYou can configure the plugin using the Homebridge UI or by editing your config.json directly.
"platforms": [
{
"platform": "Seasons",
"hemisphere": "north",
"useAstronomicCalendar": false
}
]| Option | Required | Default | Description |
|---|---|---|---|
platform |
Yes | — | Must be "Seasons". |
hemisphere |
No | "north" |
"north" or "south". Determines which hemisphere's seasons to use. |
useAstronomicCalendar |
No | false |
When enabled, uses solstices and equinoxes for precise seasonal dates. When disabled, uses fixed months (e.g., Dec-Feb for Winter, Mar-May for Spring). |
The plugin creates four HomeKit contact sensors — one for each season (Spring, Summer, Fall, Winter). The sensor for the current season reports as "Open" while the other three report as "Closed". This makes it easy to build HomeKit automations that trigger on seasonal changes, for example adjusting lighting scenes or thermostat schedules.
Seasons are determined by fixed month ranges:
| Season | Months |
|---|---|
| Spring | March – May |
| Summer | June – August |
| Fall | September – November |
| Winter | December – February |
When useAstronomicCalendar is enabled, seasons are determined by approximate solstice and equinox dates:
| Season | Start date |
|---|---|
| Spring | March 20 (Spring Equinox) |
| Summer | June 21 (Summer Solstice) |
| Fall | September 22 (Fall Equinox) |
| Winter | December 21 (Winter Solstice) |
If hemisphere is set to "south", seasons are inverted (e.g., June is Winter instead of Summer).