{"_id":"homebridge-haier-evo","_rev":"165-73f9779c1b8cd2c402e5788832a7930b","name":"homebridge-haier-evo","dist-tags":{"dev":"1.0.65","latest":"2.3.1","beta":"2.3.1-beta.0"},"versions":{"1.1.0":{"name":"homebridge-haier-evo","version":"1.1.0","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Adapted from and7ey/haier_evo"},"license":"MIT","_id":"homebridge-haier-evo@1.1.0","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"homepage":"https://github.com/your-username/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/your-username/homebridge-haier-evo/issues"},"dist":{"shasum":"1cff3ca4d9a1b586ab31ffddf9bc1f1bcd2da23f","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.1.0.tgz","fileCount":87,"integrity":"sha512-CSA2tw3kqWXTcAJBz1F97RYspg9Tp///chSaoGMAEPChjz4NVD2sL94ujRoxOvBcV5JZwAaaY98rE6Ucmg2Zjw==","signatures":[{"sig":"MEUCIHNidjA5ve95S/sJQUn2yHDzttEu+NVMC2j02JvYLWC/AiEAknW+4yvEfRna1PKdWb0dyXTDbrL8uFRzhnuEVggU01E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":830068},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"fb2d14d89cd5a505892817291e57aa6f494625c4","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:integration:real","test:standalone":"node run-tests.js","test:integration":"jest --testPathPattern=integration","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:integration:mock":"jest --testPathPattern=integration --testPathIgnorePatterns=real-api.integration.test.ts","test:integration:real":"jest --testPathPattern=real-api.integration.test.ts --verbose","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/your-username/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.1.0_1755340722872_0.6561856125831129","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"homebridge-haier-evo","version":"1.1.7","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.1.7","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/haier-evo/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/haier-evo/homebridge-haier-evo/issues"},"dist":{"shasum":"3e7e5324666015431a35926c6a3aa9c64667f6a6","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.1.7.tgz","fileCount":48,"integrity":"sha512-Mzpo9DLtU1F54pUyuJDwnrYn33lxp08M9W8orlGdkHEPj9gwV4tbcVkU+CwJxjvIz9B0+14HyZn1lcRxmE6MJw==","signatures":[{"sig":"MEQCIBKEHE48hLUQi2z9AOfVzrWiiLpCenkr3prBEhAdl/GdAiA0y3g+ce9yTP9qrIfGBuutx7ba+HaZ/XCiyikz9iBS9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447325},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"056acc0a29fc33f84b7b020bd39d8635d82af70b","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/haier-evo/homebridge-haier-evo.git","type":"git"},"_npmVersion":"10.8.2","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.1.7_1755355520409_0.857153308863756","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"homebridge-haier-evo","version":"1.1.8","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.1.8","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"ccf604ca57471e5270df39ab430f59856ae727a1","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.1.8.tgz","fileCount":48,"integrity":"sha512-Q5icfCXmPE/Y001qBKziKKaayeZEI+ylWixw9rBMsC6f6UAg+bVIM7kcswbZwzBRaqJY4xbDP0eUu+LBDPm65A==","signatures":[{"sig":"MEQCIDTUMq8p9b0BR84ufiM+QwebvE54S6cvyESfRlw+Yk/WAiASRwnNrUebdPZUgBCL/VN/48i00CGmO/EmO50T2jJ33g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447337},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"9bf8b9b2a51eb9d9ec89da177db83254f0308c43","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"10.8.2","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.1.8_1755356139941_0.056126264450463426","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"homebridge-haier-evo","version":"1.1.9","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.1.9","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"3bb32ece28f4265ef21da13c291da92d04a24fdd","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.1.9.tgz","fileCount":48,"integrity":"sha512-QzjCDwFuRt3RjQGDw7L9kb+jPjkxCi/68kRjDpl0KfeCHrpFaEkVnD7U4qHRfkjJpA0D1Rj6zjMZN8vIiKsQ+w==","signatures":[{"sig":"MEQCIFQiWfsh9NItpn5B1QcbXnsPKBbmXbG1RBBWHhdsPovOAiAVodE1nOEO536bJfcifPF2vjaKBlEE3kIq+O9VFc7CyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446989},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"6879669a915a55abe371ce99d9d3915255e4d5e2","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"10.8.2","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.1.9_1755358075614_0.9175203939228558","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"homebridge-haier-evo","version":"1.2.0","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.0","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"2d4d4c84de5db25b8c3045eedebd3227c972bda8","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.0.tgz","fileCount":48,"integrity":"sha512-4sx9SjnQLvdNl0es4x5wid0yXgjhQD+XV5jP4cmOSsaMB2oUkI37C59EK5eNtZ8CYNxTQ5QTlv2hmP8rnMjkdg==","signatures":[{"sig":"MEUCIEexkW7TG3AwqZ6M2t4FGHlKPVqAaKOtMKzpzE9cr5L5AiEA/zgAE9Bzx2C3altGv+EbL/5+ZI8GkIUN18dSKhoMqSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":559621},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"fb584d8d4e94adfe3d009d32edfcad712390bb98","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"10.8.2","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.0_1755677632006_0.8772524647258004","host":"s3://npm-registry-packages-npm-production"}},"1.0.65":{"name":"homebridge-haier-evo","version":"1.0.65","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.0.65","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"147e895d26caed1a2e9111d1605ac9cecbefb538","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.0.65.tgz","fileCount":48,"integrity":"sha512-3+GXUKO1n+YLAj1o4iXJsY8K0MF/LR0DMpgMe7EfW24qnU+XkPrUkHDpIQALFP4YhLyY10CC6SvOVZWucoO6Fg==","signatures":[{"sig":"MEUCIQCqXsrJBcLuqChTWzM4i7vPgKqmr8FW7XTNuELl4uCbOAIgPLPzxeJmC5UWw7fY8mE8upk3a5VABU2SYSjFE0izxzE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":567307},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"bbed2a9718c637253f25c8076bd508886a46cd53","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.0.65_1756542651916_0.16006979308164127","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.0":{"name":"homebridge-haier-evo","version":"1.2.1-beta.0","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.0","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"e865f7e7594b5869e93616ac87b686c812645cb1","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.0.tgz","fileCount":48,"integrity":"sha512-W7GghUHHjg5PvJmj37HLlefo/jeN71OlqKatVOpMbLMVFXOt7bYHcozvNVKcjljlmLyW9X1OcjKNnk5GYfn9Hw==","signatures":[{"sig":"MEYCIQDpEMmAPf2z9hVnLTNAmk+myfFLwKILqxrWWnjTgB4pWAIhAPFVB/vUf6iuD8MHEofFHgtYjp5a6jkCtBWQke/KbAbq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":571074},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.0_1756631612545_0.7888655877643336","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.1":{"name":"homebridge-haier-evo","version":"1.2.1-beta.1","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.1","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"80b82c66ab9df18e8e146e948a2698f6d4ba0321","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.1.tgz","fileCount":48,"integrity":"sha512-dYY6efFOxR3WPqjw++R2hawPCLfbWd+AbjwMBl+Bm3DC8EnUqmhSWZfeIJF//TO9CPLYfnWFGoDU/qScBdmbSA==","signatures":[{"sig":"MEUCIHcGUMZiDRn/yC7qC0gtfdCDNQbMozO9aujjXa0JzmQ9AiEAy9A5Q6NzTsxZWXvDdHvvh8BTFeZ/pQc4I9KOptT1Zhk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573825},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.1_1756632868657_0.7736313353261888","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.2":{"name":"homebridge-haier-evo","version":"1.2.1-beta.2","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.2","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"4859427dba8950d773029cca33a104c75d5ce9fd","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.2.tgz","fileCount":48,"integrity":"sha512-7N+vQT/s98qKe/A0tkVlyWLtc9OMuy1v+p9LN0H2pq9CvN984J4eK1F9rTOzmMytw2U5Bqu55djiVxt26PJ7UQ==","signatures":[{"sig":"MEUCIQDHB+UFmhY6NCbHjIobtURBtfk/h8efBrLmUKcL7GklyQIgByFdl0iO+VKl4Y3C8tVr7nJXnKD+Wr8EYI9x9D3Zqk4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":575708},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.2_1756633936149_0.7389309835381446","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.3":{"name":"homebridge-haier-evo","version":"1.2.1-beta.3","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.3","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"a457f229312353107423f68dcbe520a296cec638","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.3.tgz","fileCount":48,"integrity":"sha512-i02Ua03lznsUwCslmTEOjnM5Y4Ev6AKNVbeprXg2mLDUEsbH0SMHUOt8+m34LRaXozqjtsEaVdIHb1cp8D6tkw==","signatures":[{"sig":"MEQCIAsj71C1wC1RhGH91G87PTx//ctJ3EDWhTndtK2iG3bkAiAsPHk1IBi+pr1ufKT6dQt421dpi+3u8UOtqPWNFjYLNA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578428},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.3_1756642126763_0.7578874470849217","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.4":{"name":"homebridge-haier-evo","version":"1.2.1-beta.4","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.4","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"5f7be9b43b4d6d31596608d5134599bf435e8c4b","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.4.tgz","fileCount":48,"integrity":"sha512-dXJFB7abONoqqK86NUyKdAG0uPGCvfHWTmO3w5zInyYikm0/HvVjdnoPgxlMjAHObaf/+jdFDyhGtP1vJqwC6Q==","signatures":[{"sig":"MEUCIH7iwRpIjgR4/6qVCYYGpmAVjcUZig5sTOfmkoxLhQasAiEApsDrrU1R3mi0DDysLLIoooJgGGDQO7NdCMJQTIq8zHw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":578429},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.4_1756645717943_0.7444562378616895","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.5":{"name":"homebridge-haier-evo","version":"1.2.1-beta.5","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.5","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"4be26eaf5c6e6e2aa6827e4c4258f29f3be98aaf","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.5.tgz","fileCount":48,"integrity":"sha512-KuOUxGTPL6A/r8KMDv7qoaX+lKyqD9IXnz/q4yQEn8eOMxAySRji+sXO5i0EmmXq9hSIDrVXdRDxWFumvKJ6mQ==","signatures":[{"sig":"MEUCIDvXKjtXakGWMnr/78Sb/jujCi0JEMTZrkskMdXQkH/oAiEAvHffYRyis+wonrYZuLINmkoRRzKmcCGF1tiUjLkf9WY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":577406},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.5_1756647051709_0.571406627770151","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.6":{"name":"homebridge-haier-evo","version":"1.2.1-beta.6","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.6","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"34c0feb14f2e922d29e0fc28c0115419a9a6eb15","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.6.tgz","fileCount":48,"integrity":"sha512-7D7va/dT4rnyzmvcyWV1ocOs0AedrJnVXV+g3tUVEwI4ac2bJ76qO5lgAeZnX2jziPCw7HcXKpHcsp9MyCJlow==","signatures":[{"sig":"MEUCIH+zbOKXP6CzVDnXxuS/sv3g3vjurohhi2ILHWum3A7ZAiEA2Uw5zHnxDzLEOvTa3cojN3Aka6Ik185jldXr/GuEYZM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":587718},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.6_1756647370160_0.32215332751999326","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.7":{"name":"homebridge-haier-evo","version":"1.2.1-beta.7","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.7","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"f90f9ff5fec8eee94b4afabdf9851ca98e00b14f","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.7.tgz","fileCount":48,"integrity":"sha512-VBTpXFf3WEftbT2tfjlKmg60pcyPpAqDJ7xlo1/IccZF0MmBJBNpJ5Z8bQ/SJeWK306HTp5pJDWT+vUX46VtmA==","signatures":[{"sig":"MEUCIQDEFvYD3rP6y89lMuUQJhhI9MGFuY7T3oy4lMb/so2wdQIgIr4T2HjE0gFpLv89HEh35N1xi5LnFipth7uE31IGZf4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589126},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.7_1756662156679_0.45185845699918104","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.8":{"name":"homebridge-haier-evo","version":"1.2.1-beta.8","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.8","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"3e70862105994e7ee69fd7c3271491d25109feda","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.8.tgz","fileCount":48,"integrity":"sha512-uzY/c8VG82QJAmavHJhqwN0FyK8L7V11kNi5wmjn1ND+Oj446/KqPro6v2ukcBNw0IAn6p4gRBbk9vZtZZxoiA==","signatures":[{"sig":"MEUCIQCK2MC/VRsvy7r6dtTA/xy+O3OUB2SIEgg/mwa3J7d/sgIgEkcZsyHPd6fblBWUXeV1WUe7CH2mX6PUKbuZbWeukzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":595318},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.8_1756664966293_0.35969368941334334","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.9":{"name":"homebridge-haier-evo","version":"1.2.1-beta.9","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.9","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"e4904fc9676625468ad370a242c48ff0b9d5107f","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.9.tgz","fileCount":48,"integrity":"sha512-zywj5Icv9u9n5G0c444m/tXVr8wTurj4esn3fYOn+g66YQJDdd2gHWEcj2qsOxErqgPnXtILvROfvH/+aRDWdQ==","signatures":[{"sig":"MEUCIFQV3rdYFjVor68i08Sw+ySeFKurgmKZTUH7jYe6wTs6AiEA18elf7Z3ML3Cwkeg/JMQhRgXnW+4UbpgKXsliqcGvKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589462},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.9_1756665713560_0.31107335083425225","host":"s3://npm-registry-packages-npm-production"}},"1.2.1-beta.10":{"name":"homebridge-haier-evo","version":"1.2.1-beta.10","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1-beta.10","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"2924da5858679ca423d02ef23f4c2b40b7a79bfe","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1-beta.10.tgz","fileCount":48,"integrity":"sha512-ebJJxmvO39QYLRLRSoAQZvC65k2YQ2yOFlNtOfQMjenIB2F+Z9mYyrCCI4DDG6u8AYI+dcQd3kmRbEcy4cg5Yg==","signatures":[{"sig":"MEUCICR/q2RKc1mE3kQiOyBwg8R6uS4jBavnA/ghYuws34mRAiEApOgVtvGFDJgzmUcrRVyx0s3rbr0gPon2/v56qH2GXG0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589285},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"ad4757d569f183973a19046cdf7b139f7d6aab76","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1-beta.10_1756676900569_0.7144984966353061","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"homebridge-haier-evo","version":"1.2.1","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.1","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"158cfca4e6a25e421163a1d56fb41a1800f93b4d","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.1.tgz","fileCount":48,"integrity":"sha512-1npDiHrzpFg4K6S5BYqjMG19i6FOdTjCIpUdV974rgV+uOeiVzu9J7oaWP56Gk8MAyUKwAnbMSZl/EET0q2QCA==","signatures":[{"sig":"MEUCIQD0jJEj0K1WccPh9Mnl0RlGg9lLo8KHx7LrduDUCzZL+AIgLU1lbSoHB6wOl8w8TmtWZRsJkkbbJ6bs8SiHfH8HJXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":590538},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"0f7c2348a612d7d061bf3e8ef6e10f26f6cc6761","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"10.8.2","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.1_1756747254409_0.6381184035241974","host":"s3://npm-registry-packages-npm-production"}},"1.2.2-beta.0":{"name":"homebridge-haier-evo","version":"1.2.2-beta.0","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.2-beta.0","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"b28e96a70b47ac15dba08859936f648a82fe2d8b","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.2-beta.0.tgz","fileCount":48,"integrity":"sha512-SNcogGthhnMqIgn1SZZ3bKg01W5KrFrFX20K7q5EN4B+jksZLlf2wpm/BR1vNuBTQayNDt3o49exWV/dbO3VYg==","signatures":[{"sig":"MEUCIQDV7YwAVuO2hfZ/03vvf63VE9kccvviMZwVku7qq13hrgIgWjXvzt+qX9Eeq+qsNa9fel+LU5xx5d+TA4/KXJssCRE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":591166},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"92472cfce98fed512412d1476517e538e7adad0b","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.2-beta.0_1757146928822_0.5453246436434811","host":"s3://npm-registry-packages-npm-production"}},"1.2.2-beta.1":{"name":"homebridge-haier-evo","version":"1.2.2-beta.1","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.2-beta.1","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"558192c741807716e894dc058d403a43a46276a4","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.2-beta.1.tgz","fileCount":48,"integrity":"sha512-agWypxTeKgkQALhGfoTVcPTwBKLTE0+CLgWSL1FV/V54btxjF+7WwhOMGhQQ4JNqEWZ9OB4UgofAX5OQf58rYg==","signatures":[{"sig":"MEQCIBKPAXPtAoNAIxYc8J618seZn+fvOFdfomrBZVLLqUQVAiBkFVN907IiOtcUNYTX527r3WEeDvt92lM2uAQBjrP+hA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589542},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"92472cfce98fed512412d1476517e538e7adad0b","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.2-beta.1_1757149667901_0.8802952957673067","host":"s3://npm-registry-packages-npm-production"}},"1.2.2-beta.2":{"name":"homebridge-haier-evo","version":"1.2.2-beta.2","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.2-beta.2","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"85add9800a0983561f39b765d549b456c11e7ab3","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.2-beta.2.tgz","fileCount":48,"integrity":"sha512-q7nn8SjSFAPubcNO6211gohnm4tNevBu9DTNMzSOnWvlp7IVMxOQyc/lquAPLU8s7U4M8b1/NtV2QahnEDuagQ==","signatures":[{"sig":"MEUCIQDPTWEIEgqfwvbsNfdRK9WKCdyBCfadGT+RRZLpLatqfAIgUGm0RXbnr8L7+8hOTZeDDtNIlbfJoafHOis56dFZmuc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":589546},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"92472cfce98fed512412d1476517e538e7adad0b","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.2-beta.2_1757151253866_0.09618057567588201","host":"s3://npm-registry-packages-npm-production"}},"1.2.2-beta.3":{"name":"homebridge-haier-evo","version":"1.2.2-beta.3","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.2-beta.3","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"b9a1bb18074cc0d4a20a7495031de5c68ed31b23","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.2-beta.3.tgz","fileCount":48,"integrity":"sha512-iV+qneAdFfCHPJu31PyANYjXnfh4OeNPHpdfPab6sfpVY1t5Z84RLZYFP6BgXjhEBWH09QVD347/fkWd63zHAw==","signatures":[{"sig":"MEUCIGBimwvUlJSCUp4lUarVJGEJ08WcpKd7cBjCEV3a+yCLAiEA7AeydEbfbWLX6b5Ch0O7VqPnuMtW+77pO9LFyBZNA1k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":596241},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"92472cfce98fed512412d1476517e538e7adad0b","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.2-beta.3_1757186828575_0.5969626251591598","host":"s3://npm-registry-packages-npm-production"}},"1.2.2-beta.4":{"name":"homebridge-haier-evo","version":"1.2.2-beta.4","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.2-beta.4","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"76d737b502651a6fa56128aba396483f862ccfba","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.2-beta.4.tgz","fileCount":48,"integrity":"sha512-DxLNUu8EbO/vqLBOV9RwGKMtnZSR6Jg77ieMLG0VqovFKULqSM8wdMa+mwJGfWewnBrz6F91c4wvmhZLHIOkCQ==","signatures":[{"sig":"MEUCIHLf2caxqPmL+gqXRO7AbzHbuW3capUianJwz5vYQRjHAiEA825LL200pMgomyl5VrbsBUxLVlgKS17b1m7wY1WkoVU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":599833},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"92472cfce98fed512412d1476517e538e7adad0b","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.2-beta.4_1757188481210_0.8949692942077558","host":"s3://npm-registry-packages-npm-production"}},"1.2.2-beta.5":{"name":"homebridge-haier-evo","version":"1.2.2-beta.5","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.2-beta.5","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"25de8fd28daad51d07f6e0e1331f6c69ea48d31f","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.2-beta.5.tgz","fileCount":48,"integrity":"sha512-EHLc5U0A57u2pgslULPSC2iPdcDf3JbSvWwnJjGPcPGk6mlb27kkOBQVJfVXcQhwq6j0T1NRBYgELqb/Qm1fXQ==","signatures":[{"sig":"MEYCIQCYQH3u/w1FpkoGAWPeUC9CtXcLMHv7IvP62HZpNezGsgIhAJvryAd4JDALMu3ANczylxsU0eQXAofQqsahFIoF1Qfn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":600844},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"92472cfce98fed512412d1476517e538e7adad0b","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.2-beta.5_1757189171323_0.48921804527014445","host":"s3://npm-registry-packages-npm-production"}},"1.2.2-beta.6":{"name":"homebridge-haier-evo","version":"1.2.2-beta.6","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.2-beta.6","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"8b2f02279e26cb8d615112e6bbb0810ced6473c1","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.2-beta.6.tgz","fileCount":48,"integrity":"sha512-8yATRPRzceLSz6VXii3wJm1xYNrFKSPXHIveN32eyLWljsZx7W0nCPw7IEwRl/ExgMukGoyERafY58g+C9+AQw==","signatures":[{"sig":"MEQCIGUjcXhQP3NaSyyHB1dP6WyrGeTnZ1GQVRiNLjPq2aEpAiAsG7Qc8Fc8t5ybOkqZUadWJH4V9PfUNee8yQ1B7Wy9bw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604956},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"92472cfce98fed512412d1476517e538e7adad0b","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.2-beta.6_1757197058462_0.5036015606538262","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"homebridge-haier-evo","version":"1.2.2","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.2","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"e976d070b9d7cdef467964c8907933f4cc807b40","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.2.tgz","fileCount":48,"integrity":"sha512-AS9etG6ajBXclFbtSe1iwrtvymZ/Shi3Bs1PgIexeJyQI90uLOUMNVqrogmtUtWyO3TBjsizZ3nmfJCC0AAlrw==","signatures":[{"sig":"MEUCIETq4yg2TDsEd3/ZJqXnN+csjcUGZacnvrVZuHUxru6ZAiEA0/IOOm1tVg4dkTxLTmU9yd9xaVOTtCyeHiI80m+SxqQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604949},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"9b041d1a0169378a8f0a05503027050ed1cee615","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"10.8.2","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.2_1757239838997_0.07167977792897018","host":"s3://npm-registry-packages-npm-production"}},"1.2.3-beta.0":{"name":"homebridge-haier-evo","version":"1.2.3-beta.0","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.3-beta.0","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"7a283483930fd44a56d0e95a1307b9c5d92b891b","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.3-beta.0.tgz","fileCount":53,"integrity":"sha512-Rt6d6MWUyjajO5hbNpKmne4FrScmSQ9orZ5GXmbZLt6zOf8Tva+WGOL1L2bP4/c2Su8tOsKN0IOadLgjEKGK5A==","signatures":[{"sig":"MEYCIQCf67BnxESsuXnulU4Cd/LSrBJN1apRZ4f52NXRhzMPSQIhANjmO+YhY6pzEOqSS6DiLqSQKCo9PV64HzowYlUnv8fo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623747},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"9b041d1a0169378a8f0a05503027050ed1cee615","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.3-beta.0_1757500720889_0.47810815449503097","host":"s3://npm-registry-packages-npm-production"}},"1.2.3-beta.1":{"name":"homebridge-haier-evo","version":"1.2.3-beta.1","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.3-beta.1","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"2fb02c1b9cb79c9f68d15a06a92766ffbe7b4719","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.3-beta.1.tgz","fileCount":53,"integrity":"sha512-VSSCZLH+Ru2goHB35LjFbSE6oMsVwfN+NbeXN2ouomULvTGXio0D8DwH+JlJdOxKgu0OVnZAj8f7FrDajfHYZA==","signatures":[{"sig":"MEYCIQDiT9XYGNlFbQRJ8agPVvYf0Vyb0fQrcLOtumS6Lx+CWQIhAOHQHopzbGUv03W7SbdnAd7JcdQXGkoHItAEW7kLRuQc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":630789},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"9b041d1a0169378a8f0a05503027050ed1cee615","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.3-beta.1_1757515007212_0.9187844077408249","host":"s3://npm-registry-packages-npm-production"}},"1.2.3-beta.2":{"name":"homebridge-haier-evo","version":"1.2.3-beta.2","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.2.3-beta.2","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"6fff60c45db9e7464b35481c4ce1c8c2e138be59","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.2.3-beta.2.tgz","fileCount":53,"integrity":"sha512-3bvT1uyuPoK2FekvA4vm1qD+VXvbWYcurX2+NlNTTiTvrNlH0b26pxEWl102jSIYgoQZ9F8Jhg9gHLRfsELeyg==","signatures":[{"sig":"MEUCIQCAZ8enav4yfcMISLOB2iKB6fXAW32FeesntNPhynxe9AIgNLXo+BoHqJEIliqE5B6mDqx24JtWDQe6zwpBVrcLBow=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":656900},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"9b041d1a0169378a8f0a05503027050ed1cee615","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.3.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.1.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.2.3-beta.2_1757540185678_0.3213263955091952","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"homebridge-haier-evo","version":"1.3.0","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.3.0","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"709e343156e617e8d9692076c4d91e8224417578","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.3.0.tgz","fileCount":53,"integrity":"sha512-NxDG76a4albksKZdnTaitRD+zV2zLvue5KuyFZyfBhfLHC3qOxTmuefJAFVg5LP1O8r0f2x/UM0BfDc15inXuw==","signatures":[{"sig":"MEUCIDAqi0yTcKsBdlpxjK4wV1YuP/0SjFh3swkZ6Iu4sOiiAiEA3dG2uwo/D2pS2SEb7gcpVm6slk5Qeopa4aIuZaTMZzc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":657659},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"599ac53b66927386b6e75cb228e42b29b0bf78e1","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"10.8.2","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.3.0_1757541188098_0.21526401626451364","host":"s3://npm-registry-packages-npm-production"}},"1.3.1-beta.0":{"name":"homebridge-haier-evo","version":"1.3.1-beta.0","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.3.1-beta.0","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"3ca4afea70e672d3335beb1ea4336e912f562880","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.3.1-beta.0.tgz","fileCount":53,"integrity":"sha512-/a/kUtC+Hv/xrF9vpiQRBrGQbr64hJqnIlLkSKnMmGG3Nj1ZqyqPK4W5LLKVpvm2FEDjt89Rpvat584xDBSrdA==","signatures":[{"sig":"MEYCIQCDk79p6WVvaaR9jh8IjVCoShLXu3whaZkW9ehkuy1kVgIhAOuIIly23oGZwht6LqY6IgEEXISTkJ43frWCgtrFw1/E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658226},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"599ac53b66927386b6e75cb228e42b29b0bf78e1","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.6.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.9.0","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.3.1-beta.0_1760913809689_0.47756556774582304","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"homebridge-haier-evo","version":"1.3.2","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@1.3.2","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"eea9601648b829e6fc9f2f483176976e435c8a8b","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-1.3.2.tgz","fileCount":53,"integrity":"sha512-4oD8f7vKp1wwpMQnLAw+HcUVK9ybJGR8SmzHSyWSycntTVoFJyfdXCdqpi6bRPKDW3Lbjbgqf6iJ2J6Msv2SkA==","signatures":[{"sig":"MEQCIC92xVL8Be7RvgEmPmsDltqUtUBqwPE27TMN7eeEKAABAiB5TtSITAsdBng+j1XApl4fJewxkJarUi6kxmwXZsM6Rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":658219},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=14.0.0","homebridge":">=1.3.0"},"gitHead":"d6e80f1843b8f5e450040d7584c75dc63037f59c","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPattern=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.js","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.js","test:rate-limiting":"node test-rate-limiting.js","test:standalone:ac":"node run-tests.js --ac-control","test:standalone:all":"node run-tests.js --all","test:standalone:api":"node run-tests.js --api","test:standalone:devices":"node run-tests.js --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"10.8.2","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"18.20.8","dependencies":{"ws":"^8.14.0","uuid":"^11.1.0","axios":"^1.6.0","dotenv":"^17.2.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.5.0","jiti":"^2.5.1","nock":"^13.3.0","eslint":"^9.33.0","globals":"^16.3.0","ts-jest":"^29.1.0","@types/ws":"^8.5.0","@eslint/js":"^9.33.0","homebridge":"^1.6.1","typescript":"^4.9.0","@types/jest":"^29.5.0","@types/node":"^18.0.0","@types/uuid":"^10.0.0","mock-socket":"^9.3.0","typescript-eslint":"^8.39.1","@typescript-eslint/utils":"^8.39.1","@typescript-eslint/parser":"^8.39.1","@typescript-eslint/eslint-plugin":"^8.39.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_1.3.2_1762119924164_0.06593771895560985","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"homebridge-haier-evo","version":"2.0.2","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@2.0.2","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"e705c6ca908f87289ba85d9477053daa5e41e476","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-2.0.2.tgz","fileCount":57,"integrity":"sha512-7ftL63WYTII6nJ77hWJ2ZD24WXc45D49aDL91vFUTAmhTJU5SSQdYTbzTRHZ/Gb1gzpYkiQJXTG04I6QeEifxw==","signatures":[{"sig":"MEYCIQDVnKXE8DHwJ10a0AYvUl0kSPCQFlYO1pTq+El6gOpbGwIhAITuxzb5rNu8cfYXTXSYYruofOZkuPw3fAJP+GmhnikA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665447},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0","homebridge":">=2.0.0"},"gitHead":"5544ccd1ef576f4c37ae7a296308ed5d38b5758a","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPatterns=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.cjs","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.cjs","test:rate-limiting":"node test-rate-limiting.cjs","test:standalone:ac":"node run-tests.cjs --ac-control","test:standalone:all":"node run-tests.cjs --all","test:standalone:api":"node run-tests.cjs --api","test:standalone:devices":"node run-tests.cjs --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"overrides":{"js-yaml":">=4.2.0"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.13.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.21.0","zod":"^4.4.3","uuid":"^14.0.1","axios":"^1.18.1","dotenv":"^17.4.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.0","jiti":"^2.7.0","nock":"^13.3.0","eslint":"^9.39.4","globals":"^17.7.0","ts-jest":"^29.4.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.4","homebridge":"^2.0.0","typescript":"^5.5.0","@types/jest":"^30.0.0","@types/node":"^26.0.1","mock-socket":"^9.3.0","typescript-eslint":"^8.62.0","@typescript-eslint/utils":"^8.62.0","@typescript-eslint/parser":"^8.62.0","@typescript-eslint/eslint-plugin":"^8.62.0"},"peerDependencies":{"homebridge":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_2.0.2_1782739624070_0.45177068656986163","host":"s3://npm-registry-packages-npm-production"}},"2.0.3":{"name":"homebridge-haier-evo","version":"2.0.3","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@2.0.3","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"8e8afb4795901576a3e414b385ad8f69dae379ff","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-2.0.3.tgz","fileCount":57,"integrity":"sha512-+LSCmZht2Eh1zhZxvUh1Tv3A+axhGBmY45/Si/dXYU2Su8Eoe/jW/L9mwhUHSKYhTvc2w/nkSr4dKTiYG1lEpA==","signatures":[{"sig":"MEQCIH9QjB668Sat6LPikLwO/tthm9vlTgh84VCWh0aM87+DAiBb7aej1WbALLQp04LbXO7KvRssYYDjm4SsQnGdNMkuxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665578},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0","homebridge":">=2.0.0"},"gitHead":"d06b95098c75bae1d8f7ac894d6ba83b15a73241","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPatterns=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.cjs","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.cjs","test:rate-limiting":"node test-rate-limiting.cjs","test:standalone:ac":"node run-tests.cjs --ac-control","test:standalone:all":"node run-tests.cjs --all","test:standalone:api":"node run-tests.cjs --api","test:standalone:devices":"node run-tests.cjs --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"overrides":{"js-yaml":">=4.2.0"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.13.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.21.0","zod":"^4.4.3","uuid":"^14.0.1","axios":"^1.18.1","dotenv":"^17.4.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.0","jiti":"^2.7.0","nock":"^13.3.0","eslint":"^9.39.4","globals":"^17.7.0","ts-jest":"^29.4.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.4","homebridge":"^2.0.0","typescript":"^5.5.0","@types/jest":"^30.0.0","@types/node":"^26.0.1","mock-socket":"^9.3.0","typescript-eslint":"^8.62.0","@typescript-eslint/utils":"^8.62.0","@typescript-eslint/parser":"^8.62.0","@typescript-eslint/eslint-plugin":"^8.62.0"},"peerDependencies":{"homebridge":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_2.0.3_1782746014579_0.046796007104501935","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"homebridge-haier-evo","version":"2.1.1","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@2.1.1","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"ead749a56e35637f9ecda2cf6e3bbb6976af30ed","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-2.1.1.tgz","fileCount":57,"integrity":"sha512-MPb3IjsDqAQhTNtG+6wU9UxurCbvr+yL5Vnp15T77bHVHRINaZqg+GRrwBUNOY0onkLboxoOEMnsvGrdruP60w==","signatures":[{"sig":"MEQCIDh3x2i2i8si5I009sey4+CrJdkAzH7dGwv1d1tLZP+VAiAGL6SV+cgYFewqEIKrI5kp/63HyQf5jAw3KY+RviJXyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":665578},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0","homebridge":">=2.0.0"},"gitHead":"a8ceed0100529d7bcf0a918dc30cf85a3b2063fa","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPatterns=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.cjs","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.cjs","test:rate-limiting":"node test-rate-limiting.cjs","test:standalone:ac":"node run-tests.cjs --ac-control","test:standalone:all":"node run-tests.cjs --all","test:standalone:api":"node run-tests.cjs --api","test:standalone:devices":"node run-tests.cjs --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"overrides":{"js-yaml":">=4.2.0"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.13.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.17.0","dependencies":{"ws":"^8.21.0","zod":"^4.4.3","uuid":"^14.0.1","axios":"^1.18.1","dotenv":"^17.4.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^30.0.0","jiti":"^2.7.0","nock":"^13.3.0","eslint":"^9.39.4","globals":"^17.7.0","ts-jest":"^29.4.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.4","homebridge":"^2.0.0","typescript":"^5.5.0","@types/jest":"^30.0.0","@types/node":"^26.0.1","mock-socket":"^9.3.0","typescript-eslint":"^8.62.0","@typescript-eslint/utils":"^8.62.0","@typescript-eslint/parser":"^8.62.0","@typescript-eslint/eslint-plugin":"^8.62.0"},"peerDependencies":{"homebridge":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_2.1.1_1782808198680_0.3799446997018865","host":"s3://npm-registry-packages-npm-production"}},"2.2.0-beta.0":{"name":"homebridge-haier-evo","version":"2.2.0-beta.0","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@2.2.0-beta.0","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"00220834594813ac25a922ec113e054a25e04ba4","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-2.2.0-beta.0.tgz","fileCount":57,"integrity":"sha512-3faIseSg3yddjFbj2ggNfVQiwq1ulANKPnu+as/CQ9/DewWcla10wDuQjuv7UAbiLvadOMSYhWdTADxjQXLVxA==","signatures":[{"sig":"MEYCIQDKi358jUxFS8JDCbZ2RpUlJfL3wK4ZwT5YiM468l9lawIhANRgwI8UAzke0Ia+iPkvr1RVtj/9DlxOkTAe2mFXiQts","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672013},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0","homebridge":">=2.0.0"},"gitHead":"e502ac505eff2d537ca8ae48b12c487d1f0acd1e","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPatterns=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.cjs","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.cjs","test:rate-limiting":"node test-rate-limiting.cjs","test:standalone:ac":"node run-tests.cjs --ac-control","test:standalone:all":"node run-tests.cjs --all","test:standalone:api":"node run-tests.cjs --api","test:standalone:devices":"node run-tests.cjs --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"overrides":{"js-yaml":">=4.2.0"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.16.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.21.0","zod":"^4.4.3","uuid":"^14.0.1","axios":"^1.18.1","dotenv":"^17.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.0.0","jiti":"^2.7.0","nock":"^13.3.0","eslint":"^9.39.4","globals":"^17.7.0","ts-jest":"^29.4.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.4","homebridge":"^2.0.0","typescript":"^5.5.0","@types/jest":"^30.0.0","@types/node":"^26.0.1","mock-socket":"^9.3.0","typescript-eslint":"^8.62.0","@typescript-eslint/utils":"^8.62.0","@typescript-eslint/parser":"^8.62.0","@typescript-eslint/eslint-plugin":"^8.62.0"},"peerDependencies":{"homebridge":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_2.2.0-beta.0_1785679470252_0.9078106144473881","host":"s3://npm-registry-packages-npm-production"}},"2.3.0-beta.0":{"name":"homebridge-haier-evo","version":"2.3.0-beta.0","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@2.3.0-beta.0","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"65ead48817dec8f7aa101427368ee1d2e5e0c9a9","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-2.3.0-beta.0.tgz","fileCount":57,"integrity":"sha512-OBkMs91Zbl5/F+LTZYa0MPYkxg42XnVeBdmQyP60hRVFBkg93fraVo+gD3XPnvPV4hkz5YVb5Sm2kV1YwxoMKg==","signatures":[{"sig":"MEYCIQD2eA01bWLuTifOWftF22gFDiY0LwuqHnvEe0Mlf3eGDQIhAPXZYlWtB2AS2aqDQPjcPtARQbduP4qAEClADreZ61Ix","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672019},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0","homebridge":">=2.0.0"},"gitHead":"8a8d6e10f5d95fe36dd6de87d3dafe130c276d90","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPatterns=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.cjs","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.cjs","test:rate-limiting":"node test-rate-limiting.cjs","test:standalone:ac":"node run-tests.cjs --ac-control","test:standalone:all":"node run-tests.cjs --all","test:standalone:api":"node run-tests.cjs --api","test:standalone:devices":"node run-tests.cjs --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"overrides":{"js-yaml":">=4.2.0"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.16.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.21.0","zod":"^4.4.3","uuid":"^14.0.1","axios":"^1.18.1","dotenv":"^17.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.0.0","jiti":"^2.7.0","nock":"^13.3.0","eslint":"^9.39.4","globals":"^17.7.0","ts-jest":"^29.4.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.4","homebridge":"^2.0.0","typescript":"^5.5.0","@types/jest":"^30.0.0","@types/node":"^26.0.1","mock-socket":"^9.3.0","typescript-eslint":"^8.62.0","@typescript-eslint/utils":"^8.62.0","@typescript-eslint/parser":"^8.62.0","@typescript-eslint/eslint-plugin":"^8.62.0"},"peerDependencies":{"homebridge":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_2.3.0-beta.0_1786187921127_0.3246636204106996","host":"s3://npm-registry-packages-npm-production"}},"2.3.1-beta.0":{"name":"homebridge-haier-evo","version":"2.3.1-beta.0","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"license":"MIT","_id":"homebridge-haier-evo@2.3.1-beta.0","maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"dist":{"shasum":"cac8f15b1992ed4524fd056cc90a9f9a6e986db7","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-2.3.1-beta.0.tgz","fileCount":57,"integrity":"sha512-qcN7vSA13/urzGr/XCh2dR6uWRmpUM2d6Y2BNDJRtOJWbpyKMKTlZbOWtp90p+Anp7hqoaLp+yAxIXjn1tbnNg==","signatures":[{"sig":"MEQCIC3m/dMXwquU91o/7fERG6/y32JPj9C29ve72BdCptPUAiANHnG5O8OMFN/Xlf4KsZaNxybtMqdZ3o7Sq5NcX6bk5w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":672019},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=24.0.0","homebridge":">=2.0.0"},"gitHead":"941f4d8d1604b8881f7e8d0cc96188e692f03fcc","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","release":"scripts/publish.sh","lint:fix":"eslint src/**/*.ts --fix","test:unit":"jest --testPathPatterns=unit","test:watch":"jest --watch","release:major":"scripts/publish.sh --major","release:minor":"scripts/publish.sh --minor","release:patch":"scripts/publish.sh --patch","test:coverage":"jest --coverage","test:ac-control":"node test-ac-control.cjs","test:prepublish":"npm run build && npm run lint && npm run test:unit","test:standalone":"node run-tests.cjs","test:rate-limiting":"node test-rate-limiting.cjs","test:standalone:ac":"node run-tests.cjs --ac-control","test:standalone:all":"node run-tests.cjs --all","test:standalone:api":"node run-tests.cjs --api","test:standalone:devices":"node run-tests.cjs --devices"},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"overrides":{"js-yaml":">=4.2.0"},"repository":{"url":"git+https://github.com/kulikovav/homebridge-haier-evo.git","type":"git"},"_npmVersion":"11.16.0","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ws":"^8.21.0","zod":"^4.4.3","uuid":"^14.0.1","axios":"^1.18.1","dotenv":"^17.4.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"jest":"^30.0.0","jiti":"^2.7.0","nock":"^13.3.0","eslint":"^9.39.4","globals":"^17.7.0","ts-jest":"^29.4.0","@types/ws":"^8.5.0","@eslint/js":"^9.39.4","homebridge":"^2.0.0","typescript":"^5.5.0","@types/jest":"^30.0.0","@types/node":"^26.0.1","mock-socket":"^9.3.0","typescript-eslint":"^8.62.0","@typescript-eslint/utils":"^8.62.0","@typescript-eslint/parser":"^8.62.0","@typescript-eslint/eslint-plugin":"^8.62.0"},"peerDependencies":{"homebridge":"^2.0.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-haier-evo_2.3.1-beta.0_1786188179343_0.9276132419002778","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"homebridge-haier-evo","version":"2.3.1","description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","type":"module","main":"dist/index.js","scripts":{"build":"tsc","dev":"tsc --watch","test":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage","test:unit":"jest --testPathPatterns=unit","test:prepublish":"npm run build && npm run lint && npm run test:unit","lint":"eslint src/**/*.ts","lint:fix":"eslint src/**/*.ts --fix","test:standalone":"node run-tests.cjs","test:standalone:api":"node run-tests.cjs --api","test:standalone:devices":"node run-tests.cjs --devices","test:standalone:ac":"node run-tests.cjs --ac-control","test:standalone:all":"node run-tests.cjs --all","test:rate-limiting":"node test-rate-limiting.cjs","test:ac-control":"node test-ac-control.cjs","release":"scripts/publish.sh","release:patch":"scripts/publish.sh --patch","release:minor":"scripts/publish.sh --minor","release:major":"scripts/publish.sh --major"},"keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"author":{"name":"Haier Evo Team"},"contributors":[{"name":"Adapted from and7ey/haier_evo"}],"license":"MIT","engines":{"node":">=24.0.0","homebridge":">=2.0.0"},"dependencies":{"axios":"^1.18.1","dotenv":"^17.4.2","uuid":"^14.0.1","ws":"^8.21.0","zod":"^4.4.3"},"peerDependencies":{"homebridge":"^2.0.0"},"devDependencies":{"@eslint/js":"^9.39.4","@types/jest":"^30.0.0","@types/node":"^26.0.1","@types/ws":"^8.5.0","@typescript-eslint/eslint-plugin":"^8.62.0","@typescript-eslint/parser":"^8.62.0","@typescript-eslint/utils":"^8.62.0","eslint":"^9.39.4","globals":"^17.7.0","homebridge":"^2.0.0","jest":"^30.0.0","jiti":"^2.7.0","mock-socket":"^9.3.0","nock":"^13.3.0","ts-jest":"^29.4.0","typescript":"^5.5.0","typescript-eslint":"^8.62.0"},"overrides":{"js-yaml":">=4.2.0"},"repository":{"type":"git","url":"git+https://github.com/kulikovav/homebridge-haier-evo.git"},"bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","gitHead":"1c6425eb7689a5f32f8f7474a7625c2b8afa76a9","types":"./dist/index.d.ts","_id":"homebridge-haier-evo@2.3.1","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-0UHJKH9m7OFOhneCvdzJyEm6GNJ5czcz7tO5LbRovJDNfsK2THGlkCWVSzrTEBgPxxAqWhEhfjh2XTpofRhxlg==","shasum":"8e22d20276315a88b6d42856fcafb1f639b9ec66","tarball":"https://registry.npmjs.org/homebridge-haier-evo/-/homebridge-haier-evo-2.3.1.tgz","fileCount":57,"unpackedSize":672012,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDhpz30vRZkGH/fMYFUwGUwjQs8TbJI60lZA/4DLF8vwQIhAIo61JyJBAkGeUW2leKE+hqAFwtymcSQ6ZFJL1zHSozz"}]},"_npmUser":{"name":"avker","email":"kulikovav@gmail.com"},"directories":{},"maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/homebridge-haier-evo_2.3.1_1786190064486_0.35348373491961405"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-13T08:44:18.840Z","modified":"2026-08-08T11:54:24.796Z","1.0.1":"2025-08-13T08:44:19.022Z","1.0.2":"2025-08-13T09:05:05.866Z","1.0.3":"2025-08-13T09:09:25.895Z","1.0.4":"2025-08-13T09:17:56.883Z","1.0.5":"2025-08-13T09:27:26.217Z","1.0.6":"2025-08-13T11:40:17.461Z","1.0.7":"2025-08-13T11:49:46.663Z","1.0.8":"2025-08-13T12:13:28.722Z","1.0.9":"2025-08-13T12:28:34.351Z","1.0.10":"2025-08-13T12:46:23.800Z","1.0.11":"2025-08-13T12:55:43.401Z","1.0.12":"2025-08-13T13:18:46.671Z","1.0.13":"2025-08-13T13:35:36.537Z","1.0.14":"2025-08-13T13:58:58.880Z","1.0.15":"2025-08-13T14:11:59.173Z","1.0.16":"2025-08-13T14:18:02.074Z","1.0.17":"2025-08-13T14:25:23.669Z","1.0.18":"2025-08-13T14:32:29.816Z","1.0.20":"2025-08-14T08:47:27.184Z","1.0.21":"2025-08-14T08:53:27.062Z","1.0.22":"2025-08-14T09:21:20.516Z","1.0.23":"2025-08-14T09:45:06.988Z","1.0.24":"2025-08-14T09:53:51.742Z","1.0.25":"2025-08-14T10:20:41.090Z","1.0.26":"2025-08-14T10:31:22.197Z","1.0.27":"2025-08-14T10:54:37.937Z","1.0.28":"2025-08-14T12:30:04.923Z","1.0.29":"2025-08-14T12:43:33.896Z","1.0.30":"2025-08-14T12:57:43.360Z","1.0.31":"2025-08-14T13:11:18.948Z","1.0.32":"2025-08-14T13:33:09.893Z","1.0.33":"2025-08-14T13:49:35.027Z","1.0.34":"2025-08-14T13:58:06.298Z","1.0.35":"2025-08-14T14:23:58.734Z","1.0.36":"2025-08-14T14:33:18.987Z","1.0.37":"2025-08-15T08:00:48.170Z","1.0.38":"2025-08-15T08:29:52.669Z","1.0.39":"2025-08-15T08:49:38.821Z","1.0.40":"2025-08-15T09:25:55.248Z","1.0.41":"2025-08-15T12:45:05.249Z","1.0.42":"2025-08-15T13:05:58.249Z","1.0.43":"2025-08-15T13:32:57.933Z","1.0.44":"2025-08-15T17:25:27.198Z","1.0.45":"2025-08-16T10:13:35.390Z","1.1.0":"2025-08-16T10:38:43.094Z","1.1.7":"2025-08-16T14:45:20.639Z","1.1.8":"2025-08-16T14:55:40.133Z","1.1.9":"2025-08-16T15:27:55.903Z","1.0.46":"2025-08-16T18:11:26.366Z","1.0.47":"2025-08-17T08:14:34.547Z","1.0.48":"2025-08-17T09:09:31.666Z","1.0.49":"2025-08-17T09:24:00.614Z","1.0.50":"2025-08-17T09:50:07.358Z","1.0.51":"2025-08-17T10:30:47.404Z","1.0.52":"2025-08-17T10:43:27.204Z","1.0.53":"2025-08-17T10:54:00.391Z","1.0.54":"2025-08-17T11:50:12.752Z","1.0.55":"2025-08-17T15:21:38.775Z","1.0.56":"2025-08-17T18:09:02.244Z","1.0.57":"2025-08-18T08:40:08.959Z","1.0.58":"2025-08-18T10:46:10.402Z","1.0.59":"2025-08-18T12:36:14.998Z","1.0.60":"2025-08-18T13:02:25.433Z","1.0.61":"2025-08-18T13:46:10.936Z","1.0.62":"2025-08-18T14:20:04.887Z","1.0.63":"2025-08-18T16:56:19.593Z","1.0.64":"2025-08-18T19:11:01.900Z","1.2.0":"2025-08-20T08:13:52.216Z","1.0.65":"2025-08-30T08:30:52.105Z","1.2.1-beta.0":"2025-08-31T09:13:32.750Z","1.2.1-beta.1":"2025-08-31T09:34:28.845Z","1.2.1-beta.2":"2025-08-31T09:52:16.313Z","1.2.1-beta.3":"2025-08-31T12:08:47.004Z","1.2.1-beta.4":"2025-08-31T13:08:38.185Z","1.2.1-beta.5":"2025-08-31T13:30:51.925Z","1.2.1-beta.6":"2025-08-31T13:36:10.411Z","1.2.1-beta.7":"2025-08-31T17:42:36.869Z","1.2.1-beta.8":"2025-08-31T18:29:26.482Z","1.2.1-beta.9":"2025-08-31T18:41:53.778Z","1.2.1-beta.10":"2025-08-31T21:48:20.812Z","1.2.1":"2025-09-01T17:20:54.629Z","1.2.2-beta.0":"2025-09-06T08:22:08.997Z","1.2.2-beta.1":"2025-09-06T09:07:48.130Z","1.2.2-beta.2":"2025-09-06T09:34:14.068Z","1.2.2-beta.3":"2025-09-06T19:27:08.810Z","1.2.2-beta.4":"2025-09-06T19:54:41.456Z","1.2.2-beta.5":"2025-09-06T20:06:11.533Z","1.2.2-beta.6":"2025-09-06T22:17:38.672Z","1.2.2":"2025-09-07T10:10:39.200Z","1.2.3-beta.0":"2025-09-10T10:38:41.084Z","1.2.3-beta.1":"2025-09-10T14:36:47.392Z","1.2.3-beta.2":"2025-09-10T21:36:25.920Z","1.3.0":"2025-09-10T21:53:08.334Z","1.3.1-beta.0":"2025-10-19T22:43:29.888Z","1.3.2":"2025-11-02T21:45:24.388Z","2.0.2":"2026-06-29T13:27:04.212Z","2.0.3":"2026-06-29T15:13:34.795Z","2.1.1":"2026-06-30T08:29:58.816Z","2.2.0-beta.0":"2026-08-02T14:04:30.392Z","2.3.0-beta.0":"2026-08-08T11:18:41.291Z","2.3.1-beta.0":"2026-08-08T11:22:59.508Z","2.3.1":"2026-08-08T11:54:24.661Z"},"bugs":{"url":"https://github.com/kulikovav/homebridge-haier-evo/issues"},"author":{"name":"Haier Evo Team"},"license":"MIT","homepage":"https://github.com/kulikovav/homebridge-haier-evo#readme","keywords":["homebridge-plugin","haier","evo","air-conditioner","climate","refrigerator","smart-home"],"repository":{"type":"git","url":"git+https://github.com/kulikovav/homebridge-haier-evo.git"},"description":"Homebridge plugin for Haier Evo devices (air conditioners, refrigerators, etc.)","contributors":[{"name":"Adapted from and7ey/haier_evo"}],"maintainers":[{"name":"avker","email":"kulikovav@gmail.com"}],"readme":"# Homebridge Haier Evo Plugin\n\n[![npm version](https://badge.fury.io/js/homebridge-haier-evo.svg)](https://www.npmjs.com/package/homebridge-haier-evo)\n[![GitHub Actions](https://github.com/kulikovav/homebridge-haier-evo/workflows/Node.js%20Package/badge.svg)](https://github.com/kulikovav/homebridge-haier-evo/actions)\n\nA Homebridge plugin that integrates Haier Evo devices (air conditioners, refrigerators, etc.) with Apple HomeKit.\n\nThis plugin is adapted from the [Home Assistant Haier Evo integration](https://github.com/and7ey/haier_evo) to work with Homebridge.\n\n## Features\n\n- **Air Conditioners**: Full thermostat control with heating/cooling modes, temperature control, fan speed, and swing modes\n- **Refrigerators**: Temperature control, eco mode, vacation mode, and other refrigerator-specific features\n- **Real-time Updates**: WebSocket connection for instant status updates\n- **Automatic Discovery**: Automatically discovers and adds all your Haier Evo devices\n- **HomeKit Integration**: Native HomeKit support for all device features\n\n## Supported Devices\n\n- **Air Conditioners**: AS20PHP1HRA, plus additional models via internal model-config\n  - Example: HSU-09HTT103 variants (e.g., HSU-09HTT103/R3(IN))\n- **Refrigerators**: A4F739CBXGU1\n\nFor the full and most up-to-date list of model patterns and mappings, see `src/models/device-models.json`.\n\n## Compatibility\n\nThis plugin supports devices that work with the Haier Evo app in the following regions:\n\n- 🇷🇺 Russia (RU)\n- 🇰🇿 Kazakhstan (KZ)\n- 🇧🇾 Belarus (BY)\n\n## Installation\n\n1. Install Homebridge if you haven't already.\n\n2. Install this plugin using one of these methods:\n\n   ```bash\n   # Using Homebridge UI\n   # Search for \"homebridge-haier-evo\" in the plugins tab\n\n   # Using hb-service\n   hb-service add homebridge-haier-evo\n\n   # Using npm\n   npm install -g homebridge-haier-evo\n   ```\n\n3. Add the platform to your Homebridge configuration file (`config.json`) or use the Homebridge UI to configure it:\n\n   ```json\n   {\n     \"platforms\": [\n       {\n         \"platform\": \"homebridge-haier-evo\",\n         \"name\": \"Haier Evo\",\n         \"email\": \"your-email@example.com\",\n         \"password\": \"your-password\",\n         \"region\": \"ru\",\n         \"refreshInterval\": 300,\n         \"debug\": false\n       }\n     ]\n   }\n   ```\n\n4. Restart Homebridge\n\n## Configuration\n\n### Basic Configuration\n\n| Parameter | Required | Description | Default |\n|-----------|----------|-------------|---------|\n| `platform` | Yes | Must be `\"homebridge-haier-evo\"` | - |\n| `name` | Yes | Platform name for Homebridge | - |\n| `email` | Yes | Your Haier Evo account email | - |\n| `password` | Yes | Your Haier Evo account password | - |\n| `region` | Yes | Your region: `\"ru\"`, `\"kz\"`, or `\"by\"` | - |\n| `refreshInterval` | No | Device refresh interval in seconds | `300` (5 minutes) |\n| `debug` | No | Enable debug logging | `false` |\n\n### API Optimization Options\n\nYou can optimize API requests to reduce server load and avoid rate limiting:\n\n| Parameter | Required | Description | Default |\n|-----------|----------|-------------|---------|\n| `deviceCacheTTL` | No | Time in seconds to cache device list | `300` (5 minutes) |\n| `requestRandomization` | No | Add randomization to requests to appear more natural | `true` |\n| `minRequestDelay` | No | Minimum delay between requests in milliseconds | `100` |\n| `maxRequestDelay` | No | Maximum delay between requests in milliseconds | `1000` |\n\n### Token Refresh Options\n\nControl how authentication tokens are refreshed:\n\n| Parameter | Required | Description | Default |\n|-----------|----------|-------------|---------|\n| `tokenRefreshMode` | No | Token refresh mode: `\"auto\"`, `\"manual\"`, or `\"disabled\"` | `\"auto\"` |\n| `tokenRefreshInterval` | No | Interval in seconds for manual token refresh | `3600` (1 hour) |\n| `tokenRefreshThreshold` | No | Time in seconds before token expiration to trigger refresh | `300` (5 minutes) |\n\n#### Token Refresh Modes\n\n- **Auto**: Refreshes token automatically before it expires (based on `tokenRefreshThreshold`)\n- **Manual**: Refreshes token at fixed intervals (based on `tokenRefreshInterval`)\n- **Disabled**: Only refreshes token when it's invalid (expired) or on 401 errors\n\n### Device Filtering Options\n\nYou can control which devices are discovered and added to HomeKit using the following filtering options:\n\n| Parameter | Required | Description | Default |\n|-----------|----------|-------------|---------|\n| `includeDevices` | No | Array of device IDs to include. If specified, only these devices will be added | All devices |\n| `excludeDevices` | No | Array of device IDs to exclude | None |\n| `includeDeviceTypes` | No | Array of device types to include (e.g., \"AC\", \"REFRIGERATOR\") | All types |\n| `excludeDeviceTypes` | No | Array of device types to exclude | None |\n| `includeNamePattern` | No | Regex pattern for device names to include | All names |\n| `excludeNamePattern` | No | Regex pattern for device names to exclude | None |\n\n#### Example Configuration with Filtering\n\n```json\n{\n  \"platform\": \"homebridge-haier-evo\",\n  \"name\": \"Haier Evo\",\n  \"email\": \"your-email@example.com\",\n  \"password\": \"your-password\",\n  \"region\": \"ru\",\n  \"refreshInterval\": 300,\n  \"debug\": false,\n\n  \"deviceCacheTTL\": 300,\n  \"requestRandomization\": true,\n  \"minRequestDelay\": 100,\n  \"maxRequestDelay\": 1000,\n\n  \"tokenRefreshMode\": \"auto\",\n  \"tokenRefreshInterval\": 3600,\n  \"tokenRefreshThreshold\": 300,\n\n  \"includeDevices\": [\"device-id-1\", \"device-id-2\"],\n  \"excludeDevices\": [\"device-id-3\"],\n  \"includeDeviceTypes\": [\"air_conditioner\"],\n  \"excludeDeviceTypes\": [\"refrigerator\"],\n  \"includeNamePattern\": \"Living Room|Kitchen\",\n  \"excludeNamePattern\": \"Basement\",\n\n  // AC Accessory Options (all default to true)\n  \"enableFanService\": true,\n  \"enableBlindsControl\": true,\n  \"enableBlindsAutoSwitch\": true,\n  \"enableBlindsComfortSwitch\": true,\n  \"enableLightControl\": true,\n  \"enableHealthModeSwitch\": true,\n  \"enableQuietModeSwitch\": true,\n  \"enableTurboModeSwitch\": true,\n  \"enableComfortModeSwitch\": true\n}\n```\n\n## Device Information\n\nThe plugin extracts and displays accurate device information in HomeKit using a two-stage process:\n\n### Information Sources\n\n- **Basic Info**: Initial device list from `API_DEVICES` endpoint\n- **Detailed Info**: Comprehensive device configuration from `API_DEVICE_CONFIG` endpoint\n\n### Extracted Information\n\n- **Manufacturer**: Haier\n- **Model**: Extracted from `info.model` (e.g., \"AS20PHP1HRA\")\n- **Serial Number**: Extracted from `info.serialNumber` (e.g., \"AABF1AE0000XCN1B0251\")\n- **Firmware Version**: Extracted from `settings.firmware.value` (e.g., \"1.5.5\")\n- **Device Name**: Extracted from `settings.name.name` with proper validation\n\n### Extraction Process\n\n1. **Initial Discovery**: `fetchDevices()` gets basic device list with fallback extraction methods\n2. **Detailed Configuration**: `getDeviceStatus()` fetches comprehensive device data from API_DEVICE_CONFIG\n3. **Information Update**: Device information is extracted and updated in real-time\n4. **HomeKit Integration**: Accessories receive accurate information via event system\n\n### Fallback Logic\n\nEach extraction method includes comprehensive fallback logic:\n\n- **Serial Number**: `info.serialNumber` → action link parsing → direct field\n- **Model**: `info.model` → direct model field → settings tracking data → device type\n- **Firmware**: `settings.firmware.value` → firmware object → direct fields → info section → default\n\nThis information is displayed in the HomeKit accessory details and helps with device identification and troubleshooting.\n\n### Device Information Persistence\n\nThe plugin ensures device information (model, serial number, firmware version) is preserved throughout the entire lifecycle:\n\n#### Storage and Updates\n\n- **Initial Storage**: Device information is stored in `BaseDevice` properties during construction\n- **Persistent JSON**: The `toJSON()` method includes all device information to prevent data loss during status updates\n- **Real-time Updates**: Device information can be updated via `deviceInfoUpdated` events without losing other data\n- **WebSocket Safety**: Status updates via WebSocket maintain device information integrity\n\n#### Event Handling\n\n```typescript\n// Device information is preserved in all status updates\ndevice.on('statusUpdated', (status) => {\n  // status.model, status.serialNumber, status.firmwareVersion are preserved\n});\n\n// Device information can be updated independently\ndevice.on('deviceInfoUpdated', (info) => {\n  // Updates model, serialNumber, firmwareVersion without affecting other properties\n});\n```\n\n#### Implementation Details\n\n- **BaseDevice Properties**: `serialNumber`, `firmwareVersion` added alongside existing `device_model`\n- **Interface Updates**: `HaierDevice` interface includes new properties and `updateDeviceInfo()` method\n- **Accessory Integration**: Accessories automatically handle device information updates via event listeners\n- **JSON Serialization**: All device information included in `toJSON()` output for complete data persistence\n- **Status Update Protection**: Multi-layer protection ensures device information is never lost during WebSocket or API status updates:\n  - BaseDevice `updateFromStatus()` handles device information fields when present, preserves when absent\n  - AC Device `updateFromDirectStatus()` calls base class to ensure all device information is processed\n  - Only updates device information fields when explicitly provided in status data\n- **Efficient Device Caching**: Single comprehensive cache strategy for optimal API usage:\n  - **Complete Information**: Device cache includes both discovery data and configuration details\n  - **One-Time Fetch**: During discovery, fetches `API_DEVICES` then enriches each device with `API_DEVICE_CONFIG`\n  - **Long-Term Storage**: Permanent device info (model, firmware, serial) cached for full TTL duration\n  - **No Redundant Calls**: Eliminates separate device configuration fetches for existing accessories\n  - **Memory Efficient**: Single cache structure reduces memory usage and complexity\n\nThis ensures that additional accessories (Light, Health Mode, etc.) always have access to correct device information regardless of when they are created or how status updates are processed.\n\n### Accessory Creation Process\n\nThe plugin uses an optimized two-stage process to ensure accessories are created with complete device information while minimizing API calls:\n\n1. **Device Discovery** (`API_DEVICES`): Fetches basic device list with IDs, names, and MAC addresses\n2. **Device Configuration & Initial Status** (`API_DEVICE_CONFIG`): Fetches detailed information AND initial status for each device in a single call\n3. **Accessory Creation**: Creates HomeKit accessories with complete device information and cached initial status\n\n### API Call Optimization\n\nThis approach reduces API calls by **50%** during initialization:\n\n**Before Optimization:**\n\n- `API_DEVICES`: 1 call (device list)\n- `API_DEVICE_CONFIG`: N calls (device config)\n- `API_DEVICE_CONFIG`: N calls (initial status) → **Redundant!**\n- **Total**: 1 + 2N calls\n\n**After Optimization:**\n\n- `API_DEVICES`: 1 call (device list)\n- `API_DEVICE_CONFIG`: N calls (config + status combined)\n- **Total**: 1 + N calls\n\nThe initial status data is cached in `deviceInfo.initialStatus` and applied directly to devices during accessory creation, eliminating the need for redundant API calls while maintaining full functionality.\n\n## Command Batching\n\nThe plugin implements intelligent command batching to optimize API usage and improve performance when multiple commands are sent rapidly to the same device.\n\n### How It Works\n\nWhen multiple HomeKit commands are received within a short time window (default: 100ms), they are automatically batched into a single API request:\n\n**Example Scenario:**\n\n- User adjusts AC via HomeKit: Turn on → Set mode to Cool → Set temperature to 23°C → Enable quiet mode → Turn off light\n\n**Without Batching (5 separate API calls):**\n\n```json\n{\"action\": \"operation\", \"macAddress\": \"...\", \"commands\": [{\"commandName\": \"21\", \"value\": \"1\"}]}\n{\"action\": \"operation\", \"macAddress\": \"...\", \"commands\": [{\"commandName\": \"2\", \"value\": \"1\"}]}\n{\"action\": \"operation\", \"macAddress\": \"...\", \"commands\": [{\"commandName\": \"0\", \"value\": \"23\"}]}\n{\"action\": \"operation\", \"macAddress\": \"...\", \"commands\": [{\"commandName\": \"17\", \"value\": \"1\"}]}\n{\"action\": \"operation\", \"macAddress\": \"...\", \"commands\": [{\"commandName\": \"12\", \"value\": \"0\"}]}\n```\n\n**With Batching (1 combined API call):**\n\n```json\n{\n  \"action\": \"operation\",\n  \"macAddress\": \"...\",\n  \"commands\": [\n    {\"commandName\": \"21\", \"value\": \"1\"},\n    {\"commandName\": \"2\", \"value\": \"1\"},\n    {\"commandName\": \"0\", \"value\": \"23\"},\n    {\"commandName\": \"17\", \"value\": \"1\"},\n    {\"commandName\": \"12\", \"value\": \"0\"}\n  ]\n}\n```\n\n### Key Features\n\n- **Automatic Batching**: Commands to the same device within the timeout window are automatically combined\n- **Property Merging**: Multiple updates to the same property use the latest value (e.g., temperature changes)\n- **Per-Device Batching**: Commands to different devices are batched separately\n- **Configurable Timeout**: Adjust the batching window via `batchTimeout` configuration (10-1000ms)\n- **Error Handling**: If a batch fails, all commands in that batch are rejected appropriately\n\n### Configuration\n\n```json\n{\n  \"batchTimeout\": 100\n}\n```\n\n- **Default**: 100ms\n- **Range**: 10-1000ms\n- **Lower values**: More responsive, fewer commands per batch\n- **Higher values**: More commands per batch, potentially higher latency\n\n### Benefits\n\n- **Reduced API Calls**: Up to 80% reduction in API requests for rapid command sequences\n- **Better Performance**: Faster execution of multiple commands\n- **API Compliance**: Matches the native Haier API batch request format\n- **Improved Reliability**: Fewer network requests reduce chance of failures\n\n## Token Refresh and Authentication\n\nThe plugin includes robust token management with intelligent error handling to ensure reliable API access.\n\n### Token Refresh Options\n\nConfigure token refresh behavior to match your needs:\n\n```json\n{\n  \"tokenRefreshMode\": \"auto\",\n  \"tokenRefreshInterval\": 3600,\n  \"tokenRefreshThreshold\": 300\n}\n```\n\n**Token Refresh Modes:**\n\n- **`auto`** (default): Automatically refresh tokens when they are about to expire\n- **`manual`**: Refresh tokens at specified intervals regardless of expiration\n- **`disabled`**: Only refresh tokens when they are completely invalid\n\n**Configuration Options:**\n\n- **`tokenRefreshInterval`**: For manual mode, interval in seconds between refreshes (default: 3600 = 1 hour)\n- **`tokenRefreshThreshold`**: Time in seconds before expiration to trigger refresh (default: 300 = 5 minutes)\n\n### Enhanced Error Handling\n\nThe plugin includes intelligent error handling for common authentication scenarios:\n\n- **401 Unauthorized**: When the refresh token is invalid/expired, immediately falls back to full reauthentication instead of retrying\n- **429 Rate Limiting**: Uses exponential backoff for rate limiting errors, then falls back to authentication if max retries exceeded\n- **Token Validation**: Checks both access and refresh token expiration before attempting refresh operations\n- **State Cleanup**: Clears invalid tokens to prevent retry loops and authentication issues\n\nThis eliminates the previous issue where 429 rate limiting could lead to refresh token expiration, causing repeated 401 errors.\n\n## Configurable AC Accessories\n\nThe plugin allows you to customize which additional services are created for AC devices, helping reduce HomeKit clutter and improve performance by only enabling the features you need.\n\n### Available Options\n\nAll AC accessory options default to `true` (enabled). Set any option to `false` to disable that specific accessory:\n\n| Option | Description | Default |\n|--------|-------------|---------|\n| `enableFanService` | Enable separate Fan v2 service for fan control | `true` |\n| `enableBlindsControl` | Enable vertical blinds control using Fan v2 service | `true` |\n| `enableBlindsAutoSwitch` | Enable blinds auto mode switch | `true` |\n| `enableBlindsComfortSwitch` | Enable blinds comfort mode switch | `true` |\n| `enableLightControl` | Enable light control service | `true` |\n| `enableHealthModeSwitch` | Enable health mode switch | `true` |\n| `enableQuietModeSwitch` | Enable quiet mode switch | `true` |\n| `enableTurboModeSwitch` | Enable turbo mode switch | `true` |\n| `enableComfortModeSwitch` | Enable comfort mode switch | `true` |\n\n### Configuration Examples\n\n**Minimal Configuration** (only core AC functionality):\n\n```json\n{\n  \"enableFanService\": false,\n  \"enableBlindsControl\": false,\n  \"enableBlindsAutoSwitch\": false,\n  \"enableBlindsComfortSwitch\": false,\n  \"enableLightControl\": false,\n  \"enableHealthModeSwitch\": false,\n  \"enableQuietModeSwitch\": false,\n  \"enableTurboModeSwitch\": false,\n  \"enableComfortModeSwitch\": false\n}\n```\n\n**Blinds Control Only**:\n\n```json\n{\n  \"enableFanService\": false,\n  \"enableBlindsControl\": true,\n  \"enableBlindsAutoSwitch\": true,\n  \"enableBlindsComfortSwitch\": true,\n  \"enableLightControl\": false,\n  \"enableHealthModeSwitch\": false,\n  \"enableQuietModeSwitch\": false,\n  \"enableTurboModeSwitch\": false,\n  \"enableComfortModeSwitch\": false\n}\n```\n\n**Essential Features Only**:\n\n```json\n{\n  \"enableFanService\": true,\n  \"enableBlindsControl\": false,\n  \"enableBlindsAutoSwitch\": false,\n  \"enableBlindsComfortSwitch\": false,\n  \"enableLightControl\": true,\n  \"enableHealthModeSwitch\": false,\n  \"enableQuietModeSwitch\": true,\n  \"enableTurboModeSwitch\": false,\n  \"enableComfortModeSwitch\": false\n}\n```\n\n### Core Services\n\nThe following services are always created and cannot be disabled:\n\n- **HeaterCooler Service**: Main AC control (power, mode, temperature, swing)\n- **Temperature Sensor Service**: Current temperature monitoring\n\n### Benefits\n\n- **Reduced Clutter**: Only show accessories you actually use\n- **Better Performance**: Fewer services mean faster HomeKit response\n- **Customization**: Tailor the interface to your specific AC model and usage\n- **User Experience**: Cleaner, more focused control interface\n\n## Accessory Name Handling\n\nThe plugin implements proper HomeKit-compliant accessory name handling:\n\n### Name Validation\n\n- **HomeKit Compliance**: Names are automatically validated and sanitized to meet HomeKit requirements\n- **Allowed Characters**: Only alphanumeric characters, spaces, and apostrophes are permitted\n- **Character Boundaries**: Names must start and end with alphanumeric characters\n- **Length Limits**: Names are truncated to 64 characters maximum\n- **Space Normalization**: Multiple consecutive spaces are collapsed to single spaces\n- **Fallback Names**: Invalid or empty names are replaced with device type and ID\n\n### Automatic Name Updates\n\n- **Service Synchronization**: When accessory names change, all related service names are automatically updated\n- **AccessoryInformation Service**: The Name characteristic is properly maintained\n- **Consistent Naming**: All services maintain consistent naming patterns (e.g., \"Living Room AC Fan\", \"Living Room AC Light\")\n\n### Examples\n\n| Original Name | Validated Name | Reason |\n|---------------|----------------|--------|\n| `Living Room AC` | `Living Room AC` | Valid name (no changes) |\n| `Kitchen AC (Main)` | `Kitchen AC Main` | Parentheses removed |\n| `Master's Bedroom` | `Master's Bedroom` | Apostrophe allowed |\n| `AC-Unit@Home#1` | `AC-UnitHome1` | Special characters removed |\n| `Garage AC` | `Garage AC` | Spaces trimmed |\n| `Office   AC` | `Office AC` | Multiple spaces collapsed |\n\n## Vertical Blinds Control\n\nAir conditioners support advanced vertical blinds control through multiple HomeKit services:\n\n### Blinds Fan v2 Service\n\n- **Rotation Speed Control**: Adjust blinds using fan rotation speed (0-100%)\n- **Position Mapping**: 7 distinct positions mapped to rotation percentages:\n  - Upper (8%): Directs airflow upward (-75°)\n  - Position 1 (25%): First rotation position (-45°)\n  - Position 2 (33%): Second rotation position (-30°)\n  - Position 3 (50%): Neutral/center position (0°)\n  - Position 4 (67%): Fourth rotation position (30°)\n  - Position 5 (75%): Fifth rotation position (45°)\n  - Bottom (92%): Directs airflow downward (75°)\n- **Active Control**: Switch between manual positioning and auto mode\n- **State Feedback**: Shows BLOWING_AIR (manual) or IDLE (auto)\n\n### Smart Mode Switches\n\n- **Auto Mode (Авто режим)**: Automatic blinds positioning based on system operation\n- **Comfort Flow (Комфорт-поток)**: Intelligent airflow direction:\n  - **Heating Mode**: Directs warm air downward (bottom position)\n  - **Cooling Mode**: Directs cool air upward (upper position)\n  - **Mutually Exclusive**: Only one mode can be active at a time\n\n## Device Types and HomeKit Services\n\n### Air Conditioners\n\n- **Primary Service**: HeaterCooler\n  - Heating/Cooling modes (Heat, Cool, Auto)\n  - Active/Inactive state control\n  - Temperature control (16°C - 30°C)\n  - Current temperature display\n  - Cooling and heating threshold temperatures\n  - Fan speed control (Rotation Speed)\n  - Swing mode control (SWING_ENABLED/SWING_DISABLED)\n- **Additional Services**:\n  - Fan v2 (Active/Inactive, Current/Target State, Speed control)\n    - Target State: AUTO (automatic fan speed) or MANUAL (manual speed control)\n    - Current State: INACTIVE, IDLE, or BLOWING_AIR\n    - Rotation Speed: 0-100% (only in MANUAL mode)\n  - Blinds Fan v2 (Vertical blinds control using fan rotation)\n    - Active: Manual/Auto blinds control\n    - Current State: BLOWING_AIR (manual) or IDLE (auto)\n    - Target State: MANUAL (position control) or AUTO (automatic)\n    - Rotation Speed: 0-100% maps to blinds positions (-90° to +90°)\n  - Blinds Auto Mode Switch (Авто режим)\n  - Blinds Comfort Flow Switch (Комфорт-поток)\n  - Temperature Sensor\n  - Light (if supported)\n\n### Refrigerators\n\n- **Additional Services**:\n  - Ambient Temperature Sensor\n  - Compartment Temperature Sensor\n  - Door Sensor\n\n## HomeKit Features\n\n### Air Conditioners\n\n- Control heating/cooling modes (Heat, Cool, Auto) through the Home app\n- Turn device on/off with Active/Inactive control\n- Set cooling and heating threshold temperatures\n- View current temperature\n- Control fan with enhanced Fanv2 service:\n  - Switch between AUTO and MANUAL fan modes\n  - View current fan state (inactive, idle, blowing air)\n  - Control fan speed (0-100%) in MANUAL mode\n- Control swing mode (enabled/disabled) through HeaterCooler service\n- Control vertical blinds with Blinds Fan v2 service:\n  - Adjust position using rotation speed 0-100% (7 positions)\n  - Active control: Switch between manual and auto modes\n  - State feedback: Visual indication of manual/auto operation\n  - Auto Mode switch: Automatic blinds control (Авто режим)\n  - Comfort Flow switch: Smart airflow direction (Комфорт-поток)\n  - Modes are mutually exclusive for optimal airflow\n- Control built-in light (if supported)\n\n### Refrigerators\n\n- View current temperature\n- Door sensors\n\n## Troubleshooting\n\n### Common Issues\n\n1. **Authentication Failed**\n   - Verify your email and password are correct\n   - Ensure your account is active and not locked\n   - Check if your region is supported\n\n2. **Devices Not Appearing**\n   - Check your internet connection\n   - Verify the Haier Evo app can see your devices\n   - Check if you've configured device filtering options that might be excluding your devices\n   - Use `\"debug\": true` to see detailed logs about which devices are being filtered\n   - Check Homebridge logs for error messages\n\n3. **Commands Not Working**\n   - Ensure the device is online in the Haier Evo app\n   - Check if the device supports the specific feature\n   - Restart Homebridge\n\n### Debug Mode\n\nEnable debug logging by setting `\"debug\": true` in your configuration:\n\n```json\n{\n  \"platform\": \"homebridge-haier-evo\",\n  \"name\": \"Haier Evo\",\n  \"email\": \"your-email@example.com\",\n  \"password\": \"your-password\",\n  \"region\": \"ru\",\n  \"debug\": true\n}\n```\n\n### Logs\n\nCheck Homebridge logs for detailed information:\n\n```bash\nhomebridge -D\n```\n\n## Development\n\n### Building from Source\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/kulikovav/homebridge-haier-evo.git\n   cd homebridge-haier-evo\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n3. Build the project:\n\n   ```bash\n   npm run build\n   ```\n\n4. Link for development:\n\n   ```bash\n   npm link\n   ```\n\n### Testing\n\nThis project includes several testing approaches:\n\n#### Unit Tests\n\n```bash\n# Run unit tests\nnpm run test:unit\n```\n\n#### Standalone Tests\n\n```bash\n# Run device tests\nnode test-devices.js\n\n# Run rate limiting tests\nnode test-rate-limiting.js\n\n# AC command/control basic checks (no real API)\nnode test-ac-control.js\n\n# Accessory services checks (no real API)\nnode test-accessory-services.js\n\n# Real API smoke test (requires valid credentials in env/config)\n# Use sparingly; typical development prefers mock/standalone tests\nnode test-real-api.js\n```\n\n#### Comprehensive Test Runner\n\n```bash\n# Run all tests\nnode run-tests.js --all\n\n# Run specific test types\nnode run-tests.js --devices\nnode run-tests.js --rate-limiting\n```\n\n> Note: Tests that require real API access have been disabled in this environment.\n\n### GitHub Actions Workflows\n\nThis project uses GitHub Actions for automated testing, version management, and publishing to npm.\n\n#### Test Workflows\n\n1. **Standard Tests**: Runs on every push and pull request\n   - Unit tests, device tests, and rate limiting tests\n   - No real API access required\n\n2. **Comprehensive Tests**: Manually triggered workflow\n   - Can run device tests or rate limiting tests\n   - No real API access required\n\n#### Release Process\n\n1. **Create a Release**:\n   - Go to the Actions tab in the GitHub repository\n   - Select the \"Create Release\" workflow\n   - Click \"Run workflow\"\n   - Choose the version bump type (patch, minor, major)\n   - Click \"Run workflow\"\n\n2. **Publishing to npm**:\n   - After a release is created, the \"Node.js Package\" workflow automatically runs\n   - It builds, tests, and publishes the package to npm\n   - It also updates the CHANGELOG.md file\n\n#### Manual Release Process\n\nYou can also use the included script for manual releases:\n\n```bash\n# Interactive release process\nnpm run release\n\n# Quick release with specific version bump\nnpm run release:patch\nnpm run release:minor\nnpm run release:major\n```\n\n### Publishing to npm\n\nThis project is set up for automatic npm publishing through GitHub Actions:\n\n1. When a GitHub Release is created, the package is automatically published to npm\n2. When the \"Node.js Package\" workflow is manually triggered, the package is published to npm\n\n#### Required GitHub Secrets\n\nFor the automated publishing to work, you need to set up the following GitHub secrets:\n\n1. `NPM_TOKEN` - An npm access token with publish permissions\n   - Go to your npm account settings\n   - Create a new access token with \"Automation\" type\n   - Add it as a repository secret in GitHub\n\n#### Setting up GitHub Secrets\n\n1. Go to your GitHub repository\n2. Click on \"Settings\" > \"Secrets and variables\" > \"Actions\"\n3. Click \"New repository secret\"\n4. Add the NPM_TOKEN with your npm access token value\n\n#### Manual Publishing\n\nTo publish manually:\n\n1. Make sure you have an npm account and are logged in:\n\n   ```bash\n   npm login\n   ```\n\n2. Run the release script:\n\n   ```bash\n   npm run release\n   ```\n\n3. The script will:\n   - Run tests\n   - Bump the version\n   - Update the changelog\n   - Publish to npm\n   - Create a git tag\n   - Push changes to GitHub\n\n### Project Structure\n\n```\nsrc/\n├── accessories/          # HomeKit accessory implementations\n│   └── haier-evo-accessory.ts\n├── devices/             # Device-specific implementations\n│   ├── base-device.ts\n│   ├── haier-ac-device.ts\n│   └── haier-refrigerator-device.ts\n├── models/              # Per-model configuration and resolver\n│   ├── device-models.json   # Internal model mapping (ids, mappings, wrapper command)\n│   └── model-config.ts      # Loader + helper functions\n├── constants.ts         # API constants and mappings\n├── device-factory.ts    # Device creation factory\n├── haier-api.ts        # Haier API client\n├── index.ts            # Plugin entry point\n├── platform.ts         # Main platform class\n├── settings.ts         # Plugin settings\n└── types.ts            # TypeScript type definitions\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch\n3. Make your changes\n4. Add tests if applicable\n5. Submit a pull request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Original Home Assistant integration by [@and7ey](https://github.com/and7ey/haier_evo)\n- Homebridge community for the excellent platform\n- Haier for providing the Evo IoT platform\n\n## Support\n\nIf you need help or have questions:\n\n1. Check the [troubleshooting section](#troubleshooting)\n2. Search existing [issues](https://github.com/kulikovav/homebridge-haier-evo/issues)\n3. Create a new issue with detailed information about your problem\n","readmeFilename":"README.md"}