COVESA VSS Spotlight Webinar
Watch the recorded webinar with hands-on demos focused on why and how RemotiveLabs enables signal conversion with LUA-scripting and iterative development of VSS-signals. COVESA is is a global, member-driven alliance focused on the development of open standards and technologies that accelerate innovation for connected vehicle systems. Resulting in a more diverse, sustainable and integrated mobility ecosystem.
COVESA VSS Spotlight Webinar
Watch the recorded webinar with hands-on demos focused on why and how RemotiveLabs enables signal conversion with LUA-scripting and iterative development of VSS-signals. COVESA is is a global, member-driven alliance focused on the development of open standards and technologies that accelerate innovation for connected vehicle systems. Resulting in a more diverse, sustainable and integrated mobility ecosystem.

Turn live / recorded vehicle data into filtered VSS data
This webinar within COVESA VSS Spotlight focuses on hands-on demos and how our platform caters to emitting Vehicle Signal Specification (VSS) with interactive LUA scripting using CLI.
How RemotiveLabs Platform incorporates VSS
The RemotiveBroker transforms the proprietary signals (live or recorded) into VSS. When you just need to rename a signal you can use a simple configuration file. For more complex transformations, we propose writing a small script in LUA to combine multiple signals, change frequency, and basically own your transformation setup. It is possible to configure the RemotiveBroker to only give access to the transformed signals, for more details see our documentation.
COVESA Spotlight Series, featuring VSS adoption by RemotiveLabs. RemotiveLabs is a startup member within COVESA.
Iterate VSS signals with LUA & RemotiveCLI
How to subscribe using a LUA script:
remotive broker signals subscribe --script <script.lua> --url <brokerUrl> --api-key <key>
Example of a lua script that merges two signals and changes its frequency:
(Vehicle.Powertrain.TractionBattery.StateOfCharge.Displayed_10Hz.lua)
local local_signals = {
{
name = "ID352BMS_energyStatus.BMS_nominalFullPackEnergy",
namespace = "VehicleBus"
},
{
name = "ID352BMS_energyStatus.BMS_nominalEnergyRemaining",
namespace = "VehicleBus"
}
}
local local_frequecy_hz = 10
local state_of_charge = 0
-- Required, declare which input is needed to operate this program.
function input_signals()
return local_signals
end
-- Provided parameters are used for populating metadata when listing signals.
function output_signals()
return "Vehicle.Powertrain.TractionBattery.StateOfCharge.Displayed_10Hz"
end
-- Required, declare what frequency you like to get "timer" invoked. 0 means no calls to "timer".
function timer_frequency_hz()
return local_frequecy_hz
end
-- Invoked with the frequency returned by "timer_frequency_hz".
-- @param system_timestamp_us: system time stamp
function timer(system_timestamp_us)
return return_value_or_bytes(state_of_charge)
end
-- Invoked when ANY signal declared in "local_signals" arrive
-- @param signals_timestamp_us: signal time stamp
-- @param system_timestamp_us
-- @param signals: array of signals containing all or a subset of signals declared in "local_signals". Make sure to nil check before use.
function signals(signals, namespace, signals_timestamp_us, system_timestamp_us)
state_of_charge = signals["ID352BMS_energyStatus.BMS_nominalEnergyRemaining"] /
signals["ID352BMS_energyStatus.BMS_nominalFullPackEnergy"]
return return_nothing()
end
-- Helper return function, make sure to use return_value_or_bytes or return_nothing.
function return_value_or_bytes(value_or_bytes)
return value_or_bytes
end
-- Helper return function, make sure to use return_value_or_bytes or return_nothing.
function return_nothing()
return
end
Why does RemotiveLabs use COVESA VSS?
- Access: Using VSS gives developers access to curated signals while safeguarding proprietary data.
- Transparency: A core part of RemotiveLabs cloud offering is to simplify the sharing of vehicle data between teams allowing collaboration between the OEM, its partners, and 3rd party developers. Using VSS allows everyone to see the same data.
- Compatibility: VSS has many business arguments related to working smarter and not harder. VSS increases the ability to reuse features/services developed between vehicle platforms.
Try it for yourself
Everything we present in the webinar is available for you to try with our free limited version of RemotiveCloud. Create an account by signing up at cloud.remotivelabs.com - you will automatically create your own project, including a few sample recordings of drive cycles we provide, you can upload 1 Candump and invite 1 collaborator.
Check out the latest from us
Join the automotive rebels that #getstuffdone with RemotiveLabs!
