mirror of
https://github.com/home-assistant/frontend.git
synced 2025-12-20 02:38:53 +00:00
First draft of climate (#91)
* First draft of climate * Use thermostat state card info * Make sure temperature is updated
This commit is contained in:
committed by
Paulus Schoutsen
parent
2c61fb2b72
commit
533ac9fade
@@ -182,6 +182,41 @@
|
||||
};
|
||||
}
|
||||
|
||||
states.forEach(processState);
|
||||
} else if (domain === 'climate') {
|
||||
// We differentiate between thermostats that have a target temperature
|
||||
// range versus ones that have just a target temperature
|
||||
hasTargetRange = states.reduce(
|
||||
function (cum, cur) {
|
||||
return cum || cur.attributes.target_temp_high !== cur.attributes.target_temp_low;
|
||||
}, false);
|
||||
|
||||
dataTable.addColumn('number', name + ' current temperature');
|
||||
|
||||
if (hasTargetRange) {
|
||||
dataTable.addColumn('number', name + ' target temperature high');
|
||||
dataTable.addColumn('number', name + ' target temperature low');
|
||||
|
||||
noInterpolations = [false, true, true];
|
||||
|
||||
processState = function (state) {
|
||||
var curTemp = saveParseFloat(state.attributes.current_temperature);
|
||||
var targetHigh = saveParseFloat(state.attributes.target_temp_high);
|
||||
var targetLow = saveParseFloat(state.attributes.target_temp_low);
|
||||
pushData([state.lastUpdatedAsDate, curTemp, targetHigh, targetLow], noInterpolations);
|
||||
};
|
||||
} else {
|
||||
dataTable.addColumn('number', name + ' target temperature');
|
||||
|
||||
noInterpolations = [false, true];
|
||||
|
||||
processState = function (state) {
|
||||
var curTemp = saveParseFloat(state.attributes.current_temperature);
|
||||
var target = saveParseFloat(state.attributes.temperature);
|
||||
pushData([state.lastUpdatedAsDate, curTemp, target], noInterpolations);
|
||||
};
|
||||
}
|
||||
|
||||
states.forEach(processState);
|
||||
} else {
|
||||
dataTable.addColumn('number', name);
|
||||
|
||||
Reference in New Issue
Block a user