Resolves #419 Fallback to states if no lovelace config found
This commit is contained in:
parent
551a8dfa31
commit
85b0c4f814
@ -106,10 +106,20 @@ class HomeAssistant {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Future _getLovelace() async {
|
Future _getLovelace() {
|
||||||
await ConnectionManager().sendSocketMessage(type: "lovelace/config").then((data) => _rawLovelaceData = data).catchError((e) {
|
Completer completer = Completer();
|
||||||
throw HAError("Error getting lovelace config: $e");
|
ConnectionManager().sendSocketMessage(type: "lovelace/config").then((data) {
|
||||||
|
_rawLovelaceData = data;
|
||||||
|
completer.complete();
|
||||||
|
}).catchError((e) {
|
||||||
|
if ("$e" == "config_not_found") {
|
||||||
|
ConnectionManager().useLovelace = false;
|
||||||
|
completer.complete();
|
||||||
|
} else {
|
||||||
|
completer.completeError(HAError("Error getting lovelace config: $e"));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
return completer.future;
|
||||||
}
|
}
|
||||||
|
|
||||||
Future _getUserInfo() async {
|
Future _getUserInfo() async {
|
||||||
@ -125,7 +135,6 @@ class HomeAssistant {
|
|||||||
Future _getServices() async {
|
Future _getServices() async {
|
||||||
await ConnectionManager().sendSocketMessage(type: "get_services").then((data) {
|
await ConnectionManager().sendSocketMessage(type: "get_services").then((data) {
|
||||||
Logger.d("Got ${data.length} services");
|
Logger.d("Got ${data.length} services");
|
||||||
Logger.d("Media extractor: ${data["media_extractor"]}");
|
|
||||||
services = data;
|
services = data;
|
||||||
}).catchError((e) {
|
}).catchError((e) {
|
||||||
Logger.w("Can't get services: $e");
|
Logger.w("Can't get services: $e");
|
||||||
|
@ -189,8 +189,8 @@ class ConnectionManager {
|
|||||||
//Logger.d("[Received] <== Request id ${data['id']} was successful");
|
//Logger.d("[Received] <== Request id ${data['id']} was successful");
|
||||||
_messageResolver["${data["id"]}"]?.complete(data["result"]);
|
_messageResolver["${data["id"]}"]?.complete(data["result"]);
|
||||||
} else if (data["id"] != null) {
|
} else if (data["id"] != null) {
|
||||||
//Logger.e("[Received] <== Error received on request id ${data['id']}: ${data['error']}");
|
Logger.e("[Received] <== Error received on request id ${data['id']}: ${data['error']}");
|
||||||
_messageResolver["${data["id"]}"]?.completeError("${data['error']["message"]}");
|
_messageResolver["${data["id"]}"]?.completeError("${data["error"]["code"]}");
|
||||||
}
|
}
|
||||||
_messageResolver.remove("${data["id"]}");
|
_messageResolver.remove("${data["id"]}");
|
||||||
} else if (data["type"] == "event") {
|
} else if (data["type"] == "event") {
|
||||||
|
Reference in New Issue
Block a user