mirror of
https://github.com/lehanspb/tuya-mqtt.git
synced 2025-12-18 00:10:20 +00:00
v3.03
* Fix reconnect failure in some disconnect cases * Remove duplicate republish function
This commit is contained in:
@@ -597,24 +597,17 @@ class TuyaDevice {
|
|||||||
|
|
||||||
// Retry connection every 10 seconds if unable to connect
|
// Retry connection every 10 seconds if unable to connect
|
||||||
async reconnect() {
|
async reconnect() {
|
||||||
if (!this.device.isConnected() && !this.reconnecting) {
|
if (!this.reconnecting) {
|
||||||
this.reconnecting = true
|
this.reconnecting = true
|
||||||
debugError('Error connecting to device id '+this.options.id+'...retry in 10 seconds.')
|
debugError('Error connecting to device id '+this.options.id+'...retry in 10 seconds.')
|
||||||
await utils.sleep(10)
|
await utils.sleep(10)
|
||||||
if (this.connected) { return }
|
if (!this.device.isConnected) {
|
||||||
this.connectDevice()
|
this.connectDevice()
|
||||||
|
}
|
||||||
this.reconnecting = false
|
this.reconnecting = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Republish device discovery/state data (used for Home Assistant state topic)
|
|
||||||
async republish() {
|
|
||||||
const status = (this.device.isConnected()) ? 'online' : 'offline'
|
|
||||||
this.publishMqtt(this.baseTopic+'status', status)
|
|
||||||
await utils.sleep(1)
|
|
||||||
this.init()
|
|
||||||
}
|
|
||||||
|
|
||||||
// Republish device discovery/state data (used for Home Assistant state topic)
|
// Republish device discovery/state data (used for Home Assistant state topic)
|
||||||
async republish() {
|
async republish() {
|
||||||
const status = (this.device.isConnected()) ? 'online' : 'offline'
|
const status = (this.device.isConnected()) ? 'online' : 'offline'
|
||||||
@@ -648,4 +641,4 @@ class TuyaDevice {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = TuyaDevice
|
module.exports = TuyaDevice
|
||||||
|
|||||||
36
package-lock.json
generated
36
package-lock.json
generated
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "tuya-mqtt",
|
"name": "tuya-mqtt",
|
||||||
"version": "3.0.2",
|
"version": "3.0.3",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -18,13 +18,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tuyapi/cli": {
|
"@tuyapi/cli": {
|
||||||
"version": "1.13.6",
|
"version": "1.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tuyapi/cli/-/cli-1.13.6.tgz",
|
"resolved": "https://registry.npmjs.org/@tuyapi/cli/-/cli-1.15.0.tgz",
|
||||||
"integrity": "sha512-xvQfhFkhc0issQClzHSCrRuFyq6exBloKW0ZCIfWqRaZ9bPuDLjNv3UDFD7ywFSsBWiWNX28kGSAIM5QX2glNQ==",
|
"integrity": "sha512-V85STIKtkDM+t8G08PUdL4klnnGmJU1qcPQF6pYRUn//iSlm1AD0CkNZ9Qll+nK2rpPB/2X5wJCwe8dCp1MEnQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"@tuyapi/link": "^0.3.3",
|
"@tuyapi/link": "^0.3.3",
|
||||||
"@tuyapi/openapi": "^1.2.0",
|
"@tuyapi/openapi": "^1.2.0",
|
||||||
"@tuyapi/stub": "^0.1.4",
|
"@tuyapi/stub": "^0.2.0",
|
||||||
"cli-table3": "^0.6.0",
|
"cli-table3": "^0.6.0",
|
||||||
"colors": "^1.4.0",
|
"colors": "^1.4.0",
|
||||||
"commander": "^5.1.0",
|
"commander": "^5.1.0",
|
||||||
@@ -72,9 +72,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@tuyapi/stub": {
|
"@tuyapi/stub": {
|
||||||
"version": "0.1.4",
|
"version": "0.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@tuyapi/stub/-/stub-0.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/@tuyapi/stub/-/stub-0.2.0.tgz",
|
||||||
"integrity": "sha512-uF2u1Z78Qif3hK92RYxMG4AbjedNRZYmM1jIvegf4KUfDVV/BhHFooz2y3Q28jPl5Q+H39QY/WBH2bMiXMAg/g==",
|
"integrity": "sha512-QVwHf1KexAJw8mgmkyxXH4t5sToK0Ai3O8PFKNqgbgx6LOWciqOOcV99xw+6UwGa2iyvW/PnFoMqVRuYy1EgQQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "^4.1.1",
|
"debug": "^4.1.1",
|
||||||
"tuyapi": "^5.0.0"
|
"tuyapi": "^5.0.0"
|
||||||
@@ -346,12 +346,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"call-bind": {
|
"call-bind": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||||
"integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==",
|
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"function-bind": "^1.1.1",
|
"function-bind": "^1.1.1",
|
||||||
"get-intrinsic": "^1.0.0"
|
"get-intrinsic": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"callback-stream": {
|
"callback-stream": {
|
||||||
@@ -1094,9 +1094,9 @@
|
|||||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||||
},
|
},
|
||||||
"ini": {
|
"ini": {
|
||||||
"version": "1.3.8",
|
"version": "1.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
|
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
|
||||||
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
|
"integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ=="
|
||||||
},
|
},
|
||||||
"inquirer": {
|
"inquirer": {
|
||||||
"version": "7.3.3",
|
"version": "7.3.3",
|
||||||
@@ -2302,9 +2302,9 @@
|
|||||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
||||||
},
|
},
|
||||||
"tuyapi": {
|
"tuyapi": {
|
||||||
"version": "6.1.2",
|
"version": "6.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/tuyapi/-/tuyapi-6.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/tuyapi/-/tuyapi-6.1.3.tgz",
|
||||||
"integrity": "sha512-C8ewskhjWJHjUlgCRItEilkrZ3z2uH4rkSJMRTG73EQgMutr/9R3EfoyxAMUQIQxvsmODjMsXpKX07+tqIQ7tg==",
|
"integrity": "sha512-/7nI3Dr3NwWMDnrz7MSRQw9lW3R5i6lnRStIjPgybZ1Wj1jL/PHuRfeNBPAb8ocNbLQN6JqxbefY4awXmp+LqQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "4.1.1",
|
"debug": "4.1.1",
|
||||||
"p-queue": "6.6.1",
|
"p-queue": "6.6.1",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "tuya-mqtt",
|
"name": "tuya-mqtt",
|
||||||
"version": "3.0.2",
|
"version": "3.0.3",
|
||||||
"description": "Control Tuya devices locally via MQTT",
|
"description": "Control Tuya devices locally via MQTT",
|
||||||
"homepage": "https://github.com/TheAgentK/tuya-mqtt#readme",
|
"homepage": "https://github.com/TheAgentK/tuya-mqtt#readme",
|
||||||
"main": "tuya-mqtt.js",
|
"main": "tuya-mqtt.js",
|
||||||
@@ -13,13 +13,13 @@
|
|||||||
},
|
},
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@tuyapi/cli": "^1.13.6",
|
"@tuyapi/cli": "^1.15.0",
|
||||||
"color-convert": "^2.0.1",
|
"color-convert": "^2.0.1",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"json5": "^2.1.3",
|
"json5": "^2.1.3",
|
||||||
"mqtt": "^4.2.6",
|
"mqtt": "^4.2.6",
|
||||||
"supports-color": "^8.1.0",
|
"supports-color": "^8.1.0",
|
||||||
"tuyapi": "^6.1.2",
|
"tuyapi": "^6.1.3",
|
||||||
"mathjs": "8.1.1"
|
"mathjs": "8.1.1"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|||||||
Reference in New Issue
Block a user