eufy-security-client 1.6.2 → 1.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 bropat <patrick.broetto@gmail.com>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2022 bropat <patrick.broetto@gmail.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # eufy-security-client
2
2
 
3
- ![Logo](docs/_media/eufy-security.png)
3
+ ![Logo](docs/_media/eufy-security-client.png)
4
4
 
5
5
  [![node](https://img.shields.io/node/v/eufy-security-client.svg)](https://www.npmjs.com/package/eufy-security-client)
6
6
  [![NPM version](http://img.shields.io/npm/v/eufy-security-client.svg)](https://www.npmjs.com/package/eufy-security-client)
@@ -23,6 +23,8 @@ If you appreciate my work and progress and want to support me, you can do it her
23
23
  [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/E1E332Q6Z)
24
24
  [![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://www.paypal.me/pbroetto)
25
25
 
26
+ **This project is not affiliated with Anker and Eufy (Eufy Security). It is a personal project that is maintained in spare time.**
27
+
26
28
  ## Description
27
29
 
28
30
  This shared library allows to control [Eufy security devices](https://us.eufylife.com/collections/security) by connecting to the Eufy cloud servers and local/remote stations over p2p.
@@ -77,6 +79,10 @@ Please use GitHub issues for this.
77
79
 
78
80
  ## Changelog
79
81
 
82
+ ### 1.6.3 (2022-02-06)
83
+
84
+ * (bropat) Initialize MQTT connection only if supported devices are found
85
+
80
86
  ### 1.6.2 (2022-02-05)
81
87
 
82
88
  * (bropat) Fixed MQTT connection issue (error: 5)
@@ -1,79 +1,79 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIIE0DCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
3
- EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
4
- EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
5
- ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAwMFoXDTMxMDUwMzA3
6
- MDAwMFowgbQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
7
- EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UE
8
- CxMkaHR0cDovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQD
9
- EypHbyBEYWRkeSBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi
10
- MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC54MsQ1K92vdSTYuswZLiBCGzD
11
- BNliF44v/z5lz4/OYuY8UhzaFkVLVat4a2ODYpDOD2lsmcgaFItMzEUz6ojcnqOv
12
- K/6AYZ15V8TPLvQ/MDxdR/yaFrzDN5ZBUY4RS1T4KL7QjL7wMDge87Am+GZHY23e
13
- cSZHjzhHU9FGHbTj3ADqRay9vHHZqm8A29vNMDp5T19MR/gd71vCxJ1gO7GyQ5HY
14
- pDNO6rPWJ0+tJYqlxvTV0KaudAVkV4i1RFXULSo6Pvi4vekyCgKUZMQWOlDxSq7n
15
- eTOvDCAHf+jfBDnCaQJsY1L6d8EbyHSHyLmTGFBUNUtpTrw700kuH9zB0lL7AgMB
16
- AAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
17
- HQ4EFgQUQMK9J47MNIMwojPX+2yz8LQsgM4wHwYDVR0jBBgwFoAUOpqFBxBnKLbv
18
- 9r0FQW4gwZTaD94wNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v
19
- b2NzcC5nb2RhZGR5LmNvbS8wNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5n
20
- b2RhZGR5LmNvbS9nZHJvb3QtZzIuY3JsMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEG
21
- CCsGAQUFBwIBFiVodHRwczovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkv
22
- MA0GCSqGSIb3DQEBCwUAA4IBAQAIfmyTEMg4uJapkEv/oV9PBO9sPpyIBslQj6Zz
23
- 91cxG7685C/b+LrTW+C05+Z5Yg4MotdqY3MxtfWoSKQ7CC2iXZDXtHwlTxFWMMS2
24
- RJ17LJ3lXubvDGGqv+QqG+6EnriDfcFDzkSnE3ANkR/0yBOtg2DZ2HKocyQetawi
25
- DsoXiWJYRBuriSUBAA/NxBti21G00w9RKpv0vHP8ds42pM3Z2Czqrpv1KrKQ0U11
26
- GIo/ikGQI31bS/6kA1ibRrLDYGCD+H1QQc7CoZDDu+8CL9IVVO5EFdkKrqeKM+2x
27
- LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB
28
- -----END CERTIFICATE-----
29
- -----BEGIN CERTIFICATE-----
30
- MIIEfTCCA2WgAwIBAgIDG+cVMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVT
31
- MSEwHwYDVQQKExhUaGUgR28gRGFkZHkgR3JvdXAsIEluYy4xMTAvBgNVBAsTKEdv
32
- IERhZGR5IENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMTAx
33
- MDcwMDAwWhcNMzEwNTMwMDcwMDAwWjCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
34
- B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHku
35
- Y29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1
36
- dGhvcml0eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3Fi
37
- CPH6WTT3G8kYo/eASVjpIoMTpsUgQwE7hPHmhUmfJ+r2hBtOoLTbcJjHMgGxBT4H
38
- Tu70+k8vWTAi56sZVmvigAf88xZ1gDlRe+X5NbZ0TqmNghPktj+pA4P6or6KFWp/
39
- 3gvDthkUBcrqw6gElDtGfDIN8wBmIsiNaW02jBEYt9OyHGC0OPoCjM7T3UYH3go+
40
- 6118yHz7sCtTpJJiaVElBWEaRIGMLKlDliPfrDqBmg4pxRyp6V0etp6eMAo5zvGI
41
- gPtLXcwy7IViQyU0AlYnAZG0O3AqP26x6JyIAX2f1PnbU21gnb8s51iruF9G/M7E
42
- GwM8CetJMVxpRrPgRwIDAQABo4IBFzCCARMwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
43
- HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9BUFuIMGU2g/eMB8GA1Ud
44
- IwQYMBaAFNLEsNKR1EwRcbNhyz2h/t2oatTjMDQGCCsGAQUFBwEBBCgwJjAkBggr
45
- BgEFBQcwAYYYaHR0cDovL29jc3AuZ29kYWRkeS5jb20vMDIGA1UdHwQrMCkwJ6Al
46
- oCOGIWh0dHA6Ly9jcmwuZ29kYWRkeS5jb20vZ2Ryb290LmNybDBGBgNVHSAEPzA9
47
- MDsGBFUdIAAwMzAxBggrBgEFBQcCARYlaHR0cHM6Ly9jZXJ0cy5nb2RhZGR5LmNv
48
- bS9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAWQtTvZKGEacke+1bMc8d
49
- H2xwxbhuvk679r6XUOEwf7ooXGKUwuN+M/f7QnaF25UcjCJYdQkMiGVnOQoWCcWg
50
- OJekxSOTP7QYpgEGRJHjp2kntFolfzq3Ms3dhP8qOCkzpN1nsoX+oYggHFCJyNwq
51
- 9kIDN0zmiN/VryTyscPfzLXs4Jlet0lUIDyUGAzHHFIYSaRt4bNYC8nY7NmuHDKO
52
- KHAN4v6mF56ED71XcLNa6R+ghlO773z/aQvgSMO3kwvIClTErF0UZzdsyqUvMQg3
53
- qm5vjLyb4lddJIGvl5echK1srDdMZvNhkREg5L4wn3qkKQmw4TRfZHcYQFHfjDCm
54
- rw==
55
- -----END CERTIFICATE-----
56
- -----BEGIN CERTIFICATE-----
57
- MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
58
- MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
59
- YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
60
- MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
61
- ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
62
- MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
63
- ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
64
- PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
65
- wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
66
- EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
67
- avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
68
- YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
69
- sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
70
- /t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
71
- IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
72
- YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
73
- ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
74
- OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
75
- TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
76
- HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
77
- dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
78
- ReYNnyicsbkqWletNw+vHX/bvZ8=
79
- -----END CERTIFICATE-----
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIE0DCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx
3
+ EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT
4
+ EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp
5
+ ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAwMFoXDTMxMDUwMzA3
6
+ MDAwMFowgbQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH
7
+ EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UE
8
+ CxMkaHR0cDovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQD
9
+ EypHbyBEYWRkeSBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi
10
+ MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC54MsQ1K92vdSTYuswZLiBCGzD
11
+ BNliF44v/z5lz4/OYuY8UhzaFkVLVat4a2ODYpDOD2lsmcgaFItMzEUz6ojcnqOv
12
+ K/6AYZ15V8TPLvQ/MDxdR/yaFrzDN5ZBUY4RS1T4KL7QjL7wMDge87Am+GZHY23e
13
+ cSZHjzhHU9FGHbTj3ADqRay9vHHZqm8A29vNMDp5T19MR/gd71vCxJ1gO7GyQ5HY
14
+ pDNO6rPWJ0+tJYqlxvTV0KaudAVkV4i1RFXULSo6Pvi4vekyCgKUZMQWOlDxSq7n
15
+ eTOvDCAHf+jfBDnCaQJsY1L6d8EbyHSHyLmTGFBUNUtpTrw700kuH9zB0lL7AgMB
16
+ AAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV
17
+ HQ4EFgQUQMK9J47MNIMwojPX+2yz8LQsgM4wHwYDVR0jBBgwFoAUOpqFBxBnKLbv
18
+ 9r0FQW4gwZTaD94wNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v
19
+ b2NzcC5nb2RhZGR5LmNvbS8wNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5n
20
+ b2RhZGR5LmNvbS9nZHJvb3QtZzIuY3JsMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEG
21
+ CCsGAQUFBwIBFiVodHRwczovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkv
22
+ MA0GCSqGSIb3DQEBCwUAA4IBAQAIfmyTEMg4uJapkEv/oV9PBO9sPpyIBslQj6Zz
23
+ 91cxG7685C/b+LrTW+C05+Z5Yg4MotdqY3MxtfWoSKQ7CC2iXZDXtHwlTxFWMMS2
24
+ RJ17LJ3lXubvDGGqv+QqG+6EnriDfcFDzkSnE3ANkR/0yBOtg2DZ2HKocyQetawi
25
+ DsoXiWJYRBuriSUBAA/NxBti21G00w9RKpv0vHP8ds42pM3Z2Czqrpv1KrKQ0U11
26
+ GIo/ikGQI31bS/6kA1ibRrLDYGCD+H1QQc7CoZDDu+8CL9IVVO5EFdkKrqeKM+2x
27
+ LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB
28
+ -----END CERTIFICATE-----
29
+ -----BEGIN CERTIFICATE-----
30
+ MIIEfTCCA2WgAwIBAgIDG+cVMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVT
31
+ MSEwHwYDVQQKExhUaGUgR28gRGFkZHkgR3JvdXAsIEluYy4xMTAvBgNVBAsTKEdv
32
+ IERhZGR5IENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMTAx
33
+ MDcwMDAwWhcNMzEwNTMwMDcwMDAwWjCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT
34
+ B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHku
35
+ Y29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1
36
+ dGhvcml0eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3Fi
37
+ CPH6WTT3G8kYo/eASVjpIoMTpsUgQwE7hPHmhUmfJ+r2hBtOoLTbcJjHMgGxBT4H
38
+ Tu70+k8vWTAi56sZVmvigAf88xZ1gDlRe+X5NbZ0TqmNghPktj+pA4P6or6KFWp/
39
+ 3gvDthkUBcrqw6gElDtGfDIN8wBmIsiNaW02jBEYt9OyHGC0OPoCjM7T3UYH3go+
40
+ 6118yHz7sCtTpJJiaVElBWEaRIGMLKlDliPfrDqBmg4pxRyp6V0etp6eMAo5zvGI
41
+ gPtLXcwy7IViQyU0AlYnAZG0O3AqP26x6JyIAX2f1PnbU21gnb8s51iruF9G/M7E
42
+ GwM8CetJMVxpRrPgRwIDAQABo4IBFzCCARMwDwYDVR0TAQH/BAUwAwEB/zAOBgNV
43
+ HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9BUFuIMGU2g/eMB8GA1Ud
44
+ IwQYMBaAFNLEsNKR1EwRcbNhyz2h/t2oatTjMDQGCCsGAQUFBwEBBCgwJjAkBggr
45
+ BgEFBQcwAYYYaHR0cDovL29jc3AuZ29kYWRkeS5jb20vMDIGA1UdHwQrMCkwJ6Al
46
+ oCOGIWh0dHA6Ly9jcmwuZ29kYWRkeS5jb20vZ2Ryb290LmNybDBGBgNVHSAEPzA9
47
+ MDsGBFUdIAAwMzAxBggrBgEFBQcCARYlaHR0cHM6Ly9jZXJ0cy5nb2RhZGR5LmNv
48
+ bS9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAWQtTvZKGEacke+1bMc8d
49
+ H2xwxbhuvk679r6XUOEwf7ooXGKUwuN+M/f7QnaF25UcjCJYdQkMiGVnOQoWCcWg
50
+ OJekxSOTP7QYpgEGRJHjp2kntFolfzq3Ms3dhP8qOCkzpN1nsoX+oYggHFCJyNwq
51
+ 9kIDN0zmiN/VryTyscPfzLXs4Jlet0lUIDyUGAzHHFIYSaRt4bNYC8nY7NmuHDKO
52
+ KHAN4v6mF56ED71XcLNa6R+ghlO773z/aQvgSMO3kwvIClTErF0UZzdsyqUvMQg3
53
+ qm5vjLyb4lddJIGvl5echK1srDdMZvNhkREg5L4wn3qkKQmw4TRfZHcYQFHfjDCm
54
+ rw==
55
+ -----END CERTIFICATE-----
56
+ -----BEGIN CERTIFICATE-----
57
+ MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh
58
+ MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE
59
+ YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3
60
+ MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo
61
+ ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg
62
+ MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN
63
+ ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA
64
+ PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w
65
+ wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi
66
+ EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY
67
+ avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+
68
+ YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE
69
+ sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h
70
+ /t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5
71
+ IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj
72
+ YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD
73
+ ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy
74
+ OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P
75
+ TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ
76
+ HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER
77
+ dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf
78
+ ReYNnyicsbkqWletNw+vHX/bvZ8=
79
+ -----END CERTIFICATE-----
@@ -1,33 +1,33 @@
1
- // Copyright: (c) 2022, Patrick Broetto <patrick.broetto@gmail.com>
2
- // MIT License
3
-
4
- syntax = "proto3";
5
-
6
- package eufy_security_client.lock;
7
-
8
- message DeviceSmartLockMessage {
9
- optional uint32 event_type = 1;
10
- optional string user_id = 2;
11
- optional DeviceSmartLockNotify data = 3;
12
- }
13
-
14
- message DeviceSmartLockNotify {
15
- optional uint64 timestamp = 1;
16
- optional string uuid = 2;
17
- optional DeviceSmartLockNotifyData data = 3;
18
- }
19
-
20
- message DeviceSmartLockNotifyData {
21
- optional string station_sn = 1;
22
- optional string device_sn = 2;
23
- optional uint32 event_type = 3;
24
- optional uint64 event_time = 4;
25
- optional string short_user_id = 5;
26
- optional string unknown1 = 6;
27
- optional string nick_name = 7;
28
- optional string user_id = 8;
29
- optional string unknown2 = 9;
30
- optional string device_name = 10;
31
- optional string unknown3 = 11;
32
- optional string lock_state = 12;
1
+ // Copyright: (c) 2022, Patrick Broetto <patrick.broetto@gmail.com>
2
+ // MIT License
3
+
4
+ syntax = "proto3";
5
+
6
+ package eufy_security_client.lock;
7
+
8
+ message DeviceSmartLockMessage {
9
+ optional uint32 event_type = 1;
10
+ optional string user_id = 2;
11
+ optional DeviceSmartLockNotify data = 3;
12
+ }
13
+
14
+ message DeviceSmartLockNotify {
15
+ optional uint64 timestamp = 1;
16
+ optional string uuid = 2;
17
+ optional DeviceSmartLockNotifyData data = 3;
18
+ }
19
+
20
+ message DeviceSmartLockNotifyData {
21
+ optional string station_sn = 1;
22
+ optional string device_sn = 2;
23
+ optional uint32 event_type = 3;
24
+ optional uint64 event_time = 4;
25
+ optional string short_user_id = 5;
26
+ optional string unknown1 = 6;
27
+ optional string nick_name = 7;
28
+ optional string user_id = 8;
29
+ optional string unknown2 = 9;
30
+ optional string device_name = 10;
31
+ optional string unknown3 = 11;
32
+ optional string lock_state = 12;
33
33
  }
@@ -12,6 +12,10 @@ export declare class MQTTService extends TypedEmitter<MQTTServiceEvents> {
12
12
  private connected;
13
13
  private client;
14
14
  private connecting;
15
+ private clientID?;
16
+ private androidID?;
17
+ private apiBase?;
18
+ private email?;
15
19
  private subscribeLocks;
16
20
  private deviceSmartLockMessageModel;
17
21
  private constructor();
@@ -75,7 +75,11 @@ class MQTTService extends tiny_typed_emitter_1.TypedEmitter {
75
75
  }
76
76
  }
77
77
  connect(clientID, androidID, apiBase, email) {
78
- if (!this.connected && !this.connecting) {
78
+ this.clientID = clientID;
79
+ this.androidID = androidID;
80
+ this.apiBase = apiBase;
81
+ this.email = email;
82
+ if (!this.connected && !this.connecting && this.clientID && this.androidID && this.apiBase && this.email && this.subscribeLocks.length > 0) {
79
83
  this.connecting = true;
80
84
  this.client = mqtt.connect(this.getMQTTBrokerUrl(apiBase), {
81
85
  keepalive: 60,
@@ -108,7 +112,7 @@ class MQTTService extends tiny_typed_emitter_1.TypedEmitter {
108
112
  var _a;
109
113
  this.connecting = false;
110
114
  this.log.error("MQTT Error", error);
111
- if (error.code === 5)
115
+ if (error.code === 1 || error.code === 2 || error.code === 4 || error.code === 5)
112
116
  (_a = this.client) === null || _a === void 0 ? void 0 : _a.end();
113
117
  });
114
118
  this.client.on("message", (topic, message, _packet) => {
@@ -135,13 +139,15 @@ class MQTTService extends tiny_typed_emitter_1.TypedEmitter {
135
139
  });
136
140
  }
137
141
  subscribeLock(deviceSN) {
138
- if (!this.connected) {
142
+ if (this.connected) {
143
+ this._subscribeLock(deviceSN);
144
+ }
145
+ else {
139
146
  if (!this.subscribeLocks.includes(deviceSN)) {
140
147
  this.subscribeLocks.push(deviceSN);
141
148
  }
142
- }
143
- else {
144
- this._subscribeLock(deviceSN);
149
+ if (this.clientID && this.androidID && this.apiBase && this.email)
150
+ this.connect(this.clientID, this.androidID, this.apiBase, this.email);
145
151
  }
146
152
  }
147
153
  isConnected() {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/mqtt/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/mqtt/service.ts"],"names":[],"mappings":"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"}