diff --git a/lib/extension/bridge.ts b/lib/extension/bridge.ts index a29e9467e..89a4e5ff1 100644 --- a/lib/extension/bridge.ts +++ b/lib/extension/bridge.ts @@ -800,7 +800,7 @@ export default class Bridge extends Extension { } async publishDefinitions(): Promise { - const data: Zigbee2MQTTAPI["bridge/definition"] = { + const data: Zigbee2MQTTAPI["bridge/definitions"] = { clusters: Zcl.Clusters, custom_clusters: {}, }; diff --git a/lib/extension/groups.ts b/lib/extension/groups.ts index bed32bdc5..89e575df5 100644 --- a/lib/extension/groups.ts +++ b/lib/extension/groups.ts @@ -196,7 +196,10 @@ export default class Groups extends Extension { let resolvedGroup: Group | undefined; let groupKey: string | undefined; let skipDisableReporting = false; - const message = JSON.parse(data.message) as Zigbee2MQTTAPI["bridge/request/group/members/add"]; + const message = JSON.parse(data.message) as + | Zigbee2MQTTAPI["bridge/request/group/members/add"] + | Zigbee2MQTTAPI["bridge/request/group/members/remove"] + | Zigbee2MQTTAPI["bridge/request/group/members/remove_all"]; if (typeof message !== "object" || message.device == null) { return [message, {type, skipDisableReporting}, "Invalid payload"]; @@ -206,12 +209,12 @@ export default class Groups extends Extension { skipDisableReporting = message.skip_disable_reporting != null ? message.skip_disable_reporting : false; if (type !== "remove_all") { - groupKey = message.group; - - if (message.group == null) { + if (!("group" in message) || message.group == null) { return [message, {type, skipDisableReporting}, "Invalid payload"]; } + groupKey = message.group; + const group = this.zigbee.resolveEntity(message.group); if (!group || !(group instanceof Group)) { diff --git a/lib/types/api.ts b/lib/types/api.ts index 3859e1492..2e013fb7c 100644 --- a/lib/types/api.ts +++ b/lib/types/api.ts @@ -301,7 +301,7 @@ export interface Zigbee2MQTTAPI { state: "online" | "offline"; }; - "bridge/definition": { + "bridge/definitions": { clusters: Readonly>>; custom_clusters: Record; }; @@ -673,7 +673,7 @@ export interface Zigbee2MQTTAPI { "bridge/request/group/add": { friendly_name: string; - id: string; + id?: string; }; "bridge/response/group/add": {