Skip to content

Verification Request: homebridge- #1168

Closed

Description

@dabs79

Plugin Name

homebridge-airtouch2plus

Link To GitHub Repo

https://github.com/dabs79/Homebridge-AirTouch2plus

Plugin Icon (Optional)

Image

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

A dynamic platform plugin for the Polyaire AirTouch 2+ ducted air conditioning controller, targeting the current firmware whose local API runs on TCP port 9200.

Existing AirTouch plugins don't cover this: the older homebridge-airtouch2plus-platform (npm 0.0.1, unmaintained) predates the port 9200 firmware and no longer connects, and the verified homebridge-airtouch5-platform targets the different AirTouch 5 protocol. This plugin is a fresh TypeScript implementation of the AirTouch 2+ protocol, verified byte-for-byte against the maintained nathanvdh/airtouch2-python reference library (used by the Home Assistant integration), including CRC-16/MODBUS checksums and all control/status message framing.

Link To NPM Package: https://www.npmjs.com/package/homebridge-airtouch2plus

Functionality:

AC unit as a HeaterCooler (power, Heat/Cool/Auto, setpoint, current temperature), with supported modes and setpoint limits read from the unit's ability message.
Each zone as a Fan (on/off + damper position), with zone names read from the console.
Dedicated Fan-speed accessory (Apple Home doesn't render the fan slider on a HeaterCooler tile).
Fan-only and Dry mode tiles (HeaterCooler has no FAN/DRY state).
Persistent socket with TCP keepalive, application heartbeat, and auto-reconnect.
Full config schema; each accessory type can be enabled/disabled.

If it overlaps with any existing verified plugin (e.g. an AirTouch/MyPlace-family plugin), happy to clarify the differences — this one is specific to the AirTouch 2+ port 9200 firmware, which the others don't support.

Activity

  1. github-actions commented on Aug 11, 2026

    @github-actions
    Contributor

    🔴 Failed Checks

    • Package JSON: keywords must include at least one of 'supports-hap' or 'supports-matter' — see Declaring Supported Transports
    • Config Schema JSON: schema is invalid - required should not be a boolean property on individual fields. In JSON Schema, required must be an array at the object level listing required property names. Remove "required": true/false from individual properties and use "required": ["property1", "property2"] at the object level instead.

    🟢 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 22
    • Package JSON: engines.node property is compatible with Node 24
    • Package JSON: engines.homebridge property is compatible with Homebridge 2.3.1
    • Package JSON: initializer function found
    • NPM Package: has not been deprecated
    • GitHub Repo: version in package.json (v1.8.0) matches NPM version (v1.8.0)
    • Config Schema JSON: exists and is valid JSON
    • Config Schema JSON: contains a valid pluginAlias
    • Config Schema JSON: pluginAlias matches the platform/accessory registered in code
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: homebridge is not declared as a runtime/peer/bundled dependency
    • Dependencies: hap-nodejs is not declared as a runtime/peer/bundled dependency
    • Security: no known vulnerabilities in dependencies
    • Security: no unsafe code patterns detected
    • Security: no privilege escalation attempts detected
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases

    ℹ️ Check Details

    • These checks were run against v1.8.0 of the plugin.
    • Link to the run workflow: visit →.

    📋 Next Steps

    • Once you have fixed these failures, comment /check on this issue to run the checks again — your request will not move forward until the checks are re-run.
    • If updating your package.json and config.schema.json files, don't forget to publish a new version to NPM.
    • Remember this is an automatic script: if you think something has been marked as a failure in error, let us know with a reply.
    • Feel free to ask any questions you have by replying to this issue.
  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 11, 2026
  3. dabs79 commented on Aug 11, 2026

    @dabs79
    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 11, 2026
  5. github-actions commented on Aug 11, 2026

    @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: keywords declare the supported transports ('supports-hap' and/or 'supports-matter')
    • 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.node property is compatible with Node 24
    • Package JSON: engines.homebridge property is compatible with Homebridge 2.3.1
    • Package JSON: initializer function found
    • NPM Package: has not been deprecated
    • GitHub Repo: version in package.json (v1.8.1) matches NPM version (v1.8.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: pluginAlias matches the platform/accessory registered in code
    • Config Schema JSON: the pluginType is set to 'platform'
    • Config Schema JSON: contains a name schema property
    • Dependencies: homebridge is not declared as a runtime/peer/bundled dependency
    • Dependencies: hap-nodejs is not declared as a runtime/peer/bundled dependency
    • Security: no known vulnerabilities in dependencies
    • Security: no unsafe code patterns detected
    • 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: plugin shuts down cleanly within 12s of SIGTERM
    • Runtime: plugin restarts cleanly without port conflicts
    • GitHub Repo: repository is public
    • GitHub Repo: repository is not archived
    • GitHub Repo: issues are enabled
    • GitHub Repo: contains releases

    ℹ️ Check Details

    • These checks were run against v1.8.1 of the plugin.
    • Link to the run workflow: visit →.

    📋 Next Steps

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

  6. added a commit that references this issue on Aug 13, 2026
  7. added
    verifieduse when a plugin meets the criteria - adds the verified badge text
    on Aug 13, 2026
  8. github-actions commented on Aug 13, 2026

    @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
  9. bwp91 commented on Aug 13, 2026

    @bwp91
    Contributor

    Verified, and your icon is in — it should start showing in the UI within the hour.

    Nice plugin to read. No dependencies at all, nothing written to disk, and it never leaves the local network — which for a console that speaks its own protocol on port 9200 is exactly right. The TCP client was the part I looked at hardest, and it holds up: error and close handlers, backoff on reconnect, and an idle check that assumes a stale connection and starts again rather than sitting there quietly doing nothing.

    For the record on uniqueness: the only verified AirTouch plugin covers the 5, which is a different generation on a different API, so there was no real overlap to weigh.

    One small ask. You have 10 tags but 3 GitHub releases. Releases are not a blocker and I have not held anything up for it — but release notes show up inside the Homebridge UI when someone updates a plugin, so they are read far more than you would think. Worth adding going forward, even a line each.

    Thanks for contributing it.

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