Resolves #327 Timer duration parsing error

This commit is contained in:
estevez-dev 2019-03-14 16:39:37 +02:00
parent 14759fd3c9
commit 5140840d3a
3 changed files with 26 additions and 17 deletions

View File

@ -9,6 +9,8 @@ class TimerEntity extends Entity {
void update(Map rawData) {
super.update(rawData);
String durationSource = "${attributes["duration"]}";
if (durationSource != null && durationSource.isNotEmpty) {
try {
List<String> durationList = durationSource.split(":");
if (durationList.length == 1) {
duration = Duration(seconds: int.tryParse(durationList[0] ?? 0));
@ -24,7 +26,14 @@ class TimerEntity extends Entity {
seconds: int.tryParse(durationList[2]) ?? 0
);
} else {
Logger.e("Cann't parse $entityId duration: $durationSource");
Logger.e("Strange $entityId duration format: $durationSource");
duration = Duration(seconds: 0);
}
} catch (e) {
Logger.e("Error parsing duration for $entityId: ${e.toString()}");
duration = Duration(seconds: 0);
}
} else {
duration = Duration(seconds: 0);
}
}

View File

@ -100,7 +100,7 @@ part 'ui_widgets/config_panel_widget.dart';
EventBus eventBus = new EventBus();
const String appName = "HA Client";
const appVersion = "0.5.1";
const appVersion = "0.5.2";
String homeAssistantWebHost;

View File

@ -1,7 +1,7 @@
name: hass_client
description: Home Assistant Android Client
version: 0.5.1+99
version: 0.5.2+100
environment:
sdk: ">=2.0.0-dev.68.0 <3.0.0"