From f8fc8c888fcfabba881d514c5de139da69493940 Mon Sep 17 00:00:00 2001
From: Paulus Schoutsen
+
{{stateObj.attributes.description}}
{{stateObj.attributes.errors}}
Currently: {{stateObj.attributes.current_temperature}} {{stateObj.attributes.unit_of_measurement}}
- {{stateObj.stateDisplay}}
+ {{stateObj.stateDisplay}}
{{key}}
{{stateObj.attributes[key]}}
@@ -172,15 +172,15 @@ b.events&&Object.keys(a).length>0&&console.log("[%s] addHostListeners:",this.loc
Setting {{stateObj.attributes.next_setting | relativeHATime}}
{{stateObj.attributes.next_setting | HATimeStripDate}}
-
It looks like we have nothing to show you right now. It could be that we have not yet discovered all your devices but it is more likely that you have not configured Home Assistant yet. diff --git a/homeassistant/components/frontend/www_static/polymer/components/state-timeline.html b/homeassistant/components/frontend/www_static/polymer/components/state-timeline.html index e63bcf2b6f3..9ded10dd3ae 100644 --- a/homeassistant/components/frontend/www_static/polymer/components/state-timeline.html +++ b/homeassistant/components/frontend/www_static/polymer/components/state-timeline.html @@ -47,43 +47,45 @@ dataTable.addColumn({ type: 'date', id: 'Start' }); dataTable.addColumn({ type: 'date', id: 'End' }); - var stateTimeToDate = function(time) { - if (!time) return new Date(); - - return window.hass.util.parseTime(time).toDate(); + var addRow = function(entityDisplay, stateStr, start, end) { + dataTable.addRow([entityDisplay, stateStr, start, end]); }; - var addRow = function(baseState, state, tillState) { - tillState = tillState || {}; - - dataTable.addRow([ - baseState.entityDisplay, state.state, - stateTimeToDate(state.last_changed), - stateTimeToDate(tillState.last_changed)]); - }; + if (this.stateHistory.length === 0) { + return; + } // people can pass in history of 1 entityId or a collection. - var stateHistory = _.isArray(this.stateHistory[0]) ? - this.stateHistory : [this.stateHistory]; + + var stateHistory; + if (_.isArray(this.stateHistory[0])) { + stateHistory = this.stateHistory; + } else { + stateHistory = [this.stateHistory]; + } // stateHistory is a list of lists of sorted state objects stateHistory.forEach(function(stateInfo) { if(stateInfo.length === 0) return; - var baseState = new window.hass.stateModel(stateInfo[0]); - - var prevRow = null; + var entityDisplay = stateInfo[0].entityDisplay; + var newLastChanged, prevState = null, prevLastChanged = null; stateInfo.forEach(function(state) { - if (prevRow !== null && state.state !== prevRow.state) { - addRow(baseState, prevRow, state); - prevRow = state; - } else if (prevRow === null) { - prevRow = state; + if (prevState !== null && state.state !== prevState) { + newLastChanged = state.lastChangedAsDate; + + addRow(entityDisplay, prevState, prevLastChanged, newLastChanged); + + prevState = state.state; + prevLastChanged = newLastChanged; + } else if (prevState === null) { + prevState = state.state; + prevLastChanged = state.lastChangedAsDate; } }); - addRow(baseState, prevRow, null); + addRow(entityDisplay, prevState, prevLastChanged, new Date()); }.bind(this)); chart.draw(dataTable, { diff --git a/homeassistant/components/frontend/www_static/polymer/home-assistant-api.html b/homeassistant/components/frontend/www_static/polymer/home-assistant-api.html index e168b75a123..e4de7a2e4b9 100644 --- a/homeassistant/components/frontend/www_static/polymer/home-assistant-api.html +++ b/homeassistant/components/frontend/www_static/polymer/home-assistant-api.html @@ -11,8 +11,11 @@ // Register some polymer filters PolymerExpressions.prototype.relativeHATime = function(timeString) { - return window.hass.util.relativeTime(timeString); + if (!timeString) return; + + return moment(window.hass.util.parseDateTime(timeString)).fromNow(); }; + PolymerExpressions.prototype.HATimeStripDate = function(timeString) { return (timeString || "").split(' ')[0]; }; diff --git a/homeassistant/components/frontend/www_static/polymer/home-assistant-js b/homeassistant/components/frontend/www_static/polymer/home-assistant-js index bf56426c553..4bba39bf150 160000 --- a/homeassistant/components/frontend/www_static/polymer/home-assistant-js +++ b/homeassistant/components/frontend/www_static/polymer/home-assistant-js @@ -1 +1 @@ -Subproject commit bf56426c553863e21790c7f1718b18e7dd89427c +Subproject commit 4bba39bf1503bd98669cb3deba0d2e17bc03336d diff --git a/homeassistant/components/frontend/www_static/polymer/more-infos/more-info-sun.html b/homeassistant/components/frontend/www_static/polymer/more-infos/more-info-sun.html index b0814622066..1e13b4be6cf 100644 --- a/homeassistant/components/frontend/www_static/polymer/more-infos/more-info-sun.html +++ b/homeassistant/components/frontend/www_static/polymer/more-infos/more-info-sun.html @@ -31,8 +31,8 @@ Polymer({ stateObjChanged: function() { - var rising = window.hass.util.parseTime(this.stateObj.attributes.next_rising); - var setting = window.hass.util.parseTime(this.stateObj.attributes.next_setting); + var rising = window.hass.util.parseDateTime(this.stateObj.attributes.next_rising); + var setting = window.hass.util.parseDateTime(this.stateObj.attributes.next_setting); if(rising > setting) { this.$.sunData.appendChild(this.$.rising);