openEventListenerChannel method

Future<void> openEventListenerChannel({
  1. required HomeDevice source,
})

Implementation

Future<void> openEventListenerChannel({required HomeDevice source}) async {
  final uri = baseUrl.join("/api/homeappliances/${source.info.haId}/events");
  HomeConnectAuthCredentials? userCredentials = await checkTokenIntegrity();
  EventController eventController = EventController();
  _accessToken = userCredentials!.accessToken;

  try {
    EventSource eventSource = await EventSource.connect(
      uri,
      headers: commonHeaders,
    );
    subscription = eventSource.listen((Event event) {
      eventController.handleEvent(event, source);
    });
  } catch (e) {
    throw Exception("Event Source error: $e");
  }
}