diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 000000000..96be28ceb --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,13 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "node", + "request": "launch", + "name": "Jest", + "program": "${workspaceRoot}/node_modules/jest/bin/jest.js", + "args": ["-i", "-t", "Handle mqtt message"], + "skipFiles": ["/**/*.js", "node_modules"] + } + ] +} diff --git a/data/configuration.yaml b/data/configuration.yaml index 3ed7c1ce0..5dc604bc6 100644 --- a/data/configuration.yaml +++ b/data/configuration.yaml @@ -17,4 +17,8 @@ mqtt: # Serial settings serial: # Location of CC2531 USB sniffer - port: /dev/ttyACM0 + port: COM5 + adapter: deconz + +advanced: + log_level: debug \ No newline at end of file diff --git a/lib/zigbee.ts b/lib/zigbee.ts index 8ad537d56..4e4992215 100644 --- a/lib/zigbee.ts +++ b/lib/zigbee.ts @@ -58,7 +58,10 @@ export default class Zigbee { acceptJoiningDeviceHandler: this.acceptJoiningDeviceHandler, }; - logger.debug(() => `Using zigbee-herdsman with settings: '${stringify(JSON.stringify(herdsmanSettings).replaceAll(JSON.stringify(herdsmanSettings.network.networkKey), '"HIDDEN"'))}'`); + logger.debug( + () => + `Using zigbee-herdsman with settings: '${stringify(JSON.stringify(herdsmanSettings).replaceAll(JSON.stringify(herdsmanSettings.network.networkKey), '"HIDDEN"'))}'`, + ); let startResult; try { @@ -113,8 +116,9 @@ export default class Zigbee { this.herdsman.on('message', async (data: ZHEvents.MessagePayload) => { const device = this.resolveDevice(data.device.ieeeAddr)!; await device.resolveDefinition(); - logger.debug(() => - `Received Zigbee message from '${device.name}', type '${data.type}', ` + + logger.debug( + () => + `Received Zigbee message from '${device.name}', type '${data.type}', ` + `cluster '${data.cluster}', data '${stringify(data.data)}' from endpoint ${data.endpoint.ID}` + (data['groupID'] !== undefined ? ` with groupID ${data.groupID}` : ``) + (device.zh.type === 'Coordinator' ? `, ignoring since it is from coordinator` : ``), diff --git a/package-lock.json b/package-lock.json index a1e5f7586..38f5c18e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "moment": "^2.30.1", "mqtt": "^5.10.1", "object-assign-deep": "^0.4.0", + "prettier-plugin-sort-imports": "^1.8.6", "rimraf": "^6.0.1", "semver": "^7.6.3", "source-map-support": "^0.5.21", @@ -8805,7 +8806,6 @@ "version": "3.3.3", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", - "dev": true, "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" @@ -8817,6 +8817,18 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prettier-plugin-sort-imports": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-1.8.6.tgz", + "integrity": "sha512-jOEzFCyvdDL8geCmr4DP/VBKULZ6OaDQHBEmHTuFHf4EzWyedmwnHg2KawNy5rnrQ6gnCqwrfgymMQZctzCE1Q==", + "license": "MIT", + "dependencies": { + "prettier": "^3.1.1" + }, + "peerDependencies": { + "typescript": ">4.0.0" + } + }, "node_modules/pretty-format": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", @@ -9810,7 +9822,6 @@ "version": "5.5.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", - "dev": true, "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", diff --git a/package.json b/package.json index eb11f7773..7f91be772 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "moment": "^2.30.1", "mqtt": "^5.10.1", "object-assign-deep": "^0.4.0", + "prettier-plugin-sort-imports": "^1.8.6", "rimraf": "^6.0.1", "semver": "^7.6.3", "source-map-support": "^0.5.21",