{"_id":"@atdr/homebridge-philipsair-platform","_rev":"24-f2dbbc830708d8efd40e512479fa30b6","name":"@atdr/homebridge-philipsair-platform","dist-tags":{"latest":"1.3.1","beta":"1.3.1-beta.2"},"versions":{"1.1.0":{"name":"@atdr/homebridge-philipsair-platform","version":"1.1.0","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.1.0","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"67d9bbfe5dc8b406f63d23b53ffeea5a71c05b39","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.1.0.tgz","fileCount":17,"integrity":"sha512-hN4s7xVHT9rkdfO0xDR8dzZb6hNSg57aTk465KewXmLsECD5sQOWpHBvBh6nmkpT64U8Nq0o3774BQeJhnrD2A==","signatures":[{"sig":"MEUCIQDPjrWYm818NWtXttET/8gW8spvGt1s9fsP93/E2lIvjAIgKA95g12SJobin6RDfhAx67Veo9QzAihDdh0OyGI+2os=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59614},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0-beta.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"242d7c5119561d0ea223452646db704f804b3c77","scripts":{"lint":"eslint --fix .","test":"","build":"rimraf ./dist","watch":"npm run build && npm link && nodemon","prepublishOnly":"npm i --package-lock-only && npm audit fix && npm run lint"},"_npmUser":{"name":"atdr","email":"andreasrichardson1999@gmail.com"},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.9.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.2.0","rimraf":"^3.0.2","nodemon":"^3.1.14","prettier":"^2.4.1","homebridge":"^1.11.0","@babel/core":"7.16.0","eslint-plugin-jest":"^25.2.3","@babel/eslint-parser":"7.16.0","@babel/eslint-plugin":"7.14.5","eslint-plugin-import":"^2.25.2","eslint-plugin-unicorn":"^38.0.0","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.1.0_1772977720090_0.6284622835391971","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-beta.1":{"name":"@atdr/homebridge-philipsair-platform","version":"1.2.0-beta.1","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.2.0-beta.1","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"1e2d6f520e07235706817f7165eb83ece8ce17e7","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.2.0-beta.1.tgz","fileCount":15,"integrity":"sha512-yiB3KEtTD582e9p7GFi0oNuBXtKGEBtzUUKFFpy4ZvF9ARAJMFjxwCTtV8Yv+S666eHU+h6WevBD1HuCP6UpJg==","signatures":[{"sig":"MEUCIFKupOBKMIOkiYmlToQYMMxHqt8QLAltd6V6Gj+BzTDoAiEAszE/kOeHuXQcFU9lZrdYwWax2ed9OZQWuZt/X4RYvbI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.2.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":65566},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"6b8bdd22e2cb5f434e05f9ba28c8a00551957fa5","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.2.0-beta.1_1786929339800_0.1288219288457455","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-beta.2":{"name":"@atdr/homebridge-philipsair-platform","version":"1.2.0-beta.2","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.2.0-beta.2","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"453bf24068abfadfa0f08d1e3fc507df10c4f78b","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.2.0-beta.2.tgz","fileCount":15,"integrity":"sha512-hgSy5FxTlo17liIrZgGz5vEwOTB3OMW5W11vGr7WKp+6C/F/3z8aFj62S0IBI40uSyWi99MFHZv1Gcj9TVyqrg==","signatures":[{"sig":"MEUCIFSKKDcsMcDnnblQPGhM0Dkgawg4yzuHUJNwsikcpTvtAiEAtq+T+fZDb+kEzPLxCqLOq0RDtFA3O3FyVjn6/YbmCso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.2.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":72827},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"cdc23583f429e2de40fcad84e42031f63431434c","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.2.0-beta.2_1787005319140_0.8200035013433233","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-beta.3":{"name":"@atdr/homebridge-philipsair-platform","version":"1.2.0-beta.3","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.2.0-beta.3","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"6b75b645d58df1bd16b3eb6284be093c4035c0db","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.2.0-beta.3.tgz","fileCount":15,"integrity":"sha512-ZsyfCnS8fhMlHSXoilvwPuLWQxkeGbkqB6O5/Cgo8gX7ZKRPNzeLd0yZa5wucApbG3q1fMl5thtsiCqpEJyGjA==","signatures":[{"sig":"MEQCIFYYtVD6AskW7u7UekBbFySLCiVl7wEB4pjEELpWiXBQAiBBb7J7OtG6t/E/hFAAtbOjPhF6cqf0Le5r5s9mRs4WZQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.2.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":81940},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"6f50bb3c9f6701b017cd261b40ea411180999be2","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.2.0-beta.3_1787049007103_0.5106083775412724","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-beta.4":{"name":"@atdr/homebridge-philipsair-platform","version":"1.2.0-beta.4","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.2.0-beta.4","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"0eb21af0b2cb34799644a39029c8d8c02060f823","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.2.0-beta.4.tgz","fileCount":15,"integrity":"sha512-J5QlObIjGTRPO15tGxawMkipVvAc60xr1PECHEzj/sz2O7dfvSU31KVIn9MtlR3nDUS2hFdxkTzmdbv3qjHKtQ==","signatures":[{"sig":"MEUCIE1qf2NWi8KjGWvVlD+lcZ5QrnBZ5pL6Yx7yJbi27n4eAiEAtDRX3j08h0vQoMPDPG9q5ajX6qmUQEvspxyJCsaqmkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.2.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":92518},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"deb2675a21cd7d2da0a58b232eb90aa45f5c5e0d","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.2.0-beta.4_1787061290960_0.05976663405326699","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-beta.5":{"name":"@atdr/homebridge-philipsair-platform","version":"1.2.0-beta.5","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.2.0-beta.5","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"e610cd5a4ba51896bb1b4e9715e21ef2c8918788","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.2.0-beta.5.tgz","fileCount":15,"integrity":"sha512-A0MZRYXoDm0bJ/OqQ8rLtPvozMmUhlvlV0udE3lLSjTB+ilFqb/JjqFHWECyOkGpWa6ay05+4pxxU1jwrSQKjg==","signatures":[{"sig":"MEUCIFQeIph3t0aKcFLrf5/eQiHHteV9eyOqxocg8XPSSIRaAiEA2e07kdCvHhMUpLgjeAp+H4s4fgk2ZX3bb647DTx0wnA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.2.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":98454},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"67b2f22db489ee8b8d5363185b6c7cdfafa4fb13","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.2.0-beta.5_1787083444411_0.22334113743323591","host":"s3://npm-registry-packages-npm-production"}},"1.2.0-beta.6":{"name":"@atdr/homebridge-philipsair-platform","version":"1.2.0-beta.6","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.2.0-beta.6","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"f0071a32abfe0ff833fb0afd4bb777f3bacda2a1","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.2.0-beta.6.tgz","fileCount":16,"integrity":"sha512-4oi8aJgRe3XHkHkbgILEQfSnYtM1hkhZyjelCN9HFN7/lItIIYtfT8Ji7KpJRedSqCUPhf/ZnPHXuajdRClOCQ==","signatures":[{"sig":"MEQCIDznuXmjg8GLcamr3S04b8q48kzDlED+WXa9mMBQoCskAiAlodO1jfmD8LUp7Z88GLQACiDAS2hv4pdjerV4gDX9uw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.2.0-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115477},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"6349959caf29fa70986697e2ffc4f708400aa2dc","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.2.0-beta.6_1787099922468_0.8669935732178684","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@atdr/homebridge-philipsair-platform","version":"1.2.1","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.2.1","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"96e6067aa078c266d27f280010cf411d3d57f084","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.2.1.tgz","fileCount":16,"integrity":"sha512-lAzAZ0vmTKeFn2eyWQ/4R4s9U7Zge+ABPTIRhXafKr1wPbQ8pPqM/4ODKEK6pT51HjStvfC79CGQFKDJvAwBFQ==","signatures":[{"sig":"MEQCIHQzW7UGlhMoC5EuFBffw1IHdsZsAAWrn8QCkhWdCegZAiBBullK8v+Kz2gF8yMrKr13shbePNjh/rFpFqaO+yn3OA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":115490},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"be35efae226fab169cfac56d794d09b63ea462cb","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.2.1_1787101566693_0.801441869264732","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.1":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.0-beta.1","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.0-beta.1","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"c33c5f5a0086de3b1ecb3004e34cfbca9d3e9a77","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.0-beta.1.tgz","fileCount":16,"integrity":"sha512-I04g6xd+Vjc0DOWnYsZ3xbdQNg1Hm4AbR/9hllYX5SrBwXdEsdezALR7+zPikER24TwR9PNiD/7P3yxx5Y4m7Q==","signatures":[{"sig":"MEUCIBuPD7mNzI8jHoaFPKrZj8Bc9xOdSZCZUOV5OuAtb5L5AiEAz3pLmCdVXIFuCENMW/bVTTJH9LPn1ETc99k5+CJbG7k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.0-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":133843},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"37540fd7eda15c990823a135d80f3938b6fa411e","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.0-beta.1_1787170738848_0.9771465053426751","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.2":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.0-beta.2","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.0-beta.2","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"ffd5a7488654473cff6423d1d6e96d0551ba0c6c","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.0-beta.2.tgz","fileCount":16,"integrity":"sha512-5JX6icWA5k7znvFWwSe7w4jMPTSyM6LUYyLQ+NTqwDZr1xIAzy7BsmIpvU5SnKB1x/9Rk5DGDnuHI8mLnYf3RQ==","signatures":[{"sig":"MEYCIQCFepgfk2XefaDVXwcjzWIRR0iiOjVVnWT+RssD7Df/SAIhANkjNHpB52ZvXO+9Cn4t5V9nG1ZzYvUm68T/vbHTY4Ws","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.0-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":134127},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"6e6b9ff8cb3365bfee4743c0bf3bdaf39931a22e","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.0-beta.2_1787171495299_0.3737754476238593","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.3":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.0-beta.3","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.0-beta.3","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"fad10d2ccd07c25df544963642284aa47372dda7","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.0-beta.3.tgz","fileCount":16,"integrity":"sha512-cXlH67FfiZaVhXpjYOKMt9dVBZmyaadIqADySYSEUeKwRsA2+kB+f4XSpFZqNJgJOm2OhivHZhcqwXXJXdYDQw==","signatures":[{"sig":"MEUCIQCMHpvDS0EMDTaozOaRo++n44uZysZbEtgsDCCsiBJzKwIgA4MgH4ur7vixy9zytHqIR0xAjwycnxS354Exlu05mWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.0-beta.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":143738},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"b49460ef79423b24b27c4909c8f0babffdc06b6c","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.0-beta.3_1787266972582_0.04006142225317699","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.4":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.0-beta.4","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.0-beta.4","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"eb8b2f3e90122a9a145f8bb9ea87f6c09464fefd","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.0-beta.4.tgz","fileCount":16,"integrity":"sha512-gBOcs4cka5VjE9pSdei8O00uVnq+thrmOCEXt/qCZJ17D2kC2M3mlKknRT2vWwOnj1gtvo3H3DbMtMenZmBoTQ==","signatures":[{"sig":"MEUCIC0qNLmFwac4hAuriukoah9c957tb1SLym98JJRrEJbTAiEA7XU4IVPE+v7noB60S4nmeZwKAeyV1DNSm0EldtIQN9c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.0-beta.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":146000},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"866e2f0e61eef3e1fc2a74dbdc21e4e32385561b","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.0-beta.4_1787661551466_0.5340027011848947","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.5":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.0-beta.5","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.0-beta.5","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"c95657e5ae8b993eea4da9fdca5bb111f6ec815c","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.0-beta.5.tgz","fileCount":16,"integrity":"sha512-/pR11ANuPIWTXcAwrXRMfpPNN8XSx4GtLmCf0ihIz8OQl9nRATK8y839/MaU72CX2gkAZp7crviMl2E65R4YOA==","signatures":[{"sig":"MEUCIQDFMJvde96Ky2hGbHPw0EcZKJuORToeyIZ8xP7GGKk26wIgInRgOxr1Iv0fs8GSua4p2sJ8LpPdrd3aiAhB26cwG2g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.0-beta.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":157552},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"1012330681436d95bc227d91e6fc9e6c647c5927","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.0-beta.5_1787682418874_0.8830521535264004","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.6":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.0-beta.6","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.0-beta.6","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"2592d99adc778e726e70dffae3b1502941e60d69","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.0-beta.6.tgz","fileCount":16,"integrity":"sha512-NqOh19eAZqw0fijcYqrKQIUlOwYSwDSRutbAs4DzcTjfWEUbmZrW4PYM4U0jaWhAf8Uuv3kUVa3LOYY7gwvxtQ==","signatures":[{"sig":"MEYCIQCPMiA/Z3uSa3wFBfpkc6pN2QxxQtG4apuMc87pht86JgIhAOX/1MKGCzdPjev3V3pfJ5FIHwJiU86jpIr1UGSw/6/H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.0-beta.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":168056},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"06aa34662d13860d1bf56428fe51085d3ac68d43","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.0-beta.6_1787782713943_0.891673274794772","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.7":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.0-beta.7","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.0-beta.7","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"da97fda8c82915e2b57f459e888b74e1d105cc30","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.0-beta.7.tgz","fileCount":16,"integrity":"sha512-SGyHfFsjLxIUkidO21lZtKqYnx/HsBctLoqDxagK9qgHFiBtiiKkD8QukF9A7qX5BHUfpv22eTw9HuxCcz2Rmg==","signatures":[{"sig":"MEUCIQD0vY9o4fCtFYGAf4uvzF6DrE91eYtIasab/LjiKAudUgIgAVIYUbmHQHJPjOFhEN4R6IuaHGLUjJbVk2u7cIrqYCY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.0-beta.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":170186},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"c4f00d7d918d3953f510f52061a4860018339c30","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.0-beta.7_1787853930552_0.799865272588554","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.8":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.0-beta.8","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.0-beta.8","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"0340b80d21b95b6cc7b562820082408cd00b1200","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.0-beta.8.tgz","fileCount":16,"integrity":"sha512-0fUa3Ieipc7B9c8aGfkoXrn2lsYNKIzdHmGe2T58QwDanjHeapaq8BapBqmIGIt3/3O+3uNg315hKG6l4Hwoxg==","signatures":[{"sig":"MEUCIFtlUtORhTAkvIpvl5m/PDOa1ahU0Tm6XBlAX1mh7AgrAiEAtedd4bRNUc0IAS5k1G5ZJBGkQpnl2du8LypenfsrEME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.0-beta.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":179455},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"93741805a6ff2bbcca2a53edcc09084faea29f46","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -not -path './.claude/worktrees/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md --ignore .claude/worktrees","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --ignore .claude/worktrees --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.0-beta.8_1787954320116_0.22687103293822486","host":"s3://npm-registry-packages-npm-production"}},"1.3.0-beta.9":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.0-beta.9","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.0-beta.9","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"0badba7c99d237f11759eea384a77538f70b3613","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.0-beta.9.tgz","fileCount":16,"integrity":"sha512-uEbOzlYyd0ZcSoYMeedcYtRMAiOBvZWz8HiBi7t/q0IUat3OirxVgqJeNp+06f0VPvOE8FlWh3XYCvSGnSN7QQ==","signatures":[{"sig":"MEYCIQCwDnPRgEpqi0c2dxqP9Kgz7WZVzX1cR4oFySw4afEdlAIhAOS2V8N96viVSJQIvL/+EzMozQyBzBiePzXjDc4FBaK9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.0-beta.9","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":179903},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"}],"gitHead":"a4b28f57b96bb1908255e46095efc02239d7c5fe","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -not -path './.claude/worktrees/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md --ignore .claude/worktrees","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --ignore .claude/worktrees --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.17.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.19.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.0-beta.9_1788300049752_0.8204099500005286","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.0","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.0","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"6240923d14673640ea963eca2e7f9237c09e133f","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.0.tgz","fileCount":16,"integrity":"sha512-4pIf/Rz6yxRQg2TpPoS6+Po6kiyK7a3wBZCot2MNsT11tTOqhjf+Qeb7W8VhfJOy5IY1+9HK5juH4g97QKuivg==","signatures":[{"sig":"MEYCIQD8+9KElEKM727IqEoNVwE46SLfe0XXSL5p0sKdjZBkUgIhAJR5pqJULztTsYySWmLAPxi0Ug+9hvP21D++fnDQqAuc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184079},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"},{"url":"https://paypal.me/atdr","type":"individual"}],"gitHead":"9707b9dbcd6442b07f8e9b18343362357c5430dc","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -not -path './.claude/worktrees/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md --ignore .claude/worktrees","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --ignore .claude/worktrees --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.19.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.0_1788629072080_0.4611288142578869","host":"s3://npm-registry-packages-npm-production"}},"1.3.1-beta.1":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.1-beta.1","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.1-beta.1","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"746a48e18ac3cc7bbff31b1ad3b8d2f957d4f4e2","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.1-beta.1.tgz","fileCount":16,"integrity":"sha512-pgTI+Oiv4iIEoe+ZtHLkHUKDqfDyPgov/9S9fTsd+xG2yBKbWcmBKmt0cwgFXtOtT6OsqT0gfMuIsWCPY6T0Cw==","signatures":[{"sig":"MEYCIQD4Ykm383GgzANWQ82egIjGNqIby1JriT+p/NdraTLQ2QIhANYEDt+vSwMl7m+iu4vLESxq0g1E2H6whTY9CjvQOwAR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.1-beta.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184086},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"},{"url":"https://paypal.me/atdr","type":"individual"}],"gitHead":"fcc4c0a120bbbee275e76632cae3714aed434cc1","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -not -path './.claude/worktrees/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md --ignore .claude/worktrees","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --ignore .claude/worktrees --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:f5395d96-fb5f-4866-a490-25701eb43827"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.19.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.1-beta.1_1788820647420_0.11152246682510736","host":"s3://npm-registry-packages-npm-production"}},"1.3.1-beta.2":{"name":"@atdr/homebridge-philipsair-platform","version":"1.3.1-beta.2","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"author":{"url":"https://github.com/atdr/homebridge-philipsair-platform","name":"atdr"},"license":"MIT","_id":"@atdr/homebridge-philipsair-platform@1.3.1-beta.2","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"dist":{"shasum":"42e1f0216c95afa25ae0a3855b16c2a57897643e","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.1-beta.2.tgz","fileCount":16,"integrity":"sha512-T8LGylPgoAwyjrsIk+5LeXNInbHszMaRUEQoVN7VK4L2G2Q/dfJ9pADLJt1XxLZAes6nDvfw/4v36ebXnETBRw==","signatures":[{"sig":"MEUCIFFkFGFEcbnwuyUuomNIRaQ+BKn9Zv79Uq1yOnDgrb0oAiEAqrPuXWfuBHxf58LAmGV8Q6PwebCNqQtCIYHDcs16iCk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.1-beta.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":184086},"main":"index.js","engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"url":"https://github.com/sponsors/atdr","type":"github"},{"url":"https://paypal.me/atdr","type":"individual"}],"gitHead":"c65ce59c787be1f9204c54e379bbd5ebf3d58dbf","scripts":{"lint":"eslint .","test":"node --test","check":"find . -name '*.js' -not -path './node_modules/*' -not -path './.claude/worktrees/*' -exec node --check {} ';'","watch":"npm link && nodemon","format":"prettier --write .","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md --ignore .claude/worktrees","prepare":"husky","lint:fix":"eslint --fix .","typecheck":"tsc","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --ignore .claude/worktrees --fix","format:check":"prettier --check .","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fe9940e1-4a9c-41e7-8bd7-b3eebe1276a0"}},"repository":{"url":"git+https://github.com/atdr/homebridge-philipsair-platform.git","type":"git"},"_npmVersion":"11.19.0","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","directories":{},"displayName":"Philips Air+ Platform","_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"husky":"^9.1.7","eslint":"^10.6.0","globals":"^17.7.0","nodemon":"^3.1.14","prettier":"^3.0.0","@eslint/js":"^10.0.1","homebridge":"^2.1.0","typescript":"^7.0.2","@types/node":"^26.1.1","@commitlint/cli":"^21.2.0","markdownlint-cli":"^0.49.0","eslint-config-prettier":"^10.0.0","@commitlint/config-conventional":"^21.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-philipsair-platform_1.3.1-beta.2_1788823153180_0.3258437512935144","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@atdr/homebridge-philipsair-platform","displayName":"Philips Air+ Platform","version":"1.3.1","description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","author":{"name":"atdr","url":"https://github.com/atdr/homebridge-philipsair-platform"},"scripts":{"lint":"eslint .","lint:fix":"eslint --fix .","format":"prettier --write .","format:check":"prettier --check .","typecheck":"tsc","check":"find . -name '*.js' -not -path './node_modules/*' -not -path './.claude/worktrees/*' -exec node --check {} ';'","lint:md":"markdownlint '**/*.md' --dot --ignore node_modules --ignore CHANGELOG.md --ignore .claude/worktrees","lint:md:fix":"markdownlint '**/*.md' --dot --ignore node_modules --ignore .claude/worktrees --fix","test":"node --test","watch":"npm link && nodemon","prepublishOnly":"npm run typecheck && npm run lint && npm run format:check && npm run check && npm run lint:md && npm run test","prepare":"husky"},"main":"index.js","publishConfig":{"access":"public"},"devDependencies":{"@commitlint/cli":"^21.2.0","@commitlint/config-conventional":"^21.2.0","@eslint/js":"^10.0.1","@types/node":"^26.1.1","eslint":"^10.6.0","eslint-config-prettier":"^10.0.0","globals":"^17.7.0","homebridge":"^2.1.0","husky":"^9.1.7","markdownlint-cli":"^0.49.0","nodemon":"^3.1.14","prettier":"^3.0.0","typescript":"^7.0.2"},"bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"engines":{"node":"^20.18.0 || ^22.10.0 || ^24.0.0","homebridge":"^1.8.0 || ^2.0.0"},"funding":[{"type":"github","url":"https://github.com/sponsors/atdr"},{"type":"individual","url":"https://paypal.me/atdr"}],"homepage":"https://github.com/atdr/homebridge-philipsair-platform","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/atdr/homebridge-philipsair-platform.git"},"gitHead":"62f5570016dc1fe17c7cd2ec1cfcb9b8cf320d59","_id":"@atdr/homebridge-philipsair-platform@1.3.1","_nodeVersion":"24.20.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-1NaXeRTipLiyasAsg9ZrOBw6bMUhznVnCJNijLpjOK+hMO/eixCr+6BRCHCNhyossuOPOscBuO+v/iqtialcuA==","shasum":"72b9424a058dffd504c45dcf94fa77741c0902ef","tarball":"https://registry.npmjs.org/@atdr/homebridge-philipsair-platform/-/homebridge-philipsair-platform-1.3.1.tgz","fileCount":16,"unpackedSize":184179,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@atdr%2fhomebridge-philipsair-platform@1.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC2S6Hfr53kzH3n5L94tXiq4Tm7zsYybo7uDruVTe4v9AIgMihOwvfcD4z+HFlxNp5AJK6AgHsYJxvYzX49zcawMwA="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:00fde72b-ddc8-49b5-b661-caae774944a7"}},"directories":{},"maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/homebridge-philipsair-platform_1.3.1_1788827227864_0.7126770335227575"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-08T13:48:40.000Z","modified":"2026-09-08T00:27:08.317Z","3.1.0":"2026-03-08T03:37:54.862Z","1.1.0":"2026-03-08T13:48:40.243Z","1.2.0-beta.1":"2026-08-17T01:15:39.953Z","1.2.0-beta.2":"2026-08-17T22:21:59.299Z","1.2.0-beta.3":"2026-08-18T10:30:07.261Z","1.2.0-beta.4":"2026-08-18T13:54:51.108Z","1.2.0-beta.5":"2026-08-18T20:04:04.547Z","1.2.0-beta.6":"2026-08-19T00:38:42.619Z","1.2.1":"2026-08-19T01:06:06.851Z","1.3.0-beta.1":"2026-08-19T20:18:58.993Z","1.3.0-beta.2":"2026-08-19T20:31:35.449Z","1.3.0-beta.3":"2026-08-20T23:02:52.726Z","1.3.0-beta.4":"2026-08-25T12:39:11.660Z","1.3.0-beta.5":"2026-08-25T18:26:59.026Z","1.3.0-beta.6":"2026-08-26T22:18:34.083Z","1.3.0-beta.7":"2026-08-27T18:05:30.703Z","1.3.0-beta.8":"2026-08-28T21:58:40.249Z","1.3.0-beta.9":"2026-09-01T22:00:49.888Z","1.3.0":"2026-09-05T17:24:32.253Z","1.3.1-beta.1":"2026-09-07T22:37:27.559Z","1.3.1-beta.2":"2026-09-07T23:19:13.296Z","1.3.1":"2026-09-08T00:27:08.012Z"},"bugs":{"url":"https://github.com/atdr/homebridge-philipsair-platform/issues"},"author":{"name":"atdr","url":"https://github.com/atdr/homebridge-philipsair-platform"},"license":"MIT","homepage":"https://github.com/atdr/homebridge-philipsair-platform","keywords":["philips","homebridge-plugin","air","purifier","homekit","humidifier","temperature","humidity"],"repository":{"type":"git","url":"git+https://github.com/atdr/homebridge-philipsair-platform.git"},"description":"Homebridge plugin for Philips air purifiers and humidifiers. Supports AC3036, AC1715, AC0850 and more.","maintainers":[{"name":"atdr","email":"andreasrichardson1999@gmail.com"}],"readme":"<p align=\"center\">\n    <img src=\"https://raw.githubusercontent.com/atdr/homebridge-philipsair-platform/main/images/logo.png\" alt=\"Plugin logo\" height=\"200\">\n</p>\n\n# homebridge-philipsair-platform\n\n[![npm](https://img.shields.io/npm/v/@atdr/homebridge-philipsair-platform.svg?style=flat-square)](https://www.npmjs.com/package/@atdr/homebridge-philipsair-platform)\n[![npm](https://img.shields.io/npm/dt/@atdr/homebridge-philipsair-platform.svg?style=flat-square)](https://www.npmjs.com/package/@atdr/homebridge-philipsair-platform)\n[![GitHub last commit](https://img.shields.io/github/last-commit/atdr/homebridge-philipsair-platform.svg?style=flat-square)](https://github.com/atdr/homebridge-philipsair-platform)\n[![CI](https://img.shields.io/github/actions/workflow/status/atdr/homebridge-philipsair-platform/ci.yml?style=flat-square&label=CI)](https://github.com/atdr/homebridge-philipsair-platform/actions/workflows/ci.yml)\n\nA [Homebridge](https://homebridge.io) plugin that brings Philips air purifiers and humidifiers into Apple Home. It talks to the device directly on your own network, over the encrypted CoAP protocol the purifiers use, with no Philips account and no cloud service in the path.\n\nIn the Home app you get:\n\n- An **air purifier** with power, fan speed, air quality and filter status\n- An optional separate **humidifier** accessory\n- Optional **temperature** and **humidity** sensors\n- The device's own **lights** as lightbulbs\n\nNot every model exposes every control. The AC0850, for example, reports no auto/manual mode and no child lock, so neither is offered in the Home app for that model; power, fan speed, air quality and filter status are unaffected.\n\n## Requirements\n\n- **Homebridge** `^1.8` or `^2.0`\n- **Node** `^20.18`, `^22.10`, or `^24`\n- **Python 3.12+** and the [`aioairctrl`](https://pypi.org/project/aioairctrl/) CLI, installed for the user that runs Homebridge. Device communication is not pure JavaScript: the plugin runs this command to speak the purifiers' protocol, and it is not installed automatically.\n- A Philips purifier on the same network, at an address that does not change\n\n## Quick start\n\n### 1. Install aioairctrl\n\n```bash\npipx install aioairctrl\nsudo -u homebridge aioairctrl --help\n```\n\nThe second command is the one that matters: the CLI has to run as the account Homebridge runs as, not just as you. The plugin runs the same check itself at startup and says what to fix in the log if it cannot run the command.\n\n<details>\n<summary>Other platforms, other install methods, and what to do if it is not on the PATH</summary>\n\nOn macOS, `brew install pipx`. On Windows, install Python from [python.org](https://www.python.org/downloads/) and then `py -m pip install --user pipx`. On Debian/Ubuntu, `sudo apt install python3 pipx` first.\n\nAny install method works (`pip install --user`, a virtualenv, `sudo python3 -m pip install --break-system-packages aioairctrl`) as long as the `aioairctrl` command is available to the Homebridge user.\n\nIf the executable is not on that user's PATH, which is common with pipx because it installs to `~/.local/bin`, run `which aioairctrl` and put the full path it prints into the **aioairctrl Path** option, e.g. `/home/pi/.local/bin/aioairctrl`.\n\nThe latest `aioairctrl` needs Python 3.12 or newer; on older Python versions pip and pipx fall back to an older release. If startup reports a problem, see [Cannot run aioairctrl](#cannot-run-aioairctrl).\n\n</details>\n\n### 2. Install the plugin\n\nSearch for `philipsair` on the **Plugins** page of the [Homebridge UI](https://github.com/homebridge/homebridge-config-ui-x), or install it from the command line:\n\n```bash\nsudo npm install -g @atdr/homebridge-philipsair-platform@latest\n```\n\n### 3. Give the purifier a fixed address\n\nThe plugin reaches your device at the address you configure and never rediscovers it. If your router hands out addresses by DHCP, that address can change when the lease renews, and the accessory then stops responding with nothing in the log to explain why.\n\nSet a **DHCP reservation** for the purifier on your router, sometimes called a static lease or an address reservation, and use the reserved address in the config. A hostname such as `purifier.local` works too, on a network that resolves it reliably.\n\n### 4. Add the device in the Homebridge UI\n\nOpen the plugin's settings, add a device, and fill in **Model**, **Name** and **Host Address**. Everything else has a working default, and the UI explains each field as you go.\n\n> [!IMPORTANT]\n> **Model** and **Name** are not interchangeable. **Model** is the ID printed on the device (`AC0850`), and it selects the commands the plugin sends. **Name** is only your own label in the Home app (`Bedroom Purifier`). Putting the model ID in Name and leaving Model unset is the single most common configuration mistake with this plugin, and it leaves you with an accessory whose controls do nothing.\n\n<details>\n<summary>Finding your model ID</summary>\n\nIt is printed on the label on the back or underside of the unit, and shown in the Philips app. It looks like `AC0850/11`, and you enter only the part before the slash, `AC0850`. The suffix is a regional variant and is not part of the ID the plugin matches. Case and stray spaces do not matter.\n\n</details>\n\n<details>\n<summary>Checking the device answers before you configure it</summary>\n\nConfirm the purifier talks to this machine at all, using the address from step 3:\n\n```bash\naioairctrl -H 10.0.1.16 -P 5683 status -J\n```\n\nAllow up to 90 seconds for a reply. These purifiers serve **one connection at a time**, so stop Homebridge first if it is already polling this device, and run the check with the purifier switched **on**. One that is switched off can legitimately stay silent for half an hour.\n\nThe keys it prints are the device's own status registers. The plugin translates them using the mapping selected by **Model**.\n\n</details>\n\n## Configuration\n\nThe Homebridge UI documents every field inline, so this section is a reference for editing `config.json` by hand.\n\n### Platform options\n\n| Option           | Description                                                                    | Default                |\n| ---------------- | ------------------------------------------------------------------------------ | ---------------------- |\n| `platform`       | Must always be `PhilipsAirPlatform`. **Required.**                             | none                   |\n| `name`           | Name for the log.                                                              | `\"PhilipsAirPlatform\"` |\n| `aioairctrlPath` | Full path to the `aioairctrl` executable, if it is not on the PATH.            | _(PATH lookup)_        |\n| `debug`          | Logs every device status and command. Very noisy; switch it off afterwards.    | `false`                |\n| `cliDebug`       | Adds aioairctrl's own debug log to the plugin's.[^cli-debug]                   | `false`                |\n| `warn`           | Reports problems the plugin recovered from, such as a lost command.            | `true`                 |\n| `error`          | Reports the underlying error behind a problem.[^always-reported]               | `true`                 |\n| `extendedError`  | Includes the full stack trace with each error. Useful when reporting an issue. | `true`                 |\n| `devices`        | Array of the purifiers to expose, one entry each. **Required.**                | none                   |\n\n### Device options\n\nEach entry in the `devices` array is one purifier. Three fields are required:\n\n| Option  | Description                                                                                                                                          |\n| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `model` | The model ID printed on the device, without the regional suffix. Selects the command set the plugin sends, so see [Device support](#device-support). |\n| `name`  | Your own label for the device in the Home app. Not the model ID.                                                                                     |\n| `host`  | IP address or hostname of the device. Give it a fixed address first (Quick start, step 3).                                                           |\n\n<details>\n<summary>Optional device options</summary>\n\n| Option            | Description                                                                                                                                                                            | Default     |\n| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |\n| `active`          | Set `false` to skip this device without deleting its configuration.                                                                                                                    | `true`      |\n| `port`            | Port of your device.                                                                                                                                                                   | `5683`      |\n| `refreshInterval` | Shortest wait after a reading before asking for another. `0` disables the refresh entirely. See [The state in the Home app is out of date](#the-state-in-the-home-app-is-out-of-date). | `60`        |\n| `manufacturer`    | Shown in the Home app. Cosmetic only.                                                                                                                                                  | `\"Philips\"` |\n| `serialNumber`    | Shown in the Home app. Cosmetic only.                                                                                                                                                  | `\"000000\"`  |\n| `humidifier`      | Expose a separate humidifier accessory to HomeKit.                                                                                                                                     | `false`     |\n| `light`           | Expose device lights as lightbulbs to HomeKit.                                                                                                                                         | `false`     |\n| `temperature`     | Expose device temperature as a temperature sensor to HomeKit.                                                                                                                          | `false`     |\n| `humidity`        | Expose device humidity as a humidity sensor to HomeKit.                                                                                                                                | `false`     |\n| `sleepSpeed`      | Adds a 'sleep' step below the lowest fan speed.[^sleep-speed]                                                                                                                          | `false`     |\n| `allergicFunc`    | Does this device support the 'allergic' function?                                                                                                                                      | `false`     |\n| `preFilter`       | Expose pre-filter status to HomeKit.                                                                                                                                                   | `false`     |\n| `carbonFilter`    | Expose active carbon filter status to HomeKit.                                                                                                                                         | `false`     |\n| `hepaFilter`      | Expose HEPA/NanoProtect filter status to HomeKit.                                                                                                                                      | `false`     |\n\n</details>\n\nFor a complete `config.json`, see [`example-config.json`](https://github.com/atdr/homebridge-philipsair-platform/blob/main/example-config.json) in the repository.\n\n[^cli-debug]: Only has an effect while `debug` is on, and it is the noisier half of the two: on a tested AC0850 the CLI's own records were about three quarters of the log. Turn it on when the problem is `aioairctrl` itself, such as a Python install that never finishes a sync, and leave it off when the problem is a device.\n\n[^always-reported]: Faults that stop the plugin working at all, such as an `aioairctrl` it cannot run, are always reported, whatever this is set to.\n\n[^sleep-speed]: Ignored for models that have their own speed mapping. Those use the right speeds automatically, and the plugin warns when the option cannot do anything.\n\n## Device support\n\nThe `model` field selects how the plugin encodes power, mode and fan speed, because Philips models do not agree on any of the three. Support falls into three tiers.\n\n| Tier            | Tested                                                 | Mapped, unverified                                | Everything else                                |\n| --------------- | ------------------------------------------------------ | ------------------------------------------------- | ---------------------------------------------- |\n| **Description** | Dedicated mapping, verified on real hardware.          | Dedicated mapping, inherited and never confirmed. | Default mapping. Often fits, never guaranteed. |\n| **Models**      | <ul><li>AC0850</li><li>AC1715</li><li>AC3036</li></ul> | <ul><li>AC3829</li></ul>                          | <ul><li>Any other model</li></ul>              |\n\nThe model dropdown in the Homebridge UI offers every model with a mapping of its own, tested or not. Anything else falls back to the default.\n\nThe symptom of a mapping that does not fit is an accessory that appears in the Home app with controls that do nothing. The plugin compares the first status a device sends against the mapping in force and reports a mismatch in the log, so it usually tells you when it has guessed wrong.\n\n**To get your model added**, open a [model support request](https://github.com/atdr/homebridge-philipsair-platform/issues/new?template=model_support.yml) with a status dump from your device:\n\n```bash\naioairctrl -H 10.0.1.16 -P 5683 status -J\n```\n\nThat dump is what the mapping is derived from, so a request with one attached can usually be acted on straight away.\n\n## Troubleshooting\n\nTurn on **Debug Log** in the plugin settings in the Homebridge UI, or set `debug` to `true` in the platform block of `config.json`, then restart Homebridge and reproduce the problem. Switch it off again afterwards: it logs every status and every command, and it is very noisy.\n\n[Symptoms](#symptoms) covers what you see in the Home app. [Log messages](#log-messages) covers what the plugin writes to the Homebridge log, one entry per message.\n\n### Symptoms\n\n#### The device appears in the Home app but none of its controls work\n\n<details>\n<summary>Almost always the model field. Three things to check.</summary>\n\nThe accessory is there, its tiles respond to taps, and the purifier ignores every one of them.\n\nPhilips models encode power, mode and fan speed differently, and the plugin picks the encoding from `model`. When that field is missing, misspelled, or holds a display name rather than an ID, the plugin falls back to a default mapping and sends commands your device has no registers for. Nothing reports an error: commands go out over an unacknowledged protocol and the device simply discards the ones it does not understand.\n\nCheck all three of these:\n\n1. `model` holds the ID printed on the device, without the regional suffix. `AC0850/11` means `AC0850`. It is not a display name such as `Air Purifier` or `Bedroom`. Case and stray spaces do not matter, and the suffix is ignored.\n2. The model ID is not sitting in `name` instead. `name` is only the label shown in the Home app. If the plugin finds a model ID it recognises there while `model` names nothing it recognises, it uses it anyway and warns, so the device works while the config is still wrong:\n\n   ```text\n   AC0850: \"AC0850\" in the device name looks like a model ID, and no model is configured. Using the AC0850 command set. Move it to the model field to silence this.\n   ```\n\n3. The log names the command set every device starts with. This line is the one to look for:\n\n   ```text\n   Bedroom: Using the AC0850 command set.\n   ```\n\n   A device that instead reports `No tested mapping for model \"...\"`, or `No model is configured`, is running on the default mapping. That is expected for a model outside the tested list, and a bug in your config if your model is on it.\n\nThe plugin also checks the config against the device itself. The first status a device sends is compared with the mapping in force, and one that answers in registers the mapping cannot read is reported:\n\n```text\nBedroom: This device reports registers this model mapping does not know (D01102, D03102, D0310A, D0310C), and they match the AC0850 mapping. Its controls will not work until the model is set to AC0850 in the plugin config. Until then the AC0850 command set will be used from the next restart.\n```\n\nIt remembers what it identified, so a device with no usable model configured picks up the right mapping by itself from the next restart, and says so each time it starts:\n\n```text\nBedroom: Using the AC0850 command set instead of the default, detected from this device's own status on an earlier run.\n```\n\nExpect the Home app to change at the restart that adopts a model. A mapping knows which controls a model has no register for, so tiles the previous run offered can disappear. That is the plugin matching what the device can actually do, not a fault.\n\nThat is a fallback, not a fix. Setting `model` correctly is what makes the plugin get the device right on its first run, including which services it offers in the Home app.\n\nIf the model is right and the controls still do nothing, set `debug` to true, copy a logged status line, and open an issue with it.\n\n</details>\n\n#### The state in the Home app is out of date\n\n<details>\n<summary>These purifiers report on their own schedule. The refresh interval is a floor, not a cadence.</summary>\n\nThese purifiers report spontaneously only while their values are changing, so a device sitting idle can stay quiet for several minutes at a time. The plugin therefore asks for a fresh reading `refreshInterval` seconds after the last one, by re-subscribing, which is what prompts the device to answer.\n\nA purifier that is switched **off** is a case of its own: some models answer only every few minutes, or not at all for half an hour, and nothing the plugin does makes them answer sooner. Its reported state stays `off` throughout, and the plugin stops asking so often rather than restarting and warning in a loop.\n\nThe interval is a floor rather than a fixed cadence. Re-subscribing is a trade: it prompts a reading, and on some devices it costs far more than simply waiting would have. On a tested AC0850 a subscription left alone was answered every 9 seconds, while a replacement one took 140 seconds at the median, so a fixed 60 second refresh made the Home app **staler**, not fresher. The plugin therefore times each re-subscription it asks for, and where one costs more than the wait it replaced it waits longer next time, up to the point where it stops asking altogether and leaves the device to report on its own. A device that answers a fresh subscription promptly keeps the interval you configured.\n\nThe default of 60 seconds suits every device tested so far; raise it if your device reports often enough on its own, or set it to `0` to switch the refresh off entirely and rely on the device alone. Values below 15 seconds are treated as 15, because a device generally needs longer than that to answer a fresh subscription.\n\n</details>\n\n### Log messages\n\n#### Cannot run aioairctrl\n\n<details>\n<summary>The startup check failed. The message names one of three causes.</summary>\n\nAt startup the plugin runs `aioairctrl --help` once to check the CLI works before any device tries to use it. If that fails it reports the cause, what it ran, and how to fix it, then carries on loading, so the accessories still appear, but none of them will work until the install is fixed.\n\n**Not installed, or not on the PATH.** The commonest case. The report includes the PATH it searched, which is usually the answer: pipx installs to `~/.local/bin`, and service accounts frequently do not search it. Install the CLI for the user that runs Homebridge, then confirm it:\n\n```bash\npipx install aioairctrl\nsudo -u homebridge aioairctrl --help\n```\n\nIf the command works for you but not for that user, run `which aioairctrl` and set the `aioairctrlPath` platform option to the full path it prints.\n\n**Found, but not executable.** The file is where the config says it is, and the Homebridge user may not run it. This is ownership or permissions, not a missing install, so reinstalling will not help:\n\n```bash\nls -l /path/from/your/config\nchmod +x /path/from/your/config\n```\n\nIf `aioairctrlPath` points at a directory rather than the executable itself, the plugin says so explicitly.\n\n**Starts, but its Python environment is broken.** The command exists and dies immediately; the plugin quotes the CLI's own output. `ModuleNotFoundError: No module named 'aioairctrl'` means the executable survived an install its libraries did not, which happens when the CLI and its dependencies went to different interpreters or users. Reinstall it:\n\n```bash\npipx reinstall aioairctrl\n```\n\nNote that `aioairctrl` needs Python 3.12 or newer.\n\nThe shell commands above assume a Unix-like host (Linux, macOS, a Raspberry Pi). On Windows the diagnosis is the same, but run the equivalent checks under the account Homebridge runs as.\n\nThis report is always shown, even with the `error` log option switched off. Those options control per-device operational logging, not whether the plugin tells you it cannot work at all.\n\n</details>\n\n#### The polling process exited with code N without returning any status\n\n<details>\n<summary>aioairctrl started and died three times running. Usually a broken Python environment.</summary>\n\n`aioairctrl` was found and started, but died three times in a row without producing anything. The plugin logs the command's own error output on the next line, minus the progress messages the CLI writes when `cliDebug` is enabled (those stay in the debug log). A Python traceback such as `ModuleNotFoundError: No module named 'aioairctrl'` means the executable exists but the Python environment behind it is incomplete, which happens when the CLI and its dependencies were installed for a different interpreter or user. Reinstall it as described under Quick start, then confirm it runs for the Homebridge user:\n\n```bash\nsudo -u homebridge aioairctrl -H <device-ip> -P 5683 status-observe -J\n```\n\n</details>\n\n#### No status received from the device\n\n<details>\n<summary>The device took the subscription and then went quiet. Check the address, the power, and what else is talking to it.</summary>\n\nThe device accepted the subscription and then sent nothing for three restarts in a row, counted from the last reading rather than from the current subscription, so around fifteen minutes of silence. A device that has never answered at all is reported on the first of them, because that one is usually an address or a power problem rather than a device having a quiet moment.\n\nThis only appears for a purifier that is switched on, or one that has never answered at all. A purifier that has reported itself switched off is expected to go quiet, and the plugin waits for it without complaining.\n\nCheck that `host` and `port` are right, that the purifier is powered on and on the same network, and that nothing else is already talking to it. An address that used to work and stopped is usually a DHCP lease that renewed onto a different one: check the purifier's current address on your router and set a reservation for it. These purifiers serve **one connection at a time**, so a leftover process (see [Upgrading from v1.1.0 or earlier](#upgrading-from-v110-or-earlier)) or another integration polling the same device will starve the plugin. The plugin keeps retrying and logs `Device is responding again` once status resumes.\n\n</details>\n\n#### The device did not apply a command\n\n<details>\n<summary>The command was sent, resent, and the device still reports the old value.</summary>\n\nThe plugin sent a command, the purifier answered twice, and both answers still show the old value. Commands are sent over an unacknowledged protocol, so a command that never arrives, or that arrives while the device's radio is asleep, produces no error anywhere. The plugin resends it once before reporting this, and the Home app is corrected from the same status that showed the command had not taken effect. Commands are sent strictly one at a time, because these purifiers serve only one connection and two arriving together were measured losing one of them at a sleeping device.\n\nThese devices report on their own schedule rather than answering a command, so a status that arrives in the first few seconds after one was sent was composed before the device could act on it and still carries the old value. Such a status is not counted either way, which is why this message needs the device to keep reporting the old value rather than merely to report it once.\n\nAn occasional message is normal on a busy or distant network. If it happens every time for one control, the command is probably wrong for your model rather than lost: set `debug` to true, copy the logged `CMD: aioairctrl ...` line, run it yourself, and open an issue with what the device reports afterwards.\n\n</details>\n\n#### The device never answered a command sent while it was off\n\n<details>\n<summary>A wake-up command went out and nothing came back at all. Usually a packet lost in transit.</summary>\n\nTurning a purifier on normally wakes it, and it answers within seconds even after a long silence, so a wake-up command that has produced no answer at all was most likely never received. The plugin cannot tell that apart from an ordinary quiet spell straight away, though, so it holds such a write open for as long as it already tolerates silence from an off device, rather than the few minutes it expects from one that was talking, and sends the command a second time along the way. If the device does speak at any point and is still off, the ordinary resend above takes over. This message appears only when nothing at all has been heard for the whole of that window, and the Home app is put back to the last state the device actually reported.\n\nThe usual cause is a command lost in transit, which is unremarkable once in a while on a busy or distant network. Repeatedly, and for one device only, points at signal strength or an address problem, so check where the purifier stands and what address it currently has. Turning a purifier off almost never produces this, because a running device answers quickly enough to contradict a lost command. It is the arrive-home automation that turns one **on** that this exists for.\n\n</details>\n\n#### aioairctrl got no answer from the device\n\n<details>\n<summary>The command timed out before the device opened a session. It is not reachable.</summary>\n\nSending a command is not a single packet: the CLI opens a session with the device first, and if nothing answers, that wait never ends by itself. The plugin therefore stops the attempt, reports it, and puts the Home app back to the last state the device actually reported, rather than leaving a switch showing a command that went nowhere.\n\nThe cap sits a few seconds above HomeKit's own 9 second write timeout on purpose. HomeKit gives up first, returns the switch to where it was and marks the accessory as not responding; the plugin's correction follows a few seconds later and settles the parts HomeKit does not manage itself, so the tile stops showing a change in progress. The not responding mark stays until the purifier next answers, which is the honest signal that it did not.\n\nThis means the device is not reachable, not that the install is broken: a purifier switched off at the mains or unplugged, one that has moved to another network, or one whose address has changed. An address that used to work and stopped is usually a DHCP lease that renewed onto a different one, so check the purifier's current address on your router and set a reservation for it. If the address is right and the device is powered, check that nothing else is holding its single connection, as in the section above.\n\n</details>\n\n#### aioairctrl rejected the command\n\n<details>\n<summary>The CLI refused to send it, so it never reached the device. Please report this one.</summary>\n\nThe `aioairctrl` CLI refused to send the command, so it never reached the device. The plugin logs the CLI's own text after this message, and `Cannot encode value 'X' as int` is the usual one: it means the value is not a number but the command asked for integer encoding. The plugin no longer builds such a command itself, so if you see this, the model mapping is sending a word where your device's register expects a number, so please open an issue with the logged `CMD:` line.\n\n</details>\n\n### Reporting a problem\n\n<details>\n<summary>What to include so the report can be acted on.</summary>\n\nOpen a [bug report](https://github.com/atdr/homebridge-philipsair-platform/issues/new?template=bug_report.yml). The form asks for everything below, and a report with all of it can usually be diagnosed without a round trip:\n\n- Your device's **model ID**, as printed on the device\n- The plugin, Homebridge and Node versions\n- The log covering the problem, with `debug` switched on\n- Your `config.json` platform block, with addresses redacted if you prefer\n\n</details>\n\n## Upgrading from v1.1.0 or earlier\n\n<details>\n<summary>Your accessory may be re-added once, and a leftover polling process may need killing.</summary>\n\nOlder releases registered accessories under a different internal plugin identifier, so the first restart after upgrading may remove and re-add your device in HomeKit once. The accessory keeps its name, but you may need to reassign its room and any scenes or automations that reference it.\n\nv1.1.0 and earlier also did not stop their polling process on shutdown, so upgrading can leave one behind. Purifiers serve **one connection at a time**, so the leftover process competes with the new one and the device looks unresponsive for as long as it survives. It is reparented to `init` and will not stop on its own. After upgrading, check for one:\n\n```bash\nps -eo pid,ppid,args | grep '[a]ioairctrl\\|[p]yaircontrol'\n```\n\nAnything with a parent PID of `1` is a leftover, so `kill` it; rebooting clears it too. Later releases stop their own process on shutdown, so this is a one-time step.\n\n</details>\n\n## Contributing\n\nBug reports, device status dumps for unsupported models, and pull requests are all welcome. See [CONTRIBUTING.md](https://github.com/atdr/homebridge-philipsair-platform/blob/main/CONTRIBUTING.md) for the development setup, the quality gates, and the commit conventions.\n\n## Credits\n\nThis plugin stands on other people's work:\n\n- [seydx/homebridge-philipsair-platform](https://github.com/seydx/homebridge-philipsair-platform), the project this one is based on.\n- [NikDevx/homebridge-philips-air](https://github.com/NikDevx/homebridge-philips-air), originally by Sunoo, which seydx's plugin drew heavily on.\n- [we5/homebridge-philipsair-platform](https://github.com/we5/homebridge-philipsair-platform/tree/refactor/use-config-mappings), for the mappable config parameters.\n- [`aioairctrl`](https://github.com/kongo09/aioairctrl), maintained by kongo09 and written by [betaboon](https://github.com/betaboon/aioairctrl), which does all of the talking to the device.\n\n## License\n\n[MIT](https://github.com/atdr/homebridge-philipsair-platform/blob/main/LICENSE). All product and company names are trademarks™ or registered® trademarks of their respective holders; use of them does not imply any affiliation with or endorsement by them.\n","readmeFilename":"README.md"}