Code Monkey home page Code Monkey logo

vehicle-app-python-sdk's People

Contributors

bjoernatbosch avatar dennismeister93 avatar docmoebiuz avatar doosuu avatar emsameen avatar github-automation avatar gkreyssing avatar katallaxie avatar kse3hi avatar mml5bg avatar mp91 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vehicle-app-python-sdk's Issues

[Bug]:

Severity

High

What release version, tag or commit-hash did you use?

v0.11.0

Current Behavior

The SDK is missing a required dependency: cloudevents in its setup.py.

It is used here:

from cloudevents.sdk.event import v1 # type: ignore
.

Steps to Reproduce

Install SDK and try to use it without installing cloudevents manually.

Expected Behavior

All required dependencies shall be declared in setup.py

Possible Solution

No response

Additional Information

No response

Code of Conduct

  • I agree to follow this project's "Code of Conduct".

[Bug]: Velocitas APP runtime crash recently

What happened?

Don't know which python packages upgrade cause this issue? I can build successfully, but try to deploy on Rpi4B, it crash at
startup ,
PyInstaller sdv/util/log.py line:22

More details, please find in logs.

Operating System

Linux

What release version or branch did you use?

sdk 0.7.1

Relevant log output

{"stream":"stderr","log":"Traceback (most recent call last):\n","time":"2023-02-20T23:41:54.901405725Z"}
{"stream":"stderr","log":"  File \"src/main.py\", line 26, in \u003cmodule\u003e\n","time":"2023-02-20T23:41:54.901573632Z"}
{"stream":"stderr","log":"  File \"PyInstaller/loader/pyimod02_importers.py\", line 352, in exec_module\n","time":"2023-02-20T23:41:54.901850502Z"}
{"stream":"stderr","log":"  File \"sdv/util/log.py\", line 22, in \u003cmodule\u003e\n","time":"2023-02-20T23:41:54.902372799Z"}
{"stream":"stderr","log":"  File \"PyInstaller/loader/pyimod02_importers.py\", line 352, in exec_module\n","time":"2023-02-20T23:41:54.902976095Z"}
{"stream":"stderr","log":"  File \"opentelemetry/sdk/trace/__init__.py\", line 58, in \u003cmodule\u003e\n","time":"2023-02-20T23:41:54.903288669Z"}
{"stream":"stderr","log":"  File \"PyInstaller/loader/pyimod02_importers.py\", line 352, in exec_module\n","time":"2023-02-20T23:41:54.903810077Z"}
{"stream":"stderr","log":"  File \"opentelemetry/sdk/resources/__init__.py\", line 138, in \u003cmodule\u003e\n","time":"2023-02-20T23:41:54.904067928Z"}
{"stream":"stderr","log":"  File \"importlib/metadata.py\", line 551, in version\n","time":"2023-02-20T23:41:54.904406632Z"}
{"stream":"stderr","log":"  File \"importlib/metadata.py\", line 524, in distribution\n","time":"2023-02-20T23:41:54.90484728Z"}
{"stream":"stderr","log":"  File \"importlib/metadata.py\", line 187, in from_name\n","time":"2023-02-20T23:41:54.905142317Z"}
{"stream":"stderr","log":"importlib.metadata.PackageNotFoundError: opentelemetry-sdk\n","time":"2023-02-20T23:41:54.905457928Z"}
{"stream":"stderr","log":"[8] Failed to execute script 'main' due to unhandled exception!\n","time":"2023-02-20T23:41:54.905520947Z"}
{"stream":"stderr","log":"Error in sys.excepthook:\n","time":"2023-02-20T23:41:55.082321836Z"}
{"stream":"stderr","log":"\n","time":"2023-02-20T23:41:55.082474465Z"}
{"stream":"stderr","log":"Original exception was:\n","time":"2023-02-20T23:41:55.08252128Z"}

Code of Conduct

  • I agree to follow this project's rules for contributions

Readme for Seat-Adjuster needs update

What happened?

The readme in the following repo requires a bit more information on how to run the example:
https://github.com/eclipse-velocitas/vehicle-app-python-sdk/tree/main/examples/seat-adjuster

Esp. it would make sense to describe how to run the application also without DAPR, which environment variables are needed etc. As this is the main example, the readme here should really be updated, as it's the main reference.

Please do not just point to the documentation website.

Operating System

Other

What release version or branch did you use?

main

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's rules for contributions

[Bug]: Dapr health check fails at wait_for_sidecar

What happened?

When launching an app with sidecar the wait_for_sidecar API fails as the dapr healthz returns 500. However if a delay is added before calling health check it succeeds.
Detailed log is attached.

Operating System

Linux

What release version or branch did you use?

0.4.6

Relevant log output

#######################################################
### Running Vehicle Light Application               ###
#######################################################
ℹ️  Starting Dapr with id mylightapp. HTTP Port: 3500. gRPC Port: 33693
INFO[0000] starting Dapr Runtime -- version 1.9.1 -- commit 8aaa4e6f3a5333c7b2d6d4a68b89413b2b0078c2  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] log level set to: debug                       app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] metrics server started on :39405/             app_id=mylightapp instance=codespaces-d83eeb scope=dapr.metrics type=log ver=1.9.1
WARN[0000] App health checks are a preview feature and require the AppHealthCheck feature flag to be enabled. See https://docs.dapr.io/operations/configuration/preview-features/ on how to enable preview features.  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
DEBU[0000] Resiliency is not enabled.                    app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] standalone mode configured                    app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] app id: mylightapp                            app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] mTLS is disabled. Skipping certificate request and tls validation  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] local service entry announced: mylightapp -> 172.16.5.4:42751  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.contrib type=log ver=1.9.1
INFO[0000] Initialized name resolution to mdns           app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] loading components                            app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
DEBU[0000] found component. name: mqtt-pubsub, type: pubsub.mqtt/v1  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] waiting for all outstanding components to be processed  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
DEBU[0000] loading component. name: mqtt-pubsub, type: pubsub.mqtt/v1  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
DEBU[0000] mqtt message bus initialization complete      app_id=mylightapp instance=codespaces-d83eeb scope=dapr.contrib type=log ver=1.9.1
INFO[0000] component loaded. name: mqtt-pubsub, type: pubsub.mqtt/v1  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] all outstanding components processed          app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] gRPC proxy enabled                            app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] enabled gRPC tracing middleware               app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime.grpc.api type=log ver=1.9.1
INFO[0000] enabled gRPC metrics middleware               app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime.grpc.api type=log ver=1.9.1
INFO[0000] API gRPC server is running on port 33693      app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] enabled metrics http middleware               app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime.http type=log ver=1.9.1
INFO[0000] enabled tracing http middleware               app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime.http type=log ver=1.9.1
INFO[0000] http server is running on port 3500           app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] The request body size parameter is: 4         app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] enabled gRPC tracing middleware               app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime.grpc.internal type=log ver=1.9.1
INFO[0000] enabled gRPC metrics middleware               app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime.grpc.internal type=log ver=1.9.1
INFO[0000] internal gRPC server is running on port 42751  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] application protocol: grpc. waiting on port 50008.  This will block until the app is listening on that port.  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
== APP == /workspaces/geely-poc/src/vehicle_app/light_application.py:99: DeprecationWarning: There is no current event loop
== APP ==   LOOP = asyncio.get_event_loop()
== APP == INFO:Light_Application:Starting my VehicleApp...
== APP == DEBUG:sdv.vehicle_app:Talent instantiation successfully done
== APP == DEBUG:sdv.dapr._servicier:Registering topic 'ambientLight1/brightness/command'
== APP == DEBUG:sdv.dapr.client:entering wait state
DEBU[0000] {ERR_HEALTH_NOT_READY dapr is not ready}      app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime.http type=log ver=1.9.1
== APP == DEBUG:sdv.dapr.client:HTTP Error 500: Internal Server Error
INFO[0000] application discovered on port 50008          app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1
INFO[0000] actors: state store is not configured - this is okay for clients but services with hosted actors will fail to initialize!  app_id=mylightapp instance=codespaces-d83eeb scope=dapr.runtime type=log ver=1.9.1

Code of Conduct

  • I agree to follow this project's rules for contributions

[Enhancement]: Use short form for Event loop init

What happened?

The vehicle app examples use a verbose form for initializing the event loop for asyncio:

LOOP = asyncio.get_event_loop()
LOOP.add_signal_handler(signal.SIGTERM, LOOP.stop)
LOOP.run_until_complete(main())
LOOP.close()

there is a new recommended short form that does all this in one line:

asyncio.run(main())

We should change this for all of the examples to reduce clutter and reduce the amount of boilerplate code.

Operating System

macOS (Default)

What release version or branch did you use?

latest

Relevant log output

not relevant.

Code of Conduct

  • I agree to follow this project's rules for contributions

[Bug]: App loose connection to MQTT

Severity

Medium

What release version, tag or commit-hash did you use?

current

Current Behavior

After some time (~ 5 minutes) it is not possible to publish MQTT-messages to the MQTT-broker anymore. The logs do not show any error. The connection to MQTT-Broker is not generally lost, because the receipt of messages still works.

Example app: https://github.com/SoftwareDefinedVehicle/seat-adjuster

Steps to Reproduce

  1. Start app
  2. Wait some time
  3. Try to publish messages to MQTT-broker

Expected Behavior

The connection must not be lost to publish messages.

Possible Solution

No response

Additional Information

No response

Code of Conduct

  • I agree to follow this project's "Code of Conduct".

[Feature]: Enable linting for examples and skeleton app

Description

After the release of #107 linting of examples is disabled. This is because once create copies the examples into a new project structure and runs pre-commit in that new app repository, the linters (black and isort) behave differently than in the main SDK repo. To circumvent this, examples have been pre-formatted for proper layout in app repositories and linting them in the SDK has been disabled.

Suggested Solution

Investigate why linters behave differently under SDK and app repositories and fix the issue. Lastly, linting for examples shall be re-enabled in the SDK repo.

Alternatives

No response

Additional Context

No response

[Bug]: subscribe_data_points decorator emits data before update

What happened?

When using the @subscribe_data_points decorator expectation is that the decorated function gets called whenever there is a change in the value in databroker.
But the behavior is that for the very first time the function is called regardless of update in the databroker.

Ex:
@subscribe_data_points("Vehicle.CurrentLocation.Latitude")
async def do_something(self, data: DatapointReply):
trigger_some_action(data.get(Vehicle.CurrentLocation.Latitude).value)

Here the `trigger_some_action' will get called with initial values from the databroker, which i do not want.

Is this an intentional design or an oversight?

Operating System

Linux

What release version or branch did you use?

0.7.1

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's rules for contributions

[Bug]: Seat Adjuster Dockerfile is not buildable "stand-alone"

What happened?

When trying to build the Seat Adjuster example using the provided Dockerfile, it fails due to a missing folder.
The folder ./app does not exist in the repository.

Operating System

Linux

What release version or branch did you use?

v0.9.0

Relevant log output

$ docker build https://github.com/eclipse-velocitas/vehicle-app-python-sdk.git#v0.9.0:examples/seat-adjuster
[+] Building 3.6s (6/16)                                                                                                                                                        
 => [internal] load git source https://github.com/eclipse-velocitas/vehicle-app-python-sdk.git#v0.9.0:examples/seat-adjuster                                               1.8s
 => [internal] load metadata for docker.io/library/python:3.10-slim-bullseye@sha256:1ee6094f44c67781fa9533a4215f44f80dd3f43a68751ad2c855712116c03b05                       1.7s 
 => [auth] library/python:pull token for registry-1.docker.io                                                                                                              0.0s 
 => [builder  1/10] FROM docker.io/library/python:3.10-slim-bullseye@sha256:1ee6094f44c67781fa9533a4215f44f80dd3f43a68751ad2c855712116c03b05                               0.2s 
 => => resolve docker.io/library/python:3.10-slim-bullseye@sha256:1ee6094f44c67781fa9533a4215f44f80dd3f43a68751ad2c855712116c03b05                                         0.2s 
 => CACHED [builder  2/10] RUN apt-get update && apt-get install -y binutils                                                                                               0.0s
 => ERROR [builder  3/10] COPY ./app /app                                                                                                                                  0.0s
------
 > [builder  3/10] COPY ./app /app:
------
Dockerfile:22
--------------------
  20 |     RUN apt-get update && apt-get install -y binutils
  21 |     
  22 | >>> COPY ./app /app
  23 |     
  24 |     # Remove this installation for Arm64 once staticx has a prebuilt wheel for Arm64
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref moby::eqy6el1uiuv39ll6w2awkcg3g: "/app": not found

Code of Conduct

  • I agree to follow this project's rules for contributions

[Bug]: SDK crashes in case of reading wrong characters from MQTT-broker

Severity

High

What release version, tag or commit-hash did you use?

latest

Current Behavior

The following exception causes the complete application to crash:

{"stream":"stderr","log":"Exception in thread Thread-3 (_thread_main):\n","time":"2023-08-23T05:36:35.369153375Z"}
{"stream":"stderr","log":"Traceback (most recent call last):\n","time":"2023-08-23T05:36:35.3692995Z"}
{"stream":"stderr","log":" File "threading.py", line 1016, in _bootstrap_inner\n","time":"2023-08-23T05:36:35.3693405Z"}
{"stream":"stderr","log":" File "threading.py", line 953, in run\n","time":"2023-08-23T05:36:35.369369625Z"}
{"stream":"stderr","log":" File "paho/mqtt/client.py", line 3591, in _thread_main\n","time":"2023-08-23T05:36:35.36950125Z"}
{"stream":"stderr","log":" File "paho/mqtt/client.py", line 1756, in loop_forever\n","time":"2023-08-23T05:36:35.369580125Z"}
{"stream":"stderr","log":" File "paho/mqtt/client.py", line 1164, in _loop\n","time":"2023-08-23T05:36:35.36977275Z"}
{"stream":"stderr","log":" File "paho/mqtt/client.py", line 1556, in loop_read\n","time":"2023-08-23T05:36:35.369903625Z"}
{"stream":"stderr","log":" File "paho/mqtt/client.py", line 2439, in _packet_read\n","time":"2023-08-23T05:36:35.37008025Z"}
{"stream":"stderr","log":" File "paho/mqtt/client.py", line 3033, in _packet_handle\n","time":"2023-08-23T05:36:35.3702365Z"}
{"stream":"stderr","log":" File "paho/mqtt/client.py", line 3327, in _handle_publish\n","time":"2023-08-23T05:36:35.370446375Z"}
{"stream":"stderr","log":" File "paho/mqtt/client.py", line 3556, in _handle_on_message\n","time":"2023-08-23T05:36:35.370536Z"}
{"stream":"stderr","log":" File "sdv/native/mqtt.py", line 78, in handle\n","time":"2023-08-23T05:36:35.37064Z"}
{"stream":"stderr","log":"UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc3 in position 15: invalid continuation byte\n","time":"2023-08-23T05:36:35.370898625Z"}

The root cause here is that my app has been registered to a certain MQTT-topic and I have published a wrong character to the MQTT-broker by mistake. This wrong character was read inside the SDK and causes the crash of a thread. Afterwards the app was dead.

Steps to Reproduce

  1. Register to an MQTT-topic
  2. Push an unexpected character to the MQTT-broker

I have pushed the following:

mosquitto_pub -t seatadjuster/setPosition/request -m '{"position": 10�0, "requestId": 121}'

Expected Behavior

App should not crash

Possible Solution

No response

Additional Information

No response

Code of Conduct

  • I agree to follow this project's "Code of Conduct".

[Feature]: Remove Dapr middleware and K3D runtime

Description

We remove support for K3D runtime and Dapr middleware

  • Both technologies are too heavy weight for in-vehicle applications
  • Flexibility offered is not applicable in in-vehicle hardware architectures
  • Increase development effort in the Velocitas OSS team

Suggested Solution

No response

Alternatives

No response

Additional Context

No response

downgrade patchef version to 0.17.0.0

What happened?

vehicle-app-python-sdk/tree/main/examples/seat-adjuster)/Dockerfile

Please downgrade patchelf in SDK examples code.

Operating System

macOS (Default)

What release version or branch did you use?

main

Relevant log output

core dump when run staticx.

Code of Conduct

  • I agree to follow this project's rules for contributions

[Feature]: Add example app for testing the subscribe performance

Description

For performance measurement purposes an example test app should be provided which subscribes to a number of signals and prints out the signal information + timestamps on the initial response.

Suggested Solution

  • The Test-App subscribes to any 100 signals and waits for the initial response
  • The Test-App prints out TIMESTAMP, SIGNAL NAME and SIGNAL VALUE on stdout after the initial response, should be on a single line and parseable.
  • Added under the "examples" folder with all the other example apps

Alternatives

No response

Additional Context

No response

[Bug]: Velocitas Python template-based app middleware initialisation fails

Severity

Blocker

What release version, tag or commit-hash did you use?

v0.13.0

Current Behavior

During startup of a Velocitas Python Template based app, the following error occurs
{"stream":"stderr","log":" File \"\u003cfrozen importlib._bootstrap\u003e\", line 1006, in _find_and_load_unlocked\n","time":"2024-02-15T11:15:26.165212Z"} {"stream":"stderr","log":" File \"\u003cfrozen importlib._bootstrap\u003e\", line 688, in _load_unlocked\n","time":"2024-02-15T11:15:26.165270625Z"} {"stream":"stderr","log":" File \"PyInstaller/loader/pyimod02_importers.py\", line 352, in exec_module\n","time":"2024-02-15T11:15:26.165298375Z"} {"stream":"stderr","log":" File \"sdv/config.py\", line 49, in \u003cmodule\u003e\n","time":"2024-02-15T11:15:26.16534975Z"} {"stream":"stderr","log":" File \"sdv/config.py\", line 36, in __init__\n","time":"2024-02-15T11:15:26.165594875Z"} {"stream":"stderr","log":" File \"sdv/config.py\", line 41, in __create_middleware\n","time":"2024-02-15T11:15:26.1660935Z"} {"stream":"stderr","log":" File \"sdv/native/middleware.py\", line 34, in __init__\n","time":"2024-02-15T11:15:26.16616375Z"} {"stream":"stderr","log":" File \"sdv/native/mqtt.py\", line 42, in __init__\n","time":"2024-02-15T11:15:26.16621375Z"} {"stream":"stderr","log":"TypeError: Client.__init__() missing 1 required positional argument: 'callback_api_version'\n","time":"2024-02-15T11:15:26.166349125Z"} {"stream":"stderr","log":"[9] Failed to execute script 'main' due to unhandled exception!\n","time":"2024-02-15T11:15:26.16640025Z"}
Seems to be due to
https://stackoverflow.com/questions/77984857/paho-mqtt-unsupported-callback-api-version-error
https://eclipse.dev/paho/files/paho.mqtt.python/html/migrations.html

Indeed, the Velocitas app is build using paho_mqtt-2.0.0
Output from Github Action:
#11 134.1 Requirement already satisfied: dapr>=1.6.0 in /usr/local/lib/python3.10/site-packages (from sdv==0.9.2->-r ./app/requirements-links.txt (line 1)) (1.8.3) #11 134.4 Collecting paho-mqtt>=1.6.1 #11 134.6 Downloading paho_mqtt-2.0.0-py3-none-any.whl (66 kB) #11 134.6 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 66.9/66.9 kB 7.3 MB/s eta 0:00:00 #11 134.8 Collecting opentelemetry-distro<=0.36b0 #11 134.8 Downloading opentelemetry_distro-0.36b0-py3-none-any.whl (3.3 kB) #11 135.0 Collecting opentelemetry-instrumentation-logging<=0.36b0

Steps to Reproduce

Build a new app based on the Velocitas Python Template
The app builds fine but will include paho_mqtt-2.0.0 which requires an additional parameter for client creation and thus causes an error in sdv/native/mqtt.py

Expected Behavior

Middleware should initialize correctly

Possible Solution

https://stackoverflow.com/questions/77984857/paho-mqtt-unsupported-callback-api-version-error
https://eclipse.dev/paho/files/paho.mqtt.python/html/migrations.html

Add Version argument here?

self._pub_client = mqtt.Client()

Fix version to pre 2.0 here?

"paho-mqtt>=1.6.1",

Additional Information

No response

Code of Conduct

  • I agree to follow this project's "Code of Conduct".

[Bug]: Inconsistent Dictionary initialization in Vehicle Model Generator and SDK

What happened?

Steps to reproduce

  • Use the python vehicle model
  • Create a new python app
  • Subscribe to Vehicle.Body.Trunk.Rear.IsOpen using Vehicle.Body.Trunk.element_at("Rear").IsOpen.subscribe()

Expected result

  • Subscription should be possible

Actual result

  • Exception is created and subscription is not possible

Background:

The vehicle model generator for python currently uses ModelCollections and either NamedRanges and/or Dicitionary Entities for access of those. The SDK allows access to the generated Model and also has check in place to verify the "key" that is used for access of the Dictionary is valid.

The Vehicle Model Generator currently uses a list of strings to initialize the Dictionary, whereas the SDK expects a class with keys and values (properties). This inconsistency does not allow to access branches like Vehicle.Body.Trunk.Front|Rear

Operating System

macOS (Default)

What release version or branch did you use?

main

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's rules for contributions

[Bug]: Tests in seat-adjuster example are outdated

What happened?

At least the unit tests of the seat-adjuster example are outdated. Means they are referring the previous model package sdv_model (as provided by the python model repo).

Observed behaviour: The unit tests are failing after importing this example from Python template (based) repo(s).
Please also check the integration tests.

Operating System

Other

What release version or branch did you use?

Current main: 0655c67

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's rules for contributions

[Bug]: SeatAdjuster App: ModuleNotFoundError: No module named 'vehicle'

What happened?

SeatAdjuster App in Python SDK does not work anymore. Throws the following error. The application launcher works until v0.8.2.

seatadjuster_app_error

In the current version, import library changed from sdv_model to vehicle for examples/seatadjuster, and requirement-links.txt does not contain the sdv_model Github link anymore.

Please explain the issue.

Operating System

Linux

What release version or branch did you use?

v0.9.0: latest

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's rules for contributions

[Bug]: DevContainer name for VehicleApp Python SDK is same as for VehicleApp Python Template

What happened?

DevContainer name for VehicleApp Python SDK is same as for Vehicle App Python Template. When both DevContainers are running in VS Code, you cannot distinguish both easily.

Steps to reproduce:

  • Start DevContainer

Expected result:

  • Name in bottom left shows a specific name, e.g., "VehicleApp Python SDK"

Actual result:

  • Name shows "VehicleApp Python"

Operating System

macOS (Default)

What release version or branch did you use?

main

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's rules for contributions

[Improvement]: Rename native middleware variable 'SDV_MQTT_ADDRESS'

Description

The name is a bit misleading: "MQTT" is a protocol and cannot have an address. The address refers to the message broker.

Suggested Solution

Replace name of the variable by "SDV_MQTTBROKER_ADDRESS" (or maybe "SDV_MQTT_BROKER_ADDRESS" (depending on the possible service names).

Maybe keep old name for a while with deprecation warning if still used.

Alternatives

No response

Additional Context

Needs to be fixed in Python and C++ SDK plus devenv-runtimes.

[Bug]: Seatadjuster logs everything to stderr

What happened?

Deploying the seatadjuster example and running it in the Kanto container runtime reveals that the log output is actually written to stderr.

I would expect that DEBUG, INFO is logged to stdout by default and only ERROR log statements are logged to stderr.

If this is intentional, maybe a documentation about how to configure the logging would make sense.

Operating System

Linux

What release version or branch did you use?

0.9.0

Relevant log output

root@qemux86-64:~# kanto-cm logs --name seatadjuster-app
{"stream":"stderr","log":"2023-06-06 08:12:29,801 DEBUG [sdv.vehicle_app] [vehicle_app.py:72] [trace_id=7ce3eb42d63c2e79294ba9f45cf50b74 span_id=eb5a71e0ee91a35f resource.service.name=/tmp/staticx-kJGoHg/main] - VehicleApp instantiation successfully done\n","time":"2023-06-06T08:12:29.801430658Z"}
{"stream":"stderr","log":"2023-06-06 08:12:29,801 INFO [sdv.vdb.subscriptions] [subscriptions.py:72] [trace_id=7ce3eb42d63c2e79294ba9f45cf50b74 span_id=eb5a71e0ee91a35f resource.service.name=/tmp/staticx-kJGoHg/main] - Subscribing to SELECT Vehicle.Cabin.Seat.Row1.Pos1.Position\n","time":"2023-06-06T08:12:29.801524843Z"}
{"stream":"stderr","log":"2023-06-06 08:12:29,803 DEBUG [sdv.native.mqtt] [mqtt.py:52] [trace_id=7ce3eb42d63c2e79294ba9f45cf50b74 span_id=eb5a71e0ee91a35f resource.service.name=/tmp/staticx-kJGoHg/main] - Mqtt native connection OK!\n","time":"2023-06-06T08:12:29.803218285Z"}


### Code of Conduct

- [X] I agree to follow this project's rules for contributions

[Bug]: Missing accessor for DataPoint .timestamp

What happened?

Kuksa Data Broker defines "timestamp" as a metadata for datapoints.
For calculation of for example moving averages, I need to access the timestamps of the data as well.

Unfortunately, the velocitas vehicle model does not seem to expose the ".timestamp" attribute.

Operating System

Other

What release version or branch did you use?

main

Relevant log output

No response

Code of Conduct

  • I agree to follow this project's rules for contributions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.