mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-13 20:36:35 +00:00
Add Binary Sensor State Card (#273)
* Add binary sensor state card * use state-card-display as a template instead of state-card-toggle * change == to ===
This commit is contained in:
parent
e0787ab60f
commit
f020e60b67
73
src/state-summary/state-card-binary_sensor.html
Normal file
73
src/state-summary/state-card-binary_sensor.html
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
<link rel="import" href="../../bower_components/polymer/polymer.html">
|
||||||
|
|
||||||
|
<link rel="import" href="../../bower_components/iron-flex-layout/iron-flex-layout-classes.html">
|
||||||
|
|
||||||
|
<link rel="import" href="../components/entity/state-info.html">
|
||||||
|
|
||||||
|
<dom-module id="state-card-binary_sensor">
|
||||||
|
<template>
|
||||||
|
<style is="custom-style" include="iron-flex iron-flex-alignment"></style>
|
||||||
|
<style>
|
||||||
|
.state {
|
||||||
|
@apply(--paper-font-body1);
|
||||||
|
color: var(--primary-text-color);
|
||||||
|
|
||||||
|
margin-left: 16px;
|
||||||
|
text-align: right;
|
||||||
|
line-height: 40px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<div class='horizontal justified layout'>
|
||||||
|
<state-info state-obj="[[stateObj]]" in-dialog='[[inDialog]]'></state-info>
|
||||||
|
<div class='state'>[[computeStateDisplay(stateObj)]]</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</dom-module>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
Polymer({
|
||||||
|
is: 'state-card-binary_sensor',
|
||||||
|
|
||||||
|
properties: {
|
||||||
|
hass: {
|
||||||
|
type: Object,
|
||||||
|
},
|
||||||
|
|
||||||
|
inDialog: {
|
||||||
|
type: Boolean,
|
||||||
|
value: false,
|
||||||
|
},
|
||||||
|
|
||||||
|
stateObj: {
|
||||||
|
type: Object,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
computeStateDisplay: function (stateObj) {
|
||||||
|
var state = window.hassUtil.computeStateState(stateObj);
|
||||||
|
switch (stateObj.attributes.device_class) {
|
||||||
|
case 'moisture':
|
||||||
|
return (state === 'off') ? 'dry' : 'wet';
|
||||||
|
case 'gas':
|
||||||
|
case 'motion':
|
||||||
|
case 'occupancy':
|
||||||
|
case 'smoke':
|
||||||
|
case 'sound':
|
||||||
|
case 'vibration':
|
||||||
|
return (state === 'off') ? 'clear' : 'detected';
|
||||||
|
case 'opening':
|
||||||
|
return (state === 'off') ? 'closed' : 'open';
|
||||||
|
case 'safety':
|
||||||
|
return (state === 'off') ? 'safe' : 'unsafe';
|
||||||
|
case 'cold':
|
||||||
|
case 'connectivity':
|
||||||
|
case 'heat':
|
||||||
|
case 'light':
|
||||||
|
case 'moving':
|
||||||
|
case 'power':
|
||||||
|
default:
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
@ -1,5 +1,6 @@
|
|||||||
<link rel="import" href="../../bower_components/polymer/polymer.html">
|
<link rel="import" href="../../bower_components/polymer/polymer.html">
|
||||||
|
|
||||||
|
<link rel="import" href="state-card-binary_sensor.html">
|
||||||
<link rel="import" href="state-card-climate.html">
|
<link rel="import" href="state-card-climate.html">
|
||||||
<link rel="import" href="state-card-configurator.html">
|
<link rel="import" href="state-card-configurator.html">
|
||||||
<link rel="import" href="state-card-cover.html">
|
<link rel="import" href="state-card-cover.html">
|
||||||
|
@ -11,6 +11,7 @@ window.hassUtil.DEFAULT_ICON = 'mdi:bookmark';
|
|||||||
window.hassUtil.OFF_STATES = ['off', 'closed', 'unlocked'];
|
window.hassUtil.OFF_STATES = ['off', 'closed', 'unlocked'];
|
||||||
|
|
||||||
window.hassUtil.DOMAINS_WITH_CARD = [
|
window.hassUtil.DOMAINS_WITH_CARD = [
|
||||||
|
'binary_sensor',
|
||||||
'climate',
|
'climate',
|
||||||
'cover',
|
'cover',
|
||||||
'configurator',
|
'configurator',
|
||||||
@ -23,7 +24,7 @@ window.hassUtil.DOMAINS_WITH_CARD = [
|
|||||||
];
|
];
|
||||||
|
|
||||||
window.hassUtil.DOMAINS_WITH_MORE_INFO = [
|
window.hassUtil.DOMAINS_WITH_MORE_INFO = [
|
||||||
'alarm_control_panel', 'automation', 'camera', 'climate', 'configurator',
|
'alarm_control_panel', 'automation', 'binary_sensor', 'camera', 'climate', 'configurator',
|
||||||
'cover', 'fan', 'group', 'light', 'lock', 'media_player', 'script',
|
'cover', 'fan', 'group', 'light', 'lock', 'media_player', 'script',
|
||||||
'sun', 'updater',
|
'sun', 'updater',
|
||||||
];
|
];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user