diff --git a/lib/home_assistant.class.dart b/lib/home_assistant.class.dart index 7fc9e54..23c415e 100644 --- a/lib/home_assistant.class.dart +++ b/lib/home_assistant.class.dart @@ -27,9 +27,9 @@ class HomeAssistant { StreamSubscription _socketSubscription; - int messageExpirationTime = 50; //seconds - Duration fetchTimeout = Duration(seconds: 30); - Duration connectTimeout = Duration(seconds: 10); + int messageExpirationTime = 45; //seconds + Duration fetchTimeout = Duration(seconds: 45); + Duration connectTimeout = Duration(seconds: 15); String get locationName => _instanceConfig["location_name"] ?? ""; int get viewsCount => _entities.viewList.length ?? 0; @@ -353,6 +353,6 @@ class HAMessage { } bool isExpired() { - return _timeStamp.difference(DateTime.now()).inSeconds > _messageTimeout; + return DateTime.now().difference(_timeStamp).inSeconds > _messageTimeout; } } \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 5da8d33..110edfc 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -202,6 +202,7 @@ class _MainPageState extends State with WidgetsBindingObserver { } _refreshData() async { + _hideErrorSnackBar(); _homeAssistant.updateConnectionSettings(_apiEndpoint, _apiPassword, _authType); setState(() { _isLoading = 1; @@ -370,7 +371,11 @@ class _MainPageState extends State with WidgetsBindingObserver { ); } - _showErrorSnackBar({Key key, @required String message, @required int errorCode}) { + void _hideErrorSnackBar() { + _scaffoldKey?.currentState?.hideCurrentSnackBar(); + } + + void _showErrorSnackBar({Key key, @required String message, @required int errorCode}) { SnackBarAction action; switch (errorCode) { case 9: