{"_id":"homebridge-levoit-air-purifier-eu","_rev":"33-14ae25a01b6a60274902c74017defdfd","name":"homebridge-levoit-air-purifier-eu","dist-tags":{"latest":"1.2.4"},"versions":{"1.0.0":{"name":"homebridge-levoit-air-purifier-eu","version":"1.0.0","keywords":["homebridge-plugin","air-purifier","400s Pro","vesync","levoit","200s","300s","400s","600s"],"license":"Apache-2.0","_id":"homebridge-levoit-air-purifier-eu@1.0.0","maintainers":[{"name":"karrypto","email":"urizel@icloud.com"}],"homepage":"https://github.com/Karrypto/homebridge-levoit-air-purifier#readme","bugs":{"url":"https://github.com/Karrypto/homebridge-levoit-air-purifier/issues"},"dist":{"shasum":"8f5f4d02a3385253b89025c84211019b35fe5780","tarball":"https://registry.npmjs.org/homebridge-levoit-air-purifier-eu/-/homebridge-levoit-air-purifier-eu-1.0.0.tgz","fileCount":121,"integrity":"sha512-/X4PvccVkwIba5KFdw3V9aQnB+88/VdNrhAiD3oWTQrIgu4cKmmmp5Ka+i6v7gX4KmN8nKsvSav8BIkOu+CEuQ==","signatures":[{"sig":"MEYCIQDrSlnL/Q0CDCBPNbWgk8/xkrQ7LPXO9NSudTbe/IIZwgIhAKMnJ2TWAJKDy4Vr9heAWY/82DCmHDNcdovoHSSBGtSu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199885},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16","homebridge":">=1.3.5 || ^2.0.0-beta.0"},"gitHead":"11cd23acbcb6ca55a30e4344c80c606132b21776","private":false,"scripts":{"lint":"eslint src/**.ts --max-warnings=0","build":"rimraf ./dist && tsc","start":"npm run build && nodemon","watch":"npm run build && npm link && nodemon","remove-link":"npm -g remove homebridge-levoit-air-purifier","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"karrypto","email":"urizel@icloud.com"},"repository":{"url":"git://github.com/Karrypto/homebridge-levoit-air-purifier.git","type":"git"},"_npmVersion":"10.9.3","description":"Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support","directories":{},"displayName":"Levoit Air Purifier EU","resolutions":{"ip":"^1.1.9"},"_nodeVersion":"22.18.0","dependencies":{"axios":"^1.6.8","big.js":"^6.2.1","async-lock":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","nodemon":"^3.1.0","ts-node":"^10.9.2","homebridge":"^1.7.0","typescript":"^5.4.5","@types/node":"^20.12.7","@types/big.js":"^6.2.2","@types/async-lock":"^1.4.2","@typescript-eslint/parser":"^7.6.0","@typescript-eslint/eslint-plugin":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-levoit-air-purifier-eu_1.0.0_1766154545246_0.9976406160848525","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"homebridge-levoit-air-purifier-eu","version":"1.0.1","keywords":["homebridge-plugin","air-purifier","400s Pro","vesync","levoit","200s","300s","400s","600s"],"license":"Apache-2.0","_id":"homebridge-levoit-air-purifier-eu@1.0.1","maintainers":[{"name":"karrypto","email":"urizel@icloud.com"}],"homepage":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu#readme","bugs":{"url":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/issues"},"dist":{"shasum":"7f1c3bde83b1f3aabd19773d1cacb7e5e3891c21","tarball":"https://registry.npmjs.org/homebridge-levoit-air-purifier-eu/-/homebridge-levoit-air-purifier-eu-1.0.1.tgz","fileCount":121,"integrity":"sha512-nxf4g1J6arm3sfIMRs5yVop6JEkpEmlkDEaJOm0pKzM3UjAxmE13hzZQe/RlZdbn/aiQ76DzLtzmOzjz4gkUWA==","signatures":[{"sig":"MEYCIQCvcMQ1nnvJpnPFPTkex+P2mqRoYP2gXFmGgLld8ShY5AIhAObxhD20IdgggzRvBg5NRlXj3obWB72W9G75p5/AKDd9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199859},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16","homebridge":">=1.3.5 || ^2.0.0-beta.0"},"gitHead":"5f80619471ad1589e589f75236e3ba4a709b070e","private":false,"scripts":{"lint":"eslint src/**.ts --max-warnings=0","build":"rimraf ./dist && tsc","start":"npm run build && nodemon","watch":"npm run build && npm link && nodemon","remove-link":"npm -g remove homebridge-levoit-air-purifier","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"karrypto","email":"urizel@icloud.com"},"repository":{"url":"git://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git","type":"git"},"_npmVersion":"10.9.3","description":"Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support","directories":{},"displayName":"Levoit Air Purifier EU","resolutions":{"ip":"^1.1.9"},"_nodeVersion":"22.18.0","dependencies":{"axios":"^1.6.8","big.js":"^6.2.1","async-lock":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","nodemon":"^3.1.0","ts-node":"^10.9.2","homebridge":"^1.7.0","typescript":"^5.4.5","@types/node":"^20.12.7","@types/big.js":"^6.2.2","@types/async-lock":"^1.4.2","@typescript-eslint/parser":"^7.6.0","@typescript-eslint/eslint-plugin":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-levoit-air-purifier-eu_1.0.1_1766155803379_0.4014812150915912","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"homebridge-levoit-air-purifier-eu","version":"1.0.2","keywords":["homebridge-plugin","air-purifier","400s Pro","vesync","levoit","200s","300s","400s","600s"],"license":"Apache-2.0","_id":"homebridge-levoit-air-purifier-eu@1.0.2","maintainers":[{"name":"karrypto","email":"urizel@icloud.com"}],"homepage":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu#readme","bugs":{"url":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/issues"},"dist":{"shasum":"1ae503cbd5716f1c5949b3315bb4837411eba6e0","tarball":"https://registry.npmjs.org/homebridge-levoit-air-purifier-eu/-/homebridge-levoit-air-purifier-eu-1.0.2.tgz","fileCount":121,"integrity":"sha512-UzsoSiMdjiUFi6DO/qJv08Vjmfq0IelnsWTtgfWsL98wuvlzco9DyvH7D1+MJ9ekn74aB1icBnHDQS4wpwKmew==","signatures":[{"sig":"MEYCIQCQOPcUqtjRo7guvUjyPqdQWKLu6yIBynbYskGlvPZqzAIhAO1QbCWJaYcZUWdMvtuHrAc5TCJtIvcCEEtdaRskM3Lu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200254},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16","homebridge":">=1.3.5 || ^2.0.0-beta.0"},"gitHead":"59166cc74d98aa252ff8f6ef3cca60e67d487796","private":false,"scripts":{"lint":"eslint src/**.ts --max-warnings=0","build":"rimraf ./dist && tsc","start":"npm run build && nodemon","watch":"npm run build && npm link && nodemon","remove-link":"npm -g remove homebridge-levoit-air-purifier","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"karrypto","email":"urizel@icloud.com"},"repository":{"url":"git://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git","type":"git"},"_npmVersion":"10.9.3","description":"Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support","directories":{},"displayName":"Levoit Air Purifier EU","resolutions":{"ip":"^1.1.9"},"_nodeVersion":"22.18.0","dependencies":{"axios":"^1.6.8","big.js":"^6.2.1","async-lock":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","nodemon":"^3.1.0","ts-node":"^10.9.2","homebridge":"^1.7.0","typescript":"^5.4.5","@types/node":"^20.12.7","@types/big.js":"^6.2.2","@types/async-lock":"^1.4.2","@typescript-eslint/parser":"^7.6.0","@typescript-eslint/eslint-plugin":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-levoit-air-purifier-eu_1.0.2_1766156399797_0.028150806700628195","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"homebridge-levoit-air-purifier-eu","version":"1.0.3","keywords":["homebridge-plugin","air-purifier","400s Pro","vesync","levoit","200s","300s","400s","600s"],"license":"Apache-2.0","_id":"homebridge-levoit-air-purifier-eu@1.0.3","maintainers":[{"name":"karrypto","email":"urizel@icloud.com"}],"homepage":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu#readme","bugs":{"url":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/issues"},"dist":{"shasum":"cfdbf9f0ad455e186009ebec68df4d367f764aac","tarball":"https://registry.npmjs.org/homebridge-levoit-air-purifier-eu/-/homebridge-levoit-air-purifier-eu-1.0.3.tgz","fileCount":122,"integrity":"sha512-VKJGSHZ3YWLMdD7E3iz8+Jbea9Hjn846/tNOXDzFnrPiKNru+aW39SEc4ZxT642MvyTt+wGVyyaG5Kjl8GlH4w==","signatures":[{"sig":"MEUCIQCIB2GFOg6oFfJx3QCn9+xppqLOZ3yPhOlq9pO2DSx1uwIge27iNxmMNggSzS/DTlNjy3/vF8j/QdyXbYkqIuV5ZWA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201392},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16","homebridge":">=1.3.5 || ^2.0.0-beta.0"},"gitHead":"1f7504777530bb5faa274c6be38880cbb2aac974","private":false,"scripts":{"lint":"eslint src/**.ts --max-warnings=0","build":"rimraf ./dist && tsc","start":"npm run build && nodemon","watch":"npm run build && npm link && nodemon","remove-link":"npm -g remove homebridge-levoit-air-purifier","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"karrypto","email":"urizel@icloud.com"},"repository":{"url":"git://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git","type":"git"},"_npmVersion":"10.9.3","description":"Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support","directories":{},"displayName":"Levoit Air Purifier EU","resolutions":{"ip":"^1.1.9"},"_nodeVersion":"22.18.0","dependencies":{"axios":"^1.6.8","big.js":"^6.2.1","async-lock":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","nodemon":"^3.1.0","ts-node":"^10.9.2","homebridge":"^1.7.0","typescript":"^5.4.5","@types/node":"^20.12.7","@types/big.js":"^6.2.2","@types/async-lock":"^1.4.2","@typescript-eslint/parser":"^7.6.0","@typescript-eslint/eslint-plugin":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-levoit-air-purifier-eu_1.0.3_1766156705733_0.6220941341335291","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"homebridge-levoit-air-purifier-eu","version":"1.0.4","keywords":["homebridge-plugin","air-purifier","400s Pro","vesync","levoit","200s","300s","400s","600s"],"license":"Apache-2.0","_id":"homebridge-levoit-air-purifier-eu@1.0.4","maintainers":[{"name":"karrypto","email":"urizel@icloud.com"}],"homepage":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu#readme","bugs":{"url":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/issues"},"dist":{"shasum":"ac50fc388a6d1a89d5b062b9bcbcfab6c6ce3316","tarball":"https://registry.npmjs.org/homebridge-levoit-air-purifier-eu/-/homebridge-levoit-air-purifier-eu-1.0.4.tgz","fileCount":122,"integrity":"sha512-axtTEKhh3bemXGO2VkspnfHkkBK4VDxh2HITb9Lj/T7EbLwdojKEuNFhcmeZSRG24cVa5S1bcE0TzK3lQkTIdQ==","signatures":[{"sig":"MEUCIQDhxdOuy2FO12rwRXVgPKjMZptwCwevvl6qT8Iw3eXJPQIgb84HATMrIvcYNaXV00RHLjtenankFERVX7QPMT22ckU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204585},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16","homebridge":">=1.3.5 || ^2.0.0-beta.0"},"gitHead":"1432c0012d86f1148ae3c60c722c9fdfcbab4839","private":false,"scripts":{"lint":"eslint src/**.ts --max-warnings=0","build":"rimraf ./dist && tsc","start":"npm run build && nodemon","watch":"npm run build && npm link && nodemon","remove-link":"npm -g remove homebridge-levoit-air-purifier","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"karrypto","email":"urizel@icloud.com"},"repository":{"url":"git://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git","type":"git"},"_npmVersion":"10.9.3","description":"Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support","directories":{},"displayName":"Levoit Air Purifier EU","resolutions":{"ip":"^1.1.9"},"_nodeVersion":"22.18.0","dependencies":{"axios":"^1.6.8","big.js":"^6.2.1","async-lock":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","nodemon":"^3.1.0","ts-node":"^10.9.2","homebridge":"^1.7.0","typescript":"^5.4.5","@types/node":"^20.12.7","@types/big.js":"^6.2.2","@types/async-lock":"^1.4.2","@typescript-eslint/parser":"^7.6.0","@typescript-eslint/eslint-plugin":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-levoit-air-purifier-eu_1.0.4_1766179636229_0.11407918502802206","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"homebridge-levoit-air-purifier-eu","version":"1.0.5","keywords":["homebridge-plugin","air-purifier","400s Pro","vesync","levoit","200s","300s","400s","600s"],"license":"Apache-2.0","_id":"homebridge-levoit-air-purifier-eu@1.0.5","maintainers":[{"name":"karrypto","email":"urizel@icloud.com"}],"homepage":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu#readme","bugs":{"url":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/issues"},"dist":{"shasum":"9e2d43a44c4bd47abbc7aa1cdb5f6bf652f1fb25","tarball":"https://registry.npmjs.org/homebridge-levoit-air-purifier-eu/-/homebridge-levoit-air-purifier-eu-1.0.5.tgz","fileCount":122,"integrity":"sha512-VT0l9BNGvg4/dM8czf3Wgojy3yhhWm2T0TOBlU3x09GmB/5X+mRgHkxRxbih6g+AxFUpvIgn6KZWLm3xVwQfWw==","signatures":[{"sig":"MEUCID2xjIvGIo6jMuTpsG0SOHxRCUaFnurisb3+FjJsBDzsAiEA0OBdM3s1Id0z8iIqemo5ukmtKRDFWUxybtugNP+ZuiQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":204823},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=16","homebridge":">=1.3.5 || ^2.0.0-beta.0"},"gitHead":"bf83c73c21a9ebdf8b3437e36afab45bb27d4818","private":false,"scripts":{"lint":"eslint src/**.ts --max-warnings=0","build":"rimraf ./dist && tsc","start":"npm run build && nodemon","watch":"npm run build && npm link && nodemon","remove-link":"npm -g remove homebridge-levoit-air-purifier","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"karrypto","email":"urizel@icloud.com"},"changelog":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/blob/master/CHANGELOG.md","repository":{"url":"git+https://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git","type":"git"},"_npmVersion":"10.9.3","description":"Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support","directories":{},"displayName":"Levoit Air Purifier EU","resolutions":{"ip":"^1.1.9"},"_nodeVersion":"22.18.0","dependencies":{"axios":"^1.6.8","big.js":"^6.2.1","async-lock":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.56.0","rimraf":"^5.0.5","nodemon":"^3.1.0","ts-node":"^10.9.2","homebridge":"^1.7.0","typescript":"^5.4.5","@types/node":"^20.12.7","@types/big.js":"^6.2.2","@types/async-lock":"^1.4.2","@typescript-eslint/parser":"^7.6.0","@typescript-eslint/eslint-plugin":"^7.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-levoit-air-purifier-eu_1.0.5_1766179884183_0.6363062573878859","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"homebridge-levoit-air-purifier-eu","version":"1.2.2","keywords":["homebridge-plugin","air-purifier","400s Pro","vesync","levoit","200s","300s","400s","600s"],"license":"Apache-2.0","_id":"homebridge-levoit-air-purifier-eu@1.2.2","maintainers":[{"name":"karrypto","email":"urizel@icloud.com"}],"homepage":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu#readme","bugs":{"url":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/issues"},"dist":{"shasum":"244ca2ffb852c62df3f69dd92d4abed5e8806a5f","tarball":"https://registry.npmjs.org/homebridge-levoit-air-purifier-eu/-/homebridge-levoit-air-purifier-eu-1.2.2.tgz","fileCount":126,"integrity":"sha512-KWLIWqAHLS8Lha3yt6YuiElXPziR6z1Fv+A7LH0/aH3puQtvKRfACGYY3cZr9Tt8TxFZPAXgMutsQNjmb5CFkw==","signatures":[{"sig":"MEUCIBdjLUD1BtiMvUw5O2B6GNnPbfrbN/AmgQNvcRLLh/P7AiEAnv/qg48hV5mm4tnV3U6vifFk43qUHApaUdnLbjIM/Ow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/homebridge-levoit-air-purifier-eu@1.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":251322},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=22","homebridge":">=1.3.5 || ^2.0.0-beta.0"},"gitHead":"412d39787e50d67d15fc224fc236e28077acd027","private":false,"scripts":{"lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"node --test \"test/**/*.test.js\"","build":"rimraf ./dist && tsc","check":"npm run lint && npm run typecheck && npm run build && npm test && npm audit && npm pack --dry-run","typecheck":"tsc --noEmit --noUnusedLocals --noUnusedParameters","prepublishOnly":"npm run check"},"_npmUser":{"name":"karrypto","email":"urizel@icloud.com"},"changelog":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/blob/master/CHANGELOG.md","repository":{"url":"git+https://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git","type":"git"},"_npmVersion":"11.13.0","description":"Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support","directories":{},"displayName":"Levoit Air Purifier EU","_nodeVersion":"24.16.0","dependencies":{"axios":"^1.17.0","async-lock":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","rimraf":"^6.1.3","@eslint/js":"^9.39.4","homebridge":"^1.11.4","typescript":"^5.4.5","@types/node":"^24.13.1","@types/async-lock":"^1.4.2","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-levoit-air-purifier-eu_1.2.2_1780934694239_0.7229300636157396","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"homebridge-levoit-air-purifier-eu","version":"1.2.3","keywords":["homebridge-plugin","air-purifier","400s Pro","vesync","levoit","200s","300s","400s","600s"],"license":"Apache-2.0","_id":"homebridge-levoit-air-purifier-eu@1.2.3","maintainers":[{"name":"karrypto","email":"urizel@icloud.com"}],"homepage":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu#readme","bugs":{"url":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/issues"},"dist":{"shasum":"d74531a7f0c4514913192d27f5c0d2dce5a3d815","tarball":"https://registry.npmjs.org/homebridge-levoit-air-purifier-eu/-/homebridge-levoit-air-purifier-eu-1.2.3.tgz","fileCount":126,"integrity":"sha512-07ZGIaUT90objDJt5bnFRIdD+XXeITN0RqXumJ2/+y1GIuTWEU9tROU1Rk63jLVGJAw9Wd5qr3AG46Np9qQEgQ==","signatures":[{"sig":"MEUCIQDb1PSfQ/cI0n5WeRo/8GTraJMf9FZCQXXN3lBfLnUEMgIgAtVjS/S8gdzs6LnDBmu4ChWvNONDDOvWEeFPf8cPdHc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/homebridge-levoit-air-purifier-eu@1.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":253405},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=22","homebridge":">=1.3.5 || ^2.0.0-beta.0"},"gitHead":"e1118db3f11f2cb4ffae4610f69dc114c0ae1bde","private":false,"scripts":{"lint":"eslint \"src/**/*.ts\" --max-warnings=0","test":"node --test \"test/**/*.test.js\"","build":"rimraf ./dist && tsc","check":"npm run lint && npm run typecheck && npm run build && npm test && npm audit && npm pack --dry-run","typecheck":"tsc --noEmit --noUnusedLocals --noUnusedParameters","prepublishOnly":"npm run check"},"_npmUser":{"name":"karrypto","email":"urizel@icloud.com"},"changelog":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/blob/master/CHANGELOG.md","repository":{"url":"git+https://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git","type":"git"},"_npmVersion":"11.13.0","description":"Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support","directories":{},"displayName":"Levoit Air Purifier EU","_nodeVersion":"24.16.0","dependencies":{"axios":"^1.17.0","async-lock":"^1.4.1"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^9.39.4","rimraf":"^6.1.3","@eslint/js":"^9.39.4","homebridge":"^1.11.4","typescript":"^5.4.5","@types/node":"^24.13.1","@types/async-lock":"^1.4.2","typescript-eslint":"^8.60.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-levoit-air-purifier-eu_1.2.3_1781074900195_0.9652334519920991","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"description":"Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support","name":"homebridge-levoit-air-purifier-eu","displayName":"Levoit Air Purifier EU","main":"dist/index.js","license":"Apache-2.0","version":"1.2.4","private":false,"bugs":{"url":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/issues"},"repository":{"type":"git","url":"git+https://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git"},"changelog":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/blob/master/CHANGELOG.md","scripts":{"prepublishOnly":"npm run check","lint":"eslint \"src/**/*.ts\" --max-warnings=0","typecheck":"tsc --noEmit --noUnusedLocals --noUnusedParameters","build":"rimraf ./dist && tsc","test":"node --test \"test/**/*.test.js\"","check":"npm run lint && npm run typecheck && npm run build && npm test && npm audit && npm pack --dry-run"},"devDependencies":{"@eslint/js":"^9.39.4","@types/async-lock":"^1.4.2","@types/node":"^24.13.1","eslint":"^9.39.4","homebridge":"^1.11.4","rimraf":"^6.1.3","typescript":"^5.4.5","typescript-eslint":"^8.60.1"},"engines":{"homebridge":">=1.3.5 || ^2.0.0-beta.0","node":">=22"},"dependencies":{"async-lock":"^1.4.1","axios":"^1.17.0"},"keywords":["homebridge-plugin","air-purifier","400s Pro","vesync","levoit","200s","300s","400s","600s"],"gitHead":"53f4519a6641fdff8f9baaf80230f0c7bf330dc2","types":"./dist/index.d.ts","_id":"homebridge-levoit-air-purifier-eu@1.2.4","homepage":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu#readme","_nodeVersion":"24.16.0","_npmVersion":"11.13.0","dist":{"integrity":"sha512-tyeAQ+G8D3egSez7RljUIiiZ/0/71BGeB67ta4vV6Wnymd97U4bVvc+7LqUgSxIWt0thOEdfxeXtWZID7tlYPQ==","shasum":"6b8e2eb2efcfe3bdd1621db5ce6c3b895e02b3b5","tarball":"https://registry.npmjs.org/homebridge-levoit-air-purifier-eu/-/homebridge-levoit-air-purifier-eu-1.2.4.tgz","fileCount":126,"unpackedSize":259610,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/homebridge-levoit-air-purifier-eu@1.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHvpzIWnwAcjNHtVD/x71/jd6k4kV9ULWIH+R/11DUHcAiA4GBfSB2Sqqs01QoNInFI7WqUVf3WPNhWYizzEkJoN1A=="}]},"_npmUser":{"name":"karrypto","email":"urizel@icloud.com"},"directories":{},"maintainers":[{"name":"karrypto","email":"urizel@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/homebridge-levoit-air-purifier-eu_1.2.4_1781112171247_0.6249763166180671"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-19T14:29:05.246Z","modified":"2026-06-10T17:22:51.640Z","1.0.0":"2025-12-19T14:29:05.380Z","1.0.1":"2025-12-19T14:50:03.519Z","1.0.2":"2025-12-19T14:59:59.956Z","1.0.3":"2025-12-19T15:05:05.901Z","1.0.4":"2025-12-19T21:27:16.381Z","1.0.5":"2025-12-19T21:31:24.368Z","1.1.0":"2026-06-08T10:33:33.970Z","1.1.1":"2026-06-08T11:09:46.975Z","1.1.2-dev.1":"2026-06-08T12:16:06.540Z","1.1.2-dev.2":"2026-06-08T12:23:33.300Z","1.1.2-dev.3":"2026-06-08T12:37:18.104Z","1.1.2-dev.4":"2026-06-08T12:44:58.455Z","1.1.2-dev.5":"2026-06-08T12:51:59.599Z","1.2.0":"2026-06-08T13:21:58.322Z","1.2.1":"2026-06-08T13:44:51.433Z","1.2.2-dev.1":"2026-06-08T15:24:27.692Z","1.2.2-dev.2":"2026-06-08T15:49:20.077Z","1.2.2":"2026-06-08T16:04:54.401Z","1.2.3":"2026-06-10T07:01:40.352Z","1.2.4":"2026-06-10T17:22:51.369Z"},"bugs":{"url":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu/issues"},"license":"Apache-2.0","homepage":"https://github.com/Karrypto/homebridge-levoit-air-purifier-eu#readme","keywords":["homebridge-plugin","air-purifier","400s Pro","vesync","levoit","200s","300s","400s","600s"],"repository":{"type":"git","url":"git+https://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git"},"description":"Homebridge plugin for Levoit Air Purifiers (Core 200S/300S/400S/600S) with EU support","maintainers":[{"name":"karrypto","email":"urizel@icloud.com"}],"readme":"# Homebridge Levoit Air Purifier EU\n\n[![npm](https://img.shields.io/npm/v/homebridge-levoit-air-purifier-eu?cacheSeconds=3600)](https://www.npmjs.com/package/homebridge-levoit-air-purifier-eu)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)\n\nA Homebridge plugin for controlling Levoit air purifiers through the VeSync platform, with EU and US endpoint support.\n\nThis project is a fork of [homebridge-levoit-air-purifier](https://github.com/RaresAil/homebridge-levoit-air-purifier) by RaresAil.\n\n## Requirements\n\n- Node.js 22 or newer\n- Homebridge 1.3.5 or newer\n\n## Supported Devices\n\n| Model | Speed Levels |\n|-------|--------------|\n| Core 600S / 601S / 602S | Sleep, 1-4 |\n| Core 400S / 400S Pro / 401S | Sleep, 1-4 |\n| Core 300S / 300S Pro | Sleep, 1-3 |\n| Core 200S | Sleep, 1-3 |\n| Vital 100S / 200S | Sleep, 1-3 |\n\nDevices below the 200 series, such as the 131S, are not supported because they require the older VeSync API v1.\n\n## Features\n\n- Air quality display with PM2.5 as a separate sensor\n- Filter life level and filter change indicator\n- Child lock\n- Auto, Manual and Sleep modes\n- Speed control\n- EU and US endpoint support\n- Session persistence\n- Configurable status refresh interval\n- Optional device rediscovery\n- Device include and exclude filters\n\n### Experimental Features\n\n- `DeviceDisplay`: Display control as a HomeKit light\n- `Humidifiers`: Support for Levoit humidifiers, including Dual 200S\n\n## Installation\n\n### Via Homebridge UI\n\nSearch for **\"levoit air purifier eu\"** in the Homebridge Plugin search.\n\n### Via npm\n\n```bash\nnpm install -g homebridge-levoit-air-purifier-eu\n```\n\n### On the Official Homebridge Image (Raspberry Pi)\n\nOpen the **Terminal** in the Homebridge UI and run:\n\n```bash\nnpm --prefix /var/lib/homebridge install --save homebridge-levoit-air-purifier-eu\n```\n\nThen **restart Homebridge**.\n\n### Install from GitHub\n\n```bash\nnpm --prefix /var/lib/homebridge install --save git+https://github.com/Karrypto/homebridge-levoit-air-purifier-eu.git#master\n```\n\n## Configuration\n\n### Child Bridge\n\nRunning the plugin as a child bridge keeps it isolated from other Homebridge plugins.\n\n1. Go to **Plugins** -> **Levoit Air Purifier EU**\n2. Open **Bridge Settings**\n3. Enable **Run as a separate child bridge**\n4. Save and restart Homebridge\n\n### Via Homebridge UI\n\n1. Go to **Plugins** -> **Levoit Air Purifier EU** -> **Settings**\n2. Enter your VeSync credentials\n3. Select your **Country Code**, for example `DE` for Germany or `US` for the United States\n4. Save and restart Homebridge\n\n### Manual Configuration (config.json)\n\n```json\n{\n  \"platforms\": [\n    {\n      \"platform\": \"LevoitAirPurifiers\",\n      \"name\": \"Levoit Air Purifiers\",\n      \"email\": \"your@email.com\",\n      \"password\": \"your-password\",\n      \"countryCode\": \"DE\"\n    }\n  ]\n}\n```\n\n### Optional Settings\n\n```json\n{\n  \"platform\": \"LevoitAirPurifiers\",\n  \"name\": \"Levoit Air Purifiers\",\n  \"email\": \"your@email.com\",\n  \"password\": \"your-password\",\n  \"countryCode\": \"DE\",\n  \"enableDebugMode\": false,\n  \"refreshInterval\": 120,\n  \"rediscoveryInterval\": 0,\n  \"includeDevices\": [],\n  \"excludeDevices\": [],\n  \"experimentalFeatures\": [\"DeviceDisplay\", \"Humidifiers\"]\n}\n```\n\n- `refreshInterval`: Seconds between VeSync status refreshes per device. Minimum: `120`. Lower values can exhaust the VeSync daily request quota.\n- `rediscoveryInterval`: Minutes between device rediscovery runs. Use `0` to disable. Minimum when enabled: `5`.\n- `includeDevices`: Optional list of exact device names or UUIDs to expose.\n- `excludeDevices`: Optional list of exact device names or UUIDs to hide. Exclusions take priority.\n\n## Country Codes\n\n| Country | Code | Endpoint |\n|---------|------|----------|\n| Germany | `DE` | EU |\n| Austria | `AT` | EU |\n| Switzerland | `CH` | EU |\n| United Kingdom | `GB` | EU |\n| France | `FR` | EU |\n| Netherlands | `NL` | EU |\n| United States | `US` | US |\n| Canada | `CA` | US |\n| Australia | `AU` | US |\n\nEU accounts are automatically routed via `smartapi.vesync.eu`.\n\n## HomeKit Control\n\n### Speed (Rotation Speed)\n\nHomeKit rotation speed values are normalized to the nearest supported device level. `0%` turns the device off. Values above `0%` turn the device on if needed.\n\n**Core 200S / 300S / 300S Pro:**\n\n| HomeKit | Mode |\n|---------|------|\n| 0% | Off |\n| 25% | Sleep Mode |\n| 50% | Level 1 |\n| 75% | Level 2 |\n| 100% | Level 3 |\n\n**Core 400S / 400S Pro / 600S:**\n\n| HomeKit | Mode |\n|---------|------|\n| 0% | Off |\n| 20% | Sleep Mode |\n| 40% | Level 1 |\n| 60% | Level 2 |\n| 80% | Level 3 |\n| 100% | Level 4 |\n\n### Target State\n\n| HomeKit | Levoit Mode |\n|---------|-------------|\n| Auto | Automatic mode |\n| Manual | Manual mode |\n\n## Troubleshooting\n\n### \"Login failed: Invalid email or password\"\n- Verify your VeSync credentials in the VeSync app\n\n### \"Cross-region error\"\n- Select the correct **Country Code** for your region\n\n### Device not appearing in HomeKit\n- Enable **Debug Mode** in plugin settings\n- Check if the device is online in the VeSync app\n- Check `includeDevices` and `excludeDevices` if device filters are configured\n\n### Session persistence\n\nThe plugin saves your VeSync session. After a restart you'll see:\n\n```\nReusing persisted VeSync session\n```\n\n## Uninstall\n\n```bash\nnpm --prefix /var/lib/homebridge uninstall homebridge-levoit-air-purifier-eu\n```\n\n## Fork Notes\n\nThis fork adds:\n\n- Current VeSync two-step authentication\n- EU endpoint routing based on country code\n- Persisted VeSync sessions\n- Command failure handling\n- Configurable refresh and rediscovery intervals\n- Device include and exclude filters\n\n## Credits & License\n\n**Original Plugin:** [homebridge-levoit-air-purifier](https://github.com/RaresAil/homebridge-levoit-air-purifier) by [RaresAil](https://github.com/RaresAil)\n\n**Auth flow inspired by:** [homebridge-tsvesync](https://github.com/mickgiles/homebridge-tsvesync)\n\n**License:** [Apache-2.0](LICENSE)\n\nThis project is a fork and is released under the same license as the original.\n","readmeFilename":"README.md"}