{"id":49624802,"url":"https://github.com/homebridge-plugins/homebridge-updater","last_synced_at":"2026-05-05T05:03:59.434Z","repository":{"id":41870158,"uuid":"340235370","full_name":"homebridge-plugins/homebridge-updater","owner":"homebridge-plugins","description":"A Homebridge plugin for checking for updates to Homebridge and plugins","archived":false,"fork":false,"pushed_at":"2026-05-04T16:44:59.000Z","size":1308,"stargazers_count":30,"open_issues_count":5,"forks_count":3,"subscribers_count":2,"default_branch":"latest","last_synced_at":"2026-05-04T18:26:24.480Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/homebridge-plugins.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"Sunoo","ko_fi":"sunookitsune","liberapay":"Sunoo","custom":["https://paypal.me/sunoo"]}},"created_at":"2021-02-19T02:21:40.000Z","updated_at":"2026-05-04T16:38:23.000Z","dependencies_parsed_at":"2025-09-05T16:31:27.245Z","dependency_job_id":null,"html_url":"https://github.com/homebridge-plugins/homebridge-updater","commit_stats":{"total_commits":28,"total_committers":4,"mean_commits":7.0,"dds":0.4642857142857143,"last_synced_commit":"545021e02c9058470eab58ffd8fbe952c75a9dbb"},"previous_names":["homebridge-plugins/homebridge-plugin-update-check","homebridge-plugins/homebridge-updater"],"tags_count":102,"template":false,"template_full_name":null,"purl":"pkg:github/homebridge-plugins/homebridge-updater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homebridge-plugins%2Fhomebridge-updater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homebridge-plugins%2Fhomebridge-updater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homebridge-plugins%2Fhomebridge-updater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homebridge-plugins%2Fhomebridge-updater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/homebridge-plugins","download_url":"https://codeload.github.com/homebridge-plugins/homebridge-updater/tar.gz/refs/heads/latest","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/homebridge-plugins%2Fhomebridge-updater/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32622731,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"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":[],"created_at":"2026-05-05T05:03:58.697Z","updated_at":"2026-05-05T05:03:59.428Z","avatar_url":"https://github.com/homebridge-plugins.png","language":"TypeScript","funding_links":["https://github.com/sponsors/Sunoo","https://ko-fi.com/sunookitsune","https://liberapay.com/Sunoo","https://paypal.me/sunoo"],"categories":[],"sub_categories":[],"readme":"# homebridge-updater\n\n[![npm](https://img.shields.io/npm/v/@homebridge-plugins/homebridge-updater) ![npm](https://img.shields.io/npm/dt/@homebridge-plugins/homebridge-updater)](https://www.npmjs.com/package/@homebridge-plugins/homebridge-updater) [![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n\nA [Homebridge](https://github.com/nfarina/homebridge) plugin that reports update availability as sensors and can optionally run automatic updates.\n\n## Features\n\n- Works with both HomeKit Accessory Protocol (HAP) and Matter at runtime\n- Exposes an update availability sensor\n- Exposes an optional failure sensor for automatic update/restart failures\n- Checks for updates to Node.js (LTS), Homebridge, Homebridge UI, plugins, and Docker images\n- Supports optional auto-updates for Node.js, Homebridge, Homebridge UI, and plugins\n- Intentionally does not auto-update Docker containers (check-only)\n\n## Installation\n\n1. Install Homebridge using the [official instructions](https://github.com/homebridge/homebridge/wiki).\n2. Install this plugin using: `sudo npm install -g @homebridge-plugins/homebridge-updater`.\n3. Update your configuration file. See sample config.json snippet below.\n\n### Configuration\n\nConfiguration sample:\n\n```json\n\"platforms\": [\n    {\n        \"platform\": \"HomebridgeUpdater\",\n        \"name\": \"Plugin Update\",\n        \"sensorType\": \"contact\",\n        \"failureSensorType\": \"motion\",\n        \"checkNodeUpdates\": true,\n        \"checkNpmUpdates\": true,\n        \"checkHomebridgeUpdates\": true,\n        \"checkHomebridgeUIUpdates\": true,\n        \"checkPluginUpdates\": true,\n        \"checkDockerUpdates\": false,\n        \"initialCheckDelay\": 10,\n        \"autoUpdateNode\": false,\n        \"autoUpdateNpm\": false,\n        \"autoUpdateHomebridge\": false,\n        \"autoUpdateHomebridgeUI\": false,\n        \"autoUpdatePlugins\": false,\n        \"allowDirectNpmUpdates\": false,\n        \"autoRestartAfterUpdates\": false,\n        \"respectDisabledPlugins\": true,\n        \"enableMatter\": true\n    }\n]\n```\n\n#### Fields\n\nAll sensor type options are:\n\n- `motion`\n- `contact`\n- `occupancy`\n- `humidity`\n- `light`\n- `air`\n- `leak`\n- `smoke`\n- `dioxide`\n- `monoxide`\n\n`failureSensorType` also supports `none` to disable the failure sensor.\n\n| Field | Description | Default |\n| --- | --- | --- |\n| `platform` | Must always be `HomebridgeUpdater` | Required |\n| `name` | Accessory name shown in Home app | `Plugin Update` |\n| `sensorType` | Sensor type for the main update sensor | `motion` |\n| `failureSensorType` | Sensor type for auto-update failure status, or `none` to disable | `motion` |\n| `checkNodeUpdates` | Check for newer Node.js LTS versions | `false` |\n| `checkNpmUpdates` | Check for newer npm versions when npm is installed | `false` |\n| `checkHomebridgeUpdates` | Check for Homebridge server updates | `true` |\n| `checkHomebridgeUIUpdates` | Check for Homebridge Config UI updates | `true` |\n| `checkPluginUpdates` | Check for installed plugin updates | `true` |\n| `checkDockerUpdates` | Check for newer Docker image versions when running in Docker | `false` |\n| `initialCheckDelay` | Delay in seconds before the first check after startup | `10` |\n| `autoUpdateNode` | Automatically run Node.js updates using `hb-service update-node` when supported | `false` |\n| `autoUpdateNpm` | Automatically update npm when a newer version is available | `false` |\n| `autoUpdateHomebridge` | Automatically update Homebridge | `false` |\n| `autoUpdateHomebridgeUI` | Automatically update Homebridge Config UI | `false` |\n| `autoUpdatePlugins` | Automatically update plugins | `false` |\n| `allowDirectNpmUpdates` | Allow direct npm update commands when UI API is unavailable | `false` |\n| `autoRestartAfterUpdates` | Restart Homebridge after successful auto-updates | `false` |\n| `respectDisabledPlugins` | Respect hidden update notifications configured in Homebridge UI | `true` |\n| `enableMatter` | Enable Matter support when available in Homebridge | `true` |\n\n## How It Works\n\n- The plugin checks selected update sources on a schedule.\n- If any enabled source has updates, the main sensor is set to active.\n- If automatic updates are enabled and an update/restart fails, the failure sensor is set to active.\n- If no auto-update options are enabled, the failure sensor is automatically not exposed.\n\n## Automatic Updates\n\nWhen automatic updates are enabled, the plugin will:\n\n1. Attempt to create a backup before updates when Homebridge UI is available.\n2. Perform configured updates (Node.js, Homebridge, Homebridge UI, plugins).\n3. Optionally restart Homebridge if `autoRestartAfterUpdates` is enabled.\n4. Surface failures through the failure sensor.\n\nAutomatic updates are disabled by default. Enable them only if your environment has appropriate permissions and you are comfortable with unattended updates.\n\nIf Homebridge UI is not configured, automatic updates require `allowDirectNpmUpdates: true`.\n\nIf npm is not installed in your environment, npm checks and npm auto-update are skipped safely.\n\n## Docker Notes\n\nDocker update checks are notification-only. The plugin does not attempt in-container self-updates by design, to avoid interrupting or corrupting the running container.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhomebridge-plugins%2Fhomebridge-updater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhomebridge-plugins%2Fhomebridge-updater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhomebridge-plugins%2Fhomebridge-updater/lists"}