Resolves #327 Timer duration parsing error
This commit is contained in:
parent
be502b5668
commit
125f3ac16c
@ -9,22 +9,31 @@ class TimerEntity extends Entity {
|
|||||||
void update(Map rawData) {
|
void update(Map rawData) {
|
||||||
super.update(rawData);
|
super.update(rawData);
|
||||||
String durationSource = "${attributes["duration"]}";
|
String durationSource = "${attributes["duration"]}";
|
||||||
List<String> durationList = durationSource.split(":");
|
if (durationSource != null && durationSource.isNotEmpty) {
|
||||||
if (durationList.length == 1) {
|
try {
|
||||||
duration = Duration(seconds: int.tryParse(durationList[0] ?? 0));
|
List<String> durationList = durationSource.split(":");
|
||||||
} else if (durationList.length == 2) {
|
if (durationList.length == 1) {
|
||||||
duration = Duration(
|
duration = Duration(seconds: int.tryParse(durationList[0] ?? 0));
|
||||||
hours: int.tryParse(durationList[0]) ?? 0,
|
} else if (durationList.length == 2) {
|
||||||
minutes: int.tryParse(durationList[1]) ?? 0
|
duration = Duration(
|
||||||
);
|
hours: int.tryParse(durationList[0]) ?? 0,
|
||||||
} else if (durationList.length == 3) {
|
minutes: int.tryParse(durationList[1]) ?? 0
|
||||||
duration = Duration(
|
);
|
||||||
hours: int.tryParse(durationList[0]) ?? 0,
|
} else if (durationList.length == 3) {
|
||||||
minutes: int.tryParse(durationList[1]) ?? 0,
|
duration = Duration(
|
||||||
seconds: int.tryParse(durationList[2]) ?? 0
|
hours: int.tryParse(durationList[0]) ?? 0,
|
||||||
);
|
minutes: int.tryParse(durationList[1]) ?? 0,
|
||||||
|
seconds: int.tryParse(durationList[2]) ?? 0
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
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 {
|
} else {
|
||||||
Logger.e("Cann't parse $entityId duration: $durationSource");
|
|
||||||
duration = Duration(seconds: 0);
|
duration = Duration(seconds: 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,7 @@ part 'ui_widgets/config_panel_widget.dart';
|
|||||||
|
|
||||||
EventBus eventBus = new EventBus();
|
EventBus eventBus = new EventBus();
|
||||||
const String appName = "HA Client";
|
const String appName = "HA Client";
|
||||||
const appVersion = "0.5.1";
|
const appVersion = "0.5.2";
|
||||||
|
|
||||||
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.5.1+99
|
version: 0.5.2+100
|
||||||
|
|
||||||
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