WIP #106
This commit is contained in:
parent
ffc053fbe6
commit
69f45b52cf
@ -233,6 +233,8 @@ class ClimateEntity extends Entity {
|
|||||||
|
|
||||||
List<String> get operationList => (attributes["operation_list"] as List).cast<String>();
|
List<String> get operationList => (attributes["operation_list"] as List).cast<String>();
|
||||||
double get temperature => _getTemperature();
|
double get temperature => _getTemperature();
|
||||||
|
double get targetHigh => _getTargetHigh();
|
||||||
|
double get targetLow => _getTargetLow();
|
||||||
String get operationMode => attributes['operation_mode'] ?? "";
|
String get operationMode => attributes['operation_mode'] ?? "";
|
||||||
bool get awayMode => attributes['away_mode'] == "on";
|
bool get awayMode => attributes['away_mode'] == "on";
|
||||||
|
|
||||||
@ -249,13 +251,35 @@ class ClimateEntity extends Entity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
double _getTemperature() {
|
double _getTemperature() {
|
||||||
var temp1 = attributes['temperature'] ?? attributes['target_temp_low'];
|
var temp1 = attributes['temperature'];
|
||||||
if (temp1 is int) {
|
if (temp1 is int) {
|
||||||
return temp1.toDouble();
|
return temp1.toDouble();
|
||||||
} else if (temp1 is double) {
|
} else if (temp1 is double) {
|
||||||
return temp1;
|
return temp1;
|
||||||
} else {
|
} else {
|
||||||
return 0.0;
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
double _getTargetHigh() {
|
||||||
|
var temp1 = attributes['target_temp_high'];
|
||||||
|
if (temp1 is int) {
|
||||||
|
return temp1.toDouble();
|
||||||
|
} else if (temp1 is double) {
|
||||||
|
return temp1;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
double _getTargetLow() {
|
||||||
|
var temp1 = attributes['target_temp_low'];
|
||||||
|
if (temp1 is int) {
|
||||||
|
return temp1.toDouble();
|
||||||
|
} else if (temp1 is double) {
|
||||||
|
return temp1;
|
||||||
|
} else {
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -237,13 +237,13 @@ class _ClimateControlWidgetState extends State<ClimateControlWidget> {
|
|||||||
bool _showPending = false;
|
bool _showPending = false;
|
||||||
bool _changedHere = false;
|
bool _changedHere = false;
|
||||||
Timer _resetTimer;
|
Timer _resetTimer;
|
||||||
double _tmpTemp = 0.0;
|
double _tmpTemperature = 0.0;
|
||||||
String _tmpOperationMode = "";
|
String _tmpOperationMode = "";
|
||||||
bool _tmpAwayMode = false;
|
bool _tmpAwayMode = false;
|
||||||
double _temperatureStep = 0.2;
|
double _temperatureStep = 0.2;
|
||||||
|
|
||||||
void _resetVars(ClimateEntity entity) {
|
void _resetVars(ClimateEntity entity) {
|
||||||
_tmpTemp = entity.temperature;
|
_tmpTemperature = entity.temperature;
|
||||||
_tmpOperationMode = entity.operationMode;
|
_tmpOperationMode = entity.operationMode;
|
||||||
_tmpAwayMode = entity.awayMode;
|
_tmpAwayMode = entity.awayMode;
|
||||||
_showPending = false;
|
_showPending = false;
|
||||||
@ -251,20 +251,20 @@ class _ClimateControlWidgetState extends State<ClimateControlWidget> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void _temperatureUp(ClimateEntity entity) {
|
void _temperatureUp(ClimateEntity entity) {
|
||||||
_tmpTemp += _temperatureStep;
|
_tmpTemperature += _temperatureStep;
|
||||||
_setTemperature(entity);
|
_setTemperature(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _temperatureDown(ClimateEntity entity) {
|
void _temperatureDown(ClimateEntity entity) {
|
||||||
_tmpTemp -= _temperatureStep;
|
_tmpTemperature -= _temperatureStep;
|
||||||
_setTemperature(entity);
|
_setTemperature(entity);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _setTemperature(ClimateEntity entity) {
|
void _setTemperature(ClimateEntity entity) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_tmpTemp = double.parse(_tmpTemp.toStringAsFixed(1));
|
_tmpTemperature = double.parse(_tmpTemperature.toStringAsFixed(1));
|
||||||
_changedHere = true;
|
_changedHere = true;
|
||||||
eventBus.fire(new ServiceCallEvent(entity.domain, "set_temperature", entity.entityId,{"temperature": "${_tmpTemp.toStringAsFixed(1)}"}));
|
eventBus.fire(new ServiceCallEvent(entity.domain, "set_temperature", entity.entityId,{"temperature": "${_tmpTemperature.toStringAsFixed(1)}"}));
|
||||||
_resetStateTimer(entity);
|
_resetStateTimer(entity);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -302,7 +302,7 @@ class _ClimateControlWidgetState extends State<ClimateControlWidget> {
|
|||||||
final entityModel = EntityModel.of(context);
|
final entityModel = EntityModel.of(context);
|
||||||
final ClimateEntity entity = entityModel.entity;
|
final ClimateEntity entity = entityModel.entity;
|
||||||
if (_changedHere) {
|
if (_changedHere) {
|
||||||
_showPending = (_tmpTemp != entity.temperature);
|
_showPending = (_tmpTemperature != entity.temperature);
|
||||||
_changedHere = false;
|
_changedHere = false;
|
||||||
} else {
|
} else {
|
||||||
_resetTimer?.cancel();
|
_resetTimer?.cancel();
|
||||||
@ -320,7 +320,7 @@ class _ClimateControlWidgetState extends State<ClimateControlWidget> {
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Text(
|
child: Text(
|
||||||
"$_tmpTemp",
|
"$_tmpTemperature",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: entity.largeFontSize,
|
fontSize: entity.largeFontSize,
|
||||||
color: _showPending ? Colors.red : Colors.black
|
color: _showPending ? Colors.red : Colors.black
|
||||||
|
@ -350,7 +350,7 @@ class ClimateStateWidget extends StatelessWidget {
|
|||||||
fontSize: entityModel.entity.stateFontSize,
|
fontSize: entityModel.entity.stateFontSize,
|
||||||
)),
|
)),
|
||||||
Text(
|
Text(
|
||||||
" ${entity.attributes["temperature"]}",
|
entity.temperature!= null ? " ${entity.temperature}" : " ${entity.targetLow} - ${entity.targetHigh}",
|
||||||
textAlign: TextAlign.right,
|
textAlign: TextAlign.right,
|
||||||
style: new TextStyle(
|
style: new TextStyle(
|
||||||
fontSize: entityModel.entity.stateFontSize,
|
fontSize: entityModel.entity.stateFontSize,
|
||||||
|
@ -30,7 +30,7 @@ part 'card_class.dart';
|
|||||||
|
|
||||||
EventBus eventBus = new EventBus();
|
EventBus eventBus = new EventBus();
|
||||||
const String appName = "HA Client";
|
const String appName = "HA Client";
|
||||||
const appVersion = "0.2.5.34";
|
const appVersion = "0.2.5.35";
|
||||||
|
|
||||||
String homeAssistantWebHost;
|
String homeAssistantWebHost;
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
name: hass_client
|
name: hass_client
|
||||||
description: Home Assistant Android Client
|
description: Home Assistant Android Client
|
||||||
|
|
||||||
version: 0.2.5+34
|
version: 0.2.5+35
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=2.0.0-dev.68.0 <3.0.0"
|
sdk: ">=2.0.0-dev.68.0 <3.0.0"
|
||||||
|
Reference in New Issue
Block a user