diff --git a/lib/controller.js b/lib/controller.js index ba5eceeb6..411e27cae 100644 --- a/lib/controller.js +++ b/lib/controller.js @@ -245,7 +245,14 @@ class Controller { this.mqtt.publish(entity.friendlyName, JSON.stringify(messagePayload), options); } else if (settings.get().experimental.output === 'attribute') { Object.keys(messagePayload).forEach((key) => { - this.mqtt.publish(`${entity.friendlyName}/${key}`, JSON.stringify(messagePayload[key]), options); + if (typeof messagePayload[key] == 'object') { + Object.keys(messagePayload[key]).forEach((subKey) => { + this.mqtt.publish(`${entity.friendlyName}/${key}-${subKey}`, + JSON.stringify(messagePayload[key][subKey]), options); + }); + } else { + this.mqtt.publish(`${entity.friendlyName}/${key}`, JSON.stringify(messagePayload[key]), options); + } }); } }