{"_id":"@2colors/esphome-native-api","_rev":"23-6c322961f03b67ffd58ffed7b19062fd","name":"@2colors/esphome-native-api","dist-tags":{"latest":"1.3.6"},"versions":{"1.0.6":{"name":"@2colors/esphome-native-api","version":"1.0.6","keywords":["esphome","native-api","client"],"author":{"name":"D"},"_id":"@2colors/esphome-native-api@1.0.6","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"de7143e355331b1f7df1079965a70d7f68575caa","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.0.6.tgz","fileCount":31,"integrity":"sha512-ABfrYISV7ZpbfcunSr4hrhPuUHBCJOeA3NaTZ9JyraxlcEn48bHBQv9Dy//o9b7GlD4kh0I4AP6dUeq8IJ3i+Q==","signatures":[{"sig":"MEUCIQDm4ltIyrwHR8B/9iLQquGIIxCDLXj32LI9Eo6UWmZv0QIgcC7Ffbl7/uLjXFPz8jy+55E2Gzi1hmu1E/AZBjKUjS4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":827382,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj4uVOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqwKw//a+25Ncbt8ElUNCkyTafoYfHVRDHZSKPuzageeWnhO4+agX1E\r\nuUymX0DzZVU4hUrqmZRXAJsAz9Pz5wfTLpsYiK+VYJ3A6vzP5qNyFln7WxPB\r\nHWKbQtpUVgDTsA98sgzOD0XSo7ncGSV0oywKOcdDpyTOjDEvIRrGtwJ314SY\r\nqb+K0F68OVAI3aGIrmJmq2Fs4W4MkFV2L1OYtQ8HukMyJL0luUyaw+tNogNT\r\nBRVcZyioXNLurw+eDtN7OAXtCdoU9/jcdvpcHbBLgUtWTvkSWlDqtY65oozp\r\ngTIWN5UDfdY6HUoGl2LxZWOJcIs35DDFLXX5Ihx6zSgaeXjbJx58dyF6/8vc\r\nIUx2UIavHZwlqBRcx5hliC78v40emjTHUzbCWQBtrgW7KWsHrWl+otM13QqI\r\nXlY1ik5fLjLMd3XkWmbyVC2zMQUXVN7+SpCNxviRl7gFlhbQwjO3YBYxXCOq\r\n0lb8It5OSUhJTytmxYp4SbCfdvU2lhVslPC0ZcrBORymsI7v0h8R6rLdbEcX\r\nJabcsOg9nkEDO2bJtq+44TDcRq6Lbqhk03K72jE43VUDG4Eff7OoTapEaagB\r\nsOZcedw+xdzNqUkACaP3Ke38H6Vu6+pySJqNo/FdqfU6iD2hxCtRFA5lGL5C\r\np2D3/NoWZLwuvr5B6EPlaegZwJoXX70Y/VY=\r\n=3gx3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"f43e126dc17a9c9fe635e57a1d8da82f69ef83c7","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.0.6_1675814222315_0.2472773407246469","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"@2colors/esphome-native-api","version":"1.0.7","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.0.7","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"ed36526390abe8877d729233a39783ca524f4759","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.0.7.tgz","fileCount":31,"integrity":"sha512-q4CWLzwlUZCBpAR6i7QgaHU1J0in1B/WNcSoTLbVXjFBt6WNV/sKR7p/d50bqECW7EDxTB4cChjmtWRfm07F0w==","signatures":[{"sig":"MEUCIDA1Wu2qx7S5x3v/VFKRbtC8ciP8LqgNf++snw4mLowZAiEAthGh5plfOZlsXZBLuxIZ5HWLCoidldqxSo+nUL+aHJo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":827274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj5F23ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVvxAAib6dwwJrLs/nNiiigDzBplOg87YEiv605VDffNrIfKpM2ZCE\r\n8WAEVDQair3AheHVAc3Sl1tnAHtOffL7D9GDntXrXjxmf5Zo+ZvC3MMEIVhs\r\nGXNew638l4jvuhBzKCrEZj5yHLDASMEUaRAEjwEWCjM+c5j7pjTgWXRgbAfP\r\nb8TRIJgANnlTKqFj6anRJ/KcgjC3G0wz3ivmFzFBbTnkp/j0iUxYEfc1aLD/\r\n9x/BeIHDQkPp0ufO9EqU2IPWPRGreObwDVjjg37IMMOeHbmI7Wrxq86Mlu2h\r\nZvjlSuSXPDg8hi+QdV4glfIWvmm7ki4rIlmY8CYoyzxL5lgL0XFFTlP7MhBn\r\nl0FouYtWJsJSk7W5UN9SzgiyIqC+h7ufpoz0CRhPL1+TkVTQzR7LOkq25z+0\r\nAZKJnW2Rejq0T1FYnfJ5pFFj9dGF0vgik3WBbmGsfokrkqrIoCi3NnXKQ0/I\r\nEX4+vF52o/pfmlmKlgOsjuTugFkpy2zbStGqPrANGFgwHXliiBPqd3BDV9jh\r\nkMLqx99XV9vFS/Ruv1KIPTcuHczhKkAiwK6LMmlcO+ofhHhhiuYWAA+yvU01\r\n56U1y2EkzlAJTfl0WaGj7FCOWyFif0O1PGcRQhcbXZtih5LV2ybb8dr78t/C\r\nN5zAKiQaZFCvcTfirecndC95QqlpckSysWk=\r\n=mWdw\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"8e5093f7b4e2907fc2379e397135a333063d31e6","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.0.7_1675910583081_0.1831452488782912","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"@2colors/esphome-native-api","version":"1.0.8","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.0.8","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"0ad7d923b2b36f788365627b7bcd35724d247a56","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.0.8.tgz","fileCount":31,"integrity":"sha512-5SqyiRmLk3bDxLN6bNn8rdbY9P6jVxbBym/PgeQsnoMOt9pHyyCeAY5hUlc9CNZshSST4/wEzNwBVIRuC9GhJg==","signatures":[{"sig":"MEQCICLHwhCNbLIJzocQqR5RfQwvqIm4rSYF+4SISTNMXt/8AiB9HfIqJalN/DrPuk4249FKjAZZUr1Ns9U/Agn3n6OfMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":827450,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj/VSvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4IA//aR2cZuj8ULlWOaN9IgWNhpiwfC58Q8g4fSoNe5kckIbRdH4E\r\ngP8ytWHuC7dq020Mlm+OQhG8i9kFr68BWIClJHvSJmTXArx0fs6UMc69actP\r\nHHcXNgaNX7/v7mUckn9/1DwB+KX0L3mWemYYleGB+CcQp6mOtiVtLOem5lPj\r\nngJ7jdrvD6j+oSuxvCwxsJSRxWprMmh4ZSINe/Z9Z6NX2+0hk2SnioscHZBf\r\nkgrW4/XFnpuVBQz5l5cu7oj2oeZG6/kujODUyMEKW85nrankqaUKc/WmU7hR\r\nGz3ragI/pRBoiRU9o3S9h5rj7o8dmgEQpt8yAYYY8SXRGmY0WUD+m3KU0h/1\r\n/J5FATyU0938DEamfVNCKmTn/7if0LgLZF1N/xOd6Cq67A2cUOGyqCtUnT2U\r\nogTrcF+kA/JkZfGeM0YpuK+Aya3wM0j19O1wLxCERwiTW95F+4zkTsf3xU8D\r\nBOqIpNWNe5qkOHp6OGwqZwT2bvst1QcK8lqeY8vmlAS29uMFNFXBpeEtEv4o\r\nwsNjQmBbTd35VnMeuyZ+p4Vus8RahXdUwb8b/eotOoVR7NA10PmvXhW316GQ\r\nh6R3ZzDBBdcPpeqXQpxngw1L3ub9aUdEpa5wiN302kxYdJ3dLIZMR+dhLhjN\r\nKhd/1XFjixhFWUB2fJLDaYF28pjtqRVXXMI=\r\n=LeSz\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"d6589613f143e5c4725b85f861b9b7e04cda39a1","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.0.8_1677546670983_0.4107044725243798","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"@2colors/esphome-native-api","version":"1.0.9","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.0.9","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"ebb6b2e71d1f0c03f736e7c55bdf384ed57c412d","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.0.9.tgz","fileCount":31,"integrity":"sha512-590N4bRu+KtYnkF2zpseDoZ5exFIHRGjkamcz12D6bbL5jlVSW8InmUklnHVwYqSjl7OPLVCfBzSnmnxjslzOQ==","signatures":[{"sig":"MEUCIQDoQAn7zGZXtk6nMu3FeNcBPrksFvPzmNByoDhHmW2kKAIgEdwrwUIXn086+Kw9n8mZhd7vqtPkvtHKyHzxQWlZE7A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":828007,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkBbPJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpwMQ//e1zdjEjuBTP4Ujl/2F4XPQKr7rxNVx2YgTNECZILpPye7y42\r\nAfLW1r8jnmCdofFyONqaeP/jd3GMlHKRPwrL2UFoiCWOLeoqgj0dj+4HFgXL\r\nlf5T8g6MZQzhoklHe9vRxzL6B2zj1lwVDbylPEhwk5Jpsjl3wp2ddmbHzb+C\r\nhRtncGjnfTHKaOILyI7IkdYcWi0w2KTyzatf1gz/R830BOIBHt1RVCtC1ApK\r\nq615HBUDH+IgulRk4UyYbmRQvCZAu35EAdWD6/uptw7zkmF7L+7hkC9BNGs1\r\nEtbSL15FZUHzfhRf0DHoU7T/P0pHQ48V1M2jxW2/8vR57jmjVxhPB+2Is+5f\r\n5O8PC687NkYL7bx1tM/EYfazs6Cb/W+ZnFo3kp+K7MP9Cd3I2kIbVr4kq2//\r\njaQ2U+lc1nowj+919h7FTCcGD1y2Gy5uUrBHmXdoggqOLkbbEHAozI1dJlDA\r\ncMT9b6uomt7ud/5SAEaBTQmztIgvglwf9JK9lG2losi/oxEbx5WQvbFyjAgB\r\nkZqNHBF6i197/pslMz0vzRaNYDo+exETtbORgYWZOfXl1eNxCqoXHK29c1JI\r\nOSAnGeaR3V5lenXJttQ0xbGdWH8AaDTel3c+NhgsxsvovaUAYt5AUIOa7lvm\r\nuPgZ2NEnV8ddoZGWYb/4QHQ1octl2hwn/3E=\r\n=aW8O\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"5bab5be13232376ce61eee771d574fd26f0231d4","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.0.9_1678095305480_0.6602918800709769","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@2colors/esphome-native-api","version":"1.1.0","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.1.0","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"7e9ad84d556456936f22f20e7e65a67056321f2d","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.1.0.tgz","fileCount":31,"integrity":"sha512-maqHLYuvO+0eZKNlE7JRhOzJyx4LO4egxGgZHAp0o1gRScp9eQN2FyOBaXyl6u/71lkAl/ONEOIap4c7utVf+A==","signatures":[{"sig":"MEUCIQCJjxPYpbnamb25dUHTpPMfZpcjwhx7GReLLt8nlB2HgAIgRInQSVs6mSv2eNiUhurLMFb1uPVGVwUPTwRZO1GW/Zg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":854795,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIVqmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqmMg/+Jc6lOnFCF5q3Yp62OCM8sc0wGistSCoYCzIGvgUL65kCkbZl\r\nB4uoHvG9IOot9mFiaoMgySDMC1z3BOY58/2wvCgriA949dTXn6a0xjtwbokg\r\no6b0nUhstRI0/Vu6qmWsGNBFv5vjXqwQgHDBx/JMGt+WmOxte0Hqn0vq6AfZ\r\nWG8GDGILA3dxXjt5i0Lwc4hBeABnNOwMl5ZhVIW9Wv0n/jc2Sgsnbyxp4bHZ\r\nf2kJOSRb6vS3cDr6G4O2UOTTyWDKJO7Ga2RaFhESd973io58rn4/WNGM3Ywa\r\nu8DwMH0y2/prHwg7Dfa9fuyNNkWlQMOpN64Y5qA7NaMS/xXKNK/J/OuG7lif\r\n2Ew0ih7cJUbQQwWnF2ylAsca2k4kMtpQAkciXnysAmclw0m+rDvTEWlxMp+Q\r\nj91CHdiE5RzKSogTJm7a9hALP8PdnC/IyDPF6U3FkQ7blFS125XPDxU3zsJn\r\nnjLcjfjUCv8ZN9yh3qTTRT0+NSkjabyvvCdsi+JZD26aydG+HSs9+ea4yO0i\r\nxQOUov14TvmbXzZ45Lsb7r2JlT/DfbHlt95+aMZKmL/HM6itbBcDhI0sZJsk\r\nRY973dMQXQWNh8DfMcgLR686PCucW94BVZpNTp1+T5s/OPJlARrOWRwPKUjS\r\nDOpeCsaRqAA498rp+g21BZ/mrnI32piI5XI=\r\n=+15m\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"5364c1378a22c9aea47515663186df6e80348b62","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.1.0_1679907494137_0.7343860861671454","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@2colors/esphome-native-api","version":"1.1.1","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.1.1","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"5b9436cd28e0138029699bed79c280205b61db7c","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.1.1.tgz","fileCount":33,"integrity":"sha512-jHu9QTopyBNhlja8iU2Ls4ABarqXHohmFUMfz/fsrJ23pxa/OzFo0atwGNwyGxdnI19EF041thqeMN7lu7HvEw==","signatures":[{"sig":"MEYCIQCVVLepIV9rSc61/QLC9wso2vZ+cGgIAerFwXnwr6k5wQIhALdda96nNfUWyn10me/MXW9vcBHej67LfTxjZIDzdG5Q","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":879686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJVe1ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrLrxAAl7z3SbsEMvTK1c5RGyy5Tb0wmeTboShojZ4DPqeXrYCG3HTx\r\nBJJ5+QjG7Bsf2Z9fGi8pqHvLgVmJmam9R2LtuJJR5SpfpibaYOU1GspNMhSn\r\ntmEWrGfUMaqO7sutSRwqEr9yVUq0LU5xWk7T2aMiG96VYuK/gkrBa3jlT404\r\n3FtB45fm4xN/7FBJrW78XWwwfelvA7AwXBFna5Niw3bw/hT6yu/AIFgIbg8w\r\nM+kG9s5VE/RK3sSeDSq5K8t2OfrGLeVVhyiEYC11zq1nqODvg+5FTnWWh+pI\r\n5ZOE9h0d/mvBSQj3FwTTlvmENPqFwU3ZQR591mmjf2Vf8t5QDvdfQw6e5DNc\r\nD0q3jicEZo0CesBdapAFqK8kHXv0XjkjOEtf04IIzipfYiZMl/uE07nRtwbx\r\nnTQ92JlcqCGIgI/GE/a9XuCdI4JHapPAqa0h0P/lAmzezLa5tlkjpXT9P9jp\r\nnUSvGXK1RAxIg6kGvcR53R8XSqF4lyVCdTeTzvAsH8/rZweN490fgBR0ZTd3\r\nD0s0hWDu0eGcam+ObPZNkNyiUEak/AfaT1KVrHtlouFNsnPxs6P5xBzCOryE\r\nFk+MXrCslaHDkU/929P4o9k7UJjAY56iAvjQXDIHz6eg0Rmhdx+j+o2Hu7PB\r\nML5e1j2TNinj+L/p1qfv6sk9ojYzYl2OshY=\r\n=GLXP\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","gitHead":"3fb5de323be56fb05d81ed0f6a94cb9aace3dd91","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.1.1_1680168885624_0.6038356279142514","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"@2colors/esphome-native-api","version":"1.2.0","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.2.0","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"3e1592e7b7072432e7c07042e7e0713a45993970","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.2.0.tgz","fileCount":36,"integrity":"sha512-5Q1V6+HEhV6urW7oDFOMZdN0kchUGNwmdUEP/Q9xEg5yqJubTtQfU9myWefZ57oMZrS3FJn/UZq5KaGk2rPfSQ==","signatures":[{"sig":"MEQCIDSyuJZWmWd6Fnk7e8qwjeCHVu+5WnCyK6kb0uc5+2OcAiAKgI1vFTAZcD9fvtF50e80JBCOnuKkwGj1MB1ezKaI9w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":886979,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkK+6pACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpZpw/9FNBulFklVD7IPn2UZAtxK8JXiiJVm8b/IPZIPGCJXG2hAc7e\r\n+dVrfDUDqSrSiIntj/koTMMnqWOrKPOD9pq0TuokXLd+Q4zlKhIhcj9Tdctu\r\ntbLr3t4a8MCCkGNuNxVyQJsYCljvuBGkDg9u273hsIwZ4xOHlXqTcsL/dXvl\r\nlW0in6D1e1Rn2cl/Y2O264Y6ep6UAH/c4XxIfSl7zdrCo/llBXos+rkSkVas\r\nfiYxloVCf3I+j8YtWdpIV66VAOFfzK33ZNwDYhJVpkLr+fcYuf964gC9Rc7s\r\n/oWrbIxTWiAF5bPTODp6MELiFz40IP8udKAaqP4hFVr/o3GYXTyt4N/68oEN\r\nkkSuld0gTM78hR2+zLHqYh3vIrs0zECdvMfZ2eaoctYh6u9QDL2GBVDwFCbI\r\n1bo2fOBy2XqwFj/zJ6QKAKm/ZSmazmwbYMLJRk9cuJtAtd0h6tNfQvZjCrE2\r\nZGMobL7ExroZ4DWFuU+LLgBz5aJgWrB6tEt10XHwadupnKJamXzIJA70OUA1\r\n7RMyTNdvRLW5qQ+FVE1xnXdYyl2cDTuKaD7ZqdO68ER8IhasmffuvWKcjWBx\r\n/nCkcRd5zrKl5VkLXJlBtnXt/6+z1BHmGJhqpO9hagPrGy+TZZeELedz+L4x\r\nmwe393aEpGZLt+WV5xMFFBaim+NKDnIm5yw=\r\n=Qhhk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","gitHead":"8ee6ad8ecf8aa35c00e3372a081ad32749d57bc4","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.2.0_1680600745455_0.057181451736960875","host":"s3://npm-registry-packages"}},"1.2.1":{"name":"@2colors/esphome-native-api","version":"1.2.1","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.2.1","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"a4ca71b4beb1e5ed353d029531fabf4fb644bc22","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.2.1.tgz","fileCount":36,"integrity":"sha512-cuhQTqJtWbraaxjaZwl6YYrObq9eiRhpm1mfSvwFdr7l9ulepO4TfqwQmWdYmh+pa7a9Yew6Vb+/lm7MY8VQPQ==","signatures":[{"sig":"MEUCIQCgwgOJgEBp751O3MZ/dpCzN1AKRsL9u7R70z0tHngPdAIgWqs2//uEYy7PlHCkGK8XuXlakhlry+U6l92xPoHLa9A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":887024,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLFlrACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrgHw/9G2icKsg1+q7H3FUE5uDaCxLV9NNjOe5PINCVjmM06yx2rmuO\r\n5GShFl2KvzJwvtOTM8NTZXS/zj72fBu3Yevrl/n8TXWdE7VgzaSAsfPJzhpA\r\nuPlarGrQ5/PTQWgfCqGX7FHDyoTtCivBOfOBbqc/SQW3CwdzWqgaQ07zWV0r\r\nYWsB8J7i9CEX7hYLVRfpgs2KLMQ32BUuXbKyldU/O3jusE0uuFLj6cYRe3Ts\r\n5rDusrUCxGMbQdwIPZF7YmhJ1mDFrgN2Xr8t9Y94ncX4CXvclnA7V1MiDbVb\r\nXc8qO5H50fP52kX0k+gSjVXiAZQE4Rx3/jxsulUWcL+2rG6B2L7B/dODR27P\r\nLzhY3qlvF2xAk0W0ocwB/82siKg3+A3+Vg7D6xoquIl9sqsLkjH/OTwNLYq3\r\ntnVjyAli+sd8H4QlI+tkQd1oCnb4ZuTr4SjnSTbIF2IVUginJAwmMFEKlYdR\r\n4spDpov97u7v90+LH27WPlGBmNKSxdp21vTrJKohh4ltlh8RXH01GwskTHjo\r\nc1Mj9DQT9tGiQioW4xK/bsrqjDq4B0mWU17faVGMzkTw56n4Dpgq43BAntpV\r\nc/ekaPJWWnwq14NzOXVvI+h7pLJBH92rOjTcFM3zFnNqRem77vzVsbuvKMUy\r\nvoaZY8Bxe7JdlhsaYTrB/OK+Y3yBFN3zmCc=\r\n=siam\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","gitHead":"fd124ae00709d991aaf11510b6fba014eb389eb8","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.2.1_1680628075087_0.5662485697010322","host":"s3://npm-registry-packages"}},"1.2.2":{"name":"@2colors/esphome-native-api","version":"1.2.2","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.2.2","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"409293aa39122c07b950041daa065db6f89a3b1b","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.2.2.tgz","fileCount":36,"integrity":"sha512-f+jb8SPWv/NRhZv00g8ECkG+Nrapo7VTqtO3Ue84gVFGndtrqbx2rUTK+unlFvrM8F3MvGNLiTkfcKOAUdy2MA==","signatures":[{"sig":"MEUCIQDaqbIF4lRLXP+EhXQb+6mzo4BevQzAJZBd5QHx2Qj6xwIgW+B0gibQT9BgvaMvmhJ/ZtaobXSsZ4w2gYZwMzY1pYo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":887101,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLRKGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoXyw/8DPxLdNymk9blGXcmr5i2cNMI7C8P9iSRKTnSmVP/yCcLKb/U\r\nIN59UzEebaKwpxvJVLX/A9La8VAW/hLLn8vQK9xUuHYMmOUMzqvAqY+mGcX2\r\nrZHSLUaQ52Qdueys5NDw6+Q/250Dc6sNXZ7UcxNWelmZCFm55QhXi3J+/8Fi\r\n0Guhs7njbQeDlOWIjOaKkModt8IfVTOg4xE5qLu9TX2d2Eis0e/vGQN6Ufve\r\nIsj4EeOKEi01hisK5+J+vFQFfMevz9JBcWg+t6mS54cRtPdb+S2jlwnBZ22H\r\nuRJg7ilrZCne9in4KPtWObRdCZnCln/MPrUQn8hCxghlQvz3DJkOu89YTTpf\r\njBwL9tU8wyUNnGj8L8ANFZj9YMI+OejfXQbuW/ztZle/lTh+Q7j4R5FbxUij\r\n60d5LBPrafajn0CTIzFBnQV8l2hUXWCXO7AHIQ7shvyKhC/OkUNq5yXoyDkv\r\nBLP+YHFD8ZsI3oNe0ahypJ1OCziczGr5dC0s4H6mP7+g1r69KhVYC/0CehHB\r\n/VQ0T3SzUaRgL4gsJxl1UzDiiJ6TSXRC4hMEI7oYcMLMZ/XlcpoUeqdlfMc8\r\nL4qfsVHGogmCiixgM1sa6ttGSLqpIKsrQgwou4nWnoLyTBlb4n/zE48cBmV8\r\n/mxUeflpPwsymHhJusLPEF1WZak9Khs7240=\r\n=5qR3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","gitHead":"13878f1a09a0a76ac9574c9244f068563c45ad61","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.2.2_1680675462003_0.7929795597843043","host":"s3://npm-registry-packages"}},"1.2.3":{"name":"@2colors/esphome-native-api","version":"1.2.3","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.2.3","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"9bfe66ca928cd07405143661360dab148c9a96f3","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.2.3.tgz","fileCount":37,"integrity":"sha512-hMrsfss+LtrUDzD6+TqGRFHaETLf0qvhEhXiLY3rKKvO8Lna4eRM/ntte2qV7SDutWznw/5zgY6LctTwfaTzGw==","signatures":[{"sig":"MEYCIQDKyd5kRbew+W2dbGusqm0khCR049z536nYy8ydvLKc7AIhAPGzYL0OGcMzcUgS2h3QD7xA6F0MIU0QrXwEV5sBQgX8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":893370,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkL8IbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq2JBAAmNPtQmBnfFKyC2YGm+nAE79qMUWcKMQqvHGRIVTL6BrMWZqV\r\nqBl0IXbk1TSF6JGmnozQKiA2tTL0L0pmYhy1lSpLlDqHcyPap4XMcwQM4W4H\r\nNeeOBEf5YrKawsF9sHSsf/tUmiSmON0f0StUVjWIyj+AWHsB8vD2CplcccLE\r\nKksy2jf/aydPfrLkt8pghETDP0VOBG0yukvO7r1P/uwE6EOx5Xog5BFipUze\r\n3PY3UKa6VWBtdS0ItlrUg+El+CXmvx/mwa6sYyZ/luPkmYhrq2yw+Xr4fudZ\r\nkDxPmSGWSjOi8PqnokH4Lr1Y66zPgUOr3AdEvX3m8cn1HVcv6xGEPPyNhWp7\r\nQvReQAhnScgbtF4FGGt2/mInJRfTRkPkmVANKOR1Ea+SyQSlXPgWSDYXhRtk\r\nDBH5FEsQSsMp6cSbHdBVQWBZdOeWrwDTHg8JOGzwkdGPeuM+rfGQNkZvj/zo\r\nrLXdBsy8aLmV5+vjBTsZO4UhCHHbO2kjAbEnR2E4dMnFU4L9T4wBbiZw6FG+\r\nhqP0MqXPBLksghjJdKjNe8N9XwzKY5OBbac3/404vj3nbSUNlwOqBcYxs8ZX\r\nVkagP4G8I6bSApfWRPHzUfjLdkXr8NZbZvUxpRqHHe4I1rGXUI6rbMdRtdF5\r\nPzdF2mV+NWUKShSM9YLXTGhMFFec0k/BrP4=\r\n=LrjN\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","types":"./index.d.ts","gitHead":"19e5b040366838928ff59745f0531cb56b52ff41","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.2.3_1680851483184_0.6199779096456108","host":"s3://npm-registry-packages"}},"1.2.4":{"name":"@2colors/esphome-native-api","version":"1.2.4","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.2.4","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"7235e95bc7c0239eac2808418c6581b58e1ddb7d","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.2.4.tgz","fileCount":37,"integrity":"sha512-eZN6LjdG1TIy4n3Y8+gY0OxHUX6dBj89BZthisGrZ60E5dvSiNHYeOdYkXNZw5cARUmK7OxLOY9SIK28692oYQ==","signatures":[{"sig":"MEQCIGDPRPJ2tmsNqeU4CLqtM8ybZZV5nTBp0ylRwvCbUBALAiAFIzCn/tcABp7UPw9yY49b0XAsiTzdGFmCQLwax3unrA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":973586},"main":"index.js","types":"./index.d.ts","gitHead":"76e242ee17864c88c85bdd2a610e0e064600433a","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"9.5.0","description":"esphome native api client","directories":{},"_nodeVersion":"18.15.0","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.2.4_1691861131962_0.42745735936462204","host":"s3://npm-registry-packages"}},"1.2.5":{"name":"@2colors/esphome-native-api","version":"1.2.5","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.2.5","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"dist":{"shasum":"1b35418724c2dfdc6cd9a2c33e31a068a6ce01d7","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.2.5.tgz","fileCount":37,"integrity":"sha512-K11/oQOJ/n2BetziRAyHqVaGDJos8sRKoqkJKtqWAcTjd+NdVIFLvnxnqiq4TyAHCDtA04i9kO5urKAdB42fDA==","signatures":[{"sig":"MEYCIQCl9sq/6fIhC7C7LUUtRz0i1gjH34wTfi29gmI6X2HHlQIhAOecBk5ZvkzAF5JqwgsEb1FJZe8eps1PKO2X3FJg2PC0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":974269},"main":"index.js","types":"./index.d.ts","gitHead":"1e69d04e5a3f98ecd84f204a8d6cb66c44e499ac","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"9.5.0","description":"esphome native api client","directories":{},"_nodeVersion":"18.15.0","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.2.5_1698879168036_0.8468403055237865","host":"s3://npm-registry-packages"}},"1.2.6":{"name":"@2colors/esphome-native-api","version":"1.2.6","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.2.6","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"bin":{"esphome-discover":"scripts/discover.js"},"dist":{"shasum":"4ee01dad3da4812930ebbb9ae3ae07dd461a4207","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.2.6.tgz","fileCount":39,"integrity":"sha512-HNR0ylVuTvRgC321l8Y03IlK4rbpqo9mLJdWvAuCFRWl2uYtLEnXTR5FX/uBLF/W/8fHMUSgOw6kjGSpPVoZBA==","signatures":[{"sig":"MEUCIQCsLrAGjISlb/XEEcZU7UNf+npVng899+li7XnypEqPZwIgF/fpIQaiiAgcMkISRoks+aHY2i9EKvXQe1/xOzuQtkc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1011128},"main":"index.js","types":"./index.d.ts","gitHead":"802a2d6b276a382e12609661a84a4de3c5bd9ec0","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.2.6_1701326745539_0.525337211179717","host":"s3://npm-registry-packages"}},"1.2.7":{"name":"@2colors/esphome-native-api","version":"1.2.7","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.2.7","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"bin":{"esphome-discover":"scripts/discover.js"},"dist":{"shasum":"e3678410f26f3259f89023f44d051d66b6c20395","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.2.7.tgz","fileCount":39,"integrity":"sha512-E3sr2TTn+zE3fpG59HsIru+G0Z6tyd7ZL00u43o9btMsk/++L+zCYUg3ZvfIoOHItFZhk797nNitF6lj3iQvwQ==","signatures":[{"sig":"MEUCICdSDEGV6ymTLhQsdpsFbr9klP1YMdh25WHOFHn3e0CVAiEA7e0F+Zg8vD+XLHqbkPIyodt5NnSBw5iVvTBmFhBDdIM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1011281},"main":"index.js","types":"./index.d.ts","gitHead":"ffb417d99db0540a4982dc2bcb115c2927156f93","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.1","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.2.7_1701759357748_0.8669415832929772","host":"s3://npm-registry-packages"}},"1.2.8":{"name":"@2colors/esphome-native-api","version":"1.2.8","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.2.8","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"bin":{"esphome-discover":"scripts/discover.js"},"dist":{"shasum":"f6b4bb75a8300d134155ad8837c3868d729cdeec","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.2.8.tgz","fileCount":39,"integrity":"sha512-2aVCUPfnj+l/tjHrr/ZL9zALinN69aJxM05jOrdjHqb+0N25eRgCCPGTZLrytUdSMOwSL/1nqKcrBlqC7TVopQ==","signatures":[{"sig":"MEQCIFddjpbjxnUsxWU2dW3ilkP8TNH1Qoiq3J19CiIWVFIgAiAvNvGhZL/a0z6cpXvUetaq1REDOLnfDI67XQ6wZeqoMw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1011806},"main":"index.js","types":"./index.d.ts","gitHead":"faa7a29a8c986d2abcb4c8a60a516884dd91f5d6","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"9.5.0","description":"esphome native api client","directories":{},"_nodeVersion":"18.15.0","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.2.8_1702325728198_0.0879124041556627","host":"s3://npm-registry-packages"}},"1.2.9":{"name":"@2colors/esphome-native-api","version":"1.2.9","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.2.9","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"bin":{"esphome-discover":"scripts/discover.js"},"dist":{"shasum":"a21c5335c12fa32a3e994459f15f96cef760f2a1","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.2.9.tgz","fileCount":39,"integrity":"sha512-rhp7nFSBkQwjYED1EDEUvu5v+pKsyXA90Hnatkw9N//BYIcNX35jwTFFIi37W5voW9VMCWD8GY2d1mwSIrb+hA==","signatures":[{"sig":"MEUCIDGL6NDX1HxYD2C2n+dgO+uMuwbXvz7OeaXLOlgAqXXkAiEAx2EkIK2YHd7TC838InsYvfyAHUBIrzM72ejXpZnjLQg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1011995},"main":"index.js","types":"./index.d.ts","gitHead":"15fbf0f1c7d95f2521b67ca52d745ea5dcd03475","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"9.5.0","description":"esphome native api client","directories":{},"_nodeVersion":"18.15.0","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.2.9_1703942121695_0.07793894049179739","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"@2colors/esphome-native-api","version":"1.3.0","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.3.0","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"bin":{"esphome-discover":"scripts/discover.js"},"dist":{"shasum":"a89a9523278e7d6bf57b8eaf49241d7489cfeb7c","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.3.0.tgz","fileCount":39,"integrity":"sha512-32Czx93guPOe0tCOad4ugXh544SY7zydKg/K7/qtNRnnSFD1669qUE2/mZwT7CV3Vqoq69dpwdOm9hURRgIeEg==","signatures":[{"sig":"MEUCIQCalPDB916hmXDy+Vr9X3IfK4qxWBpq28EGuAcKUurJ1AIgTCGs1ikRs7wJr1UJyGC35i5OkXxysPvoNL7GdPY84rA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1011736},"main":"index.js","types":"./index.d.ts","gitHead":"8c808daad8af8a1f93aa99c72a20bc1290b0535d","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"9.5.0","description":"esphome native api client","directories":{},"_nodeVersion":"18.15.0","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.3.0_1704637086954_0.38399050367119636","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"@2colors/esphome-native-api","version":"1.3.1","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.3.1","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"bin":{"esphome-discover":"scripts/discover.js"},"dist":{"shasum":"9e7914dd5422b027735500fcac9e5fc03f74abb8","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.3.1.tgz","fileCount":39,"integrity":"sha512-jDhL+31DCY2oY2s70QlRavdIIPtrIvDJlrvQsZPFxt9ORezGlgRc2lwRLGBrsxFPwoBPFm64cTX4FmpVmKB6VQ==","signatures":[{"sig":"MEUCIClVKQSd5SJRA4y23g3gij/d8k9EKfvnoxfZS8t+OZR3AiEArUmMNyiA502vfCvE/z2Ccs4I18nH4F7sVH5A4TlTXmM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1012243},"main":"index.js","types":"./index.d.ts","gitHead":"7c179f9e7729044110680010f204588c52d09247","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.19.2","description":"esphome native api client","directories":{},"_nodeVersion":"18.12.0","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.3.1_1710834212870_0.6877716104329621","host":"s3://npm-registry-packages"}},"1.3.2":{"name":"@2colors/esphome-native-api","version":"1.3.2","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.3.2","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"bin":{"esphome-discover":"scripts/discover.js"},"dist":{"shasum":"c52182245134be4289dab676b4e7f1273729d896","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.3.2.tgz","fileCount":39,"integrity":"sha512-TSQ7o6uBNoBT/N2diToUUeRYZQPzRhtwZvWMhbV58RULrP8RJOwI5WI5dmJ3KitywUoJjsSIek//qZjaUqhapg==","signatures":[{"sig":"MEUCIC8+rI0eE3nuWiORX/P4ClYPqksJZcCiJKKOgAqSHI28AiEA9AnHMTCgv1ustgPv2KVD9n0C0ekdBOCuAwRIvOfi73E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1012566},"main":"index.js","types":"./index.d.ts","gitHead":"98cee5255bac59e62a5b8ddf34b458ef803907eb","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"8.18.0","description":"esphome native api client","directories":{},"_nodeVersion":"18.7.0","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.3.2_1721045523095_0.9016688650769014","host":"s3://npm-registry-packages"}},"1.3.3":{"name":"@2colors/esphome-native-api","version":"1.3.3","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.3.3","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"bin":{"esphome-discover":"scripts/discover.js"},"dist":{"shasum":"7a7746cdc93f73ea6dc390af2bab46b09e542713","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.3.3.tgz","fileCount":39,"integrity":"sha512-K//SaAn6LQM2Yn0/ZN+XvpSh0JtTMXb65p0h4DdetAAGqozKeN8fND/5Hw3d90VmSgWlJF6itw60nRUQvLqv7A==","signatures":[{"sig":"MEQCIHRHYdbJ7mwjueOqopYNcBKgOVOyB7gi92i1+UOghv7tAiAi9wwk+1oWFeZFHk4xZK8oteIKOwM5CbzvRHyRGHb5MA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1012897},"main":"index.js","types":"./index.d.ts","gitHead":"eb979a2b6e53cab7203c653ee953692c406a54c6","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"10.9.2","description":"esphome native api client","directories":{},"_nodeVersion":"22.16.0","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^3.21.2","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.3.3_1758015292505_0.016671310452386123","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@2colors/esphome-native-api","version":"1.3.4","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.3.4","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"bin":{"esphome-discover":"scripts/discover.js"},"dist":{"shasum":"a3d13606d3fa9f4b1f836801bc8305b2de4684d5","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.3.4.tgz","fileCount":39,"integrity":"sha512-6w1thuH4XCgWf9XXqbhFJoXiSgeMueNLTrck/ELPU/qL7HrOquUM3gDt/OwlZT+7Thm/sxsOcQxQov5PUVUcBA==","signatures":[{"sig":"MEUCIEYhyxjf2V4oDdIbd0dW0PMjSTkXPL5ne2m3f/6GEMBoAiEA3gdVjMb27qHsVcmz2uuBkHOIFHDjUFrTRujTmt/4hcQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1370584},"main":"index.js","types":"./index.d.ts","gitHead":"555d25db99d1ae762c2b3f7f4c911b6cf7a1c5b7","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"10.9.2","description":"esphome native api client","directories":{},"_nodeVersion":"22.16.0","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^4.0.0","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.3.4_1760990753081_0.16099302905688417","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@2colors/esphome-native-api","version":"1.3.5","keywords":["esphome","native-api","client"],"author":{"name":"D"},"license":"MIT","_id":"@2colors/esphome-native-api@1.3.5","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"homepage":"https://github.com/twocolors/esphome-native-api#readme","bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"bin":{"esphome-discover":"scripts/discover.js"},"dist":{"shasum":"b3cd68b11deaed89d40595256b0e3639f785c358","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.3.5.tgz","fileCount":39,"integrity":"sha512-aYRRbot7UAceFdeWRsQ5adNaNTyOj5oxhOtG6vdKTmltPx3FwN4/n6sH0Sjwlcnq0S+p6dCL3kV3xFZG3qwFEA==","signatures":[{"sig":"MEQCIDptQQpdOJy19e8XxYXz+hc8W/wbmBZWS7q9mNpUZEwAAiAY43TIAUiAhMoaG7hw8xo1IUjq5aNOJ/1t5eVyHkqpXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1370659},"main":"index.js","types":"./index.d.ts","gitHead":"1d8c1984e6fb7d3db0fb64e26e83a011376274e0","scripts":{"test":"echo \"Test passed\""},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"repository":{"url":"git+https://github.com/twocolors/esphome-native-api.git","type":"git"},"_npmVersion":"10.9.2","description":"esphome native api client","directories":{},"_nodeVersion":"22.16.0","dependencies":{"multicast-dns":"^7.2.5","google-protobuf":"^4.0.0","@richardhopton/noise-c.wasm":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/esphome-native-api_1.3.5_1762378293898_0.15233841010153948","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"name":"@2colors/esphome-native-api","version":"1.3.6","license":"MIT","description":"esphome native api client","main":"index.js","scripts":{"test":"echo \"Test passed\""},"repository":{"type":"git","url":"git+https://github.com/twocolors/esphome-native-api.git"},"keywords":["esphome","native-api","client"],"author":{"name":"D"},"bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"homepage":"https://github.com/twocolors/esphome-native-api#readme","dependencies":{"@richardhopton/noise-c.wasm":"^0.5.0","google-protobuf":"^4.0.0","multicast-dns":"^7.2.5"},"bin":{"esphome-discover":"scripts/discover.js"},"_id":"@2colors/esphome-native-api@1.3.6","gitHead":"98231205eb556c60002215e33bcc327cb1eac986","types":"./index.d.ts","_nodeVersion":"22.16.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-UnWullIsfmF5txBcgZOKIpAV4ip3Kei+to7YakYX4z1I2mJrYXh91nmhgxH8aIQkqOF0tZDdpuDbRnSb/v68dQ==","shasum":"3b8dc146bca0ffae27dbf8fc9b28b96b2066a4f4","tarball":"https://registry.npmjs.org/@2colors/esphome-native-api/-/esphome-native-api-1.3.6.tgz","fileCount":39,"unpackedSize":1380130,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCK7V4CjekqP1RZLypRbFYOFmG1aEPEFmNFZwaupqpKUAIhAODA8dewgo89sgYJtZFTqI9Q/3BjySZrNpxhDcHffTeU"}]},"_npmUser":{"name":"2colors","email":"dmitry@yashin.su"},"directories":{},"maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/esphome-native-api_1.3.6_1771878401882_0.4141312004393769"},"_hasShrinkwrap":false}},"time":{"created":"2023-02-07T23:57:02.265Z","modified":"2026-02-23T20:26:42.190Z","1.0.6":"2023-02-07T23:57:02.564Z","1.0.7":"2023-02-09T02:43:03.269Z","1.0.8":"2023-02-28T01:11:11.154Z","1.0.9":"2023-03-06T09:35:05.652Z","1.1.0":"2023-03-27T08:58:14.292Z","1.1.1":"2023-03-30T09:34:45.776Z","1.2.0":"2023-04-04T09:32:25.642Z","1.2.1":"2023-04-04T17:07:55.348Z","1.2.2":"2023-04-05T06:17:42.175Z","1.2.3":"2023-04-07T07:11:23.442Z","1.2.4":"2023-08-12T17:25:32.154Z","1.2.5":"2023-11-01T22:52:48.212Z","1.2.6":"2023-11-30T06:45:45.779Z","1.2.7":"2023-12-05T06:55:57.986Z","1.2.8":"2023-12-11T20:15:28.384Z","1.2.9":"2023-12-30T13:15:21.899Z","1.3.0":"2024-01-07T14:18:07.145Z","1.3.1":"2024-03-19T07:43:33.114Z","1.3.2":"2024-07-15T12:12:03.254Z","1.3.3":"2025-09-16T09:34:52.711Z","1.3.4":"2025-10-20T20:05:53.287Z","1.3.5":"2025-11-05T21:31:34.116Z","1.3.6":"2026-02-23T20:26:42.076Z"},"bugs":{"url":"https://github.com/twocolors/esphome-native-api.git"},"author":{"name":"D"},"license":"MIT","homepage":"https://github.com/twocolors/esphome-native-api#readme","keywords":["esphome","native-api","client"],"repository":{"type":"git","url":"git+https://github.com/twocolors/esphome-native-api.git"},"description":"esphome native api client","maintainers":[{"name":"2colors","email":"dmitry@yashin.su"}],"readme":"# Esphome native api\nThis library implements client for [Esphome Native APi](https://esphome.io/components/api.html).\n\n#### This library rewrite for [node-red-contrib-esphome](https://flows.nodered.org/node/node-red-contrib-esphome), original library [esphome-native-api](https://github.com/Nafaya/esphome-native-api) by @Nafaya\n\n## Installation\n\n```bash\n$ npm i @2colors/esphome-native-api\n```\n## Synopsis\n### Device info and list entities\n```javascript\nconst { Client } = require('@2colors/esphome-native-api');\nconst client = new Client({\n    host: '<esp host or ip>',\n    port: 6053,\n    // encryptionKey: '', // Use encryption key\n    // password: '', // Insert password if you have any (Deprecated)\n});\n\nclient.connect();\n\nclient.on('deviceInfo', deviceInfo => {\n    console.log('Device info:', deviceInfo);\n});\n\nclient.on('newEntity', entity => {\n    console.log('New entity:', entity);\n\n    // enable light\n    if (entity.type === 'Light') {\n        entity.setState(true);\n    }\n\n    // show state\n    entity.on('state', (state) => console.log(state));\n});\n\nclient.on('error', (error) => console.log(error));\n```\n\n### Discovery\n```javascript\nconst { Discovery } = require('@2colors/esphome-native-api');\nDiscovery().then(results => {\n    console.log(results);\n    /*\n    [\n        {\n            port: 6053,\n            network: 'wifi',\n            board: 'esp01_1m',\n            platform: 'ESP8266',\n            mac: 'c82b965b4153',\n            version: '2023.11.4',\n            host: 'bathroom-light.local',\n            address: '192.168.0.119'\n        }\n    ]\n    */\n});\n```\n\n```javascript\nconst { Discovery } = require('@2colors/esphome-native-api');\nconst discovery = new Discovery();\ndiscovery.on('info', console.log);\n/*\n{\n    port: 6053,\n    network: 'wifi',\n    board: 'esp01_1m',\n    platform: 'ESP8266',\n    mac: 'c82b965b4153',\n    version: '2023.11.4',\n    host: 'bathroom-light.local',\n    address: '192.168.0.119'\n}\n*/\ndiscovery.run();\n```\n\n### Logging\n```javascript\nconst { Client } = require('@2colors/esphome-native-api');\nconst client = new Client({\n    host: '<esp host or ip>',\n    port: 6053,\n    initializeSubscribeLogs: true\n});\nclient.on('logs', ({ message }) => {\n    console.log(message);\n});\n```\n\n### User-defined services (Synopsis)\n[User-defined services](https://esphome.io/components/api.html#user-defined-services) let an ESPHome device expose custom callable functions.\nUse `listEntitiesService()` to discover them and `executeServiceService()` to invoke them.\n\n```javascript\nconst { Connection, ServiceArgType } = require('@2colors/esphome-native-api');\n\nconst connection = new Connection({\n    host: '<esp host or ip>',\n    port: 6053,\n});\n\nconnection.connect();\n\nconnection.on('authorized', async () => {\n    // Discover all entities, including user-defined services\n    const entities = await connection.listEntitiesService();\n\n    const services = entities\n        .filter(e => e.component === 'Services')\n        .map(e => e.entity);\n    console.log('User-defined services:', services);\n    /*\n    [\n        {\n            name: 'my_service',\n            key: 1234567890,\n            argsList: [\n                { name: 'brightness', type: 1 },  // ServiceArgType.Int\n                { name: 'message',    type: 3 }   // ServiceArgType.String\n            ]\n        }\n    ]\n    */\n\n    // Call a user-defined service by key with typed arguments\n    connection.executeServiceService({\n        key: services[0].key,\n        args: [\n            { type: ServiceArgType.Int,    value: 100      },\n            { type: ServiceArgType.String, value: 'hello'  },\n        ],\n    });\n});\n```\n\n## Documantation\n\n### Discovery\n\n#### !!! Importan, if you want use on Windows must disable/uninstall Bonjour (Apple) !!!\n\n```javascript\nconst { Discovery } = require('@2colors/esphome-native-api');\nconst discovery = new Discovery(options);\n```\n\n- `options` - optional\n- `multicast` - optional. Default - `true`. Use udp multicasting\n- `interface` - optional. Explicitly specify a network interface. defaults to all\n- `port` - optional. Default - `5353`. Set the udp port\n- `ip` - optional. Default - `224.0.0.251`. Set the udp ip\n- `ttl` - optional. Default - `255`. Set the multicast ttl\n- `loopback` - optional. Default - `true`. Receive your own packets\n- `reuseAddr` - optional. Default - `true`. Set the reuseAddr option when creating the socket (requires node >=0.11.13)\n- `bind` - optional. for work `interface` read [more](https://github.com/mafintosh/multicast-dns/issues/53#issuecomment-638365104)\n\n```javascript\nconst { Discovery } = require('@2colors/esphome-native-api');\nDiscovery(options).then(console.log)\n```\n\n- `options` - optional\n- `timeout` - optional. Default - `5`. Time in seconds how long to wait for responses\n- `*` - all options above\n\n### Client\nMore frienly layer over the [Connection](#Connection)\n```javascript\nconst { Client } = require('@2colors/esphome-native-api');\nconst client = new Client({\n    clearSession = false,\n    initializeDeviceInfo = true,\n    initializeListEntities = true,\n    initializeSubscribeStates = true,\n    initializeSubscribeLogs = false,\n    initializeSubscribeBLEAdvertisements = false,\n    port = 6053,\n    host,\n    clientInfo = 'esphomenativeapi',\n    encryptionKey = '',\n    password = '', // Deprecated\n    reconnect = true,\n    reconnectInterval = 30000,\n    pingInterval = 15000,\n    pingAttempts = 3\n});\n```\n\n- `host` - (REQUIRED). Host or ip to connect to\n- `port` - optional.  Default - `6053`. Port to connect to\n- `encryptionKey` - encryption Key. Default - `''`. The pre-shared key for the encryption. This is a 32-byte base64 encoded string\n- `password` - passsword (Deprecated). Default - `''`. Password used to authorized the client, It is recommended to use the encryptionKey\n- `reconnect` - optional. Default - `true`. indicates wheter reconnect automatically or not\n- `reconnectInterval` - optional. Default - `30000`. Number. Amount of miliseconds to wait before new try\n- `clearSession` - optional. Default - `true`. Set `true` to forget any information after reconnection\n- `initializeDeviceInfo` - optional. Default - `true`. Set `true` to retrieve device info after connection is established\n- `initializeListEntities` - optional. Default - `true`. Set `true` to retrieve list of device's entities after connection is established\n- `initializeSubscribeStates` - optional. Default - `true`\n- `initializeSubscribeLogs` - optional. Default - `false`\n- `initializeSubscribeBLEAdvertisements` - optional. Default - `false`\n- `clientInfo` - string, name of client to be sent to esphome device. (Not necessary to send but nice for debugging issues)\n- `clientInfo` - string, name of client to be sent to esphome device. Usually needed only for tracking connection on esphome device. See [Connection](#Connection)\n- `pingInterval` - optional. Default - `15000`. Ping interval. Amount of miliseconds. See [Connection](#Connection)\n- `pingAttempts` - optional. Default - `3`. Number of failed ping attempts after witch connection is considered to be corrupted. See [Connection](#Connection)\n\n\n### Client methods and attributes\n- `connect()` - starts client\n- `disconnect()` - srops client\n- `connected` - indicates if client is connected to esphome and autorized\n- `initialized` - indicates if client is connected and autorized and all initialization step are done\n- `entities` - array of discovered [entities](#Entities)\n- `connection` - connection instance\n\n### Client events\n- `connected` - emmited if client is connected to esphome and autorized\n- `disconnected` - emmited when connection is corrupted\n- `initialized` - emmited if client is connected and autorized and all initialization step are done\n- `deviceInfo` - emmited when deviceInfo is retrieved or updated. Activated with `initializeDeviceInfo` options passed to `Client`'s constructor.\n- `newEntity` - emmited when new entity is discovered. Activated with `initializeListEntities` options passed to `Client`'s constructor. First argument is instance of one of [entities](#Entities) class\n- `logs` - emmited when esphome send any logs. Activated with `initializeSubscribeLogs` options passed to `Client`'s constructor. First argument is object with `level`, `tag`, `message`, `send_failed`\n- `ble` - emmited when esphome send any BLE Advertisements. Activated with `initializeSubscribeBLEAdvertisements` options passed to `Client`'s constructor. First argument is object with `address`, `name`, `rssi`, `serviceUuidsList`, `serviceDataList`, `manufacturerDataList`, `addressType`\n- `error` - emitted when any error occurs\n\n### Entities\nEach entity class defines individual interaction with esphome components.\nAll entities have\n- `config` attrubute - entity configuration receved from esphome\n- `state` event when new state is received\n- `state` attribute\n- `destroyed` event which is called when corresponfing client is no longer connection to this entity(See `clearSession` option) and\n- `type` attribute equal to component type\n- `name` attribute equal to name of entity\n\n\n#### Binary sensor\nOnly base functionality\n#### Button\n- `static commandService(connection, { key })`\n    - `key` - REQUIRED. key/id of entity\n#### Camera\n#### Climate\n- `static commandService(connection, { key, mode, targetTemperature, targetTemperatureLow, targetTemperatureHigh, away, fanMode, swingMode })` - sends command to climate entity\n    - `key` - REQUIRED. key/id of entity\n    - `mode` - optional. 0 - OFF, 1 - AUTO, 2 - COOL, 3 - HEAT, 4 - FAN_ONLY, 5 - DRY.  See `supportedModesList` attr in config\n    - `targetTemperature`- optional. float\n    - `targetTemperatureLow`- optional. float\n    - `targetTemperatureHigh`- optional. float\n    - `legacyAway` - optional. Boolean. Deprecated: use `preset` with AWAY\n    - `fanMode` - optional. 0 - ON, 1 - OFF, 2 - AUTO, 3 - LOW, 4 - MEDIUM, 5 - HIGH, 6 - MIDDLE, 7 - FOCUS, 8 - DIFFUSE, 9 - QUIET. See `supportedFanModesList` attr in config\n    - `swingMode` - optional. 0 - OFF, 1 - BOTH, 2 - VERTICAL, 3 - HORIZONTAL. See `supportedSwingModesList` attr in config\n    - `customFanMode` - optional. string. See `supportedCustomFanModesList` attr in config\n    - `preset` - optional. 0 - NONE, 1 - HOME, 2 - AWAY, 3 - BOOST, 4 - COMFORT, 5 - ECO, 6 - SLEEP, 7 - ACTIVITY. See `supportedPresetsList` attr in config\n    - `customPreset` - optional. string. See `supportedCustomPresetsList` attr in config\n#### Cover\n- `static commandService(connection, { key, legacyCommand, position, tilt, stop })` - sends command to cover entity.\n    - `key` - REQUIRED. key/id of entity\n    - `legacyCommand` - optional. 0 - OPEN, 1 - CLOSE, 2 - STOP. Deprecated: use `position`\n    - `position` - optional. float. 0.0 - CLOSED, 1.0 - OPEN. See `supportsPosition` attr in config\n    - `tilt` - optional. float. 0.0 - CLOSED, 1.0 - OPEN. See `supportsTilt` attr in config\n    - `stop` - optional. boolean\n#### Fan\n- `static commandService(connection, { key, state, speed, oscillating, direction, speedLevel })` - sends command to fan entity.\n    - `key` - REQUIRED. key/id of entity\n    - `state` - optional. boolean\n    - `speed` - optional. 0 - LOW, 1 - MEDIUM, 2 - HIGH\n    - `oscillating` - optional. boolean\n    - `direction` - optional. 0 - FORWARD, 1 - REVERSE\n    - `speedLevel` - optional. integer. See `supportedSpeedLevels` attr in config\n#### Light\n- `static commandService(connection, { key, state, brightness, red, green, blue, colorMode, colorBrightness, white, colorTemperature, coldWhite, warmWhite, transitionLength, flashLength, effect })` - sends command to light entity.\n    - `key` - REQUIRED. key/id of entity\n    - `state` - optional. boolean\n    - `brightness` - optional. float\n    - `red` - optional. integer 0-255\n    - `green` - optional. integer 0-255\n    - `blue` - optional. integer 0-255\n    - `colorMode` - optional. integer. See `supportedColorModesList` attr in config\n    - `colorBrightness` - optional. float\n    - `white` - optional. integer 0-255\n    - `colorTemperature` - optional. integer\n    - `coldWhite` - optional. float\n    - `warmWhite` - optional. float\n    - `flashLength` - optional. integer\n    - `effect` - optional. string. effect from effects array in config list\n#### Lock\n- `static commandService(connection, { key, command, code }` - sends command to lock entity.\n    - `key` - REQUIRED. key/id of entity\n    - `command` - REQUIRED. 0 - UNLOCK, 1 - LOCK, 2 - OPEN\n    - `code` - optional. string. See `requiresCode` attr in config\n#### MediaPlayer\n- `static commandService(connection, { key, command, volume, mediaUrl }` - sends command to mediaplayer entity.\n    - `key` - REQUIRED. key/id of entity\n    - `command` - REQUIRED. 0 - MEDIA_PLAYER_COMMAND_PLAY, 1 - MEDIA_PLAYER_COMMAND_PAUSE, 2 - MEDIA_PLAYER_COMMAND_STOP, 3 - MEDIA_PLAYER_COMMAND_MUTE, 4 - MEDIA_PLAYER_COMMAND_UNMUTE\n    - `volume` - optional. float\n    - `mediaUrl` - optional. string\n#### Number\n- `static commandService(connection, { key, state })` - sends command to number entity.\n    - `key` - REQUIRED. key/id of entity\n    - `state` - REQUIRED. float. See `minValue`, `maxValue`, and `step` attrs in config\n#### Select\n- `static commandService(connection, { key, state })` - sends command to select entity.\n    - `key` - REQUIRED. key/id of entity\n    - `state` - REQUIRED. string. See `optionsList` attr in config\n#### Sensor\nOnly base functionality\n#### Siren\n- `static commandService(connection, { key, state, tone, duration, volume })` - sends command to siren entity.\n    - `key` - REQUIRED. key/id of entity\n    - `state` - REQUIRED. boolean\n    - `tone` - optional. string. See `tonesList` attr in config\n    - `duration` - optional. integer. See `supportsDuration` attr in config\n    - `volume` - optional. integer. See `supportsVolume` attr in config\n#### Switch\n- `static commandService(connection, { key, state })` - sends command to switch entity.\n    - `key` - REQUIRED. key/id of entity\n    - `state` - REQUIRED. boolean\n#### TextSensor\nOnly base functionality\n#### Text\n- `static commandService(connection, { key, state })` - sends command to text entity.\n    - `key` - REQUIRED. key/id of entity\n    - `state` - REQUIRED. string. See `minLength`, `maxLength` attrs in config\n\n\n### User-defined Services\n[User-defined services](https://esphome.io/components/api.html#user-defined-services) are custom callable functions declared in the ESPHome device's YAML configuration. They are discovered automatically when you call `listEntitiesService()` and are invoked with `executeServiceService()`.\n\n#### ServiceArgType\nThe `ServiceArgType` export maps argument type names to the numeric values used in the protocol:\n\n| Name          | Value | Description           |\n|---------------|-------|-----------------------|\n| `Bool`        | 0     | Single boolean        |\n| `Int`         | 1     | Single integer        |\n| `Float`       | 2     | Single float          |\n| `String`      | 3     | Single string         |\n| `BoolArray`   | 4     | Array of booleans     |\n| `IntArray`    | 5     | Array of integers     |\n| `FloatArray`  | 6     | Array of floats       |\n| `StringArray` | 7     | Array of strings      |\n\n```javascript\nconst { ServiceArgType } = require('@2colors/esphome-native-api');\n```\n\n#### Discovering services with `listEntitiesService()`\nServices are returned alongside regular entities. Filter by `component === 'Services'` to get only service definitions:\n\n```javascript\nconst entities = await connection.listEntitiesService();\nconst services = entities\n    .filter(e => e.component === 'Services')\n    .map(e => e.entity);\n/*\n[\n    {\n        name: 'my_service',\n        key: 1234567890,\n        argsList: [\n            { name: 'brightness', type: 1 },  // ServiceArgType.Int\n            { name: 'enable',     type: 0 }   // ServiceArgType.Bool\n        ]\n    }\n]\n*/\n```\n\nEach service entry has:\n- `name` - string. The service name as declared in ESPHome YAML\n- `key` - number. Unique key used to invoke the service\n- `argsList` - array of `{ name: string, type: ServiceArgType }` argument descriptors\n\n#### Executing a service with `executeServiceService(data)`\n`connection.executeServiceService({ key, args })`\n\n- `key` - REQUIRED. number. The service `key` from the discovery response\n- `args` - optional. Array of `{ type: ServiceArgType, value }` objects, one per argument in the order declared by `argsList`\n\n```javascript\nconst { Connection, ServiceArgType } = require('@2colors/esphome-native-api');\n\nconnection.executeServiceService({\n    key: 1234567890,\n    args: [\n        { type: ServiceArgType.Int,    value: 100     },\n        { type: ServiceArgType.Bool,   value: true    },\n        { type: ServiceArgType.String, value: 'hello' },\n    ],\n});\n```\n\n#### Listening for service definitions\nYou can also react to service definitions as they arrive using the connection event:\n\n```javascript\nconnection.on('message.ListEntitiesServicesResponse', (service) => {\n    console.log('Service discovered:', service.name, 'key:', service.key);\n});\n```\n\n\n### Connection\n```javascript\nconst { Connection } = require('@2colors/esphome-native-api');\nconst connection = new Connection({\n    port = 6053,\n    host,\n    clientInfo = 'esphomenativeapi',\n    encryptionKey = '',\n    password = '', // Deprecated\n    reconnect = true,\n    reconnectInterval = 30000,\n    pingInterval = 15000,\n    pingAttempts = 3\n});\n```\n- `host` - (REQUIRED). Host or ip to connect to.\n- `port` - optional.  Default - `6053`. Port to connect to.\n- `encryptionKey` - encryption Key. Default - `''`. The pre-shared key for the encryption. This is a 32-byte base64 encoded string\n- `password` - passsword (Deprecated). Default - `''`. Password used to authorized the client, It is recommended to use the encryptionKey\n- `reconnect` - optional. Default - `true`. indicates wheter reconnect automatically or not\n- `reconnectInterval` - optional. Default - `30000`. Number. Amount of miliseconds to wait before new try\n- `clientInfo` - string, name of client to be sent to esphome device. (Not necessary to send but nice for debugging issues)\n- `clientInfo` - string, name of client to be sent to esphome device. Usually needed only for tracking connection on esphome device.\n- `pingInterval` - optional. Default - `15000`. Ping interval. Amount of miliseconds.\n- `pingAttempts` - optional. Default - `3`. Number of failed ping attempts after witch connection is considered to be corrupted.\n\n#### Methods and attributes\n- `connected` - `true` if client is introduced to esphome device\n- `authorized` - `true` if client is logged in esphome device\n- `connect()` - do connection try\n- `disconnect()` - close connection\n- `async deviceInfoService()` - subsribes to entities state changes. Returns device info object\n- `async getTimeService()` - subsribes to entities state changes. Returns time object\n- `async listEntitiesService()` - subsribes to entities state changes. Returns entities list\n- `subscribeStatesService()` - subsribes to entities state changes\n- `subscribeLogsService(level = 5, dumpConfig = false)` - subsribes to logs.\n    - `level` - logs level. 0 - NONE, 1 - ERROR, 2 - WARN, 3 - INFO, 4 - DEBUG, 5 - DEBUG, 6 - VERBOSE, 7 - VERY_VERBOSE\n    - `dumpConfig`\n- `cameraImageService(single = true, stream = false)` - requests camera image.\n    - `single`\n    - `stream`\n- `subscribeBluetoothAdvertisementService()` - subsribes to bluetooth advertisement state changes\n- `unsubscribeBluetoothAdvertisementService()` - unsubsribes to bluetooth advertisement state changes\n- `async connectBluetoothDeviceService(address = int, addressType = int, useCache = boolean)` - connect to connectable BLE device\n- `async disconnectBluetoothDeviceService(address = int)` - disconnect to connectable BLE device\n- `async listBluetoothGATTServicesService(address = int)` - MUST be connected to BLE device, BLE list GATT services\n- `async readBluetoothGATTCharacteristicService(address = int, handle)` - MUST be connected to BLE device, BLE list GATT Characteristic services\n- `async writeBluetoothGATTCharacteristicService(address = int, handle, someUint8Array, response = false)` - MUST be connected to BLE device, BLE write GATT Characteristic more [pull/10](https://github.com/twocolors/esphome-native-api/pull/10)\n- `async notifyBluetoothGATTCharacteristicService(address = int, handle)` - MUST be connected to BLE device, BLE notify GATT Characteristic\n- `async readBluetoothGATTDescriptorService(address = int, handle)` - MUST be connected to BLE device, BLE list GATT Descriptor\n- `async writeBluetoothGATTDescriptorService(address = int, handle, someUint8Array)` - MUST be connected to BLE device, BLE write GATT Descriptor\n- `<entityType>CommandService(data)` - sends command to the specified entity. See `static commandService` in the Entity classes\n    - `buttonCommandService(data)`\n    - `climateCommandService(data)`\n    - `coverCommandService(data)`\n    - `fanCommandService(data)`\n    - `lightCommandService(data)`\n    - `lockCommandService(data)`\n    - `numberCommandService(data)`\n    - `textCommandService(data)`\n    - `selectCommandService(data)`\n    - `sirenCommandService(data)`\n    - `switchCommandService(data)`\n    - `mediaplayerCommandService(data)`\n- `executeServiceService({ key, args })` - executes a [user-defined service](https://esphome.io/components/api.html#user-defined-services). See [User-defined Services](#user-defined-services) for full details.\n    - `key` - REQUIRED. number. Service key obtained from `listEntitiesService()`\n    - `args` - optional. Array of `{ type: ServiceArgType, value }` objects\n\n#### Connection events\n- `message.<type>` - when valid message from esphome device is received. First arg is message. The event is called before `message` event(more genetal analogue)\n- `reconnect` - emmited if client is reconnect to esphome device\n- `message` - when valid message from esphome device is received. First arg is type, second is message.\n- `connected` - emmited if client is introduced to esphome device\n- `disconnected` - emmited if session is corruptred\n- `authorized` - emmited if client is logged in esphome device\n- `unauthorized` - emmited if session is corruptred\n- `data` - when any data is received\n- `error` - when any error is occured\n- `unhandledData` - when data is received, but an error occured and we have unprocessed data\n","readmeFilename":"README.md"}