postService method
Calls a service within a specific domain.
Will return when the service has been executed. You can pass an optional JSON object to be used as service_data. Returns a list of states that have changed while the service was being executed.
Implementation
Future<(HaStates?, HaFailure?)> postService({
required String domain,
required String service,
Map<String, dynamic>? serviceData,
}) async {
final endpoint = '/api/services/$domain/$service';
final data = jsonEncode(serviceData);
final response =
await sl.get<HttpClient>().post(url + endpoint, _headers, data);
return response.success
? (HaStates.fromResponse(jsonDecode(response.dataStr)), null)
: (null, HaFailure(message: response.dataStr));
}