From ff2fe2b358d03439e63975a0bedd14d70ee0e303 Mon Sep 17 00:00:00 2001 From: Koen Kanters Date: Sat, 8 Aug 2020 13:54:39 +0200 Subject: [PATCH] Separate Home Assisant name by space instead of _ when friendlyName contains space. #4048 --- lib/extension/homeassistant.js | 5 +++-- test/homeassistant.test.js | 12 ++++++------ test/stub/data.js | 2 +- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/lib/extension/homeassistant.js b/lib/extension/homeassistant.js index 1589a2c02..b0aa58434 100644 --- a/lib/extension/homeassistant.js +++ b/lib/extension/homeassistant.js @@ -2095,8 +2095,9 @@ class HomeAssistant extends Extension { payload.json_attributes_topic = stateTopic; - // Set (unique) name - payload.name = `${friendlyName}_${config.object_id}`; + // Set (unique) name, separate by space if friendlyName contains space. + const nameSeparator = friendlyName.includes(' ') ? ' ' : '_'; + payload.name = `${friendlyName}${nameSeparator}${config.object_id}`; // Set unique_id payload.unique_id = `${deviceSettings.ID}_${config.object_id}_${settings.get().mqtt.base_topic}`; diff --git a/test/homeassistant.test.js b/test/homeassistant.test.js index b94fc950c..e27a939b7 100644 --- a/test/homeassistant.test.js +++ b/test/homeassistant.test.js @@ -433,18 +433,18 @@ describe('HomeAssistant extension', () => { await flushPromises(); payload = { - command_topic: 'zigbee2mqtt/smart_vent/set', - position_topic: 'zigbee2mqtt/smart_vent', - set_position_topic: 'zigbee2mqtt/smart_vent/set', + command_topic: 'zigbee2mqtt/smart vent/set', + position_topic: 'zigbee2mqtt/smart vent', + set_position_topic: 'zigbee2mqtt/smart vent/set', set_position_template: '{ "position": {{ position }} }', value_template: '{{ value_json.position }}', - json_attributes_topic: 'zigbee2mqtt/smart_vent', - name: 'smart_vent_cover', + json_attributes_topic: 'zigbee2mqtt/smart vent', + name: 'smart vent cover', unique_id: '0x0017880104e45551_cover_zigbee2mqtt', device: { identifiers: [ 'zigbee2mqtt_0x0017880104e45551' ], - name: 'smart_vent', + name: 'smart vent', sw_version: this.version, model: 'Smart vent (SV01)', manufacturer: 'Keen Home' diff --git a/test/stub/data.js b/test/stub/data.js index cd4635270..ce5ff9b03 100644 --- a/test/stub/data.js +++ b/test/stub/data.js @@ -109,7 +109,7 @@ function writeDefaultConfiguration() { }, '0x0017880104e45551': { retain: false, - friendly_name: 'smart_vent' + friendly_name: 'smart vent' }, '0x0017880104e45552': { retain: false,