Skip to content
homebridgePublic

About

The https://developers.homebridge.io/analytics Website, for reporting on homebridge metrics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

2 watching

Forks

Repository files navigation

developers.homebridge.io/analytics

This repo contains the Homebridge Plugin Analytics site

https://developers.homebridge.io/analytics

And some static reports

Linking to a filtered view

The site reads its filters and sorting from the query string, and updates the URL as they change, so any view can be shared as a link. Values left at their defaults are left out of the URL, and unknown parameters are ignored.

Parameter Values Default
name, description, version, owner Text, matched anywhere in the field, case-insensitive
downloads npm downloads last week, a number
downloadsComparison equal, greater, less equal
githubStars GitHub stars, a number
githubStarsComparison equal, greater, less equal
created Date, YYYY-MM-DD
createdComparison after, before after
lastUpdated Date, YYYY-MM-DD
lastUpdatedComparison after, before after
verified true, false
homebridge2Compatibility Supported, Not ready
transport HAP, Matter, HAP + Matter
starDataQuality potential-mismatch
sort name, description, version, owner, downloads, githubStars, created, lastUpdated, homebridge2Compatibility, verified, transport
order desc; anything else sorts ascending

Values with spaces or + must be URL-encoded, e.g. Not%20ready or HAP%20%2B%20Matter.

Examples:

Data collection

GitHub star counts are cached in homebridge_plugins.json and refreshed incrementally. With GITHUB_TOKEN configured, the collector refreshes at most 4,000 repositories per run and considers counts fresh for seven days. Unauthenticated runs are capped at 50 requests. Set GITHUB_STAR_REQUEST_LIMIT, GITHUB_STAR_REFRESH_DAYS, or GITHUB_STAR_CONCURRENCY to override the authenticated defaults.

npm download counts for unscoped packages use bulk requests. Because npm does not support scoped packages in bulk lookups, scoped counts are cached and refreshed incrementally (100 per run by default). Transient failures are retried, and cached counts are retained if npm rate-limits the collector. Set NPM_SCOPED_DOWNLOAD_REQUEST_LIMIT, NPM_DOWNLOAD_REFRESH_DAYS, or NPM_DOWNLOAD_REQUEST_DELAY_MS to override those defaults.

The production collector paginates through all Homebridge plugins reported by npm, deduplicates package names, and stops if npm repeats a page. Set PLUGIN_LIMIT to a positive number only when a smaller local test run is desired. MAX_PLUGIN_SEARCH_PAGES defaults to 100 as a defensive safeguard against upstream pagination failures.

About

The https://developers.homebridge.io/analytics Website, for reporting on homebridge metrics

Resources

Contributing

Security policy

Stars

2 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages