matterbridge-zigbee2mqtt 2.0.2 → 2.0.4
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/README.md +56 -5
- package/dist/entity.d.ts +1 -1
- package/dist/entity.d.ts.map +1 -1
- package/dist/entity.js +118 -33
- package/dist/entity.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/platform.d.ts +5 -2
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +96 -54
- package/dist/platform.js.map +1 -1
- package/dist/zigbee2mqtt.d.ts +5 -2
- package/dist/zigbee2mqtt.d.ts.map +1 -1
- package/dist/zigbee2mqtt.js +62 -22
- package/dist/zigbee2mqtt.js.map +1 -1
- package/package.json +19 -7
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAiB,YAAY,EAAsB,2BAA2B,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5H,OAAO,EAAE,UAAU,EAA4C,MAAM,kBAAkB,CAAC;AAGxF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAA4B,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAI9E,qBAAa,cAAe,SAAQ,2BAA2B;IAE7D,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,eAAe,CAAsB;IAG7C,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,SAAS,CAAgB;IAG1B,YAAY,EAAE,OAAO,CAAC;IACtB,GAAG,EAAE,WAAW,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAiB,YAAY,EAAsB,2BAA2B,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5H,OAAO,EAAE,UAAU,EAA4C,MAAM,kBAAkB,CAAC;AAGxF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAA4B,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAI9E,qBAAa,cAAe,SAAQ,2BAA2B;IAE7D,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,eAAe,CAAsB;IAG7C,OAAO,CAAC,QAAQ,CAAe;IAC/B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,SAAS,CAAgB;IAG1B,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,GAAG,EAAE,WAAW,CAAC;IACjB,oBAAoB,UAAS;IAC7B,mBAAmB,UAAS;IACnC,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,gBAAgB,CAA6B;IACrD,OAAO,CAAC,eAAe,CAA4B;gBAEvC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc;IAkGhE,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM;IA2BvB,WAAW;IAkBX,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM;YAO3B,mBAAmB;YAsBnB,kBAAkB;IAUzB,sBAAsB,CAAC,UAAU,EAAE,MAAM;YAYlC,oBAAoB;IAcrB,mBAAmB,CAAC,KAAK,EAAE,WAAW;IAgC5C,kBAAkB,CAAC,SAAS,EAAE,OAAO;CAM7C"}
|
package/dist/platform.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @file platform.ts
|
|
5
5
|
* @author Luca Liguori
|
|
6
6
|
* @date 2023-12-29
|
|
7
|
-
* @version 2.0.
|
|
7
|
+
* @version 2.0.3
|
|
8
8
|
*
|
|
9
9
|
* Copyright 2023, 2024 Luca Liguori.
|
|
10
10
|
*
|
|
@@ -33,12 +33,15 @@ export class ZigbeePlatform extends MatterbridgeDynamicPlatform {
|
|
|
33
33
|
mqttHost = 'localhost';
|
|
34
34
|
mqttPort = 1883;
|
|
35
35
|
mqttTopic = 'zigbee2mqtt';
|
|
36
|
+
mqttUsername = '';
|
|
37
|
+
mqttPassword = '';
|
|
36
38
|
whiteList = [];
|
|
37
39
|
blackList = [];
|
|
38
40
|
// zigbee2Mqtt
|
|
39
41
|
debugEnabled;
|
|
42
|
+
shouldStart;
|
|
43
|
+
shouldConfigure;
|
|
40
44
|
z2m;
|
|
41
|
-
z2mStarted = false;
|
|
42
45
|
z2mDevicesRegistered = false;
|
|
43
46
|
z2mGroupsRegistered = false;
|
|
44
47
|
z2mBridgeInfo;
|
|
@@ -47,12 +50,18 @@ export class ZigbeePlatform extends MatterbridgeDynamicPlatform {
|
|
|
47
50
|
constructor(matterbridge, log, config) {
|
|
48
51
|
super(matterbridge, log, config);
|
|
49
52
|
this.debugEnabled = matterbridge.debugEnabled;
|
|
53
|
+
this.shouldStart = false;
|
|
54
|
+
this.shouldConfigure = false;
|
|
50
55
|
if (config.host)
|
|
51
56
|
this.mqttHost = config.host;
|
|
52
57
|
if (config.port)
|
|
53
58
|
this.mqttPort = config.port;
|
|
54
59
|
if (config.topic)
|
|
55
60
|
this.mqttTopic = config.topic;
|
|
61
|
+
if (config.username)
|
|
62
|
+
this.mqttUsername = config.username;
|
|
63
|
+
if (config.password)
|
|
64
|
+
this.mqttPassword = config.password;
|
|
56
65
|
if (config.whiteList)
|
|
57
66
|
this.whiteList = config.whiteList;
|
|
58
67
|
if (config.blackList)
|
|
@@ -61,17 +70,14 @@ export class ZigbeePlatform extends MatterbridgeDynamicPlatform {
|
|
|
61
70
|
config.host = this.mqttHost;
|
|
62
71
|
config.port = this.mqttPort;
|
|
63
72
|
config.topic = this.mqttTopic;
|
|
73
|
+
config.username = this.mqttUsername;
|
|
74
|
+
config.password = this.mqttPassword;
|
|
64
75
|
config.whiteList = this.whiteList;
|
|
65
76
|
config.blackList = this.blackList;
|
|
66
|
-
this.log.info(`Loaded zigbee2mqtt parameters from config.json:\n${rs}
|
|
67
|
-
this.z2m = new Zigbee2MQTT(this.mqttHost, this.mqttPort, this.mqttTopic);
|
|
77
|
+
this.log.info(`Loaded zigbee2mqtt parameters from ${path.join(matterbridge.matterbridgeDirectory, 'matterbridge-zigbee2mqtt.config.json')}:\n${rs}` /*, config*/);
|
|
78
|
+
this.z2m = new Zigbee2MQTT(this.mqttHost, this.mqttPort, this.mqttTopic, this.mqttUsername, this.mqttPassword);
|
|
68
79
|
this.z2m.setDataPath(path.join(matterbridge.matterbridgePluginDirectory, 'matterbridge-zigbee2mqtt'));
|
|
69
|
-
this.log.debug('Created zigbee2mqtt dynamic platform');
|
|
70
|
-
}
|
|
71
|
-
async onStart(reason) {
|
|
72
|
-
this.log.debug('Starting zigbee2mqtt dynamic platform: ' + reason);
|
|
73
80
|
this.z2m.start();
|
|
74
|
-
this.z2mStarted = true;
|
|
75
81
|
this.z2m.on('mqtt_connect', () => {
|
|
76
82
|
this.log.debug(`zigbee2MQTT connected to MQTT server ${this.z2m.mqttHost}:${this.z2m.mqttPort}`);
|
|
77
83
|
this.z2m.subscribe(this.z2m.mqttTopic + '/#');
|
|
@@ -86,71 +92,106 @@ export class ZigbeePlatform extends MatterbridgeDynamicPlatform {
|
|
|
86
92
|
// TODO check single availability
|
|
87
93
|
//this.updateAvailability(false);
|
|
88
94
|
});
|
|
89
|
-
this.z2m.on('bridge-info', (bridgeInfo) => {
|
|
95
|
+
this.z2m.on('bridge-info', async (bridgeInfo) => {
|
|
90
96
|
this.z2mBridgeInfo = bridgeInfo;
|
|
91
97
|
this.log.debug(`zigbee2MQTT sent bridge-info version: ${this.z2mBridgeInfo.version}`);
|
|
92
98
|
});
|
|
93
|
-
this.z2m.on('bridge-devices', (devices) => {
|
|
94
|
-
if (this.debugEnabled)
|
|
95
|
-
Logger.defaultLogLevel = Level.INFO;
|
|
99
|
+
this.z2m.on('bridge-devices', async (devices) => {
|
|
96
100
|
this.z2mBridgeDevices = devices;
|
|
101
|
+
if (this.shouldStart) {
|
|
102
|
+
if (!this.z2mDevicesRegistered && this.z2mBridgeDevices) {
|
|
103
|
+
for (const device of this.z2mBridgeDevices) {
|
|
104
|
+
await this.registerZigbeeDevice(device);
|
|
105
|
+
}
|
|
106
|
+
this.z2mDevicesRegistered = true;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (this.shouldConfigure) {
|
|
110
|
+
this.log.info(`Configuring ${this.bridgedEntities.length} zigbee entities.`);
|
|
111
|
+
for (const bridgedEntity of this.bridgedEntities) {
|
|
112
|
+
if (bridgedEntity.isDevice && bridgedEntity.device)
|
|
113
|
+
await this.requestDeviceUpdate(bridgedEntity.device);
|
|
114
|
+
}
|
|
115
|
+
for (const device of this.bridgedDevices) {
|
|
116
|
+
device.configure();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
97
119
|
this.log.debug(`zigbee2MQTT sent ${devices.length} devices ${this.z2mDevicesRegistered ? 'already registered' : ''}`);
|
|
98
|
-
if (this.z2mDevicesRegistered)
|
|
99
|
-
return;
|
|
100
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
101
|
-
Object.entries(this.z2mBridgeDevices).forEach(async ([key, device], index) => {
|
|
102
|
-
await this.registerZigbeeDevice(device);
|
|
103
|
-
});
|
|
104
|
-
this.z2mDevicesRegistered = true;
|
|
105
|
-
if (this.debugEnabled)
|
|
106
|
-
Logger.defaultLogLevel = Level.DEBUG;
|
|
107
120
|
});
|
|
108
|
-
this.z2m.on('bridge-groups', (groups) => {
|
|
109
|
-
if (this.debugEnabled)
|
|
110
|
-
Logger.defaultLogLevel = Level.INFO;
|
|
121
|
+
this.z2m.on('bridge-groups', async (groups) => {
|
|
111
122
|
this.z2mBridgeGroups = groups;
|
|
112
|
-
this.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
});
|
|
119
|
-
this.z2mGroupsRegistered = true;
|
|
120
|
-
if (this.debugEnabled)
|
|
121
|
-
Logger.defaultLogLevel = Level.DEBUG;
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
async onConfigure() {
|
|
125
|
-
this.log.info('Configuring zigbee2mqtt platform: setting timeout for device configuration.');
|
|
126
|
-
setTimeout(async () => {
|
|
127
|
-
if (this.z2mBridgeDevices) {
|
|
128
|
-
this.log.info(`Configuring ${this.z2mBridgeDevices.length} zigbee devices.`);
|
|
129
|
-
for (const device of this.z2mBridgeDevices) {
|
|
130
|
-
await this.requestDeviceUpdate(device);
|
|
123
|
+
if (this.shouldStart) {
|
|
124
|
+
if (!this.z2mGroupsRegistered && this.z2mBridgeGroups) {
|
|
125
|
+
for (const group of this.z2mBridgeGroups) {
|
|
126
|
+
await this.registerZigbeeGroup(group);
|
|
127
|
+
}
|
|
128
|
+
this.z2mGroupsRegistered = true;
|
|
131
129
|
}
|
|
132
130
|
}
|
|
133
|
-
if (this.
|
|
134
|
-
this.log.info(`Configuring ${this.
|
|
135
|
-
for (const
|
|
136
|
-
|
|
131
|
+
if (this.shouldConfigure) {
|
|
132
|
+
this.log.info(`Configuring ${this.bridgedEntities.length} zigbee entities.`);
|
|
133
|
+
for (const bridgedEntity of this.bridgedEntities) {
|
|
134
|
+
if (bridgedEntity.isGroup && bridgedEntity.group)
|
|
135
|
+
await this.requestGroupUpdate(bridgedEntity.group);
|
|
136
|
+
}
|
|
137
|
+
for (const device of this.bridgedDevices) {
|
|
138
|
+
device.configure();
|
|
137
139
|
}
|
|
138
140
|
}
|
|
139
|
-
this.log.
|
|
140
|
-
|
|
141
|
-
|
|
141
|
+
this.log.debug(`zigbee2MQTT sent ${groups.length} groups ${this.z2mGroupsRegistered ? 'already registered' : ''}`);
|
|
142
|
+
});
|
|
143
|
+
this.log.debug('Created zigbee2mqtt dynamic platform');
|
|
144
|
+
}
|
|
145
|
+
async onStart(reason) {
|
|
146
|
+
this.log.debug('Starting zigbee2mqtt dynamic platform: ' + reason);
|
|
147
|
+
if (!this.z2mDevicesRegistered || !this.z2mGroupsRegistered) {
|
|
148
|
+
this.shouldStart = true;
|
|
149
|
+
this.log.warn('Setting should start zigbee2mqtt dynamic platform: ', reason);
|
|
150
|
+
}
|
|
151
|
+
if (this.debugEnabled)
|
|
152
|
+
Logger.defaultLogLevel = Level.INFO;
|
|
153
|
+
if (!this.z2mDevicesRegistered && this.z2mBridgeDevices) {
|
|
154
|
+
for (const device of this.z2mBridgeDevices) {
|
|
155
|
+
await this.registerZigbeeDevice(device);
|
|
142
156
|
}
|
|
143
|
-
|
|
157
|
+
this.z2mDevicesRegistered = true;
|
|
158
|
+
}
|
|
159
|
+
if (!this.z2mGroupsRegistered && this.z2mBridgeGroups) {
|
|
160
|
+
for (const group of this.z2mBridgeGroups) {
|
|
161
|
+
await this.registerZigbeeGroup(group);
|
|
162
|
+
}
|
|
163
|
+
this.z2mGroupsRegistered = true;
|
|
164
|
+
}
|
|
165
|
+
if (this.debugEnabled)
|
|
166
|
+
Logger.defaultLogLevel = Level.DEBUG;
|
|
167
|
+
}
|
|
168
|
+
async onConfigure() {
|
|
169
|
+
if (!this.z2mDevicesRegistered || !this.z2mGroupsRegistered) {
|
|
170
|
+
this.shouldConfigure = true;
|
|
171
|
+
this.log.warn('Setting should configure zigbee2mqtt dynamic platform');
|
|
172
|
+
}
|
|
173
|
+
this.log.info(`Configuring ${this.bridgedEntities.length} zigbee entities.`);
|
|
174
|
+
for (const bridgedEntity of this.bridgedEntities) {
|
|
175
|
+
if (bridgedEntity.isDevice && bridgedEntity.device)
|
|
176
|
+
await this.requestDeviceUpdate(bridgedEntity.device);
|
|
177
|
+
if (bridgedEntity.isGroup && bridgedEntity.group)
|
|
178
|
+
await this.requestGroupUpdate(bridgedEntity.group);
|
|
179
|
+
}
|
|
180
|
+
this.log.info(`Configuring ${this.bridgedDevices.length} matter devices.`);
|
|
181
|
+
for (const device of this.bridgedDevices) {
|
|
182
|
+
device.configure();
|
|
183
|
+
}
|
|
144
184
|
}
|
|
145
185
|
async onShutdown(reason) {
|
|
146
186
|
this.log.debug('Shutting down zigbee2mqtt platform: ' + reason);
|
|
147
187
|
//this.updateAvailability(false);
|
|
148
|
-
await this.unregisterAllDevices();
|
|
188
|
+
//await this.unregisterAllDevices();
|
|
149
189
|
this.z2m.stop();
|
|
150
190
|
}
|
|
151
191
|
async requestDeviceUpdate(device) {
|
|
192
|
+
this.log.debug(`Requesting update for ${device.friendly_name} model_id: ${device.model_id} manufacturer: ${device.manufacturer}`);
|
|
152
193
|
const payload = {};
|
|
153
|
-
if (!device.definition || !device.definition.exposes)
|
|
194
|
+
if (device.power_source === 'Battery' || !device.definition || !device.definition.exposes)
|
|
154
195
|
return;
|
|
155
196
|
for (const feature of device.definition.exposes) {
|
|
156
197
|
if (feature.features) {
|
|
@@ -170,6 +211,7 @@ export class ZigbeePlatform extends MatterbridgeDynamicPlatform {
|
|
|
170
211
|
}
|
|
171
212
|
}
|
|
172
213
|
async requestGroupUpdate(group) {
|
|
214
|
+
this.log.debug(`Requesting update for ${group.friendly_name}`);
|
|
173
215
|
const payload = {};
|
|
174
216
|
payload['state'] = '';
|
|
175
217
|
if (payload && Object.keys(payload).length > 0) {
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/dist/zigbee2mqtt.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @file zigbee2mqtt.ts
|
|
5
5
|
* @author Luca Liguori
|
|
6
6
|
* @date 2023-06-30
|
|
7
|
-
* @version 2.2.
|
|
7
|
+
* @version 2.2.15
|
|
8
8
|
*
|
|
9
9
|
* Copyright 2023, 2024 Luca Liguori.
|
|
10
10
|
*
|
|
@@ -123,6 +123,8 @@ export declare class Zigbee2MQTT extends EventEmitter {
|
|
|
123
123
|
mqttHost: string;
|
|
124
124
|
mqttPort: number;
|
|
125
125
|
mqttTopic: string;
|
|
126
|
+
mqttUsername: string | undefined;
|
|
127
|
+
mqttPassword: string | undefined;
|
|
126
128
|
private mqttClient;
|
|
127
129
|
private mqttIsConnected;
|
|
128
130
|
private mqttIsReconnecting;
|
|
@@ -139,7 +141,7 @@ export declare class Zigbee2MQTT extends EventEmitter {
|
|
|
139
141
|
z2mDevices: z2mDevice[];
|
|
140
142
|
z2mGroups: z2mGroup[];
|
|
141
143
|
private options;
|
|
142
|
-
constructor(mqttHost: string, mqttPort: number, mqttTopic: string);
|
|
144
|
+
constructor(mqttHost: string, mqttPort: number, mqttTopic: string, mqttUsername?: string, mqttPassword?: string);
|
|
143
145
|
setDataPath(dataPath: string): Promise<void>;
|
|
144
146
|
private getUrl;
|
|
145
147
|
start(): Promise<void>;
|
|
@@ -148,6 +150,7 @@ export declare class Zigbee2MQTT extends EventEmitter {
|
|
|
148
150
|
publish(topic: string, message: string, queue?: boolean): Promise<void>;
|
|
149
151
|
private writeBufferJSON;
|
|
150
152
|
private writeFile;
|
|
153
|
+
private tryJsonParse;
|
|
151
154
|
private messageHandler;
|
|
152
155
|
getDevice(name: string): z2mDevice | undefined;
|
|
153
156
|
getGroup(name: string): z2mGroup | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zigbee2mqtt.d.ts","sourceRoot":"","sources":["../src/zigbee2mqtt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;AAOH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAmB,QAAQ,EAAY,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"zigbee2mqtt.d.ts","sourceRoot":"","sources":["../src/zigbee2mqtt.ts"],"names":[],"mappings":"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"}
|
package/dist/zigbee2mqtt.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* @file zigbee2mqtt.ts
|
|
5
5
|
* @author Luca Liguori
|
|
6
6
|
* @date 2023-06-30
|
|
7
|
-
* @version 2.2.
|
|
7
|
+
* @version 2.2.15
|
|
8
8
|
*
|
|
9
9
|
* Copyright 2023, 2024 Luca Liguori.
|
|
10
10
|
*
|
|
@@ -36,6 +36,8 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
36
36
|
mqttHost;
|
|
37
37
|
mqttPort;
|
|
38
38
|
mqttTopic;
|
|
39
|
+
mqttUsername;
|
|
40
|
+
mqttPassword;
|
|
39
41
|
mqttClient;
|
|
40
42
|
mqttIsConnected = false;
|
|
41
43
|
mqttIsReconnecting = false;
|
|
@@ -64,11 +66,17 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
64
66
|
clean: true,
|
|
65
67
|
};
|
|
66
68
|
// Constructor
|
|
67
|
-
constructor(mqttHost, mqttPort, mqttTopic) {
|
|
69
|
+
constructor(mqttHost, mqttPort, mqttTopic, mqttUsername = '', mqttPassword = '') {
|
|
68
70
|
super();
|
|
69
71
|
this.mqttHost = mqttHost;
|
|
70
72
|
this.mqttPort = mqttPort;
|
|
71
73
|
this.mqttTopic = mqttTopic;
|
|
74
|
+
this.mqttUsername = mqttUsername;
|
|
75
|
+
this.mqttPassword = mqttPassword;
|
|
76
|
+
if (mqttUsername !== '' && mqttPassword !== '') {
|
|
77
|
+
this.options.username = mqttUsername;
|
|
78
|
+
this.options.password = mqttPassword;
|
|
79
|
+
}
|
|
72
80
|
this.z2mIsAvailabilityEnabled = false;
|
|
73
81
|
this.z2mIsOnline = false;
|
|
74
82
|
this.z2mPermitJoin = false;
|
|
@@ -77,7 +85,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
77
85
|
this.z2mDevices = [];
|
|
78
86
|
this.z2mGroups = [];
|
|
79
87
|
this.log = new AnsiLogger({ logName: 'Zigbee2MQTT', logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */ });
|
|
80
|
-
this.log.debug(`Created new instance with host: ${mqttHost} port: ${mqttPort} topic: ${mqttTopic}`);
|
|
88
|
+
this.log.debug(`Created new instance with host: ${mqttHost} port: ${mqttPort} topic: ${mqttTopic} username: ${mqttUsername} password: ${mqttPassword !== '' ? '*****' : ''}`);
|
|
81
89
|
}
|
|
82
90
|
async setDataPath(dataPath) {
|
|
83
91
|
try {
|
|
@@ -273,7 +281,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
273
281
|
let jsonData;
|
|
274
282
|
// Parse the buffer to JSON
|
|
275
283
|
try {
|
|
276
|
-
jsonData =
|
|
284
|
+
jsonData = this.tryJsonParse(buffer.toString());
|
|
277
285
|
}
|
|
278
286
|
catch (error) {
|
|
279
287
|
this.log.error('writeBufferJSON: parsing error:', error);
|
|
@@ -299,9 +307,27 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
299
307
|
this.log.error(`Error writing to ${filePath}:`, error);
|
|
300
308
|
});
|
|
301
309
|
}
|
|
310
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
311
|
+
tryJsonParse(text) {
|
|
312
|
+
try {
|
|
313
|
+
return JSON.parse(text);
|
|
314
|
+
}
|
|
315
|
+
catch (error) {
|
|
316
|
+
this.log.debug(`tryJsonParse: parsing error from ${text}`);
|
|
317
|
+
this.log.error('tryJsonParse: parsing error:', error);
|
|
318
|
+
return {};
|
|
319
|
+
}
|
|
320
|
+
}
|
|
302
321
|
messageHandler(topic, payload) {
|
|
303
322
|
if (topic.startsWith(this.mqttTopic + '/bridge/state')) {
|
|
304
|
-
const
|
|
323
|
+
const payloadString = payload.toString();
|
|
324
|
+
let data = {};
|
|
325
|
+
if (payloadString.startsWith('{') && payloadString.endsWith('}')) {
|
|
326
|
+
data = this.tryJsonParse(payload.toString());
|
|
327
|
+
}
|
|
328
|
+
else {
|
|
329
|
+
data = { state: payloadString };
|
|
330
|
+
}
|
|
305
331
|
//this.log.debug('classZigbee2MQTT=>Message bridge/state', data);
|
|
306
332
|
if (data.state === 'online') {
|
|
307
333
|
this.z2mIsOnline = true;
|
|
@@ -314,7 +340,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
314
340
|
this.log.debug(`Message bridge/state online => ${this.z2mIsOnline}`);
|
|
315
341
|
}
|
|
316
342
|
else if (topic.startsWith(this.mqttTopic + '/bridge/info')) {
|
|
317
|
-
const data =
|
|
343
|
+
const data = this.tryJsonParse(payload.toString());
|
|
318
344
|
//this.log.debug('classZigbee2MQTT=>Message bridge/info', data);
|
|
319
345
|
this.z2mPermitJoin = data.permit_join ? data.permit_join : false;
|
|
320
346
|
this.z2mPermitJoinTimeout = data.permit_join_timeout ? data.permit_join_timeout : 0;
|
|
@@ -329,8 +355,8 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
329
355
|
}
|
|
330
356
|
else if (topic.startsWith(this.mqttTopic + '/bridge/devices')) {
|
|
331
357
|
this.z2mDevices.splice(0, this.z2mDevices.length);
|
|
332
|
-
const devices =
|
|
333
|
-
const data =
|
|
358
|
+
const devices = this.tryJsonParse(payload.toString());
|
|
359
|
+
const data = this.tryJsonParse(payload.toString());
|
|
334
360
|
this.writeBufferJSON('bridge-devices', payload);
|
|
335
361
|
this.emit('bridge-devices', data);
|
|
336
362
|
let index = 1;
|
|
@@ -427,8 +453,8 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
427
453
|
}
|
|
428
454
|
else if (topic.startsWith(this.mqttTopic + '/bridge/groups')) {
|
|
429
455
|
this.z2mGroups.splice(0, this.z2mGroups.length);
|
|
430
|
-
const groups =
|
|
431
|
-
const data =
|
|
456
|
+
const groups = this.tryJsonParse(payload.toString());
|
|
457
|
+
const data = this.tryJsonParse(payload.toString());
|
|
432
458
|
this.writeBufferJSON('bridge-groups', payload);
|
|
433
459
|
this.emit('bridge-groups', data);
|
|
434
460
|
let index = 1;
|
|
@@ -457,7 +483,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
457
483
|
//this.printGroups();
|
|
458
484
|
}
|
|
459
485
|
else if (topic.startsWith(this.mqttTopic + '/bridge/extensions')) {
|
|
460
|
-
const extensions =
|
|
486
|
+
const extensions = this.tryJsonParse(payload.toString());
|
|
461
487
|
for (const extension of extensions) {
|
|
462
488
|
this.log.warn(`Message topic: ${topic} extension: ${extension.name}`);
|
|
463
489
|
}
|
|
@@ -466,7 +492,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
466
492
|
this.handleEvent(payload);
|
|
467
493
|
}
|
|
468
494
|
else if (topic.startsWith(this.mqttTopic + '/bridge/request')) {
|
|
469
|
-
const data =
|
|
495
|
+
const data = this.tryJsonParse(payload.toString());
|
|
470
496
|
this.log.warn(`Message topic: ${topic} payload:${rs}`, data);
|
|
471
497
|
}
|
|
472
498
|
else if (topic.startsWith(this.mqttTopic + '/bridge/response')) {
|
|
@@ -482,7 +508,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
482
508
|
this.handleResponseDeviceRename(payload);
|
|
483
509
|
return;
|
|
484
510
|
}
|
|
485
|
-
const data =
|
|
511
|
+
const data = this.tryJsonParse(payload.toString());
|
|
486
512
|
this.log.warn(`Message topic: ${topic} payload:${rs}`, data);
|
|
487
513
|
/*
|
|
488
514
|
[05/09/2023, 20:35:26] [z2m] classZigbee2MQTT=>Message bridge/response zigbee2mqtt/bridge/response/group/add {
|
|
@@ -512,7 +538,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
512
538
|
service = parts[1];
|
|
513
539
|
}
|
|
514
540
|
if (entity === 'Coordinator') {
|
|
515
|
-
const data =
|
|
541
|
+
const data = this.tryJsonParse(payload.toString()); // TODO crash on device rename
|
|
516
542
|
if (service === 'availability') {
|
|
517
543
|
if (data.state === 'online') {
|
|
518
544
|
this.log.debug(`Received ONLINE for ${id}Coordinator${rs}`, data);
|
|
@@ -539,7 +565,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
539
565
|
}
|
|
540
566
|
else {
|
|
541
567
|
try {
|
|
542
|
-
const data =
|
|
568
|
+
const data = this.tryJsonParse(payload.toString());
|
|
543
569
|
this.log.warn('Message for ***unknown*** entity:', entity, 'service:', service, 'payload:', data);
|
|
544
570
|
}
|
|
545
571
|
catch {
|
|
@@ -561,7 +587,14 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
561
587
|
this.log.warn(`handleDeviceMessage ${id}#${deviceIndex + 1}${rs} entity ${dn}${entity}${rs} service ${zb}${service}${rs} payload null`);
|
|
562
588
|
return;
|
|
563
589
|
}
|
|
564
|
-
const
|
|
590
|
+
const payloadString = payload.toString();
|
|
591
|
+
let data = {};
|
|
592
|
+
if (payloadString.startsWith('{') && payloadString.endsWith('}')) {
|
|
593
|
+
data = this.tryJsonParse(payload.toString());
|
|
594
|
+
}
|
|
595
|
+
else {
|
|
596
|
+
data = { state: payloadString };
|
|
597
|
+
}
|
|
565
598
|
if (service === 'availability') {
|
|
566
599
|
if (data.state === 'online') {
|
|
567
600
|
this.z2mDevices[deviceIndex].isAvailabilityEnabled = true;
|
|
@@ -592,7 +625,14 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
592
625
|
this.log.warn(`handleGroupMessage ${id}#${groupIndex + 1}${rs} entity ${gn}${entity}${rs} service ${zb}${service}${rs} payload null`);
|
|
593
626
|
return;
|
|
594
627
|
}
|
|
595
|
-
const
|
|
628
|
+
const payloadString = payload.toString();
|
|
629
|
+
let data = {};
|
|
630
|
+
if (payloadString.startsWith('{') && payloadString.endsWith('}')) {
|
|
631
|
+
data = this.tryJsonParse(payload.toString());
|
|
632
|
+
}
|
|
633
|
+
else {
|
|
634
|
+
data = { state: payloadString };
|
|
635
|
+
}
|
|
596
636
|
data['last_seen'] = new Date().toISOString();
|
|
597
637
|
if (service === 'availability') {
|
|
598
638
|
if (data.state === 'online') {
|
|
@@ -626,7 +666,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
626
666
|
}
|
|
627
667
|
],
|
|
628
668
|
*/
|
|
629
|
-
const data =
|
|
669
|
+
const data = this.tryJsonParse(payload.toString());
|
|
630
670
|
const topology = data.data.value;
|
|
631
671
|
const lqi = (lqi) => {
|
|
632
672
|
if (lqi < 50) {
|
|
@@ -748,7 +788,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
748
788
|
transaction: 'smeo0-8'
|
|
749
789
|
}
|
|
750
790
|
*/
|
|
751
|
-
const json =
|
|
791
|
+
const json = this.tryJsonParse(payload.toString());
|
|
752
792
|
this.log.warn(`handleResponseDeviceRename from ${json.data.from} to ${json.data.to} status ${json.status}`);
|
|
753
793
|
const device = this.z2mDevices.find((device) => device.friendly_name === json.data.to);
|
|
754
794
|
if (device && json.status === 'ok') {
|
|
@@ -763,7 +803,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
763
803
|
transaction: 'adeis-5'
|
|
764
804
|
}
|
|
765
805
|
*/
|
|
766
|
-
const json =
|
|
806
|
+
const json = this.tryJsonParse(payload.toString());
|
|
767
807
|
this.log.warn(`handleResponsePermitJoin() device: ${json.data.device ? json.data.device : 'All'} time: ${json.data.time} value: ${json.data.value} status: ${json.status}`);
|
|
768
808
|
if (json.status === 'ok') {
|
|
769
809
|
this.emit('permit_join', json.data.device, json.data.time, json.data.value);
|
|
@@ -815,7 +855,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
815
855
|
type: 'device_interview'
|
|
816
856
|
}
|
|
817
857
|
*/
|
|
818
|
-
const json =
|
|
858
|
+
const json = this.tryJsonParse(payload.toString());
|
|
819
859
|
switch (json.type) {
|
|
820
860
|
case undefined:
|
|
821
861
|
this.log.error('handleEvent() undefined type', json);
|
|
@@ -838,7 +878,7 @@ export class Zigbee2MQTT extends EventEmitter {
|
|
|
838
878
|
readConfig(filename) {
|
|
839
879
|
try {
|
|
840
880
|
const rawdata = fs.readFileSync(filename, 'utf-8');
|
|
841
|
-
const data =
|
|
881
|
+
const data = this.tryJsonParse(rawdata);
|
|
842
882
|
return data;
|
|
843
883
|
}
|
|
844
884
|
catch (err) {
|