{"_id":"@milo526/homebridge-tuya-web","_rev":"57-eba30b7a40ce2f640721274e5d9dc422","name":"@milo526/homebridge-tuya-web","dist-tags":{"next":"1.1.4","latest":"1.1.5"},"versions":{"0.2.0":{"name":"@milo526/homebridge-tuya-web","version":"0.2.0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.2.0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"78d3a4189e9328dfc2e1ceb3adeaf38ce161bf08","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.2.0.tgz","fileCount":17,"integrity":"sha512-FGkxdJeu+2P6m4RUJAZQL/6C4h0F5G05WmCd9u/cGEpSIXo9VZq1I10AdBsXlutd1OukY0XlZfdmB5/2eTJ9rw==","signatures":[{"sig":"MEUCIQDLgi+Y4hOgIhIrsPWPr+oa0IV4iSQB+pYyw1Z/kX/lRwIgH/rj+Vi2SrpohIKTCj8mfx3UTVnVLAGtvJXRUz+vp+Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58899,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJepKGiCRA9TVsSAnZWagAAAe8QAKPWa15g/SFEpiXAsy45\nqRw2srR34fV495Wtqr2MYKMbSxzby061rtvMNBDKNlFMpMmDZVsTUqW9Ax+x\nQF+2mC59UTRCZNRSLmZMcQOBaQlEyIzXscT8HKC3Ep2fHRKeZNlUoYGQ9Eo6\nq/M12go1btn3yMlr9YTtxvUZ9k0eBslr4YKRY/kOTHhXS9xUf/g/tl+NQTc/\niPGo6toy7NQNQn0Q8zQb8ighF45ucQS7mjAIguO9mUHWowp4G1lSCQyciQy/\ncYkrhQEbZh0gqS93lwBhxIVPv2J7Itc26zzTAHZ7V7hixM8sJFl4/v7dpq0U\n/9slGRwErih0Nn0tm2qk9g1bqBc6GMCalIeznckpJNk8huYHxvgqkJzwxFJd\n6Sb7RHs2wiGSnbX7xut6E2cDqfIxR/a/8GaQDphDN2z1cgkGBMt5zCIX2Pw9\nMqAzKozuaZ42lqXTVVDYEPWGwrkJfWzAfHK2mLfyD6p09fK+3scdroqSNy+f\nJtakyxT86Opq7fjnVZ1U/divP22uzXpfBjOdtKceT97khuttBRTC+qwGX685\nI2+AeednTW28dpag/eu6wr1rwg08QxQztRFuM9Z1LyzlvKd4h9WOAQHfEPkQ\n3EmLLjC8HgOXj28R76E36LgCkMLAtXVh7G7l2QpmBc56dSN438zuslnc5m8h\nVq2U\r\n=OOH1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=0.12.0","homebridge":">=0.2.0"},"gitHead":"bd7ff30a103b9a1a7ac66a982c31013323ef253e","scripts":{"test":"mocha"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebrigde plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{"lib":"lib","test":"test"},"_nodeVersion":"12.13.1","dependencies":{"request":"^2.88.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.2.0_1587847585875_0.2635225524226865","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@milo526/homebridge-tuya-web","version":"0.3.0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.3.0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"fe6602ee8a1c904c0b911f703da92cf21356fdba","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.3.0.tgz","fileCount":18,"integrity":"sha512-1xiw7fEekaPdnrBgDWz9gQO5hSIUFzz3YDkOwSk9829dKy0wwI0MnDMCzeKHvlDwve4q3CSxvuSa0YMiZlaY4w==","signatures":[{"sig":"MEYCIQDN5E4Ksoh/6bQWN/ABoAjTRIGxOJ5j+Aei9BBNlBzaJwIhALXYkFOsKEInf2lsOt2IF7YB1hCOQ5Ca3YbuJmMZZ3R4","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61915,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6owuCRA9TVsSAnZWagAAuI4P/2xzMb/CneLhbN/hnnvv\nBqhsHiwBGDnOKo9ZJK6I6yUPY9XkHCNLEbxsPEUiUc1DcYi5dRfFstxQEASx\nTVoCJJHxkSGuTn0JY+9yVRegytJas88oIuamCYEkuCFPq462NPBsLPxPj8Ac\nGusJBVjWxJCUl0O10pmEHegXE6fIx6/ZT9JFjlxlOn43GZOdBFvxUskI3wYM\nL/Z1u9fqy+q8zgOTnCzxZvf/RtfvSpcGyarssNMzbbU65ehfgM67Y8wbT1De\nLj4/Ot0EEshe1QD+QYT8/0D1zZvCzEOr/JYFvW/KGL5LFYwL/YhaUM0YPMYh\naDLekQiavKv8+E4z307XcCQMWFKR9t+enT6w/ovytiq9ncRqaTtL8GX9D6l2\ndOlAboodlKk3NzrZlLmj4vcehmp0+ahv+qqFjl6CHidxYZtbrA1MNyiLNfMc\nsMuKZKc2z+DejR0WK2fszblmtS7zTGYFS4erc3dtEHfhg/Bupa+xkpGK+e8N\ng7/xXp9g5I2XvMsTMAVyXOjyZAkIpyijeIbwE9uHIcU7vnaKhWQt91AzhtbL\ntJBHgFWy90wRUr3Nx1EZCBfJMEpRjmSb5EmAA14kHevsTtZBjVrHqprTgqTy\nAbGJ01yNrvNsXM8bqj5P7ghJvrE3db8L7dGECi2BesZaaEHN4WtuSxjRV+bY\niR5u\r\n=3LT/\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=0.12.0","homebridge":">=0.2.0"},"gitHead":"07bbca3a7f342edf9021eab93867164442e7799a","scripts":{"test":"mocha"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"_nodeVersion":"14.3.0","dependencies":{"request":"^2.88.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.3.0_1592429614039_0.35098422285434894","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"@milo526/homebridge-tuya-web","version":"0.3.1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.3.1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"d0d128b3ead84339baea130b1aa4aa6c8afd60d3","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.3.1.tgz","fileCount":18,"integrity":"sha512-Tny59pQ2xXDZiI9ds9MlkGnvuJA444HIVI9Qjs8Ghp43wuwTIW1X5Bsdh3zSkK2GEcR4rlZLgkWnZJDaoQWDWg==","signatures":[{"sig":"MEQCIAMJwBORVqO5Sb7FnLBUlUMR7s2TQ5kbCOL35ftu2IbzAiBQYDM9bgxJr91p14uaGAuHY9Gqsl8m/UG9YqJBF6+O/Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62318,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe64l8CRA9TVsSAnZWagAAk6MP/2INdbBPnsNUtjnaELba\nN/gBoJTel2cvQpsltvRMtFn3RtVD6lmXR6anG0haIAXbZO+/ZGP9eQ6C34xP\nvOEpjSuNsGcMPwZ4RR0m3R9MJ7Zn5JYn8zneYqEdwvS4RT06JplpdJgRWn3P\nXhR2d+GCzUnRcoXUkwfbPaqC0Pjtf8iT/4/vChG5nUNdRAX5ioksTNzYvXRR\n/5ytzClGxeHxNspCYc4gB2qIk07ej5oNnC0HOZgyIw7mB3OFbD4+DukMVJh4\nY5cC8Q0D8yWus5QzhrgR18/ndmw6eK4AxhMYZUPT+ZoMo6wo1eHex7t4tWi2\nRRMZirAkcBDxjwj4sJ5UaphDla0p9WB4I6Exck3VUzUy89rjFl+KM82TKsE7\nTUwyctjIWRcdgjj6yo8lw5YY6yYrlnsxpOVAWGFVUx3PGMT4ouQ1GD43jV7V\nV8oG82cYT0CBlXS7QcjQ4NGiJcpGns57sRj9g6EuxKluwgmf/OdXMK5XlCmm\nu9XR9bseHpXlblCERA5wScxuWJV+nWvm1d2M+4Gs7I5LoUeIAqJrE8/FsLjs\n8Laj2EDFa/ltOznOSVMFeGbhapH/pVm3xXp61bReinQ66myIs81t7/Wof9HK\nT50up0ESIUPThGyR3aLpQoEzhTpfjzAZI+usgnowARhsuQ2OgInzy5/B1VW2\nTjF4\r\n=8ti5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=0.12.0","homebridge":">=0.2.0"},"gitHead":"22d08d43b968a9bc96f452b1f433d9a4846c9e40","scripts":{"test":"mocha"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"_nodeVersion":"14.3.0","dependencies":{"request":"^2.88.0"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.3.1_1592494458998_0.9288278405821631","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"@milo526/homebridge-tuya-web","version":"0.3.2","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.3.2","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"509e0b22f6dcb3fe40bbced530ff62a6633a72a3","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.3.2.tgz","fileCount":19,"integrity":"sha512-SPCztouprr8XQrExo/Btm8yvuHpxTf/0cTvQ6DwdSY/xSZb4hnrXYHzZJjk9+xi8HtfsTEzzWHaWCz8T6+MtVQ==","signatures":[{"sig":"MEQCICOA6YXiKJhK3kpXpNucUFyZ6CwsU17ieOmemO9d/9+oAiA4ZUKHw3fxxc+/HuSGPJT3z1xA/cRskzcxIvY9Gf+c5w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70963,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe66ebCRA9TVsSAnZWagAA7aMP/0SnczGGAsaBStjuwAN1\nNNml6KfxtyUdtBBN1QcYKtwnG2Cjay4W3X0kLUTe0M/RrYTKBLeOhNo4JxHP\n44HhEE0/XebXbmQ+SIP32sbJoLmQ4I6yYr9hV/XK6VIv6r2awaWbvqD4c3Up\neGKoGYDLqrVamY9epAlsl7H+5Zm+fpKYJJ921rVI0q56XqSsRkmbgtmuY8wT\nlSTO8K/s+4IzGRfEQFyIZJkukcXKvjRQpttG2u/B2pgtPDruODyjhej9OGp3\n0digehdNc+xn8b4zGtxpPZEqizCsoMvpPuEzGILADW9JwcEsuOMS0IEwoYdP\n4vINIoF3YTxyJICQbJIv3n+IJH4Xl/qOQVSkEHF3dyiDEdiVjvS7DSb8pqQX\nA2zRMn8uOPcoSsuhKLbDhgE0Wf0roQEr5g/nO/kuhaptgCPyF+uvz5azprWU\nVTkRwbKMIhVqXv0WWl7NqIEu3h0j0Np8W7u0b7V0dnBZ22hBhhfplgQWulvS\nfzRWWSp3CKMWQU/e2z632ISFs1MZNgKx1xXvWqI7BUJOBRB0LtIFvNvcXjJ9\nHiNtFm9pCYg8vjFvREN6yazEAW8mWWbANuCC0V/CHhLUOW1/55TMVdXrK+LE\n2BxOw8cdL4bORi5F6VIpKGrNtniPH5uXff9Jq/4nTOq1IwNGvpdbEebgeYOD\nB1mO\r\n=o+Nz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=0.12.0","homebridge":">=0.2.0"},"gitHead":"48701dffdd9201f967360205bf1e8ffe92c266e7","scripts":{"test":"mocha"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.3.2_1592502171291_0.4713886172069208","host":"s3://npm-registry-packages"}},"0.3.3":{"name":"@milo526/homebridge-tuya-web","version":"0.3.3","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.3.3","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"cecc59250d470f2cb74fc943026fb1b72335d152","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.3.3.tgz","fileCount":19,"integrity":"sha512-582QT3Z/dEkxLh/GJXiEiPhuDO85JTnxvFyz3MMEBWY1CfoFJiA8yuX4D+qCYmJufU15kgWMnNFE1w/qphrNNA==","signatures":[{"sig":"MEUCIBxUuUIvdkSE/O0WBlbz+Kp7itXIfZcbav7OBphSOCYLAiEAunAQztumpCuSl4V3e18TioJqaYaHNZl9QjXEtUa2LYw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70323,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe68wvCRA9TVsSAnZWagAAWVAP/0qna6hYGO9pZUmfqrr3\nuyfqx0rMIJY6PeBkgf9BmiJYMxvXJoOs6geXNu7HHOoLOJzS2PECTqYAkcKX\njzX/fSZe9zZAdUMxt6Fy0TG3ADfEj1ESvLVcBZCXCwL963feifOPL6tHJHQR\nL2QZPFq/ZIMx957Ffu9rt7jbenTcKJj2cPqPMQBeoRJbmJsm6q+4/wSU3jpW\ndPvEnGHxIag9IKw+X5dbvULOWHXBzEIdh1sHXEuDJQJBWipfrdukaro6/c5x\nV/1P4zXvYPG7nDw20TxfAFGPIgCEDlZrv2IqPcz+jL1bnIVG4QuGvDL3IT+m\nXLemipuhsH/OMa3nMAl6FeqbkpTY90JrRm1l8UC0aGC6NGO8o1cpRm1g3o1f\nuFZhRqKKqWzTPUAujBjePZCYNsfy/zTTiGmyzIWC5dseVqlsR6vd5Lhur5+F\nYd4XABh4zVuXsH/4GRRrwL5O0HKXBIKNYyIwdwMf+yoCvT4OyTnMxOwhXODd\ne6ONieoFSqOJOcz4MBqN74v5mt+gXa3OZYIpqMwR6vbYYkcuRFStqN8BK9Or\nN0s6Pl/6exrdK5oL7hwt5RTmuMGlxY3XJW0HSIOzS/ws2M2KBk/xtV1ExYHD\n0z8mUPtbbVUz1uq0dCpf+JzDXr+Fd7Dyrjb/kPM8fnue9yxpj86ZpjctiRna\nPWTm\r\n=MGif\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=0.12.0","homebridge":">=0.2.0"},"gitHead":"f52e6f2b24b1d37e2c2f8a6a28ed97f5c8d66d98","scripts":{"test":"mocha"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2"},"_hasShrinkwrap":false,"devDependencies":{"chai":"^4.2.0","mocha":"^6.2.3"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.3.3_1592511534774_0.6130040894704936","host":"s3://npm-registry-packages"}},"0.3.4-0":{"name":"@milo526/homebridge-tuya-web","version":"0.3.4-0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.3.4-0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"29ddea806e43b55a156ce0667a73da0b3626b965","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.3.4-0.tgz","fileCount":13,"integrity":"sha512-FDbJwsyIHEl9jnydviAfkZ+nFL12douzcyybWA8DcH+PeBeoXxbHevDKZ+CRnuESKROg5wGW+gBcWEQSRxxqkA==","signatures":[{"sig":"MEYCIQC5IR3k50wP3IVxEb3M7Q3VUS+Keh90+l48o/T8G6Jc5wIhAO08tLFxy/KfbcFOHz1umsBTi4IYACG1YQViiwXwEsmy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61719,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe7okoCRA9TVsSAnZWagAAFnQP/2XXGj/2cnMhttOeHPAE\neGQpCLkDsIWlpK2M58rH7HYAsli9M+4vJUT6e3/2Aiq5xWrgFqg/fvuwskc/\ng8U7JbpaXOAWnGIsjq8Ck7NHKzb8jlyNX5kOfDnaQitQrVZu+1JQWY8x0r1V\nCNJOS7ygbF1bbUaHpzKTk9WdUK4aE6E1OWDumRtLp5QmYPzTmbA7QarnjxkF\nsZEO5ruUmeKkmP2tARfrj8fwJ83w9ZwJYBYQ7+SJfesPai1Sscl7mfvHQMGb\nIcDvQAGKts1v/CbFRV62bu+5I1o/Zp2gE1HkzRj7FT+TWe0+o39OIhOMwpfG\nr1s9J2hcRTi+WY+7mkAuIG910Cud+E59+MO//nihE+kf7t1o0fgneGhRCRZq\njUHYba3waAYiWz5GnWM7vTm8GQM/JPuJo4Omf2oe8u66Z4TjIJwgs0zpq/XS\nKUpYwroa9STkowIKN/fLguvQtAwqefFKfGAocbroHrQtK7xs/GUWvEuCYz5V\nqlVeHjYqkibeb/1tair0DquVUTqN2P/RW5+m11N8qncOyaHaXOBOAsVT5UeI\n72EPRUkV+yAp70PsWxFL4WLoeK0g1drRufVR0tA3x/9s8tzKRee5IyquitxC\nB8GdjYtxeVNpSV5oWW8jZpeqJOpTdDguKpg95p75rTywgeWYnN+XEW0ydqwW\nie12\r\n=SIkr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","readme":"# homebridge-tuya-web\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WIFI enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices and get frequent state updates.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. State cache is updated every 10 seconds and when controled from a HomeKit app. There can be a latancy in updates when a device is controled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i @milo526/homebridge-tuya-web -g\n```\n\n## Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"smart_life\",\n      \"pollingInterval\": 10\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username`: Required. The username for the account that is registered in the Android/iOS App.\n- `password`: Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode`: Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform`: The App where your account is registered. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval`: Optional. The frequency in **seconds** that the plugin polls the cloud to get device updates. When the devices are exclusively controlled through Homebridge, you can set this to a low frequency (high interval number, e.g. 180 = 3 minutes). Defaults to 10.\n\n## Overruling Device Types\n\nAs of version 0.1.6 it is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<id>\",\n      \"device_type\": \"<device_type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id`: Required. The id for the device that is registered in the Android/iOS App.\n- `device_type`: Optional. The `device_type` to be overruled. For now only device type `dimmer` is supported. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation. \n\n## Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. Oscillation is not implemented due to lack of support in the Tuya API. \n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Scene** - Not yet supported, see discussions in #1 and #8.\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n mocha test/tuyawebapi_test.js\n```\n\n## Version history\n\n#### For newer versions please consult the [releases](https://github.com/milo526/homebridge-tuya-web/releases).\n\n##### Version 0.1.7 - 2019-08-18\n\n* Fixed not correct updating after reboot of Homebridge.\n\n##### Version 0.1.6 - 2019-08-18\n\n* Added light accessory (made by niksauer, thanks!!)\n* Added overruling device type in config. Some dimmers are reported by Tuya API as `lights`. Dimmers don't have hue and saturation and therfor the device type has to  be overruled to `dimmer`.\n\n##### Version 0.1.5 - 2019-08-18\n\n* Fixed issue #17 - Outlets and switches not turning off in Home app when turned off with other app.\n\n##### Version 0.1.4 - 2019-08-09\n\n* Switch to regional Tuya Web API server after authentication was successful (EU / China / USA).\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"gitHead":"5d411130b8731cbf951cb4f12b2b0fef796c6cb4","scripts":{"test":"mocha"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"^4.2.0","mocha":"^6.2.3"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.3.4-0_1592690984337_0.25894670193951086","host":"s3://npm-registry-packages"}},"0.4.0-0":{"name":"@milo526/homebridge-tuya-web","version":"0.4.0-0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.0-0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"072fbf401aacac43f0cc0a0facca6911b420a6ab","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.0-0.tgz","fileCount":100,"integrity":"sha512-J/4N3Gl7I42GzeZaBDW07gPvq8t/LbkHwZF1VTscTEoGQNpWFbsWzO/HwOIssdPX0m5fW8ovcejd3hzBgG4qgA==","signatures":[{"sig":"MEYCIQCDx2C9vuRtXizFzEEhHzfzg5wcx7z+y560OSLgINhiCwIhAPGT1zUkfpisyu6BvtOh78InuYV+LDMKzRhgBbBWtuRp","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":166536,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHYA5CRA9TVsSAnZWagAAcMYQAIsXCzteT2TCXnUzGUqh\nAHNpZiWbHeyfkD5Sj0l/VKoBY5E/E/DMsMFQR1ADOIkJ/GBcmAqg3SfwP7bW\nz4K6kp4EHrlTGhND5ZegCI6vtOOAq9sVlPWQWfGuflW+IRMAZVTe1nCHa2au\nRSIXxxTEVX5twqHJjdjD9zZLQozT7NwNy2DEFcM79G2qU9NSv9EirDzJ8vQs\n0NzTAk2b4RELxXJwRqsCG6vmNdFBtoPGY5qjuyZvDXAXt3A235rn8ZsR2KEF\n11l0cqz419BHab9O61XNhClvKogjLj2zgRC4ObZw5GryRkH4sTIBevh5bfwf\nQzBQkpJUdxs7OobJr0lPDZhwJj1VhFWcuwhetSSrjH3ARhbcsRsGBrjJaR6f\nKqRgYoKmUAoDsSl6cPHxz3ctQXYJ1Irs7sJXU5Y0+68G6cdkcVpD/9nGesu+\nUJ99ieLTs+YgkaHmR2SWPNBeV8Kn/zWHtNf7B2IPKSM/2sD57/ArgjM70W//\ns4A8l1+cNNjN1b0ZKWplDfTa8R/j2h/78K6FFvXPNQEESp6GpQ1mm4kk4hZM\nBW8DWtAv/X6/3vdx5toLpPIfyyPHIbKBWWip1nsj+1tq0GKU6aaDWokL80UU\nT7y7f3QzrtefU2Qj4cjZiFITWN9JoU3YAm4s02sUe4whtPoqzLik7lRoTEiC\nEvcD\r\n=05R2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# homebridge-tuya-web\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WIFI enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices and get frequent state updates.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. State cache is updated every 10 seconds and when controled from a HomeKit app. There can be a latancy in updates when a device is controled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i @milo526/homebridge-tuya-web -g\n```\n\n## Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"smart_life\",\n      \"pollingInterval\": 10\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username`: Required. The username for the account that is registered in the Android/iOS App.\n- `password`: Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode`: Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform`: The App where your account is registered. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval`: Optional. The frequency in **seconds** that the plugin polls the cloud to get device updates. When the devices are exclusively controlled through Homebridge, you can set this to a low frequency (high interval number, e.g. 180 = 3 minutes). Defaults to 10.\n\n## Overruling Device Types\n\nAs of version 0.1.6 it is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<id>\",\n      \"device_type\": \"<device_type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id`: Required. The id for the device that is registered in the Android/iOS App.\n- `device_type`: Optional. The `device_type` to be overruled. For now only device type `dimmer` is supported. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation. \n\n## Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. Oscillation is not implemented due to lack of support in the Tuya API. \n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Scene** - Not yet supported, see discussions in #1 and #8.\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n## How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n mocha test/tuyawebapi_test.js\n```\n\n## Version history\n\n#### For newer versions please consult the [releases](https://github.com/milo526/homebridge-tuya-web/releases).\n\n##### Version 0.1.7 - 2019-08-18\n\n* Fixed not correct updating after reboot of Homebridge.\n\n##### Version 0.1.6 - 2019-08-18\n\n* Added light accessory (made by niksauer, thanks!!)\n* Added overruling device type in config. Some dimmers are reported by Tuya API as `lights`. Dimmers don't have hue and saturation and therfor the device type has to  be overruled to `dimmer`.\n\n##### Version 0.1.5 - 2019-08-18\n\n* Fixed issue #17 - Outlets and switches not turning off in Home app when turned off with other app.\n\n##### Version 0.1.4 - 2019-08-09\n\n* Switch to regional Tuya Web API server after authentication was successful (EU / China / USA).\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"gitHead":"ce5954021419664207e34cff65d4cd79110992ac","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.1","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.0-0_1595768889409_0.8501200076774749","host":"s3://npm-registry-packages"}},"0.4.0-1":{"name":"@milo526/homebridge-tuya-web","version":"0.4.0-1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.0-1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"06726f0281275ae01443be0f57cca3a6c9326e81","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.0-1.tgz","fileCount":89,"integrity":"sha512-232H2sfC+Dhx85Z2wMMI1Z8qJ9FCVDkqWLqAHGo1VHWLy0KGissPjuA1tXCPPgOwDAzRyLDb+F5CEhtXd4wTOg==","signatures":[{"sig":"MEUCIQCH5P1ECGA0lmxjIGeSy8v3e7NhLe6Lz/CQmZMsiOSRNwIgTTDX81vjeM/33VR252yHr8wzuZvmeLNAa3NDrcCtkxY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":145572,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHYSACRA9TVsSAnZWagAAWIMP/RAUnozNyb62QzeYvfvX\nrPBfiKZJTozkEyJ3wfHY3a4hT3diUbw4QxsBMVjSTfPcHbj/x1/6+Qhit6n+\nSmrs4Ctjtb287SGLS3fz7UcgZF/3YMPo/csWHe2j7dwAZoofDkYABNdee8Z7\nEfWY2ZFZk7i5T+/whEypEQJYWSGgckjoOaAidNDy8QWdMYueEYcIAtw2aauw\n/cBM7W3XNh1D5ag3fFVEa+2uLxK8OcG89YshRaX3V5KApc4txc/o7YDzqjeR\n4HDI7HuPSJI3HfTmvABNsYQdQDffjCfT4BAM5RhBYWlfDq+oXfekb2M8F+aS\nVfYvzkQ5l6/vrq0xTPeAFVDlzVu4HB/ENCHajoYBmCa53lJQq2s2DlOUtkBG\nMZKfolZjJL6L86cuI4H2DpTJcIDGtlLj3nQyz783KeB//k2B7eHXAUx3IVvl\n6KVTNstzvyHNjabyKdH5ZBm269scB0ZAKd6msQ0dGiHUUwzqK6XqeBHVKNGf\nVUtb51XIeDVi5a3LYNl73v0gRSHKfivo9tG3TAW/bvAh9r/Itbmp9rMH1/ba\n6cwQslNO/sI7jj41dLxXIuD/A7kjZ7jqsnfUVB9cjEBH9k+pDuvqFzwErnEk\n34lGvQtbVfMluTK0R794fA1rlxcTjoa10QpOZnSJ1mhtA/Fwq/Cr42c3VMhM\n80oS\r\n=71k3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# homebridge-tuya-web\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WIFI enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices and get frequent state updates.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. State cache is updated every 10 seconds and when controled from a HomeKit app. There can be a latancy in updates when a device is controled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i @milo526/homebridge-tuya-web -g\n```\n\n## Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"smart_life\",\n      \"pollingInterval\": 10\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username`: Required. The username for the account that is registered in the Android/iOS App.\n- `password`: Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode`: Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform`: The App where your account is registered. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval`: Optional. The frequency in **seconds** that the plugin polls the cloud to get device updates. When the devices are exclusively controlled through Homebridge, you can set this to a low frequency (high interval number, e.g. 180 = 3 minutes). Defaults to 10.\n\n## Overruling Device Types\n\nAs of version 0.1.6 it is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<id>\",\n      \"device_type\": \"<device_type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id`: Required. The id for the device that is registered in the Android/iOS App.\n- `device_type`: Optional. The `device_type` to be overruled. For now only device type `dimmer` is supported. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation. \n\n## Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. Oscillation is not implemented due to lack of support in the Tuya API. \n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Scene** - Not yet supported, see discussions in #1 and #8.\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n## How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n mocha test/tuyawebapi_test.js\n```\n\n## Version history\n\n#### For newer versions please consult the [releases](https://github.com/milo526/homebridge-tuya-web/releases).\n\n##### Version 0.1.7 - 2019-08-18\n\n* Fixed not correct updating after reboot of Homebridge.\n\n##### Version 0.1.6 - 2019-08-18\n\n* Added light accessory (made by niksauer, thanks!!)\n* Added overruling device type in config. Some dimmers are reported by Tuya API as `lights`. Dimmers don't have hue and saturation and therfor the device type has to  be overruled to `dimmer`.\n\n##### Version 0.1.5 - 2019-08-18\n\n* Fixed issue #17 - Outlets and switches not turning off in Home app when turned off with other app.\n\n##### Version 0.1.4 - 2019-08-09\n\n* Switch to regional Tuya Web API server after authentication was successful (EU / China / USA).\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"gitHead":"8c6bff6e8265a1194acc769363e6ac553cc898f3","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.1","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.0-1_1595769984096_0.4625538419746895","host":"s3://npm-registry-packages"}},"0.4.0-2":{"name":"@milo526/homebridge-tuya-web","version":"0.4.0-2","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.0-2","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"d215196a66fcb4273f8b222558bec8c8f64d2acd","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.0-2.tgz","fileCount":89,"integrity":"sha512-NrMVRWNjUXdUCgKZuAJBU/b+PYbWqtva44WJMm9K2vyIIp1TxwNJVUC1dUwOHyoKIBLhuNPEqgXpDcHwZ1xMsA==","signatures":[{"sig":"MEUCIDI7MKl3vE1xP72VbYXvZUTijnBPKxtbHJ+UPa89Cz0HAiEAosbRjZPFSUr+iksmSZrePctqg1EDer5OnpRxr6rMHWs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":146346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHY7FCRA9TVsSAnZWagAAfbEP/1dL8+pHh5ip3n2OYEPZ\nN6cr4hR2v3QgOi7tWeD+A6f0tfh7QPWPirzBl6CAmyVL6Zq79BU6vf9gB3Z0\nODrsGevBZRjmJWzXBAfgOl+Dm6IUlVpPzwt51ISvMpr5qmaCR5lslgmTT2yj\nNZip6LZ+LJE02kfU5JILzAt7KDacl56PcwF3Qgpg79X+pdbYDtqUkJOSlRBt\nRsto5z9/VkpxKYDajXCdoly5zMj90gDx7EFYNydfZexLFs9Ap1fb5tXi2FqN\n0GJX+RiyKQomPzGCxpkqFUNdyRsIhdt9yGJIRQ/MxHJISYAdpg9Tq1WaHJMh\nfyQJ5Oc2fyckiDqFf7ZRiYgWH7Vxns9AwGJuwXI36hbMwxs+OWAwtosN6jKz\n3s1JAM8hfEYFylDq5lq6m6r/w8w/g88jGU/LJtD6MgaEXjJbOEyIFzCzn6VX\nWWB9l6CK+72uqyJjv0WwuF7/eD7QTtzJt51WYLbQ2ozPnb7N8F4dR9u/lOKg\n9BuQUX3esM3gdjYsgqS+EZQKC0rRTqyW0JGrxROQFvXk3XXyUTqJZw1K4Ltd\njnquI3Z5DiUlw1wxh62cxdQUYHqXFhnPFMmH8BBlFrT2LMb3mA2mS+M12UBr\nERmfAo/3TwhUkLf8vIgOf86ofOBZfzS32PDzHo6NU4RPOTtNlLkzz2rHHW0T\nRugF\r\n=P1jJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# homebridge-tuya-web\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WIFI enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices and get frequent state updates.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. State cache is updated every 10 seconds and when controled from a HomeKit app. There can be a latancy in updates when a device is controled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i @milo526/homebridge-tuya-web -g\n```\n\n## Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"smart_life\",\n      \"pollingInterval\": 10\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username`: Required. The username for the account that is registered in the Android/iOS App.\n- `password`: Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode`: Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform`: The App where your account is registered. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval`: Optional. The frequency in **seconds** that the plugin polls the cloud to get device updates. When the devices are exclusively controlled through Homebridge, you can set this to a low frequency (high interval number, e.g. 180 = 3 minutes). Defaults to 10.\n\n## Overruling Device Types\n\nAs of version 0.1.6 it is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<id>\",\n      \"device_type\": \"<device_type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id`: Required. The id for the device that is registered in the Android/iOS App.\n- `device_type`: Optional. The `device_type` to be overruled. For now only device type `dimmer` is supported. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation. \n\n## Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. Oscillation is not implemented due to lack of support in the Tuya API. \n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Scene** - Not yet supported, see discussions in #1 and #8.\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n## How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n mocha test/tuyawebapi_test.js\n```\n\n## Version history\n\n#### For newer versions please consult the [releases](https://github.com/milo526/homebridge-tuya-web/releases).\n\n##### Version 0.1.7 - 2019-08-18\n\n* Fixed not correct updating after reboot of Homebridge.\n\n##### Version 0.1.6 - 2019-08-18\n\n* Added light accessory (made by niksauer, thanks!!)\n* Added overruling device type in config. Some dimmers are reported by Tuya API as `lights`. Dimmers don't have hue and saturation and therfor the device type has to  be overruled to `dimmer`.\n\n##### Version 0.1.5 - 2019-08-18\n\n* Fixed issue #17 - Outlets and switches not turning off in Home app when turned off with other app.\n\n##### Version 0.1.4 - 2019-08-09\n\n* Switch to regional Tuya Web API server after authentication was successful (EU / China / USA).\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"gitHead":"e61333dfd54cd739937d6c10fcdcbf8765310f3d","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.1","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.0-2_1595772612536_0.397692089434198","host":"s3://npm-registry-packages"}},"0.4.0-3":{"name":"@milo526/homebridge-tuya-web","version":"0.4.0-3","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.0-3","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"20b7e0ec62df8f36b916ef9e5287da7be95c245a","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.0-3.tgz","fileCount":89,"integrity":"sha512-p//Gvr3squ28I2eYLZzWPrPMVjCf2QvynmfRthMlttpEDQsO+e9cUiUmhDIV/yX10Arj9Z/T1rfsPGmRqJydiQ==","signatures":[{"sig":"MEUCID9MtN8M2HH+ZtqiGaGlq2mtVHl1c3M2udyLkRVUvR6/AiEAr+FI3WDPwt+su9KAp4YFXL+MJFDXB+BBPNHxiOvITyg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":146970,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHZdPCRA9TVsSAnZWagAAr/QP/jHCwDmv2JlOFKWpv3eY\nHYZCdsJbJNPbEi2M2yzRmzHBoaLxADNmscKrBZLvJd8nm78t/Lp4+9SAgyJx\nS31hkpguU4LcRnz1pMdRTcZfVt0O3hEKZgD5FMAfjxQEqD6CIy1JOOInXgf3\n1PB+9KJZ4Pu0c5gkJD6XgkB5UaKKohTLxVAb6ZpOxXE0ybJoD29lnLz1SiuE\nJ1oW9S+lNs5qHHhRr1epi/EUx2JAS6xC9T0eJMqByJeNjv/j0JMy71ncMRud\nQ3jVKLKbto3j4B/hVFqbuWXft7y7HDTeiaTgSaPCjpZq3DSQronXlysIIYPa\nA4WlEof5jy6/UQ3TGC2EcRoCu4MOgbpaS2A/QNJbfD3YSmqssZdU3gG+lldw\nmDQkGv6rqeJ+9qm+ylbHcShFYdZIakOLYUDCDcGQRHkVrVjqPadVviRtHT4n\nYCxStb8n2Z51OQgADtL7qbMb/2MV5PPLIbanC2HhkL2pJhA/odLVHa1Ot+T7\nvS4ine33NhwfeormfF0LXir7QeDo3vhU/C3AxQuRhFTS5TIMx+CZkt8q9fzi\nFrsHcUm8yrj3qN8Bch8icF4Bia4CuTZ937nfAI1k9WGQhN6fNkodnFqAn27p\nS8nVdMJvwjTUucbgSDxHyN+nGbZcuRMg+dFEL2JZau2qjSXa7J/7b8Vqu2UO\n7oJL\r\n=2Reu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# homebridge-tuya-web\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WIFI enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices and get frequent state updates.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. State cache is updated every 10 seconds and when controled from a HomeKit app. There can be a latancy in updates when a device is controled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i @milo526/homebridge-tuya-web -g\n```\n\n## Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"smart_life\",\n      \"pollingInterval\": 10\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username`: Required. The username for the account that is registered in the Android/iOS App.\n- `password`: Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode`: Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform`: The App where your account is registered. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval`: Optional. The frequency in **seconds** that the plugin polls the cloud to get device updates. When the devices are exclusively controlled through Homebridge, you can set this to a low frequency (high interval number, e.g. 180 = 3 minutes). Defaults to 10.\n\n## Overruling Device Types\n\nAs of version 0.1.6 it is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<id>\",\n      \"device_type\": \"<device_type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id`: Required. The id for the device that is registered in the Android/iOS App.\n- `device_type`: Optional. The `device_type` to be overruled. For now only device type `dimmer` is supported. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation. \n\n## Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. Oscillation is not implemented due to lack of support in the Tuya API. \n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Scene** - Not yet supported, see discussions in #1 and #8.\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n## How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n mocha test/tuyawebapi_test.js\n```\n\n## Version history\n\n#### For newer versions please consult the [releases](https://github.com/milo526/homebridge-tuya-web/releases).\n\n##### Version 0.1.7 - 2019-08-18\n\n* Fixed not correct updating after reboot of Homebridge.\n\n##### Version 0.1.6 - 2019-08-18\n\n* Added light accessory (made by niksauer, thanks!!)\n* Added overruling device type in config. Some dimmers are reported by Tuya API as `lights`. Dimmers don't have hue and saturation and therfor the device type has to  be overruled to `dimmer`.\n\n##### Version 0.1.5 - 2019-08-18\n\n* Fixed issue #17 - Outlets and switches not turning off in Home app when turned off with other app.\n\n##### Version 0.1.4 - 2019-08-09\n\n* Switch to regional Tuya Web API server after authentication was successful (EU / China / USA).\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"gitHead":"939d0c7dbbc6488519a277f7258885c4d72a30d1","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.1","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.0-3_1595774799216_0.21687013069044903","host":"s3://npm-registry-packages"}},"0.4.0-4":{"name":"@milo526/homebridge-tuya-web","version":"0.4.0-4","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.0-4","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"4afdbbf9665175e7c6f7d4ed21e1769af0ea9b64","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.0-4.tgz","fileCount":89,"integrity":"sha512-UrFAbUj3dq0aVmLw6O82FwMZp0wg+yZvYp4InYUgQ0YPvTBR1zhpvVAzQsZWJMsI5TxIiEYn56Sg/6gfXdk/VQ==","signatures":[{"sig":"MEUCIQCYomiR8g5myLRP0kGAgRzhuLq8C6FFI2rbhLBV7TJ9VAIgWb0QJPgu71qtL6H6LE/JxKUl4ziOV2PdbU1VydwcUvs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":147014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHZvjCRA9TVsSAnZWagAAC/wP/1s0soWNaUW9T7GXBWSM\n/i4ykuse8qSscw9acGDQwPmeCDdzWp9AXBFHzVsM4F3IF68rPUKin6/Ey6K4\n3ARJLVexnsiwUOXZS7FN3+7XiEN5jH0ANbc4Q2dNzq3xAkMTD7e19kdff1Bp\n2CLCoYHDca9AMLDACuXC2F423xt0rq0FSGx77g/HrzYEhM8pUvlL+Rx6NdKD\n+6LmfNla0OuXOIhmsYMjD7FoCCv5V1xO3Up+PnSzPoj/jww3cN4+YbINhdXn\nBfHS04Pv65QgsWz+4ALJTA05U5j93AlzpU2zAaOuV49qWXF0WTAtwAzRPzAt\nAjnVd426DKINjCdaqGDC526NuNA/KcVfVfD7JPtBaJSEBk+o4Z4DQpz1Ohik\nNI9bPJCc3ms682B9NajgGJ2jthpoAfgAT3ybnpz7jM2JkqaG7k2N8q2V+lcI\nqWkBkf7QsBFks9VIoNALU82hWEcGxYDr1L01F8jT9jM11W+Ztxb+Lx3hjrBE\ncBFhmuo52RALCK5raTvQ+meUhBPKIY070w3e9qXnuKPoIsBcCEM6vcs/PUq8\nn5YSghSF6KkeyyRu5T2wwVzuD/4OzVAUJqs5PhH1dqEcih1/ouuXHtCxdOLv\nDFfXOuMzR6ExYYXiqFtXyP8xC6f0zqX9W/P/lmalNHyuswm6d+0OBQsK23Yx\n55+3\r\n=tLVF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# homebridge-tuya-web\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WIFI enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices and get frequent state updates.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. State cache is updated every 10 seconds and when controled from a HomeKit app. There can be a latancy in updates when a device is controled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i @milo526/homebridge-tuya-web -g\n```\n\n## Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"smart_life\",\n      \"pollingInterval\": 10\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username`: Required. The username for the account that is registered in the Android/iOS App.\n- `password`: Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode`: Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform`: The App where your account is registered. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval`: Optional. The frequency in **seconds** that the plugin polls the cloud to get device updates. When the devices are exclusively controlled through Homebridge, you can set this to a low frequency (high interval number, e.g. 180 = 3 minutes). Defaults to 10.\n\n## Overruling Device Types\n\nAs of version 0.1.6 it is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<id>\",\n      \"device_type\": \"<device_type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id`: Required. The id for the device that is registered in the Android/iOS App.\n- `device_type`: Optional. The `device_type` to be overruled. For now only device type `dimmer` is supported. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation. \n\n## Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. Oscillation is not implemented due to lack of support in the Tuya API. \n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Scene** - Not yet supported, see discussions in #1 and #8.\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n## How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n mocha test/tuyawebapi_test.js\n```\n\n## Version history\n\n#### For newer versions please consult the [releases](https://github.com/milo526/homebridge-tuya-web/releases).\n\n##### Version 0.1.7 - 2019-08-18\n\n* Fixed not correct updating after reboot of Homebridge.\n\n##### Version 0.1.6 - 2019-08-18\n\n* Added light accessory (made by niksauer, thanks!!)\n* Added overruling device type in config. Some dimmers are reported by Tuya API as `lights`. Dimmers don't have hue and saturation and therfor the device type has to  be overruled to `dimmer`.\n\n##### Version 0.1.5 - 2019-08-18\n\n* Fixed issue #17 - Outlets and switches not turning off in Home app when turned off with other app.\n\n##### Version 0.1.4 - 2019-08-09\n\n* Switch to regional Tuya Web API server after authentication was successful (EU / China / USA).\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"gitHead":"821a2b9b20479c582b541bac9f98f3ff93083a96","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.1","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.0-4_1595775970885_0.5831820435143154","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@milo526/homebridge-tuya-web","version":"0.4.0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"1864483ccc2b8fefefbafee1d4b79067719668e8","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.0.tgz","fileCount":89,"integrity":"sha512-T+qfNmQQu1pr4bgjZiH00us/vSGRN5lZGQs+4pHhsf8mdtus/HomDB/T6/HiXtnWFDd0mE2Y8MAKvpcFCzU+vg==","signatures":[{"sig":"MEQCIErKwkxtR7NfdcUTZX+Zres5YmWtBqiOpPAOsRlGJVJ0AiAvpJc0CrFj6PJOd7zbmAcUR3lhtycmWHTeZ5PVxOVxSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":147012,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfHZ0+CRA9TVsSAnZWagAAL+AP/RgNRw/bZFmYsyni5X57\nc1G0AsmfHQJZ7RAB/9VlwQHf001jWEnZjnOKglhX2gBcxlxWia7zUyY+nhAq\nVvgjawDP3sEoKjanSY5fh0EIEuPm2Rn/Drr8yZzOE9MGTvdFSS6tgoJlb2P9\nYH5RgUMPE4BhereH9SF0HSk6bydP0VbDK94uQju0Uu5dGSPcSmOKGysotBq+\nVPNGgjVXRDtzbd3H7ledGCp35qJd0J1kMlLWZ5lT9AIklE3CX7nItX/6PFeO\nLLINtYqBgrYgMRdP2Xopw/vYbxLRbLMY9cNW0iBubhfwl2CHlvLwIoEeNv0Q\nam4YMi7HKrRvGMFmos5Ht/mdRPLk6BeQb3ta+QjgPDJ0tP+draR+1vUBT7li\n12dLlPfd2QkHrpilmxNMFKBjceuKYMW98x/nq/IljSblQnodBmFsDPeOUkrD\njG0IQBsANfLdKRHxAFZQ7cy4EzmSBRw+Or+14VuiAhAphhnkfd6DkPtUoT9w\nhjKXEBDgWe2QD73ZUT0VDXqSPbnVJGqMnwiqC8wfZGY65JZ8o19BVcuLU73t\nOtXPUilsl9rqE9w9IJ5N5YRWH/YTLOmPS76dVeRcjCeGjfjm510Kigh1mioX\nNlHNWKpstDBv68u5Xbzs2aLw5JsHu8i4/oTiNb35pBQFAXpn7Ri70kvcnwQO\n1eD6\r\n=thXi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# homebridge-tuya-web\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WIFI enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices and get frequent state updates.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. State cache is updated every 10 seconds and when controled from a HomeKit app. There can be a latancy in updates when a device is controled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i @milo526/homebridge-tuya-web -g\n```\n\n## Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"smart_life\",\n      \"pollingInterval\": 10\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username`: Required. The username for the account that is registered in the Android/iOS App.\n- `password`: Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode`: Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform`: The App where your account is registered. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval`: Optional. The frequency in **seconds** that the plugin polls the cloud to get device updates. When the devices are exclusively controlled through Homebridge, you can set this to a low frequency (high interval number, e.g. 180 = 3 minutes). Defaults to 10.\n\n## Overruling Device Types\n\nAs of version 0.1.6 it is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<id>\",\n      \"device_type\": \"<device_type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id`: Required. The id for the device that is registered in the Android/iOS App.\n- `device_type`: Optional. The `device_type` to be overruled. For now only device type `dimmer` is supported. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation. \n\n## Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. Oscillation is not implemented due to lack of support in the Tuya API. \n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Scene** - Not yet supported, see discussions in #1 and #8.\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n## How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n mocha test/tuyawebapi_test.js\n```\n\n## Version history\n\n#### For newer versions please consult the [releases](https://github.com/milo526/homebridge-tuya-web/releases).\n\n##### Version 0.1.7 - 2019-08-18\n\n* Fixed not correct updating after reboot of Homebridge.\n\n##### Version 0.1.6 - 2019-08-18\n\n* Added light accessory (made by niksauer, thanks!!)\n* Added overruling device type in config. Some dimmers are reported by Tuya API as `lights`. Dimmers don't have hue and saturation and therfor the device type has to  be overruled to `dimmer`.\n\n##### Version 0.1.5 - 2019-08-18\n\n* Fixed issue #17 - Outlets and switches not turning off in Home app when turned off with other app.\n\n##### Version 0.1.4 - 2019-08-09\n\n* Switch to regional Tuya Web API server after authentication was successful (EU / China / USA).\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"gitHead":"d542cb80502e98cfe5573420e9ffe2a16cf5f70c","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.1","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.0_1595776318145_0.08420868639196089","host":"s3://npm-registry-packages"}},"0.4.1":{"name":"@milo526/homebridge-tuya-web","version":"0.4.1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"18ac1a3841a177624a520a12ba321109bf819aa7","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.1.tgz","fileCount":105,"integrity":"sha512-0EX3SepelgcEKjgA0Yl9d1cvJBfF5WBtu6C/C8IXP/ZOskFvSh49vdF8d/RbQ8JyuysEjO5LUyRPdWbzFV5IHQ==","signatures":[{"sig":"MEQCIETkDZTHlmNmwHcJUrXrJXYJl7Qtki9Ow3RY+AAEByjCAiAU/ZtI3CSxxV555XxldRtqo4D8pZOfSc7P2C6ILWt6mA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":154788,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIIunCRA9TVsSAnZWagAAU/YP/0MqKfMbBouhrFGrc18t\nmW5HSmj7Qf34sotPvmTAM+a0f5uCyz0Vy8JuAuES7G3FNfyXXrwHI6yOGSc4\nS6l/lPEALFGv9+f3OyvT01LyfotzK70YzWeScwg/M2eBpKAmRyE3btVK+4Hn\nD9akrkrYRK/fhua4qxrJe/alBwQO1ts/i8wa1I/6bNmmsdLwevwK4ht2qHeZ\naWpUU0AlJE+RJZJt39JDU3YzphvA4LTS/Zqu5nezyZcJt5DQ0CI+AM1a9CDa\nEs24osKJMSE62RQv0U0vllTJ3iIC4qGs95qzfn4DtG8/0DFXkdZkc9I34qHs\nMj2CYZ0R7uTMql0VrJ3+p6P/P0YpDPoai5lryOXeY9d8k+LN88FA3+ri2wj/\nOp4d5bYSYgBMl+pyVB0sy2p/pgN7hNdFhsQ6l93EvBhmol7619yTJL/Pwv3Y\nBBpq+EHN71rX0v/WH1LpoD4JeWietohLRmo4D+AM1UEqn/kzg5FcnC1rC7RN\nB+1CNI3SVi3Fng2UPuurq62mr0tj6sfEsH2H/VbiZLUR9jL6tF+nH8jwErfT\n6EwgsTXUIX1u5XrU0FvtEPO7dz4/jxwan4IX1D057ROGH3J6r7XErTaZsSKB\ngV4F4W3Vgfo4dtxAY/J0ArOMC8EOLYgrMYJtdlJ3iEllW6NY31c7VGW53Nfz\nAGla\r\n=R+ON\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# homebridge-tuya-web\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WIFI enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices and get frequent state updates.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. State cache is updated every 10 seconds and when controled from a HomeKit app. There can be a latancy in updates when a device is controled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i @milo526/homebridge-tuya-web -g\n```\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"tuya\"\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where your account is registered. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. The frequency in **seconds** that the plugin polls the cloud to get device updates. When the devices are exclusively controlled through Homebridge, you can set this to a low frequency (high interval number, e.g. 180 = 3 minutes). Defaults to no polling.\n\n## Overruling Device Types\n\nAs of version 0.1.6 it is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<id>\",\n      \"device_type\": \"<device_type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The id for the device that is registered in the Android/iOS App.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n``` \n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to array in which you define either the names or ids of the scenes that you'd wish to expose.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. Oscillation is not implemented due to lack of support in the Tuya API. \n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Scene** - Not yet supported, see discussions in #1 and #8.\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n\n## Version history\n\n#### For newer versions please consult the [releases](https://github.com/milo526/homebridge-tuya-web/releases).\n\n##### Version 0.1.7 - 2019-08-18\n\n* Fixed not correct updating after reboot of Homebridge.\n\n##### Version 0.1.6 - 2019-08-18\n\n* Added light accessory (made by niksauer, thanks!!)\n* Added overruling device type in config. Some dimmers are reported by Tuya API as `lights`. Dimmers don't have hue and saturation and therfor the device type has to  be overruled to `dimmer`.\n\n##### Version 0.1.5 - 2019-08-18\n\n* Fixed issue #17 - Outlets and switches not turning off in Home app when turned off with other app.\n\n##### Version 0.1.4 - 2019-08-09\n\n* Switch to regional Tuya Web API server after authentication was successful (EU / China / USA).\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"gitHead":"16526c9e92c135e8ce396def9809c70166bd3602","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.1","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.1_1595968422624_0.3846089193836679","host":"s3://npm-registry-packages"}},"0.4.2-0":{"name":"@milo526/homebridge-tuya-web","version":"0.4.2-0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.2-0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"121cb3ec1ff7128c60a9dd70912ee6cdb5fc6ddd","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.2-0.tgz","fileCount":109,"integrity":"sha512-Pbt4iMcpJRHcRBf2US0RdmAzjWUNVfPqCdqcy5BRPq93KqhiVbvCsZtLfzC94sRsr6kUviwp0lsDC4CQqbSURA==","signatures":[{"sig":"MEYCIQCb8pXFKitoVvyCtUyDnfvX2MPT+eM5UoolO7aeuB4UHQIhALyrH9tZBs/AucNQ2jhfvZovmMRxeZxZKn3Oyj8kgaHq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":161552,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIeNKCRA9TVsSAnZWagAAZ2sQAKIMu/4EGr2X7+vlh+Yx\n9H9HUOuwC52fcqtP/9RkL0n4q73o6pJ3eKrLoVOgNcg5qmnUwy0CKHinN92/\nXGCVKPmpblVVjY1Q1CEqmZJdy8Q9U4N/H+awm/gIoZLcX7iCyBr+g5DaME0g\nwprGRu6y6hdaAqGB/b2tbYOiJ9QWNGMJ+1y+FsDgeLpCjh3vIgldJNMn8tpc\nWaOk6wWAnbo6V8Xr01ydcKP1BbB95YexhQxocDTwDmzE9/KMlE/EDhUw9KEy\nsHNV6ezMH/zLRWDBlX9dNrZVuat5qvLJeEgiPpRJlYQapYfq3ROsVRsIf+Nr\nicfyTPCIsQbjb2zbAObtGtf8d4aTMEYYaYEzXlpc76/0apCwlou0NsQjb8rv\nfatJtmAaqMy1IXG6g16vLmGyqiC1YJf1X8jzA//dWhfi008oGiSN1+Sma8nR\nkxh7KIfp6Uv854X8I10OmGRau9KkyLd0DPD1XuMIA6s5eX4ECfKNrcFoCAGw\nskky6j93Xh+Jj/6R3SqJLeAj4jXBKQYrvAszrX/kvRUHhGFKFqx9uLKin/Rq\nQAFFlj/HG3i0aqUB6VKRpB8Ty+AzoU8tKwVCPWmsVKjqA9vROHHVFmrlUtKc\nRBUbm/IG1fwBCoSioV+ovmb+n1y2GpJR1WK7/9es4zh9J1jPfBkxpkWkjjXU\n5ngY\r\n=p0C4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"# homebridge-tuya-web\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WIFI enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices and get frequent state updates.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. State cache is updated every 10 seconds and when controled from a HomeKit app. There can be a latancy in updates when a device is controled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i @milo526/homebridge-tuya-web -g\n```\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"tuya\"\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where your account is registered. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. The frequency in **seconds** that the plugin polls the cloud to get device updates. When the devices are exclusively controlled through Homebridge, you can set this to a low frequency (high interval number, e.g. 180 = 3 minutes). Defaults to no polling.\n\n## Overruling Device Types\n\nAs of version 0.1.6 it is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<id>\",\n      \"device_type\": \"<device_type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The id for the device that is registered in the Android/iOS App.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n``` \n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to array in which you define either the names or ids of the scenes that you'd wish to expose.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. Oscillation is not implemented due to lack of support in the Tuya API. \n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Scene** - Not yet supported, see discussions in #1 and #8.\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n\n## Version history\n\n#### For newer versions please consult the [releases](https://github.com/milo526/homebridge-tuya-web/releases).\n\n##### Version 0.1.7 - 2019-08-18\n\n* Fixed not correct updating after reboot of Homebridge.\n\n##### Version 0.1.6 - 2019-08-18\n\n* Added light accessory (made by niksauer, thanks!!)\n* Added overruling device type in config. Some dimmers are reported by Tuya API as `lights`. Dimmers don't have hue and saturation and therfor the device type has to  be overruled to `dimmer`.\n\n##### Version 0.1.5 - 2019-08-18\n\n* Fixed issue #17 - Outlets and switches not turning off in Home app when turned off with other app.\n\n##### Version 0.1.4 - 2019-08-09\n\n* Switch to regional Tuya Web API server after authentication was successful (EU / China / USA).\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"gitHead":"88a603e1c57eef7b6fb6be724be4db4e64231647","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.1","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.2-0_1596056393935_0.23214207270499476","host":"s3://npm-registry-packages"}},"0.4.2":{"name":"@milo526/homebridge-tuya-web","version":"0.4.2","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.2","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"94b336ea66171ac02056a1c853f750f78304b018","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.2.tgz","fileCount":109,"integrity":"sha512-/WV27aZwlE0OKozn8NI7iIhoCUT4eJTH9No5ilNWFZEdbyQmQAFD6sgsYidm98yb02UUU3TncXwCY4qtZI9L1g==","signatures":[{"sig":"MEUCIQDJ8/pl7AYwRmGbm6y2WUecjril+J44WqTfCWd2fV0uqgIgZbWf5Gay3bnlocwpzU3S1u8Qm3oUVx80DmJ9fnZ2NDs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":167205,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfMvonCRA9TVsSAnZWagAAlCYQAI80chC2+X/WYDYWusyE\nuocmeFWKdN2GWB8N41Eq9beIOpTszoVVfHavnFgmO3Bt9qn8Sl2e5dQf5P7K\nFe5PxYc5lcp/hggmVINdBUSoG+W2RWj3WuZtMDaPRHskbty7Df09o2ySgSuq\n91HVvCk3mKbdPcEUos+k0OJyhbVWXj8bKiBPvoU/yddMljhkjk/lITIjJ9Vq\nKgb7Gqjx6I8BhJsJnOx9Le7Z/40y8yWp9lTwgQG7YG/E07oCP77fzkyVxWTn\nd1JtK8w8XoUOcsMgWREAVYZ+Lelj/6WtgJndBHarf4Ct8lwUD8mwA0kYlzUY\n+oieokWJE04em2+BL+WLiBKK0C6SSkNxnSOZ5dEC2Xer0Y6hrksQQ5kjZE5I\nD/1l1bEwYFI872rVqxWYQYMl0miXCr1OeqHatpmthjLVwiRbKNczPplV8yqV\nZd8P4AexjWE+eENCfQcuu2hNeogMDVw7lqSwZ4zQyB78887S+rmJaMlWGuD9\npNP1n9UOASYscH3LV8sAvtidiMUekwOJRiDb+FLmVxC+BkSQOlUShsjl2L5x\nvqDABgVThrh991hUBCTlduHEA3mmR+HVPuPGSFRejhwxp0VG+jYozOUMJ33s\n920iG055QHQONisyp0K/J1Cv857FHBCGv1QgZTYJZ7AHYF0zUIDty1mcMt8A\n5jN6\r\n=GzhW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"32740fcf765e3fee6db2307cc7db48da72d40c7a","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.1","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.2_1597176359045_0.932722365134316","host":"s3://npm-registry-packages"}},"0.4.3":{"name":"@milo526/homebridge-tuya-web","version":"0.4.3","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.3","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"15232b80d2603ea717664d1494bdb1af84262000","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.3.tgz","fileCount":117,"integrity":"sha512-JoyCUbOSO8uKvnz+CLsvMJzubfBnNm2/HfscXpx74MIQF+K5ke8/wAGcQfyHRSieKoAZeI9QHe3bWs06I2HktQ==","signatures":[{"sig":"MEQCIDIDfRY1iKlTRof9jA2vf/PempyTHO1OU9rCerJamgmVAiBsNpXi9DaCieKi1llsxVpWqVAMsNrZN699y1XK4BoYXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":170737,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfM8mjCRA9TVsSAnZWagAAqc0P/jvE9MORMPJJqQuKQepI\nUhdHHLN+RESQQOjsMd4oI1mqvQ/umDV5afSUJvsgcxdpwkdDctRt/YZaQ2XF\nvwwgRJXIoe2/XyJ4CrtHUkYcIf74Fy7JN+AErl0AGCSLpmsDC6pS6ehpNw/5\nNulTTcN72Vk+fhb2XnbA5RaO5ks+WKuSaQJAJI614aHgXYXhZcsBFD4ug+w9\nVb6ZcIZbQPtsqL4ZyLCLX5AKq3WXYkqnbqvMl2NDAYhb4Ekpp9p5vD2SVkto\nLWZ/q38L2b2OINo/tcHXOWg89T+4ULwaYtNvivRxLr8011Qm4royPsKSynKK\nEczZHMujx9wdm/dv63VOFTBejHSkXEtkauvt39zbHdTd1ASjKgm5C5ejTacq\nljaOFnVMzPBuIHlK/OB7fuKOixXRY/VG7jCToxQjGWbv9Fv2Ok1GZ9niogxs\nAhohn3e/SssSHthv2Xu2vWvOSnqU9YuyXjBdBBJBSR24T50hU26/ZJeuKwHp\nooXPkJhvdVDV81iOJQ+y+oW3IHkreLkN3epItbg0GuPY01aK1bF/I4HWeSPh\ns1cqahBw5RCOP5wA2c9QY9ScaImbG7MAtgQI20UAEJwJ26vRXJ9JtvL/z5uj\ng2C5DV62A8fobF5XHuIvRTi1BxQnkioXbeYR6rjUblygSjAGajbTAG9dMwHp\nMVuj\r\n=zxDr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"d1ead7fd17f1d0c29d71badee10b63980b576fe0","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.1","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.3_1597229475307_0.07230332731820521","host":"s3://npm-registry-packages"}},"0.4.4":{"name":"@milo526/homebridge-tuya-web","version":"0.4.4","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.4","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"e6d91e88e6ecc72f1c99b8871fbff33accdf65a7","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.4.tgz","fileCount":121,"integrity":"sha512-6rdywRVOMvpxej1BJD15SjI1yHruGqF8uX43Nuqg4d9sBIF9qIJKxwE/uDUZK2ItjVlen1jUU1Xv40HzeMdXSw==","signatures":[{"sig":"MEUCIGSKlFyEvAbWlsWTyTDCoolVcuhEMLS+Fl1Lhxj5hb6sAiEAiYrPStIS2TCSD+RpSB8aXK/hnXRY8Szy4QlhtL4bwnI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":165682,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNr49CRA9TVsSAnZWagAAWvwP/35EeH1h/SpJOPsVS/hx\nND5+T5E4WQc/0+hQz5kcXUkl/9HBTR8JC5zwHomLNkDJAI4nTR8bZ146ny5R\nGeaay4P4ZB9JKQB/eLls37pF/dNqXlkGTqBbUzZh+Wl0KMb5HemIhAkc4N0U\nLoeKFJxtjYheeO7af7uEA6gYYrwk1jHpHxNtqcisWeuBvWso3PvGQMxd5Mi3\nYo1FGPu2ETIGy4PR1IuoPk6WnedQbabq08NQt0RoNYqACfpp53pllLav2VlK\nHmARDmmQQpAhEhg5QmC7JtUGczrlj++WjgTJvvmY1NAe6BflQkk9SecVq8hA\nipL9gMb1Lo+joW+Za2+Szcwkexq3bXVYFankMSfUQYq6VeDxFqdVomoAUoUQ\n02rfsWaAM7+N6f9nIW4ttPjV7+d321F5iAc7lZ5UFDvadZTcK2wPEzmCeuTo\nYUtYW0wQd1t1t8gZ2Not4IWJHt6v2JYgm6y3JGGaCMkjR8c+pKeB38kv/4n2\nT2qfCJ1jpSWDgWi6Pa1YPC+crcdu/C49dT2J3nR6NNspRYfvsNMSije+3NRf\nqQjPeQyzTh5w63u5bOaAORwzRBLfiCAa+ruaO0R06rb///9XD494OgOWyOSs\npHd24nh33B3Qgx+lcD3NsPkdAfddpOOX4h2P+bTlkZ1VfuGnFy6JTttzXgg7\nlHgr\r\n=crh5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"68d8c89ed6f19a02fdccbdc19e97beb1bdcee919","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.2","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.4_1597423165271_0.728219431670315","host":"s3://npm-registry-packages"}},"0.4.5":{"name":"@milo526/homebridge-tuya-web","version":"0.4.5","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.5","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"e7711fbc7acbf91ba6ed5111bb6b8ea1fcac09bc","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.5.tgz","fileCount":121,"integrity":"sha512-d1FJRf9NAKgccp6S9/T21VDqDkWJjzFWP/PWPT5Ms3vFc4gNe5GbbdVM3G24tjinWcRDWy1CXSlhFOb9hDvTDw==","signatures":[{"sig":"MEUCIDgQeZDTslmMlZMb18XiQ65VK72dRuMXEZKceuM2R83BAiEAhTQiR5lw2n1onu93nIRWxGJb9uzAZB7y/3x94ctmcV4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":165696,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfNtt3CRA9TVsSAnZWagAASKYP/2dKTr2ImltBCh4Wz/SD\nEYixM8a/7680qaSBTRpFTsuD3pJN4IbqqbIYN4hC8gCM1ESJg83z/PCRBBPy\nKRr6dCn0gaJSulO9hmef52bmU9ZhUmBNWb17fFehRNCSb5C5hFVmVVxDp2Ld\nTWS5rAYnZLI73fiTv7hD2PbGEUFipxwQMloAu5qZVm5KbNGtBncjHWNW/MMH\nvtDwfx++JALyRZsXN8g0xYqVemFTowdu6Gl4bKy7ZO9t7XNETjFm/0nmXDeB\nYGPaxFAf8QFmq+Wp9hoVevSYCUasN6Tc8pBv1SWkguUV8ow11NxbAeH3RUs6\nd4j8iC7GT1xUxPmPjzDSEQc24AXeELhElmlyGsjiIL16UKz05nnnH0GW6Iqw\n0bfcJgDYCxZdzSBRLEcdhCXEiOQqBtW52BooCA3jCC1eQkV5/EME90Wk2tfU\nBHIYeD51n0j42TE7jqQWCw+Ea0aqH+u06MlK5VpuPuoy4ZUcJDY7p7dEOwSE\nVELu5AVhvl08jZZGE5l/0H0Ogw34kRwb4Y1D57Xu0nfhrNdeBUgw6KtkmcHq\nT3RoHg7vA0ZXV0QB3gvFN73nCHPdOs6Ci2FE9oNbQzOcUrA2GPo96FkL89b6\nhgnMWSZ/cekwpP/u0/qIYQOJ+pHOTflreo5SK11WF8BKCYJEVPhSJXnM9un2\nhQ0H\r\n=AjAN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"ba48635704167d8f34e2ad820c164484b53979bd","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.2","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.5_1597430646440_0.3392460493889995","host":"s3://npm-registry-packages"}},"0.4.6":{"name":"@milo526/homebridge-tuya-web","version":"0.4.6","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.6","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"c20c0d87813d2ab22ff56852774317d8fb8b315a","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.6.tgz","fileCount":121,"integrity":"sha512-+D70SaJHirdVT/1exjoBcVxLawvZuHtPeO1yH9tg8iea+glpOvwbcHYulcIFF6Y7TpDRAe1FB0QL5+pmCqxmRg==","signatures":[{"sig":"MEUCICDDf6UCTvT1XHnQJeV4wG7sY9xRR4GCcxelnFfwHGJVAiEA6n/cQ1kTbgfM90dv2wfD/C8NvZBCuilLieoVej9v4Jo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":165838,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfOtLuCRA9TVsSAnZWagAACToP/28UTBIzcWzYhYoClgTH\nAcz59anwfNpO+Bkn+330gfa6mcFz4SALfytBUJm0nt4UWisJisWrCpGFoSb3\nxQSjswBuU3kbVxxWV8CsZSIKIAZtc6G+KmrGGDD9fiymQm/Hcw3Qg66s60GL\nyGCyAkXPdTozEnlE1ienl9XBNJTQ5HNcOAIzfuVElVVjXQn0qPz/KJ37Ujar\nLWvldEI/zH9khFWRHzrZ/14FCh9A5Mjbozl77Bm4viVHoJMCDksHSDuaRdYS\nKpslgEeUC9WhD6sr0aDZ6DfvVo9d2XfTRx/FEac/yY0SNq8PFIQqyHxeD5uC\nBt5X3ZWtu0/SH4p2ShuAJf55gURyQh/IMbGai8drbfwAGMWZFVQTdLU6TmRz\n9B80t7X5VFh2+LPZvX/IVuvXxNAFO4a6mhBeCYELkuRObpiSY3JXNqwtMJ8r\nPQUNWznNsBLCoopanRYw+5TpQqK/WMvbX0DWjry1FVIr+vaTIqMSPIocNJJw\nBMwC7bWxdrTmn0J5X/7GkVNHca4YSc8Q0REN8XvxsEy1AS4cJ72/EpMZEhGt\nNi6nUx9qEIm1iBNIAgGRZPppmi+OthJ+fcI9wqtknAzYQLVnJaoAyzZ/T+WZ\n3XhlDAKJ56XWi7uKZ1K2MX1fdKWOMx4uBdJ5DIOFOiOYfS/rPIyJbMf1BuC/\nRBOs\r\n=2yLk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"63b12095d1fcd3106116e14a30f5fcde37c2e130","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.2","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.6_1597690605771_0.706678726604969","host":"s3://npm-registry-packages"}},"0.4.7-0":{"name":"@milo526/homebridge-tuya-web","version":"0.4.7-0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.7-0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"93f01a4709a7ed9327c0eb33e32c5c7da22678e5","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.7-0.tgz","fileCount":121,"integrity":"sha512-DExmgB2QAyEUbG/I8xwShBwNOXiqCkPgDwoXYqrXW14qqSDgLU/i9e2xU0l9svodHqcv+JxcujqqZUrcFYQvRg==","signatures":[{"sig":"MEUCIQC1jhDJMNi1lCOqzIXnD/EALElc27W6Nvrtvxm9WEuJ0wIgenEjv0uNLxNxtcMPhoYwumq7Vo2keVMhnsPyeOGWNL0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":169490,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPELoCRA9TVsSAnZWagAAd3UP/0hSzoFT85E313zRwWcB\nzz7F+8X92qgyo1ouRxOXgvMK/Dhsyi8WfnN5mCZPClaa5q6VJ+KgE/BrB/2+\ntckXZE+546SdwhzEb8yMdiJjhCHmomltad5TutbYKynI1L8r7UkxyqGYQt4l\n8Jfxh4eLj9+6qZ8+8uTOMb3unokaMx7x9Ky6B5FNKAUdUfItm8Y32MaT7ay/\nc0+Q3iJgokEy6y29QUJuijaHXBR7Fx2R3iqet/JJCNPqPfiHTCmgl0I/EpGw\n0bouwDOpucWqekMQDf/6VzMY90B2i4H8QvOSca1oHLu2EaHLxZr0SkyQt8lq\n2u7poZ5dhm7AcVP7qZv4mhcHgfqvsBMQvt0G8wda+h8GW7ZfGiZSyZTT8uMT\nK9DsZJF7iRf0BYmd36eIBVcBUe68FvA2uB3XtJpjgead2dVhmG+ddB8FMgc3\npmNsN4GksT/iYOEiG6tpbjke2Un4PyKZvia9IeJ0PUo5fcRAJ8vLcOwsb81Y\nCC0YP+gPVG8lYAxJthjT838kKuPvPyxjrpOo5B9tkUOJSA9hffVDM+s5AWhE\nH+c+bySmGMKn9QIxIxtT1t9aIZgz3+FoMd+balf0QkJHsJg1iNfGqaeeN9ls\nPJcQx9MgpcEgErsb784IjprFGBV1M6MbY3+cSOrCD6CRKxSQ11RVfm0qLJK0\nAx3z\r\n=MSG9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\">  \n</p>\n<span align=\"center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WiFi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\nPlease notice that there is no official support for this plugin, for help please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose) or see:\n\n<span align=\"center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"tuya\"\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where your account is registered. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When the devices are exclusively controlled through Homebridge, you can set this to a low frequency (high interval number, e.g. 180 = 3 minutes).\n\n> :warning: Sign-in with Apple is **not** supported and, due to limitations imposed by Apple, will probably never be supported :warning:  \n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n``` \n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true,\n  \"scenesWhitelist\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. Oscillation is not implemented due to lack of support in the Tuya API.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"5d9b70033199c8260d7f00ec6b3d35a995e3a658","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.2","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.7-0_1597784807474_0.41404379703521377","host":"s3://npm-registry-packages"}},"0.4.7-1":{"name":"@milo526/homebridge-tuya-web","version":"0.4.7-1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.7-1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"cf92a4ed7e9239e7aa37be66eb1c8eb2b9ba08ff","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.7-1.tgz","fileCount":125,"integrity":"sha512-HaOySG1/gC9V6IX1pn6IIU+VaKCx44aXznJV6v64LplHQb6F8ca5WFUNIrWBMmiE+iHxm+EpGpQit39zrRz93A==","signatures":[{"sig":"MEYCIQDbQnJqMbt+2Zt2zCnFwrUyoSrgPoPlZGYM80Jja3ll4gIhAJW40uhLiqkBZI5l2B8+BO7ed5TWO9OZDFJYR9T1B5G9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":176161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfPZaFCRA9TVsSAnZWagAAef0QAKMtVABdpECekcASflZb\nsgSru/6lc1EIOUNKc4IWvfZyaIM2D8c0x+LbNF1VJvrXcfJPh5bTlO7HpTEW\niwXPqpqas+AWMWe3jenVzbNKlfG+46ddsuVNfWPVywQtJcAdo5wW7d8N5Ex/\nWCtoHk6xjU/PDMCafPAuiBhWBksj3/JRpQI1FD9OywJxNVrhaDMcZvGBj2bi\nfApIwiPC9X4gSAHDTuhpUeXTlu5vOGzezlWDnz6MRTdeM6+j25pihwgdqH/9\nNL/ebPEFAnA8KynIWPEB8JnUx+WVTLrPWpVra9JDEnkTMV8Mpu/li4ovxMif\nIMBOKzcQhJpHjoRGsfWgzL1eqvuHeaCAo5sKdr3oR/gw7ER/5RSAza/yNbqI\nNgojEwxnLonVhDhnK8W+tTD3L4orohqKtM8jhipM+vZCP9bvDQv7Ta8M+hFz\nIoxFZP3bdGGYKotBPp3SCMamXVqapQSEABrTrb+Cckz7fsaCAywzdS3EhAH3\noTrl7h0gQ+xIlFe7aMPK8xRqwY79Tbpxu2gX/Z1iP1Bd/HdOE/I2LMkqPt3R\nRE6/kYFDF+wiuwsRqNMVOpJu7SHWETIAsh+Eh7uzpIVJoTbQDDWA+JeemK6Z\nMftbsliUjnk83p85PaX4914Iq2D2ciAYBXh8HYF9zT+66wCJvPo0iVDOekmS\nVW5j\r\n=e7Bc\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\">  \n</p>\n<span align=\"center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WiFi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\nPlease notice that there is no official support for this plugin, for help please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose) or see:\n\n<span align=\"center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"tuya\"\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple is **not** supported and, due to limitations imposed by Apple, will probably never be supported :warning:  \n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"hiddenAccessories\": [\n    \"<device name or id>\"\n  ]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n``` \n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true,\n  \"scenesWhitelist\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"fc83d7b088a0333f5ca9ccd61fd9e63f35730036","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.2","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.7-1_1597871749127_0.08745856700244525","host":"s3://npm-registry-packages"}},"0.4.7":{"name":"@milo526/homebridge-tuya-web","version":"0.4.7","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.7","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"7de4ca2b6fb6d2fd1d83c80b944dfd2c2824502a","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.7.tgz","fileCount":125,"integrity":"sha512-RdcdhDiX0H1aAHJOvmMxTyHssyooLu7FKtfqohvGOA1JFUK3UPhextWp2Xwtjr/b1zhjZ9CDMk250E2aPDl38A==","signatures":[{"sig":"MEQCIALWHQ1msE0IAajZ6O61yc/38fKIXINUtjFK7cuuG1alAiBjh5IJLRzCJOKvU2gaspNe4DwweqgS3q+k/KKYQ0JmXQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":176159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfQ38bCRA9TVsSAnZWagAAAFUP/3FvxqRzr1m6jxxkuFg1\nL6nsPhyFpBqvW2BAqqz+dpiei1skRe+lfnVP0vmFB90aGTPapD70NW8EFUdf\n2yktqiRog3BzwDRFcLWFOz6fTNtUyagoBLWs6v2D93Q3s5NlBYVBdifVqQb4\ny8qI/KxRAwr0M2Kue/Hlbrf+D4lJmaXH5hflfvSqPF9FtXzs/NLHU3gzlh7n\n6PtgXbo29R9W+DcpfSF6qHUN2XYAetAM2grzoCYewHVal26a/KJUZRFHMTwr\n7VuZt8G4UTRyztoUnMCuF8jlMcUocHGQzI39+hsOSIqjIHIU6AwIDnhgc3K1\nJN0K90BQfOTzA65yMxOVUStL2s6VS+5CAcigHdYeYtgCgB3ftbkt5mgFKfLS\nPSi0OgJOf2j/rZiRDxcCxTUz+VVh2chAU0Ow/Ishe9MXTj94EAWRRTj7OZCd\nx65Mg/EODRQTt/2C79HnWm+TWymdmaedviOHKfRwOVcFNwVndoIDGIVgztyf\nVE2YVwf1eHlmCE51q7t8Y17u6XPtuIJjUSBsVqCyK6o5jMUOv6legkv+Q3O5\nPJ07vONBrRH5aMu9bP8NcROmlY11iUBN56L3HNQHqOIn/2WsHGX289UkOUgA\nKVXPwGA/cQvsmHvx1Xl0HROS+ReuG9Grh+spI291z3hl/JHcuYVvj/3+KXg2\ns8Qf\r\n=xJV3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"34294c84790e41eb923bb2fff4d066402894a2db","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.2","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.7_1598258970769_0.6101169272912901","host":"s3://npm-registry-packages"}},"0.4.8":{"name":"@milo526/homebridge-tuya-web","version":"0.4.8","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.4.8","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"89e374e65420e3c3e4e199c1ab16c79efd6bff77","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.4.8.tgz","fileCount":125,"integrity":"sha512-OYaNF+pNsYPbs+q6hxb8xUFbLxQBEDYB8TN0uGkcG/mWTQ1YWWm0Gkjz4kHvIadwm6xug10cVA9mTAjlkisd9A==","signatures":[{"sig":"MEUCIC3pArJfFNBgKa0GZLSJD0ikVmrMoUzi9cXRFFqWuuv/AiEAo8V+wWX8PFhC+XgV8asn87VvrR7bzLxqCBZ/yaq0c6E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":176430,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfdCpxCRA9TVsSAnZWagAAKP4P/02of6CEHlKk6mZyXhJj\nheHO7sHq8t1mXK3x0IlWVi8aCVi55MIh+JIANJIYdMk/SDZWks4rSl27woCR\noL10MAtn07zFqO5oie4LL7C/zymaPBNKITdcoA9w86e/9iQe3NYcMXEbRe3s\ngg2iwv8tgUS56KvWRy6So8HBFmZEucpuluOx8DeTdG7nhobqbFF82ymaNlLt\nxDi6z/8MavV38PNjJoRHVUOrpHdSy76DX2NgMYJVgoMbPrUiaTI8sqCUtYP7\nhm1qyiu8ft1bKNQ25hr4lx9D7IokYAlArJyWi93wZy96n5CMvo2nbOhswf9S\nRlbOC0n37TyJ0qzxYHck/+PacOQ3zNVyuGh3Q4C7Kkc4q0Jq1d9l0DZ9i7GN\nhfH4mFDc5EUzX11kcxj/wMPvgjCEXy+aAK9s/70FAGmTzdHmIROAT+YFjXr7\nCsaLqfdGE6QFgsYeQilSatlr3E5feisE6pNyXWGvc9scceB7AGq4MLCM6CPM\nRf3ybRUYDNhnv/YbyjNgF054ArBG8p9jbaiJMM53VsvH70qml03Z6InpgZQR\nr+YktKqHiAcJkzSFCJ/HfL9pSEGg126hOpdPjMMeBMn2D9qH9sPlgEBUPCel\n2LyJF1Bfl9McQE+4l+n+PIzlXvBWkWPz3u+5KPAmInt9LOGTyeApKwx0CgsB\ntOvv\r\n=nJcu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"7b85fcb10d281e1b34659c477cf974cff83a520f","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.3.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.2","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.4.8_1601448560557_0.8461965591020659","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"@milo526/homebridge-tuya-web","version":"0.5.0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.5.0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"aa25c56b3010f11cc03e6675c2871abdc4df35a1","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.5.0.tgz","fileCount":149,"integrity":"sha512-O08FQYO1pcLD4EFcXdwdZA1+tzL6byw2q5j3GxPkcQC8VM7cjQen8KW68g90hhUs1EsVxxrvYSu7u5UslE82pQ==","signatures":[{"sig":"MEUCIQCtochQRX8ERI9BckgapECrV9E21J9KnszzdeRRRQSrnQIgZkqldRNzLIsGxdOxHqVBzGSD7pSTD9rO7ZM+4JQUeEo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":209421,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfosM4CRA9TVsSAnZWagAAxucP/ieM/fbd2ke1erl34IdD\nsp/aergQQ/M42siK5SOAnGMN6PokogMF8mdU1/N2mAulMpv6A/lyWe1Qpe7G\n8FhSBH4G3via8nIuFywQz2ttjdo0JRvw8N0ww3moHxticJMkLUjIvIWIwMAT\nMppjA96PF0+SnwtWTv7hbW9Pkhfrfq3r5zYCr7Wok334XKqS2r0CxqZ6hNI7\nTCn2NKvp9WIc47ZVL7qJcTxc10Q3saybDEEGbDSTrIGmN9WKuQyTW/MBeC6H\nvPgw3dlDCFWe56qEIymVSSFbhwRZeZnuBDN4sYla3+aJeOVF8UCC1+eOxUI6\nQMCqs1qy7GL/1eoD3UGMaZatHd5WZ0t0mRffFK/3EkLcdhSqUaxpLHd8JWpc\n1/hQWT9oSrMTetpc4IomFKReUahhaMFccr9DqB+4/zqSGD2ldyJJWuDLcw8u\n9kj263v/1wN5LQR0mkfLjdrNami+vREkviVw/dJkSG1Gbl0A8nr3Z7Cfsara\nSk67ljckvgmU+2JLLZxdpnUj5SfRSGDrlqHfOdvJYD8hHzSXRRANmY3Exykv\nDxIf/BEgjRJDiv5I3Cqq0tReddilekuryon+ZbAXYiYdW9AxK1K7e0IY4yxR\nHNDD6cQkBpAubqHIsSHFkAR2KnWQ7taW4F6bieUsTQ6T9uOjYMuEXDG8PQKK\nZ02w\r\n=JiZG\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\">  \n</p>\n<span align=\"center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WiFi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\nPlease notice that there is no official support for this plugin, for help please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose) or see:\n\n<span align=\"center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"tuya\"\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple is **not** supported and, due to limitations imposed by Apple, will probably never be supported :warning:  \n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\nNote: After overriding the type of a device, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"hiddenAccessories\": [\n    \"<device name or id>\"\n  ]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n``` \n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true,\n  \"scenesWhitelist\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"c400ff0cfc5cc1a0fadf436e7e3c898f30742f60","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.19.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"*","chai":"^4.2.0","mocha":"^6.2.3","eslint":"^7.3.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.4","ts-node":"^8.10.2","ts-mocha":"^7.0.0","homebridge":"^1.1.2","typescript":"^3.9.5","@types/node":"^14.0.14","@types/mocha":"^8.0.0","@types/expect":"^24.3.0","@typescript-eslint/parser":"^3.4.0","@typescript-eslint/eslint-plugin":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.5.0_1604502327987_0.5811177257024263","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"@milo526/homebridge-tuya-web","version":"0.5.1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.5.1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"1d3e08ac27de2c4a251d011670018ea791863ffe","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.5.1.tgz","fileCount":145,"integrity":"sha512-o7rsNVQbKsb6AfQ/kip+OkaTq/xywakdr/g4zKtI0wJY7Kx9AQmeKd6jegVCXHe1QfnjRvzlj5WvFx5SIuojGA==","signatures":[{"sig":"MEQCIFzcoRTUMYzhA0SbjNoeEpKL4Tz6TyNlimreDo0HYuMaAiBRBuMNOttHCYIDPSIlnFUKEXau1gkV7/N7DqGvx5JfGg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":214615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfxrY+CRA9TVsSAnZWagAAS5kP/1riNn1Wu48uoNKcM2k0\nh2hbTtXQxPiHOlNcczOSmOGooRZ1s9AL40BKZxzMNvk8vKu2zR9d/NG4F/Z8\nR1+yfcN3mwCU6fuTde2udVAv1Q7ulqA8ad14qoXmfK+xsOG7+7dH7lsDlf70\nzFTOqkQ/ew8J2GGcthk53y+zzORm3uKoBqkqNkk4haYEFwPJAJlkEuwqtSbs\nJZGr5FKs85D/Le/lwWWFZdqTH0XDzK3Bzk6ZGIqMam+gfRAVk4N6bv4TvwaE\nkfZXc9AbZZP8tRUCNtI0rgLioUDzL9h8rt3IZuGvxn+u5DmDI/maCvNxgKyj\nAWvtv2uu1GKRv/DsuXOy9WOrVnN+1W1MoEa7E9DD+rXTo8R0cHhQGc6qmpRE\ne86ZsShg6l2j48wedrDAWy+LKFs2TC8vuGdptW8V+hhLdLr5EZnf+Ny27688\nNjBWHGz4RVsb4B+uNgAQReXIULBtMFvvr1/Bu2UfLQRa8AsjY530+o5xGQIx\nMnd9k81H7RIFuZSnuNDo21/tR7I72KCEJz1Zvw7UV6snh1TbqW79QyvjNPdj\neAp/M6vyNWO27XR1oDE9HFjEWLgkTDwg6q+EFZxzrNar5xoBqr5fSM1WnEnv\nyKTNFPeiHkIrP/DQF96ChmV24dT9Wvr/dh8C4audx/u3kqsr/U80fPWewazM\ndGhD\r\n=r6u1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\">  \n</p>\n<span align=\"center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WiFi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\nPlease notice that there is no official support for this plugin, for help please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose) or see:\n\n<span align=\"center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"tuya\"\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple is **not** supported and, due to limitations imposed by Apple, will probably never be supported :warning:  \n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\nNote: After overriding the type of a device, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"hiddenAccessories\": [\n    \"<device name or id>\"\n  ]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n``` \n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true,\n  \"scenesWhitelist\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## TODO\n\nThese features are on my wishlist and need to be implemented:\n\n- Implement devices that are not supported yet.\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"18e99b1ee8eb559a1b152b46caff77f6cb058548","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.22","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","@types/expect":"^24.3.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.5.1_1606858301647_0.2559816918165354","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"@milo526/homebridge-tuya-web","version":"0.5.2","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.5.2","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"6fd43f3afcbffe01fb9f37b121e509b884d7966f","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.5.2.tgz","fileCount":145,"integrity":"sha512-t+pEs8yUGdMWFTZ+eIi16cjeNzNoU5FTaUXuEpKfEHRvq7nCCAz/dGWJYA7VtAhSAG8Q+JNnsjNA14bVUQOtYw==","signatures":[{"sig":"MEYCIQCuvq/NC9kQGbPZYkYEBqSc90douoi6FxNoZlD/4vgKiQIhAOmM44Qh7eDjleq6zGzjryWhODdF1xh9X33sgFy9L984","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":217760,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfy7KbCRA9TVsSAnZWagAAgikP/jFeJpjknl7tZtZHhWeF\nHtigSZo+cVf1sIO3YQI2C9KsGWBsSCrplBMMWHrONZQo5FBfLok7YzHp17ug\n20h4LrkEfh99p5EAQsVNv4rm7ItiDy/eLNjGBlXldtUvp/4KXwdTeGbYkQW0\nuxAGvc2HsFQumn82TMSC2ir7hfh0gjfcEW6mJiQxCZynNYG+HnFaEDf8gky4\nkLt9Or07uDoTX7/H24Afq31oNSbaPBgSQDxPKITR6qWjgVs5NrhL+lvLBsHj\nmKkonDFPOCwPPMJ+gMMBd8wIjH4TrRU2OE6lyY8Rd6l5ZCh9/aI7QxfLkgSK\nqWyFcuv5QusUHyKTetESV2tGYehG5xBdW9XuckIk61D2XpvAWmLRmoMU8qZF\n7/PWmoYnm5CUFLF+UeKQFcxIrVIzCmKH4P18Tgs5nhRV+i3qLBSrdYjHm2tR\nLJ1tcprLFAPLzg0WGpS8FBQtGz37NRD0aG/1b9G/vCEbDHeQra/ZEMe1h0Cn\nocmygER4hYdj/h0EaANzdfz9ThRa6XKufj8wdMBsqk/4cSlzlanX+sYO2xMa\nZXPKnOSJ7M3mWETW/zBzA/2TXYdYLdEFJdsZ1wa7o6vbdm0mb4WGG+meqQ4y\ngS1IQoiCemrmXSv58qiHa11L6zIF9lW0eHpy1v2H3neLsFcz8QnmMbzOLSHX\npXxO\r\n=kCpr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\">  \n</p>\n<span align=\"center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WiFi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\nPlease notice that there is no official support for this plugin, for help please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose) or see:\n\n<span align=\"center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      \"username\": \"xxxx@gmail.com\",\n      \"password\": \"xxxxxxxxxx\",\n      \"countryCode\": \"xx\",\n      \"platform\": \"tuya\"\n    }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple is **not** supported and, due to limitations imposed by Apple, will probably never be supported :warning:  \n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n> Note: After overriding the type of a device, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device id (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\nThese devices can device a minimum- and maximum temperature as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"hiddenAccessories\": [\n    \"<device name or id>\"\n  ]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n``` \n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true,\n  \"scenesWhitelist\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their \n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"47c02150ae85d35ef5cdbf604f8152c48d284546","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.22","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","@types/expect":"^24.3.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.5.2_1607185050928_0.44167842140635805","host":"s3://npm-registry-packages"}},"0.5.3":{"name":"@milo526/homebridge-tuya-web","version":"0.5.3","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.5.3","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"995fb57eeec085d88ae4e2e470b0c8d6d00f8f36","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.5.3.tgz","fileCount":175,"integrity":"sha512-BXb68/aDMh67rA5Y31V09/zpah2A7mtkvsL7j50JL4/t19sY/s+5SCEgLmfUbBH7CujH3Lz22Yw6T++lsjqf/A==","signatures":[{"sig":"MEUCIQCHCNUSxXofc4fJNdYYmIJcSan4zTkptfwctNj+TP6lWQIgbOviYY8MHx2TR5T2LsC8wJWPTUPn93NppVXI9H/dnd0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":240356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3n0WCRA9TVsSAnZWagAA2SEP+QHSOTjmsfxt5hkYjEMy\nzl9cKTELMrNaSx6gy2pvbYG+sEIWY3llt6lQ1l8vhwPOQNdW77WPPLbzC2Jz\nzTuI9VAMLZMTNQYAXarc3YOs0QZijhgUwvs5fCsMDj9dJZKwrRC9n/72xlRv\nmK7js+3YvnpAkUUQ9d9SC6FmJK7jN/oEZWJ3LkT3xOz9oNN0klnGQQt+S8EN\n1bTPnviMYcR9ZvTD4tq+GDlk6TcU7ZFD9CWrsNm0FtshT4Lrd6PfD5AJCLbk\nxyAEQFZ3fu5N9qawiObFINO045vX3lOXSl7HOjG+64kwfnir7+x2BYzp8Ktd\naoHaxPjsmVnqsW/dNcY40miL+ot4QHodLtX707rXdp8emAd5REvn1/NXa+5a\nHu3oUfM+i3TZtYE8CRMPsIz8DCb4tgHutm6hYhxPRUQxVlXDX2teF4XJAxB4\nYG6f+Mttt3o3h0N5yyx0n9lwZjk4OXVymd0c0fQU4onvcQMdTdDLR+Qna6C7\n3ijSmXly4c0/Lt+es8buz5Ah1HMFzI/4c0oEWhR96xxWpUlU4S12b7dE3GPM\neEhIfifQFL9jq61YpP+AAe0kKlZKRq5tHSvIol+2QdV/emvoJWuewaRCG1Ui\nebJSRqbONnl3RNcsRZ4bh/STrOl7sU8KWl6jenJCyyeBljK+OO3f2Cs3Q1xJ\nm1xJ\r\n=0O0M\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\">  \n</p>\n<span align=\"center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WiFi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\n\nPlease notice that there is no official support for this plugin, for help please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose) or see:\n\n<span align=\"center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {\n    \"username\": \"xxxx@gmail.com\",\n    \"password\": \"xxxxxxxxxx\",\n    \"countryCode\": \"xx\",\n    \"platform\": \"tuya\"\n  }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple, Google, Facebook or any other provider is **not** supported and, due to limitations, will probably never be supported :warning:  \n> Please make sure your account is created using a plain old username and password combination.\n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n> Note: After overriding the type of a device, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device id (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\n\nThese devices can device a minimum- and maximum temperature as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"hiddenAccessories\": [\n    \"<device name or id>\"\n  ]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n```\n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true,\n  \"scenesWhitelist\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their\n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"3d862064cf522205c5e3a15e9aff815b19118575","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.31","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","eslint-config-prettier":"^7.0.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.5.3_1608416533619_0.02159463168330622","host":"s3://npm-registry-packages"}},"0.5.4":{"name":"@milo526/homebridge-tuya-web","version":"0.5.4","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.5.4","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"075a890c3cd2e2d6696e2cd101fee039e1fd5386","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.5.4.tgz","fileCount":175,"integrity":"sha512-CxRiixdU0Fd5BZW0vXfcSDgp+LlzdjEythM6ImeWH6bfBxZp/18lSbUhP1PI4P0Bvr+MndVTKfLUXmgErEzbYQ==","signatures":[{"sig":"MEQCIAb7tNkNDe4+5lLNWEgYwy8w6oCBCC6StsBPlBt1if3jAiAb+1Hcpjw6qWgU1toJ8LsW8XJ/a+vLy8R5vNxgwMRD8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":240365,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf3n99CRA9TVsSAnZWagAAz9QP/2IgbteestKDSa68mE6+\nrSxsuFLDuWUcaSrT/DIHAbcRiUz69Ur6sjg1JOK0Y0odn6cAjnsxOEijwfhX\n3+EkMVFwE/jJK65j2/jESLLWJ5rFHpAvfb/I/ij54ALD+Yg8nG/JVqLZm31O\n4TuQL1GISXbIe7MN0ktFAZoAIcFzKwNXqfFlKJ8AiDrLdHJdcX+2X+/DRwXY\n7wLf8CGOMoNrc1DspKk/bsat7KJqfrQsz6e7LbBIIVkpwOfbVdvkEUEVj/Hd\npMvcTWKtbb19OLZ4l9t0heU3t9i98U/iBgZ+/6i1HY2ISwFtHdAklyueqNbW\n6J/445Ybxo0e3H+eWNa2SRGFIEFYUQpAut3KIm+VcmIzsRbVbRlZ/VC4Ztss\nSxY6SU//zBzBNFA2ZEzG4WkGr+J8M+9Q8x8IAWs78BlJC2K+ow+T808xL0wD\nZwaFLH6VeCT2We85lSE5EzzTMqDaFRZehbmhCAWnFRe6ycBKpIc/N3GsoDxx\nFF8KFdUA4/lS5auhE1gwJWLlKb8oKeJkp0gSkCEAScJIHP8PmHpGVgRCWK1z\n5p2iKUcax6mdCr68t6raKCK2ZHsFUpuGonlqCl72tkCjo+DAqO2GuzKQ+/iO\nmvez/Ae/zRDqB58HAbMbq5LXJ85K1YGGEtYZqG6Kjb2aBMkszmFwW0E4oL+V\nK2lQ\r\n=ZbnC\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\">  \n</p>\n<span align=\"center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WiFi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\n\nPlease notice that there is no official support for this plugin, for help please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose) or see:\n\n<span align=\"center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {\n    \"username\": \"xxxx@gmail.com\",\n    \"password\": \"xxxxxxxxxx\",\n    \"countryCode\": \"xx\",\n    \"platform\": \"tuya\"\n  }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple, Google, Facebook or any other provider is **not** supported and, due to limitations, will probably never be supported :warning:  \n> Please make sure your account is created using a plain old username and password combination.\n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n> Note: After overriding the type of a device, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device id (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\n\nThese devices can device a minimum- and maximum temperature as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"hiddenAccessories\": [\n    \"<device name or id>\"\n  ]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n```\n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true,\n  \"scenesWhitelist\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their\n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"7fdc5d2eb636a14562a9b3531a55a73cc1247299","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.31","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","eslint-config-prettier":"^7.0.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.5.4_1608417149033_0.12656408927769092","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"@milo526/homebridge-tuya-web","version":"0.6.0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.6.0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"073d452a564316000af5afba8e7e8dab29270fb2","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.6.0.tgz","fileCount":191,"integrity":"sha512-XrvSh+3/6KS3xLOzjhb+qaOrU+2u7kZbOmzc5guN6aXyFsgN7TTIT7NVbAQ3U5Mjjuo0yC6R21motFPN5c+NZg==","signatures":[{"sig":"MEUCIQD/Lq+sTu3b9c7Ywe7F3S5PvRB5gwA5ZPbe8ZkTyjokxQIgAO+lOu6oCZLKqeBOtjRY3/H90Hdxj7sl7aAkptZtMg0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":260964,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf364nCRA9TVsSAnZWagAAdMIP/Rpf0gPSO7c0ubQLsecB\ns2v4AvUmURcDKniaEd+3BOiWeeaQL27Wv71azHsLK/UGFUjTpZvWCje1Zi34\nxYyjqp4Mx6b/8i0SPRcXyEnjUr1Kt1UbA20rhkU4b5GU/LHbx/O34hTKGrnz\n4AgQI8/PxXtuMKza0Q3D4x74kSF2Yj0XfgREzE0rq85PwKYDLJBNXGXfz9IY\nfRVy729tuwqHL3adaDH/+oEt8osORPArvHZKk6luGlSZ3mf7DKX7kqTIXXna\nK0wbzPRyAkt7e3liwMdaXFxFl8oX6HOcXjKfVuBzgul26ozGbxxFFYFFHCrn\nDP3+7GmL9pqBuXLUPKiSZExHToKaO4YRd0i8nGYPIoNfQ11flsHjPcwEROCa\nM//aZLx2wbKvzAHHaJf1QLl3t/kGPwRmFYOo6OTCOOtppmpSHrm9TBa1efqU\n/JL0EHigajrFhlmOHXxfTiHw74DtOd1SSJH1udu51po+LyDcBqIk2vuHD4a+\n70nUxJLzDhLUPXRluaY1dQDcT0/rPGS7BZ4Kwa+XRoaGrE5O67Y169toV29r\niCKlS1x4OcwPHLLUkx4KGcuKQqzMB0ufYtHFJZlk6+H+yajvobPKBq0GfLfM\nyvQTa4WODtFoQ9GK/g2wUpV9t/x//MR3qCqtpoLrCpMqXQkeYb0LHpmGRNbU\nY4cY\r\n=dBlq\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\">  \n</p>\n<span align=\"center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WiFi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\n\nPlease notice that there is no official support for this plugin, for help please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose) or see:\n\n<span align=\"center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {\n    \"username\": \"xxxx@gmail.com\",\n    \"password\": \"xxxxxxxxxx\",\n    \"countryCode\": \"xx\",\n    \"platform\": \"tuya\"\n  }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple, Google, Facebook or any other provider is **not** supported and, due to limitations, will probably never be supported :warning:  \n> Please make sure your account is created using a plain old username and password combination.\n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n> Note: After overriding the type of a device, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device id (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\n\nThese devices can device a minimum- and maximum temperature as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"hiddenAccessories\": [\n    \"<device name or id>\"\n  ]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n```\n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true,\n  \"scenesWhitelist\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their\n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"b45bec06049b97e47bd510a1060e1943266b1f12","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.31","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","eslint-config-prettier":"^7.0.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.6.0_1608494630814_0.9162259077090853","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"@milo526/homebridge-tuya-web","version":"0.6.1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.6.1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"f1795daecb75467d57d2b7272ed10493c6052104","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.6.1.tgz","fileCount":207,"integrity":"sha512-XMvwxh+zNuv+HNLyDT4ffLxyMocNWzCW0ZFqtyuXBPzi+OGrxsbUwgKpz3zbZ1VIwn6ubSf2a6+OZdFLRkqjjA==","signatures":[{"sig":"MEYCIQDVvN1pfgRtZzpB6K29YNJozl/GCanXJT1Y2KjjTScL3AIhAPWQe2YapIV/XNVvMzL0IdejbdwOpqnaYWlpy+TG6DEH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":281561,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf38NhCRA9TVsSAnZWagAArN0P/2IrEvm/+Y8eBRlzogGC\ngp6afYqfcrslq4iScBu13Cx2VyVZ6OemX6M4sOadXjnq8a/eBiSpWc4u/XG2\n9XFRhGKow9ChUmF7AY9eZgbjdp2VMIkMqlvzEPtOKhjt8HArQXft8YZMhJaF\nFU86kL+bE+8AcJlzjkrWZ7Q3Tbgg6KVLubaqB8McBYHOFXd3hvm0jfr0aYhm\njlkGjzx0LQ8GubNF/NeB5vSMd2C2nEeCkLisrDeaVNnTm4Eq54AkHgyAYdZb\n1LZbl1cGDIRnTHKKsZNhlbLNSXEoqntnH5KDGdOBhJrt5AsKYMPceW3DRmiP\nQ7ryigboOXEdhwkogDz7BkeA0oPGdRj7Aw839EPfZW94kf6GIQRNq11XgP6A\nLI+yVeWcUclxD/Xek5M091A2rnERXfjzXgMIbv811M6ZDafBk12MLr1/Fs6d\nxkMJ/1kBwler6P0bTqkP/1A6gc6iGVfRI1UBtepOIBcmo3+TA2JBylei+oW2\nETqIrZyviblsPNGgheNBmgvhXMxe4JqPLdxSarSr89gzLbHMipVFvoPvoX5T\n0dzP5FScwjqUbDjbA424aeLky72nWlLR8pCoVa1QGs/2plhr9wTJrJexECau\n/LSj6M+8zqAFRCKJocgSalKSJb1QOWAmMusNb8E4Sql9JT+hcsFZEb712pPa\n2BCx\r\n=cLCr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p align=\"center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\">  \n</p>\n<span align=\"center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistent Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya WiFi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\n\nPlease notice that there is no official support for this plugin, for help please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose) or see:\n\n<span align=\"center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n# Configuration\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {\n    \"username\": \"xxxx@gmail.com\",\n    \"password\": \"xxxxxxxxxx\",\n    \"countryCode\": \"xx\",\n    \"platform\": \"tuya\"\n  }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple, Google, Facebook or any other provider is **not** supported and, due to limitations, will probably never be supported :warning:  \n> Please make sure your account is created using a plain old username and password combination.\n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n> Note: After overriding the type of a device, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device id (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\n\nThese devices can device a minimum- and maximum temperature as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"hiddenAccessories\": [\n    \"<device name or id>\"\n  ]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. If you wish to add Tuya scenes to homekit you will need to whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true\n}\n```\n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\":\n    {\n      ...\n    },\n  \"scenes\": true,\n  \"scenesWhitelist\": [\n    \"Scene-id\",\n    \"Scene-name\"\n  ]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n\nThe Web API also supports these devices, but are not implemented yet in the plugin.\n\n- **Climate** - Not yet supported.\n- **Cover** - Not yet supported.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their\n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n## Unit tests\n\nThe source code also has some unit tests to test API calls. Run the following command to run the unit tests.\n\n```\n npm run test\n```\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"440161b6d51de51954836868b6a6c796e7165198","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.31","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","eslint-config-prettier":"^7.0.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.6.1_1608500065411_0.40102498562224076","host":"s3://npm-registry-packages"}},"0.6.2":{"name":"@milo526/homebridge-tuya-web","version":"0.6.2","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.6.2","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"ed512f00234c288b733c90b0b351a21af62dc78f","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.6.2.tgz","fileCount":207,"integrity":"sha512-npwkUjFjIYks6dBKw5IThtZgDUIu9EBbt9L7M6DrQfcCWv1SHfqyrqEOr0EYwqyD0G0HX9pSZYbpOrOMoAsZQg==","signatures":[{"sig":"MEUCIQCv+o92KqZ96i2XraR8tnM5C5Gzm2jf1FTR11if+36TRwIgNFTMzHsfMV4nywC5tp+t4Fm2ozW1OrRNKSNe/NOgtHs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":282580,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4H9oCRA9TVsSAnZWagAAq8kP/AjB4m6Rc54bJv6Yaqyr\nSfS4GGFAbxJ4Mx6v5sw53ETa6z2HRZ1h5/fTfS1qIUB3rLzYXyJ8RXrH0fXA\ntxUTN8qffTXenrPbcWkfpPYkYWsL01TT7xWEj8fHsd5taTRbChvAKI9065CJ\nEVRqr1roPTw6U5N5RD8eTTjNAxc4Ck2ceXvAIqBlHSNtiWjhJMGgSL3Jfyso\nXEDRwAd0IN+TScp2LN50meC/pWexHJV9WUFFT5H4Sw+8Fu17dVDK4tDUYncd\n0dpu+1XrsvpvS/vREq2fNdqATGoJcC0jVGa0K31zwv9nHDppWCvu/QxyEd9v\nS9WohEGellFQ5zkgA68BYDeJ0P8N0jLAwsEB/KLGwH5BKzdftfpKg0dAswJu\n3iKYhOpcWAtyHWtM8KosfshprMBRiy64vRpAmlwY4Lssv0abxRGUcHkprlnz\nomc5rUc1WFiyWYMO+s1OelyLZscoekXQydBjQYSt/lD4kf44PCESg0189Rsw\n2lDyOQ+7iXzJfjQt4x/2iVOdv83ggbl/j+wSLPMGtg3glYoipGJgarg8exqT\nwcQxiGfNRfONGdEsSjBJ271Ii2LsrO/wFTBfdBCC2Q2jS5+31gir1NfAFdrv\n1UmmLe8hl4S/R8zCEz1RUPCS3FIdG2laghSge9vMoxo2DWU2ogYcBGHN0c73\nk+iP\r\n=dBc7\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p style=\"text-align: center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\" alt=\"Homebridge word-mark logo\">  \n</p>\n<span style=\"text-align: center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistant Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya Wi-Fi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\n\nPlease notice that there is no official support for this plugin.  \nIf you have a question, please [start a discussion](https://github.com/milo526/homebridge-tuya-web/discussions/new).  \nIf you would like to report a bug, please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose).\n\nYou can also get community help in the [Homebridge Discord Server](https://discord.gg/kqNCe2D) or on the [Homebridge Reddit](https://www.reddit.com/r/homebridge/).\n\n<span style=\"text-align: center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n# Configuration\n\n> :check: The preferred and always up-to-date way to configure this plugin is through the config UI.  \n> For details check [their documentation](https://github.com/oznu/homebridge-config-ui-x#readme).\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {\n    \"username\": \"xxxx@gmail.com\",\n    \"password\": \"xxxxxxxxxx\",\n    \"countryCode\": \"xx\",\n    \"platform\": \"tuya\"\n  }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for the USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple, Google, Facebook or any other provider is **not** supported and, due to limitations, will probably never be supported :warning:  \n> Please make sure your account is created using a plain old username and password combination.\n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n> Note: After overriding the device type, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device id (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\n\nThese devices can device a minimum- and maximum temperature as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"hiddenAccessories\": [\"<device name or id>\"]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. When you wish to add Tuya scenes to homekit, you will need to add them to the whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true\n}\n```\n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true,\n  \"scenesWhitelist\": [\"Scene-id\", \"Scene-name\"]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Climate** - The plugin allows reading and setting the desired temperature for certain Tuya thermostats.\n- **Cover** - The plugin allows opening and closing window coverings. If preferred, the device type can be set to `garage` to expose the cover device as a garage door.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their\n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"8dcd6e9e6647eae1d8fd564f090c3670229eeed9","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.31","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","eslint-config-prettier":"^7.0.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.6.2_1608548199867_0.47057043078408656","host":"s3://npm-registry-packages"}},"0.6.3":{"name":"@milo526/homebridge-tuya-web","version":"0.6.3","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.6.3","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"58950076c505c6baa0b32f2c414f61a6c16fc7aa","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.6.3.tgz","fileCount":211,"integrity":"sha512-Ovw5osO2QKICecG3LHcfsqMKcYoiO9jzOcKYffS9BMi3hHIjJAy8ANZLNfm6XMSb8wz1tVkRomHfrIvXvKV2yA==","signatures":[{"sig":"MEUCIQCTrErVojkg+x8rYfWdrsik1EJknkCFQOPiGNALr+n26wIgdOZm60i0z0maBSKNcodPTzxXgiVvaUiKLwzrOriwkGk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":286290,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4Im6CRA9TVsSAnZWagAAh3AQAIbfsrU6KXuhLZM5zGKp\nnChP+hIEqY0j7tpXVtn5K9j0dapaTQiiFV+RNvYwn96+z6ww1a1WFq7MHzh+\n1OLL8m0+Q8Im4ufyVQ5qz6fTS7SsjyhzHjDgRJ20xIpeuoNGt6B1/PHvxLGa\nmElEHzWXQFUFrrG05PHFyQcrUN05y8fUz7IUHxKTjE5H9XJcbA1S7Uro0rBB\naz1NHz9Zc7gajwT1dKTgRS7fp+VZEGKog+8Qq7WssZV1YoKhJA3Lugkh8uoH\niQAQLcu6OtjyxsROY1W3I48MYxvx39sBT4TB7UiCjL6SWElNsbEMQVVDc8I4\nYMMpmLWaYvKRcV+bmjVACl0Ol46109+S+xAMKn6+ihdu76wbfVzUu/dl79dY\nNqlzDgSXF6BA51XjjA1zP9otHDAWVsWfWbUA4D6oYtIEf4K9+sg9FwY46z69\nZmvWt2W6BwP2/8rzDzCTO2nbM6vAUa5pzGmUtlbTwFLgv3JoGPPnzv4VMStj\n+IW5XdSse5ZZAGGrPSWpjW7hTOUVyR4Zkx7fi/oKP9RtawYKXFDnBMPNp4v5\n5isDBN5rrpKtvzAvun/nw+vGipXgDRJonbV2dicUDau8B5BPKo0fNBUs3XsU\nPgEbpJVaPTCvGYdLTq6t8zV7JEfwXppPFbbJfhxEMIySPnr+ekBvTv3dDF88\nyZdm\r\n=3QYS\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p style=\"text-align: center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\" alt=\"Homebridge word-mark logo\">  \n</p>\n<span style=\"text-align: center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistant Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya Wi-Fi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\n\nPlease notice that there is no official support for this plugin.  \nIf you have a question, please [start a discussion](https://github.com/milo526/homebridge-tuya-web/discussions/new).  \nIf you would like to report a bug, please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose).\n\nYou can also get community help in the [Homebridge Discord Server](https://discord.gg/kqNCe2D) or on the [Homebridge Reddit](https://www.reddit.com/r/homebridge/).\n\n<span style=\"text-align: center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n# Configuration\n\n> :check: The preferred and always up-to-date way to configure this plugin is through the config UI.  \n> For details check [their documentation](https://github.com/oznu/homebridge-config-ui-x#readme).\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {\n    \"username\": \"xxxx@gmail.com\",\n    \"password\": \"xxxxxxxxxx\",\n    \"countryCode\": \"xx\",\n    \"platform\": \"tuya\"\n  }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for the USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple, Google, Facebook or any other provider is **not** supported and, due to limitations, will probably never be supported :warning:  \n> Please make sure your account is created using a plain old username and password combination.\n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n> Note: After overriding the device type, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device id (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\n\nThese devices can device a minimum- and maximum temperature as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"hiddenAccessories\": [\"<device name or id>\"]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. When you wish to add Tuya scenes to homekit, you will need to add them to the whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true\n}\n```\n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true,\n  \"scenesWhitelist\": [\"Scene-id\", \"Scene-name\"]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Climate** - The plugin allows reading and setting the desired temperature for certain Tuya thermostats.\n- **Cover** - The plugin allows opening and closing window coverings. If preferred, the device type can be set to `garage` to expose the cover device as a garage door.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their\n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"26d89e7f06b29267133fe4f8335dec9dedc8f0e6","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.31","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","eslint-config-prettier":"^7.0.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.6.3_1608550841432_0.13652451694895817","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"@milo526/homebridge-tuya-web","version":"0.7.0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.7.0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"12c6a91cbc3afebc90193c3702b23f90acf9bd68","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.7.0.tgz","fileCount":215,"integrity":"sha512-frVnXV/WNf7kkcG9OaNsFHp1dSn1lfyHqEKGgrHxWqY+T+3fCnvFUb71a/ALXqoJe5vEgvmCGa0Zlj06ufeb5Q==","signatures":[{"sig":"MEUCIAlauUV12+X7L9CnS4iUEgGr6/0Blnw3VRRQ72wHmS6mAiEA6BE+++x7qfkhBrJv4AbW/UdmMq92c6+K5Q5ONx1EHKo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":291603,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf4xodCRA9TVsSAnZWagAAr8AP/RNJbR3+oHUmsqchPXl5\nmS3C+d2Us4I/12tOsiaSEyXVaqM9yzKrNHI+WkbDajKemhZPQ00+HJ4nnjwY\noAoHTQG7OGimuCk7D3ZfHzZX7ixP6mJXpvWYUsK9/7Hb16bDNiw4c3GG0/iP\nb+tlixCcaLePz4BkAMLLxaQSWd3efIz8VIG7YCf7f+WKUImQcyN3mwrbctKa\noerDGuf/gflvFKzBHi7n6K389YOob9+1ZeYjmUTXzqakNsExuw1Z5mJkLE21\n6FyLlovbAUMBq8RgmqwkTgg3WopIpPSJU0BWpDb72RA+diUnVmUNGPxCUuwZ\nPVZeirpHNSGd3oavhlzA0V3HVadSNi6I3skBb8nTwPvrUmGB7YTh42eTZjGy\nUmEB6OSJNOd1P8sfHEEOOjMlrGT9q4ndiz0Zx0NmeRwnQ3sBIlb9/N9VwKlQ\ns7X/cX2AoY1lCmzYKkkmCN5h7POamgbzoGIboRp+LgjipYXtgzpUF3QQrl5I\nm0AXEshmspfG3kSnu2zz2edFbrXSphStIAh0XlIOt4RZfdoblU5hgxIt8Euc\nzm07qpGZt8b+tWgTN/7+NI/s8/VCfwj7KG+oKnOlxOUowZTKoWZnQbH3dCRJ\n/k0UD9O2l8IG0tNX4VSE5jRacoMu472fhY4r9tP8A37DRsqQ7F2xoLcUvYor\n0iqe\r\n=0p5F\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"a4ac8851de0bf849c064f0fd94e06f859a84a7e5","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.31","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","eslint-config-prettier":"^7.0.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.7.0_1608718876839_0.7710769464896305","host":"s3://npm-registry-packages"}},"0.7.1":{"name":"@milo526/homebridge-tuya-web","version":"0.7.1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.7.1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"e2242fbfd674ed424489cd32da987fb5ba73baa2","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.7.1.tgz","fileCount":215,"integrity":"sha512-DkHOrx6gxAniOsc0AutxBV0iCY7ns71TZeZqujc48Tnx7htJOvE25CtAnRX6WwINaI1NM2vKm6Ruv43cRMk8KQ==","signatures":[{"sig":"MEUCIQD2IuxcV9gTmlQez/x5+OQvNfLj/OCUfCtkUvG/H7zJSAIgcSgDezbFHR9cyqTQYwuimYR95XHHTC8opUrHy1Y19LU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":291871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf748fCRA9TVsSAnZWagAAaL8P/0HkEeGhcEAQ4TYVuBiC\nyUvfLPhXaDbjae8/8fLRIUSGNao1gQX8e/de5vTvcFbeLWa7c/X6Xl9SlvOb\nWvJbFwFqGJEkgSbRKxXqVgjdsmMSU/1Nae4M9x/cvv+09uzBrNdDEmz54Txc\nps9gC+JFy3AVkqXhpqqUXV7xw8WjC0vzf2FTdalEM3YPmoBVsrhSTITo9QKZ\n42YMUDDENFcOjBQ40HCBB2P/30AwHJP64AFRCeP+Bz8FptfmL1oae5FZh1WL\n+v0frQ3ecSiUKkRDdya71rIWzXNaG4fL/HEWOTdmgO0zu8LktiBZlLJTtIQ2\nHc8zHdTVWFOT8ii9uJOUjvcJsJPEmQOXriSEVXFGXohPbDA8R+8/mJRyidr8\nwuFPt3tu6mYkDmxQ1f0fKpsZ4CEmD4MhPIUGNMorQttEFnGl9pTScWPD1HcN\npn5ZXSeJIMiePqBTriBKBzJjypj904ScCHZh5uxIX+T+i1O9wa+VmINOZwcC\nd5WdktsKzzNgNdeiOkKZbMsiIQ+hurFLmoVjVrlk5UxqMH/4WpnCYkYz/vlh\nGtJeVGsSByBslA2lRodx92PF/WxMZkCq6gy1LawbOMZI470cO902Ewv7ttGN\nNy2CurhOxmWyOsGkjyf19A/r2cV8xB+vH/NPau0moY+FZq8ILlq6mmQv4tOn\nIzRE\r\n=gbd6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"84fcdeb7394e3999c385241588b656014a3df645","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.31","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","eslint-config-prettier":"^7.0.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.7.1_1609535263125_0.28951574546124914","host":"s3://npm-registry-packages"}},"0.8.0-0":{"name":"@milo526/homebridge-tuya-web","version":"0.8.0-0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.8.0-0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"aff31b14a99fd671d8d6838483ed404461ef6f21","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.8.0-0.tgz","fileCount":227,"integrity":"sha512-LVYvuFuhfAIWCszKaq2ctVp7jHpRiwKMuu+cRju0RFOX5nHABnrlWiyM+z1AjhCMbrSETm/I1a4U6d/SHxdfuQ==","signatures":[{"sig":"MEYCIQCIhz+RG4n4KrlIeh1wPYAKOkqBtIz+CQKq6ugDWyRNWAIhAJGPWCYWqmIR6qaPv7Js5zw3VWUzy8lJQ94xplfi0vMR","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":308646,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf8417CRA9TVsSAnZWagAAxisP/j+R8bANjHmdg4L+XKg5\nLXBKus/K3bOx0NY2Vu4zirP7kKr4nVUiREJmNsDscLFV/fjiKJCJ/nFONOmB\nr0B5ECPKyZ2FW6siU7wjNnsBg5VDiJJaGwRXb4xiglte2TsbbtX56kaQXEYn\naVPyGpuRtLJ+kRfJmjX9KuLdv8mLThK3hzPqGhBeT3L/fk1d96k9N1E2Plho\nYMD18PrFkOK/MRsROuR8xUh0zy0kMTXIrG+mpQJAYrMfwJqMNEDfuqOhxuM1\nWVBUJQGbm6HLzCg4l+ZEkaKl2aY+K8ezOQXAiCvw5sGqQFnUnFNYy2O0UT6u\ni64+i4+nMRtfS2KG+jdiqt2c6OchXtnoRwKXWdcZtCuwv3oz3qLT31nXo/O9\nK+Fn4m/fvwsqgQL867+L7DGHw2is/jujfDOQ+JqIMqIyq8Yt+WeipZwnkRSm\ngiUSvqM7OCzYL9TAfIE9WXFEO+fNT5dsCLifn4SesCph+o/ogWJjZUEuW2pl\noEnNXz2ljJwx8O7lkZwRJsKWEdoW/STleVPGACvg7I0YrfFvqHiZ99vM6TPx\noxaU6fkFIDzj8hgoVoSxLUGxFNRKdv9cgjmVh+5kY7RuP9h7Qj0Mlt4ABgA+\nOZ1q7HuVbXuFpLsaqGEikyY2juw46MQBSh9hzBJPhU093fLi1fMPAJ+/cHdV\n4m6l\r\n=ZxEH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<p style=\"text-align: center\">\n  <img src=\"https://github.com/homebridge/branding/blob/master/logos/homebridge-wordmark-logo-horizontal.png?raw=true\" height=\"200px\" alt=\"Homebridge word-mark logo\">  \n</p>\n<span style=\"text-align: center\">\n\n# Homebridge Tuya Web\n\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![npm](https://img.shields.io/npm/dm/@milo526/homebridge-tuya-web.svg)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://bunq.me/HomebridgeTuyaWeb)\n\n</span>\n\n## Overview\n\nHomebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis Homebridge plugin is based on the Home Assistant Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis Homebridge Plugin implements the following features:\n\n- Controlling Tuya Wi-Fi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\n\nPlease notice that there is no official support for this plugin.  \nIf you have a question, please [start a discussion](https://github.com/milo526/homebridge-tuya-web/discussions/new).  \nIf you would like to report a bug, please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose).\n\nYou can also get community help in the [Homebridge Discord Server](https://discord.gg/kqNCe2D) or on the [Homebridge Reddit](https://www.reddit.com/r/homebridge/).\n\n<span style=\"text-align: center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n# Configuration\n\n> :check: The preferred and always up-to-date way to configure this plugin is through the config UI.  \n> For details check [their documentation](https://github.com/oznu/homebridge-config-ui-x#readme).\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {\n    \"username\": \"xxxx@gmail.com\",\n    \"password\": \"xxxxxxxxxx\",\n    \"countryCode\": \"xx\",\n    \"platform\": \"tuya\"\n  }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for the USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through Homebridge, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple, Google, Facebook or any other provider is **not** supported and, due to limitations, will probably never be supported :warning:  \n> Please make sure your account is created using a plain old username and password combination.\n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during Homebridge boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n> Note: After overriding the device type, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device id (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\n\nThese devices can device a minimum- and maximum temperature as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\nIf desired, you can overwrite these devices to the temperature sensor. This will only report the current temperature and not allow you to change the temperature.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"hiddenAccessories\": [\"<device name or id>\"]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. When you wish to add Tuya scenes to homekit, you will need to add them to the whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true\n}\n```\n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true,\n  \"scenesWhitelist\": [\"Scene-id\", \"Scene-name\"]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this Homebridge plugin:\n\n- **Climate** - The plugin allows reading and setting the desired temperature for certain Tuya thermostats.\n- **Cover** - The plugin allows opening and closing window coverings. If preferred, the device type can be set to `garage` to expose the cover device as a garage door.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their\n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"b729313d1e85969684cd8181073fcf6ee0bb44e4","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.10.2","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.12.0","dependencies":{"axios":"^0.21.1","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.0.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.13.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.6","ts-node":"^9.0.0","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.31","typescript":"^4.0.5","@types/node":"^14.14.7","@types/mocha":"^8.0.4","eslint-config-prettier":"^7.0.0","@typescript-eslint/parser":"^4.7.0","@typescript-eslint/eslint-plugin":"^4.7.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.8.0-0_1609796987217_0.5097318312624506","host":"s3://npm-registry-packages"}},"0.87.1":{"name":"@milo526/homebridge-tuya-web","version":"0.87.1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@0.87.1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"5b10ac3e00bb8d2db847831672d1bedd23b421cf","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-0.87.1.tgz","fileCount":227,"integrity":"sha512-Mt0mGlzOn7YjfPzfVGF9nrD3eLzmk1m00C/WxKIFum3wRu/LT1KtOA19AbWZgAZR7SghDPyM1PNpToae9y8eKA==","signatures":[{"sig":"MEUCIQDDsZJ0r1MeBiXSz+YQ3LESbmZi5PYWLb64YPSyg1Kc8QIgdPfY9u65C3nA9QUarrphp0F4X9pH1A/UyPjFKZw0wIo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309496,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJ9GmCRA9TVsSAnZWagAAMy8P/08e3SNMp0WXMk0JKpe0\neEsaBLlxLFQOoy2D/TIV1fRldynum/N2FNoBDILrDu56tbRdUbAKNjaHmzH7\nc3szocs6SPFMqyfVoXefjBUx9on7dELTCh55rkSyOw3IzcKp6n1WIHIH20Bg\niTOIF6ULlPAGEeP3zvTvYrvCSE/thmv21BNh/nbuc40HcusOyucApzbAE76I\ng38MoPB55RKMxMLP57xPANuO5lgKsHCtwxQ13iHRCzuEAy9O46W7ZsM857fC\n/0HTo9Nzq2wklypS07Hg3fvp/FR8tH1xYxCjPCDBVyjeZhYdUOP3e7YGphox\nrZOT/XdSQZehuG5xQu9ehO5BtywYhMnWOSWBwsD9BIzmWQWozqInK3QBg1NZ\nSQfvuguBRYk6WXuFcE32WVpB4bkv7gdA4cLG/cZX7GTIqtck3g0whIvMhVgs\nfViRXrAuMctPEvpgL9mOp9OTdRUicgz7hkBPVyby5pTQ9pSSHar10vxTv6At\n3SIS3/ENw8hneQoYMJWwu7YG9elXSD4krpZwLz6sfwlcZ/7UNG1PE20cS5Oy\nlljyNZijeRKfd9f8oWgwGS5yBvvtZfwczQe9ACbvnTbHQUIUQu23uFmLnEki\nxI8lxEeBNiUUCYL0WZgjkfeHi1qRT2k/8UGp27TgcLv6GhfQWGYiBbIGwiN8\nK60r\r\n=o6Fu\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"0b0403dce19348049b40212e19f4c164ca8743a9","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"7.5.1","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"15.8.0","dependencies":{"axios":"^0.21.1","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^7.2.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.18.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.7","ts-node":"^9.1.1","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.47","typescript":"^4.1.3","@types/node":"^14.14.22","@types/mocha":"^8.2.0","eslint-config-prettier":"^7.2.0","@typescript-eslint/parser":"^4.14.1","@typescript-eslint/eslint-plugin":"^4.14.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_0.87.1_1613222309259_0.5296742821094425","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"@milo526/homebridge-tuya-web","version":"1.0.0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.0.0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"2199094c0f92fbf6c54619a04582e465aa2cbc98","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.0.0.tgz","fileCount":227,"integrity":"sha512-f2gZfsl5vVn/14klAEAXP6jduRg6bOrwVtlTG/HC0QUgD/3CF8GQrYkbYTTaOfsjH9CJj28CdZVbnTnzuti8zw==","signatures":[{"sig":"MEYCIQDbNBnHJWebek2bwmOQW3YuCFBRBX/nqFRhiXgZYNGZLwIhAL5TGkakpfm1kR9cdghufOgF0OGdvs16s55ndqMpuGT7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309495,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJ9ICCRA9TVsSAnZWagAAu1gP/AsjyNozez7jGODVKBHo\nQ/1IA1wI8wozbxJtaUKEsQcaoiM9A8Jpqx1h1y33cc1vkU8LTNGC2hONVyDH\nYzt607ahF0fqblxnrWzyphXnR9m9URRlr1Ze87vHjkcAesdIXLoP79uHDEWy\nqVnj2puzvqBND2GuAvmBb6bpmak+jHzFb6qqWNvBsDfacxqZUCkciCegaHB5\nunQpPSZIHehQluH3jbM0acKPtSUtGhlOYOKLF5vBd0EbtivxBnguRXdKSBoq\nYRUhl/tuePz4X89kwJJ62P2g53GtqWPfCI6iiHzS8S+N60VCT4XJ0xLMORfX\ngJ4nk4h4HxOaJt4mzI9i+K1sVBaczxwGBo15uuuj+L1lLDe7ejnIgST45pwR\nmgVa7es1WkopmGKUnQK7ZFExXsWGwLL8fTeb5t8kqNAOC6MoWPZ1nG6dNxGf\nNfklLZbvsepljmwVpyBTzI064d9I/tpOnGkpwxLuFHM1cGJob9hlusZ1pqwb\nBx9oZ2TYf/gQQRz9mhbtjmw+MqB6S05oTh2A/nnY7Pto5dSznGhpcWXaV/WM\n+Uyw5ZuvvnEKCrdJHVSuXC50ZwRujk6d+nUVkXnL9XZp2JQD8z8sMYumoVbu\n0n+bYi/KkVmM2S48mgb48mMOG3sfb2JAkfRtUbrbL9DBuQ6O9jh78k79QzhV\n8PMS\r\n=U1i1\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"cf0f948b6a567d6a7d92706baf6ae1e99af0f425","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"7.5.1","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"15.8.0","dependencies":{"axios":"^0.21.1","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^7.2.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.18.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.7","ts-node":"^9.1.1","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.0-beta.47","typescript":"^4.1.3","@types/node":"^14.14.22","@types/mocha":"^8.2.0","eslint-config-prettier":"^7.2.0","@typescript-eslint/parser":"^4.14.1","@typescript-eslint/eslint-plugin":"^4.14.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.0.0_1613222401489_0.5663507889123607","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@milo526/homebridge-tuya-web","version":"1.0.1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.0.1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"22a647aeb2ce7adfe0452b426a693d3f2460f51a","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.0.1.tgz","fileCount":227,"integrity":"sha512-sqJ805OztclALaTNhCpyxrO9FhcQFYTh0NqQuMOr0s1mVohY/QPbY7aBChapL10xijzLrmRoD8nCBzbUVPuISg==","signatures":[{"sig":"MEQCIH9t2CMvkJ5N/yJNJgQ9MqCPkK7UKM/PG7cZ/pRgiTRTAiAMFz/eIrS/R1zdn0YVZV/xIOWBR24KFm263EQULk6erw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309803,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXHEmCRA9TVsSAnZWagAAsswQAJ3O0m7szkwgFnH95Xgy\nC/9BaHAYIHb3h1UAqg86fOF2KqztilJbrn5w62HxV7QHs55STHGoCbNIWLRB\nZBFolmv66OP1zHMeBfpNFV5TPiEZC+6JdO3PzpNW2WldNHM3O+U/BoX4VGWN\nz1ZKJwRwsPZxz3+LJth/sBG9P9g96BC7RxfgZ3xoiqa2FR+XK5I1bdyuY1/z\nFNMlw313YUm+KoFZsIL1YA7qCQQdXl7VEXliHiEmGy04xosPdyzHHN1pKmDd\nALe0DX1NZGVRRQR6ZEutMEjaIqkLi5HYnfM+QBZ+hFPTo0kJyFz1mx4BBxvd\nW511XXKPE7C9c64pnIcifsSXdw29j6CloVRFDjLSCq7/9Tp7YahbIwXCZCZZ\naZgcqraITul4dADTopaLrLrR/yqVo7CLbROcS8VVRz+HHy2q2tKY0gy3+jHK\nldYRoSuc/xKBJYMf4mYBHlr9WFzEW1gFDQ61GabwerALTr2C7JoSkXDkzW4P\nKnvP3PWyN9aXyDNjwrJ9ugbT9JspcNKFoyHt+0/Rb+K/4yApixQ72EKkTgFx\nx7sbDXjPkZU6OEBynUHBM/DzaweHPDI2yP4wk+1qTkvr2gteSLK2DsIJbRK+\nZ4OYdXEIx+kBmE7pyii50+7JeALe0xB6cpMWkrOJ1wKqHpAHIFASeabgaN4l\n03TT\r\n=QOCJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"c41cdbc288aca8ff5e65077b9829c384d0b1ce6d","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.14.11","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"14.16.0","dependencies":{"axios":"^0.21.1","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^7.4.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.18.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.7","ts-node":"^9.1.1","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.4","typescript":"^4.1.3","@types/node":"^14.14.22","@types/mocha":"^8.2.0","eslint-config-prettier":"^7.2.0","@typescript-eslint/parser":"^4.14.1","@typescript-eslint/eslint-plugin":"^4.14.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.0.1_1616671014166_0.4658907080990611","host":"s3://npm-registry-packages"}},"1.1.0-0":{"name":"@milo526/homebridge-tuya-web","version":"1.1.0-0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.1.0-0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"db9ae74c1ae22e70a2f528399d40d0beed3b07d0","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.1.0-0.tgz","fileCount":227,"integrity":"sha512-BlEwM7CTcfgtcou8iz9+tQLxZWn4POXfR7eq28EbKtwQf3PwbJ6a/BzFzjBSUyl552cemzNaqL4ASRzF+45hOg==","signatures":[{"sig":"MEYCIQD8HvFv+ffu74hUd+RCN8n/lEP3bzB0f0YdSmAwTXwJggIhAKLmxcgHeOcqCyT99jRHL5s4utLbi3O5RuykFPi8a+yJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":319412,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgpBlzCRA9TVsSAnZWagAAl0gP/15tsHA7pkznw/nxQYFv\n3LWt0uw29utRpcsiqmLOPw81vEBiEh7E8Lk/zl/G0XfNA76Q38w+MC19cITi\nXx1JK4tw2w1OBnbmKaSGmu/30F7ZMd3IGfCkxSUV2V7Nu8LFFtnheTVzRIDp\nwWK3dPkFbWdjYuPfZY3+21GCjlxNrfk8Gcb3kdpEvzCs4vcgtUgHl47/YxC/\nUUzLDLciXorCYgaC2dYRqH4MM3chzuA858v8773OueQVQWVqqE1+eS/47TXs\nIuSRbhjeF7fCsKX+pb2e3SooC5s2/oQfKre/XaxBwo2SzFaRGy1juCUmJ2R9\nv1NwkYCmtbUEJXTbOTAYZObZQ+xb8e6CnLuiTHhdHiTbTjgM749p3zzNaQxl\neLn1I0Ag4c2L2dawCKwNaP/5okSK+bo/YJIlBUGnztq8z6Uec/Y0ZPqMXH98\nZkWbAxeO6RE7oWpxwtE3vktU692MLwSJo8CwMJN8u8jDUmT7BdHCh+a+RcSQ\nWY9ws8wm9AI1ynjM7Tzn/X9zQTXUZRfsDP5K3ut2HONf29k5G5VaPi5XKYuW\nBG41XBMaYc0BuP8p7yJdO4G4h8Uyz8/FSR1SyVZDBu1an02CxhZzpOWKQd0y\nvtX2dWaty+M9dpcXuoNgM/t47Rl+1T/RKOonCRR+BUwHgIm9wNA+TP3ErUcl\nOy/P\r\n=oHVl\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","readme":"<span style=\"text-align: center\">\n\n# Tuya Web\n\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![certified-by-hoobs](https://badgen.net/badge/hoobs/certified/yellow)](https://plugins.hoobs.org/plugin/@milo526/homebridge-tuya-web)\n\n[![npm](https://img.shields.io/npm/v/@milo526/homebridge-tuya-web/latest?label=latest)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![npm](https://img.shields.io/npm/v/@milo526/homebridge-tuya-web/next?label=next)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web/v/next)\n[![npm](https://img.shields.io/npm/dt/@milo526/homebridge-tuya-web)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://paypal.me/mCesar)\n\n</span>\n\n## Overview\n\nHoobs and Homebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis plugin is based on the Home Assistant Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis plugin implements the following features:\n\n- Controlling Tuya Wi-Fi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\n\nPlease notice that there is no official support for this plugin.  \nIf you have a question, please [start a discussion](https://github.com/milo526/homebridge-tuya-web/discussions/new).  \nIf you would like to report a bug, please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose).\n\nYou can also get community help in the [Homebridge Discord Server](https://discord.gg/kqNCe2D) or on the [Homebridge Reddit](https://www.reddit.com/r/homebridge/).\n\n<span style=\"text-align: center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n# Configuration\n\n> :check: The preferred and always up-to-date way to configure this plugin is through the config UI.  \n> For details check [their documentation](https://github.com/oznu/homebridge-config-ui-x#readme).\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {\n    \"username\": \"xxxx@gmail.com\",\n    \"password\": \"xxxxxxxxxx\",\n    \"countryCode\": \"xx\",\n    \"platform\": \"tuya\"\n  }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for the USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`. Also see _Platform_ section, below.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through the plugin, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple, Google, Facebook or any other provider is **not** supported and, due to limitations, will probably never be supported :warning:  \n> Please make sure your account is created using a plain old username and password combination.\n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during plugin boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n> Note: After overriding the device type, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device id (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\n\nThese devices can device a minimum- and maximum temperature as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\nIf desired, you can overwrite these devices to the temperature sensor. This will only report the current temperature and not allow you to change the temperature.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"hiddenAccessories\": [\"<device name or id>\"]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. When you wish to add Tuya scenes to homekit, you will need to add them to the whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true\n}\n```\n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true,\n  \"scenesWhitelist\": [\"Scene-id\", \"Scene-name\"]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this plugin:\n\n- **Climate** - The plugin allows reading and setting the desired temperature for certain Tuya thermostats.\n- **Cover** - The plugin allows opening and closing window coverings. If preferred, the device type can be set to `garage` to expose the cover device as a garage door.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their\n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n# Determining platform for branded devices\n\nThe Tuya cloud supports different branded platforms. If your devices came with a branded app then it is likely that your username and password are not recognized by the Tuya platform. If the app that came with your devices is not for one of the supported platforms (_tuya_, _smart_life_ or _jinvoo_smart_) you best bet is to check which of the apps for the supported platforms recognizes your devices. Unregister your device from the branded app (so that they are \"factory clean\" again) and then try re-registering them in the app for one of the supported platforms.\n\nThe device checking script above can help you debugging this.\n","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"a75fc70c998c36608caa6da89482f7d41bbea180","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"7.13.0","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"15.12.0","dependencies":{"axios":"^0.21.1","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.5.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.18.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.7","ts-node":"^9.1.1","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.4","typescript":"^4.1.3","@types/node":"^14.14.22","@types/mocha":"^8.2.0","eslint-config-prettier":"^7.2.0","@typescript-eslint/parser":"^4.14.1","@typescript-eslint/eslint-plugin":"^4.14.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.1.0-0_1621367154959_0.8904336989601811","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@milo526/homebridge-tuya-web","version":"1.0.2","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.0.2","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"1bed3ba0b55ebdbbd008204ed2390dc69aef43b9","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.0.2.tgz","fileCount":227,"integrity":"sha512-jalZ7DxdxYpKF+vM5qoQDY2OtuItL644lc09I/Y0EuXKptuXQuvG3eZiHNWv0S1WCSvFY9sHbEOCvmtd7UwYgg==","signatures":[{"sig":"MEYCIQDMmnGrJ9Cq5K4Wr+L+BsULY08bKRoFsNn8+ZKUkl18KwIhAIv9gY98lQOE5OJmVx2+FccR5/OEuKmbxg8ISnO9DIAM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":309804,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhAE7zCRA9TVsSAnZWagAAJE8QAJtcKaVF8eQp94exfWAf\ne0rmJh1Wv1K0XYWKIAMX+rh5/9pvXSV1bJBXDc9R4s9nDebHwJm9wtYOEgJn\nb0cfNaAW/uwApARCBg2VYsMOwOk92wXqRgzx1ogjUCrDNjPzcFS56xGO0By9\n0cCkCtPAM6+4lhczQcSsSPJdPrFd3rd/AXAzM62j2UFwJFXGaNGclmdZSU+s\n2jEymHiAXTtA9o4DrqKBCtuDVZa3/dg+KXP4RGXdIOTdEk9cVD/+TuY0JfbM\nIcyeSAjYeV0WLM7wXakL47FjjumAJMyy/eEoCRfipEMgSFUHPrgZ2/iSOJyT\nbxN/1+HhbaPt3hNfVhbwFE0wQm2xwvav0f0WqY+xDru9r87VAmIisIyXRxed\n6jVDLXOccnFrfZjXRdObGrSWCzZuLSYHAL0Amre9XRn7I3fRgxzmQaWwzC/x\npS+D3XDyL7LOOcnrSs1V+BGoWf+Jplr45471ed9K54fnJMjt9in44rRqTkfk\nwx3DKzY/yw6GReBaFRr5UIKmvhSk2JouaSkiBMlYTIokbzp31wBpwAN2N7Jy\ndXRabCPoQwwaRg/4ugizLA68/KupCIdKhKEDcpG19d0JndBZ/6Vy43pjzBOO\nh0KUeLQTSEosY6YFq7/QnsbDM3yEYVWlT+fwAuUqslGyPKbd/1NeH0tXM4cw\n5ZiH\r\n=V2Ep\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","engines":{"node":">=10.17.0","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"a77fdaac06049f5e7ff243f9a08e95daac602aa5","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"6.14.13","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"15.12.0","dependencies":{"axios":"^0.21.1","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^7.5.0","chai":"^4.2.0","mocha":"^8.2.1","eslint":"^7.18.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.12","ts-node":"^9.1.1","prettier":"^2.2.1","ts-mocha":"^8.0.0","homebridge":"^1.3.4","typescript":"^4.1.3","@types/node":"^14.14.22","@types/mocha":"^8.2.0","eslint-config-prettier":"^7.2.0","@typescript-eslint/parser":"^4.14.1","@typescript-eslint/eslint-plugin":"^4.14.1"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.0.2_1627410163483_0.44965553309270523","host":"s3://npm-registry-packages"}},"1.1.0-1":{"name":"@milo526/homebridge-tuya-web","version":"1.1.0-1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.1.0-1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"259b76e169af314af442ea8f00bfd19557aa637c","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.1.0-1.tgz","fileCount":227,"integrity":"sha512-Mf6nLEEffjRvaCbJ9ib3lnAhSnskv/VmKg7rEZ2k+gltV0aTw4YqPvEmKe6ZQDUqe1V/CmZ4tfbIOgHquV5pFw==","signatures":[{"sig":"MEQCIDQX2Fbq04SF2JVb3Nh+Z3KtJhLyq1VZ8lCx/IJEema4AiAEjpnRdeapBx2whGoKD4gsTLkQImXof8gdZjKgxM19zg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhtzsrCRA9TVsSAnZWagAAGiQP/1KYzV8jXCUiF+zEFZAO\nKpFf1Bqt28AgHQqyjzyM5gZHseYohWvijnYCXoGxY71qjeoPNP2a6TdNmkyH\n38oB5uS6lxc81zl+q6XcUC81AaNXXzX4NYEMS50H4WboXwy8bMv1jy23NOZ/\n9hk8N/0harXbBZI0i7PYQgKbrg9cp0lxKicCjTENzogY/X4kkCZ4iYr3y3T3\nOVFTVhxU7TrCX6WB7UAgvNAIGaWqCH6RMvpxDloZm0gw/SYVUkOtAWgY2WSH\n4LzeWTRX6nyhEpiPgKYsYebGbTUXHDJ9SrBBox+Pjf2jTgpgofAvnartUMVr\nHNtAJSijCPxCssBHVdV1wcW3n4bX3eW4K88SjrCsFNTOyYRmz32MDURAk48F\nKNIUPcZxKfq+YScqxUjp9Ez6FCdDRcZXejKdiI9wZ8ruFjzmuWrRm5uTOWZV\nhAS+Rx9Mc074Xsc6c/Ue5SR28hKCDJUJhXe+KR8xTHbzGmZbFfhlieiNYkSX\nq382PvZMpUyvSWnGu4kZjwh/QFNgwQzSHoIWvQsptI+zUe6LZrmxg04pgnwx\nMgQSgXyUuljOZlctQ65Ucx0zyxC518s7saS6cCpFyrE5cQliWMRphsFumxyI\nhlBOSRogE24dHlEXGaUVJngTOSfjYFyyjBjWcB5kzh6zz0pBl7YKvlIh+HcX\n8ygg\r\n=GyKX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","readme":"<span style=\"text-align: center\">\n\n# Tuya Web\n\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![certified-by-hoobs](https://badgen.net/badge/hoobs/certified/yellow)](https://plugins.hoobs.org/plugin/@milo526/homebridge-tuya-web)\n\n[![npm](https://img.shields.io/npm/v/@milo526/homebridge-tuya-web/latest?label=latest)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![npm](https://img.shields.io/npm/v/@milo526/homebridge-tuya-web/next?label=next)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web/v/next)\n[![npm](https://img.shields.io/npm/dt/@milo526/homebridge-tuya-web)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n[![Contribute](https://img.shields.io/badge/contribute-donate%20a%20coffee-brightgreen)](https://paypal.me/mCesar)\n\n</span>\n\n## Overview\n\nHoobs and Homebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis plugin is based on the Home Assistant Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis plugin implements the following features:\n\n- Controlling Tuya Wi-Fi enabled devices form within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled form an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\n\nPlease notice that there is no official support for this plugin.  \nIf you have a question, please [start a discussion](https://github.com/milo526/homebridge-tuya-web/discussions/new).  \nIf you would like to report a bug, please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose).\n\nYou can also get community help in the [Homebridge Discord Server](https://discord.gg/kqNCe2D) or on the [Homebridge Reddit](https://www.reddit.com/r/homebridge/).\n\n<span style=\"text-align: center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n# Configuration\n\n> :check: The preferred and always up-to-date way to configure this plugin is through the config UI.  \n> For details check [their documentation](https://github.com/oznu/homebridge-config-ui-x#readme).\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {\n    \"username\": \"xxxx@gmail.com\",\n    \"password\": \"xxxxxxxxxx\",\n    \"countryCode\": \"xx\",\n    \"platform\": \"tuya\"\n  }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for the USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`. Also see _Platform_ section, below.\n- `pollingInterval` Optional. Defaults to empty which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through the plugin, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple, Google, Facebook or any other provider is **not** supported and, due to limitations, will probably never be supported :warning:  \n> Please make sure your account is created using a plain old username and password combination.\n\nAll options outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or id for the device that is registered in the Android/iOS App. When matching on ID please provide the `Tuya ID` as shown during plugin boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation or for outlets that are reported as `switch`.\n\n> Note: After overriding the device type, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device id (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\n\nThese devices can device a minimum- and maximum temperature as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\nIf desired, you can overwrite these devices to the temperature sensor. This will only report the current temperature and not allow you to change the temperature.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"hiddenAccessories\": [\"<device name or id>\"]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. When you wish to add Tuya scenes to homekit, you will need to add them to the whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true\n}\n```\n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or ids of the scenes that you'd wish to expose.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true,\n  \"scenesWhitelist\": [\"Scene-id\", \"Scene-name\"]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this plugin:\n\n- **Climate** - The plugin allows reading and setting the desired temperature for certain Tuya thermostats.\n- **Cover** - The plugin allows opening and closing window coverings. If preferred, the device type can be set to `garage` to expose the cover device as a garage door.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their\n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n# Determining platform for branded devices\n\nThe Tuya cloud supports different branded platforms. If your devices came with a branded app then it is likely that your username and password are not recognized by the Tuya platform. If the app that came with your devices is not for one of the supported platforms (_tuya_, _smart_life_ or _jinvoo_smart_) you best bet is to check which of the apps for the supported platforms recognizes your devices. Unregister your device from the branded app (so that they are \"factory clean\" again) and then try re-registering them in the app for one of the supported platforms.\n\nThe device checking script above can help you debugging this.\n","engines":{"node":">=12.22.7","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"269a4ebc5126d0f956aa358bd183f2cf484da35f","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"8.3.0","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"16.13.1","dependencies":{"axios":"^0.24.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"np":"^7.6.0","chai":"^4.3.4","mocha":"^8.4.0","eslint":"^8.4.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.15","ts-node":"^10.4.0","prettier":"^2.5.1","ts-mocha":"^8.0.0","homebridge":"^1.3.8","typescript":"^4.5.3","@types/node":"^16.11.12","@types/mocha":"^8.2.3","eslint-config-prettier":"^8.3.0","@typescript-eslint/parser":"^5.6.0","@typescript-eslint/eslint-plugin":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.1.0-1_1639398187356_0.5274329278267746","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@milo526/homebridge-tuya-web","version":"1.1.0","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.1.0","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"9baa04bd3957af3a86ba75c1bcc865c0d3c5ac3e","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.1.0.tgz","fileCount":227,"integrity":"sha512-UyQjDUNyiSVUoQNvp53RFp9FNxL3/7XQFJV0KadDREnZDMnuN4dsIHmfJyGJdh2V36mzXN0th8wGcYcyOe9+8w==","signatures":[{"sig":"MEUCIQDCNZXT4kFypRqgDweJw40z2I1wRs31ZGBYIxUMkFVF/AIgdtI7S/UlTU2D6NHco5B8f9QRfiq0VpaOEo+RQGtuCzk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320139,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhtz5QCRA9TVsSAnZWagAAfukP/36U53IRVErD6sD12ZyP\nkO9MJBqsKV5AA0SqeDAPhLF+aAyP8rHgjz+QwW2FoexXpdU8nQwWPL89ZzHo\nrQmgcoC/HHnzhxxQC9v4WKIbgrX6zcLejNZYMMLHBHI72vwjt17ZHpjh3YzK\nxCtI8FrNw6SvbNKmFkfQkUfv169KFlAVW+FoHAxrW7X53mBR1rB3Gurm4psp\nyV/JCQq4PSarq+DR8+WpYWD1+ZjRjnb7atgsfMidCFDVQ8qK1+twivPS698J\nT+Ba3Or1bFCThFSFhkgzlC2/bCqXCho571F9ZveDsXXS49Zhvb0YPVqP6Ww1\nYu8526YekX340V13qiqIkeGTgUAnFAGq0bdbp9xyumrakxA/jG34Evx3IXQ5\nYyk9pMQSMQTuAGahMeB5Qn/U3yP35Uv4MTs/HJ+S7eaI3t6pYLnXPOlvpHfn\nI0xcBf92bd7dZFArh6ix/BaVPZq+v4T8iPaBNPERgUBcsL6a5hgCYuShVKXq\nIc1BYFNRPYmby4JhBXzfzcwbvk8WL7SR0nmyyHlPdrk69Z/PPkY0AOKzgO4m\nYalClKYU8R5LTCVApjAg9X1ru3SG4V5zoxNR7InneuAT1E2eh67ge029Xgbs\nGTCOFvZHkmhV9h2LKXUmT9j9GBKWZMxjoQduiMegKxgPI8Te5Gg/dye/eysp\nAI4I\r\n=3SzE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=12.22.7","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"ee60f9b3f6254e0d45abc87daf275d666b678ede","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"8.3.0","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"16.13.1","dependencies":{"axios":"^0.24.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^7.6.0","chai":"^4.3.4","mocha":"^8.4.0","eslint":"^8.4.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.15","ts-node":"^10.4.0","prettier":"^2.5.1","ts-mocha":"^8.0.0","homebridge":"^1.3.8","typescript":"^4.5.3","@types/node":"^16.11.12","@types/mocha":"^8.2.3","eslint-config-prettier":"^8.3.0","@typescript-eslint/parser":"^5.6.0","@typescript-eslint/eslint-plugin":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.1.0_1639398992408_0.7490520046414006","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@milo526/homebridge-tuya-web","version":"1.1.1","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.1.1","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"3843dcb50341158f980b91ab926f0244c6c255c1","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.1.1.tgz","fileCount":227,"integrity":"sha512-H1BU8dq5BQxxJ6u9bDfMc7as2SzHpspmBeOpQPz3roh5UIwDcKKT1ZAguc2iExdltKjQOy8rL8LE5P6+ZrxZQw==","signatures":[{"sig":"MEUCIHEWqmB2CfDCcblhSh3nmrII0y4OvRMhm1czEn1boiLwAiEAwS56725nzTj6N/plSQ6P0/aMBzRXBySpM1MvfEiwHtQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320293,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhwye+CRA9TVsSAnZWagAAjJAP/iqRDQYvWFt/SDB0/pPu\npe5r3w7Vn+JclOcOYbTwChn+SU+Y6Rw3T3fR42cSW1dp2/x5otDCHBwV9uFK\nMeoyFWcMeLWjaS+icyTxPQKJVt/5kszY641ymh48VCK9V5WRG2ZzrBnVtTP2\nNbWEyJnI8ZCL26rrGFTtW6nWOLi8q8M6DQpOG84wHWyZXoGIVmBMyV6VnhU/\nEmC8Ne5jDv4ndHLc+q46HzBDmd9j10RKbKefqKWx6ZdPW8zBQ9r4rzvSAUSe\neSEbD10RqdpAmFASPqiTGTJujkFsdN7st5pN5eE0v2jpUEOxCkhDUk8KYWzZ\nUGHpdWoEXbrENNZgF7FnX3+bS6hRGpwNKmvXBIJNr8vPdxG4sGsVDAfm+Ql1\nMErtKFolEn0h4TR3ItPc00bZIHTOS1ABtCqjOh2rWwXWKhsG66Yiyox76WHt\nL0/4WSQnJc7V5LhBKfWFavPeXYIe9PeGXrmc20vvMydZD2akO8GjDFBZ5CdC\nnaROyROCBxDlcuPjFID9Pq1J2s3TkrG1k0HeZjkdA/TegCOmScGtHsPlKxJ8\nPeIaNE86My4JBHmkCAcO57gD+0hkjVtx1ZqebaIe0L3i5GoPCYCLJ5X5WE3K\nq9n/+KKkLDbN2IfOrLHO+x08GTfTYY++wdtxwNQxe0A4gw66jsfsmtbEjx1V\nrkdD\r\n=oQ26\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=12.22.7","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"35d6b85b2c239d736f925a4e9353829d04bc0dc0","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"8.3.0","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"16.13.1","dependencies":{"axios":"^0.24.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^7.6.0","chai":"^4.3.4","mocha":"^8.4.0","eslint":"^8.4.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.15","ts-node":"^10.4.0","prettier":"^2.5.1","ts-mocha":"^8.0.0","homebridge":"^1.3.8","typescript":"^4.5.3","@types/node":"^16.11.12","@types/mocha":"^8.2.3","eslint-config-prettier":"^8.3.0","@typescript-eslint/parser":"^5.6.0","@typescript-eslint/eslint-plugin":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.1.1_1640179645844_0.5775773681841734","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@milo526/homebridge-tuya-web","version":"1.1.2","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.1.2","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"7c38a78159dabff2618ae22acbe1215884cb3561","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.1.2.tgz","fileCount":227,"integrity":"sha512-pjrXAm+BZwoWoHomkGvPPRs25UTeLbtWTyxzfciyMIV855wzH1B0daVdZzt8/qR6me4tWPKHgFXd9CeYn3xfng==","signatures":[{"sig":"MEQCIAn0hHZ86ycJiYE45vjo08iE8mI8rsj9M78LmzRB1fyYAiAwkGcIeS0sZ2dhlkLS7vAzou5VERCoZprEM+GOavQtRw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320356,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJidN9BACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrDOBAAnpWnJXKl5tole/w3LEkBL74bnmc8T9uEi5oFWLTV3yvm/0s8\r\nerobqcvnOSiSOnufZAWKDYAEsGPMBpObIY6mDiGmh4+b8FyszUuSgpm0NaVJ\r\nFz0eCZNe3ANJWW5wWi4q36dCAys3VZ5riK0XV4FIGOR9c7IdXt86ppxNx/6l\r\nOMihbyaj/s8F/OoirrKLRjhpzXfwO2H17ZCyBFeJZiZU4F790ZqBMsJVL4xG\r\nBMXcbeKpuvTzdWFrnl9dTI2rxEpmq9PVXocV0sniikVk+JDYsG4dbtVy99IB\r\nX9HUPqLwJR3LkcAE+a9qeR0mtB6wlblkMCf2W3LdBz+/P8MWprgjWVpaaYXm\r\n7I5a01DwAruGZOyGTWhX1a+fBN41huSMTV6E24jHn1ManETMwegVdjMimf39\r\nY9z5ALdE6CWyfovZptSBVtYkjJHavq8YqpLBcn+CNHImNAm4Lx+cJ3EU0bAY\r\nT2fI6dfk9X/5kqzQDYaHXgxMiF5jHmDVErxJ0dhagKy11vLDJqHjhVQfMARJ\r\n4PzflFBuDlpoLKZKon5jJRCgJdph3UfrND9qlOWz7qkrJDEjPTUyTizH5lnL\r\n18erPK9saaIfY1CN3on/eA7KyLUeofKgPNdMHygJ6JUorEgdiD089wwcZbLQ\r\nez+fpY5Gy2NDmZ4ARNzo9GjsmyMqozlwwGU=\r\n=NWIK\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=12.22.7","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"064c52407dfe3b37f02dbd965bc5efaea5a0eb67","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"8.5.5","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"16.13.1","dependencies":{"axios":"^0.24.0","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^7.6.0","chai":"^4.3.4","mocha":"^10.0.0","eslint":"^8.4.1","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.15","ts-node":"^10.4.0","prettier":"^2.5.1","ts-mocha":"^8.0.0","homebridge":"^1.3.8","typescript":"^4.5.3","@types/node":"^16.11.12","@types/mocha":"^8.2.3","eslint-config-prettier":"^8.3.0","@typescript-eslint/parser":"^5.6.0","@typescript-eslint/eslint-plugin":"^5.6.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.1.2_1651826497406_0.9018376924971934","host":"s3://npm-registry-packages"}},"1.1.3":{"name":"@milo526/homebridge-tuya-web","version":"1.1.3","keywords":["homebridge","homebridge-plugin","tuya","smartlife"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.1.3","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"0fd95603470a7b475cd88df8d54fa132e410aab7","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.1.3.tgz","fileCount":227,"integrity":"sha512-kSux8TYnJSPshBUqXCtLygTI6/xdBS69ivQatqn/l2QowRASco3ClnJzCeZkAZylo2eDc7j7ly+60RuBXVn4VA==","signatures":[{"sig":"MEQCIFFpRgLgCjOBm9jucsWD/INkPmZ+aPrjnDoVZOKpYQ96AiAVvk13nn0KYkeUyWk/cDAeLBrVTlccW98O80pw60zXjQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320705,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjuxcIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpieQ//Y3DWGdO+vmEh9jW9qgdqkLyhNV36YiT/tk7+1AwLWCpkJAp4\r\nsevZxrL5rkudDwUYOc8il/NwGjOxX1Rm3X6VoGVzRdpaxNl3vkIzjiO3GFhS\r\nSZ5c2JDH+l+ITiX9cTk5ztDH9CwpEpvORiskl9OSdNOjudh/qIpi1DAUJYy9\r\nPaCXRgJPWskJbncyVI9w4U/hOfFUFUgePBzv5LTHwZat7gRGzyHXPujCjFWB\r\nJ+7j7oCnu7DGqX2a87V9co4x68I+EN1ismhh/qL4QE1ua7pvljIO+hWNP+tr\r\nwakGPcSgv92q2Aj91oaCzgU32CtV1wGk63iYCizqkm0w4H1uzT8MQ7wDL84f\r\nfR5Hyy+fo6CPpw8jV4Us/jelu0fo08G9LFJgzsWZE1Vz9m7qgb94LWHdFC12\r\nT2MuBgRHkUyYdwZUrMgiRkZki3n0e19TvW2I8bHoJXRpUY1ngFGHY1iq34rQ\r\n4h1ueHvp5/Nnu3HpHtkJgrpzt1lNd3KeznASwwN7BH2oh1iHKLogFl01St8H\r\n5SE+TC/cuTXnlDBo7rcSjoqIMtcUe2FyzROib45z7BGGfwIiqsAEQJdyvBWc\r\noPdHLMpz6O4UhVCmx2cUylOe4RUkTMXX2jaclnebO4K0F+fl94yg1eHGh+MW\r\nY4DzaaOknpcbq+0mmcfjZIniwwzliCNsVlQ=\r\n=OLC+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=12.22.7","homebridge":">=1.0.0"},"funding":{"url":"https://github.com/sponsors/milo526","type":"github"},"gitHead":"9ba39bd8fccb94a5fc24b2367e088b241e069d53","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"8.5.5","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"16.13.1","dependencies":{"axios":"^1.2.2","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^7.6.3","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.31.0","rimraf":"^3.0.2","ts-xor":"^1.0.8","nodemon":"^2.0.20","ts-node":"^10.9.1","prettier":"^2.8.2","ts-mocha":"^10.0.0","homebridge":"^1.3.8","typescript":"^4.5.3","@types/node":"^16.11.12","@types/mocha":"^10.0.1","eslint-config-prettier":"^8.6.0","@typescript-eslint/parser":"^5.48.0","@typescript-eslint/eslint-plugin":"^5.48.0"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.1.3_1673205512620_0.2126879336023466","host":"s3://npm-registry-packages"}},"1.1.4":{"name":"@milo526/homebridge-tuya-web","version":"1.1.4","keywords":["homebridge","homebridge-plugin","tuya","smartlife","tuyawebplatform","tuyaweb"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.1.4","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"5b1a66692ea4a5b5dfad7325f9fe32a6bdc35a28","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.1.4.tgz","fileCount":118,"integrity":"sha512-YXiy4DdWsPPCHJkLlKRY3py1vyU3uxy+AmSH3fxsyGGsvQbTgMDprM6tzL3viCHAb/KrcnT3iYDeXWJqdO6Ehw==","signatures":[{"sig":"MEYCIQDpZmLuU9uoZpqugbDzKWrkpCjiMEk72+PnYnCSYQ3XEgIhAPQQZmenI0wp+MTHyXpm9sIn7iSqsQpp1i5Wms8JywBO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":243729},"main":"dist/src/index.js","engines":{"node":">=12.22.7","homebridge":">=1.0.0"},"gitHead":"309be171d7f557809a61e520bd3bafde3ce27206","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"9.6.7","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"18.15.0","dependencies":{"axios":"^1.5.1","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^8.0.4","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.50.0","rimraf":"^5.0.5","ts-xor":"^1.3.0","nodemon":"^3.0.1","ts-node":"^10.9.1","prettier":"^3.0.3","ts-mocha":"^10.0.0","homebridge":"^1.3.8","typescript":"^5.2.2","@types/node":"^16.11.12","@types/mocha":"^10.0.2","@types/lodash.debounce":"^4.0.7","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.1.4_1696602604266_0.6444146184823432","host":"s3://npm-registry-packages"}},"1.1.5":{"name":"@milo526/homebridge-tuya-web","version":"1.1.5","keywords":["homebridge","homebridge-plugin","tuya","smartlife","tuyawebplatform","tuyaweb"],"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","_id":"@milo526/homebridge-tuya-web@1.1.5","maintainers":[{"name":"milo526","email":"me@mcesar.eu"}],"homepage":"https://github.com/milo526/homebridge-tuya-web#readme","bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"dist":{"shasum":"790a5695d22acb5c0f255dc49a7b12fca81584b0","tarball":"https://registry.npmjs.org/@milo526/homebridge-tuya-web/-/homebridge-tuya-web-1.1.5.tgz","fileCount":118,"integrity":"sha512-8ehtWw17WQQfwHYDXQBThw73vhZNzUtJY6Sje78uzhK8gWHINrnoysat1n11WZ+baewswvjlyWN1BIspiqPTlA==","signatures":[{"sig":"MEUCIQDJ/x+nz1xULuwRCRG7l6l/f+zHQyv+19jyDkx8bc3lWQIgJ7acyf4/wVyh2sms+QXf2Mh4yW0FtTUZo0mTWEqHzqI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":243414},"main":"dist/src/index.js","engines":{"node":">=12.22.7","homebridge":">=1.0.0"},"gitHead":"82fedd709975dda98442962923cd3a6c669849cd","scripts":{"lint":"eslint **/src/**/*.ts","test":"ts-mocha test/**/*.spec.ts","build":"rimraf ./dist && tsc","watch":"npm run build && npm link && nodemon","release":"np","prettier":"prettier --check .","clear-cache":"rimraf ~/.homebridge/accessories/cachedAccessories && rimraf ~/.homebridge/persist/*","prepublishOnly":"npm run lint && npm run build"},"_npmUser":{"name":"milo526","email":"me@mcesar.eu"},"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"_npmVersion":"9.6.7","description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","directories":{},"displayName":"TuyaWebPlatform","_nodeVersion":"18.15.0","dependencies":{"axios":"^1.5.1","lodash.debounce":"^4.0.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"np":"^8.0.4","chai":"^4.3.7","mocha":"^10.2.0","eslint":"^8.50.0","rimraf":"^5.0.5","ts-xor":"^1.3.0","nodemon":"^3.0.1","ts-node":"^10.9.1","prettier":"^3.0.3","ts-mocha":"^10.0.0","homebridge":"^1.3.8","typescript":"^5.2.2","@types/node":"^16.11.12","@types/mocha":"^10.0.2","@types/lodash.debounce":"^4.0.7","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.7.4","@typescript-eslint/eslint-plugin":"^6.7.4"},"_npmOperationalInternal":{"tmp":"tmp/homebridge-tuya-web_1.1.5_1696622363814_0.22600586096562258","host":"s3://npm-registry-packages"}}},"time":{"created":"2020-04-25T20:46:25.831Z","modified":"2026-05-21T03:37:32.669Z","0.2.0":"2020-04-25T20:46:25.996Z","0.3.0":"2020-06-17T21:33:34.173Z","0.3.1":"2020-06-18T15:34:19.143Z","0.3.2":"2020-06-18T17:42:51.479Z","0.3.3":"2020-06-18T20:18:55.006Z","0.3.4-0":"2020-06-20T22:09:44.502Z","0.4.0-0":"2020-07-26T13:08:09.556Z","0.4.0-1":"2020-07-26T13:26:24.193Z","0.4.0-2":"2020-07-26T14:10:12.672Z","0.4.0-3":"2020-07-26T14:46:39.371Z","0.4.0-4":"2020-07-26T15:06:11.066Z","0.4.0":"2020-07-26T15:11:58.263Z","0.4.1":"2020-07-28T20:33:42.801Z","0.4.2-0":"2020-07-29T20:59:54.104Z","0.4.2":"2020-08-11T20:05:59.270Z","0.4.3":"2020-08-12T10:51:15.457Z","0.4.4":"2020-08-14T16:39:25.440Z","0.4.5":"2020-08-14T18:44:06.610Z","0.4.6":"2020-08-17T18:56:45.937Z","0.4.7-0":"2020-08-18T21:06:47.594Z","0.4.7-1":"2020-08-19T21:15:49.267Z","0.4.7":"2020-08-24T08:49:30.912Z","0.4.8":"2020-09-30T06:49:20.826Z","0.5.0":"2020-11-04T15:05:28.221Z","0.5.1":"2020-12-01T21:31:41.796Z","0.5.2":"2020-12-05T16:17:31.085Z","0.5.3":"2020-12-19T22:22:13.822Z","0.5.4":"2020-12-19T22:32:29.147Z","0.6.0":"2020-12-20T20:03:51.081Z","0.6.1":"2020-12-20T21:34:25.576Z","0.6.2":"2020-12-21T10:56:40.010Z","0.6.3":"2020-12-21T11:40:41.636Z","0.7.0":"2020-12-23T10:21:16.984Z","0.7.1":"2021-01-01T21:07:43.301Z","0.8.0-0":"2021-01-04T21:49:47.401Z","0.87.1":"2021-02-13T13:18:29.451Z","1.0.0":"2021-02-13T13:20:01.843Z","1.0.1":"2021-03-25T11:16:54.339Z","1.1.0-0":"2021-05-18T19:45:55.186Z","1.0.2":"2021-07-27T18:22:43.652Z","1.1.0-1":"2021-12-13T12:23:07.565Z","1.1.0":"2021-12-13T12:36:32.584Z","1.1.1":"2021-12-22T13:27:26.083Z","1.1.2":"2022-05-06T08:41:37.606Z","1.1.3":"2023-01-08T19:18:32.816Z","1.1.4":"2023-10-06T14:30:04.496Z","1.1.5":"2023-10-06T19:59:24.024Z"},"bugs":{"url":"https://github.com/milo526/homebridge-tuya-web/issues"},"author":{"name":"Milo Cesar","email":"milocesar1@gmail.com"},"license":"MIT","homepage":"https://github.com/milo526/homebridge-tuya-web#readme","keywords":["homebridge","homebridge-plugin","tuya","smartlife","tuyawebplatform","tuyaweb"],"repository":{"url":"git+https://github.com/milo526/homebridge-tuya-web.git","type":"git"},"description":"Homebridge plugin for use with Tuya devices (uses Home Assistant Tuya Web API)","maintainers":[{"email":"buyminivan-northern@yahoo.ca","name":"northernman"},{"email":"bwp91@icloud.com","name":"bwp91"},{"email":"me@mcesar.eu","name":"milo526"}],"readme":"<span style=\"text-align: center\">\n\n# Tuya Web\n\n[![verified-by-homebridge](https://badgen.net/badge/homebridge/verified/purple)](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)\n[![certified-by-hoobs](https://badgen.net/badge/hoobs/certified/yellow)](https://plugins.hoobs.org/plugin/@milo526/homebridge-tuya-web)\n\n[![npm](https://img.shields.io/npm/v/@milo526/homebridge-tuya-web/latest?label=latest)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![npm](https://img.shields.io/npm/v/@milo526/homebridge-tuya-web/next?label=next)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web/v/next)\n[![npm](https://img.shields.io/npm/dt/@milo526/homebridge-tuya-web)](https://www.npmjs.com/package/@milo526/homebridge-tuya-web)\n[![GitHub release](https://img.shields.io/github/release/milo526/homebridge-tuya-web.svg)](https://github.com/milo526/homebridge-tuya-web/releases)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[![Homebridge Discord](https://img.shields.io/discord/432663330281226270?color=728ED5&logo=discord&label=discord)](https://discord.gg/hZubhrz)\n[![GitHub issues](https://img.shields.io/github/issues/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/issues)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/milo526/homebridge-tuya-web)](https://github.com/milo526/homebridge-tuya-web/pulls)\n\n</span>\n\n## Overview\n\nHoobs and Homebridge plugin for Tuya devices using a cloud Tuya Web Api.\n\nThis plugin is based on the Home Assistant Tuya integration that implements a special Tuya Home Assistant API.\n\nSee [Home Assistant Tuya integration](https://www.home-assistant.io/components/tuya/) and [Tuyaha python library](https://github.com/PaulAnnekov/tuyaha).\n\n## Features\n\nThis plugin implements the following features:\n\n- Controlling Tuya Wi-Fi enabled devices from within HomeKit enabled iOS Apps.\n- Uses simple and lightweight Cloud Web API to control and get state update from Tuya devices. You will need a stable internet connection to control the devices.\n- Device State Caching. State of devices is cached in memory, every time a HomeKit app request status updates from the devices this results in a very fast and responsive response. There can be a latency in updates when a device is controlled from an App/Hub/Controller other than HomeKit, e.g. from the Tuya Android/iOS App.\n\n## Installation\n\n```\nnpm i -g @milo526/homebridge-tuya-web\n```\n\n## Support\n\nPlease notice that there is no official support for this plugin.  \nIf you have a question, please [start a discussion](https://github.com/milo526/homebridge-tuya-web/discussions/new).  \nIf you would like to report a bug, please [open an issue](https://github.com/milo526/homebridge-tuya-web/issues/new/choose).\n\nYou can also get community help in the [Homebridge Discord Server](https://discord.gg/kqNCe2D) or on the [Homebridge Reddit](https://www.reddit.com/r/homebridge/).\n\n<span style=\"text-align: center\">\n\n[![Homebridge Discord](https://discordapp.com/api/guilds/432663330281226270/widget.png?style=banner2)](https://discord.gg/kqNCe2D) [![Homebridge Reddit](https://raw.githubusercontent.com/homebridge/homebridge/master/.github/homebridge-reddit.svg?sanitize=true)](https://www.reddit.com/r/homebridge/)\n\n</span>\n\n# Configuration\n\n> :check: The preferred and always up-to-date way to configure this plugin is through the config UI.  \n> For details check [their documentation](https://github.com/oznu/homebridge-config-ui-x#readme).\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {\n    \"username\": \"xxxx@gmail.com\",\n    \"password\": \"xxxxxxxxxx\",\n    \"countryCode\": \"xx\",\n    \"platform\": \"tuya\"\n  }\n}\n```\n\nThe `options` has these properties:\n\n- `username` Required. The username for the account that is registered in the Android/iOS App. _Due to a bug in the API the `username` can't contain dots_.\n- `password` Required. The password for the account that is registered in the Android/iOS App.\n- `countryCode` Required. Your account [country code](https://www.countrycode.org/), e.g., 1 for the USA or 86 for China.\n- `platform` Optional. The App where you registered your account. `tuya` for Tuya Smart, `smart_life` for Smart Life, `jinvoo_smart` for Jinvoo Smart. Defaults to `tuya`. Also see _Platform_ section, below.\n- `pollingInterval` Optional. Defaults to empty, which entails no polling. The frequency in **seconds** that the plugin polls the cloud to get device updates. When you exclusively control the devices through the plugin, you can set this to a low frequency (high interval number, e.g. 1800 = 30 minutes).\n\n> :warning: Sign-in with Apple, Google, Facebook or any other provider is **not** supported and, due to limitations, will probably never be supported :warning:  \n> Please make sure your account is created using a plain old username and password combination.\n\nAll option outlines below are optional, they are useful to provide finer control on the working of the plugin.\n\n## Overruling Device Types\n\nIt is possible to override values from the default. As of now, only overruling device types is possible. See example configuration below.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"defaults\": [\n    {\n      \"id\": \"<device name or id>\",\n      \"device_type\": \"<desired device type>\"\n    }\n  ]\n}\n```\n\nThe `defaults` has these properties:\n\n- `id` The name or ID for the device that is registered in the Android/iOS App. When matching on ID, please provide the `Tuya ID` as shown during plugin boot.\n- `device_type` The `device_type` to be overruled. This can be useful for dimmers that are reported as `light` by the Tuya API and don't support hue and saturation, or for outlets that are reported as `switch`.\n\n> Note: After overriding the device type, it might appear duplicated in both HomeBridge (Accessories Tab) and the Home App. To solve this issue, go to the Homebridge settings (top right corner) and remove the device using the `Remove Single Cached Accessory` option.\n\n## Configure Devices\n\nSome devices allow for extra configuration.  \nThe easiest option is to do this through [Homebridge Config UI X](https://github.com/oznu/homebridge-config-ui-x#homebridge-config-ui-x).  \nIn the plugin settings, go to \"Device Settings\" and click on \"Add Device Settings\".  \nAdd the device ID (or name) and select the device type.  \nIf the given device type allows overwriting settings, the options will appear below.\n\n### Thermostat/Climate\n\nThese devices can have a minimum- and maximum temperature, as well as a temperature factor.\n\nThe minimum and maximum values must be entered as degrees Celsius with half degree increments; i.e. `-16`, `5`, `23`, `32.5`.  \nThis will influence the minimum and maximum temperature that you will be able to set the thermostat at in HomeKit.\n\nThe temperature factor can be used to influence the shown temperature. If HomeKit is showing an extremely high temperature, please try setting this value to `0.1`.\nThis will change the shown value from i.e. `220` to `220 * 0.1 = 22`.\nThe value entered here must be a positive decimal value i.e. `0.1`, `1`, `2.5`.\n\nIf desired, you can overwrite these devices to the temperature sensor. This will only report the current temperature and not allow you to change the temperature.\n\n## Hiding devices\n\nThere are some valid reasons why you might not want to expose certain devices to HomeKit. You might for example have another plugin active which also exposes certain Tuya devices, adding these devices to this list will prevent them from showing up multiple times.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"hiddenAccessories\": [\"<device name or id>\"]\n}\n```\n\n## Whitelisting scenes\n\nTo prevent an overload of scenes clogging up your HomeKit devices, scenes are by default not exposed to HomeKit. When you wish to add Tuya scenes to homekit, you will need to add them to the whitelist.\n\n### Add all scenes to HomeKit\n\nYou can add all your tuya scenes to HomeKit by setting the `scenes` key to `true`.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true\n}\n```\n\n### Add specific scenes to HomeKit\n\nTo add specific scenes to HomeKit, you can set the `scenes` key to true and set `scenesWhitelist` to an array in which you define either the names or IDs of the scenes that you'd wish to expose.\n\n```json\n{\n  \"platform\": \"TuyaWebPlatform\",\n  \"name\": \"TuyaWebPlatform\",\n  \"options\": {},\n  \"scenes\": true,\n  \"scenesWhitelist\": [\"Scene-id\", \"Scene-name\"]\n}\n```\n\n### Add no scenes to HomeKit\n\nTo explicitly disable scene support, set the `scenes` key to `false`.\n\n# Supported Device Types\n\nThere is currently support for the following device types within this plugin:\n\n- **Climate** - The plugin allows reading and setting the desired temperature for certain Tuya thermostats.\n- **Cover** - The plugin allows opening and closing window coverings. If preferred, the device type can be set to `garage` to expose the cover device as a garage door.\n- **Fan** - The platform supports most kinds of Tuya fans. This is partly implemented and only currently supports controlling the on/off state and speed control. The plugin lacks support for oscillation due to a Tuya limitation.\n- **Light/Dimmer** - The platform supports most types of Tuya lights. This is partly implemented and only currently supports controlling the on/off state and the brightness. This can be used with a dimmer.\n- **Scene** - Scenes support can be enabled in the config, this is disabled by default.\n- **Switch/Outlet** - The platform supports switch and outlets/sockets.\n\n# How to check whether the API this library uses can control your device?\n\n- Copy [this script](https://github.com/milo526/homebridge-tuya-web/blob/master/tools/debug_discovery.py) to your PC with Python\n  installed or to https://repl.it/\n- Set/update config inside and run it\n- Check if your devices are listed\n  - If they are - open an issue and provide the output\n  - If they are not - don't open an issue. Ask [Tuya support](mailto:support@tuya.com) to support your device in their\n    `/homeassistant` API\n- Remove the updated script, so your credentials won't leak\n\n# Determining platform for branded devices\n\nThe Tuya cloud supports different branded platforms. If your devices came with a branded app, then it is likely that your username and password are not recognized by the Tuya platform. If the app that came with your devices is not for one of the supported platforms (_tuya_, _smart_life_ or _jinvoo_smart_) your best bet is to check which of the apps for the supported platforms recognizes your devices. Unregister your device from the branded app (so that they are \"factory clean\" again) and then try re-registering them in the app for one of the supported platforms.\n\nThe device checking script above can help you to debug this.\n\n# Additional Resources\n\nIf you need more assistance regarding Plugin installation, please have a look at the following external resources:\n\n- YouTube-Video: [Tuya Geräte über Homebridge-Web steuern - Einfach & Schnell ⏰](https://www.youtube.com/watch?v=6Jhon4lWmKc) (🇩🇪)\n","readmeFilename":"README.md"}