Display error icon if unavailable

This commit is contained in:
William Scanlon 2016-03-01 11:39:08 -05:00
parent cedff05684
commit fefa4e6d5c
2 changed files with 6 additions and 7 deletions

View File

@ -28,17 +28,11 @@
color: #DCC91F; color: #DCC91F;
} }
/* Color the icon if entity is offline */
ha-state-icon[data-domain=light][data-online=offline],
ha-state-icon[data-domain=switch][data-online=offline],
ha-state-icon[data-domain=binary_sensor][data-online=offline] {
color: #D3D3D3;
}
</style> </style>
<template> <template>
<ha-state-icon id='icon' state-obj='[[stateObj]]' <ha-state-icon id='icon' state-obj='[[stateObj]]'
data-domain$='[[stateObj.domain]]' data-state$='[[stateObj.state]]' data-online$='[[stateObj.online]]'> data-domain$='[[stateObj.domain]]' data-state$='[[stateObj.state]]'>
</ha-state-icon> </ha-state-icon>
</template> </template>
</dom-module> </dom-module>

View File

@ -6,6 +6,9 @@ const { util: { temperatureUnits } } = hass;
function binarySensorIcon(state) { function binarySensorIcon(state) {
const activated = state.state && state.state === 'off'; const activated = state.state && state.state === 'off';
if (state.state && state.state === 'unavailable') {
return 'mdi:alert-circle-outline';
}
switch (state.attributes.sensor_class) { switch (state.attributes.sensor_class) {
case 'opening': case 'opening':
return activated ? 'mdi:crop-square' : 'mdi:exit-to-app'; return activated ? 'mdi:crop-square' : 'mdi:exit-to-app';
@ -33,6 +36,8 @@ function binarySensorIcon(state) {
export default function stateIcon(state) { export default function stateIcon(state) {
if (!state) { if (!state) {
return defaultIcon; return defaultIcon;
} else if (state.state && state.state === 'unavailable') {
return 'mdi:alert-circle-outline';
} else if (state.attributes.icon) { } else if (state.attributes.icon) {
return state.attributes.icon; return state.attributes.icon;
} }