Add a Nest specific card to frontend

pull/17/head^2
Paulus Schoutsen 2015-01-06 00:11:03 -08:00
parent 8f3a3f89a7
commit 6943a3bc14
6 changed files with 65 additions and 4 deletions

View File

@ -14,6 +14,8 @@ from homeassistant.const import (
ATTR_ENTITY_PICTURE, ATTR_ENTITY_ID, CONF_LATITUDE, CONF_LONGITUDE)
from homeassistant.components.light import (
ATTR_XY_COLOR, ATTR_RGB_COLOR, ATTR_BRIGHTNESS, GROUP_NAME_ALL_LIGHTS)
from homeassistant.components.thermostat import (
ATTR_TARGET_TEMPERATURE, ATTR_AWAY_MODE)
from homeassistant.util import split_entity_id, color_RGB_to_xy
DOMAIN = "demo"
@ -158,4 +160,12 @@ def setup(hass, config):
'unit_of_measurement': '%'
})
# Nest demo
hass.states.set("thermostat.Nest", "15.6",
{
'unit_of_measurement': '°C',
ATTR_TARGET_TEMPERATURE: '23.6',
ATTR_AWAY_MODE: STATE_OFF
})
return True

View File

@ -1,2 +1,2 @@
""" DO NOT MODIFY. Auto-generated by build_frontend script """
VERSION = "daba5365569540aa4a3072be4d1a552d"
VERSION = "7dec66ac57c858565b26db16e150a3b5"

File diff suppressed because one or more lines are too long

View File

@ -2,6 +2,7 @@
<link rel="import" href="state-card-display.html">
<link rel="import" href="state-card-toggle.html">
<link rel="import" href="state-card-thermostat.html">
<polymer-element name="state-card-content" attributes="api stateObj">
<template>

View File

@ -0,0 +1,40 @@
<script src="../bower_components/moment/moment.js"></script>
<link rel="import" href="../bower_components/polymer/polymer.html">
<link rel="import" href="../components/state-info.html">
<polymer-element name="state-card-thermostat" attributes="stateObj api">
<template>
<style>
.state {
margin-left: 16px;
text-transform: capitalize;
font-weight: 300;
font-size: 1.3rem;
text-align: right;
}
.extra {
text-transform: none;
font-size: 1rem;
}
</style>
<div horizontal justified layout>
<state-info stateObj="{{stateObj}}"></state-info>
<div class='state'>
{{stateObj.stateDisplay}}
<template if="{{stateObj.attributes.target_temperature && stateObj.attributes.target_temperature != stateObj.state}}">
-> {{stateObj.attributes.target_temperature}} {{stateObj.attributes.unit_of_measurement}}
</template>
<div class='extra'>
Away mode is {{stateObj.attributes.away_mode}}
</div>
</div>
</div>
</template>
<script>
Polymer({});
</script>
</polymer-element>

View File

@ -39,6 +39,7 @@
<state-card-dialog id="stateCardDialog" api={{api}}></state-card-dialog>
</template>
<script>
var domainsWithCard = ['thermostat'];
var domainsWithMoreInfo = ['light', 'group', 'sun'];
State = function(json, api) {
@ -91,7 +92,9 @@
// how to render the card for this state
cardType: {
get: function() {
if(this.canToggle) {
if(domainsWithCard.indexOf(this.domain) !== -1) {
return this.domain;
} else if(this.canToggle) {
return "toggle";
} else {
return "display";