diff options
author | Scott Murray <scott.murray@konsulko.com> | 2023-09-20 12:26:45 -0400 |
---|---|---|
committer | Scott Murray <scott.murray@konsulko.com> | 2023-09-20 12:48:19 -0400 |
commit | 6a853805d2479bf7b111511b1f94907e425c607a (patch) | |
tree | 343a651a5e4a944de525f585eceb752d9ed3840a /lib/kuksa-server/vehicle_methods.dart | |
parent | 20d76f947ef9d4a9093df0e5ad04476963655173 (diff) |
Rework to use KUKSA.val databroker gRPC API
Rework to move from the WebSocket API with the older KUKSA.val
server to the gRPC "VAL" API of the databroker.
Changes include:
- All VISS WebSocket API code has been removed, and the signal
providers replumbed to be driven by a new VssClient class with
a hvac-specific child class to hold all the gRPC API
handling.
- The generated code for the VAL API and its dependencies has
been checked in under lib/generated, as there still does not
seem to be a good way to generate it during the Flutter build.
- The configuration file is now expected to be "hvac.yaml" instead
of "hvac_config.yaml". The authorization token field name has
been renamed to "authorization", and there are new "use-tls" and
"ca-certificate" configuration fields. TLS is disabled by default
for now, and the default CA certificate is /etc/kuksa.val/CA.pem.
- Bumped minimum SDK version to 2.18 in pubspec.yaml to enable
"super" keyword support. This matches what the version was set
to in flutter-homescreen.
- The Vehicle and VehicleSignals classes have been reworked into
a VehicleAcStatus class + provider, and users have been updated
to use the Riverpod provider select functionality to attempt to
reduce naive over-updating.
- VSS paths have been rationalized to use the definitions in the
VSSPath class so only one location will need to be updated on any
signal name changes.
- Added .gitignore file from flutter-homescreen to keep things
clean in the future.
Bug-AGL: SPEC-4762
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: Idbabb54ead52bf38796f264a3c8a270aa170e2cd
Diffstat (limited to 'lib/kuksa-server/vehicle_methods.dart')
-rw-r--r-- | lib/kuksa-server/vehicle_methods.dart | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/lib/kuksa-server/vehicle_methods.dart b/lib/kuksa-server/vehicle_methods.dart deleted file mode 100644 index 387c02a..0000000 --- a/lib/kuksa-server/vehicle_methods.dart +++ /dev/null @@ -1,75 +0,0 @@ -// SPDX-License-Identifier: Apache-2.0 - -import 'dart:convert'; -import 'dart:io'; - -import 'package:flutter_hvac/config.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:flutter_hvac/kuksa-server/vehicle_server_path.dart'; - -class VISS { - static const requestId = "test-id"; - static void init(WebSocket socket, WidgetRef ref) { - authorize(socket, ref); - - subscribe(socket, ref, VSPath.vehicleInsideTemperature); - subscribe(socket, ref, VSPath.vehicleAmbientAirTemperature); - } - - static void update(WebSocket socket, WidgetRef ref) { - get(socket, ref, VSPath.vehicleInsideTemperature); - get(socket, ref, VSPath.vehicleAmbientAirTemperature); - } - - static void authorize(WebSocket socket, WidgetRef ref) { - final config = ref.read(ConfigStateprovider); - Map<String, dynamic> map = { - "action": "authorize", - "tokens": config.kuksaAuthToken, - "requestId": requestId - }; - socket.add(jsonEncode(map)); - } - - static void get(WebSocket socket, WidgetRef ref, String path) { - final config = ref.read(ConfigStateprovider); - - Map<String, dynamic> map = { - "action": "get", - "tokens": config.kuksaAuthToken, - "path": path, - "requestId": requestId - }; - socket.add(jsonEncode(map)); - } - - static void set( - WebSocket socket, - WidgetRef ref, - String path, - String value, - ) { - final config = ref.read(ConfigStateprovider); - - Map<String, dynamic> map = { - "action": "set", - "tokens": config.kuksaAuthToken, - "path": path, - "requestId": requestId, - "value": value - }; - socket.add(jsonEncode(map)); - } - - static void subscribe(WebSocket socket, WidgetRef ref, String path) { - final config = ref.read(ConfigStateprovider); - - Map<String, dynamic> map = { - "action": "subscribe", - "tokens": config.kuksaAuthToken, - "path": path, - "requestId": requestId - }; - socket.add(jsonEncode(map)); - } -} |