From 48d5ee70c0424fedaa5b3faea39fed4c546288f5 Mon Sep 17 00:00:00 2001 From: nobodypb <500155+nobodypb@users.noreply.github.com> Date: Sun, 30 Aug 2020 09:27:15 +0200 Subject: [PATCH] Return friendlyNames as answer to get_group_membership (#4210) * Return friendlyNames as answer to get_group_membership It would be a lot more useful, if you'd return the friendly names of the groups :wink: * Make the linter happy * Gracefully echo warning if response is undefined * Making friendship with the linter Sorry, really shoud have used an IDE --- lib/extension/legacy/deviceGroupMembership.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/extension/legacy/deviceGroupMembership.js b/lib/extension/legacy/deviceGroupMembership.js index e7014e387..d282a7f68 100644 --- a/lib/extension/legacy/deviceGroupMembership.js +++ b/lib/extension/legacy/deviceGroupMembership.js @@ -29,7 +29,18 @@ class DeviceGroupMembership extends Extension { `genGroups`, 'getMembership', {groupcount: 0, grouplist: []}, {}, true, ); - const {grouplist, capacity} = response; + if (!response) { + logger.warn(`Couldn't get group membership of ${entity.device.ieeeAddr}`); + return; + } + + let {grouplist, capacity} = response; + + grouplist = grouplist.map((gid) => { + const g = settings.getGroup(gid); + return g ? g.friendlyName : gid; + }); + const msgGroupList = `${entity.device.ieeeAddr} is in groups [${grouplist}]`; let msgCapacity; if (capacity === 254) {