Skip to content

Verification Request: homebridge-blink-for-home-new #861

Closed

Description

@MBRO95

Plugin Name

homebridge-blink-for-home-new

Link To GitHub Repo

https://github.com/Flomentum-Solutions/homebridge-blink-for-home-new

Plugin Icon (Optional)

No response

The plugin does not offer the same nor less functionality than that of any existing verified plugin.

🟢 Yes

The plugin successfully installs and does not start unless it is configured.

🟢 Yes

The plugin does not require the user to run Homebridge in a TTY or with non-standard startup parameters, even for initial configuration.

🟢 Yes

The plugin does not contain any analytics or calls that enable you to track the user.

🟢 Yes

If the plugin needs to write files to disk (cache, keys, etc.), it stores them inside the Homebridge storage directory.

🟢 Yes

The plugin does not throw unhandled exceptions, the plugin must catch and log its own errors.

🟢 Yes

More Information

Why this new package exists
The original Blink plugin for Homebridge was archived and has PRs/issues disabled. That prevents any security fixes or compatibility updates from landing. Blink’s backend changed (regional shard routing, stricter rate limits, fussier headers), so users on the archived package face frequent breakage. This fork is a clean, maintained successor, published under a new npm name to continue support.

Old repo: archived, PRs closed → no path to ship fixes
New repo: actively maintained, semver releases, UI schema, and ongoing compatibility updates


Summary of improvements

  1. Shard-aware API routing (prod → u00x)

    • Login (and /api/v1/account/tier_info) stay on rest-prod.immedia-semi.com.
    • After login we automatically pivot all other requests to the discovered shard (e.g., rest-u003.immedia-semi.com).
    • Eliminates cross-region flakiness and aligns with current Blink app behavior.
  2. Rate limiting + 429 backoff (stability under load)

    • Central request wrapper with a conservative limiter (~1 req/sec) and retries that honor Retry-After on HTTP 429.
    • Prevents the “Too Many Requests → accessories offline” spiral many users saw.
  3. FFmpeg reliability (explicit path + bundled fallback)

    • New ffmpegPath option; if unset, we auto-resolve a managed ffmpeg binary (ffmpeg-for-homebridge) before falling back to system ffmpeg.
    • Clear logging on ENOENT and safer spawn handling.
  4. Header / User-Agent refresh

    • Updated to a current mobile Blink client fingerprint.
    • Matches what stable community clients send today; reduces 401/406 auth loops.
  5. Traffic smoothing

    • Optional staggered thumbnail refresh to avoid burst calls when multiple cameras update at once.
  6. Homebridge UI integration

    • config.schema.json included for a proper Settings screen (no manual JSON).
    • Clear field names for email/password/2FA PIN, region override (optional), and ffmpegPath.
  7. Engines + docs

    • Tested on Homebridge v1.11.x and Node 22.x (supports current LTS lines).
    • README updated with limitations (Blink live view constraints), troubleshooting, and migration notes.

No breaking changes to core configuration. Existing users can copy their credentials over; PIN flow is unchanged.


Why a new package name (and verification)

  • The upstream maintainer archived the project and disabled PRs, so we cannot ship fixes under the original name.
  • Publishing under a new name allows timely updates, security fixes, and user support.
  • We meet Homebridge verification expectations:
    • homebridge-plugin keyword and proper naming
    • config.schema.json for UI
    • clear README, CHANGELOG, LICENSE (MIT; original authors credited)
    • semver releases; active maintenance policy

Maintenance & support commitment

  • Ongoing compatibility with Blink API changes (headers, auth, endpoints, rate limits).
  • Issue triage within 7 days, patch releases for regressions.
  • No telemetry; credentials stay in Homebridge config; tokens only held in memory.
  • CI checks (lint/build) and semver tagging for each release.

Migration notes for users (from the archived plugin)

  1. Uninstall the archived package in Homebridge UI.
  2. Install homebridge-blink-for-home-new (this repo).
  3. Open Settings and enter the same Blink credentials and (once) the 2FA PIN after approving the device via email.
  4. Optional: set ffmpegPath if your system ffmpeg is non-standard.

Ask to the Homebridge team

  1. Please verify this new package as the maintained successor to the archived Blink plugin so users can find the stable option in search and trust it will receive updates.
  2. If the original maintainer returns and wants to revive upstream, I’m happy to coordinate and, if appropriate, deprecate this package in favor of a unified path.

Activity

  1. github-actions commented on Aug 12, 2025

    @github-actions
    Contributor

    🔴 The following checks failed:

    • Package JSON: homepage missing or does not start with https://
    • Package JSON: bugs.url missing
    • Package JSON: engines.node property is not compatible with Node 20

    🟢 The following checks passed:

    • Installation: successfully installed
    • Package JSON: keywords exist and contain 'homebridge-plugin'
    • Package JSON: 'preinstall' in scripts is not present
    • Package JSON: 'install' in scripts is not present
    • Package JSON: 'postinstall' in scripts is not present
    • Package JSON: engines.node property is compatible with Node 22
    • Package JSON: engines.homebridge property is compatible with Homebridge 1.11.0
    • Package JSON: initializer function found
    • NPM Package: has not been deprecated
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: homebridge was not installed as a dependency
    • Dependencies: hap-nodejs was not installed as a dependency

    ⚠️ Please action these failures and then comment /check to run the checks again. Let us know if you need any help.

    If updating your package.json and config.schema.json files, don't forget to publish a new version to NPM.

  2. added
    awaiting-changesuse after review has started - awaiting user to make changes to plugin
    and removed
    pendingthe label given to a new verification/icon request
    on Aug 12, 2025
  3. MBRO95 commented on Aug 12, 2025

    @MBRO95
    Author

    /check

  4. added
    pendingthe label given to a new verification/icon request
    and removed
    awaiting-changesuse after review has started - awaiting user to make changes to plugin
    on Aug 12, 2025
  5. github-actions commented on Aug 12, 2025

    @github-actions
    Contributor

    🔴 The following checks failed:

    • GitHub Repo: should have issues enabled
    • GitHub Repo: should contain releases

    🟢 The following checks passed:

    • Installation: successfully installed
    • Package JSON: homepage exists
    • Package JSON: bugs.url exists and seems a valid URL
    • Package JSON: keywords exist and contain 'homebridge-plugin'
    • Package JSON: 'preinstall' in scripts is not present
    • Package JSON: 'install' in scripts is not present
    • Package JSON: 'postinstall' in scripts is not present
    • Package JSON: engines.node property is compatible with Node 20
    • Package JSON: engines.node property is compatible with Node 22
    • Package JSON: engines.homebridge property is compatible with Homebridge 1.11.0
    • Package JSON: initializer function found
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • NPM Package: has not been deprecated
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: homebridge was not installed as a dependency
    • Dependencies: hap-nodejs was not installed as a dependency

    ⚠️ Please action these failures and then comment /check to run the checks again. Let us know if you need any help.

    If updating your package.json and config.schema.json files, don't forget to publish a new version to NPM.

    These checks were run against v0.0.2 of the plugin.

  6. added
    awaiting-changesuse after review has started - awaiting user to make changes to plugin
    and removed
    pendingthe label given to a new verification/icon request
    on Aug 12, 2025
  7. MBRO95 commented on Aug 12, 2025

    @MBRO95
    Author

    /check

  8. added
    pendingthe label given to a new verification/icon request
    and removed
    awaiting-changesuse after review has started - awaiting user to make changes to plugin
    on Aug 12, 2025
  9. github-actions commented on Aug 12, 2025

    @github-actions
    Contributor

    🟢 The following checks passed:

    • Installation: successfully installed
    • Package JSON: homepage exists
    • Package JSON: bugs.url exists and seems a valid URL
    • Package JSON: keywords exist and contain 'homebridge-plugin'
    • Package JSON: 'preinstall' in scripts is not present
    • Package JSON: 'install' in scripts is not present
    • Package JSON: 'postinstall' in scripts is not present
    • Package JSON: engines.node property is compatible with Node 20
    • Package JSON: engines.node property is compatible with Node 22
    • Package JSON: engines.homebridge property is compatible with Homebridge 1.11.0
    • Package JSON: initializer function found
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases
    • NPM Package: has not been deprecated
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: homebridge was not installed as a dependency
    • Dependencies: hap-nodejs was not installed as a dependency

    🎉 All checks passed successfully, nice work! Your plugin and/or icon will now be manually reviewed by the Homebridge team.

    These checks were run against v0.0.2 of the plugin.

  10. 19 remaining items

  11. added
    pendingthe label given to a new verification/icon request
    on Dec 1, 2025
  12. github-actions commented on Dec 1, 2025

    @github-actions
    Contributor

    🟢 Passed Checks

    • Installation: successfully installed
    • Package JSON: homepage exists
    • Package JSON: bugs.url exists and seems a valid URL
    • Package JSON: keywords exist and contain 'homebridge-plugin'
    • Package JSON: 'preinstall' in scripts is not present
    • Package JSON: 'install' in scripts is not present
    • Package JSON: 'postinstall' in scripts is not present
    • Package JSON: engines.node property is compatible with Node 20
    • Package JSON: engines.node property is compatible with Node 22
    • Package JSON: engines.node property is compatible with Node 24
    • Package JSON: engines.homebridge property is compatible with Homebridge 1.11.1
    • Package JSON: initializer function found
    • NPM Package: has not been deprecated
    • GitHub Repo: version in package.json (v0.2.1) matches NPM version (v0.2.1)
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains valid JSON Schema
    • Config Schema JSON: schema has valid type property
    • Config Schema JSON: schema has valid properties for object type
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: homebridge was not installed as a dependency
    • Dependencies: hap-nodejs was not installed as a dependency
    • Security: no known vulnerabilities in dependencies
    • Security: code patterns flagged for manual review
    • Security: no privilege escalation attempts detected
    • Runtime: homebridge installed successfully
    • Runtime: no config - homebridge should start without plugin configuration and plugin should not load
    • Runtime: platform only - plugin should start with just platform property
    • Runtime: minimal required - plugin should start with minimal required configuration
    • Runtime: full config - plugin should start with comprehensive configuration
    • Runtime: network resilience - plugin should handle network failures without crashing
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases

    🔍 For Manual Review

    The following items were detected and require manual review. We understand that these items may be false positives.

    • Security: accesses environment files in src/blink-api.js, src/blink-cli.js and 1 more

    ℹ️ Check Details

    • These checks were run against v0.2.1 of the plugin.
    • Link to the run workflow: visit →.
    • External HTTP requests detected:
      • 📡 https://api.oauth.blink.com/oauth/token
        Methods: POST | Count: 3 | Scenarios: full config, network resilience
      • 📡 https://rest-test-value.immedia-semi.com/api/v3/accounts/1/homescreen
        Methods: GET | Count: 1 | Scenarios: full config

    📋 Next Steps

    All checks passed successfully, nice work! Your plugin and/or icon will now be manually reviewed by the Homebridge team.

  13. removed
    pendingthe label given to a new verification/icon request
    on Dec 1, 2025
  14. bwp91 commented on Dec 1, 2025

    @bwp91
    Contributor

    Hi @MBRO95

    out of interest, what is the call to https://rest-test-value.immedia-semi.com/api/v3/accounts/1/homescreen for?

  15. added
    awaiting-user-replyuse after review has started - awaiting user to reply to a comment
    on Dec 1, 2025
  16. MBRO95 commented on Dec 1, 2025

    @MBRO95
    Author

    Hey @bwp91, that call is made as part of the simulated user agent flow to not have the Blink servers flag this as bot activity. The plugin emulates an iPhone running the Blink iOS app and that's the expected call flow.

  17. added
    pendingthe label given to a new verification/icon request
    and removed
    awaiting-user-replyuse after review has started - awaiting user to reply to a comment
    on Dec 1, 2025
  18. added
    verifieduse when a plugin meets the criteria - adds the verified badge text
    and removed
    pendingthe label given to a new verification/icon request
    on Dec 1, 2025
  19. github-actions commented on Dec 1, 2025

    @github-actions
    Contributor

    Congratulations! Your plugin has been verified!

    You can now add one of the Verified by Homebridge badges to your plugin's README:

    verified-by-homebridge

    [![verified-by-homebridge](https://img.shields.io/badge/_-verified-blueviolet?color=%23491F59&style=flat&logoColor=%23FFFFFF&logo=homebridge)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
    

    verified-by-homebridge

    [![verified-by-homebridge](https://img.shields.io/badge/homebridge-verified-blueviolet?color=%23491F59&style=flat)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
    

    verified-by-homebridge

    [![verified-by-homebridge](https://img.shields.io/badge/homebridge-verified-blueviolet?color=%23491F59&style=for-the-badge&logoColor=%23FFFFFF&logo=homebridge)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
    

    Your plugin is now also eligible to display a ❤️ Donate button on its tile in the Homebridge UI. See https://github.com/homebridge/homebridge/wiki/Donation-Links for instructions.

    Interested in getting a @homebridge-plugins/ scope for your plugin? See our Homebridge Scoped Plugins program.

    If for any reason in the future you can no longer maintain your plugin, please consider transferring it to our Homebridge Plugins organization.

    Don't forget to join the official Homebridge Discord server, where plugin developers can get tips and advice from other developers and the Homebridge project team in the #plugin-development channel!

    As a verified plugin, you can request a channel in the Discord server to discuss your plugin with users and other developers. Just ask in the #plugin-development channel.

    Thank you for your contribution to the Homebridge community.

    • The Homebridge Team
  20. added a commit that references this issue on Dec 1, 2025
  21. bwp91 commented on Dec 1, 2025

    @bwp91
    Contributor

    thanks for the clarification there!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    request-verificationverifieduse when a plugin meets the criteria - adds the verified badge text

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions