From 7675dd1bcbb45837b9c7bd2573d46c83e504f4e3 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 20 Jul 2021 16:53:49 +0200 Subject: [PATCH] Handle enabled by default for enum types / select|sensor entities (#8087) * Disable power_on_behavior select entities by default * Populate a bunch more * Restore text type action lookup, it is used for DIY devices * Remove stale comment --- lib/extension/homeassistant.js | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/extension/homeassistant.js b/lib/extension/homeassistant.js index 7a29125a..814d9736 100644 --- a/lib/extension/homeassistant.js +++ b/lib/extension/homeassistant.js @@ -489,6 +489,22 @@ class HomeAssistant extends Extension { } else if (firstExpose.type === 'enum') { const lookup = { action: {icon: 'mdi:gesture-double-tap'}, + backlight_auto_dim: {enabled_by_default: false, icon: 'mdi:brightness-auto'}, + backlight_mode: {enabled_by_default: false, icon: 'mdi:lightbulb'}, + color_power_on_behavior: {enabled_by_default: false, icon: 'mdi:palette'}, + device_mode: {enabled_by_default: false, icon: 'mdi:tune'}, + keep_time: {enabled_by_default: false, icon: 'mdi:av-timer'}, + melody: {icon: 'mdi:music-note'}, + mode_phase_control: {enabled_by_default: false, icon: 'mdi:tune'}, + mode: {enabled_by_default: false, icon: 'mdi:tune'}, + motion_sensitivity: {enabled_by_default: false, icon: 'mdi:tune'}, + operation_mode: {enabled_by_default: false, icon: 'mdi:tune'}, + power_on_behavior: {enabled_by_default: false, icon: 'mdi:power-settings'}, + power_outage_memory: {enabled_by_default: false, icon: 'mdi:power-settings'}, + sensitivity: {enabled_by_default: false, icon: 'mdi:tune'}, + sensors_type: {enabled_by_default: false, icon: 'mdi:tune'}, + switch_type: {enabled_by_default: false, icon: 'mdi:tune'}, + volume: {icon: 'mdi: volume-high'}, }; if (firstExpose.access & ACCESS_STATE) { @@ -497,6 +513,7 @@ class HomeAssistant extends Extension { object_id: firstExpose.property, discovery_payload: { value_template: `{{ value_json.${firstExpose.property} }}`, + enabled_by_default: !(firstExpose.access & ACCESS_SET), ...lookup[firstExpose.name], }, }); @@ -505,8 +522,6 @@ class HomeAssistant extends Extension { * If enum attribute has SET access then expose as SELECT entity too. */ if ((firstExpose.access & ACCESS_SET)) { - // Make the sensor disabled by default for new entities. - discoveryEntries[discoveryEntries.length - 1].discovery_payload.enabled_by_default = false; discoveryEntries.push({ type: 'select', object_id: firstExpose.property,