Hi,
In my Device.js I use the following code:
const someTrigger = this.homey.flow.getDeviceTriggerCard('some_capability');
But as soon as my device is deleted I begin getting errors like
[err] 2023-01-07 16:51:28 Unhandled Rejection at: Promise {
<rejected> Error: device_not_found
at Remote Process
at HomeyClient.emit (/opt/homey-client/system/manager/ManagerApps/AppProcess/node_modules/homey-apps-sdk-v3/lib/HomeyClient.js:1:312)
at ManagerFlow._onCardTriggerDevice (/opt/homey-client/system/manager/ManagerApps/AppProcess/node_modules/homey-apps-sdk-v3/manager/flow.js:219:26)
at FlowCardTriggerDevice.trigger (/opt/homey-client/system/manager/ManagerApps/AppProcess/node_modules/homey-apps-sdk-v3/lib/FlowCardTriggerDevice.js:1:1180)
at EcovacsMQTT_JSON.<anonymous> (/drivers/Deebot/device.js:158:29)
at EcovacsMQTT_JSON.emit (node:events:526:28)
at EcovacsMQTT_JSON.handleMessagePayload (/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:188:22)
at /node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:122:28
at EcovacsMQTT_JSON.handleMessage (/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:126:11)
at EcovacsMQTT_JSON.handleCommandResponse (/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:69:22)
at EcovacsMQTT_JSON.sendCommand (/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:206:22) {
code: 404
}
} reason: Error: device_not_found
at Remote Process
at HomeyClient.emit (/opt/homey-client/system/manager/ManagerApps/AppProcess/node_modules/homey-apps-sdk-v3/lib/HomeyClient.js:1:312)
at ManagerFlow._onCardTriggerDevice (/opt/homey-client/system/manager/ManagerApps/AppProcess/node_modules/homey-apps-sdk-v3/manager/flow.js:219:26)
at FlowCardTriggerDevice.trigger (/opt/homey-client/system/manager/ManagerApps/AppProcess/node_modules/homey-apps-sdk-v3/lib/FlowCardTriggerDevice.js:1:1180)
at EcovacsMQTT_JSON.<anonymous> (/drivers/Deebot/device.js:158:29)
at EcovacsMQTT_JSON.emit (node:events:526:28)
at EcovacsMQTT_JSON.handleMessagePayload (/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:188:22)
at /node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:122:28
at EcovacsMQTT_JSON.handleMessage (/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:126:11)
at EcovacsMQTT_JSON.handleCommandResponse (/node_modules/ecovacs-deebot/library/950type/ecovacsMQTT_JSON.js:69:22)
at EcovacsMQTT_JSON.sendCommand (/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:206:22) {
code: 404
}
What do I need to do in the onDeleted() function to prevent this? I tried
this.someTrigger.destroy()
and
detele this.someTrigger
But both don’t seem to work. On line 158 of device.js the is this trigger:
someTrigger.trigger(this);
Should /can I check to see if my device is still available before I trigger it, and solve the errors that way?
Any hints?
Thanks in advance