diff --git a/src/panels/lovelace/cards/hui-glance-card.js b/src/panels/lovelace/cards/hui-glance-card.js index db8bf7ebf5..c4796e4655 100644 --- a/src/panels/lovelace/cards/hui-glance-card.js +++ b/src/panels/lovelace/cards/hui-glance-card.js @@ -86,8 +86,6 @@ class HuiGlanceCard extends LocalizeMixin(EventsMixin(PolymerElement)) { } _computeEntities(config) { - const entities = computeConfigEntities(config); - if (!validateEntitiesConfig(config)) { const error = 'Error in card configuration.'; this._error = createErrorCardConfig(error, config); @@ -95,7 +93,7 @@ class HuiGlanceCard extends LocalizeMixin(EventsMixin(PolymerElement)) { } this._error = null; - return entities; + return computeConfigEntities(config); } _showEntity(item, states) { diff --git a/src/panels/lovelace/common/validate-entities-config.js b/src/panels/lovelace/common/validate-entities-config.js index c005a5b276..4fe36aa438 100644 --- a/src/panels/lovelace/common/validate-entities-config.js +++ b/src/panels/lovelace/common/validate-entities-config.js @@ -13,6 +13,11 @@ export default function validateEntitiesConfig(config, additionalKeys = []) { return false; } - return entities.every(entity => entity && typeof entity === 'object' && !Array.isArray(entity) && - 'entity' in entity && validEntityId(entity.entity) && additionalKeys.every(key => key in entity)); + return entities.every(entity => { + if (typeof entity === 'string') { + return validEntityId(entity) && !additionalKeys.length; + } + return entity && typeof entity === 'object' && !Array.isArray(entity) && + 'entity' in entity && validEntityId(entity.entity) && additionalKeys.every(key => key in entity) + }); }