Skip to content

Commit

Permalink
Extra logging during discovery #84
Browse files Browse the repository at this point in the history
  • Loading branch information
AMoo-Miki committed Sep 18, 2019
1 parent 820e2b2 commit 64b4934
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions lib/TuyaDiscovery.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,15 +97,22 @@ class TuyaDiscovery extends EventEmitter {
}, 1000);
}

_onDgramMessage(port, msg) {
_onDgramMessage(port, msg, info) {
const len = msg.length;
console.log(`[TuyaDiscovery] UDP from ${info.address}:${port} 0x${msg.readUInt32BE(0).toString(16).padStart(8, '0')}...0x${msg.readUInt32BE(len - 4).toString(16).padStart(8, '0')}`);
if (len < 16 ||
msg.readUInt32BE(0) !== 0x000055aa ||
msg.readUInt32BE(len - 4) !== 0x0000aa55
) return;
) {
console.log(`[TuyaDiscovery] ERROR: UDP from ${info.address}:${port}`, msg.toString('hex'));
return;
}

const size = msg.readUInt32BE(12);
if (len - size < 8) return;
if (len - size < 8) {
console.log(`[TuyaDiscovery] ERROR: UDP from ${info.address}:${port} size ${len - size}`);
return;
}

//const result = {cmd: msg.readUInt32BE(8)};
const cleanMsg = msg.slice(len - size + 4, len - 8);
Expand All @@ -124,6 +131,7 @@ class TuyaDiscovery extends EventEmitter {
try {
const result = JSON.parse(decryptedMsg);
if (result && result.gwId && result.ip) this._onDiscover(result);
else console.log(`[TuyaDiscovery] ERROR: UDP from ${info.address}:${port} decrypted`, cleanMsg.toString('hex'));
} catch (ex) {
console.error(`[TuyaDiscovery] Failed to parse discovery response on port ${port}: ${decryptedMsg}`);
console.error(`[TuyaDiscovery] Failed to parse discovery raw message on port ${port}: ${msg.toString('hex')}`);
Expand Down

0 comments on commit 64b4934

Please sign in to comment.