-
Couldn't load subscription status.
- Fork 14
Description
Hi Kuksa team π
I'm using kuksa-can-provider together with the new kuksa-databroker (v2), along with a custom CLI client that uses the v2 gRPC API.
I'm currently trying to implement actuator control β for example:
'actuate Vehicle.Body.Trunk.Rear.IsOpen true'
This sends a request via the new Actuate(...) method on the Databroker.
From my understanding of how this flow should work in v2:
Actuate(...)requires a provider to be registered for the target VSS path- A provider must register via the
OpenProviderStream(...)bidirectional stream (specifically sendingProvideActuationRequestrequest on startup) - Without a provider, the databroker returns to the client an error such as:
"Error actuating: status: Unavailable, message: "Provider for vss_id 74 does not exist", details: [], metadata: MetadataMap { headers: {"content-type": "application/grpc", "date": "Wed, 16 Jul 2025 07:52:10 GMT", "content-length": "0"} }"
When I run the dbc_feeder.py with the following command:
python3 dbcfeeder.py --server-type kuksa_databroker --dbcfile Model3CAN.dbc --mapping mapping/vss_4.0/vss_dbc.json --canport vcan0 --val2dbc --use-socketcan
From my understanding and debugging the can-provider:
- It subscribes to actuator targets via
Subscribe(...) - But it does not register as a provider using
OpenProviderStream(...) - And it does not handle incoming
ActuateRequests
As a result, the actuator paths are mapped and appear in the VSS tree, but cannot be controlled via the Actuate(...) API.
Question
Does the current version of kuksa-can-provider support Databroker v2 β specifically for handling actuator control via the Actuate(...) API?
If so, how should a user configure it to register as a provider using OpenProviderStream?
If not, is this on the roadmap?
Thanks again for your work on Kuksa β it's a great project! π