eclipse / kuksa.val.feeders

kuksa.val.feeders
Apache License 2.0
8 stars 22 forks source link

Databroker Datapoint registration in DBC feeder #39

Closed SebastianSchildt closed 7 months ago

SebastianSchildt commented 1 year ago

The first version of the databroker integration was able to register VSS datapoints in databroker.

With the adoption of python library this is not possible currently (as the python lib depends on an interface that does not provide this method yet), so it is dependant on a databroker deployment that is already provisioned with correct VSS model (similar to the val-server behavior).

Once the API used by the python lib can register datapoints and support is added to the lib, we shall revisit this feature again in DBC feeder.

Might also be related to #36 : If we use a standard overlay for mapping, that basically is already a valid VSS model in its own right. So it might be an alternative pattern to be able to feed that to databroker, if so desired (similar to how databroker currently is able to process one single JSON during startup. If it gains a method/API to process further overlays during runtime, that might be an alternative)

erikbosch commented 1 year ago

Example of error given:


2023-02-09 16:52:08,261 WARNING dbcfeederlib.databroker: Failed to register datapoint Vehicle.Chassis.Axle.Row2.Wheel.Left.Right.IsFluidLevelLow
Traceback (most recent call last):
  File "/home/erik/kuksa.val.feeders/dbc2val/dbcfeederlib/databroker.py", line 68, in _register
    self._vss_client.set_metadata(
  File "/home/erik/.local/lib/python3.10/site-packages/kuksa_client/grpc/__init__.py", line 666, in set_metadata
    self.set(updates=[EntryUpdate(
  File "/home/erik/.local/lib/python3.10/site-packages/kuksa_client/grpc/__init__.py", line 759, in set
    self._process_set_response(resp)
  File "/home/erik/.local/lib/python3.10/site-packages/kuksa_client/grpc/__init__.py", line 522, in _process_set_response
    self._raise_if_invalid(response)
  File "/home/erik/.local/lib/python3.10/site-packages/kuksa_client/grpc/__init__.py", line 548, in _raise_if_invalid
    raise VSSClientError(error, errors)
kuksa_client.grpc.VSSClientError: ({}, [{'path': 'Vehicle.Chassis.Axle.Row2.Wheel.Left.Right.IsFluidLevelLow', 'error': {'code': 404, 'reason': 'not_found', 'message': 'Vehicle.Chassis.Axle.Row2.Wheel.Left.Right.IsFluidLevelLow not found'}}])
erikbosch commented 1 year ago

I created https://github.com/eclipse/kuksa.val/issues/485 to track if/when it is implemented in KUKSA.val. Nothing can be done in Feeder until then

erikbosch commented 1 year ago

Dbcfeeder behavior changed in #60 - now just checking if signal is registered

erikbosch commented 7 months ago

Think nothing will happen here, closing it