Minor fixes

This commit is contained in:
Yegor Vialov 2018-10-12 18:03:27 +03:00
parent 948d1d4e23
commit b5f9ecf601
6 changed files with 32 additions and 20 deletions

View File

@ -3,9 +3,9 @@ part of '../main.dart';
class _ClimateEntityWidgetState extends _EntityWidgetState {
List<String> _operationList = [];
double _temperature;
String _operationMode;
bool _awayMode;
double _temperature1 = 0.0;
String _operationMode = "";
bool _awayMode = false;
bool _showPending;
bool _changedHere;
double _temperatureStep = 0.2;
@ -27,7 +27,12 @@ class _ClimateEntityWidgetState extends _EntityWidgetState {
}
void _resetVars() {
_temperature = widget.entity.attributes['temperature'];
var temp1 = widget.entity.attributes['temperature'] ?? widget.entity.attributes['target_temp_low'];
if (temp1 is int) {
_temperature1 = temp1.toDouble();
} else if (temp1 is double) {
_temperature1 = temp1;
}
_operationMode = widget.entity.attributes['operation_mode'];
_awayMode = widget.entity.attributes['away_mode'] == "on";
_showPending = false;
@ -46,20 +51,20 @@ class _ClimateEntityWidgetState extends _EntityWidgetState {
}
void _temperatureUp() {
_temperature += _temperatureStep;
_temperature1 += _temperatureStep;
_setTemperature();
}
void _temperatureDown() {
_temperature -= _temperatureStep;
_temperature1 -= _temperatureStep;
_setTemperature();
}
void _setTemperature() {
setState(() {
_temperature = double.parse(_temperature.toStringAsFixed(1));
_temperature1 = double.parse(_temperature1.toStringAsFixed(1));
_changedHere = true;
eventBus.fire(new ServiceCallEvent(widget.entity.domain, "set_temperature", widget.entity.entityId,{"temperature": "${_temperature.toStringAsFixed(1)}"}));
eventBus.fire(new ServiceCallEvent(widget.entity.domain, "set_temperature", widget.entity.entityId,{"temperature": "${_temperature1.toStringAsFixed(1)}"}));
_resetStateTimer();
});
}
@ -94,7 +99,7 @@ class _ClimateEntityWidgetState extends _EntityWidgetState {
_buildAdditionalControls() {
if (_changedHere) {
_showPending = (_temperature != widget.entity.attributes['temperature']);
_showPending = (_temperature1 != widget.entity.attributes['temperature']);
_changedHere = false;
} else {
_resetTimer?.cancel();
@ -112,7 +117,7 @@ class _ClimateEntityWidgetState extends _EntityWidgetState {
children: <Widget>[
Expanded(
child: Text(
"$_temperature",
"$_temperature1",
style: TextStyle(
fontSize: largeFontSize,
color: _showPending ? Colors.red : Colors.black

View File

@ -11,15 +11,15 @@ class _SelectEntityWidgetState extends _EntityWidgetState {
@override
Widget _buildActionWidget(BuildContext context) {
Widget ctrl;
_listOptions.clear();
if (widget.entity.attributes["options"] != null) {
widget.entity.attributes["options"].forEach((value){
_listOptions.add(value.toString());
});
}
return Expanded(
//width: Entity.INPUT_WIDTH,
child: DropdownButton<String>(
if (_listOptions.isNotEmpty) {
ctrl = DropdownButton<String>(
value: widget.entity.state,
items: this._listOptions.map((String value) {
return new DropdownMenuItem<String>(
@ -30,7 +30,13 @@ class _SelectEntityWidgetState extends _EntityWidgetState {
onChanged: (_) {
setNewState(_);
},
),
);
} else {
ctrl = Text('---');
}
return Expanded(
//width: Entity.INPUT_WIDTH,
child: ctrl,
);
}
}

View File

@ -309,8 +309,9 @@ class HomeAssistant {
void _handleEntityStateChange(Map eventData) {
//TheLogger.log("Debug", "New state for ${eventData['entity_id']}");
_entities.updateState(eventData);
eventBus.fire(new StateChangedEvent(eventData["entity_id"], null, false));
Map data = Map.from(eventData);
_entities.updateState(data);
eventBus.fire(new StateChangedEvent(data["entity_id"], null, false));
}
void _parseConfig(Map data) {

View File

@ -36,7 +36,7 @@ part 'card_class.dart';
EventBus eventBus = new EventBus();
const String appName = "HA Client";
const appVersion = "0.2.5.33";
const appVersion = "0.2.5.34";
String homeAssistantWebHost;

View File

@ -121,8 +121,8 @@ class ViewWidgetState extends State<ViewWidget> {
return result;
}
List<EntityWidget> _buildBadges(BuildContext context, List<Entity> badges) {
List<EntityWidget> result = [];
List<Widget> _buildBadges(BuildContext context, List<Entity> badges) {
List<Widget> result = [];
badges.forEach((Entity entity) {
result.add(entity.buildWidget(context, EntityWidgetType.badge));
});

View File

@ -1,7 +1,7 @@
name: hass_client
description: Home Assistant Android Client
version: 0.2.5+33
version: 0.2.5+34
environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0"