diff --git a/.github/workflows/deploy-release.yaml b/.github/workflows/deploy-release.yaml index 48947fd..11d58f0 100644 --- a/.github/workflows/deploy-release.yaml +++ b/.github/workflows/deploy-release.yaml @@ -26,6 +26,6 @@ jobs: ORG_GPG_KEY_ID: ${{ secrets.ORG_GPG_KEY_ID }} ORG_GPG_PASSPHRASE: ${{ secrets.ORG_GPG_PASSPHRASE }} ORG_GPG_PRIVATE_KEY: ${{ secrets.ORG_GPG_PRIVATE_KEY }} - ORG_OSSRH_PASSWORD: ${{ secrets.ORG_OSSRH_PASSWORD }} - ORG_OSSRH_USERNAME: ${{ secrets.ORG_OSSRH_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.CENTRAL_SONATYPE_TOKEN_PASSWORD }} + SONATYPE_USERNAME: ${{ secrets.CENTRAL_SONATYPE_TOKEN_USERNAME }} run: ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository --no-configuration-cache diff --git a/.github/workflows/deploy-snapshot.yaml b/.github/workflows/deploy-snapshot.yaml index 0977bd2..020ab05 100644 --- a/.github/workflows/deploy-snapshot.yaml +++ b/.github/workflows/deploy-snapshot.yaml @@ -29,6 +29,6 @@ jobs: ORG_GPG_KEY_ID: ${{ secrets.ORG_GPG_KEY_ID }} ORG_GPG_PASSPHRASE: ${{ secrets.ORG_GPG_PASSPHRASE }} ORG_GPG_PRIVATE_KEY: ${{ secrets.ORG_GPG_PRIVATE_KEY }} - ORG_OSSRH_PASSWORD: ${{ secrets.ORG_OSSRH_PASSWORD }} - ORG_OSSRH_USERNAME: ${{ secrets.ORG_OSSRH_USERNAME }} + SONATYPE_PASSWORD: ${{ secrets.CENTRAL_SONATYPE_TOKEN_PASSWORD }} + SONATYPE_USERNAME: ${{ secrets.CENTRAL_SONATYPE_TOKEN_USERNAME }} run: ./gradlew publishToSonatype --no-configuration-cache diff --git a/.husky/commit-msg b/.husky/commit-msg index 8d655e9..e645bb4 100755 --- a/.husky/commit-msg +++ b/.husky/commit-msg @@ -1,7 +1,3 @@ -#!/usr/bin/env sh - -. "$(dirname "$0")/_/husky.sh" - readonly CURRENT_BRANCH=$(git symbolic-ref --short HEAD) # Only check protected feature branche diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b4cf19..82ec9af 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines. +## [0.4.1](https://github.com/eclipse-kuksa/kuksa-java-sdk/compare/release/release/v0.4.0...release/v0.4.1) (2026-09-17) + +### Features + +* Update KUKSA VAL v1 and v2 protobuf definitions ([509e4db](https://github.com/eclipse-kuksa/kuksa-java-sdk/commit/509e4db58ca3d992a418be408b09ee1a855b08e7)) +* Update VSS spec to 6.0 and add hierarchical path resolution ([4742565](https://github.com/eclipse-kuksa/kuksa-java-sdk/commit/474256544bcff482a385ff536b495d94596dda47)) + +### Documentation + +* Update broken KDoc class links and add AI usage notice ([8c7ddd0](https://github.com/eclipse-kuksa/kuksa-java-sdk/commit/8c7ddd0767ca7ecef7b6b416b6fdbb8cb9398fdb)) ## [0.4.0](https://github.com/eclipse-kuksa/kuksa-java-sdk/compare/release/release/v0.3.2...release/v0.4.0) (2025-03-26) ### Features diff --git a/README.md b/README.md index 047991c..dea1e32 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,13 @@ [![SDK:main <-> Databroker:main](https://github.com/eclipse-kuksa/kuksa-java-sdk/actions/workflows/daily_integration_main.yaml/badge.svg)](https://github.com/eclipse-kuksa/kuksa-java-sdk/actions/workflows/daily_integration_main.yaml?query=branch%3Amain) +> [!IMPORTANT] +> **AI Usage Notice** +> +> This repository partially contains AI-generated code using GitHub Copilot Business. +> This notice must remain attached to any reproduction of this repository. + + This is a Java SDK for the [KUKSA Vehicle Abstraction Layer](https://github.com/eclipse-kuksa/kuksa-databroker). ## Overview diff --git a/build.gradle.kts b/build.gradle.kts index b214873..825c624 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 - 2025 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,7 +22,6 @@ import org.eclipse.kuksa.version.VERSION_FILE_DEFAULT_NAME import org.eclipse.kuksa.version.VERSION_FILE_DEFAULT_PATH_KEY import java.nio.file.FileVisitResult import java.nio.file.Path -import kotlin.io.path.ExperimentalPathApi import kotlin.io.path.bufferedWriter import kotlin.io.path.createDirectories import kotlin.io.path.createFile @@ -49,8 +48,14 @@ plugins { nexusPublishing { repositories { sonatype { - username = System.getenv("ORG_OSSRH_USERNAME") - password = System.getenv("ORG_OSSRH_PASSWORD") + val releaseUri = uri("https://ossrh-staging-api.central.sonatype.com/service/local/") + nexusUrl.set(releaseUri) + + val snapshotUri = uri("https://central.sonatype.com/repository/maven-snapshots/") + snapshotRepositoryUrl.set(snapshotUri) + + username = System.getenv("SONATYPE_USERNAME") + password = System.getenv("SONATYPE_PASSWORD") } } } @@ -69,21 +74,41 @@ subprojects { // see: https://kotest.io/docs/framework/tags.html#gradle tasks.withType { val systemPropertiesMap = HashMap() - System.getProperties().forEach { key, value -> + System.getProperties().forEach { (key, value) -> systemPropertiesMap[key.toString()] = value.toString() } systemProperties = systemPropertiesMap } // https://docs.gradle.org/current/userguide/dependency_locking.html + // update with: ./gradlew resolveAndLockAll --write-locks --update-locks '*:*' --no-configuration-cache dependencyLocking { lockAllConfigurations() lockFile = file("$projectDir/gradle.lockfile") } } -@OptIn(ExperimentalPathApi::class) +// update with: ./gradlew resolveAndLockAll --write-locks --update-locks '*:*' --no-configuration-cache +tasks.register("resolveAndLockAll") { + group = "dependencies" + description = "Resolves and locks all dependencies for all subprojects." + notCompatibleWithConfigurationCache("Filters configurations at execution time") + doFirst { + require(gradle.startParameter.isWriteDependencyLocks) { + "$path must be run with --write-locks" + } + } + doLast { + allprojects.forEach { proj -> + proj.configurations + .filter { it.isCanBeResolved } + .forEach { it.resolve() } + } + } +} + tasks.register("mergeDashFiles") { + description = "Merges all dash files from subprojects into a single dash file in the build directory." group = "oss" dependsOn( @@ -132,7 +157,8 @@ subprojects { } } -tasks.create("jacocoRootReport", JacocoReport::class.java) { +tasks.register("jacocoRootReport", JacocoReport::class.java) { + description = "Generates a Jacoco coverage report for all subprojects." group = "report" reports { diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index f69a983..57ee375 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -17,6 +17,7 @@ * */ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -26,12 +27,14 @@ plugins { // Do not use Java Toolchains (yet). tasks.withType { - kotlinOptions.jvmTarget = libs.versions.jvmTarget.get() + compilerOptions { + jvmTarget.set(JvmTarget.fromTarget(libs.versions.jvmTarget.get())) + } } java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } dependencies { diff --git a/buildSrc/src/main/kotlin/ktlint.gradle.kts b/buildSrc/src/main/kotlin/ktlint.gradle.kts index 0c544b2..3093455 100644 --- a/buildSrc/src/main/kotlin/ktlint.gradle.kts +++ b/buildSrc/src/main/kotlin/ktlint.gradle.kts @@ -17,7 +17,7 @@ * */ -val ktlint by configurations.creating +val ktlint = configurations.create("ktlint") dependencies { // can't use Project.lib exension here because the plugin is applied before the versionCatalog is available @@ -28,7 +28,7 @@ dependencies { } } -val ktlintCheck by tasks.registering(JavaExec::class) { +tasks.register("ktlintCheck") { group = LifecycleBasePlugin.VERIFICATION_GROUP description = "Check Kotlin code style" classpath = ktlint diff --git a/buildscripts/dash.sh b/buildscripts/dash.sh index afda6a2..cc6d4ad 100755 --- a/buildscripts/dash.sh +++ b/buildscripts/dash.sh @@ -1,5 +1,6 @@ +#!/usr/bin/env bash # -# Copyright (c) 2023 Contributors to the Eclipse Foundation +# Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,9 +18,17 @@ # # -projectName=$1 -folder=build/oss/"$projectName" -fileName=dependencies.txt +set -euo pipefail + +projectPath=$1 +# Normalize project path for gradle (ensure it starts with :) +gradleProjectPath=":${projectPath#:}" + +# Normalize folder path (strip leading colon and replace colons with slashes) +folderPath="${projectPath#:}" +folderPath="${folderPath//://}" +folder="build/oss/$folderPath" +fileName="dependencies.txt" mkdir -p "$folder" @@ -42,16 +51,24 @@ mkdir -p "$folder" unameOut="$(uname -s)" case "${unameOut}" in Linux*) GREP="grep";; # Linux - Darwin*) GREP="ggrep";; # Mac + Darwin*) + if command -v ggrep > /dev/null 2>&1; then + GREP="ggrep" + else + GREP="grep" + fi + ;; *) GREP="UNKNOWN:${unameOut}" esac echo "${GREP}" -./gradlew "$projectName":dependencies \ -| ${GREP} -Poh "(?<=\-\-\- ).*" \ -| ${GREP} -Pv "\([nc\*]\)" \ -| ${GREP} -Pv "FAILED" \ -| ${GREP} -Pv "project :[a-zA-Z0-9]+" \ +deps_output=$(./gradlew "${gradleProjectPath}:dependencies") + +echo "$deps_output" \ +| ( ${GREP} -Poh "(?<=\-\-\- ).*" || true ) \ +| ( ${GREP} -Pv "\([nc\*]\)" || true ) \ +| ( ${GREP} -Pv "FAILED" || true ) \ +| ( ${GREP} -Pv "project\s*[':]" || true ) \ | perl -pe 's/([\w\.\-]+):([\w\.\-]+):(?:[\w\.\-]+ -> )?([\w\.\-]+).*$/$1:$2:$3/gmi;t' \ | perl -pe 's/([\w\.\-]+):([\w\.\-]+) -> ([\w\.\-]+).*$/$1:$2:$3/gmi;t' \ | sort -u \ diff --git a/buildscripts/generate-test-certificates-and-tokens.sh b/buildscripts/generate-test-certificates-and-tokens.sh new file mode 100755 index 0000000..3b6a57f --- /dev/null +++ b/buildscripts/generate-test-certificates-and-tokens.sh @@ -0,0 +1,144 @@ +#!/usr/bin/env bash +# +# Copyright (c) 2026 Contributors to the Eclipse Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# + +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" + +AUTH_DIR="${ROOT_DIR}/kuksa-java-sdk/src/test/resources/authentication" +TLS_DIR="${ROOT_DIR}/kuksa-java-sdk/src/test/resources/tls" + +mkdir -p "${AUTH_DIR}" +mkdir -p "${TLS_DIR}" + +echo "==> Generating JWT authentication keys and tokens in ${AUTH_DIR}..." + +python3 - < str: + return base64.urlsafe_b64encode(data).decode('ascii').rstrip('=') + +tmpdir = tempfile.mkdtemp() +priv_key_path = os.path.join(tmpdir, 'jwt.key') +pub_key_path = '${AUTH_DIR}/jwt.key.pub' + +# Generate 4096-bit RSA private key and export public key in PEM format +subprocess.run(['openssl', 'genrsa', '-out', priv_key_path, '4096'], check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) +subprocess.run(['openssl', 'rsa', '-in', priv_key_path, '-pubout', '-out', pub_key_path], check=True, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + +# Valid until 2045-01-01T00:00:00Z +exp_timestamp = 2366841600 + +tokens = { + 'actuate-provide-all': { + 'sub': 'local dev', + 'iss': 'createToken.py', + 'aud': ['kuksa.val'], + 'iat': 1516239022, + 'exp': exp_timestamp, + 'scope': 'actuate provide' + }, + 'provide-all': { + 'sub': 'local dev', + 'iss': 'createToken.py', + 'aud': ['kuksa.val'], + 'iat': 1516239022, + 'exp': exp_timestamp, + 'scope': 'provide' + }, + 'read-all': { + 'sub': 'local dev', + 'iss': 'createToken.py', + 'aud': ['kuksa.val'], + 'iat': 1516239022, + 'exp': exp_timestamp, + 'scope': 'read' + } +} + +header = {'typ': 'JWT', 'alg': 'RS256'} +header_b64 = b64url(json.dumps(header, separators=(',', ':')).encode('utf-8')) + +for name, payload in tokens.items(): + payload_b64 = b64url(json.dumps(payload, separators=(',', ':')).encode('utf-8')) + signing_input = f'{header_b64}.{payload_b64}'.encode('utf-8') + + p = subprocess.Popen(['openssl', 'dgst', '-sha256', '-sign', priv_key_path], + stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + sig, err = p.communicate(signing_input) + if p.returncode != 0: + raise RuntimeError(f"Signing failed: {err.decode('utf-8')}") + + token = f'{header_b64}.{payload_b64}.{b64url(sig)}' + with open(f'${AUTH_DIR}/{name}.token', 'w') as f: + f.write(token) + +print("JWT tokens and public key successfully generated.") +EOF + +echo "==> Generating TLS certificates in ${TLS_DIR}..." + +TMP_DIR="$(mktemp -d)" +trap 'rm -rf "${TMP_DIR}"' EXIT + +CA_KEY="${TMP_DIR}/CA.key" +CA_CERT="${TLS_DIR}/CA.pem" +SERVER_KEY="${TLS_DIR}/Server.key" +SERVER_CSR="${TMP_DIR}/Server.csr" +SERVER_CERT="${TLS_DIR}/Server.pem" +EXT_FILE="${TMP_DIR}/server.ext" + +cat > "${EXT_FILE}" </dev/null +openssl req -x509 -new -nodes -key "${CA_KEY}" -sha256 -days 7300 \ + -subj "/C=CA/ST=Ontario/L=Ottawa/O=Eclipse.org Foundation, Inc./CN=localhost-ca/emailAddress=kuksa-dev@eclipse.org" \ + -out "${CA_CERT}" 2>/dev/null + +# 2. Generate Server private key and CSR +openssl genrsa -out "${SERVER_KEY}" 2048 2>/dev/null +openssl req -new -key "${SERVER_KEY}" \ + -subj "/C=CA/ST=Ontario/L=Ottawa/O=Eclipse.org Foundation, Inc./CN=Server/emailAddress=kuksa-dev@eclipse.org" \ + -out "${SERVER_CSR}" 2>/dev/null + +# 3. Sign Server certificate with CA (valid 20 years = 7300 days) +openssl x509 -req -in "${SERVER_CSR}" \ + -CA "${CA_CERT}" -CAkey "${CA_KEY}" -CAcreateserial \ + -out "${SERVER_CERT}" -days 7300 -sha256 \ + -extfile "${EXT_FILE}" 2>/dev/null + +echo "TLS CA and Server certificates successfully generated." +echo "==> Done!" diff --git a/dash.gradle.kts b/dash.gradle.kts index 0c5ed7a..e412127 100644 --- a/dash.gradle.kts +++ b/dash.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,5 +22,5 @@ tasks.register("createDashFile") { workingDir("$rootDir") commandLine("buildscripts/dash.sh") - args(project.name) + args(project.path) } diff --git a/gradle.properties b/gradle.properties index 14bfa47..90c7d9f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,3 +10,6 @@ kotlin.daemon.jvmargs=-Xmx2048m # When using compose + ksp the incremental compiler should be disabled: https://issuetracker.google.com/issues/207185051 ksp.incremental=false org.gradle.configuration-cache=true +org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled +org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true + diff --git a/gradle/gradle-daemon-jvm.properties b/gradle/gradle-daemon-jvm.properties new file mode 100644 index 0000000..07addd8 --- /dev/null +++ b/gradle/gradle-daemon-jvm.properties @@ -0,0 +1,12 @@ +#This file is generated by updateDaemonJvm +toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cb205e54cea236622eee3d62deb2c768/redirect +toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/452acd2202c1005abda962c6dae7fc5f/redirect +toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cb205e54cea236622eee3d62deb2c768/redirect +toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/452acd2202c1005abda962c6dae7fc5f/redirect +toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/faa59212208d027d066d1bbe337c5da5/redirect +toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/adf5b89d64773eff73f900e61dd2d632/redirect +toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cb205e54cea236622eee3d62deb2c768/redirect +toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/452acd2202c1005abda962c6dae7fc5f/redirect +toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/e0e37f85a97c5f2df685b37b14a25072/redirect +toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/ccc3884e65cd85bb71a09d2223c77229/redirect +toolchainVersion=21 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index efe6946..38d636e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,18 +1,19 @@ [versions] -androidGradlePlugin = "8.3.2" # Check with detekt table first: https://detekt.dev/docs/introduction/compatibility/ -detekt = "1.23.6" -dockerJavaCore = "3.4.1" -dokka = "1.9.20" -kotlin = "1.9.22" +androidGradlePlugin = "9.3.2" # Check with detekt table first: https://detekt.dev/docs/introduction/compatibility/ +detekt = "1.23.8" +dockerJavaCore = "3.7.1" +dokka = "2.2.0" +kotlin = "2.4.10" ktlint = "0.0" # Maintained inside ktlint.gradle.kts -grpc = "1.65.1" -grpcKotlin = "1.4.1" -protobufGradlePlugin = "0.9.4" -protobuf = "3.25.3" -kotest = "5.7.2" -mockk = "1.13.7" -kotlinxCoroutines = "1.7.3" -jvmTarget = "11" +grpc = "1.84.0" +grpcKotlin = "1.5.0" +protobufGradlePlugin = "0.10.0" +protobuf = "4.36.1" +kotest = "6.2.4" +mockk = "1.14.11" +kotlinxCoroutines = "1.11.0" +kotlinxSerialization = "1.9.0" +jvmTarget = "17" [libraries] docker-java-core = { module = "com.github.docker-java:docker-java-core", version.ref = "dockerJavaCore" } @@ -26,6 +27,7 @@ protobuf-kotlin-lite = { group = "com.google.protobuf", name = "protobuf-kotlin- kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinxCoroutines" } kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinxCoroutines" } +kotlinx-serialization-bom = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-bom", version.ref = "kotlinxSerialization" } # build specific libraries kotest = { group = "io.kotest", name = "kotest-runner-junit5", version.ref = "kotest" } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 48c0a02..45b2b3e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,24 @@ +# +# Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 +# +# + distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/kuksa-java-sdk/build.gradle.kts b/kuksa-java-sdk/build.gradle.kts index d42bb9c..1bb3cfb 100644 --- a/kuksa-java-sdk/build.gradle.kts +++ b/kuksa-java-sdk/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 - 2025 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,9 +21,7 @@ import org.eclipse.kuksa.version.SemanticVersion import org.eclipse.kuksa.version.VERSION_FILE_DEFAULT_PATH_KEY -import org.jetbrains.dokka.gradle.DokkaTask import org.jetbrains.kotlin.gradle.dsl.JvmTarget -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { kotlin("jvm") @@ -37,28 +35,21 @@ val semanticVersion = SemanticVersion(versionPath) version = semanticVersion.versionName group = "org.eclipse.kuksa" +val javaVersion = JavaVersion.toVersion(libs.versions.jvmTarget.get()) + +java { + sourceCompatibility = javaVersion + targetCompatibility = javaVersion +} + kotlin { compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) + jvmTarget.set(JvmTarget.fromTarget(libs.versions.jvmTarget.get())) } } tasks.withType().configureEach { useJUnitPlatform() - - kotlin { - compilerOptions { - // https://youtrack.jetbrains.com/issue/KT-48678/Coroutine-debugger-disable-was-optimised-out-compiler-feature - // We don't want local variables to be optimized out while debugging into tests - freeCompilerArgs.add("-Xdebug") - } - } -} - -tasks.withType { - kotlinOptions { - freeCompilerArgs = listOf("-Xdebug") - } } publish { @@ -68,20 +59,16 @@ publish { } tasks.register("javadocJar", Jar::class) { - dependsOn("dokkaHtml") + dependsOn("dokkaGeneratePublicationHtml") val buildDir = layout.buildDirectory.get() from("$buildDir/dokka/html") archiveClassifier.set("javadoc") } -tasks.withType().configureEach { - notCompatibleWithConfigurationCache("https://github.com/Kotlin/dokka/issues/2231") -} - java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 withJavadocJar() // needs to be called after tasks.register("javadocJar") withSourcesJar() @@ -101,6 +88,10 @@ dependencies { testImplementation(project(":test-core")) + // Kotest pulls in the kotlinx-serialization BOM as a transitive platform. Declaring it + // explicitly makes it a first class dependency which can be written into the lock file. + testImplementation(platform(libs.kotlinx.serialization.bom)) + testImplementation(libs.kotlinx.coroutines.test) testImplementation(libs.kotest) testImplementation(libs.mockk) diff --git a/kuksa-java-sdk/gradle.lockfile b/kuksa-java-sdk/gradle.lockfile index 4147ad5..fa820eb 100644 --- a/kuksa-java-sdk/gradle.lockfile +++ b/kuksa-java-sdk/gradle.lockfile @@ -1,28 +1,43 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. +# To regenerate this file, run: ./gradlew :kuksa-java-sdk:dependencies --write-locks ch.qos.logback:logback-classic:1.3.5=ktlint ch.qos.logback:logback-core:1.3.5=ktlint -com.fasterxml.jackson.core:jackson-annotations:2.10.3=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-core:2.10.3=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-databind:2.10.3=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.github.ajalt:colormath:1.2.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.github.ajalt:mordant:1.2.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.github.docker-java:docker-java-api:3.4.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.github.docker-java:docker-java-core:3.4.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.github.docker-java:docker-java-transport-httpclient5:3.4.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.github.docker-java:docker-java-transport:3.4.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.google.android:annotations:4.1.1.4=compileProtoPath,testCompileProtoPath,testRuntimeClasspath -com.google.code.findbugs:jsr305:3.0.2=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.google.code.gson:gson:2.10.1=compileProtoPath,testCompileProtoPath,testRuntimeClasspath -com.google.errorprone:error_prone_annotations:2.23.0=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.google.guava:failureaccess:1.0.1=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.google.guava:guava:32.1.3-android=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.google.j2objc:j2objc-annotations:2.8=compileClasspath,testCompileClasspath -com.google.protobuf:protobuf-javalite:3.25.3=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.google.protobuf:protobuf-kotlin-lite:3.25.3=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -com.google.protobuf:protoc:3.25.3=protobufToolsLocator_protoc +com.fasterxml.jackson.core:jackson-annotations:2.12.7=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.core:jackson-annotations:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson.core:jackson-annotations:2.20=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.12.7=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.core:jackson-core:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson.core:jackson-core:2.20.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.12.7.1=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.core:jackson-databind:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson.core:jackson-databind:2.20.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.12.7=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.12.7=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +com.fasterxml.jackson.module:jackson-module-kotlin:2.12.7=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.module:jackson-module-kotlin:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson:jackson-bom:2.12.7=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson:jackson-bom:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson:jackson-bom:2.20.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.fasterxml.woodstox:woodstox-core:6.2.4=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +com.fasterxml.woodstox:woodstox-core:6.5.1=dokkaHtmlGeneratorRuntimeResolver~internal +com.github.docker-java:docker-java-api:3.7.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.github.docker-java:docker-java-core:3.7.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.github.docker-java:docker-java-transport-httpclient5:3.7.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.github.docker-java:docker-java-transport:3.7.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.android:annotations:4.1.1.4=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.code.findbugs:jsr305:3.0.2=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.code.gson:gson:2.14.0=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.50.0=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.guava:failureaccess:1.0.3=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.guava:guava:33.6.0-android=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.j2objc:j2objc-annotations:3.1=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.protobuf:protobuf-javalite:4.36.1=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.protobuf:protobuf-kotlin-lite:4.36.1=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.google.protobuf:protoc:4.36.1=protobufToolsLocator_protoc com.pinterest.ktlint:ktlint-cli-reporter:0.49.0=ktlint com.pinterest.ktlint:ktlint-cli-ruleset-core:0.49.0=ktlint com.pinterest.ktlint:ktlint-core:0.49.0=ktlint @@ -39,121 +54,181 @@ com.pinterest.ktlint:ktlint-rule-engine-core:0.49.0=ktlint com.pinterest.ktlint:ktlint-rule-engine:0.49.0=ktlint com.pinterest.ktlint:ktlint-ruleset-standard:0.49.0=ktlint com.pinterest:ktlint:0.49.0=ktlint -com.squareup.okio:okio-jvm:3.4.0=compileProtoPath,testCompileProtoPath,testRuntimeClasspath -com.squareup.okio:okio:3.4.0=compileProtoPath,testCompileProtoPath,testRuntimeClasspath -commons-codec:commons-codec:1.13=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -commons-io:commons-io:2.13.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +com.squareup.okio:okio-jvm:3.4.0=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +com.squareup.okio:okio:3.4.0=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +commons-codec:commons-codec:1.19.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +commons-io:commons-io:2.21.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath info.picocli:picocli:4.7.1=ktlint -io.github.classgraph:classgraph:4.8.162=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.github.classgraph:classgraph:4.8.186=testCompileProtoPath,testRuntimeClasspath io.github.detekt.sarif4k:sarif4k:0.2.0=ktlint -io.github.java-diff-utils:java-diff-utils:4.12=testCompileProtoPath,testRuntimeClasspath +io.github.java-diff-utils:java-diff-utils:4.16=testCompileProtoPath,testRuntimeClasspath io.github.microutils:kotlin-logging-jvm:3.0.5=ktlint -io.grpc:grpc-api:1.65.1=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.grpc:grpc-context:1.65.1=compileProtoPath,testCompileProtoPath,testRuntimeClasspath -io.grpc:grpc-core:1.65.1=compileProtoPath,testCompileProtoPath,testRuntimeClasspath -io.grpc:grpc-kotlin-stub:1.4.1=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.grpc:grpc-okhttp:1.65.1=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.grpc:grpc-protobuf-lite:1.65.1=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.grpc:grpc-stub:1.65.1=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.grpc:grpc-util:1.65.1=compileProtoPath,testCompileProtoPath,testRuntimeClasspath -io.grpc:protoc-gen-grpc-java:1.65.1=protobufToolsLocator_grpc -io.grpc:protoc-gen-grpc-kotlin:1.4.1=protobufToolsLocator_grpckt -io.kotest:kotest-assertions-api-jvm:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-assertions-api:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-assertions-core-jvm:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-assertions-core:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-assertions-shared-jvm:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-assertions-shared:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-common-jvm:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-common:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-extensions-jvm:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-extensions:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-framework-api-jvm:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-framework-api:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-framework-concurrency-jvm:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-framework-concurrency:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-framework-discovery-jvm:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-framework-discovery:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-framework-engine-jvm:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-framework-engine:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-runner-junit5-jvm:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.kotest:kotest-runner-junit5:5.7.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.mockk:mockk-agent-api-jvm:1.13.7=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.mockk:mockk-agent-api:1.13.7=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.mockk:mockk-agent-jvm:1.13.7=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.mockk:mockk-agent:1.13.7=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.mockk:mockk-core-jvm:1.13.7=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.mockk:mockk-core:1.13.7=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.mockk:mockk-dsl-jvm:1.13.7=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.mockk:mockk-dsl:1.13.7=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.mockk:mockk-jvm:1.13.7=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.mockk:mockk:1.13.7=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -io.perfmark:perfmark-api:0.26.0=compileProtoPath,testCompileProtoPath,testRuntimeClasspath -javax.annotation:javax.annotation-api:1.3.2=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -junit:junit:4.13.2=testCompileProtoPath,testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.12.20=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.12.20=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -net.java.dev.jna:jna-platform:5.9.0=testCompileProtoPath,testRuntimeClasspath -net.java.dev.jna:jna:5.13.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.github.pdvrieze.xmlutil:core-jvmcommon:0.91.3=testCompileProtoPath,testRuntimeClasspath +io.github.pdvrieze.xmlutil:core:0.91.3=testCompileProtoPath,testRuntimeClasspath +io.github.pdvrieze.xmlutil:serialization-jvm:0.91.3=testCompileProtoPath,testRuntimeClasspath +io.github.pdvrieze.xmlutil:serialization:0.91.3=testCompileProtoPath,testRuntimeClasspath +io.grpc:grpc-api:1.84.0=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.grpc:grpc-context:1.84.0=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +io.grpc:grpc-core:1.84.0=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +io.grpc:grpc-kotlin-stub:1.5.0=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.grpc:grpc-okhttp:1.84.0=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.grpc:grpc-protobuf-lite:1.84.0=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.grpc:grpc-stub:1.84.0=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.grpc:grpc-util:1.84.0=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +io.grpc:protoc-gen-grpc-java:1.84.0=protobufToolsLocator_grpc +io.grpc:protoc-gen-grpc-kotlin:1.5.0=protobufToolsLocator_grpckt +io.kotest:kotest-assertions-core-jvm:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-assertions-core:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-assertions-shared-jvm:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-assertions-shared:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-common-jvm:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-common:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-extensions-jvm:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-extensions:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-framework-engine-jvm:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-framework-engine:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-runner-junit-platform-jvm:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-runner-junit-platform:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-runner-junit5-jvm:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.kotest:kotest-runner-junit5:6.2.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.mockk:mockk-agent-api-jvm:1.14.11=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.mockk:mockk-agent-api:1.14.11=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.mockk:mockk-agent-jvm:1.14.11=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.mockk:mockk-agent:1.14.11=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.mockk:mockk-core-jvm:1.14.11=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.mockk:mockk-core:1.14.11=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.mockk:mockk-dsl-jvm:1.14.11=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.mockk:mockk-dsl:1.14.11=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.mockk:mockk-jvm:1.14.11=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.mockk:mockk:1.14.11=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +io.perfmark:perfmark-api:0.27.0=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +it.unimi.dsi:fastutil-core:8.5.12=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +jakarta.activation:jakarta.activation-api:1.2.1=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +jakarta.xml.bind:jakarta.xml.bind-api:2.3.2=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +javax.annotation:javax.annotation-api:1.3.2=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.18.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.18.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.9.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +net.java.dev.jna:jna:5.18.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath net.java.dev.jna:jna:5.6.0=ktlint -org.apache.commons:commons-compress:1.21=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.apache.commons:commons-lang3:3.12.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.apache.httpcomponents.client5:httpclient5:5.0.3=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.apache.httpcomponents.core5:httpcore5-h2:5.0.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.apache.httpcomponents.core5:httpcore5:5.0.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.apache.commons:commons-compress:1.28.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.apache.commons:commons-lang3:3.19.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.apache.httpcomponents.client5:httpclient5:5.5.1=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.apache.httpcomponents.core5:httpcore5-h2:5.3.6=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.apache.httpcomponents.core5:httpcore5:5.3.6=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath -org.bouncycastle:bcpkix-jdk18on:1.76=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.bouncycastle:bcprov-jdk18on:1.76=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.bouncycastle:bcutil-jdk18on:1.76=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.checkerframework:checker-qual:3.37.0=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.codehaus.mojo:animal-sniffer-annotations:1.23=compileProtoPath,testCompileProtoPath,testRuntimeClasspath +org.bouncycastle:bcpg-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.bouncycastle:bcpkix-jdk18on:1.82=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.bouncycastle:bcpkix-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.bouncycastle:bcprov-jdk18on:1.82=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.bouncycastle:bcprov-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.bouncycastle:bcutil-jdk18on:1.82=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.bouncycastle:bcutil-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.codehaus.mojo:animal-sniffer-annotations:1.27=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.codehaus.woodstox:stax2-api:4.2.1=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime org.ec4j.core:ec4j-core:0.3.0=ktlint -org.hamcrest:hamcrest-core:1.3=testCompileProtoPath,testRuntimeClasspath -org.jacoco:org.jacoco.agent:0.8.11=jacocoAgent -org.jetbrains.intellij.deps:trove4j:1.0.20200330=kotlinCompilerClasspath,ktlint +org.freemarker:freemarker:2.3.32=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jacoco:org.jacoco.agent:0.8.14=jacocoAgent,jacocoAnt +org.jacoco:org.jacoco.ant:0.8.14=jacocoAnt +org.jacoco:org.jacoco.core:0.8.14=jacocoAnt +org.jacoco:org.jacoco.report:0.8.14=jacocoAnt +org.jetbrains.dokka:analysis-kotlin-descriptors:1.9.20=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains.dokka:analysis-kotlin-symbols:2.2.0=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.dokka:analysis-markdown:1.9.20=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains.dokka:analysis-markdown:2.2.0=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.dokka:dokka-base:1.9.20=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains.dokka:dokka-base:2.2.0=dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPluginIntransitiveResolver~internal +org.jetbrains.dokka:dokka-core:1.9.20=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +org.jetbrains.dokka:dokka-core:2.2.0=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.dokka:templating-plugin:2.2.0=dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPluginIntransitiveResolver~internal +org.jetbrains.intellij.deps:trove4j:1.0.20200330=ktlint +org.jetbrains.kotlin:kotlin-build-tools-api:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-api:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-build-tools-compat:2.4.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-impl:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-impl:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath org.jetbrains.kotlin:kotlin-compiler-embeddable:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.22=kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-compiler-runner:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-compiler-runner:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-daemon-client:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-daemon-client:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath org.jetbrains.kotlin:kotlin-daemon-embeddable:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.22=kotlinCompilerClasspath -org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinCompilerClasspath,ktlint -org.jetbrains.kotlin:kotlin-reflect:1.9.22=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:2.4.10=kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,ktlint +org.jetbrains.kotlin:kotlin-reflect:1.9.22=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlin:kotlin-reflect:2.0.21=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.kotlin:kotlin-reflect:2.4.10=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath org.jetbrains.kotlin:kotlin-script-runtime:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-script-runtime:1.9.22=kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-common:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-script-runtime:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-script-runtime:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-scripting-common:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-jvm:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest org.jetbrains.kotlin:kotlin-stdlib-common:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=compileClasspath,compileProtoPath,ktlint,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20=compileClasspath,compileProtoPath,ktlint,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlin:kotlin-stdlib-common:2.0.21=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.kotlin:kotlin-stdlib-common:2.4.10=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime,ktlint +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0=compileProtoPath,runtimeClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime,ktlint +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin org.jetbrains.kotlin:kotlin-stdlib:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-stdlib:1.9.22=compileClasspath,compileProtoPath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.7.3=testCompileProtoPath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.3=testCompileProtoPath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.7.3=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:1.9.22=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlin:kotlin-stdlib:2.0.21=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.kotlin:kotlin-stdlib:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-stdlib:2.4.10=compileClasspath,compileProtoPath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-tooling-core:2.4.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.11.0=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.11.0=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.11.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.11.0=testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.11.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-test:1.11.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-html-jvm:0.9.1=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains.kotlinx:kotlinx-io-bytestring-jvm:0.8.2=testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-io-bytestring:0.8.2=testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-io-core-jvm:0.8.2=testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-io-core:0.8.2=testCompileProtoPath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-serialization-bom:1.9.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.4.1=ktlint +org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.9.0=testCompileProtoPath,testRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.1=ktlint +org.jetbrains.kotlinx:kotlinx-serialization-core:1.9.0=testCompileProtoPath,testRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.4.1=ktlint org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1=ktlint -org.jetbrains:annotations:13.0=kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,ktlint -org.jetbrains:annotations:23.0.0=compileClasspath,compileProtoPath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-api:5.8.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.8.2=testCompileProtoPath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-params:5.8.2=testCompileProtoPath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter:5.8.2=testCompileProtoPath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.8.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.8.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.junit.platform:junit-platform-launcher:1.8.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-api:1.8.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.junit:junit-bom:5.8.2=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.objenesis:objenesis:3.3=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath -org.opentest4j:opentest4j:1.2.0=testCompileClasspath -org.opentest4j:opentest4j:1.3.0=testCompileProtoPath,testRuntimeClasspath -org.slf4j:slf4j-api:1.7.30=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains:annotations:13.0=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,ktlint +org.jetbrains:annotations:23.0.0=compileClasspath,compileProtoPath,dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.jetbrains:markdown-jvm:0.5.2=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains:markdown-jvm:0.7.3=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains:markdown:0.5.2=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains:markdown:0.7.3=dokkaHtmlGeneratorRuntimeResolver~internal +org.jsoup:jsoup:1.16.1=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jspecify:jspecify:1.0.0=compileClasspath,compileProtoPath,runtimeClasspath,testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.13.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.13.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.13.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.13.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.13.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.junit:junit-bom:5.13.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.objenesis:objenesis:3.4=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.9=jacocoAnt +org.ow2.asm:asm-tree:9.9=jacocoAnt +org.ow2.asm:asm:9.9=jacocoAnt +org.slf4j:slf4j-api:1.7.36=testCompileClasspath,testCompileProtoPath,testRuntimeClasspath org.slf4j:slf4j-api:2.0.4=ktlint -empty=annotationProcessor,kotlinScriptDefExtensions,protobuf,testAnnotationProcessor,testKotlinScriptDefExtensions,testProtobuf +empty=annotationProcessor,dokkaHtmlModuleOutputDirectoriesResolver~internal,dokkaHtmlPublicationPluginResolver~internal,dokkaPlugin,dokkaRuntime,implementationDependenciesMetadata,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDefExtensions,protobuf,testAnnotationProcessor,testImplementationDependenciesMetadata,testKotlinScriptDefExtensions,testProtobuf diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/FetchRequest.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/FetchRequest.kt index befaaea..824e00b 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/FetchRequest.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/FetchRequest.kt @@ -22,7 +22,7 @@ package org.eclipse.kuksa.connectivity.databroker.v1.request import org.eclipse.kuksa.proto.v1.Types /** - * Used for fetch requests with [org.eclipse.kuksa.connectivity.databroker.v1.DataBrokerConnection.fetch]. + * Used for fetch requests with [org.eclipse.kuksa.connectivity.databroker.v1.KuksaValV1Protocol.fetch]. */ open class FetchRequest @JvmOverloads constructor( override val vssPath: String, diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/SubscribeRequest.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/SubscribeRequest.kt index 6b601ed..1bd68b8 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/SubscribeRequest.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/SubscribeRequest.kt @@ -22,7 +22,7 @@ package org.eclipse.kuksa.connectivity.databroker.v1.request import org.eclipse.kuksa.proto.v1.Types /** - * Used for subscribe requests with [org.eclipse.kuksa.connectivity.databroker.v1.DataBrokerConnection.subscribe]. + * Used for subscribe requests with [org.eclipse.kuksa.connectivity.databroker.v1.KuksaValV1Protocol.subscribe]. */ open class SubscribeRequest @JvmOverloads constructor( override val vssPath: String, diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/UpdateRequest.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/UpdateRequest.kt index 0ed22dd..9a1d96a 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/UpdateRequest.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/UpdateRequest.kt @@ -23,7 +23,7 @@ import org.eclipse.kuksa.proto.v1.Types import org.eclipse.kuksa.proto.v1.Types.Datapoint /** - * Used for update requests with [org.eclipse.kuksa.connectivity.databroker.v1.DataBrokerConnection.update]. + * Used for update requests with [org.eclipse.kuksa.connectivity.databroker.v1.KuksaValV1Protocol.update]. */ open class UpdateRequest @JvmOverloads constructor( override val vssPath: String, diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeDataBrokerRequest.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeDataBrokerRequest.kt index 1274a4f..1119912 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeDataBrokerRequest.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeDataBrokerRequest.kt @@ -22,8 +22,8 @@ package org.eclipse.kuksa.connectivity.databroker.v1.request import org.eclipse.kuksa.vsscore.model.VssNode /** - * Uses [VssNode] models to request information for the [org.eclipse.kuksa.connectivity.databroker.v1.DataBrokerConnection] - * which are generated by the [org.eclipse.kuksa.vsscore.annotation.VssModelGenerator]. + * Uses [VssNode] models to request information for the [org.eclipse.kuksa.connectivity.databroker.DataBrokerConnection] + * which are generated by the `VssModelGenerator`. */ interface VssNodeDataBrokerRequest : DataBrokerRequest { /** diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeFetchRequest.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeFetchRequest.kt index e2721dd..f2cffc9 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeFetchRequest.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeFetchRequest.kt @@ -24,7 +24,7 @@ import org.eclipse.kuksa.vsscore.model.VssNode /** * Used for fetch requests with a generated [VssNode] model and - * [org.eclipse.kuksa.connectivity.databroker.v1.DataBrokerConnection.fetch]. + * [org.eclipse.kuksa.connectivity.databroker.v1.KuksaValV1Protocol.fetch]. */ class VssNodeFetchRequest @JvmOverloads constructor( override val vssNode: T, diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeSubscribeRequest.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeSubscribeRequest.kt index 4f6f0fb..c6a5392 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeSubscribeRequest.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeSubscribeRequest.kt @@ -24,7 +24,7 @@ import org.eclipse.kuksa.vsscore.model.VssNode /** * Used for subscribe requests with a generated [VssNode] model and - * [org.eclipse.kuksa.connectivity.databroker.v1.DataBrokerConnection.subscribe]. + * [org.eclipse.kuksa.connectivity.databroker.v1.KuksaValV1Protocol.subscribe]. */ class VssNodeSubscribeRequest @JvmOverloads constructor( override val vssNode: T, diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeUpdateRequest.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeUpdateRequest.kt index a332615..da7b22f 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeUpdateRequest.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/request/VssNodeUpdateRequest.kt @@ -24,7 +24,7 @@ import org.eclipse.kuksa.vsscore.model.VssNode /** * Used for update requests with a generated [VssNode] model and - * [org.eclipse.kuksa.connectivity.databroker.v1.DataBrokerConnection.update]. + * [org.eclipse.kuksa.connectivity.databroker.v1.KuksaValV1Protocol.update]. */ class VssNodeUpdateRequest @JvmOverloads constructor( override val vssNode: T, diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/ActuateRequestV2.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/ActuateRequestV2.kt index dea7e56..7536b10 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/ActuateRequestV2.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/ActuateRequestV2.kt @@ -24,7 +24,7 @@ import org.eclipse.kuksa.proto.v2.Types.Value /** * Used for actuate requests with - * [org.eclipse.kuksa.connectivity.databroker.DataBrokerConnection.kuksaValV2.actuate]. + * [org.eclipse.kuksa.connectivity.databroker.v2.KuksaValV2Protocol.actuate]. */ data class ActuateRequestV2(val signalId: SignalID, val value: Value) { companion object { diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/BatchActuateRequestV2.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/BatchActuateRequestV2.kt index 490cba6..c8dbe5a 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/BatchActuateRequestV2.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/BatchActuateRequestV2.kt @@ -24,7 +24,7 @@ import org.eclipse.kuksa.proto.v2.Types.Value /** * Used for batch actuate requests with - * [org.eclipse.kuksa.connectivity.databroker.DataBrokerConnection.kuksaValV2.batchActuate]. + * [org.eclipse.kuksa.connectivity.databroker.v2.KuksaValV2Protocol.batchActuate]. */ data class BatchActuateRequestV2(val signalIds: List, val value: Value) { companion object { diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/FetchValueRequestV2.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/FetchValueRequestV2.kt index 0754778..da8c7e3 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/FetchValueRequestV2.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/FetchValueRequestV2.kt @@ -23,7 +23,7 @@ import org.eclipse.kuksa.proto.v2.Types.SignalID /** * Used for fetch value requests with - * [org.eclipse.kuksa.connectivity.databroker.DataBrokerConnection.kuksaValV2.fetchValue]. + * [org.eclipse.kuksa.connectivity.databroker.v2.KuksaValV2Protocol.fetchValue]. */ data class FetchValueRequestV2(val signalId: SignalID) { companion object { diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/FetchValuesRequestV2.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/FetchValuesRequestV2.kt index 270330e..c91a79b 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/FetchValuesRequestV2.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/FetchValuesRequestV2.kt @@ -23,7 +23,7 @@ import org.eclipse.kuksa.proto.v2.Types.SignalID /** * Used for fetch values requests with - * [org.eclipse.kuksa.connectivity.databroker.DataBrokerConnection.kuksaValV2.fetchValues]. + * [org.eclipse.kuksa.connectivity.databroker.v2.KuksaValV2Protocol.fetchValues]. */ data class FetchValuesRequestV2(val signalIds: List) { companion object { diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/ListMetadataRequestV2.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/ListMetadataRequestV2.kt index 8846393..01c1a25 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/ListMetadataRequestV2.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/ListMetadataRequestV2.kt @@ -21,6 +21,6 @@ package org.eclipse.kuksa.connectivity.databroker.v2.request /** * Used for list metadata requests with - * [org.eclipse.kuksa.connectivity.databroker.DataBrokerConnection.kuksaValV2.listMetadata]. + * [org.eclipse.kuksa.connectivity.databroker.v2.KuksaValV2Protocol.listMetadata]. */ data class ListMetadataRequestV2(val root: String, val filter: String = "*") diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/PublishValueRequestV2.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/PublishValueRequestV2.kt index 0bb6f93..606d590 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/PublishValueRequestV2.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/PublishValueRequestV2.kt @@ -24,7 +24,7 @@ import org.eclipse.kuksa.proto.v2.Types.SignalID /** * Used for publish value requests with - * [org.eclipse.kuksa.connectivity.databroker.DataBrokerConnection.kuksaValV2.publishValue]. + * [org.eclipse.kuksa.connectivity.databroker.v2.KuksaValV2Protocol.publishValue]. */ data class PublishValueRequestV2(val signalId: SignalID, val datapoint: Types.Datapoint) { companion object { diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/SubscribeByIdRequestV2.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/SubscribeByIdRequestV2.kt index d50586d..a643967 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/SubscribeByIdRequestV2.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/SubscribeByIdRequestV2.kt @@ -21,6 +21,6 @@ package org.eclipse.kuksa.connectivity.databroker.v2.request /** * Used for subscribe by id requests with - * [org.eclipse.kuksa.connectivity.databroker.DataBrokerConnection.kuksaValV2.subscribeById]. + * [org.eclipse.kuksa.connectivity.databroker.v2.KuksaValV2Protocol.subscribeById]. */ data class SubscribeByIdRequestV2(val signalIds: List, val bufferSize: Int = 0) diff --git a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/SubscribeRequestV2.kt b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/SubscribeRequestV2.kt index 5e91b9b..7dd5c86 100644 --- a/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/SubscribeRequestV2.kt +++ b/kuksa-java-sdk/src/main/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/request/SubscribeRequestV2.kt @@ -21,6 +21,6 @@ package org.eclipse.kuksa.connectivity.databroker.v2.request /** * Used for subscribe requests with - * [org.eclipse.kuksa.connectivity.databroker.DataBrokerConnection.kuksaValV2.subscribe]. + * [org.eclipse.kuksa.connectivity.databroker.v2.KuksaValV2Protocol.subscribe]. */ data class SubscribeRequestV2(val signalPaths: List, val bufferSize: Int = 0) diff --git a/kuksa-java-sdk/src/main/proto/kuksa/val/v1/types.proto b/kuksa-java-sdk/src/main/proto/kuksa/val/v1/types.proto index fe44b55..7373be3 100644 --- a/kuksa-java-sdk/src/main/proto/kuksa/val/v1/types.proto +++ b/kuksa-java-sdk/src/main/proto/kuksa/val/v1/types.proto @@ -17,7 +17,7 @@ syntax = "proto3"; package kuksa.val.v1; import "google/protobuf/timestamp.proto"; -option go_package = "org/eclipse/kuksa/proto/v1"; +option go_package = "kuksa/val/v1"; option java_multiple_files = false; option java_package = "org.eclipse.kuksa.proto.v1"; diff --git a/kuksa-java-sdk/src/main/proto/kuksa/val/v1/v1.md b/kuksa-java-sdk/src/main/proto/kuksa/val/v1/v1.md new file mode 100644 index 0000000..4127f2d --- /dev/null +++ b/kuksa-java-sdk/src/main/proto/kuksa/val/v1/v1.md @@ -0,0 +1,277 @@ +# Protocol Documentation + + +## Table of Contents + +- [kuksa/val/v1/val.proto](#kuksa_val_v1_val-proto) + - [EntryRequest](#kuksa-val-v1-EntryRequest) + - [EntryUpdate](#kuksa-val-v1-EntryUpdate) + - [GetRequest](#kuksa-val-v1-GetRequest) + - [GetResponse](#kuksa-val-v1-GetResponse) + - [GetServerInfoRequest](#kuksa-val-v1-GetServerInfoRequest) + - [GetServerInfoResponse](#kuksa-val-v1-GetServerInfoResponse) + - [SetRequest](#kuksa-val-v1-SetRequest) + - [SetResponse](#kuksa-val-v1-SetResponse) + - [StreamedUpdateRequest](#kuksa-val-v1-StreamedUpdateRequest) + - [StreamedUpdateResponse](#kuksa-val-v1-StreamedUpdateResponse) + - [SubscribeEntry](#kuksa-val-v1-SubscribeEntry) + - [SubscribeRequest](#kuksa-val-v1-SubscribeRequest) + - [SubscribeResponse](#kuksa-val-v1-SubscribeResponse) + + - [VAL](#kuksa-val-v1-VAL) + +- [Scalar Value Types](#scalar-value-types) + + + + +

Top

+ +## kuksa/val/v1/val.proto + + + + + +### EntryRequest +Define which data we want + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| path | [string](#string) | | | +| view | [View](#kuksa-val-v1-View) | | | +| fields | [Field](#kuksa-val-v1-Field) | repeated | | + + + + + + + + +### EntryUpdate +Define the data we want to set + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entry | [DataEntry](#kuksa-val-v1-DataEntry) | | | +| fields | [Field](#kuksa-val-v1-Field) | repeated | | + + + + + + + + +### GetRequest +Request a set of entries. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entries | [EntryRequest](#kuksa-val-v1-EntryRequest) | repeated | | + + + + + + + + +### GetResponse +Global errors are specified in `error`. +Errors for individual entries are specified in `errors`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entries | [DataEntry](#kuksa-val-v1-DataEntry) | repeated | | +| errors | [DataEntryError](#kuksa-val-v1-DataEntryError) | repeated | | +| error | [Error](#kuksa-val-v1-Error) | | | + + + + + + + + +### GetServerInfoRequest +Nothing yet + + + + + + + + +### GetServerInfoResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | +| version | [string](#string) | | | + + + + + + + + +### SetRequest +A list of entries to be updated + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| updates | [EntryUpdate](#kuksa-val-v1-EntryUpdate) | repeated | | + + + + + + + + +### SetResponse +Global errors are specified in `error`. +Errors for individual entries are specified in `errors`. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| error | [Error](#kuksa-val-v1-Error) | | | +| errors | [DataEntryError](#kuksa-val-v1-DataEntryError) | repeated | | + + + + + + + + +### StreamedUpdateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| updates | [EntryUpdate](#kuksa-val-v1-EntryUpdate) | repeated | | + + + + + + + + +### StreamedUpdateResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| error | [Error](#kuksa-val-v1-Error) | | | +| errors | [DataEntryError](#kuksa-val-v1-DataEntryError) | repeated | | + + + + + + + + +### SubscribeEntry +Define what to subscribe to + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| path | [string](#string) | | | +| view | [View](#kuksa-val-v1-View) | | | +| fields | [Field](#kuksa-val-v1-Field) | repeated | | + + + + + + + + +### SubscribeRequest +Subscribe to changes in datapoints. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entries | [SubscribeEntry](#kuksa-val-v1-SubscribeEntry) | repeated | | + + + + + + + + +### SubscribeResponse +A subscription response + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| updates | [EntryUpdate](#kuksa-val-v1-EntryUpdate) | repeated | | + + + + + + + + + + + + + + +### VAL + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| Get | [GetRequest](#kuksa-val-v1-GetRequest) | [GetResponse](#kuksa-val-v1-GetResponse) | Get entries | +| Set | [SetRequest](#kuksa-val-v1-SetRequest) | [SetResponse](#kuksa-val-v1-SetResponse) | Set entries | +| StreamedUpdate | [StreamedUpdateRequest](#kuksa-val-v1-StreamedUpdateRequest) stream | [StreamedUpdateResponse](#kuksa-val-v1-StreamedUpdateResponse) stream | | +| Subscribe | [SubscribeRequest](#kuksa-val-v1-SubscribeRequest) | [SubscribeResponse](#kuksa-val-v1-SubscribeResponse) stream | Subscribe to a set of entries. Returns a stream of notifications. InvalidArgument is returned if the request is malformed. | +| GetServerInfo | [GetServerInfoRequest](#kuksa-val-v1-GetServerInfoRequest) | [GetServerInfoResponse](#kuksa-val-v1-GetServerInfoResponse) | Shall return information that allows the client to determine what server/server implementation/version it is talking to eg. kuksa-databroker 0.5.1 | + + + + + +## Scalar Value Types + +| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | +| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | +| double | | double | double | float | float64 | double | float | Float | +| float | | float | float | float | float32 | float | float | Float | +| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | +| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | +| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | +| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | +| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | +| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | +| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | diff --git a/kuksa-java-sdk/src/main/proto/kuksa/val/v1/val.proto b/kuksa-java-sdk/src/main/proto/kuksa/val/v1/val.proto index 0503b21..a3b556c 100644 --- a/kuksa-java-sdk/src/main/proto/kuksa/val/v1/val.proto +++ b/kuksa-java-sdk/src/main/proto/kuksa/val/v1/val.proto @@ -1,27 +1,21 @@ -/* - * Copyright (c) 2023 - 2025 Contributors to the Eclipse Foundation +/******************************************************************************** + * Copyright (c) 2022 Contributors to the Eclipse Foundation * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * This program and the accompanying materials are made available under the + * terms of the Apache License 2.0 which is available at + * http://www.apache.org/licenses/LICENSE-2.0 * * SPDX-License-Identifier: Apache-2.0 - * - */ + ********************************************************************************/ syntax = "proto3"; package kuksa.val.v1; -option go_package = "org/eclipse/kuksa/proto/v1"; +option go_package = "kuksa/val/v1"; option java_package = "org.eclipse.kuksa.proto.v1"; option java_outer_classname = "KuksaValV1"; diff --git a/kuksa-java-sdk/src/main/proto/kuksa/val/v2/types.proto b/kuksa-java-sdk/src/main/proto/kuksa/val/v2/types.proto index 7790a0f..decab85 100644 --- a/kuksa-java-sdk/src/main/proto/kuksa/val/v2/types.proto +++ b/kuksa-java-sdk/src/main/proto/kuksa/val/v2/types.proto @@ -12,6 +12,7 @@ ********************************************************************************/ syntax = "proto3"; +// Please do not add optional fields due to older proto3 versions limitations package kuksa.val.v2; import "google/protobuf/timestamp.proto"; @@ -23,7 +24,7 @@ option java_package = "org.eclipse.kuksa.proto.v2"; // The 'value' field can be explicitly 'None', meaning the Datapoint exists but no value is present. message Datapoint { google.protobuf.Timestamp timestamp = 1; // The timestamp of the datapoint. - Value value = 2; // The value associated with the timestamp. If no value is present, this field can be 'None'. + Value value = 2; // The value associated with the timestamp. If no value is present, this field can be 'None'. } message Value { @@ -47,6 +48,29 @@ message Value { } } +message SampleInterval { + uint32 interval_ms = 1; +} + +enum FilterError { + FILTER_ERROR_CODE_UNSPECIFIED = 0; + FILTER_ERROR_CODE_UNKNOWN_SINGAL_ID = 1; +} + +message Filter { + // Duration of the active call. If it is not set, call will last for ever. + uint32 duration_ms = 1; + // Min desired sample update interval. + SampleInterval min_sample_interval = 2; +} + +// Could be extended in the future with more errors +enum ProviderError { + CODE_UNSPECIFIED = 0; + CODE_NETWORK_ERROR = 1; + CODE_OVERLOAD = 2; +} + message SignalID { oneof signal { // Numeric identifier to the signal @@ -67,90 +91,55 @@ message Error { } enum ErrorCode { - OK = 0; - INVALID_ARGUMENT = 1; - NOT_FOUND = 2; - PERMISSION_DENIED = 3; + ERROR_CODE_UNSPECIFIED = 0; // Default value, never to be explicitly set, + ERROR_CODE_OK = 1; + ERROR_CODE_INVALID_ARGUMENT = 2; + ERROR_CODE_NOT_FOUND = 3; + ERROR_CODE_PERMISSION_DENIED = 4; } message Metadata { + + // Full dot notated path for the signal + string path = 9; // ID field - int32 id = 10; // Unique identifier for the metadata entry + int32 id = 10; // Data type // The VSS data type of the entry (i.e. the value, min, max etc). // // NOTE: protobuf doesn't have int8, int16, uint8 or uint16 which means // that these values must be serialized as int32 and uint32 respectively. - DataType data_type = 11; // [field: FIELD_METADATA_DATA_TYPE] + DataType data_type = 11; // Entry type - EntryType entry_type = 12; // [field: FIELD_METADATA_ENTRY_TYPE] + EntryType entry_type = 12; // Description // Describes the meaning and content of the entry. - optional string description = 13; // [field: FIELD_METADATA_DESCRIPTION] + string description = 13; - // Comment [optional] + // Comment // A comment can be used to provide additional informal information // on a entry. - optional string comment = 14; // [field: FIELD_METADATA_COMMENT] + string comment = 14; - // Deprecation [optional] + // Deprecation // Whether this entry is deprecated. Can contain recommendations of what // to use instead. - optional string deprecation = 15; // [field: FIELD_METADATA_DEPRECATION] + string deprecation = 15; - // Unit [optional] + // Unit // The unit of measurement - optional string unit = 16; // [field: FIELD_METADATA_UNIT] - - // Value restrictions [optional] - // Restrict which values are allowed. - // Only restrictions matching the DataType {datatype} above are valid. - ValueRestriction value_restriction = 17; // [field: FIELD_METADATA_VALUE_RESTRICTION] -} + string unit = 16; -// Value restriction -// -// One ValueRestriction{type} for each type, since -// they don't make sense unless the types match -// -message ValueRestriction { - oneof type { - ValueRestrictionString string = 21; - // For signed VSS integers - ValueRestrictionInt signed = 22; - // For unsigned VSS integers - ValueRestrictionUint unsigned = 23; - // For floating point VSS values (float and double) - ValueRestrictionFloat floating_point = 24; - } -} - -message ValueRestrictionInt { - optional sint64 min = 1; - optional sint64 max = 2; - repeated sint64 allowed_values = 3; -} - -message ValueRestrictionUint { - optional uint64 min = 1; - optional uint64 max = 2; - repeated uint64 allowed_values = 3; -} - -message ValueRestrictionFloat { - optional double min = 1; - optional double max = 2; - - // allowed for doubles/floats not recommended - repeated double allowed_values = 3; -} + // Value restrictions checked/enforced by Databroker + Value allowed_values = 17; // Must be of array type + Value min = 18; + Value max = 19; -// min, max doesn't make much sense for a string -message ValueRestrictionString { - repeated string allowed_values = 1; + // Minimum sample interval at which its provider can publish the signal value + SampleInterval min_sample_interval = 20; } // VSS Data type of a signal diff --git a/kuksa-java-sdk/src/main/proto/kuksa/val/v2/v2.md b/kuksa-java-sdk/src/main/proto/kuksa/val/v2/v2.md new file mode 100644 index 0000000..2eb98de --- /dev/null +++ b/kuksa-java-sdk/src/main/proto/kuksa/val/v2/v2.md @@ -0,0 +1,712 @@ +# Protocol Documentation + + +## Table of Contents + +- [kuksa/val/v2/val.proto](#kuksa_val_v2_val-proto) + - [ActuateRequest](#kuksa-val-v2-ActuateRequest) + - [ActuateResponse](#kuksa-val-v2-ActuateResponse) + - [BatchActuateRequest](#kuksa-val-v2-BatchActuateRequest) + - [BatchActuateResponse](#kuksa-val-v2-BatchActuateResponse) + - [BatchActuateStreamRequest](#kuksa-val-v2-BatchActuateStreamRequest) + - [BatchActuateStreamResponse](#kuksa-val-v2-BatchActuateStreamResponse) + - [GetProviderValueRequest](#kuksa-val-v2-GetProviderValueRequest) + - [GetProviderValueResponse](#kuksa-val-v2-GetProviderValueResponse) + - [GetProviderValueResponse.EntriesEntry](#kuksa-val-v2-GetProviderValueResponse-EntriesEntry) + - [GetServerInfoRequest](#kuksa-val-v2-GetServerInfoRequest) + - [GetServerInfoResponse](#kuksa-val-v2-GetServerInfoResponse) + - [GetValueRequest](#kuksa-val-v2-GetValueRequest) + - [GetValueResponse](#kuksa-val-v2-GetValueResponse) + - [GetValuesRequest](#kuksa-val-v2-GetValuesRequest) + - [GetValuesResponse](#kuksa-val-v2-GetValuesResponse) + - [ListMetadataRequest](#kuksa-val-v2-ListMetadataRequest) + - [ListMetadataResponse](#kuksa-val-v2-ListMetadataResponse) + - [OpenProviderStreamRequest](#kuksa-val-v2-OpenProviderStreamRequest) + - [OpenProviderStreamResponse](#kuksa-val-v2-OpenProviderStreamResponse) + - [ProvideActuationRequest](#kuksa-val-v2-ProvideActuationRequest) + - [ProvideActuationResponse](#kuksa-val-v2-ProvideActuationResponse) + - [ProvideSignalRequest](#kuksa-val-v2-ProvideSignalRequest) + - [ProvideSignalRequest.SignalsSampleIntervalsEntry](#kuksa-val-v2-ProvideSignalRequest-SignalsSampleIntervalsEntry) + - [ProvideSignalResponse](#kuksa-val-v2-ProvideSignalResponse) + - [ProviderErrorIndication](#kuksa-val-v2-ProviderErrorIndication) + - [PublishValueRequest](#kuksa-val-v2-PublishValueRequest) + - [PublishValueResponse](#kuksa-val-v2-PublishValueResponse) + - [PublishValuesRequest](#kuksa-val-v2-PublishValuesRequest) + - [PublishValuesRequest.DataPointsEntry](#kuksa-val-v2-PublishValuesRequest-DataPointsEntry) + - [PublishValuesResponse](#kuksa-val-v2-PublishValuesResponse) + - [PublishValuesResponse.StatusEntry](#kuksa-val-v2-PublishValuesResponse-StatusEntry) + - [SubscribeByIdRequest](#kuksa-val-v2-SubscribeByIdRequest) + - [SubscribeByIdResponse](#kuksa-val-v2-SubscribeByIdResponse) + - [SubscribeByIdResponse.EntriesEntry](#kuksa-val-v2-SubscribeByIdResponse-EntriesEntry) + - [SubscribeRequest](#kuksa-val-v2-SubscribeRequest) + - [SubscribeResponse](#kuksa-val-v2-SubscribeResponse) + - [SubscribeResponse.EntriesEntry](#kuksa-val-v2-SubscribeResponse-EntriesEntry) + - [UpdateFilterRequest](#kuksa-val-v2-UpdateFilterRequest) + - [UpdateFilterRequest.FiltersUpdateEntry](#kuksa-val-v2-UpdateFilterRequest-FiltersUpdateEntry) + - [UpdateFilterResponse](#kuksa-val-v2-UpdateFilterResponse) + + - [VAL](#kuksa-val-v2-VAL) + +- [Scalar Value Types](#scalar-value-types) + + + + +

Top

+ +## kuksa/val/v2/val.proto +Please do not add optional fields due to older proto3 versions limitations + + + + +### ActuateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signal_id | [SignalID](#kuksa-val-v2-SignalID) | | | +| value | [Value](#kuksa-val-v2-Value) | | | + + + + + + + + +### ActuateResponse + + + + + + + + + +### BatchActuateRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| actuate_requests | [ActuateRequest](#kuksa-val-v2-ActuateRequest) | repeated | | + + + + + + + + +### BatchActuateResponse + + + + + + + + + +### BatchActuateStreamRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| actuate_requests | [ActuateRequest](#kuksa-val-v2-ActuateRequest) | repeated | | + + + + + + + + +### BatchActuateStreamResponse +Message that shall be used by provider to indicate if an actuation request was accepted. + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signal_id | [SignalID](#kuksa-val-v2-SignalID) | | | +| error | [Error](#kuksa-val-v2-Error) | | | + + + + + + + + +### GetProviderValueRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request_id | [uint32](#uint32) | | Unique request id for the stream that can be used to match the corresponding response. | +| signal_ids | [int32](#int32) | repeated | | + + + + + + + + +### GetProviderValueResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request_id | [uint32](#uint32) | | Unique request id for the stream that can be used to match the corresponding request. | +| entries | [GetProviderValueResponse.EntriesEntry](#kuksa-val-v2-GetProviderValueResponse-EntriesEntry) | repeated | | + + + + + + + + +### GetProviderValueResponse.EntriesEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [int32](#int32) | | | +| value | [Datapoint](#kuksa-val-v2-Datapoint) | | | + + + + + + + + +### GetServerInfoRequest +Nothing yet + + + + + + + + +### GetServerInfoResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| name | [string](#string) | | | +| version | [string](#string) | | | +| commit_hash | [string](#string) | | | + + + + + + + + +### GetValueRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signal_id | [SignalID](#kuksa-val-v2-SignalID) | | | + + + + + + + + +### GetValueResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| data_point | [Datapoint](#kuksa-val-v2-Datapoint) | | | + + + + + + + + +### GetValuesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signal_ids | [SignalID](#kuksa-val-v2-SignalID) | repeated | | + + + + + + + + +### GetValuesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| data_points | [Datapoint](#kuksa-val-v2-Datapoint) | repeated | | + + + + + + + + +### ListMetadataRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| root | [string](#string) | | Root path to be used when listing metadata Shall correspond to a VSS branch, e.g. "Vehicle", "Vehicle.Cabin" Metadata for all signals under that branch will be returned unless filtered by filter. NOTE: Currently Databroker supports also signals and wildcards in root but that may be removed in a future release! | +| filter | [string](#string) | | NOTE : Currently not considered by Databroker, all signals matching root are returned | + + + + + + + + +### ListMetadataResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| metadata | [Metadata](#kuksa-val-v2-Metadata) | repeated | | + + + + + + + + +### OpenProviderStreamRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| provide_actuation_request | [ProvideActuationRequest](#kuksa-val-v2-ProvideActuationRequest) | | Inform server of an actuator this provider provides. | +| publish_values_request | [PublishValuesRequest](#kuksa-val-v2-PublishValuesRequest) | | Publish a value. | +| batch_actuate_stream_response | [BatchActuateStreamResponse](#kuksa-val-v2-BatchActuateStreamResponse) | | Sent to acknowledge the acceptance of a batch actuate request. | +| provide_signal_request | [ProvideSignalRequest](#kuksa-val-v2-ProvideSignalRequest) | | Inform server of a signal this provider provides. | +| update_filter_response | [UpdateFilterResponse](#kuksa-val-v2-UpdateFilterResponse) | | Update filter response | +| get_provider_value_response | [GetProviderValueResponse](#kuksa-val-v2-GetProviderValueResponse) | | GetValue response | +| provider_error_indication | [ProviderErrorIndication](#kuksa-val-v2-ProviderErrorIndication) | | Indication of error on provider side | + + + + + + + + +### OpenProviderStreamResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| provide_actuation_response | [ProvideActuationResponse](#kuksa-val-v2-ProvideActuationResponse) | | Response to a provide actuator request. | +| publish_values_response | [PublishValuesResponse](#kuksa-val-v2-PublishValuesResponse) | | Acknowledgement that a published value was received. | +| batch_actuate_stream_request | [BatchActuateStreamRequest](#kuksa-val-v2-BatchActuateStreamRequest) | | Send a batch actuate request to a provider. | +| provide_signal_response | [ProvideSignalResponse](#kuksa-val-v2-ProvideSignalResponse) | | Response to a provide sensor request. | +| update_filter_request | [UpdateFilterRequest](#kuksa-val-v2-UpdateFilterRequest) | | Filter request | +| get_provider_value_request | [GetProviderValueRequest](#kuksa-val-v2-GetProviderValueRequest) | | GetValue request from client forwarded to provider | + + + + + + + + +### ProvideActuationRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| actuator_identifiers | [SignalID](#kuksa-val-v2-SignalID) | repeated | | + + + + + + + + +### ProvideActuationResponse + + + + + + + + + +### ProvideSignalRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signals_sample_intervals | [ProvideSignalRequest.SignalsSampleIntervalsEntry](#kuksa-val-v2-ProvideSignalRequest-SignalsSampleIntervalsEntry) | repeated | | + + + + + + + + +### ProvideSignalRequest.SignalsSampleIntervalsEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [int32](#int32) | | | +| value | [SampleInterval](#kuksa-val-v2-SampleInterval) | | | + + + + + + + + +### ProvideSignalResponse + + + + + + + + + +### ProviderErrorIndication +Send to indicate an error on provider side + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| provider_error | [ProviderError](#kuksa-val-v2-ProviderError) | | | + + + + + + + + +### PublishValueRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signal_id | [SignalID](#kuksa-val-v2-SignalID) | | | +| data_point | [Datapoint](#kuksa-val-v2-Datapoint) | | | + + + + + + + + +### PublishValueResponse + + + + + + + + + +### PublishValuesRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request_id | [uint32](#uint32) | | Unique request id for the stream that can be used to match the corresponding response. | +| data_points | [PublishValuesRequest.DataPointsEntry](#kuksa-val-v2-PublishValuesRequest-DataPointsEntry) | repeated | | + + + + + + + + +### PublishValuesRequest.DataPointsEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [int32](#int32) | | | +| value | [Datapoint](#kuksa-val-v2-Datapoint) | | | + + + + + + + + +### PublishValuesResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request_id | [uint32](#uint32) | | Unique request id for the stream that can be used to match the corresponding request. | +| status | [PublishValuesResponse.StatusEntry](#kuksa-val-v2-PublishValuesResponse-StatusEntry) | repeated | | + + + + + + + + +### PublishValuesResponse.StatusEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [int32](#int32) | | | +| value | [Error](#kuksa-val-v2-Error) | | | + + + + + + + + +### SubscribeByIdRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signal_ids | [int32](#int32) | repeated | | +| buffer_size | [uint32](#uint32) | | Specifies the number of messages that can be buffered for slow subscribers before the oldest messages are dropped. Default (0) results in that only latest message is kept. Maximum value supported is implementation dependent. | +| filter | [Filter](#kuksa-val-v2-Filter) | | | + + + + + + + + +### SubscribeByIdResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entries | [SubscribeByIdResponse.EntriesEntry](#kuksa-val-v2-SubscribeByIdResponse-EntriesEntry) | repeated | | + + + + + + + + +### SubscribeByIdResponse.EntriesEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [int32](#int32) | | | +| value | [Datapoint](#kuksa-val-v2-Datapoint) | | | + + + + + + + + +### SubscribeRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| signal_paths | [string](#string) | repeated | | +| buffer_size | [uint32](#uint32) | | Specifies the number of messages that can be buffered for slow subscribers before the oldest messages are dropped. Default (0) results in that only latest message is kept. Maximum value supported is implementation dependent. | +| filter | [Filter](#kuksa-val-v2-Filter) | | | + + + + + + + + +### SubscribeResponse + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| entries | [SubscribeResponse.EntriesEntry](#kuksa-val-v2-SubscribeResponse-EntriesEntry) | repeated | | + + + + + + + + +### SubscribeResponse.EntriesEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [string](#string) | | | +| value | [Datapoint](#kuksa-val-v2-Datapoint) | | | + + + + + + + + +### UpdateFilterRequest + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request_id | [uint32](#uint32) | | Unique request id for the stream that can be used to match the corresponding response. | +| filters_update | [UpdateFilterRequest.FiltersUpdateEntry](#kuksa-val-v2-UpdateFilterRequest-FiltersUpdateEntry) | repeated | Databroker sends filters to provider. In case provider restarts, databroker will send local filters stored to continue the provider sending same signals with same filter. Filter value could be None, meaning all subscriptions were removed for that SignalId | + + + + + + + + +### UpdateFilterRequest.FiltersUpdateEntry + + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| key | [int32](#int32) | | | +| value | [Filter](#kuksa-val-v2-Filter) | | | + + + + + + + + +### UpdateFilterResponse +Only returned if there is a filter error on provider side + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| request_id | [uint32](#uint32) | | Unique request id for the stream that can be used to match the corresponding request. | +| filter_error | [FilterError](#kuksa-val-v2-FilterError) | | | + + + + + + + + + + + + + + +### VAL + + +| Method Name | Request Type | Response Type | Description | +| ----------- | ------------ | ------------- | ------------| +| GetValue | [GetValueRequest](#kuksa-val-v2-GetValueRequest) | [GetValueResponse](#kuksa-val-v2-GetValueResponse) | Get the latest value of a signal If the signal exist but does not have a valid value a DataPoint where value is None shall be returned. Returns (GRPC error code): NOT_FOUND if the requested signal doesn't exist UNAUTHENTICATED if no credentials provided or credentials has expired PERMISSION_DENIED if access is denied INVALID_ARGUMENT if the request is empty or provided path is too long - MAX_REQUEST_PATH_LENGTH: usize = 1000; | +| GetValues | [GetValuesRequest](#kuksa-val-v2-GetValuesRequest) | [GetValuesResponse](#kuksa-val-v2-GetValuesResponse) | Get the latest values of a set of signals. The returned list of data points has the same order as the list of the request. If a requested signal has no value a DataPoint where value is None will be returned. Returns (GRPC error code): NOT_FOUND if any of the requested signals doesn't exist. UNAUTHENTICATED if no credentials provided or credentials has expired PERMISSION_DENIED if access is denied for any of the requested signals. INVALID_ARGUMENT if the request is empty or provided path is too long - MAX_REQUEST_PATH_LENGTH: usize = 1000; | +| Subscribe | [SubscribeRequest](#kuksa-val-v2-SubscribeRequest) | [SubscribeResponse](#kuksa-val-v2-SubscribeResponse) stream | Subscribe to a set of signals using string path parameters Returns (GRPC error code): NOT_FOUND if any of the signals are non-existant. UNAUTHENTICATED if no credentials provided or credentials has expired PERMISSION_DENIED if access is denied for any of the signals. INVALID_ARGUMENT - if the request is empty or provided path is too long MAX_REQUEST_PATH_LENGTH: usize = 1000; - if buffer_size exceeds the maximum permitted MAX_BUFFER_SIZE: usize = 1000; When subscribing, Databroker shall immediately return the value for all subscribed entries. If a value isn't available when subscribing to a it, it should return None. If a subscriber is slow to consume signals, messages will be buffered up to the specified buffer_size before the oldest messages are dropped. | +| SubscribeById | [SubscribeByIdRequest](#kuksa-val-v2-SubscribeByIdRequest) | [SubscribeByIdResponse](#kuksa-val-v2-SubscribeByIdResponse) stream | Subscribe to a set of signals using i32 id parameters Returns (GRPC error code): NOT_FOUND if any of the signals are non-existant. UNAUTHENTICATED if no credentials provided or credentials has expired PERMISSION_DENIED if access is denied for any of the signals. INVALID_ARGUMENT - if the request is empty or provided path is too long MAX_REQUEST_PATH_LENGTH: usize = 1000; - if buffer_size exceeds the maximum permitted MAX_BUFFER_SIZE: usize = 1000; When subscribing, Databroker shall immediately return the value for all subscribed entries If a value isn't available when subscribing to a it, it should return None. If a subscriber is slow to consume signals, messages will be buffered up to the specified buffer_size before the oldest messages are dropped. | +| Actuate | [ActuateRequest](#kuksa-val-v2-ActuateRequest) | [ActuateResponse](#kuksa-val-v2-ActuateResponse) | Actuate a single actuator. Returns (GRPC error code): NOT_FOUND if the actuator does not exist. PERMISSION_DENIED if access is denied for the actuator. UNAUTHENTICATED if no credentials provided or credentials has expired UNAVAILABLE if there is no provider currently providing the actuator DATA_LOSS is there is a internal TransmissionFailure INVALID_ARGUMENT - if the provided path is not an actuator. - if the data type used in the request does not match the data type of the addressed signal - if the requested value is not accepted, e.g. if sending an unsupported enum value - if the provided value is out of the min/max range specified | +| ActuateStream | [ActuateRequest](#kuksa-val-v2-ActuateRequest) stream | [ActuateResponse](#kuksa-val-v2-ActuateResponse) | Actuate a single actuator in a gRPC stream -> Use for low latency and high throughput. Returns (GRPC error code): NOT_FOUND if the actuator does not exist. PERMISSION_DENIED if access is denied for the actuator. UNAUTHENTICATED if no credentials provided or credentials has expired UNAVAILABLE if there is no provider currently providing the actuator DATA_LOSS is there is a internal TransmissionFailure INVALID_ARGUMENT - if the provided path is not an actuator. - if the data type used in the request does not match the data type of the addressed signal - if the requested value is not accepted, e.g. if sending an unsupported enum value - if the provided value is out of the min/max range specified | +| BatchActuate | [BatchActuateRequest](#kuksa-val-v2-BatchActuateRequest) | [BatchActuateResponse](#kuksa-val-v2-BatchActuateResponse) | Actuate simultaneously multiple actuators. If any error occurs, the entire operation will be aborted and no single actuator value will be forwarded to the provider. Returns (GRPC error code): NOT_FOUND if any of the actuators are non-existant. PERMISSION_DENIED if access is denied for any of the actuators. UNAUTHENTICATED if no credentials provided or credentials has expired UNAVAILABLE if there is no provider currently providing an actuator DATA_LOSS is there is a internal TransmissionFailure INVALID_ARGUMENT - if any of the provided path is not an actuator. - if the data type used in the request does not match the data type of the addressed signal - if the requested value is not accepted, e.g. if sending an unsupported enum value - if any of the provided actuators values are out of the min/max range specified | +| ListMetadata | [ListMetadataRequest](#kuksa-val-v2-ListMetadataRequest) | [ListMetadataResponse](#kuksa-val-v2-ListMetadataResponse) | List metadata of signals matching the request. Returns (GRPC error code): NOT_FOUND if the specified root branch does not exist. UNAUTHENTICATED if no credentials provided or credentials has expired INVALID_ARGUMENT if the provided path or wildcard is wrong. | +| PublishValue | [PublishValueRequest](#kuksa-val-v2-PublishValueRequest) | [PublishValueResponse](#kuksa-val-v2-PublishValueResponse) | Publish a signal value. Used for low frequency signals (e.g. attributes). Returns (GRPC error code): NOT_FOUND if any of the signals are non-existant. PERMISSION_DENIED - if access is denied for any of the signals. UNAUTHENTICATED if no credentials provided or credentials has expired INVALID_ARGUMENT - if the data type used in the request does not match the data type of the addressed signal - if the published value is not accepted, e.g. if sending an unsupported enum value - if the published value is out of the min/max range specified | +| OpenProviderStream | [OpenProviderStreamRequest](#kuksa-val-v2-OpenProviderStreamRequest) stream | [OpenProviderStreamResponse](#kuksa-val-v2-OpenProviderStreamResponse) stream | Open a stream used to provide actuation and/or publishing values using a streaming interface. Used to provide actuators and to enable high frequency updates of values. The open stream is used for request / response type communication between the provider and server (where the initiator of a request can vary). Errors: - Provider sends ProvideActuationRequest -> Databroker returns ProvideActuationResponse - strict case Returns (GRPC error code) and closes the stream call NOT_FOUND if any of the signals are non-existant. PERMISSION_DENIED if access is denied for any of the signals. UNAUTHENTICATED if no credentials provided or credentials has expired ALREADY_EXISTS if a provider already claimed the ownership of an actuator: - Provider sends PublishValuesRequest -> Databroker returns PublishValuesResponse upon error, and nothing upon success - permissive case GRPC errors are returned as messages in the stream response with the signal id `map<int32, Error> status = 2;` NOT_FOUND if a signal is non-existant. PERMISSION_DENIED - if access is denied for a signal. INVALID_ARGUMENT - if the data type used in the request does not match the data type of the addressed signal - if the published value is not accepted, e.g. if sending an unsupported enum value - if the published value is out of the min/max range specified - strict case Returns (GRPC error code) and closes the stream call. ALREADY_EXISTS if a provider already claimed the ownership of the signals ABORTED if provider has not claimed yet the signals: - Databroker sends BatchActuateStreamRequest -> Provider shall return a BatchActuateStreamResponse, for every signal requested to indicate if the request was accepted or not. It is up to the provider to decide if the stream shall be closed, as of today Databroker will not react on the received error message: - Provider sends ProvideSignalRequest -> Databroker returns ProvideSignalResponse - strict case Returns (GRPC error code) and closes the stream call. NOT_FOUND if any of the signals are non-existant. PERMISSION_DENIED if access is denied for any of the signals. UNAUTHENTICATED if no credentials provided or credentials has expired ALREADY_EXISTS if a provider already claimed the ownership of any signal: - Provider sends ProviderErrorIndication - strict case Returns (GRPC error code) and closes the stream call. ABORTED if provider has not claimed yet the signals | +| GetServerInfo | [GetServerInfoRequest](#kuksa-val-v2-GetServerInfoRequest) | [GetServerInfoResponse](#kuksa-val-v2-GetServerInfoResponse) | Get server information | + + + + + +## Scalar Value Types + +| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby | +| ----------- | ----- | --- | ---- | ------ | -- | -- | --- | ---- | +| double | | double | double | float | float64 | double | float | Float | +| float | | float | float | float | float32 | float | float | Float | +| int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) | +| uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) | +| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) | +| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum | +| sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) | +| sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum | +| bool | | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | +| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) | +| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) | diff --git a/kuksa-java-sdk/src/main/proto/kuksa/val/v2/val.proto b/kuksa-java-sdk/src/main/proto/kuksa/val/v2/val.proto index f286b57..30b51aa 100644 --- a/kuksa-java-sdk/src/main/proto/kuksa/val/v2/val.proto +++ b/kuksa-java-sdk/src/main/proto/kuksa/val/v2/val.proto @@ -107,6 +107,24 @@ service VAL { // rpc Actuate(ActuateRequest) returns (ActuateResponse); + // Actuate a single actuator in a gRPC stream -> Use for low latency and high throughput + // + // Returns (GRPC error code): + // NOT_FOUND if the actuator does not exist. + // PERMISSION_DENIED if access is denied for the actuator. + // UNAUTHENTICATED if no credentials provided or credentials has expired + // UNAVAILABLE if there is no provider currently providing the actuator + // DATA_LOSS is there is a internal TransmissionFailure + // INVALID_ARGUMENT + // - if the provided path is not an actuator. + // - if the data type used in the request does not match + // the data type of the addressed signal + // - if the requested value is not accepted, + // e.g. if sending an unsupported enum value + // - if the provided value is out of the min/max range specified + // + rpc ActuateStream(stream ActuateRequest) returns (ActuateResponse); + // Actuate simultaneously multiple actuators. // If any error occurs, the entire operation will be aborted // and no single actuator value will be forwarded to the provider. @@ -161,30 +179,49 @@ service VAL { // // Errors: // - Provider sends ProvideActuationRequest -> Databroker returns ProvideActuationResponse - // Returns (GRPC error code) and closes the stream call (strict case). - // NOT_FOUND if any of the signals are non-existant. - // PERMISSION_DENIED if access is denied for any of the signals. - // UNAUTHENTICATED if no credentials provided or credentials has expired - // ALREADY_EXISTS if a provider already claimed the ownership of an actuator + // - strict case + // Returns (GRPC error code) and closes the stream call + // NOT_FOUND if any of the signals are non-existant. + // PERMISSION_DENIED if access is denied for any of the signals. + // UNAUTHENTICATED if no credentials provided or credentials has expired + // ALREADY_EXISTS if a provider already claimed the ownership of an actuator // // - Provider sends PublishValuesRequest -> Databroker returns PublishValuesResponse upon error, and nothing upon success - // GRPC errors are returned as messages in the stream - // response with the signal id `map status = 2;` (permissive case) - // NOT_FOUND if a signal is non-existant. - // PERMISSION_DENIED - // - if access is denied for a signal. - // INVALID_ARGUMENT - // - if the data type used in the request does not match - // the data type of the addressed signal - // - if the published value is not accepted, - // e.g. if sending an unsupported enum value - // - if the published value is out of the min/max range specified + // - permissive case + // GRPC errors are returned as messages in the stream + // response with the signal id `map status = 2;` + // NOT_FOUND if a signal is non-existant. + // PERMISSION_DENIED + // - if access is denied for a signal. + // INVALID_ARGUMENT + // - if the data type used in the request does not match + // the data type of the addressed signal + // - if the published value is not accepted, + // e.g. if sending an unsupported enum value + // - if the published value is out of the min/max range specified + // - strict case + // Returns (GRPC error code) and closes the stream call. + // ALREADY_EXISTS if a provider already claimed the ownership of the signals + // ABORTED if provider has not claimed yet the signals // // - Databroker sends BatchActuateStreamRequest -> Provider shall return a BatchActuateStreamResponse, // for every signal requested to indicate if the request was accepted or not. // It is up to the provider to decide if the stream shall be closed, // as of today Databroker will not react on the received error message. // + // - Provider sends ProvideSignalRequest -> Databroker returns ProvideSignalResponse + // - strict case + // Returns (GRPC error code) and closes the stream call. + // NOT_FOUND if any of the signals are non-existant. + // PERMISSION_DENIED if access is denied for any of the signals. + // UNAUTHENTICATED if no credentials provided or credentials has expired + // ALREADY_EXISTS if a provider already claimed the ownership of any signal. + // + // - Provider sends ProviderErrorIndication + // - strict case + // Returns (GRPC error code) and closes the stream call. + // ABORTED if provider has not claimed yet the signals + // rpc OpenProviderStream(stream OpenProviderStreamRequest) returns (stream OpenProviderStreamResponse); // Get server information @@ -215,6 +252,7 @@ message SubscribeRequest { // Default (0) results in that only latest message is kept. // Maximum value supported is implementation dependent. uint32 buffer_size = 2; + Filter filter = 3; } message SubscribeResponse { @@ -229,6 +267,7 @@ message SubscribeByIdRequest { // Default (0) results in that only latest message is kept. // Maximum value supported is implementation dependent. uint32 buffer_size = 2; + Filter filter = 3; } message SubscribeByIdResponse { @@ -274,12 +313,12 @@ message PublishValueResponse { } message PublishValuesRequest { - int32 request_id = 1; /// Unique request id for the stream that can be used to identify the response. + uint32 request_id = 1; /// Unique request id for the stream that can be used to match the corresponding response. map data_points = 2; } message PublishValuesResponse { - int32 request_id = 1; + uint32 request_id = 1; /// Unique request id for the stream that can be used to match the corresponding request. map status = 2; } @@ -290,6 +329,13 @@ message ProvideActuationRequest { message ProvideActuationResponse { } +message ProvideSignalRequest { + map signals_sample_intervals = 1; +} + +message ProvideSignalResponse { +} + message BatchActuateStreamRequest { repeated ActuateRequest actuate_requests = 1; } @@ -300,6 +346,36 @@ message BatchActuateStreamResponse { Error error = 2; } +message UpdateFilterRequest { + uint32 request_id = 1; /// Unique request id for the stream that can be used to match the corresponding response. + // Databroker sends filters to provider. + // In case provider restarts, databroker will send local filters stored + // to continue the provider sending same signals with same filter. + // Filter value could be None, meaning all subscriptions were removed for that SignalId + map filters_update = 2; +} + +// Only returned if there is a filter error on provider side +message UpdateFilterResponse { + uint32 request_id = 1; /// Unique request id for the stream that can be used to match the corresponding request. + FilterError filter_error = 2; +} + +// Send to indicate an error on provider side +message ProviderErrorIndication { + ProviderError provider_error = 1; +} + +message GetProviderValueRequest { + uint32 request_id = 1; /// Unique request id for the stream that can be used to match the corresponding response. + repeated int32 signal_ids = 2; +} + +message GetProviderValueResponse { + uint32 request_id = 1; /// Unique request id for the stream that can be used to match the corresponding request. + map entries = 2; +} + message OpenProviderStreamRequest { oneof action { // Inform server of an actuator this provider provides. @@ -309,6 +385,14 @@ message OpenProviderStreamRequest { // Sent to acknowledge the acceptance of a batch actuate // request. BatchActuateStreamResponse batch_actuate_stream_response = 3; + // Inform server of a signal this provider provides. + ProvideSignalRequest provide_signal_request = 4; + // Update filter response + UpdateFilterResponse update_filter_response = 5; + // GetValue response + GetProviderValueResponse get_provider_value_response = 6; + // Indication of error on provider side + ProviderErrorIndication provider_error_indication = 7; } } @@ -320,6 +404,12 @@ message OpenProviderStreamResponse { PublishValuesResponse publish_values_response = 2; // Send a batch actuate request to a provider. BatchActuateStreamRequest batch_actuate_stream_request = 3; + // Response to a provide sensor request. + ProvideSignalResponse provide_signal_response = 4; + // Filter request + UpdateFilterRequest update_filter_request = 5; + // GetValue request from client forwarded to provider + GetProviderValueRequest get_provider_value_request = 6; } } diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/DataBrokerConnectionV1Test.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/DataBrokerConnectionV1Test.kt index 3382416..e7dbac6 100644 --- a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/DataBrokerConnectionV1Test.kt +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/DataBrokerConnectionV1Test.kt @@ -19,19 +19,15 @@ package org.eclipse.kuksa.connectivity.databroker -import io.grpc.ConnectivityState -import io.grpc.ManagedChannel import io.kotest.assertions.nondeterministic.eventually import io.kotest.core.spec.style.BehaviorSpec import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldNotBe -import io.mockk.every import io.mockk.mockk import io.mockk.verify import org.eclipse.kuksa.connectivity.databroker.docker.DataBrokerDockerContainer import org.eclipse.kuksa.connectivity.databroker.docker.InsecureDataBrokerDockerContainer import org.eclipse.kuksa.connectivity.databroker.provider.DataBrokerConnectorProvider -import org.eclipse.kuksa.connectivity.databroker.v1.DataBrokerInvokerV1 import org.eclipse.kuksa.connectivity.databroker.v1.extensions.updateRandomFloatValue import org.eclipse.kuksa.connectivity.databroker.v1.request.FetchRequest import org.eclipse.kuksa.connectivity.databroker.v1.request.SubscribeRequest @@ -73,14 +69,11 @@ class DataBrokerConnectionV1Test : BehaviorSpec({ ) val dataBrokerConnection = connector.connect() - val dataBrokerInvokerV1 = - DataBrokerInvokerV1(dataBrokerConnectorProvider.managedChannel) - and("A request with a valid VSS Path") { val vssPath = "Vehicle.Acceleration.Lateral" val field = Types.Field.FIELD_VALUE - val initialValue = dataBrokerInvokerV1.updateRandomFloatValue(vssPath) + val initialValue = dataBrokerConnection.kuksaValV1.updateRandomFloatValue(vssPath) val subscribeRequest = SubscribeRequest(vssPath, field) `when`("Subscribing to the VSS path") { @@ -97,7 +90,7 @@ class DataBrokerConnectionV1Test : BehaviorSpec({ } } - `when`("The observed VSS path changes") { + and("The observed VSS path changes") { vssPathListener.reset() val random = Random(System.currentTimeMillis()) @@ -305,7 +298,7 @@ class DataBrokerConnectionV1Test : BehaviorSpec({ } // this test closes the connection, the connection can't be used afterward anymore - `when`("A DisconnectListener is registered successfully") { + and("A DisconnectListener is registered successfully") { val disconnectListener = mockk(relaxed = true) val disconnectListeners = dataBrokerConnection.disconnectListeners disconnectListeners.register(disconnectListener) @@ -320,19 +313,6 @@ class DataBrokerConnectionV1Test : BehaviorSpec({ } // connection is closed at this point } - given("A DataBrokerConnection with a mocked ManagedChannel") { - val managedChannel = mockk(relaxed = true) - every { managedChannel.getState(any()) }.returns(ConnectivityState.READY) - val dataBrokerConnection = DataBrokerConnection(managedChannel) - - `when`("Disconnect is called") { - dataBrokerConnection.disconnect() - - then("The Channel is shutDown") { - verify { managedChannel.shutdownNow() } - } - } - } }) private fun createRandomFloatDatapoint(): Types.Datapoint { diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/DataBrokerConnectionV2Test.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/DataBrokerConnectionV2Test.kt index 7823bd2..45d6e78 100644 --- a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/DataBrokerConnectionV2Test.kt +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/DataBrokerConnectionV2Test.kt @@ -19,30 +19,31 @@ package org.eclipse.kuksa.connectivity.databroker -import io.grpc.ConnectivityState -import io.grpc.ManagedChannel import io.grpc.StatusException import io.grpc.stub.StreamObserver import io.kotest.assertions.fail import io.kotest.core.spec.style.BehaviorSpec +import io.kotest.matchers.ints.shouldBeGreaterThan import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldNotBe import io.kotest.matchers.string.shouldContain +import io.kotest.matchers.string.shouldNotBeEmpty import io.kotest.matchers.types.instanceOf -import io.mockk.every import io.mockk.mockk import io.mockk.verify import kotlinx.coroutines.flow.first import org.eclipse.kuksa.connectivity.databroker.docker.DataBrokerDockerContainer import org.eclipse.kuksa.connectivity.databroker.docker.InsecureDataBrokerDockerContainer import org.eclipse.kuksa.connectivity.databroker.provider.DataBrokerConnectorProvider -import org.eclipse.kuksa.connectivity.databroker.v2.DataBrokerInvokerV2 import org.eclipse.kuksa.connectivity.databroker.v2.extensions.toSignalId import org.eclipse.kuksa.connectivity.databroker.v2.extensions.updateRandomFloatValue import org.eclipse.kuksa.connectivity.databroker.v2.request.ActuateRequestV2 +import org.eclipse.kuksa.connectivity.databroker.v2.request.BatchActuateRequestV2 import org.eclipse.kuksa.connectivity.databroker.v2.request.FetchValueRequestV2 import org.eclipse.kuksa.connectivity.databroker.v2.request.FetchValuesRequestV2 +import org.eclipse.kuksa.connectivity.databroker.v2.request.ListMetadataRequestV2 import org.eclipse.kuksa.connectivity.databroker.v2.request.PublishValueRequestV2 +import org.eclipse.kuksa.connectivity.databroker.v2.request.SubscribeByIdRequestV2 import org.eclipse.kuksa.connectivity.databroker.v2.request.SubscribeRequestV2 import org.eclipse.kuksa.proto.v2.KuksaValV2.OpenProviderStreamRequest import org.eclipse.kuksa.proto.v2.KuksaValV2.OpenProviderStreamResponse @@ -77,9 +78,6 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ ) val dataBrokerConnection = connector.connect() - val dataBrokerTransporter = - DataBrokerInvokerV2(dataBrokerConnectorProvider.managedChannel) - `when`("trying to fetch multiple values") { val signalIds = listOf( "Vehicle.Acceleration.Longitudinal".toSignalId(), @@ -88,8 +86,8 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ val randomFloat1 = createRandomFloatDatapoint() val randomFloat2 = createRandomFloatDatapoint() - dataBrokerTransporter.publishValue(signalIds[0], randomFloat1) - dataBrokerTransporter.publishValue(signalIds[1], randomFloat2) + dataBrokerConnection.kuksaValV2.publishValue(PublishValueRequestV2(signalIds[0], randomFloat1)) + dataBrokerConnection.kuksaValV2.publishValue(PublishValueRequestV2(signalIds[1], randomFloat2)) val request = FetchValuesRequestV2(signalIds) val valuesResponse = dataBrokerConnection.kuksaValV2.fetchValues(request) @@ -103,9 +101,9 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ } } - `when`("no ActuationProvider exists for Vehicle.Cabin.Seat.Row1.DriverSide.Heating") { - `when`("trying to actuate Vehicle.Cabin.Seat.Row1.DriverSide.Heating") { - val signalId = "Vehicle.Cabin.Seat.Row1.DriverSide.Heating".toSignalId() + and("no ActuationProvider exists for Vehicle.Cabin.Seat.Row1.DriverSide.HeatingCooling") { + `when`("trying to actuate Vehicle.Cabin.Seat.Row1.DriverSide.HeatingCooling") { + val signalId = "Vehicle.Cabin.Seat.Row1.DriverSide.HeatingCooling".toSignalId() val value = Types.Value.newBuilder().setInt32(50).build() val request = ActuateRequestV2(signalId, value) @@ -121,7 +119,7 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ } } - `when`("an ActuationProvider exists for Vehicle.Cabin.Seat.Row1.DriverSide.Heating") { + and("an ActuationProvider exists for Vehicle.Cabin.Seat.Row1.DriverSide.HeatingCooling") { val responseStream = object : StreamObserver { override fun onNext(value: OpenProviderStreamResponse) { // unimplemented @@ -137,7 +135,7 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ } val requestStream = dataBrokerConnection.kuksaValV2.openProviderStream(responseStream) - val signalId = "Vehicle.Cabin.Seat.Row1.DriverSide.Heating".toSignalId() + val signalId = "Vehicle.Cabin.Seat.Row1.DriverSide.HeatingCooling".toSignalId() val provideActuationRequest = ProvideActuationRequest.newBuilder() .addActuatorIdentifiers(signalId) @@ -147,7 +145,7 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ .build() requestStream.onNext(openProviderStreamRequest) - `when`("trying to actuate Vehicle.Cabin.Seat.Row1.DriverSide.Heating") { + `when`("trying to actuate Vehicle.Cabin.Seat.Row1.DriverSide.HeatingCooling") { val value = Types.Value.newBuilder().setInt32(50).build() val request = ActuateRequestV2(signalId, value) @@ -165,7 +163,7 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ val vssPath = "Vehicle.Acceleration.Lateral" val signalId = SignalID.newBuilder().setPath(vssPath).build() - val initialValue = dataBrokerTransporter.updateRandomFloatValue(vssPath) + val initialValue = dataBrokerConnection.kuksaValV2.updateRandomFloatValue(vssPath) val subscribeRequest = SubscribeRequestV2(listOf(vssPath)) `when`("Subscribing to the VSS path") { @@ -179,9 +177,9 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ subscribeResponse.entriesMap[vssPath]?.value?.float shouldBe initialValue } - `when`("The observed VSS path changes") { + and("The observed VSS path changes") { val randomFloatDatapoint = createRandomFloatDatapoint() - dataBrokerTransporter.publishValue(signalId, randomFloatDatapoint) + dataBrokerConnection.kuksaValV2.publishValue(PublishValueRequestV2(signalId, randomFloatDatapoint)) then("The #onEntryChanged callback is triggered with the new value") { val subscribeResponse = responseFlow.first() @@ -197,7 +195,7 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ `when`("Updating the DataBroker property (VSS path) with a valid Datapoint") { // make sure that the value is set and known to us - dataBrokerTransporter.publishValue(signalId, validDatapoint) + dataBrokerConnection.kuksaValV2.publishValue(PublishValueRequestV2(signalId, validDatapoint)) and("When fetching it afterwards") { val fetchRequest = FetchValueRequestV2(signalId) @@ -312,8 +310,166 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ } } + `when`("listing metadata for root 'Vehicle'") { + val request = ListMetadataRequestV2("Vehicle", "*") + val metadataResponse = dataBrokerConnection.kuksaValV2.listMetadata(request) + + then("the metadata response contains signals with metadata details") { + metadataResponse.metadataCount shouldBeGreaterThan 0 + val speedMetadata = metadataResponse.metadataList.find { it.path == "Vehicle.Speed" } + speedMetadata shouldNotBe null + speedMetadata?.dataType shouldBe Types.DataType.DATA_TYPE_FLOAT + speedMetadata?.path shouldBe "Vehicle.Speed" + } + } + + `when`("listing metadata for an invalid root") { + val request = ListMetadataRequestV2("Vehicle.NonExistingRoot", "*") + val result = runCatching { + dataBrokerConnection.kuksaValV2.listMetadata(request) + } + + then("a DataBrokerException containing NOT_FOUND is thrown") { + result.isFailure shouldBe true + val exception = result.exceptionOrNull()!! + exception shouldBe instanceOf(DataBrokerException::class) + exception.message shouldContain "NOT_FOUND" + } + } + + and("a SubscribeByIdRequest with a valid Signal ID") { + val vssPath = "Vehicle.Speed" + val metadataRequest = ListMetadataRequestV2(vssPath, "*") + val metadataResponse = dataBrokerConnection.kuksaValV2.listMetadata(metadataRequest) + val speedMetadata = metadataResponse.metadataList.find { it.path == vssPath } + val signalId = speedMetadata!!.id + + val initialValue = dataBrokerConnection.kuksaValV2.updateRandomFloatValue(vssPath) + + val subscribeRequest = SubscribeByIdRequestV2(listOf(signalId)) + `when`("Subscribing to the signal by ID") { + val responseFlow = dataBrokerConnection.kuksaValV2.subscribeById(subscribeRequest) + + then("An initial update is sent") { + val subscribeResponse = responseFlow.first() + subscribeResponse shouldNotBe null + subscribeResponse.entriesCount shouldBe 1 + subscribeResponse.entriesMap[signalId] shouldNotBe null + subscribeResponse.entriesMap[signalId]?.value?.float shouldBe initialValue + } + + and("The observed signal changes") { + val randomFloatDatapoint = createRandomFloatDatapoint() + val signalIDObj = SignalID.newBuilder().setId(signalId).build() + dataBrokerConnection.kuksaValV2.publishValue( + PublishValueRequestV2(signalIDObj, randomFloatDatapoint), + ) + + then("The subscriber flow receives the new value") { + val subscribeResponse = responseFlow.first() + subscribeResponse shouldNotBe null + subscribeResponse.entriesCount shouldBe 1 + subscribeResponse.entriesMap[signalId] shouldNotBe null + subscribeResponse.entriesMap[signalId]?.value?.float shouldBe randomFloatDatapoint.value.float + } + } + } + } + + and("A SubscribeByIdRequest with an invalid Signal ID") { + val invalidSignalId = 999_999 + val subscribeRequest = SubscribeByIdRequestV2(listOf(invalidSignalId)) + + `when`("Trying to subscribe by INVALID signal ID") { + val result = runCatching { + dataBrokerConnection.kuksaValV2.subscribeById(subscribeRequest).first() + } + + then("A StatusException with error message 'NOT_FOUND' is thrown") { + result.isFailure shouldBe true + val exception = result.exceptionOrNull()!! + exception shouldBe instanceOf(StatusException::class) + exception.message shouldContain "NOT_FOUND" + } + } + } + + and("no ActuationProvider exists for multiple mirror actuators") { + `when`("trying to batch actuate the mirror actuators") { + val signalIds = listOf( + "Vehicle.Body.Mirrors.DriverSide.Pan".toSignalId(), + "Vehicle.Body.Mirrors.DriverSide.Tilt".toSignalId(), + ) + val value = Types.Value.newBuilder().setInt32(25).build() + val request = BatchActuateRequestV2(signalIds, value) + + val result = runCatching { + dataBrokerConnection.kuksaValV2.batchActuate(request) + } + + then("An Exception should be thrown") { + result.isFailure shouldBe true + val exception = result.exceptionOrNull()!! + exception shouldBe instanceOf(DataBrokerException::class) + exception.message shouldContain "UNAVAILABLE" + } + } + } + + and("an ActuationProvider exists for multiple mirror actuators") { + val responseStream = object : StreamObserver { + override fun onNext(value: OpenProviderStreamResponse) { + // unimplemented + } + + override fun onError(t: Throwable) { + // unimplemented + } + + override fun onCompleted() { + // unimplemented + } + } + val requestStream = dataBrokerConnection.kuksaValV2.openProviderStream(responseStream) + + val signalIds = listOf( + "Vehicle.Body.Mirrors.DriverSide.Pan".toSignalId(), + "Vehicle.Body.Mirrors.DriverSide.Tilt".toSignalId(), + ) + + val provideActuationRequest = ProvideActuationRequest.newBuilder() + .addAllActuatorIdentifiers(signalIds) + .build() + val openProviderStreamRequest = OpenProviderStreamRequest.newBuilder() + .setProvideActuationRequest(provideActuationRequest) + .build() + requestStream.onNext(openProviderStreamRequest) + + `when`("trying to batch actuate the mirror actuators") { + val value = Types.Value.newBuilder().setInt32(25).build() + + val request = BatchActuateRequestV2(signalIds, value) + val result = runCatching { + dataBrokerConnection.kuksaValV2.batchActuate(request) + } + then("No Exception should be thrown") { + result.isSuccess shouldBe true + result.exceptionOrNull() shouldBe null + } + } + } + + `when`("fetching server information") { + val serverInfoResponse = dataBrokerConnection.kuksaValV2.fetchServerInfo() + + then("the server info response contains valid version details") { + serverInfoResponse shouldNotBe null + serverInfoResponse.version.shouldNotBeEmpty() + } + } + // this test closes the connection, the connection can't be used afterward anymore - `when`("A DisconnectListener is registered successfully") { + and("A DisconnectListener is registered successfully") { val disconnectListener = mockk(relaxed = true) val disconnectListeners = dataBrokerConnection.disconnectListeners disconnectListeners.register(disconnectListener) @@ -328,19 +484,6 @@ class DataBrokerConnectionV2Test : BehaviorSpec({ } // connection is closed at this point } - given("A DataBrokerConnection with a mocked ManagedChannel") { - val managedChannel = mockk(relaxed = true) - every { managedChannel.getState(any()) }.returns(ConnectivityState.READY) - val dataBrokerConnection = DataBrokerConnection(managedChannel) - - `when`("Disconnect is called") { - dataBrokerConnection.disconnect() - - then("The Channel is shutDown") { - verify { managedChannel.shutdownNow() } - } - } - } }) private val random = Random(System.currentTimeMillis()) diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/DataBrokerDockerContainer.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/DataBrokerDockerContainer.kt index 8231926..b6bac25 100644 --- a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/DataBrokerDockerContainer.kt +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/DataBrokerDockerContainer.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 - 2025 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,18 +24,23 @@ import com.github.dockerjava.api.command.CreateContainerResponse import com.github.dockerjava.api.command.PullImageResultCallback import com.github.dockerjava.api.command.WaitContainerResultCallback import com.github.dockerjava.api.exception.NotModifiedException +import com.github.dockerjava.api.model.AccessMode +import com.github.dockerjava.api.model.Bind import com.github.dockerjava.api.model.ExposedPort import com.github.dockerjava.api.model.HostConfig import com.github.dockerjava.api.model.InternetProtocol import com.github.dockerjava.api.model.PortBinding import com.github.dockerjava.api.model.Ports +import com.github.dockerjava.api.model.Volume import com.github.dockerjava.core.DefaultDockerClientConfig import com.github.dockerjava.core.DockerClientImpl import com.github.dockerjava.httpclient5.ApacheDockerHttpClient import org.eclipse.kuksa.connectivity.databroker.DATABROKER_TIMEOUT_SECONDS +import java.io.File +import java.io.FileNotFoundException +import java.net.ServerSocket import java.time.Duration import java.util.concurrent.TimeUnit -import java.util.concurrent.atomic.AtomicInteger private const val KEY_PROPERTY_DATABROKER_TAG = "databroker.tag" private const val KEY_ENV_DATABROKER_TAG = "DATABROKER_TAG" @@ -45,6 +50,10 @@ const val KEY_PROPERTY_DATABROKER_TIMEOUT = "databroker.timeout" const val KEY_ENV_DATABROKER_TIMEOUT = "DATABROKER_TIMEOUT" private const val DEFAULT_DATABROKER_TIMEOUT = "15" +private const val KEY_PROPERTY_DATABROKER_VSS = "databroker.vss" +private const val KEY_ENV_DATABROKER_VSS = "DATABROKER_VSS" +private const val DEFAULT_DATABROKER_VSS = "vss/vss_release_6.0.json" + /** * Starts and stops the Databroker Docker Container. Per default the image with the master tag is pulled and started. * The version of the image can be influenced by either a System Property with value "databroker.tag" or an @@ -64,21 +73,43 @@ private const val DEFAULT_DATABROKER_TIMEOUT = "15" * * DATABROKER_TAG="0.4.1" ./gradlew clean build * ``` + * + * The VSS spec file used to populate the databroker can be overridden via system property "databroker.vss" or + * environment variable "DATABROKER_VSS". The value must be a path to a VSS YAML or JSON file. + *``` + * System Property: + * ./gradlew clean build -Ddatabroker.vss="/path/to/vss.yaml" + * + * Environment Variable: + * DATABROKER_VSS="/path/to/vss.yaml" ./gradlew clean build + * ``` */ abstract class DataBrokerDockerContainer( protected val containerName: String, ) { - val port: Int = atomicPortNumber.getAndIncrement() + val port: Int = findAvailablePort() + + private val vssFilePath = System.getProperty(KEY_PROPERTY_DATABROKER_VSS) + ?: System.getenv(KEY_ENV_DATABROKER_VSS) + ?: DEFAULT_DATABROKER_VSS + + private val resolvedVssFile: File = resolveVssFile(vssFilePath) + private val vssFileName: String = resolvedVssFile.name + protected val vssDirectory: String = resolvedVssFile.parent + protected val vssMountDirectory: String = "/vss" + protected val vssMount: String = "$vssMountDirectory/$vssFileName" protected open val hostConfig: HostConfig = HostConfig.newHostConfig() - .withNetworkMode("host") .withAutoRemove(true) .withPortBindings( PortBinding( - Ports.Binding("0.0.0.0", ""), + Ports.Binding("0.0.0.0", port.toString()), ExposedPort(port, InternetProtocol.TCP), ), ) + .withBinds( + Bind(vssDirectory, Volume(vssMountDirectory), AccessMode.ro), + ) protected val repository = "ghcr.io/eclipse-kuksa/kuksa-databroker" @@ -92,6 +123,8 @@ abstract class DataBrokerDockerContainer( protected val dockerClient: DockerClient + private var containerId: String? = null + init { val config = DefaultDockerClientConfig.createDefaultConfigBuilder().build() @@ -109,19 +142,15 @@ abstract class DataBrokerDockerContainer( fun start() { pullImage(databrokerTag) val databrokerContainer = createContainer(databrokerTag) + containerId = databrokerContainer.id startContainer(databrokerContainer.id) } fun stop() { - val databrokerNames = listOf(containerName) - val dockerContainers = dockerClient.listContainersCmd() - .withNameFilter(databrokerNames) - .exec() - - dockerContainers.forEach { container -> + containerId?.let { id -> try { - dockerClient.stopContainerCmd(container.id).exec() - } catch (_: NotModifiedException) { + dockerClient.stopContainerCmd(id).exec() + } catch (_: Exception) { // thrown when a container is already stopped } } @@ -149,6 +178,30 @@ abstract class DataBrokerDockerContainer( } companion object { - private val atomicPortNumber = AtomicInteger(55560) + internal fun findAvailablePort(): Int { + return ServerSocket(0).apply { + reuseAddress = true + }.use { it.localPort } + } + } +} + +internal fun resolveVssFile(rawPath: String, maxParentTraversals: Int = 5): File { + val initialFile = File(rawPath) + if (initialFile.exists()) { + return initialFile.canonicalFile } + + var currentDir = File(".").canonicalFile + repeat(maxParentTraversals) { + val candidate = File(currentDir, rawPath) + if (candidate.exists()) { + return candidate.canonicalFile + } + currentDir = currentDir.parentFile ?: return@repeat + } + + throw FileNotFoundException( + "Could not resolve VSS file '$rawPath' from working directory '${File(".").canonicalPath}'", + ) } diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/InsecureDataBrokerDockerContainer.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/InsecureDataBrokerDockerContainer.kt index cb38689..840b8c1 100644 --- a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/InsecureDataBrokerDockerContainer.kt +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/InsecureDataBrokerDockerContainer.kt @@ -34,6 +34,7 @@ class InsecureDataBrokerDockerContainer( .withCmd( "--port", "$port", "--insecure", + "--vss", vssMount, ) .exec() } diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/PortAllocationSafetyTest.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/PortAllocationSafetyTest.kt new file mode 100644 index 0000000..4412303 --- /dev/null +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/PortAllocationSafetyTest.kt @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * + */ + +package org.eclipse.kuksa.connectivity.databroker.docker + +import io.kotest.core.spec.style.BehaviorSpec +import io.kotest.matchers.ints.shouldBeGreaterThan +import io.kotest.matchers.shouldBe + +class PortAllocationSafetyTest : BehaviorSpec({ + given("Port allocation mechanism") { + `when`("Allocating multiple ephemeral ports") { + then("It returns valid available port numbers") { + val ports = (1..10).map { + DataBrokerDockerContainer.findAvailablePort() + } + ports.size shouldBeGreaterThan 0 + ports.all { it > 1024 } shouldBe true + } + } + } +}) diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/SecureDataBrokerDockerContainer.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/SecureDataBrokerDockerContainer.kt index 76a8478..739993e 100644 --- a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/SecureDataBrokerDockerContainer.kt +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/SecureDataBrokerDockerContainer.kt @@ -39,6 +39,7 @@ class SecureDataBrokerDockerContainer( override val hostConfig: HostConfig = super.hostConfig .withBinds( + Bind(vssDirectory, Volume(vssMountDirectory), AccessMode.ro), Bind(tlsFolder, Volume(tlsMount), AccessMode.ro), Bind(authenticationFolder, Volume(authenticationMount), AccessMode.ro), ) @@ -53,6 +54,7 @@ class SecureDataBrokerDockerContainer( "--tls-cert", "$tlsMount/Server.pem", "--tls-private-key", "$tlsMount/Server.key", "--jwt-public-key", "$authenticationMount/jwt.key.pub", + "--vss", vssMount, ) .exec() } diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/VssPathResolutionTest.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/VssPathResolutionTest.kt new file mode 100644 index 0000000..8149299 --- /dev/null +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/docker/VssPathResolutionTest.kt @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * + */ + +package org.eclipse.kuksa.connectivity.databroker.docker + +import io.kotest.assertions.throwables.shouldThrow +import io.kotest.core.spec.style.BehaviorSpec +import io.kotest.matchers.shouldBe +import java.io.FileNotFoundException + +class VssPathResolutionTest : BehaviorSpec({ + given("A VSS path resolver") { + `when`("Resolving the default VSS 6.0 file from project root or submodules") { + then("It resolves the file and verifies existence") { + val resolved = resolveVssFile("vss/vss_release_6.0.json") + resolved.exists() shouldBe true + resolved.name shouldBe "vss_release_6.0.json" + } + } + + `when`("Resolving a non-existent VSS file") { + then("It throws FileNotFoundException with a descriptive message") { + val exception = shouldThrow { + resolveVssFile("non_existent_folder/fake_vss.json") + } + exception.message?.contains("Could not resolve VSS file") shouldBe true + } + } + } +}) diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/authentication/DataBrokerConnectorAuthenticationTest.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/authentication/DataBrokerConnectorAuthenticationTest.kt index a87d25e..cf3e3ce 100644 --- a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/authentication/DataBrokerConnectorAuthenticationTest.kt +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/authentication/DataBrokerConnectorAuthenticationTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 - 2025 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -197,16 +197,8 @@ class DataBrokerConnectorAuthenticationTest : BehaviorSpec({ jwtFileStream = null, ) - `when`("Trying to connect") { - val result = runCatching { - dataBrokerConnector.connect() - } - - then("The connection should be successful") { - result.getOrNull() shouldNotBe null - } - - val connection = result.getOrNull()!! + and("a successfully established connection") { + val connection = dataBrokerConnector.connect() `when`("Reading the VALUE of Vehicle.Speed") { val fetchRequest = FetchRequest(speedVssPath) diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/extensions/DataBrokerTransporterExtensions.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/extensions/DataBrokerTransporterExtensions.kt index 97106c7..65f00f7 100644 --- a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/extensions/DataBrokerTransporterExtensions.kt +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v1/extensions/DataBrokerTransporterExtensions.kt @@ -21,6 +21,8 @@ package org.eclipse.kuksa.connectivity.databroker.v1.extensions import io.kotest.assertions.fail import org.eclipse.kuksa.connectivity.databroker.v1.DataBrokerInvokerV1 +import org.eclipse.kuksa.connectivity.databroker.v1.KuksaValV1Protocol +import org.eclipse.kuksa.connectivity.databroker.v1.request.UpdateRequest import org.eclipse.kuksa.proto.v1.Types import kotlin.random.Random @@ -42,6 +44,25 @@ internal suspend fun DataBrokerInvokerV1.updateRandomFloatValue( return randomFloat } +internal suspend fun KuksaValV1Protocol.updateRandomFloatValue( + vssPath: String, + maxValue: Int = 300, +): Float { + val random = Random(System.nanoTime()) + val randomValue = random.nextInt(maxValue) + val randomFloat = randomValue.toFloat() + val updatedDatapoint = Types.Datapoint.newBuilder().setFloat(randomFloat).build() + + try { + val updateRequest = UpdateRequest(vssPath, updatedDatapoint, Types.Field.FIELD_VALUE) + update(updateRequest) + } catch (e: Exception) { + fail("Updating $vssPath to $randomFloat failed: $e") + } + + return randomFloat +} + internal suspend fun DataBrokerInvokerV1.updateRandomUint32Value( vssPath: String, maxValue: Int = 300, diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/authentication/DataBrokerConnectorAuthenticationTest.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/authentication/DataBrokerConnectorAuthenticationTest.kt index 0e4cf0b..fb159c0 100644 --- a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/authentication/DataBrokerConnectorAuthenticationTest.kt +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/authentication/DataBrokerConnectorAuthenticationTest.kt @@ -269,7 +269,7 @@ class DataBrokerConnectorAuthenticationTest : BehaviorSpec({ jwtFileStream = null, ) - `when`("Trying to connect") { + and("Trying to connect") { val connectionResult = runCatching { dataBrokerConnector.connect() } diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/extensions/DataBrokerTransporterV2Extensions.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/extensions/DataBrokerTransporterV2Extensions.kt index dfd5954..c890544 100644 --- a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/extensions/DataBrokerTransporterV2Extensions.kt +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/connectivity/databroker/v2/extensions/DataBrokerTransporterV2Extensions.kt @@ -21,6 +21,8 @@ package org.eclipse.kuksa.connectivity.databroker.v2.extensions import io.kotest.assertions.fail import org.eclipse.kuksa.connectivity.databroker.v2.DataBrokerInvokerV2 +import org.eclipse.kuksa.connectivity.databroker.v2.KuksaValV2Protocol +import org.eclipse.kuksa.connectivity.databroker.v2.request.PublishValueRequestV2 import org.eclipse.kuksa.proto.v2.Types import org.eclipse.kuksa.proto.v2.Types.SignalID import kotlin.random.Random @@ -46,6 +48,28 @@ internal suspend fun DataBrokerInvokerV2.updateRandomFloatValue( return randomFloat } +internal suspend fun KuksaValV2Protocol.updateRandomFloatValue( + vssPath: String, + maxValue: Int = 300, +): Float { + val random = Random(System.nanoTime()) + val randomValue = random.nextInt(maxValue) + val randomFloat = randomValue.toFloat() + + val signalID = SignalID.newBuilder().setPath(vssPath).build() + val value = Types.Value.newBuilder().setFloat(randomFloat).build() + val updatedDatapoint = Types.Datapoint.newBuilder().setValue(value).build() + + try { + val publishRequest = PublishValueRequestV2(signalID, updatedDatapoint) + publishValue(publishRequest) + } catch (e: Exception) { + fail("Updating $vssPath to $randomFloat failed: $e") + } + + return randomFloat +} + internal suspend fun DataBrokerInvokerV2.updateRandomUint32Value( vssPath: String, maxValue: Int = 300, diff --git a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/pattern/listener/MultiListenerTest.kt b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/pattern/listener/MultiListenerTest.kt index cdbdd2f..c9779fe 100644 --- a/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/pattern/listener/MultiListenerTest.kt +++ b/kuksa-java-sdk/src/test/kotlin/org/eclipse/kuksa/pattern/listener/MultiListenerTest.kt @@ -49,7 +49,7 @@ class MultiListenerTest : BehaviorSpec({ classUnderTest.isEmpty() shouldBe false } - `when`("Trying to register the same listener again") { + and("Trying to register the same listener again") { classUnderTest.register(testListener) then("The same listener should not be added a second time") { @@ -57,7 +57,7 @@ class MultiListenerTest : BehaviorSpec({ } } - `when`("Trying to unregister the already registered listener") { + and("Trying to unregister the already registered listener") { classUnderTest.unregister(testListener) then("It should be correctly removed") { diff --git a/kuksa-java-sdk/src/test/resources/README.md b/kuksa-java-sdk/src/test/resources/README.md new file mode 100644 index 0000000..8cfa8c6 --- /dev/null +++ b/kuksa-java-sdk/src/test/resources/README.md @@ -0,0 +1,53 @@ +# Test Authentication Tokens & TLS Certificates + +This directory contains cryptographic assets used for integration and unit testing with KUKSA Databroker instances (e.g., in Docker containers). + +## Validity & Contents + +### Authentication Tokens (`authentication/`) + +All JWT tokens are signed using RS256 with a 4096-bit RSA private key matching `jwt.key.pub`. + +* **Validity**: Valid until **2045-01-01T00:00:00Z** (`exp`: `2366841600`). +* **Audience**: `kuksa.val` +* **Issuer**: `createToken.py` +* **Subject**: `local dev` + +| File | Scope | Purpose | +| --- | --- | --- | +| `jwt.key.pub` | N/A | Public key mounted into Databroker container (`--jwt-public-key`) to verify client tokens | +| `actuate-provide-all.token` | `actuate provide` | Token with full read, provide (feed), and actuate permissions | +| `provide-all.token` | `provide` | Token with feed/provider permissions | +| `read-all.token` | `read` | Token with read-only permissions | + +### TLS Certificates (`tls/`) + +* **Validity**: Valid for 20 years (until **August 2046**). +* **Subject Alternative Names (SAN)**: `DNS:Server`, `DNS:localhost`, `IP:127.0.0.1`. + +| File | Type | Purpose | +| --- | --- | --- | +| `CA.pem` | Certificate | Self-signed Root CA certificate, used by clients as trust store | +| `Server.pem` | Certificate | Server certificate signed by `CA.pem`, mounted into Databroker container (`--tls-cert`) | +| `Server.key` | Private Key | 2048-bit RSA private key for the server certificate, mounted into Databroker (`--tls-private-key`) | + +--- + +## Regenerating Tokens and Certificates + +A helper script is provided at `buildscripts/generate-test-certificates-and-tokens.sh`. + +### Prerequisites + +* `openssl` +* `python3` (standard library, no extra dependencies needed) + +### Execution + +Run the script from the repository root: + +```bash +./buildscripts/generate-test-certificates-and-tokens.sh +``` + +This will automatically generate a new RSA key pair, create the signed JWT tokens, generate the CA and Server TLS certificates with valid SAN extensions, and update the test resource files directly. diff --git a/kuksa-java-sdk/src/test/resources/authentication/actuate-provide-all.token b/kuksa-java-sdk/src/test/resources/authentication/actuate-provide-all.token index 110d3c4..5d3a721 100644 --- a/kuksa-java-sdk/src/test/resources/authentication/actuate-provide-all.token +++ b/kuksa-java-sdk/src/test/resources/authentication/actuate-provide-all.token @@ -1 +1 @@ -eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJsb2NhbCBkZXYiLCJpc3MiOiJjcmVhdGVUb2tlbi5weSIsImF1ZCI6WyJrdWtzYS52YWwiXSwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjE3NjcyMjU1OTksInNjb3BlIjoiYWN0dWF0ZSBwcm92aWRlIn0.x-bUZwDCC663wGYrWCYjQZwQWhN1CMuKgxuIN5dUF_izwMutiqF6Xc-tnXgZa93BbT3I74WOMk4awKHBUSTWekGs3-qF6gajorbat6n5180TOqvNu4CXuIPZN5zpngf4id3smMkKOT699tPnSEbmlkj4vk-mIjeOAU-FcYA-VbkKBTsjvfFgKa2OdB5h9uZARBg5Rx7uBN3JsH1I6j9zoLid184Ewa6bhU2qniFt5iPsGJniNsKsRrrndN1KzthO13My44s56yvwSHIOrgDGbXdja_eLuOVOq9pHCjCtorPScgEuUUE4aldIuML-_j397taNP9Y3VZYVvofEK7AuiePTbzwxrZ1RAjK74h1-4ued3A2gUTjr5BsRlc9b7eLZzxLJkrqdfGAzBh_rtrB7p32TbvpjeFP30NW6bB9JS43XACUUm_S_RcyI7BLuUdnFyQDQr6l6sRz9XayYXceilHdCxbAVN0HVnBeui5Bb0mUZYIRZeY8k6zcssmokANTD8ZviDMpKlOU3t5AlXJ0nLkgyMhV9IUTwPUv6F8BTPc-CquJCUNbTyo4ywTSoODWbm3PmQ3Y46gWF06xqnB4wehLscBdVk3iAihQp3tckGhMnx5PI_Oy7utIncr4pRCMos63TnBkfrl7d43cHQTuK0kO76EWtv4ODEHgLvEAv4HA \ No newline at end of file +eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJsb2NhbCBkZXYiLCJpc3MiOiJjcmVhdGVUb2tlbi5weSIsImF1ZCI6WyJrdWtzYS52YWwiXSwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjIzNjY4NDE2MDAsInNjb3BlIjoiYWN0dWF0ZSBwcm92aWRlIn0.MlWvM830zN9xlduVwBvVLX5NQZg_bnP7wjgy5PyTsA-lj9fvPks4u5ui9ZzxGXbBpiOX73iynTWeNM8wq9aav9EpefYpxFwl18EO_YA7A7W_p4g6wzircv1-3XROCtUmRDARe95JDZI98G73vcZS7q0Y50by3T7gg7vGWpJU5gELfkpnetJlgqeaoDdfK0kKXsNONGSA-j7RrBCgr9h6DQlVLlCBC2EUZWGgNGmEipUkEivnAbPJrzvdshnRyvIehMr8M3Et5Zpdu8CPwzP6ZuEUcsoAXkoE4uNX0iv51JwbGdUx0z9wSs2M6z3bkaadf9aF7OrtM94sWrl7mzQGhMJ_Q7AEMco-tG9ky1CsYqMC9FdedPoV87WhOPTtoF9fCaObsFeGQxw9ZHWFl51Tje96ZRETa0xVFzmlbdSLNxdW8S8d1gSPQH0PZRIlDeZ3ADsihjOaVy8jpNge7p1ETKy3sfYpCoSuzeSkJkTHuiKzfPAeJGTL-49n9m5KqyMAZlShf_grRlrJSi6vHKF-_GdIcCCAwz5LTwp0zRN-9FMX1XC8CK8OAzzrMtLA0Ob0VMqpOhVn1X1GrrULL3Dfq7xHC6zBt4tkxHTwWCquqdQdGebWbsqIBQ8B6YWFcrrkuxWI_luvL1J_WTu3AdHwUWCe3mNDqC4jarN84CeqUVw \ No newline at end of file diff --git a/kuksa-java-sdk/src/test/resources/authentication/jwt.key.pub b/kuksa-java-sdk/src/test/resources/authentication/jwt.key.pub index d9f7853..66bdb61 100644 --- a/kuksa-java-sdk/src/test/resources/authentication/jwt.key.pub +++ b/kuksa-java-sdk/src/test/resources/authentication/jwt.key.pub @@ -1,14 +1,14 @@ -----BEGIN PUBLIC KEY----- -MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA6ScE9EKXEWVyYhzfhfvg -+LC8NseiuEjfrdFx3HKkb31bRw/SeS0Rye0KDP7uzffwreKf6wWYGxVUPYmyKC7j -Pji5MpDBGM9r3pIZSvPUFdpTE5TiRHFBxWbqPSYt954BTLq4rMu/W+oq5Pdfnugb -voYpLf0dclBl1g9KyszkDnItz3TYbWhGMbsUSfyeSPzH0IADzLoifxbc5mgiR73N -CA/4yNSpfLoqWgQ2vdTM1182sMSmxfqSgMzIMUX/tiaXGdkoKITF1sULlLyWfTo9 -79XRZ0hmUwvfzr3OjMZNoClpYSVbKY+vtxHyux9KOOtv9lPMsgYIaPXvisrsneDZ -fCS0afOfjgR96uHIe2UPSGAXru3yGziqEfpRZoxsgXaOe905ordLD5bSX14xkN7N -Cz7rxDLlxPQyxp4Vhog7p/QeUyydBpZjq2bAE5GAJtiu+XGvG8RypzJFKFQwMNsw -g1BoZVD0mb0MtU8KQmHcZIfY0FVer/CR0mUjfl1rHbtoJB+RY03lQvYNAD04ibAG -NI1RhlTziu35Xo6NDEgs9hVs9k3WrtF+ZUxhivWmP2VXhWruRakVkC1NzKGh54e5 -/KlluFbBNpWgvWZqzWo9Jr7/fzHtR0Q0IZwkxh+Vd/bUZya1uLKqP+sTcc+aTHbn -AEiqOjPq0D6X45wCzIwjILUCAwEAAQ== +MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp5+YrxPrK4UcDHKKfMO0 +vPSXvDxkCs3BQg7bOxMZVuj4gPZGXFzEsl9FDJpH2SmsMnWjSKI+muowM1ZnB72x +y4VgzWXMXBx5mDGOa9cWqj/r54oNmS/FzUTORXBCp3ZSMkD2i+z1ks6FPhVEItah +Mfx09wVELJMPCkYEncY65FQQNI/llm4u4JCwKve/0c/FgqDRAJ8WTloXGURhyP5V +4Fkr4E6U9ZQ8IfZ/vM4JLM49COfMxVlpXaDesi6Of4KO3qZlXdHQMwpgrh4zS/Vc +n8jIoLiB1zfLlSSkJO8PCxier0Drq9Magioy6ErdQGCZnXBzv984IbMhTpQpq/rD +2DApYKflmUoekBzlVpEFD1WWVjbyp8CCDkSgd+QkOVwvK6hOm6oNfi7GtOPM+0QY +NGR6uAUMAJEtAdsXo0Lgt7Is5HH/6GXBHjrCc5JL6j4ywhY0ALQ7hYnA5wOl+24v +jxk09oK1aAgZbNIl96qmSaO3TBMx2mTXC0lyWtj9J6KC+uCaEH5ft8yVBRhoKNri +gog5u48IL64f5B7aueqKGHjFCYry3es7pQvWaHCfqJ5gGdK4mylH2HaB5utXGVNU +Xq3Gi5Jd9a9ZJtTBC5IQ/x+ibNVq65zh9nzf/teK55AHMNtGIVt9NA5ezDWeD+zI +odVAu+L3VCBAqlKaWf4wG4kCAwEAAQ== -----END PUBLIC KEY----- diff --git a/kuksa-java-sdk/src/test/resources/authentication/provide-all.token b/kuksa-java-sdk/src/test/resources/authentication/provide-all.token index 8ce854f..746167b 100644 --- a/kuksa-java-sdk/src/test/resources/authentication/provide-all.token +++ b/kuksa-java-sdk/src/test/resources/authentication/provide-all.token @@ -1 +1 @@ -eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJsb2NhbCBkZXYiLCJpc3MiOiJjcmVhdGVUb2tlbi5weSIsImF1ZCI6WyJrdWtzYS52YWwiXSwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjE3NjcyMjU1OTksInNjb3BlIjoicHJvdmlkZSJ9.OJWzTvDjcmeWyg3vmBR5TEtqYaHq8HrpFLlTKZAfDBAQBUHpyUEboJ97jfWuWgBnTpnfboyfAbwvLqo6bEVZ6tXzF8n9LtW6HmPbIWoDqXuobM2grUCVaGKuOcnCpMCQYChziqHbYwRJYP9nkYgbQU1kE4dN7880Io4xzq0GEbWksB2CVpOoExQUmCZpCohPs-XEkdmXhcUKnWnOeiSsRGKusx987vpY_WOXh6WE7DfJgzAgpPDo33qI7zQuTzUILORQsiHmsrQO0-zcvokNjaQUzlt5ETZ7MQLCtiUQaN0NMbDMCWkmSfNvZ5hKCNbfr2FaiMzrGBOQdvQiFo-DqZKGNweaGpufYXuaKfn3SXKoDr8u1xDE5oKgWMjxDR9pQYGzIF5bDXITSywCm4kN5DIn7e2_Ga28h3rBl0t0ZT0cwlszftQRueDTFcMns1u9PEDOqf7fRrhjq3zqpxuMAoRANVd2z237eBsS0AvdSIxL52N4xO8P_h93NN8Vaum28fTPxzm8p9WlQh4mgUelggtT415hLcxizx15ARIRG0RiW91Pglzt4WRtXHnsg93Ixd3yXXzZ2i4Y0hqhj_L12SsXunK2VxKup2sFCQz6wM-t_7ADmNYcs80idzsadY8rYKDV8N1WqOOd4ANG_nzWa86Tyu6wAwhDVag5nbFmLZQ \ No newline at end of file +eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJsb2NhbCBkZXYiLCJpc3MiOiJjcmVhdGVUb2tlbi5weSIsImF1ZCI6WyJrdWtzYS52YWwiXSwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjIzNjY4NDE2MDAsInNjb3BlIjoicHJvdmlkZSJ9.VSLjunjV3gmCIkOGsx4fcZcYrshwY_8FPuS6nQghZZduD3icgTLFm_z2JeNm_afF0cNTKF8VR30rFUK52IIdGPcshHpz4nf8cTL2EpZe6zS3mZ6Q8y90Wfo2ilPXDLeePvVyaHWtSuDy6pZxy7xynkiTZ2lQix3nK-mX3rtqnPjo6juLlN1BiHDMF6dvFQX8ptXe1hYTQ3J2rfYKcOuJLj_d53LqeK6NqGNmf3jotyjswVx2pP7crl8Jk1ZvdgIoAm_P0XiMwxEW1pf-df-wXTO0vnWJEcq2Z8oZglqAriXXocfb3OwLXIg0O4loA4kBChFzAVvfm72OHYBJKAuKVBhWCAFYiNOmxkkTt33Hp4_9QzXAGnmz_9e_Ho6IiRrLddRWa7QQa2FFecG45i3VQwR6rb2eQG76KTP60cHZp1UrNnyOPLXdrvGboBK-la1YrP05NES0ve0nq55yKFwo__jGcoRA5pBA9quONxMIfyrisOciFDFlNMB5r7OCz4fsu8AEo7yU3GJVU7N2Iptcut_w2DVUt1ZitMMAyxy-xqmqW9b5o84sUtgL4OJFMOprV2Dqjdrn_TqZs8nublLPj7ihRtAnNQrq1giS1VyTA74qq2ytAqojlxiIra6CD-m7PfbmHf6jC5UmIQ5AgwnUWT4MPF7pEiekEWP8VB1_l64 \ No newline at end of file diff --git a/kuksa-java-sdk/src/test/resources/authentication/read-all.token b/kuksa-java-sdk/src/test/resources/authentication/read-all.token index 10fafb5..ffa1911 100644 --- a/kuksa-java-sdk/src/test/resources/authentication/read-all.token +++ b/kuksa-java-sdk/src/test/resources/authentication/read-all.token @@ -1 +1 @@ -eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJsb2NhbCBkZXYiLCJpc3MiOiJjcmVhdGVUb2tlbi5weSIsImF1ZCI6WyJrdWtzYS52YWwiXSwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjE3NjcyMjU1OTksInNjb3BlIjoicmVhZCJ9.P6tJPRSJWB51UOFDFs8qQ-lGqb1NoWgCekHUKyMiYcs8sR3FGVKSRjSkcqv1tXOlILvqhUwyuTKui25_kFKkTPv47GI0xAqcXtaTmDwHAWZHFC6HWGWGXohu7XvURrim5kMRVHy_VGlzasGgVap0JFk3wmaY-nyFYL_PLDjvGjIQuOwFiUtKK1PfiKviZKyc5EzPUEAoHxFL_BSOsTdDDcaydFe9rSKJzpYrj7qXY0hMJCje2BUGlSUIttR95aSjOZflSxiGystWHME8fKMmDERAx749Jpt37M3taCxBsUzER5olPz65MGzFSikfC-jH_KGmJ4zNYS65_OM1a-CPfW7Ts__pyAXxFULNMHRMIfh8Wiig4UcooMy_ZJO_DN2rq95XdaBbzRua5mxvO2wM6iu5kv4lhNxhjVNGuWFRLLJ_icBUZlvAuC3eqp66B-Y3jJNI0cSnIvsVX8YFVS3ebW8tf40OdeVou8fWZPcQsFAAafBhIxNOW8FbLZ9sRvQ-FGwZy-GyF52IJ5ZKeGfAkeEh9ZLIcyJ2YlGp4q0EOKIdwIBsWfCFtZbAvi2ornO3XvJm94NBqprpvQYN_IB7yyRxDduLjNKqqcFqnrlWYI-ZhvghWH2rEblplgHZdyVD1G9Mbv0_zdNTKFs6J7IP96aV6-4hBOt3kROlS1G7ObA \ No newline at end of file +eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJsb2NhbCBkZXYiLCJpc3MiOiJjcmVhdGVUb2tlbi5weSIsImF1ZCI6WyJrdWtzYS52YWwiXSwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjIzNjY4NDE2MDAsInNjb3BlIjoicmVhZCJ9.pA2UfXbJg8E8YLilensNBXwrWWkJQVYHr3k6DveZuOB9PBancNZ1CPD64v9fHYz7G8qGQ3bWIRJQa0DIAE4R03ubQ--juojkXy48sQlZvKhAw7rObWnIkNjjfmSOofZbN8y9yNBnAYEZLlOjJVcfbooVc1j_4o0KVgi2Q0UA-C5AuUCtdFU6rFdrSa-_JCfdDCTpTf4rLpvSJXN_X2nfJStk48S31XbClIihnV_DKPApTLgww3vnLEi3MKcK3-3vDgmypxjm41JiNxJTPKkJiYyDLDBWYfVqOj5Q8TOtdIGdWK1KGR_bkVWJROaDnoLAPB8ZgJsC61oTqnPsObNEhbbqPE84PukoAwA7rNmtm4UhSzuvOGhKJ2r376gD20IC2jdY0wVHuL9eU92f_fJbsH14eiqUelJ1ch_wRCz8BAuf05md_jqxbXvLSM8fN8ltrLBFIVlq-0zabFJCGaUXAK9eurgW6ctwOTMeFA_guwEfQyQGix9Gfw9XD78fo39ykXFrqMqXlj7wStvcKlJE4nHeautC13cUJOfDqUmCsRWQi_-aWhZdvcHbiUn8xvGSpAC82lej0gm7o9qUVzIcfXIycoqo4TZ7BbIYii2COreiiwGy7rsYccZyQFvcU_iVbwLeBXWHwe7dnnWWHgdBfMLMyiMvSJBlJ_exVdo_PDY \ No newline at end of file diff --git a/kuksa-java-sdk/src/test/resources/tls/CA.pem b/kuksa-java-sdk/src/test/resources/tls/CA.pem index 0c92a60..925c130 100644 --- a/kuksa-java-sdk/src/test/resources/tls/CA.pem +++ b/kuksa-java-sdk/src/test/resources/tls/CA.pem @@ -1,22 +1,24 @@ -----BEGIN CERTIFICATE----- -MIIDsTCCApkCFH3ZDYSmSH6chWx5O8ztenHMHRfCMA0GCSqGSIb3DQEBCwUAMIGU -MQswCQYDVQQGEwJDQTEQMA4GA1UECAwHT250YXJpbzEPMA0GA1UEBwwGT3R0YXdh -MSUwIwYDVQQKDBxFY2xpcHNlLm9yZyBGb3VuZGF0aW9uLCBJbmMuMRUwEwYDVQQD -DAxsb2NhbGhvc3QtY2ExJDAiBgkqhkiG9w0BCQEWFWt1a3NhLWRldkBlY2xpcHNl -Lm9yZzAeFw0yMjExMDEwODIyMzdaFw0zMjEwMjkwODIyMzdaMIGUMQswCQYDVQQG -EwJDQTEQMA4GA1UECAwHT250YXJpbzEPMA0GA1UEBwwGT3R0YXdhMSUwIwYDVQQK -DBxFY2xpcHNlLm9yZyBGb3VuZGF0aW9uLCBJbmMuMRUwEwYDVQQDDAxsb2NhbGhv -c3QtY2ExJDAiBgkqhkiG9w0BCQEWFWt1a3NhLWRldkBlY2xpcHNlLm9yZzCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMUWhJLiify2nI6Q9eFVetLGQv8+ -PdastyhYLGiEUOFwcAL66L8K6QbMS6knik4F55b0LRXz8obRYr2H335MN3cRtu+C -Gr5CA7gARz9jcphs3pX1uLqR97V6CytMovJwhfpEp2kCYaP5ag0eJn2+tlew1ChR -52VfQ2amM97JT5GQFbrGYo7AiHskercgiKbsH+ogHghnXiuDy6c4Y58eP/C0vrX7 -aLKPmXTcHkISTVf/DfdfDIeb4tYLyrrl45ZrQMBCX0kl9F36mlUs2BEikt03wKHU -85ZgHATQ8B980kyuWL+HXcRzyd9PTJskbmJHOyR4RXGwrlQYCmNq6PcIdD0CAwEA -ATANBgkqhkiG9w0BAQsFAAOCAQEAGH5PUiqsQoJVv6Uj1+HJxrzVJ9U6gioFjONh -a0XcWaPttWix4QZ26ZE1FetsD7cPJjiPEbJ0WROMdRWCJj98TroPi8pUDOM0lbHp -Tf9AQ7OsFdNVI9z70G8WmFeRa84LHmQXh1WVo/zsGW+ynP5j9RyepP1k4xbRG4Q/ -ftGwz0KF7peOPTBVR85QpA5tRYiYYYUi0yhGh6qhW5Un8q8SPaN0ratsBB2n0voI -QooztG4hFf24fBlB0sBvpragX59Dv0k5VSaTPFlG8/+PxkzUw1i5PIOsS0KZ1aWi -YjFupxEWUS5yn6CAX4WLVLENIaNubB1l/+ZkQ+JIkvNAofRg5w== +MIIECzCCAvOgAwIBAgIUJWOm1bviJU46wiuhU3PQLSY/2RgwDQYJKoZIhvcNAQEL +BQAwgZQxCzAJBgNVBAYTAkNBMRAwDgYDVQQIDAdPbnRhcmlvMQ8wDQYDVQQHDAZP +dHRhd2ExJTAjBgNVBAoMHEVjbGlwc2Uub3JnIEZvdW5kYXRpb24sIEluYy4xFTAT +BgNVBAMMDGxvY2FsaG9zdC1jYTEkMCIGCSqGSIb3DQEJARYVa3Vrc2EtZGV2QGVj +bGlwc2Uub3JnMB4XDTI2MDkwMzEzNDEwOFoXDTQ2MDgyOTEzNDEwOFowgZQxCzAJ +BgNVBAYTAkNBMRAwDgYDVQQIDAdPbnRhcmlvMQ8wDQYDVQQHDAZPdHRhd2ExJTAj +BgNVBAoMHEVjbGlwc2Uub3JnIEZvdW5kYXRpb24sIEluYy4xFTATBgNVBAMMDGxv +Y2FsaG9zdC1jYTEkMCIGCSqGSIb3DQEJARYVa3Vrc2EtZGV2QGVjbGlwc2Uub3Jn +MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu/4IGKN8usuZfNHXu2K6 +FHAR6w2wQfK9M5YaP8rzi06Hp8xS9i7nBTgIZPGADu6hRwaD1NfrQQ9imTFI85O0 +R0dG1T0usdq08pUw+k4xSdx1X0B4yrHmP4UatYQMw3TUqQ+b04pHOIzBdrcgbgHF +wdHwLhpCMcN8NbTw0lhF38T9Dzj4HUowwSduG8ROtgvqB/rN5vilCAJ85+3OcPah +wkeqsRqq/NINcMtylTw5USJkikMYZWYi5myuv861L3t0mwK0fd3bbv4I5sFTFPeT +OSWMxbta36XIqFcWDqE4bECE/7LSa9GTmB/fcxDXmtg4B6rchAfdOxsQCFMVjoyU +TwIDAQABo1MwUTAdBgNVHQ4EFgQUa4aO2tO/2XxphzurJRqgb1/2V8MwHwYDVR0j +BBgwFoAUa4aO2tO/2XxphzurJRqgb1/2V8MwDwYDVR0TAQH/BAUwAwEB/zANBgkq +hkiG9w0BAQsFAAOCAQEACpmy+M/azhFXrdabkamFVBXqUtWlFqxK2lr2PyUuQC7w +4jKGImC1mkJBfwSzO2ESYaP55R2+8tA/rN5LYitUCaL4/FbYsPtV7TotcuRatuoC +bhHb0uJX4lIsSXptlJpvM1z1AftePcDliGVIqMVb3RNg9n8ujukQhfRiNqKblOXD +iWrTeUChCI0Otsyvs3KIRRi7QIGFE4tHL52jqBGUDerI7N3+jqjx3W4I4blQ89IP +6Mi4GU+JWt60Qlo/z7gED/MdZSv5I90eU1qXoQ4hqexivAX9QX5XYELdBLIN6MhQ +x/+RRnePKeY87EdTYzRLkPYjmOG0MUCmV96EuZduIg== -----END CERTIFICATE----- diff --git a/kuksa-java-sdk/src/test/resources/tls/CA.srl b/kuksa-java-sdk/src/test/resources/tls/CA.srl new file mode 100644 index 0000000..42611d9 --- /dev/null +++ b/kuksa-java-sdk/src/test/resources/tls/CA.srl @@ -0,0 +1 @@ +2A868812CAB25DD10024D34950396AF39AAF58E9 diff --git a/kuksa-java-sdk/src/test/resources/tls/Server.key b/kuksa-java-sdk/src/test/resources/tls/Server.key index 2e0e5f9..5d71a6c 100644 --- a/kuksa-java-sdk/src/test/resources/tls/Server.key +++ b/kuksa-java-sdk/src/test/resources/tls/Server.key @@ -1,27 +1,28 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpQIBAAKCAQEA0FXTgl4B1nXO0AhHGwPWv/nD73sAnyhSUqUHKUq9WFg/u2ML -YX9OFjAgYvXTQGkEdGYJc6e/8TtNae8hQYsX6JVT669yg5vatIf3/GVhvxhngNwp -arLGYXyRV7QCgoBrdzpbTuUhhw51kWzgj1oUw+/XUTrepAvzZa6dh1ieKQSfmJUi -6OdcFCagIC1gVAXBv8fPQKjoznmtXs4rmryKfstgtU4ZXHx+wDQaafoUiveZbfVn -toi4UW926+IUI6xD4y3wVVoJyiit//T96eJ7QQsfeSvQGufTSTr3jS+w3oUpG/// -UZCLdFWfitZk5z3ERGY/ysmGXuRrDKOI1lJsaQIDAQABAoIBADbye/+FVcy/c5Vw -qXhZkdk+Qcw2z9oqY1QCzJm6aagUVnLQ056aWfkGJnSTS21QhWlBxDppwvkX3/oR -pN7Jlbu1LtYZhwVpJMy6k9BQ2O/yutHEv3OxxRrPJPJRutu6jR18Gbr8OdSKHr4F -TlDgvFtVNZ/p+/CeakqmPEwHNmewo6IfpkBNKHDmi1NpYoEFoyfb0XDVH8m87k5A -fso1hlDbzPQlJ840ebaf0DQBmeQNE3r5NeOMaMOPZzHUY2Ps/+AtCRUhIiAaw7cI -qkW3Vqkg6Lm1zjWv4ZUVsxz6mPKEzYX94CFPKIlWFDOLXYx/Ne1c2O2IIyyaUFrh -sD3dESUCgYEA6+N90wM0JahyOytwlHwmFtycqY8cNd1HGpR50C6Tly4ogsBD6j6h -UNnUdbDDqiI4y+ZAle+z4hqboW2UWc3yHPZG7Lxn94PgE7HLCCOsz8Uwpm2Xord0 -Uk4yQANzn1/PmbOubxIsTVhz37gotSEj/NFgU0r61bpeDBBHCd2uU18CgYEA4hj0 -S2F6+xbAbpVgdDBCxubMKbKT9jaxVgjr+M22Vrt+EM1zGkIQUhhpHCS5n6h9hmT3 -JJ2UZDuYD/J0N5kBcCVkHWFQZVfhURmQ6xcYgJmz97XkXNlTrAkKZwSXnud3wVY6 -ooz6yz71eA6E+Jln9SVnjO+kBnVvWylqD4OLXTcCgYEA3E+PX7o5RQarEbpDnlrJ -VEbdhrujlGdDln6fuqEVtXgl2+BoTeoKzjF0bisWw9rMgxtcrOzAa+d//WgTy0A+ -5W/a1BYvYAvqB1rhjouLRk4cXwQyQIXo/UoNQp42qd5ZTWt0+kXV3LNFHeipFGqM -av6+YWzBE0bJuaimQH+r5i8CgYEA4QOixQ6LvS4Eb0m8h4WsP5VcZLcz6BrAXHZe -mevo5uKL8R72yZAr+/gNS5QFJK8j1cfP6qHlF+fzSxOps9dThg/AVjkOMP3H4NWH -01/V486UPBfK4NjtG86XirUYTG3iUgiGLFYQFoxe8Y/JqDvMKT6DktDANilTnK9X -vX7WCPsCgYEAjMy6OfWhSeGMFYB8QTUkIIf57mdSGYbpVxEh8UnpZJPq62AZj+FX -Rzyu5CLLkg3PTVOyzsXnBOxBwkjje72Wv7tKaq9uKYkNPyeYIiM5VZTEKzPOAQTJ -eO3xy/LbOM1Plfy/koGN5FiHLL+EBdKn42F+ytj0FEYls0V0sZ+kbcQ= ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDdUEG8zN6UG+CO +VjZcCJte4psRygRXjXz288owaG0lPGL3lQ7qU0Oy4BM4gsZmwF0ddjoikomk+RsA +0BC9MKNhliBfP40im6edfPtg+K6VaGev2nNHJRD8llu0z6r5SEdxw6i3b+kUK7cj +hRxzX2IX6FProLzSlmw1wrWlEmp9VOEfTFe9PqAxs5CpxLdG5n7AEOfJm5tJO4U0 +P3m+CwVEzseW/oS+uWAryYykXMzq2KWrHp0UD8JLyVJ6AYswbrSTVa0LVNHzpuPO +wm7iLkI4NvmT53l5kr7dFPMjkci9FWhUW+Dr4LaAY+JgfpZsMXgnQfOQG02k3mrQ +fX5U6sVzAgMBAAECggEAG+ugH32JJw5NSie+O+YqE9Jq1deyrIkBFvayr2C9RFFV ++v4nH5DZnZt/UUXOWfAyzyC3PN1X2CRFL9kQA447TnhuJRYTbCZPAyNdY2J8RAUj +75+To4odloAxmaIJY+Gmgce5ZUsNEKpjNGv6puOFsJZy3+srZzXq+O1TlTu5i44J +mjoLqrMtrheWGlS7qoMCnPNnVUZf+vuKr3LDbWRzlbGdnuglMhO1C4GSFf9OTcX5 +r+BJPSk0m/uGdtlaa2XgcE6Hj+mNLAMj5904IoL0UldTzkYXC9WTcBoj7VYTwy9y +gPAhQ1HO15zMs9kw1sKc03S65CRTnbI3/pFkSibkoQKBgQD9wlryEvOZGkuEd3ll +FdMYvm75zJe7wZqfqCnn+DuDivlFPAan0V48WEWtkjW4jrQpBHEcjDoc1ldy2Sd1 +G1mqwuGV1p7t3ZmV7szxeRzADCLfHEGmmKlk1tI2epRUAjZCwFIZl/JN798IVOru +br9Mm2OUBzBUf/iFuE/kzuNHNQKBgQDfRI4iRGZDXhYNYCe2yDcIYFDsHAyA/U0+ +4AKnsIMPeAgve5w1yItYXQhXtxQ+rv19laYpDAgfaktHtqfDc1LYVIK1iSR00czn +exwB8Hc57UwEfwUl7Elb1Iwt//7IySOVhxN+pPVmqav6mRRwoVFcxmbofK5LMdh3 +dkMPsQfnBwKBgQDRCKMmOhpUimae7lQfwwSro2ODfteXIPqgfkRXBBLyXy7Lq5DH ++R4pk4WCX6jFKTibeT88Bv9v9dj/kIaCX09T7UkqxysQQrVb3uUQHXZjdRvcskga +VjNkD9oGap95PIE6J3b6AkLllK0jDeChHLWVA4PZ0rorQWeVr6iQkSSD6QKBgFXh +b+7ccp2tPjxM5VnYr9qH+fioXWLsjF8IGd1Y90DnAfcJzC+gAYGu33umD6KA+z7o +Zm7ZkvJKl8RxDR0QaiiOcWzU4PISlYfhAgf48FOW5KvCFD/fIOSy4Gz9UIr5W7ez +qpsHZuHjmCSf543fb4WJR6Jb+0svVD23fto1VX3XAoGBANaA+vJANF5Nj0ihoE2E +VrSlWEC7IVu4jjOXiHfwYbkd9u7Umb38bHT33Zgzk6B9HkW1gNGBc4cA81HhsTsp +/UCqec9detsXXX1mGfD9SOvZdqHOkIP275Fm+qKUAXi+37SBjzFW4yCNMS9uleFA +G7+pDrfGNkn/o9u/RPTz6AtC +-----END PRIVATE KEY----- diff --git a/kuksa-java-sdk/src/test/resources/tls/Server.pem b/kuksa-java-sdk/src/test/resources/tls/Server.pem index 0cb36ed..7cee7e7 100644 --- a/kuksa-java-sdk/src/test/resources/tls/Server.pem +++ b/kuksa-java-sdk/src/test/resources/tls/Server.pem @@ -1,28 +1,25 @@ -----BEGIN CERTIFICATE----- -MIIEvDCCA6SgAwIBAgIUSd3/DrXmlh9aU57VaMXS9WEIPowwDQYJKoZIhvcNAQEL +MIIERzCCAy+gAwIBAgIUKoaIEsqyXdEAJNNJUDlq85qvWOkwDQYJKoZIhvcNAQEL BQAwgZQxCzAJBgNVBAYTAkNBMRAwDgYDVQQIDAdPbnRhcmlvMQ8wDQYDVQQHDAZP dHRhd2ExJTAjBgNVBAoMHEVjbGlwc2Uub3JnIEZvdW5kYXRpb24sIEluYy4xFTAT BgNVBAMMDGxvY2FsaG9zdC1jYTEkMCIGCSqGSIb3DQEJARYVa3Vrc2EtZGV2QGVj -bGlwc2Uub3JnMB4XDTI0MDYxODA5NDUyOFoXDTI1MDYxODA5NDUyOFowgY4xCzAJ +bGlwc2Uub3JnMB4XDTI2MDkwMzEzNDEwOFoXDTQ2MDgyOTEzNDEwOFowgY4xCzAJ BgNVBAYTAkNBMRAwDgYDVQQIDAdPbnRhcmlvMQ8wDQYDVQQHDAZPdHRhd2ExJTAj BgNVBAoMHEVjbGlwc2Uub3JnIEZvdW5kYXRpb24sIEluYy4xDzANBgNVBAMMBlNl cnZlcjEkMCIGCSqGSIb3DQEJARYVa3Vrc2EtZGV2QGVjbGlwc2Uub3JnMIIBIjAN -BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0FXTgl4B1nXO0AhHGwPWv/nD73sA -nyhSUqUHKUq9WFg/u2MLYX9OFjAgYvXTQGkEdGYJc6e/8TtNae8hQYsX6JVT669y -g5vatIf3/GVhvxhngNwparLGYXyRV7QCgoBrdzpbTuUhhw51kWzgj1oUw+/XUTre -pAvzZa6dh1ieKQSfmJUi6OdcFCagIC1gVAXBv8fPQKjoznmtXs4rmryKfstgtU4Z -XHx+wDQaafoUiveZbfVntoi4UW926+IUI6xD4y3wVVoJyiit//T96eJ7QQsfeSvQ -GufTSTr3jS+w3oUpG///UZCLdFWfitZk5z3ERGY/ysmGXuRrDKOI1lJsaQIDAQAB -o4IBCDCCAQQwIgYDVR0RBBswGYIGU2VydmVygglsb2NhbGhvc3SHBH8AAAEwHQYD -VR0OBBYEFGC69Htc/kDNUmsFH8hPB0ZGdkQHMIG+BgNVHSMEgbYwgbOhgZqkgZcw -gZQxCzAJBgNVBAYTAkNBMRAwDgYDVQQIDAdPbnRhcmlvMQ8wDQYDVQQHDAZPdHRh -d2ExJTAjBgNVBAoMHEVjbGlwc2Uub3JnIEZvdW5kYXRpb24sIEluYy4xFTATBgNV -BAMMDGxvY2FsaG9zdC1jYTEkMCIGCSqGSIb3DQEJARYVa3Vrc2EtZGV2QGVjbGlw -c2Uub3JnghR92Q2Epkh+nIVseTvM7XpxzB0XwjANBgkqhkiG9w0BAQsFAAOCAQEA -U4mqcSQgRMvO0CONqB4yUKYu68h1dJysoNc7eF2wA3dTNBy/upEGo9rxz5iP6wMO -/46nmD6YIGbflZnLsCgnpBJ1DgzD5OuZwbJwLngbpN5wUuaNJENFlblBx18clvTO -nR5gosdQ4JoTfj7b03/C5gnyh453fFyQT6+pSwnOHbpUZEXPKjIYoWphNQIb7+HR -nq4fALIz9ju776YYlc5OZ/XpfJq6zwsFLN6vTwqsy0iossHd2fe0OUYN66ccl5lE -8ez0XjFbSOWgP7VYr28+JHEh11sdcGHJLZKAu6CNNh3ACKY6B5mF+T/qAej3y117 -jhdqxluTzYd+uNIP6YCu5A== +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3VBBvMzelBvgjlY2XAibXuKbEcoE +V4189vPKMGhtJTxi95UO6lNDsuATOILGZsBdHXY6IpKJpPkbANAQvTCjYZYgXz+N +IpunnXz7YPiulWhnr9pzRyUQ/JZbtM+q+UhHccOot2/pFCu3I4Ucc19iF+hT66C8 +0pZsNcK1pRJqfVThH0xXvT6gMbOQqcS3RuZ+wBDnyZubSTuFND95vgsFRM7Hlv6E +vrlgK8mMpFzM6tilqx6dFA/CS8lSegGLMG60k1WtC1TR86bjzsJu4i5CODb5k+d5 +eZK+3RTzI5HIvRVoVFvg6+C2gGPiYH6WbDF4J0HzkBtNpN5q0H1+VOrFcwIDAQAB +o4GUMIGRMCIGA1UdEQQbMBmCBlNlcnZlcoIJbG9jYWxob3N0hwR/AAABMAkGA1Ud +EwQCMAAwCwYDVR0PBAQDAgXgMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQW +BBRWrx727ddptQw9+hUN+CAK6Qm1RDAfBgNVHSMEGDAWgBRrho7a07/ZfGmHO6sl +GqBvX/ZXwzANBgkqhkiG9w0BAQsFAAOCAQEAtKHe2zAOZcsTOEDzH2pDuR4fdb5G +zHrL00iCjSZDekgHE6r+K2rlcx/rZC5KJld8D8EOKJsVzFjYddOXio3A1PGe393o +67JIY0JfDQCUbH5S5Eu/PxlV+3JlIxA50ujjkGlqeBIwmiBqQY11ohgaGP92f8tG +V07YSRb647S9/wfJKqEQ+wCyfnqtk0MLMo5EQ0citd51yD6TqMbEaKdg4Uv7Pn8S +cGJb2crXEEyJVNDDt4FKwJORQbGduV1EF1tzAPk95101/AsAkF+iy1XRUV2BQiyv +6x2VfSVj++Eqw73qU6ZIG8KoySbjqaLwck8lHOyj5pX2Mf4XLWf4xUupdA== -----END CERTIFICATE----- diff --git a/package.json b/package.json index 616bd73..c17eba0 100644 --- a/package.json +++ b/package.json @@ -5,13 +5,13 @@ "author": "", "license": "Apache-2.0", "devDependencies": { - "@commitlint/cli": "^17.6.6", - "@commitlint/config-conventional": "^17.6.6", - "commit-and-tag-version": "^11.3.0", - "husky": "^8.0.3" + "@commitlint/cli": "^21.2.2", + "@commitlint/config-conventional": "^21.2.2", + "commit-and-tag-version": "^13.1.2", + "husky": "^9.1.7" }, "scripts": { - "postinstall": "husky install", + "postinstall": "husky", "tag-release": "npx commit-and-tag-version --packageFiles version.txt -t release/v --skip.commit=true --skip.changelog=true --skip.bump=true", "commit-release": "npx commit-and-tag-version --packageFiles version.txt -t release/v --bumpFiles version.txt --skip.tag=true", "bump-release": "npx commit-and-tag-version --packageFiles version.txt -t release/v --bumpFiles version.txt --skip.tag=true --skip.commit=true", diff --git a/samples/build.gradle.kts b/samples/build.gradle.kts index 64d0b5d..11bdf20 100644 --- a/samples/build.gradle.kts +++ b/samples/build.gradle.kts @@ -1,3 +1,22 @@ +/* + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * + */ + import org.jetbrains.kotlin.gradle.dsl.JvmTarget plugins { @@ -5,14 +24,20 @@ plugins { kotlin("jvm") } +val javaVersion = JavaVersion.toVersion(libs.versions.jvmTarget.get()) + +tasks.withType().configureEach { + failOnNoDiscoveredTests = false +} + java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = javaVersion + targetCompatibility = javaVersion } kotlin { compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) + jvmTarget.set(JvmTarget.fromTarget(libs.versions.jvmTarget.get())) } } diff --git a/samples/gradle.lockfile b/samples/gradle.lockfile index d2076c9..fb9f384 100644 --- a/samples/gradle.lockfile +++ b/samples/gradle.lockfile @@ -1,18 +1,20 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. +# To regenerate this file, run: ./gradlew :samples:dependencies --write-locks ch.qos.logback:logback-classic:1.3.5=ktlint ch.qos.logback:logback-core:1.3.5=ktlint com.google.android:annotations:4.1.1.4=runtimeClasspath,testRuntimeClasspath com.google.code.findbugs:jsr305:3.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.google.code.gson:gson:2.10.1=runtimeClasspath,testRuntimeClasspath -com.google.errorprone:error_prone_annotations:2.23.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -com.google.guava:failureaccess:1.0.1=runtimeClasspath,testRuntimeClasspath -com.google.guava:guava:32.1.3-android=runtimeClasspath,testRuntimeClasspath +com.google.code.gson:gson:2.14.0=runtimeClasspath,testRuntimeClasspath +com.google.errorprone:error_prone_annotations:2.50.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.google.guava:failureaccess:1.0.3=runtimeClasspath,testRuntimeClasspath +com.google.guava:guava:33.6.0-android=runtimeClasspath,testRuntimeClasspath com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava=runtimeClasspath,testRuntimeClasspath -com.google.protobuf:protobuf-javalite:3.25.1=compileClasspath,testCompileClasspath -com.google.protobuf:protobuf-javalite:3.25.3=runtimeClasspath,testRuntimeClasspath -com.google.protobuf:protobuf-kotlin-lite:3.25.3=runtimeClasspath,testRuntimeClasspath +com.google.j2objc:j2objc-annotations:3.1=runtimeClasspath,testRuntimeClasspath +com.google.protobuf:protobuf-javalite:3.25.9=compileClasspath,testCompileClasspath +com.google.protobuf:protobuf-javalite:4.36.1=runtimeClasspath,testRuntimeClasspath +com.google.protobuf:protobuf-kotlin-lite:4.36.1=runtimeClasspath,testRuntimeClasspath com.pinterest.ktlint:ktlint-cli-reporter:0.49.0=ktlint com.pinterest.ktlint:ktlint-cli-ruleset-core:0.49.0=ktlint com.pinterest.ktlint:ktlint-core:0.49.0=ktlint @@ -34,50 +36,77 @@ com.squareup.okio:okio:3.4.0=runtimeClasspath,testRuntimeClasspath info.picocli:picocli:4.7.1=ktlint io.github.detekt.sarif4k:sarif4k:0.2.0=ktlint io.github.microutils:kotlin-logging-jvm:3.0.5=ktlint -io.grpc:grpc-api:1.65.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.grpc:grpc-context:1.65.1=runtimeClasspath,testRuntimeClasspath -io.grpc:grpc-core:1.65.1=runtimeClasspath,testRuntimeClasspath -io.grpc:grpc-kotlin-stub:1.4.1=runtimeClasspath,testRuntimeClasspath -io.grpc:grpc-okhttp:1.65.1=runtimeClasspath,testRuntimeClasspath -io.grpc:grpc-protobuf-lite:1.65.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.grpc:grpc-stub:1.65.1=runtimeClasspath,testRuntimeClasspath -io.grpc:grpc-util:1.65.1=runtimeClasspath,testRuntimeClasspath -io.perfmark:perfmark-api:0.26.0=runtimeClasspath,testRuntimeClasspath +io.grpc:grpc-api:1.84.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.grpc:grpc-context:1.84.0=runtimeClasspath,testRuntimeClasspath +io.grpc:grpc-core:1.84.0=runtimeClasspath,testRuntimeClasspath +io.grpc:grpc-kotlin-stub:1.5.0=runtimeClasspath,testRuntimeClasspath +io.grpc:grpc-okhttp:1.84.0=runtimeClasspath,testRuntimeClasspath +io.grpc:grpc-protobuf-lite:1.84.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.grpc:grpc-stub:1.84.0=runtimeClasspath,testRuntimeClasspath +io.grpc:grpc-util:1.84.0=runtimeClasspath,testRuntimeClasspath +io.perfmark:perfmark-api:0.27.0=runtimeClasspath,testRuntimeClasspath javax.annotation:javax.annotation-api:1.3.2=runtimeClasspath,testRuntimeClasspath net.java.dev.jna:jna:5.6.0=ktlint -org.checkerframework:checker-qual:3.37.0=runtimeClasspath,testRuntimeClasspath -org.codehaus.mojo:animal-sniffer-annotations:1.23=runtimeClasspath,testRuntimeClasspath +org.codehaus.mojo:animal-sniffer-annotations:1.27=runtimeClasspath,testRuntimeClasspath org.ec4j.core:ec4j-core:0.3.0=ktlint -org.jacoco:org.jacoco.agent:0.8.11=jacocoAgent -org.jetbrains.intellij.deps:trove4j:1.0.20200330=kotlinCompilerClasspath,ktlint +org.jacoco:org.jacoco.agent:0.8.14=jacocoAgent,jacocoAnt +org.jacoco:org.jacoco.ant:0.8.14=jacocoAnt +org.jacoco:org.jacoco.core:0.8.14=jacocoAnt +org.jacoco:org.jacoco.report:0.8.14=jacocoAnt +org.jetbrains.intellij.deps:trove4j:1.0.20200330=ktlint +org.jetbrains.kotlin:kotlin-build-tools-api:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-api:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-build-tools-compat:2.4.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-impl:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-impl:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath org.jetbrains.kotlin:kotlin-compiler-embeddable:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.22=kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-compiler-runner:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-compiler-runner:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-daemon-client:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-daemon-client:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath org.jetbrains.kotlin:kotlin-daemon-embeddable:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.22=kotlinCompilerClasspath -org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinCompilerClasspath,ktlint -org.jetbrains.kotlin:kotlin-reflect:1.9.22=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:2.4.10=kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,ktlint +org.jetbrains.kotlin:kotlin-reflect:2.4.10=runtimeClasspath,testRuntimeClasspath org.jetbrains.kotlin:kotlin-script-runtime:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-script-runtime:1.9.22=kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-common:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-script-runtime:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-script-runtime:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-scripting-common:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-jvm:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest org.jetbrains.kotlin:kotlin-stdlib-common:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-common:2.4.10=runtimeClasspath,testRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0=runtimeClasspath,testRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=ktlint org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0=runtimeClasspath,testRuntimeClasspath org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20=ktlint org.jetbrains.kotlin:kotlin-stdlib:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-stdlib:1.9.22=compileClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-stdlib:2.4.10=compileClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-tooling-core:2.4.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.11.0=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1=compileClasspath,testCompileClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.11.0=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.1=compileClasspath,testCompileClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1=compileClasspath,testCompileClasspath org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.4.1=ktlint org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.1=ktlint org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.4.1=ktlint org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1=ktlint -org.jetbrains:annotations:13.0=kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,ktlint +org.jetbrains:annotations:13.0=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,ktlint org.jetbrains:annotations:23.0.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jspecify:jspecify:1.0.0=runtimeClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.9=jacocoAnt +org.ow2.asm:asm-tree:9.9=jacocoAnt +org.ow2.asm:asm:9.9=jacocoAnt org.slf4j:slf4j-api:2.0.4=ktlint -empty=annotationProcessor,kotlinScriptDefExtensions,testAnnotationProcessor,testKotlinScriptDefExtensions +empty=annotationProcessor,implementationDependenciesMetadata,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDefExtensions,testAnnotationProcessor,testImplementationDependenciesMetadata,testKotlinScriptDefExtensions diff --git a/settings-gradle.lockfile b/settings-gradle.lockfile index 709a43f..1aa2035 100644 --- a/settings-gradle.lockfile +++ b/settings-gradle.lockfile @@ -1,4 +1,5 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. +# To regenerate this file, run: ./gradlew dependencies --write-locks empty=incomingCatalogForLibs0 diff --git a/settings.gradle.kts b/settings.gradle.kts index 23f8427..be99bc3 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -27,12 +27,14 @@ pluginManagement { // Version catalog can't be used here plugins { - id("com.google.devtools.ksp") version "1.9.22-1.0.17" kotlin("jvm") - kotlin("plugin.serialization") version "1.9.22" } } +plugins { + id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0" +} + dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { diff --git a/test-core/build.gradle.kts b/test-core/build.gradle.kts index 82fe7d1..e460f62 100644 --- a/test-core/build.gradle.kts +++ b/test-core/build.gradle.kts @@ -1,3 +1,22 @@ +/* + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * SPDX-License-Identifier: Apache-2.0 + * + */ + import org.jetbrains.kotlin.gradle.dsl.JvmTarget /* @@ -22,17 +41,23 @@ plugins { kotlin("jvm") } +val javaVersion = JavaVersion.toVersion(libs.versions.jvmTarget.get()) + java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = javaVersion + targetCompatibility = javaVersion } kotlin { compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) + jvmTarget.set(JvmTarget.fromTarget(libs.versions.jvmTarget.get())) } } dependencies { + // Kotest pulls in the kotlinx-serialization BOM as a transitive platform. Declaring it + // explicitly makes it a first class dependency which can be written into the lock file. + implementation(platform(libs.kotlinx.serialization.bom)) + implementation(libs.kotest) } diff --git a/test-core/gradle.lockfile b/test-core/gradle.lockfile index a384567..0b4dd12 100644 --- a/test-core/gradle.lockfile +++ b/test-core/gradle.lockfile @@ -1,10 +1,9 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. +# To regenerate this file, run: ./gradlew :test-core:dependencies --write-locks ch.qos.logback:logback-classic:1.3.5=ktlint ch.qos.logback:logback-core:1.3.5=ktlint -com.github.ajalt:colormath:1.2.0=compileClasspath,testCompileClasspath,testRuntimeClasspath -com.github.ajalt:mordant:1.2.1=compileClasspath,testCompileClasspath,testRuntimeClasspath com.pinterest.ktlint:ktlint-cli-reporter:0.49.0=ktlint com.pinterest.ktlint:ktlint-cli-ruleset-core:0.49.0=ktlint com.pinterest.ktlint:ktlint-core:0.49.0=ktlint @@ -22,77 +21,104 @@ com.pinterest.ktlint:ktlint-rule-engine:0.49.0=ktlint com.pinterest.ktlint:ktlint-ruleset-standard:0.49.0=ktlint com.pinterest:ktlint:0.49.0=ktlint info.picocli:picocli:4.7.1=ktlint -io.github.classgraph:classgraph:4.8.162=compileClasspath,testCompileClasspath,testRuntimeClasspath +io.github.classgraph:classgraph:4.8.186=runtimeClasspath,testRuntimeClasspath io.github.detekt.sarif4k:sarif4k:0.2.0=ktlint -io.github.java-diff-utils:java-diff-utils:4.12=testRuntimeClasspath +io.github.java-diff-utils:java-diff-utils:4.16=runtimeClasspath,testRuntimeClasspath io.github.microutils:kotlin-logging-jvm:3.0.5=ktlint -io.kotest:kotest-assertions-api-jvm:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-assertions-api:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-assertions-core-jvm:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-assertions-core:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-assertions-shared-jvm:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-assertions-shared:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-common-jvm:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-common:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-extensions-jvm:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-extensions:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-api-jvm:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-api:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-concurrency-jvm:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-concurrency:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-discovery-jvm:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-discovery:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-engine-jvm:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-engine:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-runner-junit5-jvm:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-runner-junit5:5.7.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.10.9=testRuntimeClasspath -net.bytebuddy:byte-buddy:1.10.9=testRuntimeClasspath -net.java.dev.jna:jna-platform:5.9.0=testRuntimeClasspath +io.github.pdvrieze.xmlutil:core-jvmcommon:0.91.3=runtimeClasspath,testRuntimeClasspath +io.github.pdvrieze.xmlutil:core:0.91.3=runtimeClasspath,testRuntimeClasspath +io.github.pdvrieze.xmlutil:serialization-jvm:0.91.3=runtimeClasspath,testRuntimeClasspath +io.github.pdvrieze.xmlutil:serialization:0.91.3=runtimeClasspath,testRuntimeClasspath +io.kotest:kotest-assertions-core-jvm:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-assertions-core:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-assertions-shared-jvm:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-assertions-shared:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-common-jvm:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-common:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-extensions-jvm:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-extensions:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-framework-engine-jvm:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-framework-engine:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-runner-junit-platform-jvm:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-runner-junit-platform:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-runner-junit5-jvm:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-runner-junit5:6.2.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.10.9=runtimeClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.10.9=runtimeClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.9.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath net.java.dev.jna:jna:5.6.0=ktlint -net.java.dev.jna:jna:5.9.0=testRuntimeClasspath +net.java.dev.jna:jna:5.9.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=compileClasspath,testCompileClasspath org.ec4j.core:ec4j-core:0.3.0=ktlint -org.jacoco:org.jacoco.agent:0.8.11=jacocoAgent -org.jetbrains.intellij.deps:trove4j:1.0.20200330=kotlinCompilerClasspath,ktlint +org.jacoco:org.jacoco.agent:0.8.14=jacocoAgent,jacocoAnt +org.jacoco:org.jacoco.ant:0.8.14=jacocoAnt +org.jacoco:org.jacoco.core:0.8.14=jacocoAnt +org.jacoco:org.jacoco.report:0.8.14=jacocoAnt +org.jetbrains.intellij.deps:trove4j:1.0.20200330=ktlint +org.jetbrains.kotlin:kotlin-build-tools-api:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-api:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-build-tools-compat:2.4.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-impl:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-impl:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath org.jetbrains.kotlin:kotlin-compiler-embeddable:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.22=kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-compiler-runner:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-compiler-runner:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-daemon-client:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-daemon-client:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath org.jetbrains.kotlin:kotlin-daemon-embeddable:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.22=kotlinCompilerClasspath -org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinCompilerClasspath,ktlint -org.jetbrains.kotlin:kotlin-reflect:1.8.10=testRuntimeClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:2.4.10=kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,ktlint +org.jetbrains.kotlin:kotlin-reflect:2.2.21=runtimeClasspath,testRuntimeClasspath org.jetbrains.kotlin:kotlin-script-runtime:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-script-runtime:1.9.22=kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-common:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-script-runtime:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-script-runtime:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-scripting-common:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-jvm:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest org.jetbrains.kotlin:kotlin-stdlib-common:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=compileClasspath,ktlint,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20=compileClasspath,ktlint,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=ktlint +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20=ktlint org.jetbrains.kotlin:kotlin-stdlib:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-stdlib:1.9.22=compileClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.0=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.0=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.0=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.7.0=testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.0=testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.7.0=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.0=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-stdlib:2.4.10=compileClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-tooling-core:2.4.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.10.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.10.2=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.10.2=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-io-bytestring-jvm:0.8.2=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-io-bytestring:0.8.2=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-io-core-jvm:0.8.2=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-io-core:0.8.2=runtimeClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-serialization-bom:1.9.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.4.1=ktlint +org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.9.0=runtimeClasspath,testRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.1=ktlint +org.jetbrains.kotlinx:kotlinx-serialization-core:1.9.0=runtimeClasspath,testRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.4.1=ktlint org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1=ktlint -org.jetbrains:annotations:13.0=kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,ktlint -org.jetbrains:annotations:23.0.0=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-api:5.8.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.8.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.8.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-launcher:1.8.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-api:1.8.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.junit:junit-bom:5.8.2=compileClasspath,testCompileClasspath,testRuntimeClasspath -org.opentest4j:opentest4j:1.2.0=compileClasspath,testCompileClasspath -org.opentest4j:opentest4j:1.3.0=testRuntimeClasspath +org.jetbrains:annotations:13.0=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,ktlint +org.jetbrains:annotations:23.0.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:5.13.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.13.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.13.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.13.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.13.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit:junit-bom:5.13.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.3.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.9=jacocoAnt +org.ow2.asm:asm-tree:9.9=jacocoAnt +org.ow2.asm:asm:9.9=jacocoAnt org.slf4j:slf4j-api:2.0.4=ktlint -empty=annotationProcessor,kotlinScriptDefExtensions,testAnnotationProcessor,testKotlinScriptDefExtensions +empty=annotationProcessor,implementationDependenciesMetadata,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDefExtensions,testAnnotationProcessor,testImplementationDependenciesMetadata,testKotlinScriptDefExtensions diff --git a/test-core/src/main/java/org/eclipse/kuksa/test/kotest/KotestProjectConfig.kt b/test-core/src/main/java/org/eclipse/kuksa/test/kotest/KotestProjectConfig.kt index 270ba77..ef5c9cb 100644 --- a/test-core/src/main/java/org/eclipse/kuksa/test/kotest/KotestProjectConfig.kt +++ b/test-core/src/main/java/org/eclipse/kuksa/test/kotest/KotestProjectConfig.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 - 2025 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -28,6 +28,4 @@ val eventuallyConfiguration = eventuallyConfig { } // https://kotest.io/docs/framework/project-config.html -object KotestProjectConfig : AbstractProjectConfig() { - override var displayFullTestPath: Boolean? = true -} +object KotestProjectConfig : AbstractProjectConfig() diff --git a/version.txt b/version.txt index 60a2d3e..44bb5d1 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -0.4.0 \ No newline at end of file +0.4.1 \ No newline at end of file diff --git a/vss-core/build.gradle.kts b/vss-core/build.gradle.kts index 88e8a53..9cb279a 100644 --- a/vss-core/build.gradle.kts +++ b/vss-core/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2026 Contributors to the Eclipse Foundation * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -21,7 +21,6 @@ import org.eclipse.kuksa.version.SemanticVersion import org.eclipse.kuksa.version.VERSION_FILE_DEFAULT_PATH_KEY -import org.jetbrains.dokka.gradle.DokkaTask import org.jetbrains.kotlin.gradle.dsl.JvmTarget @@ -36,14 +35,16 @@ val semanticVersion = SemanticVersion(versionPath) version = semanticVersion.versionName group = "org.eclipse.kuksa" +val javaVersion = JavaVersion.toVersion(libs.versions.jvmTarget.get()) + java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = javaVersion + targetCompatibility = javaVersion } kotlin { compilerOptions { - jvmTarget.set(JvmTarget.JVM_11) + jvmTarget.set(JvmTarget.fromTarget(libs.versions.jvmTarget.get())) } } @@ -51,20 +52,16 @@ dependencies { implementation(kotlin("stdlib")) implementation(kotlin("reflect")) + // Kotest pulls in the kotlinx-serialization BOM as a transitive platform. Declaring it + // explicitly makes it a first class dependency which can be written into the lock file. + testImplementation(platform(libs.kotlinx.serialization.bom)) + testImplementation(libs.kotest) testImplementation(libs.mockk) } tasks.withType().configureEach { useJUnitPlatform() - - kotlin { - compilerOptions { - // https://youtrack.jetbrains.com/issue/KT-48678/Coroutine-debugger-disable-was-optimised-out-compiler-feature - // We don't want local variables to be optimized out while debugging into tests - freeCompilerArgs.add("-Xdebug") - } - } } publish { @@ -74,17 +71,14 @@ publish { } tasks.register("javadocJar", Jar::class) { - dependsOn("dokkaHtml") + description = "Generates a Javadoc jar from Dokka HTML output" + dependsOn("dokkaGeneratePublicationHtml") val buildDir = layout.buildDirectory.get() from("$buildDir/dokka/html") archiveClassifier.set("javadoc") } -tasks.withType().configureEach { - notCompatibleWithConfigurationCache("https://github.com/Kotlin/dokka/issues/2231") -} - java { withJavadocJar() // needs to be called after tasks.register("javadocJar") withSourcesJar() diff --git a/vss-core/gradle.lockfile b/vss-core/gradle.lockfile index 30c0b8c..a278b17 100644 --- a/vss-core/gradle.lockfile +++ b/vss-core/gradle.lockfile @@ -1,10 +1,24 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. +# To regenerate this file, run: ./gradlew :vss-core:dependencies --write-locks ch.qos.logback:logback-classic:1.3.5=ktlint ch.qos.logback:logback-core:1.3.5=ktlint -com.github.ajalt:colormath:1.2.0=testCompileClasspath,testRuntimeClasspath -com.github.ajalt:mordant:1.2.1=testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.12.7=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.core:jackson-annotations:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson.core:jackson-core:2.12.7=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.core:jackson-core:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson.core:jackson-databind:2.12.7.1=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.core:jackson-databind:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.12.7=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson.module:jackson-module-jaxb-annotations:2.12.7=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +com.fasterxml.jackson.module:jackson-module-kotlin:2.12.7=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson.module:jackson-module-kotlin:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.jackson:jackson-bom:2.12.7=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +com.fasterxml.jackson:jackson-bom:2.15.3=dokkaHtmlGeneratorRuntimeResolver~internal +com.fasterxml.woodstox:woodstox-core:6.2.4=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +com.fasterxml.woodstox:woodstox-core:6.5.1=dokkaHtmlGeneratorRuntimeResolver~internal com.pinterest.ktlint:ktlint-cli-reporter:0.49.0=ktlint com.pinterest.ktlint:ktlint-cli-ruleset-core:0.49.0=ktlint com.pinterest.ktlint:ktlint-core:0.49.0=ktlint @@ -22,93 +36,150 @@ com.pinterest.ktlint:ktlint-rule-engine:0.49.0=ktlint com.pinterest.ktlint:ktlint-ruleset-standard:0.49.0=ktlint com.pinterest:ktlint:0.49.0=ktlint info.picocli:picocli:4.7.1=ktlint -io.github.classgraph:classgraph:4.8.162=testCompileClasspath,testRuntimeClasspath +io.github.classgraph:classgraph:4.8.186=testRuntimeClasspath io.github.detekt.sarif4k:sarif4k:0.2.0=ktlint -io.github.java-diff-utils:java-diff-utils:4.12=testRuntimeClasspath +io.github.java-diff-utils:java-diff-utils:4.16=testRuntimeClasspath io.github.microutils:kotlin-logging-jvm:3.0.5=ktlint -io.kotest:kotest-assertions-api-jvm:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-assertions-api:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-assertions-core-jvm:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-assertions-core:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-assertions-shared-jvm:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-assertions-shared:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-common-jvm:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-common:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-extensions-jvm:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-extensions:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-api-jvm:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-api:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-concurrency-jvm:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-concurrency:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-discovery-jvm:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-discovery:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-engine-jvm:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-framework-engine:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-runner-junit5-jvm:5.7.2=testCompileClasspath,testRuntimeClasspath -io.kotest:kotest-runner-junit5:5.7.2=testCompileClasspath,testRuntimeClasspath -io.mockk:mockk-agent-api-jvm:1.13.7=testCompileClasspath,testRuntimeClasspath -io.mockk:mockk-agent-api:1.13.7=testCompileClasspath,testRuntimeClasspath -io.mockk:mockk-agent-jvm:1.13.7=testCompileClasspath,testRuntimeClasspath -io.mockk:mockk-agent:1.13.7=testCompileClasspath,testRuntimeClasspath -io.mockk:mockk-core-jvm:1.13.7=testCompileClasspath,testRuntimeClasspath -io.mockk:mockk-core:1.13.7=testCompileClasspath,testRuntimeClasspath -io.mockk:mockk-dsl-jvm:1.13.7=testCompileClasspath,testRuntimeClasspath -io.mockk:mockk-dsl:1.13.7=testCompileClasspath,testRuntimeClasspath -io.mockk:mockk-jvm:1.13.7=testCompileClasspath,testRuntimeClasspath -io.mockk:mockk:1.13.7=testCompileClasspath,testRuntimeClasspath -junit:junit:4.13.2=testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.12.20=testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.12.20=testCompileClasspath,testRuntimeClasspath -net.java.dev.jna:jna-platform:5.9.0=testRuntimeClasspath +io.github.pdvrieze.xmlutil:core-jvmcommon:0.91.3=testRuntimeClasspath +io.github.pdvrieze.xmlutil:core:0.91.3=testRuntimeClasspath +io.github.pdvrieze.xmlutil:serialization-jvm:0.91.3=testRuntimeClasspath +io.github.pdvrieze.xmlutil:serialization:0.91.3=testRuntimeClasspath +io.kotest:kotest-assertions-core-jvm:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-assertions-core:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-assertions-shared-jvm:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-assertions-shared:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-common-jvm:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-common:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-extensions-jvm:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-extensions:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-framework-engine-jvm:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-framework-engine:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-runner-junit-platform-jvm:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-runner-junit-platform:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-runner-junit5-jvm:6.2.4=testCompileClasspath,testRuntimeClasspath +io.kotest:kotest-runner-junit5:6.2.4=testCompileClasspath,testRuntimeClasspath +io.mockk:mockk-agent-api-jvm:1.14.11=testCompileClasspath,testRuntimeClasspath +io.mockk:mockk-agent-api:1.14.11=testCompileClasspath,testRuntimeClasspath +io.mockk:mockk-agent-jvm:1.14.11=testCompileClasspath,testRuntimeClasspath +io.mockk:mockk-agent:1.14.11=testCompileClasspath,testRuntimeClasspath +io.mockk:mockk-core-jvm:1.14.11=testCompileClasspath,testRuntimeClasspath +io.mockk:mockk-core:1.14.11=testCompileClasspath,testRuntimeClasspath +io.mockk:mockk-dsl-jvm:1.14.11=testCompileClasspath,testRuntimeClasspath +io.mockk:mockk-dsl:1.14.11=testCompileClasspath,testRuntimeClasspath +io.mockk:mockk-jvm:1.14.11=testCompileClasspath,testRuntimeClasspath +io.mockk:mockk:1.14.11=testCompileClasspath,testRuntimeClasspath +it.unimi.dsi:fastutil-core:8.5.12=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +jakarta.activation:jakarta.activation-api:1.2.1=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +jakarta.xml.bind:jakarta.xml.bind-api:2.3.2=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +net.bytebuddy:byte-buddy-agent:1.18.2=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.18.2=testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna-platform:5.9.0=testCompileClasspath,testRuntimeClasspath net.java.dev.jna:jna:5.6.0=ktlint -net.java.dev.jna:jna:5.9.0=testRuntimeClasspath +net.java.dev.jna:jna:5.9.0=testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath +org.bouncycastle:bcpg-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.bouncycastle:bcpkix-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.bouncycastle:bcprov-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.bouncycastle:bcutil-jdk18on:1.84=kotlinBouncyCastleConfiguration +org.codehaus.woodstox:stax2-api:4.2.1=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime org.ec4j.core:ec4j-core:0.3.0=ktlint -org.hamcrest:hamcrest-core:1.3=testRuntimeClasspath -org.jacoco:org.jacoco.agent:0.8.11=jacocoAgent -org.jetbrains.intellij.deps:trove4j:1.0.20200330=kotlinCompilerClasspath,ktlint +org.freemarker:freemarker:2.3.32=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jacoco:org.jacoco.agent:0.8.14=jacocoAgent,jacocoAnt +org.jacoco:org.jacoco.ant:0.8.14=jacocoAnt +org.jacoco:org.jacoco.core:0.8.14=jacocoAnt +org.jacoco:org.jacoco.report:0.8.14=jacocoAnt +org.jetbrains.dokka:analysis-kotlin-descriptors:1.9.20=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains.dokka:analysis-kotlin-symbols:2.2.0=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.dokka:analysis-markdown:1.9.20=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains.dokka:analysis-markdown:2.2.0=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.dokka:dokka-base:1.9.20=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains.dokka:dokka-base:2.2.0=dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPluginIntransitiveResolver~internal +org.jetbrains.dokka:dokka-core:1.9.20=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime +org.jetbrains.dokka:dokka-core:2.2.0=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.dokka:templating-plugin:2.2.0=dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPluginIntransitiveResolver~internal +org.jetbrains.intellij.deps:trove4j:1.0.20200330=ktlint +org.jetbrains.kotlin:kotlin-build-tools-api:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-api:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-build-tools-compat:2.4.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-cri-impl:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-build-tools-impl:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-build-tools-impl:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath org.jetbrains.kotlin:kotlin-compiler-embeddable:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.22=kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-compiler-embeddable:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-compiler-runner:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-compiler-runner:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlin:kotlin-daemon-client:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-daemon-client:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath org.jetbrains.kotlin:kotlin-daemon-embeddable:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.22=kotlinCompilerClasspath -org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinCompilerClasspath,ktlint -org.jetbrains.kotlin:kotlin-reflect:1.9.22=compileClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-daemon-embeddable:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:2.4.10=kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath,ktlint +org.jetbrains.kotlin:kotlin-reflect:1.9.22=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlin:kotlin-reflect:2.0.21=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.kotlin:kotlin-reflect:2.4.10=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.jetbrains.kotlin:kotlin-script-runtime:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-script-runtime:1.9.22=kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-common:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest -org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-script-runtime:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-script-runtime:2.4.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath +org.jetbrains.kotlin:kotlin-scripting-common:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest +org.jetbrains.kotlin:kotlin-scripting-jvm:2.4.10=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest org.jetbrains.kotlin:kotlin-stdlib-common:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22=testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=ktlint,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20=ktlint,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib-common:1.9.22=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlin:kotlin-stdlib-common:2.0.21=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime,ktlint +org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.0=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.20=dokkaGfmPartialRuntime,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialRuntime,dokkaHtmlRuntime,dokkaJavadocPartialRuntime,dokkaJavadocRuntime,dokkaJekyllPartialRuntime,dokkaJekyllRuntime,ktlint +org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.0=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin org.jetbrains.kotlin:kotlin-stdlib:1.8.20=ktlint -org.jetbrains.kotlin:kotlin-stdlib:1.9.22=compileClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.0=testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.0=testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.0=testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.7.0=testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.0=testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.7.0=testCompileClasspath,testRuntimeClasspath -org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.0=testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-stdlib:1.9.22=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlin:kotlin-stdlib:2.0.21=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains.kotlin:kotlin-stdlib:2.4.0=kotlinAbiValidationCompatClasspath +org.jetbrains.kotlin:kotlin-stdlib:2.4.10=compileClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlin:kotlin-tooling-core:2.4.10=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.10.2=testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.7.3=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.10.2=testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.3=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0=kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2=testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime +org.jetbrains.kotlinx:kotlinx-coroutines-debug:1.10.2=testCompileClasspath,testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.10.2=testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-test-jvm:1.10.2=testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2=testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-html-jvm:0.9.1=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains.kotlinx:kotlinx-io-bytestring-jvm:0.8.2=testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-io-bytestring:0.8.2=testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-io-core-jvm:0.8.2=testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-io-core:0.8.2=testRuntimeClasspath +org.jetbrains.kotlinx:kotlinx-serialization-bom:1.9.0=testCompileClasspath,testRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.4.1=ktlint +org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.9.0=testRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-core:1.4.1=ktlint +org.jetbrains.kotlinx:kotlinx-serialization-core:1.9.0=testRuntimeClasspath org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.4.1=ktlint org.jetbrains.kotlinx:kotlinx-serialization-json:1.4.1=ktlint -org.jetbrains:annotations:13.0=compileClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,ktlint -org.jetbrains:annotations:23.0.0=testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-api:5.8.2=testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.8.2=testRuntimeClasspath -org.junit.jupiter:junit-jupiter-params:5.8.2=testRuntimeClasspath -org.junit.jupiter:junit-jupiter:5.8.2=testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.8.2=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.8.2=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-launcher:1.8.2=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-suite-api:1.8.2=testCompileClasspath,testRuntimeClasspath -org.junit:junit-bom:5.8.2=testCompileClasspath,testRuntimeClasspath -org.objenesis:objenesis:3.3=testCompileClasspath,testRuntimeClasspath -org.opentest4j:opentest4j:1.2.0=testCompileClasspath -org.opentest4j:opentest4j:1.3.0=testRuntimeClasspath +org.jetbrains:annotations:13.0=compileClasspath,kotlinAbiValidationCompatClasspath,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,ktlint,runtimeClasspath +org.jetbrains:annotations:23.0.0=dokkaGfmPartialPlugin,dokkaGfmPartialRuntime,dokkaGfmPlugin,dokkaGfmRuntime,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPartialRuntime,dokkaHtmlPlugin,dokkaHtmlRuntime,dokkaJavadocPartialPlugin,dokkaJavadocPartialRuntime,dokkaJavadocPlugin,dokkaJavadocRuntime,dokkaJekyllPartialPlugin,dokkaJekyllPartialRuntime,dokkaJekyllPlugin,dokkaJekyllRuntime,testCompileClasspath,testRuntimeClasspath +org.jetbrains:markdown-jvm:0.5.2=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains:markdown-jvm:0.7.3=dokkaHtmlGeneratorRuntimeResolver~internal +org.jetbrains:markdown:0.5.2=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.jetbrains:markdown:0.7.3=dokkaHtmlGeneratorRuntimeResolver~internal +org.jsoup:jsoup:1.16.1=dokkaGfmPartialPlugin,dokkaGfmPlugin,dokkaHtmlGeneratorRuntimeResolver~internal,dokkaHtmlPartialPlugin,dokkaHtmlPlugin,dokkaJavadocPartialPlugin,dokkaJavadocPlugin,dokkaJekyllPartialPlugin,dokkaJekyllPlugin +org.junit.jupiter:junit-jupiter-api:5.13.4=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:1.13.4=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:1.13.4=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-launcher:1.13.4=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-suite-api:1.13.4=testCompileClasspath,testRuntimeClasspath +org.junit:junit-bom:5.13.4=testCompileClasspath,testRuntimeClasspath +org.objenesis:objenesis:3.4=testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testRuntimeClasspath +org.ow2.asm:asm-commons:9.9=jacocoAnt +org.ow2.asm:asm-tree:9.9=jacocoAnt +org.ow2.asm:asm:9.9=jacocoAnt org.slf4j:slf4j-api:2.0.4=ktlint -empty=annotationProcessor,kotlinScriptDefExtensions,testAnnotationProcessor,testKotlinScriptDefExtensions +empty=annotationProcessor,dokkaHtmlModuleOutputDirectoriesResolver~internal,dokkaHtmlPublicationPluginResolver~internal,dokkaPlugin,dokkaRuntime,implementationDependenciesMetadata,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDefExtensions,testAnnotationProcessor,testImplementationDependenciesMetadata,testKotlinScriptDefExtensions diff --git a/vss/vss_release_6.0.json b/vss/vss_release_6.0.json new file mode 100644 index 0000000..e28032f --- /dev/null +++ b/vss/vss_release_6.0.json @@ -0,0 +1 @@ +{"Vehicle": {"children": {"ADAS": {"children": {"ABS": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if ABS is enabled. True = Enabled. False = Disabled.", "type": "actuator"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged.", "type": "sensor"}, "IsError": {"datatype": "boolean", "description": "Indicates if ABS incurred an error condition. True = Error. False = No Error.", "type": "sensor"}}, "description": "Antilock Braking System signals.", "type": "branch"}, "ActiveAutonomyLevel": {"allowed": ["SAE_0", "SAE_1", "SAE_2_DISENGAGING", "SAE_2", "SAE_3_DISENGAGING", "SAE_3", "SAE_4_DISENGAGING", "SAE_4", "SAE_5_DISENGAGING", "SAE_5"], "comment": "Complies with https://www.sae.org/standards/content/j3016_202104/ and https://www.sae.org/blog/sae-j3016-update. Level 5 and 4 ADS (Automated driving system) disengage, if appropriate, only after it achieves a minimal risk condition or a driver is performing the DDT. Level 3 ADS disengages either an appropriate time after issuing a request to intervene or immediately upon user request. Level 2 DAS (Driving automation system) disengages immediately upon driver request. However, since many Level 2 DAS, often termed \"Level 2.5\", warn the driver shortly before reaching their operational limits, the VSS also supports the DISENGAGING state for SAE_2. Nevertheless, it should be noted that the SAE J3016 states that it is incorrect to describe driving automation features using fractional levels.", "datatype": "string", "description": "Indicates the currently active level of driving automation according to the SAE J3016 (Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles).", "type": "sensor"}, "CruiseControl": {"children": {"AdaptiveDistanceSet": {"datatype": "float", "description": "Distance in meters to keep from lead vehicle", "min": 0.0, "type": "actuator", "unit": "m"}, "AdaptiveIntervalSet": {"datatype": "uint8", "description": "Follow distance setting, commonly 1-5 with 1 being closest.", "type": "actuator"}, "IsActive": {"datatype": "boolean", "description": "Indicates if cruise control system is active (i.e. actively controls speed). True = Active. False = Inactive.", "type": "actuator"}, "IsAdaptive": {"datatype": "boolean", "description": "Indicates if cruise control system is adaptive (i.e. actively controls speed).", "type": "actuator"}, "IsEnabled": {"datatype": "boolean", "description": "Indicates if cruise control system is enabled (e.g. ready to receive configurations and settings) True = Enabled. False = Disabled.", "type": "actuator"}, "IsError": {"datatype": "boolean", "description": "Indicates if cruise control system incurred an error condition. True = Error. False = No Error.", "type": "sensor"}, "SpeedSet": {"datatype": "float", "description": "Set cruise control speed in kilometers per hour.", "type": "actuator", "unit": "km/h"}}, "description": "Signals from Cruise Control system.", "type": "branch"}, "DMS": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if DMS is enabled. True = Enabled. False = Disabled.", "type": "actuator"}, "IsError": {"datatype": "boolean", "description": "Indicates if DMS incurred an error condition. True = Error. False = No Error.", "type": "sensor"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if DMS has registered a driver alert condition.", "type": "sensor"}}, "description": "Driver Monitoring System signals.", "type": "branch"}, "EBA": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if EBA is enabled. True = Enabled. False = Disabled.", "type": "actuator"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if EBA is currently regulating brake pressure. True = Engaged. False = Not Engaged.", "type": "sensor"}, "IsError": {"datatype": "boolean", "description": "Indicates if EBA incurred an error condition. True = Error. False = No Error.", "type": "sensor"}}, "description": "Emergency Brake Assist (EBA) System signals.", "type": "branch"}, "EBD": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if EBD is enabled. True = Enabled. False = Disabled.", "type": "actuator"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if EBD is currently regulating vehicle brakeforce distribution. True = Engaged. False = Not Engaged.", "type": "sensor"}, "IsError": {"datatype": "boolean", "description": "Indicates if EBD incurred an error condition. True = Error. False = No Error.", "type": "sensor"}}, "description": "Electronic Brakeforce Distribution (EBD) System signals.", "type": "branch"}, "ESC": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if ESC is enabled. True = Enabled. False = Disabled.", "type": "actuator"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if ESC is currently regulating vehicle stability. True = Engaged. False = Not Engaged.", "type": "sensor"}, "IsError": {"datatype": "boolean", "description": "Indicates if ESC incurred an error condition. True = Error. False = No Error.", "type": "sensor"}, "IsStrongCrossWindDetected": {"datatype": "boolean", "description": "Indicates if the ESC system is detecting strong cross winds. True = Strong cross winds detected. False = No strong cross winds detected.", "type": "sensor"}, "RoadFriction": {"children": {"LowerBound": {"datatype": "float", "description": "Lower bound road friction, as calculated by the ESC system. 5% possibility that road friction is below this value. 0 = no friction, 100 = maximum friction.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "MostProbable": {"datatype": "float", "description": "Most probable road friction, as calculated by the ESC system. Exact meaning of most probable is implementation specific. 0 = no friction, 100 = maximum friction.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "UpperBound": {"datatype": "float", "description": "Upper bound road friction, as calculated by the ESC system. 95% possibility that road friction is below this value. 0 = no friction, 100 = maximum friction.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Road friction values reported by the ESC system.", "type": "branch"}}, "description": "Electronic Stability Control System signals.", "type": "branch"}, "IsAutoPowerOptimize": {"datatype": "boolean", "description": "Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed.", "type": "actuator"}, "LaneDepartureDetection": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if lane departure detection system is enabled. True = Enabled. False = Disabled.", "type": "actuator"}, "IsError": {"datatype": "boolean", "description": "Indicates if lane departure system incurred an error condition. True = Error. False = No Error.", "type": "sensor"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if lane departure detection registered a lane departure.", "type": "sensor"}}, "description": "Signals from Lane Departure Detection System.", "type": "branch"}, "ObstacleDetection": {"children": {"Front": {"children": {"Center": {"children": {"Distance": {"datatype": "float", "description": "Distance in meters to detected object", "min": 0.0, "type": "sensor", "unit": "m"}, "IsEnabled": {"datatype": "boolean", "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", "type": "actuator"}, "IsError": {"datatype": "boolean", "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", "type": "sensor"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if obstacle sensor system registered an obstacle.", "type": "sensor"}, "TimeGap": {"datatype": "uint32", "description": "Time in milliseconds before potential impact object", "type": "sensor", "unit": "ms"}, "WarningType": {"allowed": ["UNDEFINED", "CROSS_TRAFFIC", "BLIND_SPOT"], "comment": "Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance.", "datatype": "string", "description": "Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics.", "type": "sensor"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch"}, "Left": {"children": {"Distance": {"datatype": "float", "description": "Distance in meters to detected object", "min": 0.0, "type": "sensor", "unit": "m"}, "IsEnabled": {"datatype": "boolean", "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", "type": "actuator"}, "IsError": {"datatype": "boolean", "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", "type": "sensor"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if obstacle sensor system registered an obstacle.", "type": "sensor"}, "TimeGap": {"datatype": "uint32", "description": "Time in milliseconds before potential impact object", "type": "sensor", "unit": "ms"}, "WarningType": {"allowed": ["UNDEFINED", "CROSS_TRAFFIC", "BLIND_SPOT"], "comment": "Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance.", "datatype": "string", "description": "Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics.", "type": "sensor"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch"}, "Right": {"children": {"Distance": {"datatype": "float", "description": "Distance in meters to detected object", "min": 0.0, "type": "sensor", "unit": "m"}, "IsEnabled": {"datatype": "boolean", "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", "type": "actuator"}, "IsError": {"datatype": "boolean", "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", "type": "sensor"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if obstacle sensor system registered an obstacle.", "type": "sensor"}, "TimeGap": {"datatype": "uint32", "description": "Time in milliseconds before potential impact object", "type": "sensor", "unit": "ms"}, "WarningType": {"allowed": ["UNDEFINED", "CROSS_TRAFFIC", "BLIND_SPOT"], "comment": "Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance.", "datatype": "string", "description": "Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics.", "type": "sensor"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch"}, "Rear": {"children": {"Center": {"children": {"Distance": {"datatype": "float", "description": "Distance in meters to detected object", "min": 0.0, "type": "sensor", "unit": "m"}, "IsEnabled": {"datatype": "boolean", "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", "type": "actuator"}, "IsError": {"datatype": "boolean", "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", "type": "sensor"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if obstacle sensor system registered an obstacle.", "type": "sensor"}, "TimeGap": {"datatype": "uint32", "description": "Time in milliseconds before potential impact object", "type": "sensor", "unit": "ms"}, "WarningType": {"allowed": ["UNDEFINED", "CROSS_TRAFFIC", "BLIND_SPOT"], "comment": "Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance.", "datatype": "string", "description": "Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics.", "type": "sensor"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch"}, "Left": {"children": {"Distance": {"datatype": "float", "description": "Distance in meters to detected object", "min": 0.0, "type": "sensor", "unit": "m"}, "IsEnabled": {"datatype": "boolean", "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", "type": "actuator"}, "IsError": {"datatype": "boolean", "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", "type": "sensor"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if obstacle sensor system registered an obstacle.", "type": "sensor"}, "TimeGap": {"datatype": "uint32", "description": "Time in milliseconds before potential impact object", "type": "sensor", "unit": "ms"}, "WarningType": {"allowed": ["UNDEFINED", "CROSS_TRAFFIC", "BLIND_SPOT"], "comment": "Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance.", "datatype": "string", "description": "Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics.", "type": "sensor"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch"}, "Right": {"children": {"Distance": {"datatype": "float", "description": "Distance in meters to detected object", "min": 0.0, "type": "sensor", "unit": "m"}, "IsEnabled": {"datatype": "boolean", "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", "type": "actuator"}, "IsError": {"datatype": "boolean", "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", "type": "sensor"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if obstacle sensor system registered an obstacle.", "type": "sensor"}, "TimeGap": {"datatype": "uint32", "description": "Time in milliseconds before potential impact object", "type": "sensor", "unit": "ms"}, "WarningType": {"allowed": ["UNDEFINED", "CROSS_TRAFFIC", "BLIND_SPOT"], "comment": "Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance.", "datatype": "string", "description": "Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics.", "type": "sensor"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch"}, "PowerOptimizeLevel": {"datatype": "uint8", "description": "Power optimization level for this branch/subsystem. A higher number indicates more aggressive power optimization. Level 0 indicates that all functionality is enabled, no power optimization enabled. Level 10 indicates most aggressive power optimization mode, only essential functionality enabled.", "max": 10, "min": 0, "type": "actuator"}, "SupportedAutonomyLevel": {"allowed": ["SAE_0", "SAE_1", "SAE_2", "SAE_3", "SAE_4", "SAE_5"], "datatype": "string", "description": "Indicates the highest level of driving automation according to the SAE J3016 taxonomy the vehicle is capable of.", "type": "attribute"}, "TCS": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if TCS is enabled. True = Enabled. False = Disabled.", "type": "actuator"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if TCS is currently regulating traction. True = Engaged. False = Not Engaged.", "type": "sensor"}, "IsError": {"datatype": "boolean", "description": "Indicates if TCS incurred an error condition. True = Error. False = No Error.", "type": "sensor"}}, "description": "Traction Control System signals.", "type": "branch"}}, "description": "All Advanced Driver Assist Systems data.", "type": "branch"}, "Acceleration": {"children": {"Lateral": {"datatype": "float", "description": "Vehicle acceleration in Y (lateral acceleration).", "type": "sensor", "unit": "m/s^2"}, "Longitudinal": {"datatype": "float", "description": "Vehicle acceleration in X (longitudinal acceleration).", "type": "sensor", "unit": "m/s^2"}, "Vertical": {"datatype": "float", "description": "Vehicle acceleration in Z (vertical acceleration).", "type": "sensor", "unit": "m/s^2"}}, "description": "Spatial acceleration. Axis definitions according to ISO 8855.", "type": "branch"}, "AngularVelocity": {"children": {"Pitch": {"datatype": "float", "description": "Vehicle rotation rate along Y (lateral).", "type": "sensor", "unit": "degrees/s"}, "Roll": {"datatype": "float", "description": "Vehicle rotation rate along X (longitudinal).", "type": "sensor", "unit": "degrees/s"}, "Yaw": {"datatype": "float", "description": "Vehicle rotation rate along Z (vertical).", "type": "sensor", "unit": "degrees/s"}}, "description": "Spatial rotation. Axis definitions according to ISO 8855.", "type": "branch"}, "AverageSpeed": {"comment": "A new trip is considered to start when engine gets enabled (e.g. LowVoltageSystemState in ON or START mode). A trip is considered to end when engine is no longer enabled. The signal may however keep the value of the last trip until a new trip is started. Calculation of average speed may exclude periods when the vehicle for example is not moving or transmission is in neutral.", "datatype": "float", "description": "Average speed for the current trip.", "type": "sensor", "unit": "km/h"}, "Body": {"children": {"BodyType": {"datatype": "string", "description": "Body type code as defined by ISO 3779.", "type": "attribute"}, "Hood": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "comment": "The hood is the hinged cover over the engine compartment of a motor vehicles. Depending on vehicle, it can be either in the front or back of the vehicle. Luggage compartments are in VSS called trunks, even if they are located at the front of the vehicle.", "description": "Hood status. Start position for Hood is Closed.", "type": "branch"}, "Horn": {"children": {"IsActive": {"datatype": "boolean", "description": "Horn active or inactive. True = Active. False = Inactive.", "type": "actuator"}}, "description": "Horn signals.", "type": "branch"}, "IsAutoPowerOptimize": {"datatype": "boolean", "description": "Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed.", "type": "actuator"}, "Lights": {"children": {"Backup": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator"}}, "description": "Backup lights.", "type": "branch"}, "Beam": {"children": {"High": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator"}}, "description": "Beam lights.", "type": "branch"}, "Low": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator"}}, "description": "Beam lights.", "type": "branch"}}, "description": "Beam lights.", "type": "branch"}, "Brake": {"children": {"IsActive": {"allowed": ["INACTIVE", "ACTIVE", "ADAPTIVE"], "datatype": "string", "description": "Indicates if break-light is active. INACTIVE means lights are off. ACTIVE means lights are on. ADAPTIVE means that break-light is indicating emergency-breaking.", "type": "actuator"}, "IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}}, "description": "Brake lights.", "type": "branch"}, "DirectionIndicator": {"children": {"Left": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsSignaling": {"datatype": "boolean", "description": "Indicates if light is signaling or off. True = signaling. False = Off.", "type": "actuator"}}, "description": "Indicator lights.", "type": "branch"}, "Right": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsSignaling": {"datatype": "boolean", "description": "Indicates if light is signaling or off. True = signaling. False = Off.", "type": "actuator"}}, "description": "Indicator lights.", "type": "branch"}}, "description": "Indicator lights.", "type": "branch"}, "Fog": {"children": {"Front": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator"}}, "description": "Fog lights.", "type": "branch"}, "Rear": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator"}}, "description": "Fog lights.", "type": "branch"}}, "description": "Fog lights.", "type": "branch"}, "Hazard": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsSignaling": {"datatype": "boolean", "description": "Indicates if light is signaling or off. True = signaling. False = Off.", "type": "actuator"}}, "description": "Hazard lights.", "type": "branch"}, "IsHighBeamSwitchOn": {"comment": "This signal indicates the status of the switch and does not indicate if low or high beam actually are on. That typically depends on vehicle logic and other signals like Lights.LightSwitch and Vehicle.LowVoltageSystemState.", "datatype": "boolean", "description": "Status of the high beam switch. True = high beam enabled. False = high beam not enabled.", "type": "actuator"}, "LicensePlate": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator"}}, "description": "License plate lights.", "type": "branch"}, "LightSwitch": {"allowed": ["OFF", "POSITION", "DAYTIME_RUNNING_LIGHTS", "AUTO", "BEAM"], "comment": "A vehicle typically does not support all alternatives. Which lights that actually are lit may vary according to vehicle configuration and local legislation. OFF is typically indicated by 0. POSITION is typically indicated by ISO 7000 symbol 0456. DAYTIME_RUNNING_LIGHTS (DRL) can be indicated by ISO 7000 symbol 2611. AUTO indicates that vehicle automatically selects suitable lights. BEAM is typically indicated by ISO 7000 symbol 0083.", "datatype": "string", "description": "Status of the vehicle main light switch.", "type": "actuator"}, "Parking": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator"}}, "description": "Parking lights.", "type": "branch"}, "Running": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator"}}, "description": "Daytime running lights (DRL).", "type": "branch"}}, "description": "Exterior lights.", "type": "branch"}, "Mirrors": {"children": {"DriverSide": {"children": {"IsFolded": {"datatype": "boolean", "description": "Is mirror folded? True = Fully or partially folded. False = Fully unfolded.", "type": "actuator"}, "IsHeatingOn": {"datatype": "boolean", "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", "type": "actuator"}, "IsLocked": {"datatype": "boolean", "description": "Is mirror movement locked? True = Locked, mirror will not react to Tilt/Pan change. False = Unlocked.", "type": "actuator"}, "Pan": {"datatype": "int8", "deprecation": "v6.0 Replaced with Yaw - Note that direction changes!", "description": "Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Tilt": {"datatype": "int8", "description": "Mirror tilt as a percent. 0 = Center Position. 100 = Fully Upward Position. -100 = Fully Downward Position.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Yaw": {"comment": "A positive yaw indicates that the mirror has been adjusted to get a better view on objects on the right side of the vehicle.", "datatype": "int8", "description": "Relative mirror yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the mirror X-axis, around the vehicle Z-axis (right-hand rule). 0 = Mirror in default position. Exact position (yaw relative to vehicle X-axis) is vehicle dependent. 100 = Maximum yaw. Mirror rotated clockwise as much as possible around Z-axis. -100 = Minimum yaw. Mirror rotated counter-clockwise as much as possible around Z-axis.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}}, "description": "All mirrors.", "type": "branch"}, "PassengerSide": {"children": {"IsFolded": {"datatype": "boolean", "description": "Is mirror folded? True = Fully or partially folded. False = Fully unfolded.", "type": "actuator"}, "IsHeatingOn": {"datatype": "boolean", "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", "type": "actuator"}, "IsLocked": {"datatype": "boolean", "description": "Is mirror movement locked? True = Locked, mirror will not react to Tilt/Pan change. False = Unlocked.", "type": "actuator"}, "Pan": {"datatype": "int8", "deprecation": "v6.0 Replaced with Yaw - Note that direction changes!", "description": "Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Tilt": {"datatype": "int8", "description": "Mirror tilt as a percent. 0 = Center Position. 100 = Fully Upward Position. -100 = Fully Downward Position.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Yaw": {"comment": "A positive yaw indicates that the mirror has been adjusted to get a better view on objects on the right side of the vehicle.", "datatype": "int8", "description": "Relative mirror yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the mirror X-axis, around the vehicle Z-axis (right-hand rule). 0 = Mirror in default position. Exact position (yaw relative to vehicle X-axis) is vehicle dependent. 100 = Maximum yaw. Mirror rotated clockwise as much as possible around Z-axis. -100 = Minimum yaw. Mirror rotated counter-clockwise as much as possible around Z-axis.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}}, "description": "All mirrors.", "type": "branch"}}, "description": "All mirrors.", "type": "branch"}, "PowerOptimizeLevel": {"datatype": "uint8", "description": "Power optimization level for this branch/subsystem. A higher number indicates more aggressive power optimization. Level 0 indicates that all functionality is enabled, no power optimization enabled. Level 10 indicates most aggressive power optimization mode, only essential functionality enabled.", "max": 10, "min": 0, "type": "actuator"}, "Raindetection": {"children": {"Intensity": {"datatype": "uint8", "description": "Rain intensity. 0 = Dry, No Rain. 100 = Covered.", "max": 100, "type": "sensor", "unit": "percent"}}, "description": "Rain sensor signals.", "type": "branch"}, "RearMainSpoilerPosition": {"datatype": "float", "description": "Rear spoiler position, 0% = Spoiler fully stowed. 100% = Spoiler fully exposed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Trunk": {"children": {"Front": {"children": {"IsLightOn": {"comment": "V4.0 Moved from Vehicle.Cabin.Lights.IsTrunkOn because Trunk is not defined as part of the Cabin.", "datatype": "boolean", "description": "Is trunk light on", "type": "actuator"}, "IsLocked": {"datatype": "boolean", "description": "Is item locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator"}, "IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "comment": "A trunk is a luggage compartment in a vehicle. Depending on vehicle, it can be either in the front or back of the vehicle. Some vehicles may have trunks both at the front and at the rear of the vehicle.", "description": "Trunk status. Start position for Trunk is Closed.", "type": "branch"}, "Rear": {"children": {"IsLightOn": {"comment": "V4.0 Moved from Vehicle.Cabin.Lights.IsTrunkOn because Trunk is not defined as part of the Cabin.", "datatype": "boolean", "description": "Is trunk light on", "type": "actuator"}, "IsLocked": {"datatype": "boolean", "description": "Is item locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator"}, "IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "comment": "A trunk is a luggage compartment in a vehicle. Depending on vehicle, it can be either in the front or back of the vehicle. Some vehicles may have trunks both at the front and at the rear of the vehicle.", "description": "Trunk status. Start position for Trunk is Closed.", "type": "branch"}}, "comment": "A trunk is a luggage compartment in a vehicle. Depending on vehicle, it can be either in the front or back of the vehicle. Some vehicles may have trunks both at the front and at the rear of the vehicle.", "description": "Trunk status. Start position for Trunk is Closed.", "type": "branch"}, "Windshield": {"children": {"Front": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Windshield heater status. False - off, True - on.", "type": "actuator"}, "WasherFluid": {"children": {"IsLevelLow": {"datatype": "boolean", "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", "type": "sensor"}, "Level": {"datatype": "uint8", "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent"}}, "description": "Windshield washer fluid signals", "type": "branch"}, "Wiping": {"children": {"Intensity": {"datatype": "uint8", "description": "Relative intensity/sensitivity for interval and rain sensor mode as requested by user/driver. Has no significance if Windshield.Wiping.Mode is OFF/SLOW/MEDIUM/FAST 0 - wipers inactive. 1 - minimum intensity (lowest frequency/sensitivity, longest interval). 2/3/4/... - higher intensity (higher frequency/sensitivity, shorter interval). Maximum value supported is vehicle specific.", "type": "actuator"}, "IsWipersWorn": {"datatype": "boolean", "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", "type": "sensor"}, "Mode": {"allowed": ["OFF", "SLOW", "MEDIUM", "FAST", "INTERVAL", "RAIN_SENSOR"], "datatype": "string", "description": "Wiper mode requested by user/driver. INTERVAL indicates intermittent wiping, with fixed time interval between each wipe. RAIN_SENSOR indicates intermittent wiping based on rain intensity.", "type": "actuator"}, "System": {"children": {"ActualPosition": {"comment": "Default parking position might be used as reference position.", "datatype": "float", "description": "Actual position of main wiper blade for the wiper system relative to reference position. Location of reference position (0 degrees) and direction of positive/negative degrees is vehicle specific.", "type": "actuator", "unit": "degrees"}, "DriveCurrent": {"comment": "May be negative in special situations.", "datatype": "float", "description": "Actual current used by wiper drive.", "type": "sensor", "unit": "A"}, "Frequency": {"comment": "Examples - 0 = Wipers stopped, 80 = Wipers doing 80 cycles per minute (in WIPE mode).", "datatype": "uint8", "description": "Wiping frequency/speed, measured in cycles per minute. The signal concerns the actual speed of the wiper blades when moving. Intervals/pauses are excluded, i.e. the value corresponds to the number of cycles that would be completed in 1 minute if wiping permanently over default range.", "type": "actuator", "unit": "cpm"}, "IsBlocked": {"datatype": "boolean", "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", "type": "sensor"}, "IsEndingWipeCycle": {"comment": "In continuous wiping between A and B this sensor can be used a trigger to update TargetPosition.", "datatype": "boolean", "description": "Indicates if current wipe movement is completed or near completion. True = Movement is completed or near completion. Changes to RequestedPosition will be executed first after reaching previous RequestedPosition, if it has not already been reached. False = Movement is not near completion. Any change to RequestedPosition will be executed immediately. Change of direction may not be allowed.", "type": "sensor"}, "IsOverheated": {"datatype": "boolean", "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", "type": "sensor"}, "IsPositionReached": {"datatype": "boolean", "description": "Indicates if a requested position has been reached. IsPositionReached refers to the previous position in case the TargetPosition is updated while IsEndingWipeCycle=True. True = Current or Previous TargetPosition reached. False = Position not (yet) reached, or wipers have moved away from the reached position.", "type": "sensor"}, "IsWiperError": {"datatype": "boolean", "description": "Indicates system failure. True if wiping is disabled due to system failure.", "type": "sensor"}, "IsWiping": {"datatype": "boolean", "description": "Indicates wiper movement. True if wiper blades are moving. Change of direction shall be considered as IsWiping if wipers will continue to move directly after the change of direction.", "type": "sensor"}, "Mode": {"allowed": ["STOP_HOLD", "WIPE", "PLANT_MODE", "EMERGENCY_STOP"], "datatype": "string", "description": "Requested mode of wiper system. STOP_HOLD means that the wipers shall move to position given by TargetPosition and then hold the position. WIPE means that wipers shall move to the position given by TargetPosition and then hold the position if no new TargetPosition is requested. PLANT_MODE means that wiping is disabled. Exact behavior is vehicle specific. EMERGENCY_STOP means that wiping shall be immediately stopped without holding the position.", "type": "actuator"}, "TargetPosition": {"comment": "Default parking position might be used as reference position.", "datatype": "float", "description": "Requested position of main wiper blade for the wiper system relative to reference position. Location of reference position (0 degrees) and direction of positive/negative degrees is vehicle specific. System behavior when receiving TargetPosition depends on Mode and IsEndingWipeCycle. Supported values are vehicle specific and might be dynamically corrected. If IsEndingWipeCycle=True then wipers will complete current movement before actuating new TargetPosition. If IsEndingWipeCycle=False then wipers will directly change destination if the TargetPosition is changed.", "type": "actuator", "unit": "degrees"}}, "comment": "These signals are typically not directly available to the user/driver of the vehicle. The overlay in overlays/extensions/dual_wiper_systems.vspec can be used to modify this branch to support two instances; Primary and Secondary.", "description": "Signals to control behavior of wipers in detail. By default VSS expects only one instance.", "type": "branch"}, "WiperWear": {"datatype": "uint8", "description": "Wiper wear as percent. 0 = No Wear. 100 = Worn. Replacement required. Method for calculating or estimating wiper wear is vehicle specific. For windshields with multiple wipers the wear reported shall correspond to the most worn wiper.", "max": 100, "type": "sensor", "unit": "percent"}}, "description": "Windshield wiper signals.", "type": "branch"}}, "description": "Windshield signals.", "type": "branch"}, "Rear": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Windshield heater status. False - off, True - on.", "type": "actuator"}, "WasherFluid": {"children": {"IsLevelLow": {"datatype": "boolean", "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", "type": "sensor"}, "Level": {"datatype": "uint8", "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent"}}, "description": "Windshield washer fluid signals", "type": "branch"}, "Wiping": {"children": {"Intensity": {"datatype": "uint8", "description": "Relative intensity/sensitivity for interval and rain sensor mode as requested by user/driver. Has no significance if Windshield.Wiping.Mode is OFF/SLOW/MEDIUM/FAST 0 - wipers inactive. 1 - minimum intensity (lowest frequency/sensitivity, longest interval). 2/3/4/... - higher intensity (higher frequency/sensitivity, shorter interval). Maximum value supported is vehicle specific.", "type": "actuator"}, "IsWipersWorn": {"datatype": "boolean", "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", "type": "sensor"}, "Mode": {"allowed": ["OFF", "SLOW", "MEDIUM", "FAST", "INTERVAL", "RAIN_SENSOR"], "datatype": "string", "description": "Wiper mode requested by user/driver. INTERVAL indicates intermittent wiping, with fixed time interval between each wipe. RAIN_SENSOR indicates intermittent wiping based on rain intensity.", "type": "actuator"}, "System": {"children": {"ActualPosition": {"comment": "Default parking position might be used as reference position.", "datatype": "float", "description": "Actual position of main wiper blade for the wiper system relative to reference position. Location of reference position (0 degrees) and direction of positive/negative degrees is vehicle specific.", "type": "actuator", "unit": "degrees"}, "DriveCurrent": {"comment": "May be negative in special situations.", "datatype": "float", "description": "Actual current used by wiper drive.", "type": "sensor", "unit": "A"}, "Frequency": {"comment": "Examples - 0 = Wipers stopped, 80 = Wipers doing 80 cycles per minute (in WIPE mode).", "datatype": "uint8", "description": "Wiping frequency/speed, measured in cycles per minute. The signal concerns the actual speed of the wiper blades when moving. Intervals/pauses are excluded, i.e. the value corresponds to the number of cycles that would be completed in 1 minute if wiping permanently over default range.", "type": "actuator", "unit": "cpm"}, "IsBlocked": {"datatype": "boolean", "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", "type": "sensor"}, "IsEndingWipeCycle": {"comment": "In continuous wiping between A and B this sensor can be used a trigger to update TargetPosition.", "datatype": "boolean", "description": "Indicates if current wipe movement is completed or near completion. True = Movement is completed or near completion. Changes to RequestedPosition will be executed first after reaching previous RequestedPosition, if it has not already been reached. False = Movement is not near completion. Any change to RequestedPosition will be executed immediately. Change of direction may not be allowed.", "type": "sensor"}, "IsOverheated": {"datatype": "boolean", "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", "type": "sensor"}, "IsPositionReached": {"datatype": "boolean", "description": "Indicates if a requested position has been reached. IsPositionReached refers to the previous position in case the TargetPosition is updated while IsEndingWipeCycle=True. True = Current or Previous TargetPosition reached. False = Position not (yet) reached, or wipers have moved away from the reached position.", "type": "sensor"}, "IsWiperError": {"datatype": "boolean", "description": "Indicates system failure. True if wiping is disabled due to system failure.", "type": "sensor"}, "IsWiping": {"datatype": "boolean", "description": "Indicates wiper movement. True if wiper blades are moving. Change of direction shall be considered as IsWiping if wipers will continue to move directly after the change of direction.", "type": "sensor"}, "Mode": {"allowed": ["STOP_HOLD", "WIPE", "PLANT_MODE", "EMERGENCY_STOP"], "datatype": "string", "description": "Requested mode of wiper system. STOP_HOLD means that the wipers shall move to position given by TargetPosition and then hold the position. WIPE means that wipers shall move to the position given by TargetPosition and then hold the position if no new TargetPosition is requested. PLANT_MODE means that wiping is disabled. Exact behavior is vehicle specific. EMERGENCY_STOP means that wiping shall be immediately stopped without holding the position.", "type": "actuator"}, "TargetPosition": {"comment": "Default parking position might be used as reference position.", "datatype": "float", "description": "Requested position of main wiper blade for the wiper system relative to reference position. Location of reference position (0 degrees) and direction of positive/negative degrees is vehicle specific. System behavior when receiving TargetPosition depends on Mode and IsEndingWipeCycle. Supported values are vehicle specific and might be dynamically corrected. If IsEndingWipeCycle=True then wipers will complete current movement before actuating new TargetPosition. If IsEndingWipeCycle=False then wipers will directly change destination if the TargetPosition is changed.", "type": "actuator", "unit": "degrees"}}, "comment": "These signals are typically not directly available to the user/driver of the vehicle. The overlay in overlays/extensions/dual_wiper_systems.vspec can be used to modify this branch to support two instances; Primary and Secondary.", "description": "Signals to control behavior of wipers in detail. By default VSS expects only one instance.", "type": "branch"}, "WiperWear": {"datatype": "uint8", "description": "Wiper wear as percent. 0 = No Wear. 100 = Worn. Replacement required. Method for calculating or estimating wiper wear is vehicle specific. For windshields with multiple wipers the wear reported shall correspond to the most worn wiper.", "max": 100, "type": "sensor", "unit": "percent"}}, "description": "Windshield wiper signals.", "type": "branch"}}, "description": "Windshield signals.", "type": "branch"}}, "description": "Windshield signals.", "type": "branch"}}, "description": "All body components.", "type": "branch"}, "Cabin": {"children": {"Convertible": {"children": {"Status": {"allowed": ["UNDEFINED", "CLOSED", "OPEN", "CLOSING", "OPENING", "STALLED"], "datatype": "string", "description": "Roof status on convertible vehicles.", "type": "sensor"}}, "description": "Convertible roof.", "type": "branch"}, "Door": {"children": {"Row1": {"children": {"DriverSide": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock active. True = Door cannot be opened from inside. False = Door can be opened from inside.", "type": "sensor"}, "IsLocked": {"datatype": "boolean", "description": "Is item locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator"}, "IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Shade": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "description": "Side window shade. Open = Retracted, Closed = Deployed. Start position for Shade is Open/Retracted.", "type": "branch"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}, "Window": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "description": "Door window status. Start position for Window is Closed.", "type": "branch"}}, "description": "All doors, including windows and switches.", "type": "branch"}, "PassengerSide": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock active. True = Door cannot be opened from inside. False = Door can be opened from inside.", "type": "sensor"}, "IsLocked": {"datatype": "boolean", "description": "Is item locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator"}, "IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Shade": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "description": "Side window shade. Open = Retracted, Closed = Deployed. Start position for Shade is Open/Retracted.", "type": "branch"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}, "Window": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "description": "Door window status. Start position for Window is Closed.", "type": "branch"}}, "description": "All doors, including windows and switches.", "type": "branch"}}, "description": "All doors, including windows and switches.", "type": "branch"}, "Row2": {"children": {"DriverSide": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock active. True = Door cannot be opened from inside. False = Door can be opened from inside.", "type": "sensor"}, "IsLocked": {"datatype": "boolean", "description": "Is item locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator"}, "IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Shade": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "description": "Side window shade. Open = Retracted, Closed = Deployed. Start position for Shade is Open/Retracted.", "type": "branch"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}, "Window": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "description": "Door window status. Start position for Window is Closed.", "type": "branch"}}, "description": "All doors, including windows and switches.", "type": "branch"}, "PassengerSide": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock active. True = Door cannot be opened from inside. False = Door can be opened from inside.", "type": "sensor"}, "IsLocked": {"datatype": "boolean", "description": "Is item locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator"}, "IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Shade": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "description": "Side window shade. Open = Retracted, Closed = Deployed. Start position for Shade is Open/Retracted.", "type": "branch"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}, "Window": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "description": "Door window status. Start position for Window is Closed.", "type": "branch"}}, "description": "All doors, including windows and switches.", "type": "branch"}}, "description": "All doors, including windows and switches.", "type": "branch"}}, "description": "All doors, including windows and switches.", "type": "branch"}, "DoorCount": {"datatype": "uint8", "default": 4, "description": "Number of doors in vehicle.", "type": "attribute"}, "DriverPosition": {"allowed": ["LEFT", "MIDDLE", "RIGHT"], "comment": "Some signals use DriverSide and PassengerSide as instances. If this signal specifies that DriverPosition is LEFT or MIDDLE, then DriverSide refers to left side and PassengerSide to right side. If this signal specifies that DriverPosition is RIGHT, then DriverSide refers to right side and PassengerSide to left side.", "datatype": "string", "description": "The position of the driver seat in row 1.", "type": "attribute"}, "HVAC": {"children": {"AmbientAirTemperature": {"datatype": "float", "description": "Ambient air temperature inside the vehicle.", "type": "sensor", "unit": "Celsius"}, "IsAirConditioningActive": {"datatype": "boolean", "description": "Is Air conditioning active.", "type": "actuator"}, "IsAutoPowerOptimize": {"datatype": "boolean", "description": "Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed.", "type": "actuator"}, "IsFrontDefrosterActive": {"datatype": "boolean", "description": "Is front defroster active.", "type": "actuator"}, "IsRearDefrosterActive": {"datatype": "boolean", "description": "Is rear defroster active.", "type": "actuator"}, "IsRecirculationActive": {"datatype": "boolean", "description": "Is recirculation active.", "type": "actuator"}, "PowerOptimizeLevel": {"datatype": "uint8", "description": "Power optimization level for this branch/subsystem. A higher number indicates more aggressive power optimization. Level 0 indicates that all functionality is enabled, no power optimization enabled. Level 10 indicates most aggressive power optimization mode, only essential functionality enabled.", "max": 10, "min": 0, "type": "actuator"}, "Station": {"children": {"Row1": {"children": {"Driver": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Temperature": {"datatype": "float", "description": "Temperature", "type": "actuator", "unit": "Celsius"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}, "Passenger": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Temperature": {"datatype": "float", "description": "Temperature", "type": "actuator", "unit": "Celsius"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}, "Row2": {"children": {"Driver": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Temperature": {"datatype": "float", "description": "Temperature", "type": "actuator", "unit": "Celsius"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}, "Passenger": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Temperature": {"datatype": "float", "description": "Temperature", "type": "actuator", "unit": "Celsius"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}, "Row3": {"children": {"Driver": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Temperature": {"datatype": "float", "description": "Temperature", "type": "actuator", "unit": "Celsius"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}, "Passenger": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Temperature": {"datatype": "float", "description": "Temperature", "type": "actuator", "unit": "Celsius"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}, "Row4": {"children": {"Driver": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Temperature": {"datatype": "float", "description": "Temperature", "type": "actuator", "unit": "Celsius"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}, "Passenger": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Temperature": {"datatype": "float", "description": "Temperature", "type": "actuator", "unit": "Celsius"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}}, "description": "HVAC for single station in the vehicle", "type": "branch"}}, "description": "Climate control", "type": "branch"}, "Infotainment": {"children": {"HMI": {"children": {"Brightness": {"comment": "The value 0 does not necessarily correspond to a turned off HMI, as it may not be allowed/supported to turn off the HMI completely.", "datatype": "float", "description": "Brightness of the HMI, relative to supported range. 0 = Lowest brightness possible. 100 = Maximum Brightness possible.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "CurrentLanguage": {"datatype": "string", "description": "ISO 639-1 standard language code for the current HMI", "type": "sensor"}, "DateFormat": {"allowed": ["YYYY_MM_DD", "DD_MM_YYYY", "MM_DD_YYYY", "YY_MM_DD", "DD_MM_YY", "MM_DD_YY"], "datatype": "string", "description": "Date format used in the current HMI", "type": "actuator"}, "DayNightMode": {"allowed": ["DAY", "NIGHT"], "datatype": "string", "description": "Current display theme", "type": "actuator"}, "DisplayOffDuration": {"comment": "Display shall be turned off at HMI.LastActionTime + HMI.DisplayOffDuration, unless HMI.IsScreenAlwaysOn==True.", "datatype": "uint16", "description": "Duration in seconds before the display is turned off. Value shall be 0 if screen never shall turn off.", "type": "actuator", "unit": "s"}, "DistanceUnit": {"allowed": ["MILES", "KILOMETERS"], "datatype": "string", "description": "Distance unit used in the current HMI", "type": "actuator"}, "EVEconomyUnits": {"allowed": ["MILES_PER_KILOWATT_HOUR", "KILOMETERS_PER_KILOWATT_HOUR", "KILOWATT_HOURS_PER_100_MILES", "KILOWATT_HOURS_PER_100_KILOMETERS", "WATT_HOURS_PER_MILE", "WATT_HOURS_PER_KILOMETER"], "datatype": "string", "description": "EV fuel economy unit used in the current HMI", "type": "actuator"}, "EVEnergyUnits": {"allowed": ["WATT_HOURS", "AMPERE_HOURS", "KILOWATT_HOURS"], "comment": "Ampere hours is by definition not an energy unit, but can be used as a measurement of energy if the voltage, like nominal voltage of the battery, is known.", "datatype": "string", "description": "EV energy unit used in the current HMI", "type": "actuator"}, "FontSize": {"allowed": ["STANDARD", "LARGE", "EXTRA_LARGE"], "datatype": "string", "description": "Font size used in the current HMI", "type": "actuator"}, "FuelEconomyUnits": {"allowed": ["MPG_UK", "MPG_US", "MILES_PER_LITER", "KILOMETERS_PER_LITER", "LITERS_PER_100_KILOMETERS"], "datatype": "string", "description": "Fuel economy unit used in the current HMI", "type": "actuator"}, "FuelVolumeUnit": {"allowed": ["LITER", "GALLON_US", "GALLON_UK"], "datatype": "string", "description": "Fuel volume unit used in the current HMI", "type": "actuator"}, "IsScreenAlwaysOn": {"datatype": "boolean", "description": "Used to prevent the screen going black if no action placed.", "type": "actuator"}, "LastActionTime": {"datatype": "string", "description": "Time for last hmi action, formatted according to ISO 8601 with UTC time zone.", "type": "sensor", "unit": "iso8601"}, "SpeedUnit": {"allowed": ["METERS_PER_SECOND", "MILES_PER_HOUR", "KILOMETERS_PER_HOUR"], "datatype": "string", "description": "Speed unit used in the current HMI", "type": "actuator"}, "TemperatureUnit": {"allowed": ["C", "F"], "datatype": "string", "description": "Temperature unit used in the current HMI", "type": "actuator"}, "TimeFormat": {"allowed": ["HR_12", "HR_24"], "datatype": "string", "description": "Time format used in the current HMI", "type": "actuator"}, "TirePressureUnit": {"allowed": ["PSI", "KPA", "BAR"], "datatype": "string", "description": "Tire pressure unit used in the current HMI", "type": "actuator"}}, "description": "HMI related signals", "type": "branch"}, "IsAutoPowerOptimize": {"datatype": "boolean", "description": "Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed.", "type": "actuator"}, "Media": {"children": {"Action": {"allowed": ["UNKNOWN", "STOP", "PLAY", "FAST_FORWARD", "FAST_BACKWARD", "SKIP_FORWARD", "SKIP_BACKWARD"], "datatype": "string", "description": "Tells if the media was", "type": "actuator"}, "DeclinedURI": {"datatype": "string", "description": "URI of suggested media that was declined", "type": "sensor"}, "Played": {"children": {"Album": {"datatype": "string", "description": "Name of album being played", "type": "sensor"}, "Artist": {"datatype": "string", "description": "Name of artist being played", "type": "sensor"}, "Genre": {"datatype": "string", "description": "Name of genre being played", "type": "sensor"}, "PlaybackRate": {"comment": "The normal playback rate is multiplied by this value to obtain the current rate, so a value of 1.0 indicates normal speed. Values of lower than 1.0 make the media play slower than normal. Values of higher than 1.0 make the media play faster than normal.", "datatype": "float", "description": "Current playback rate of media being played.", "type": "actuator"}, "Source": {"allowed": ["UNKNOWN", "SIRIUS_XM", "AM", "FM", "DAB", "TV", "CD", "DVD", "AUX", "USB", "DISK", "BLUETOOTH", "INTERNET", "VOICE", "BEEP"], "datatype": "string", "description": "Media selected for playback", "type": "actuator"}, "Track": {"datatype": "string", "description": "Name of track being played", "type": "sensor"}, "URI": {"datatype": "string", "description": "User Resource associated with the media", "type": "sensor"}}, "description": "Collection of signals updated in concert when a new media is played", "type": "branch"}, "SelectedURI": {"datatype": "string", "description": "URI of suggested media that was selected", "type": "actuator"}, "Volume": {"datatype": "uint8", "description": "Current Media Volume", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "All Media actions", "type": "branch"}, "Navigation": {"children": {"DestinationSet": {"children": {"Latitude": {"datatype": "double", "description": "Latitude of destination in WGS 84 geodetic coordinates.", "max": 90, "min": -90, "type": "actuator", "unit": "degrees"}, "Longitude": {"datatype": "double", "description": "Longitude of destination in WGS 84 geodetic coordinates.", "max": 180, "min": -180, "type": "actuator", "unit": "degrees"}}, "description": "A navigation has been selected.", "type": "branch"}, "GuidanceVoice": {"allowed": ["STANDARD_MALE", "STANDARD_FEMALE", "ETC"], "comment": "ETC indicates a voice alternative not covered by the explicitly listed alternatives.", "datatype": "string", "description": "Navigation guidance state that was selected.", "type": "actuator"}, "Map": {"children": {"IsAutoScaleModeUsed": {"comment": "If true, then auto-scaling mode is used. If false, then manual-scaling mode is used.", "datatype": "boolean", "description": "Used to select auto-scaling mode. This feature dynamically adjusts the zoom level of the map to provide an optimal view based on the current speed of the vehicle", "type": "actuator"}}, "description": "All map actions", "type": "branch"}, "Mute": {"allowed": ["MUTED", "ALERT_ONLY", "UNMUTED"], "datatype": "string", "description": "Navigation mute state that was selected.", "type": "actuator"}, "Volume": {"datatype": "uint8", "description": "Current navigation volume", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "All navigation actions", "type": "branch"}, "PowerOptimizeLevel": {"datatype": "uint8", "description": "Power optimization level for this branch/subsystem. A higher number indicates more aggressive power optimization. Level 0 indicates that all functionality is enabled, no power optimization enabled. Level 10 indicates most aggressive power optimization mode, only essential functionality enabled.", "max": 10, "min": 0, "type": "actuator"}, "SmartphoneProjection": {"children": {"Active": {"allowed": ["NONE", "ACTIVE", "INACTIVE"], "comment": "NONE indicates that projection is not supported.", "datatype": "string", "description": "Projection activation info.", "type": "actuator"}, "Source": {"allowed": ["USB", "BLUETOOTH", "WIFI"], "comment": "Smartphone projection exposes or controls specific applications on the Smartphone on the vehicle infotainment system.", "datatype": "string", "description": "Connectivity source selected for projection.", "type": "actuator"}, "SupportedMode": {"allowed": ["ANDROID_AUTO", "APPLE_CARPLAY", "MIRROR_LINK", "OTHER"], "datatype": "string[]", "description": "Supportable list for projection.", "type": "attribute"}}, "comment": "Smartphone projection exposes or controls specific applications on the Smartphone on the vehicle infotainment system.", "description": "All smartphone projection actions.", "type": "branch"}, "SmartphoneScreenMirroring": {"children": {"Active": {"allowed": ["NONE", "ACTIVE", "INACTIVE"], "comment": "NONE indicates that mirroring is not supported.", "datatype": "string", "description": "Mirroring activation info.", "type": "actuator"}, "Source": {"allowed": ["USB", "BLUETOOTH", "WIFI"], "datatype": "string", "description": "Connectivity source selected for mirroring.", "type": "actuator"}}, "comment": "Smartphone screen mirroring mirrors the whole screen of the Smartphone on the vehicle infotainment system.", "description": "All smartphone screen mirroring actions.", "type": "branch"}}, "description": "Infotainment system.", "type": "branch"}, "IsAutoPowerOptimize": {"datatype": "boolean", "description": "Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed.", "type": "actuator"}, "IsWindowChildLockEngaged": {"comment": "Window child lock refers to the functionality to disable the move window button next to most windows, so that they only can be operated by the driver.", "datatype": "boolean", "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", "type": "actuator"}, "Light": {"children": {"AmbientLight": {"children": {"Row1": {"children": {"DriverSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch"}, "PassengerSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch"}, "Row2": {"children": {"DriverSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch"}, "PassengerSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch"}, "InteractiveLightBar": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Effect": {"comment": "Default and allowed values are OEM-specific and should be defined accordingly (e.g. with the use of overlays).", "datatype": "string", "description": "Light effect selection from a predefined set of allowed values.", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Decorative coloured light bar that supports effects, usually mounted on the dashboard (e.g. BMW i7 Interactive bar).", "type": "branch"}, "IsDomeOn": {"datatype": "boolean", "description": "Is central dome light on", "type": "actuator"}, "IsGloveBoxOn": {"datatype": "boolean", "description": "Is glove box light on", "type": "actuator"}, "PerceivedAmbientLight": {"comment": "V4.0 named changed from \"AmbientLight\" to \"PerceivedAmbientLight\". This is a read-only property that refers to the pre-existing light (e.g., natural light). If you are looking for the in-cabin decorative lights that sometimes are also called \"AmbientLights\", please refer to the branch Vehicle.Cabin.Light.AmbientLight.", "datatype": "uint8", "description": "The percentage of ambient light that is measured (e.g., by a sensor) inside the cabin. 0 = No ambient light. 100 = Full brightness.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "Spotlight": {"children": {"Row1": {"children": {"DriverSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}, "PassengerSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}, "Row2": {"children": {"DriverSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}, "PassengerSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}, "Row3": {"children": {"DriverSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}, "PassengerSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}, "Row4": {"children": {"DriverSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}, "PassengerSide": {"children": {"Color": {"comment": "For example; \"#C0C0C0\" = Silver, \"#FFD700\" = Gold, \"#000000\" = Black, \"#FFFFFF\" = White, etc.", "datatype": "string", "description": "Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol \"#\". Allowed range \"#000000\" to \"#FFFFFF\".", "type": "actuator"}, "Intensity": {"comment": "Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec.", "datatype": "uint8", "description": "How much of the maximum possible brightness of the light is used. 1 = Maximum attenuation, 100 = No attenuation (i.e. full brightness).", "max": 100, "min": 1, "type": "actuator", "unit": "percent"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch"}}, "comment": "V4.0 branch renamed from \"Lights\" to \"Light\" to comply with singular naming of entities. Use SingleConfigurableLight.vspec to describe interior lights that can be configured.", "description": "Light that is part of the Cabin.", "type": "branch"}, "PowerOptimizeLevel": {"datatype": "uint8", "description": "Power optimization level for this branch/subsystem. A higher number indicates more aggressive power optimization. Level 0 indicates that all functionality is enabled, no power optimization enabled. Level 10 indicates most aggressive power optimization mode, only essential functionality enabled.", "max": 10, "min": 0, "type": "actuator"}, "RearShade": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "description": "Rear window shade. Open = Retracted, Closed = Deployed. Start position for RearShade is Open/Retracted.", "type": "branch"}, "RearviewMirror": {"children": {"DimmingLevel": {"datatype": "uint8", "description": "Dimming level of rear-view mirror. 0 = Undimmed. 100 = Fully dimmed.", "max": 100, "type": "actuator", "unit": "percent"}}, "description": "Rear-view mirror.", "type": "branch"}, "Seat": {"children": {"Row1": {"children": {"DriverSide": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor"}, "IsEnabled": {"datatype": "boolean", "description": "Airbag enabled status. True = Airbag enabled. False = Airbag not enabled.", "type": "sensor"}}, "description": "Airbag signals.", "type": "branch"}, "Backrest": {"children": {"BottomLumbarSupport": {"datatype": "float", "description": "Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsLessLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for less lumbar support engaged.", "type": "actuator"}, "IsLessSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for less side bolster support engaged.", "type": "actuator"}, "IsLumbarDownSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar down switch engaged.", "type": "actuator"}, "IsLumbarUpSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar up switch engaged.", "type": "actuator"}, "IsMoreLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for more lumbar support engaged.", "type": "actuator"}, "IsMoreSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for more side bolster support engaged.", "type": "actuator"}, "IsReclineBackwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline backward switch engaged.", "type": "actuator"}, "IsReclineForwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline forward switch engaged.", "type": "actuator"}, "LumbarHeight": {"datatype": "uint8", "description": "Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "LumbarSupport": {"comment": "A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals.", "datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "MidLumbarSupport": {"datatype": "float", "description": "Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Recline": {"comment": "Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline.", "datatype": "float", "description": "Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline.", "type": "actuator", "unit": "degrees"}, "SideBolsterSupport": {"datatype": "float", "description": "Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "TopLumbarSupport": {"datatype": "float", "description": "Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "UpperShoulderSupport": {"datatype": "float", "description": "Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch"}, "Headrest": {"children": {"Angle": {"datatype": "float", "description": "Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.", "type": "actuator", "unit": "degrees"}, "Height": {"datatype": "uint8", "description": "Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest backward switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest up switch engaged.", "type": "actuator"}}, "description": "Headrest settings.", "type": "branch"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Height": {"datatype": "uint16", "description": "Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat backward switch engaged.", "type": "actuator"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor"}, "IsCoolerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Cooler switch for Seat heater.", "type": "actuator"}, "IsDecreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Decrease massage level switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat forward switch engaged.", "type": "actuator"}, "IsIncreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Increase massage level switch engaged.", "type": "actuator"}, "IsTiltBackwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt backward switch engaged.", "type": "actuator"}, "IsTiltForwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat up switch engaged.", "type": "actuator"}, "IsWarmerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Warmer switch for Seat heater.", "type": "actuator"}, "Massage": {"children": {"IsAvailable": {"datatype": "boolean", "description": "True if the seat have the massage capability", "type": "attribute"}, "Level": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Status": {"allowed": ["ON", "OFF"], "datatype": "string", "description": "Massage status.", "type": "sensor"}, "SupportedTypes": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string[]", "description": "Type of massage.", "type": "attribute"}, "TypeActive": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string", "description": "Type of massage active.", "type": "actuator"}}, "description": "Massage related information for the seat.", "type": "branch"}, "NeckScarf": {"children": {"FanSpeed": {"datatype": "uint8", "description": "Speed of the fan.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}}, "description": "NeckScarf settings.", "type": "branch"}, "OccupancyStatus": {"allowed": ["UNKNOWN", "OCCUPIED", "EMPTY"], "datatype": "string", "description": "Occupancy status of the seat.", "type": "sensor"}, "Position": {"datatype": "uint16", "description": "Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "SeatBeltHeight": {"datatype": "uint16", "description": "Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported.", "type": "actuator", "unit": "mm"}, "Seating": {"children": {"HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Seating.Length).", "datatype": "boolean", "description": "Is switch to decrease seating length engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged.", "type": "actuator"}, "Length": {"datatype": "uint16", "description": "Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating).", "min": 0, "type": "actuator", "unit": "mm"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "comment": "Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch.", "description": "Describes signals related to the seat bottom of the seat.", "type": "branch"}, "Tilt": {"comment": "In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt.", "datatype": "float", "description": "Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees"}}, "description": "All seats.", "type": "branch"}, "Middle": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor"}, "IsEnabled": {"datatype": "boolean", "description": "Airbag enabled status. True = Airbag enabled. False = Airbag not enabled.", "type": "sensor"}}, "description": "Airbag signals.", "type": "branch"}, "Backrest": {"children": {"BottomLumbarSupport": {"datatype": "float", "description": "Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsLessLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for less lumbar support engaged.", "type": "actuator"}, "IsLessSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for less side bolster support engaged.", "type": "actuator"}, "IsLumbarDownSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar down switch engaged.", "type": "actuator"}, "IsLumbarUpSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar up switch engaged.", "type": "actuator"}, "IsMoreLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for more lumbar support engaged.", "type": "actuator"}, "IsMoreSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for more side bolster support engaged.", "type": "actuator"}, "IsReclineBackwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline backward switch engaged.", "type": "actuator"}, "IsReclineForwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline forward switch engaged.", "type": "actuator"}, "LumbarHeight": {"datatype": "uint8", "description": "Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "LumbarSupport": {"comment": "A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals.", "datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "MidLumbarSupport": {"datatype": "float", "description": "Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Recline": {"comment": "Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline.", "datatype": "float", "description": "Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline.", "type": "actuator", "unit": "degrees"}, "SideBolsterSupport": {"datatype": "float", "description": "Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "TopLumbarSupport": {"datatype": "float", "description": "Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "UpperShoulderSupport": {"datatype": "float", "description": "Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch"}, "Headrest": {"children": {"Angle": {"datatype": "float", "description": "Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.", "type": "actuator", "unit": "degrees"}, "Height": {"datatype": "uint8", "description": "Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest backward switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest up switch engaged.", "type": "actuator"}}, "description": "Headrest settings.", "type": "branch"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Height": {"datatype": "uint16", "description": "Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat backward switch engaged.", "type": "actuator"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor"}, "IsCoolerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Cooler switch for Seat heater.", "type": "actuator"}, "IsDecreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Decrease massage level switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat forward switch engaged.", "type": "actuator"}, "IsIncreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Increase massage level switch engaged.", "type": "actuator"}, "IsTiltBackwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt backward switch engaged.", "type": "actuator"}, "IsTiltForwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat up switch engaged.", "type": "actuator"}, "IsWarmerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Warmer switch for Seat heater.", "type": "actuator"}, "Massage": {"children": {"IsAvailable": {"datatype": "boolean", "description": "True if the seat have the massage capability", "type": "attribute"}, "Level": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Status": {"allowed": ["ON", "OFF"], "datatype": "string", "description": "Massage status.", "type": "sensor"}, "SupportedTypes": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string[]", "description": "Type of massage.", "type": "attribute"}, "TypeActive": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string", "description": "Type of massage active.", "type": "actuator"}}, "description": "Massage related information for the seat.", "type": "branch"}, "NeckScarf": {"children": {"FanSpeed": {"datatype": "uint8", "description": "Speed of the fan.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}}, "description": "NeckScarf settings.", "type": "branch"}, "OccupancyStatus": {"allowed": ["UNKNOWN", "OCCUPIED", "EMPTY"], "datatype": "string", "description": "Occupancy status of the seat.", "type": "sensor"}, "Position": {"datatype": "uint16", "description": "Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "SeatBeltHeight": {"datatype": "uint16", "description": "Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported.", "type": "actuator", "unit": "mm"}, "Seating": {"children": {"HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Seating.Length).", "datatype": "boolean", "description": "Is switch to decrease seating length engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged.", "type": "actuator"}, "Length": {"datatype": "uint16", "description": "Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating).", "min": 0, "type": "actuator", "unit": "mm"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "comment": "Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch.", "description": "Describes signals related to the seat bottom of the seat.", "type": "branch"}, "Tilt": {"comment": "In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt.", "datatype": "float", "description": "Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees"}}, "description": "All seats.", "type": "branch"}, "PassengerSide": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor"}, "IsEnabled": {"datatype": "boolean", "description": "Airbag enabled status. True = Airbag enabled. False = Airbag not enabled.", "type": "sensor"}}, "description": "Airbag signals.", "type": "branch"}, "Backrest": {"children": {"BottomLumbarSupport": {"datatype": "float", "description": "Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsLessLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for less lumbar support engaged.", "type": "actuator"}, "IsLessSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for less side bolster support engaged.", "type": "actuator"}, "IsLumbarDownSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar down switch engaged.", "type": "actuator"}, "IsLumbarUpSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar up switch engaged.", "type": "actuator"}, "IsMoreLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for more lumbar support engaged.", "type": "actuator"}, "IsMoreSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for more side bolster support engaged.", "type": "actuator"}, "IsReclineBackwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline backward switch engaged.", "type": "actuator"}, "IsReclineForwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline forward switch engaged.", "type": "actuator"}, "LumbarHeight": {"datatype": "uint8", "description": "Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "LumbarSupport": {"comment": "A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals.", "datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "MidLumbarSupport": {"datatype": "float", "description": "Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Recline": {"comment": "Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline.", "datatype": "float", "description": "Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline.", "type": "actuator", "unit": "degrees"}, "SideBolsterSupport": {"datatype": "float", "description": "Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "TopLumbarSupport": {"datatype": "float", "description": "Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "UpperShoulderSupport": {"datatype": "float", "description": "Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch"}, "Headrest": {"children": {"Angle": {"datatype": "float", "description": "Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.", "type": "actuator", "unit": "degrees"}, "Height": {"datatype": "uint8", "description": "Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest backward switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest up switch engaged.", "type": "actuator"}}, "description": "Headrest settings.", "type": "branch"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Height": {"datatype": "uint16", "description": "Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat backward switch engaged.", "type": "actuator"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor"}, "IsCoolerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Cooler switch for Seat heater.", "type": "actuator"}, "IsDecreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Decrease massage level switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat forward switch engaged.", "type": "actuator"}, "IsIncreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Increase massage level switch engaged.", "type": "actuator"}, "IsTiltBackwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt backward switch engaged.", "type": "actuator"}, "IsTiltForwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat up switch engaged.", "type": "actuator"}, "IsWarmerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Warmer switch for Seat heater.", "type": "actuator"}, "Massage": {"children": {"IsAvailable": {"datatype": "boolean", "description": "True if the seat have the massage capability", "type": "attribute"}, "Level": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Status": {"allowed": ["ON", "OFF"], "datatype": "string", "description": "Massage status.", "type": "sensor"}, "SupportedTypes": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string[]", "description": "Type of massage.", "type": "attribute"}, "TypeActive": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string", "description": "Type of massage active.", "type": "actuator"}}, "description": "Massage related information for the seat.", "type": "branch"}, "NeckScarf": {"children": {"FanSpeed": {"datatype": "uint8", "description": "Speed of the fan.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}}, "description": "NeckScarf settings.", "type": "branch"}, "OccupancyStatus": {"allowed": ["UNKNOWN", "OCCUPIED", "EMPTY"], "datatype": "string", "description": "Occupancy status of the seat.", "type": "sensor"}, "Position": {"datatype": "uint16", "description": "Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "SeatBeltHeight": {"datatype": "uint16", "description": "Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported.", "type": "actuator", "unit": "mm"}, "Seating": {"children": {"HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Seating.Length).", "datatype": "boolean", "description": "Is switch to decrease seating length engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged.", "type": "actuator"}, "Length": {"datatype": "uint16", "description": "Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating).", "min": 0, "type": "actuator", "unit": "mm"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "comment": "Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch.", "description": "Describes signals related to the seat bottom of the seat.", "type": "branch"}, "Tilt": {"comment": "In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt.", "datatype": "float", "description": "Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees"}}, "description": "All seats.", "type": "branch"}}, "description": "All seats.", "type": "branch"}, "Row2": {"children": {"DriverSide": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor"}, "IsEnabled": {"datatype": "boolean", "description": "Airbag enabled status. True = Airbag enabled. False = Airbag not enabled.", "type": "sensor"}}, "description": "Airbag signals.", "type": "branch"}, "Backrest": {"children": {"BottomLumbarSupport": {"datatype": "float", "description": "Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsLessLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for less lumbar support engaged.", "type": "actuator"}, "IsLessSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for less side bolster support engaged.", "type": "actuator"}, "IsLumbarDownSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar down switch engaged.", "type": "actuator"}, "IsLumbarUpSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar up switch engaged.", "type": "actuator"}, "IsMoreLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for more lumbar support engaged.", "type": "actuator"}, "IsMoreSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for more side bolster support engaged.", "type": "actuator"}, "IsReclineBackwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline backward switch engaged.", "type": "actuator"}, "IsReclineForwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline forward switch engaged.", "type": "actuator"}, "LumbarHeight": {"datatype": "uint8", "description": "Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "LumbarSupport": {"comment": "A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals.", "datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "MidLumbarSupport": {"datatype": "float", "description": "Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Recline": {"comment": "Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline.", "datatype": "float", "description": "Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline.", "type": "actuator", "unit": "degrees"}, "SideBolsterSupport": {"datatype": "float", "description": "Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "TopLumbarSupport": {"datatype": "float", "description": "Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "UpperShoulderSupport": {"datatype": "float", "description": "Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch"}, "Headrest": {"children": {"Angle": {"datatype": "float", "description": "Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.", "type": "actuator", "unit": "degrees"}, "Height": {"datatype": "uint8", "description": "Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest backward switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest up switch engaged.", "type": "actuator"}}, "description": "Headrest settings.", "type": "branch"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Height": {"datatype": "uint16", "description": "Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat backward switch engaged.", "type": "actuator"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor"}, "IsCoolerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Cooler switch for Seat heater.", "type": "actuator"}, "IsDecreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Decrease massage level switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat forward switch engaged.", "type": "actuator"}, "IsIncreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Increase massage level switch engaged.", "type": "actuator"}, "IsTiltBackwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt backward switch engaged.", "type": "actuator"}, "IsTiltForwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat up switch engaged.", "type": "actuator"}, "IsWarmerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Warmer switch for Seat heater.", "type": "actuator"}, "Massage": {"children": {"IsAvailable": {"datatype": "boolean", "description": "True if the seat have the massage capability", "type": "attribute"}, "Level": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Status": {"allowed": ["ON", "OFF"], "datatype": "string", "description": "Massage status.", "type": "sensor"}, "SupportedTypes": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string[]", "description": "Type of massage.", "type": "attribute"}, "TypeActive": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string", "description": "Type of massage active.", "type": "actuator"}}, "description": "Massage related information for the seat.", "type": "branch"}, "NeckScarf": {"children": {"FanSpeed": {"datatype": "uint8", "description": "Speed of the fan.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}}, "description": "NeckScarf settings.", "type": "branch"}, "OccupancyStatus": {"allowed": ["UNKNOWN", "OCCUPIED", "EMPTY"], "datatype": "string", "description": "Occupancy status of the seat.", "type": "sensor"}, "Position": {"datatype": "uint16", "description": "Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "SeatBeltHeight": {"datatype": "uint16", "description": "Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported.", "type": "actuator", "unit": "mm"}, "Seating": {"children": {"HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Seating.Length).", "datatype": "boolean", "description": "Is switch to decrease seating length engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged.", "type": "actuator"}, "Length": {"datatype": "uint16", "description": "Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating).", "min": 0, "type": "actuator", "unit": "mm"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "comment": "Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch.", "description": "Describes signals related to the seat bottom of the seat.", "type": "branch"}, "Tilt": {"comment": "In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt.", "datatype": "float", "description": "Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees"}}, "description": "All seats.", "type": "branch"}, "Middle": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor"}, "IsEnabled": {"datatype": "boolean", "description": "Airbag enabled status. True = Airbag enabled. False = Airbag not enabled.", "type": "sensor"}}, "description": "Airbag signals.", "type": "branch"}, "Backrest": {"children": {"BottomLumbarSupport": {"datatype": "float", "description": "Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsLessLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for less lumbar support engaged.", "type": "actuator"}, "IsLessSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for less side bolster support engaged.", "type": "actuator"}, "IsLumbarDownSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar down switch engaged.", "type": "actuator"}, "IsLumbarUpSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar up switch engaged.", "type": "actuator"}, "IsMoreLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for more lumbar support engaged.", "type": "actuator"}, "IsMoreSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for more side bolster support engaged.", "type": "actuator"}, "IsReclineBackwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline backward switch engaged.", "type": "actuator"}, "IsReclineForwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline forward switch engaged.", "type": "actuator"}, "LumbarHeight": {"datatype": "uint8", "description": "Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "LumbarSupport": {"comment": "A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals.", "datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "MidLumbarSupport": {"datatype": "float", "description": "Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Recline": {"comment": "Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline.", "datatype": "float", "description": "Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline.", "type": "actuator", "unit": "degrees"}, "SideBolsterSupport": {"datatype": "float", "description": "Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "TopLumbarSupport": {"datatype": "float", "description": "Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "UpperShoulderSupport": {"datatype": "float", "description": "Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch"}, "Headrest": {"children": {"Angle": {"datatype": "float", "description": "Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.", "type": "actuator", "unit": "degrees"}, "Height": {"datatype": "uint8", "description": "Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest backward switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest up switch engaged.", "type": "actuator"}}, "description": "Headrest settings.", "type": "branch"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Height": {"datatype": "uint16", "description": "Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat backward switch engaged.", "type": "actuator"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor"}, "IsCoolerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Cooler switch for Seat heater.", "type": "actuator"}, "IsDecreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Decrease massage level switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat forward switch engaged.", "type": "actuator"}, "IsIncreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Increase massage level switch engaged.", "type": "actuator"}, "IsTiltBackwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt backward switch engaged.", "type": "actuator"}, "IsTiltForwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat up switch engaged.", "type": "actuator"}, "IsWarmerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Warmer switch for Seat heater.", "type": "actuator"}, "Massage": {"children": {"IsAvailable": {"datatype": "boolean", "description": "True if the seat have the massage capability", "type": "attribute"}, "Level": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Status": {"allowed": ["ON", "OFF"], "datatype": "string", "description": "Massage status.", "type": "sensor"}, "SupportedTypes": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string[]", "description": "Type of massage.", "type": "attribute"}, "TypeActive": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string", "description": "Type of massage active.", "type": "actuator"}}, "description": "Massage related information for the seat.", "type": "branch"}, "NeckScarf": {"children": {"FanSpeed": {"datatype": "uint8", "description": "Speed of the fan.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}}, "description": "NeckScarf settings.", "type": "branch"}, "OccupancyStatus": {"allowed": ["UNKNOWN", "OCCUPIED", "EMPTY"], "datatype": "string", "description": "Occupancy status of the seat.", "type": "sensor"}, "Position": {"datatype": "uint16", "description": "Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "SeatBeltHeight": {"datatype": "uint16", "description": "Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported.", "type": "actuator", "unit": "mm"}, "Seating": {"children": {"HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Seating.Length).", "datatype": "boolean", "description": "Is switch to decrease seating length engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged.", "type": "actuator"}, "Length": {"datatype": "uint16", "description": "Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating).", "min": 0, "type": "actuator", "unit": "mm"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "comment": "Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch.", "description": "Describes signals related to the seat bottom of the seat.", "type": "branch"}, "Tilt": {"comment": "In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt.", "datatype": "float", "description": "Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees"}}, "description": "All seats.", "type": "branch"}, "PassengerSide": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor"}, "IsEnabled": {"datatype": "boolean", "description": "Airbag enabled status. True = Airbag enabled. False = Airbag not enabled.", "type": "sensor"}}, "description": "Airbag signals.", "type": "branch"}, "Backrest": {"children": {"BottomLumbarSupport": {"datatype": "float", "description": "Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsLessLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for less lumbar support engaged.", "type": "actuator"}, "IsLessSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for less side bolster support engaged.", "type": "actuator"}, "IsLumbarDownSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar down switch engaged.", "type": "actuator"}, "IsLumbarUpSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Lumbar up switch engaged.", "type": "actuator"}, "IsMoreLumbarSupportSwitchEngaged": {"comment": "Affects the property (Backrest.LumbarSupport).", "datatype": "boolean", "description": "Is switch for more lumbar support engaged.", "type": "actuator"}, "IsMoreSideBolsterSupportSwitchEngaged": {"comment": "Affects the property (Backrest.SideBolsterSupport).", "datatype": "boolean", "description": "Is switch for more side bolster support engaged.", "type": "actuator"}, "IsReclineBackwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline backward switch engaged.", "type": "actuator"}, "IsReclineForwardSwitchEngaged": {"comment": "Affects the property (Backrest.Recline).", "datatype": "boolean", "description": "Backrest recline forward switch engaged.", "type": "actuator"}, "LumbarHeight": {"datatype": "uint8", "description": "Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "LumbarSupport": {"comment": "A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals.", "datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "MidLumbarSupport": {"datatype": "float", "description": "Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Recline": {"comment": "Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline.", "datatype": "float", "description": "Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline.", "type": "actuator", "unit": "degrees"}, "SideBolsterSupport": {"datatype": "float", "description": "Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "TopLumbarSupport": {"datatype": "float", "description": "Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "UpperShoulderSupport": {"datatype": "float", "description": "Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch"}, "Headrest": {"children": {"Angle": {"datatype": "float", "description": "Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.", "type": "actuator", "unit": "degrees"}, "Height": {"datatype": "uint8", "description": "Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest backward switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Headrest.Angle).", "datatype": "boolean", "description": "Headrest forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Headrest.Height).", "datatype": "boolean", "description": "Headrest up switch engaged.", "type": "actuator"}}, "description": "Headrest settings.", "type": "branch"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Height": {"datatype": "uint16", "description": "Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat backward switch engaged.", "type": "actuator"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor"}, "IsCoolerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Cooler switch for Seat heater.", "type": "actuator"}, "IsDecreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Decrease massage level switch engaged.", "type": "actuator"}, "IsDownSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat down switch engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"comment": "Affects the property (Position).", "datatype": "boolean", "description": "Seat forward switch engaged.", "type": "actuator"}, "IsIncreaseMassageLevelSwitchEngaged": {"comment": "Affects the property (Massage.Level).", "datatype": "boolean", "description": "Increase massage level switch engaged.", "type": "actuator"}, "IsTiltBackwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt backward switch engaged.", "type": "actuator"}, "IsTiltForwardSwitchEngaged": {"comment": "Affects the property (Tilt).", "datatype": "boolean", "description": "Tilt forward switch engaged.", "type": "actuator"}, "IsUpSwitchEngaged": {"comment": "Affects the property (Height).", "datatype": "boolean", "description": "Seat up switch engaged.", "type": "actuator"}, "IsWarmerSwitchEngaged": {"comment": "Affects the property (HeatingCooling).", "datatype": "boolean", "description": "Warmer switch for Seat heater.", "type": "actuator"}, "Massage": {"children": {"IsAvailable": {"datatype": "boolean", "description": "True if the seat have the massage capability", "type": "attribute"}, "Level": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Status": {"allowed": ["ON", "OFF"], "datatype": "string", "description": "Massage status.", "type": "sensor"}, "SupportedTypes": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string[]", "description": "Type of massage.", "type": "attribute"}, "TypeActive": {"comment": "OEMs may define a list of identifiers for supported massage types using the allowed keyword", "datatype": "string", "description": "Type of massage active.", "type": "actuator"}}, "description": "Massage related information for the seat.", "type": "branch"}, "NeckScarf": {"children": {"FanSpeed": {"datatype": "uint8", "description": "Speed of the fan.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}}, "description": "NeckScarf settings.", "type": "branch"}, "OccupancyStatus": {"allowed": ["UNKNOWN", "OCCUPIED", "EMPTY"], "datatype": "string", "description": "Occupancy status of the seat.", "type": "sensor"}, "Position": {"datatype": "uint16", "description": "Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.", "min": 0, "type": "actuator", "unit": "mm"}, "SeatBeltHeight": {"datatype": "uint16", "description": "Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported.", "type": "actuator", "unit": "mm"}, "Seating": {"children": {"HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "IsBackwardSwitchEngaged": {"comment": "Affects the property (Seating.Length).", "datatype": "boolean", "description": "Is switch to decrease seating length engaged.", "type": "actuator"}, "IsForwardSwitchEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged.", "type": "actuator"}, "Length": {"datatype": "uint16", "description": "Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating).", "min": 0, "type": "actuator", "unit": "mm"}, "SideBolsterSupportLeft": {"datatype": "float", "description": "Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "SideBolsterSupportRight": {"datatype": "float", "description": "Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "comment": "Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch.", "description": "Describes signals related to the seat bottom of the seat.", "type": "branch"}, "Tilt": {"comment": "In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt.", "datatype": "float", "description": "Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees"}}, "description": "All seats.", "type": "branch"}}, "description": "All seats.", "type": "branch"}}, "description": "All seats.", "type": "branch"}, "SeatPosCount": {"comment": "Default value corresponds to two seats in front row and 3 seats in second row.", "datatype": "uint8[]", "default": [2, 3], "description": "Number of seats across each row from the front to the rear.", "type": "attribute"}, "SeatRowCount": {"comment": "Default value corresponds to two rows of seats.", "datatype": "uint8", "default": 2, "description": "Number of seat rows in vehicle.", "type": "attribute"}, "Sunroof": {"children": {"Position": {"datatype": "int8", "description": "Sunroof position. 0 = Fully closed 100 = Fully opened. -100 = Fully tilted.", "max": 100, "min": -100, "type": "sensor", "unit": "percent"}, "Shade": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is item open or closed? True = Fully or partially open. False = Fully closed.", "type": "actuator"}, "Position": {"comment": "Relationship between Open/Close and Start/End position is item dependent.", "datatype": "uint8", "description": "Item position. 0 = Start position 100 = End position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or blind.", "type": "actuator"}}, "description": "Sun roof shade status. Open = Retracted, Closed = Deployed. Start position for Sunroof.Shade is Open/Retracted.", "type": "branch"}, "Switch": {"allowed": ["INACTIVE", "CLOSE", "OPEN", "ONE_SHOT_CLOSE", "ONE_SHOT_OPEN", "TILT_UP", "TILT_DOWN"], "datatype": "string", "description": "Switch controlling sliding action such as window, sunroof, or shade.", "type": "actuator"}}, "description": "Sun roof status.", "type": "branch"}}, "description": "All in-cabin components, including doors.", "type": "branch"}, "CargoVolume": {"datatype": "float", "description": "The available volume for cargo or luggage. For automobiles, this is usually the trunk volume.", "min": 0, "type": "attribute", "unit": "l"}, "Chassis": {"children": {"Accelerator": {"children": {"PedalPosition": {"datatype": "uint8", "description": "Accelerator pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Accelerator signals", "type": "branch"}, "Axle": {"children": {"Row1": {"children": {"AxleWidth": {"comment": "Corresponds to SAE J1100-2009 W113.", "datatype": "uint16", "description": "The lateral distance between the wheel mounting faces, measured along the spindle axis.", "type": "attribute", "unit": "mm"}, "SteeringAngle": {"comment": "Single track two-axle model steering angle refers to the angle that a centrally mounted wheel would have.", "datatype": "float", "description": "Single track two-axle model steering angle. Angle according to ISO 8855. Positive = degrees to the left. Negative = degrees to the right.", "type": "sensor", "unit": "degrees"}, "TireAspectRatio": {"datatype": "uint8", "description": "Aspect ratio between tire section height and tire section width, as per ETRTO / TRA standard.", "type": "attribute", "unit": "percent"}, "TireDiameter": {"datatype": "float", "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch"}, "TireWidth": {"datatype": "uint16", "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", "type": "attribute", "unit": "mm"}, "TrackWidth": {"comment": "Corresponds to SAE J1100-2009 W102.", "datatype": "uint16", "description": "The lateral distance between the centers of the wheels, measured along the spindle, or axle axis. If there are dual rear wheels, measure from the midway points between the inner and outer tires.", "type": "attribute", "unit": "mm"}, "TreadWidth": {"comment": "Corresponds to SAE J1100-2009 W101.", "datatype": "uint16", "description": "The lateral distance between the centerlines of the base tires at ground, including camber angle. If there are dual rear wheels, measure from the midway points between the inner and outer tires.", "type": "attribute", "unit": "mm"}, "Wheel": {"children": {"Left": {"children": {"AngularSpeed": {"comment": "Positive if wheel is trying to drive vehicle forward. Negative if wheel is trying to drive vehicle backward.", "datatype": "float", "description": "Angular (Rotational) speed of a vehicle's wheel.", "type": "sensor", "unit": "degrees/s"}, "Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent"}}, "description": "Brake signals for wheel", "type": "branch"}, "Speed": {"datatype": "float", "description": "Linear speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h"}, "Tire": {"children": {"AirTemperature": {"datatype": "float", "description": "Air temperature inside the tire in Celsius.", "type": "sensor", "unit": "Celsius"}, "IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa"}, "RubberTemperature": {"datatype": "float", "description": "Rubber temperature of the tire in Celsius.", "type": "sensor", "unit": "Celsius"}, "Temperature": {"datatype": "float", "deprecation": "v6.0 - use RubberTemperature or AirTemperature instead.", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "Celsius"}}, "description": "Tire signals for wheel.", "type": "branch"}}, "description": "Wheel signals for axle", "type": "branch"}, "Right": {"children": {"AngularSpeed": {"comment": "Positive if wheel is trying to drive vehicle forward. Negative if wheel is trying to drive vehicle backward.", "datatype": "float", "description": "Angular (Rotational) speed of a vehicle's wheel.", "type": "sensor", "unit": "degrees/s"}, "Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent"}}, "description": "Brake signals for wheel", "type": "branch"}, "Speed": {"datatype": "float", "description": "Linear speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h"}, "Tire": {"children": {"AirTemperature": {"datatype": "float", "description": "Air temperature inside the tire in Celsius.", "type": "sensor", "unit": "Celsius"}, "IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa"}, "RubberTemperature": {"datatype": "float", "description": "Rubber temperature of the tire in Celsius.", "type": "sensor", "unit": "Celsius"}, "Temperature": {"datatype": "float", "deprecation": "v6.0 - use RubberTemperature or AirTemperature instead.", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "Celsius"}}, "description": "Tire signals for wheel.", "type": "branch"}}, "description": "Wheel signals for axle", "type": "branch"}}, "description": "Wheel signals for axle", "type": "branch"}, "WheelCount": {"datatype": "uint8", "description": "Number of wheels on the axle", "type": "attribute"}, "WheelDiameter": {"datatype": "float", "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch"}, "WheelWidth": {"datatype": "float", "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch"}}, "description": "Axle signals", "type": "branch"}, "Row2": {"children": {"AxleWidth": {"comment": "Corresponds to SAE J1100-2009 W113.", "datatype": "uint16", "description": "The lateral distance between the wheel mounting faces, measured along the spindle axis.", "type": "attribute", "unit": "mm"}, "SteeringAngle": {"comment": "Single track two-axle model steering angle refers to the angle that a centrally mounted wheel would have.", "datatype": "float", "description": "Single track two-axle model steering angle. Angle according to ISO 8855. Positive = degrees to the left. Negative = degrees to the right.", "type": "sensor", "unit": "degrees"}, "TireAspectRatio": {"datatype": "uint8", "description": "Aspect ratio between tire section height and tire section width, as per ETRTO / TRA standard.", "type": "attribute", "unit": "percent"}, "TireDiameter": {"datatype": "float", "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch"}, "TireWidth": {"datatype": "uint16", "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", "type": "attribute", "unit": "mm"}, "TrackWidth": {"comment": "Corresponds to SAE J1100-2009 W102.", "datatype": "uint16", "description": "The lateral distance between the centers of the wheels, measured along the spindle, or axle axis. If there are dual rear wheels, measure from the midway points between the inner and outer tires.", "type": "attribute", "unit": "mm"}, "TreadWidth": {"comment": "Corresponds to SAE J1100-2009 W101.", "datatype": "uint16", "description": "The lateral distance between the centerlines of the base tires at ground, including camber angle. If there are dual rear wheels, measure from the midway points between the inner and outer tires.", "type": "attribute", "unit": "mm"}, "Wheel": {"children": {"Left": {"children": {"AngularSpeed": {"comment": "Positive if wheel is trying to drive vehicle forward. Negative if wheel is trying to drive vehicle backward.", "datatype": "float", "description": "Angular (Rotational) speed of a vehicle's wheel.", "type": "sensor", "unit": "degrees/s"}, "Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent"}}, "description": "Brake signals for wheel", "type": "branch"}, "Speed": {"datatype": "float", "description": "Linear speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h"}, "Tire": {"children": {"AirTemperature": {"datatype": "float", "description": "Air temperature inside the tire in Celsius.", "type": "sensor", "unit": "Celsius"}, "IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa"}, "RubberTemperature": {"datatype": "float", "description": "Rubber temperature of the tire in Celsius.", "type": "sensor", "unit": "Celsius"}, "Temperature": {"datatype": "float", "deprecation": "v6.0 - use RubberTemperature or AirTemperature instead.", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "Celsius"}}, "description": "Tire signals for wheel.", "type": "branch"}}, "description": "Wheel signals for axle", "type": "branch"}, "Right": {"children": {"AngularSpeed": {"comment": "Positive if wheel is trying to drive vehicle forward. Negative if wheel is trying to drive vehicle backward.", "datatype": "float", "description": "Angular (Rotational) speed of a vehicle's wheel.", "type": "sensor", "unit": "degrees/s"}, "Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent"}}, "description": "Brake signals for wheel", "type": "branch"}, "Speed": {"datatype": "float", "description": "Linear speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h"}, "Tire": {"children": {"AirTemperature": {"datatype": "float", "description": "Air temperature inside the tire in Celsius.", "type": "sensor", "unit": "Celsius"}, "IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa"}, "RubberTemperature": {"datatype": "float", "description": "Rubber temperature of the tire in Celsius.", "type": "sensor", "unit": "Celsius"}, "Temperature": {"datatype": "float", "deprecation": "v6.0 - use RubberTemperature or AirTemperature instead.", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "Celsius"}}, "description": "Tire signals for wheel.", "type": "branch"}}, "description": "Wheel signals for axle", "type": "branch"}}, "description": "Wheel signals for axle", "type": "branch"}, "WheelCount": {"datatype": "uint8", "description": "Number of wheels on the axle", "type": "attribute"}, "WheelDiameter": {"datatype": "float", "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch"}, "WheelWidth": {"datatype": "float", "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch"}}, "description": "Axle signals", "type": "branch"}}, "description": "Axle signals", "type": "branch"}, "AxleCount": {"datatype": "uint8", "default": 2, "description": "Number of axles on the vehicle", "type": "attribute"}, "Brake": {"children": {"IsDriverEmergencyBrakingDetected": {"comment": "Detection of emergency braking can trigger Emergency Brake Assist (EBA) to engage.", "datatype": "boolean", "description": "Indicates if emergency braking initiated by driver is detected. True = Emergency braking detected. False = Emergency braking not detected.", "type": "sensor"}, "PedalPosition": {"datatype": "uint8", "description": "Brake pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Brake system signals", "type": "branch"}, "ParkingBrake": {"children": {"IsAutoApplyEnabled": {"datatype": "boolean", "description": "Indicates if parking brake will be automatically engaged when the vehicle engine is turned off.", "type": "actuator"}, "IsEngaged": {"datatype": "boolean", "description": "Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.", "type": "actuator"}}, "description": "Parking brake signals", "type": "branch"}, "SteeringWheel": {"children": {"Angle": {"datatype": "int16", "description": "Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right.", "type": "sensor", "unit": "degrees"}, "Extension": {"datatype": "uint8", "description": "Steering wheel column extension from dashboard. 0 = Closest to dashboard. 100 = Furthest from dashboard.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "HeatingCooling": {"datatype": "int8", "description": "Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "Tilt": {"datatype": "uint8", "description": "Steering wheel column tilt. 0 = Lowest position. 100 = Highest position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "Steering wheel signals", "type": "branch"}, "Wheelbase": {"datatype": "uint16", "default": 0, "description": "Overall wheelbase, in mm.", "type": "attribute", "unit": "mm"}}, "description": "All data concerning steering, suspension, wheels, and brakes.", "type": "branch"}, "Connectivity": {"children": {"IsConnectivityAvailable": {"comment": "This signal can be used by onboard vehicle services to decide what features that shall be offered to the driver, for example disable the 'check for update' button if vehicle does not have connectivity.", "datatype": "boolean", "description": "Indicates if connectivity between vehicle and cloud is available. True = Connectivity is available. False = Connectivity is not available.", "type": "sensor"}}, "description": "Connectivity data.", "type": "branch"}, "ControlUnit": {"children": {"Central": {"children": {"Health": {"children": {"Network": {"children": {"CAN": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "CAN network attributes and signals", "type": "branch"}, "ETH": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "Ethernet network attributes and signals", "type": "branch"}}, "description": "Network attributes and signals", "type": "branch"}, "Resources": {"children": {"Power": {"datatype": "float", "description": "Power consumption", "type": "sensor", "unit": "W"}, "Temperature": {"datatype": "float", "description": "Instance temperature", "type": "sensor", "unit": "Celsius"}, "Utilization": {"children": {"CPU": {"datatype": "float", "description": "CPU utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "Memory": {"datatype": "float", "description": "Memory utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Resources utilization branch", "type": "branch"}}, "description": "Resources attributes and signals", "type": "branch"}, "SWSupervision": {"children": {"IsAliveTriggered": {"datatype": "boolean", "description": "Whether the alive supervision was triggered", "type": "sensor"}, "IsDeadlineTriggered": {"datatype": "boolean", "description": "Whether the deadline supervision was triggered", "type": "sensor"}, "IsLogicalTriggered": {"datatype": "boolean", "description": "Whether the logical supervision was triggered", "type": "sensor"}, "IsWatchdogTriggered": {"datatype": "boolean", "description": "Whether the watchdog deadline was triggered", "type": "sensor"}}, "description": "SW supervision attributes and signals", "type": "branch"}}, "description": "Health attributes and signals", "type": "branch"}, "ID": {"datatype": "uint8", "default": 0, "description": "Control unit ID", "type": "attribute"}}, "comment": "The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed", "description": "Root of the control unit branch", "type": "branch"}, "FrontLeft": {"children": {"Health": {"children": {"Network": {"children": {"CAN": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "CAN network attributes and signals", "type": "branch"}, "ETH": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "Ethernet network attributes and signals", "type": "branch"}}, "description": "Network attributes and signals", "type": "branch"}, "Resources": {"children": {"Power": {"datatype": "float", "description": "Power consumption", "type": "sensor", "unit": "W"}, "Temperature": {"datatype": "float", "description": "Instance temperature", "type": "sensor", "unit": "Celsius"}, "Utilization": {"children": {"CPU": {"datatype": "float", "description": "CPU utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "Memory": {"datatype": "float", "description": "Memory utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Resources utilization branch", "type": "branch"}}, "description": "Resources attributes and signals", "type": "branch"}, "SWSupervision": {"children": {"IsAliveTriggered": {"datatype": "boolean", "description": "Whether the alive supervision was triggered", "type": "sensor"}, "IsDeadlineTriggered": {"datatype": "boolean", "description": "Whether the deadline supervision was triggered", "type": "sensor"}, "IsLogicalTriggered": {"datatype": "boolean", "description": "Whether the logical supervision was triggered", "type": "sensor"}, "IsWatchdogTriggered": {"datatype": "boolean", "description": "Whether the watchdog deadline was triggered", "type": "sensor"}}, "description": "SW supervision attributes and signals", "type": "branch"}}, "description": "Health attributes and signals", "type": "branch"}, "ID": {"datatype": "uint8", "default": 0, "description": "Control unit ID", "type": "attribute"}}, "comment": "The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed", "description": "Root of the control unit branch", "type": "branch"}, "FrontRight": {"children": {"Health": {"children": {"Network": {"children": {"CAN": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "CAN network attributes and signals", "type": "branch"}, "ETH": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "Ethernet network attributes and signals", "type": "branch"}}, "description": "Network attributes and signals", "type": "branch"}, "Resources": {"children": {"Power": {"datatype": "float", "description": "Power consumption", "type": "sensor", "unit": "W"}, "Temperature": {"datatype": "float", "description": "Instance temperature", "type": "sensor", "unit": "Celsius"}, "Utilization": {"children": {"CPU": {"datatype": "float", "description": "CPU utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "Memory": {"datatype": "float", "description": "Memory utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Resources utilization branch", "type": "branch"}}, "description": "Resources attributes and signals", "type": "branch"}, "SWSupervision": {"children": {"IsAliveTriggered": {"datatype": "boolean", "description": "Whether the alive supervision was triggered", "type": "sensor"}, "IsDeadlineTriggered": {"datatype": "boolean", "description": "Whether the deadline supervision was triggered", "type": "sensor"}, "IsLogicalTriggered": {"datatype": "boolean", "description": "Whether the logical supervision was triggered", "type": "sensor"}, "IsWatchdogTriggered": {"datatype": "boolean", "description": "Whether the watchdog deadline was triggered", "type": "sensor"}}, "description": "SW supervision attributes and signals", "type": "branch"}}, "description": "Health attributes and signals", "type": "branch"}, "ID": {"datatype": "uint8", "default": 0, "description": "Control unit ID", "type": "attribute"}}, "comment": "The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed", "description": "Root of the control unit branch", "type": "branch"}, "RearLeft1": {"children": {"Health": {"children": {"Network": {"children": {"CAN": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "CAN network attributes and signals", "type": "branch"}, "ETH": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "Ethernet network attributes and signals", "type": "branch"}}, "description": "Network attributes and signals", "type": "branch"}, "Resources": {"children": {"Power": {"datatype": "float", "description": "Power consumption", "type": "sensor", "unit": "W"}, "Temperature": {"datatype": "float", "description": "Instance temperature", "type": "sensor", "unit": "Celsius"}, "Utilization": {"children": {"CPU": {"datatype": "float", "description": "CPU utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "Memory": {"datatype": "float", "description": "Memory utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Resources utilization branch", "type": "branch"}}, "description": "Resources attributes and signals", "type": "branch"}, "SWSupervision": {"children": {"IsAliveTriggered": {"datatype": "boolean", "description": "Whether the alive supervision was triggered", "type": "sensor"}, "IsDeadlineTriggered": {"datatype": "boolean", "description": "Whether the deadline supervision was triggered", "type": "sensor"}, "IsLogicalTriggered": {"datatype": "boolean", "description": "Whether the logical supervision was triggered", "type": "sensor"}, "IsWatchdogTriggered": {"datatype": "boolean", "description": "Whether the watchdog deadline was triggered", "type": "sensor"}}, "description": "SW supervision attributes and signals", "type": "branch"}}, "description": "Health attributes and signals", "type": "branch"}, "ID": {"datatype": "uint8", "default": 0, "description": "Control unit ID", "type": "attribute"}}, "comment": "The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed", "description": "Root of the control unit branch", "type": "branch"}, "RearLeft2": {"children": {"Health": {"children": {"Network": {"children": {"CAN": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "CAN network attributes and signals", "type": "branch"}, "ETH": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "Ethernet network attributes and signals", "type": "branch"}}, "description": "Network attributes and signals", "type": "branch"}, "Resources": {"children": {"Power": {"datatype": "float", "description": "Power consumption", "type": "sensor", "unit": "W"}, "Temperature": {"datatype": "float", "description": "Instance temperature", "type": "sensor", "unit": "Celsius"}, "Utilization": {"children": {"CPU": {"datatype": "float", "description": "CPU utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "Memory": {"datatype": "float", "description": "Memory utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Resources utilization branch", "type": "branch"}}, "description": "Resources attributes and signals", "type": "branch"}, "SWSupervision": {"children": {"IsAliveTriggered": {"datatype": "boolean", "description": "Whether the alive supervision was triggered", "type": "sensor"}, "IsDeadlineTriggered": {"datatype": "boolean", "description": "Whether the deadline supervision was triggered", "type": "sensor"}, "IsLogicalTriggered": {"datatype": "boolean", "description": "Whether the logical supervision was triggered", "type": "sensor"}, "IsWatchdogTriggered": {"datatype": "boolean", "description": "Whether the watchdog deadline was triggered", "type": "sensor"}}, "description": "SW supervision attributes and signals", "type": "branch"}}, "description": "Health attributes and signals", "type": "branch"}, "ID": {"datatype": "uint8", "default": 0, "description": "Control unit ID", "type": "attribute"}}, "comment": "The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed", "description": "Root of the control unit branch", "type": "branch"}, "Trunk": {"children": {"Health": {"children": {"Network": {"children": {"CAN": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "CAN network attributes and signals", "type": "branch"}, "ETH": {"children": {"IsNetworkOK": {"datatype": "boolean", "description": "Network status. True = No network problems detected. False = Network problems detected.", "type": "sensor"}}, "description": "Ethernet network attributes and signals", "type": "branch"}}, "description": "Network attributes and signals", "type": "branch"}, "Resources": {"children": {"Power": {"datatype": "float", "description": "Power consumption", "type": "sensor", "unit": "W"}, "Temperature": {"datatype": "float", "description": "Instance temperature", "type": "sensor", "unit": "Celsius"}, "Utilization": {"children": {"CPU": {"datatype": "float", "description": "CPU utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "Memory": {"datatype": "float", "description": "Memory utilization", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Resources utilization branch", "type": "branch"}}, "description": "Resources attributes and signals", "type": "branch"}, "SWSupervision": {"children": {"IsAliveTriggered": {"datatype": "boolean", "description": "Whether the alive supervision was triggered", "type": "sensor"}, "IsDeadlineTriggered": {"datatype": "boolean", "description": "Whether the deadline supervision was triggered", "type": "sensor"}, "IsLogicalTriggered": {"datatype": "boolean", "description": "Whether the logical supervision was triggered", "type": "sensor"}, "IsWatchdogTriggered": {"datatype": "boolean", "description": "Whether the watchdog deadline was triggered", "type": "sensor"}}, "description": "SW supervision attributes and signals", "type": "branch"}}, "description": "Health attributes and signals", "type": "branch"}, "ID": {"datatype": "uint8", "default": 0, "description": "Control unit ID", "type": "attribute"}}, "comment": "The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed", "description": "Root of the control unit branch", "type": "branch"}}, "comment": "The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed", "description": "Root of the control unit branch", "type": "branch"}, "CurbWeight": {"datatype": "uint16", "default": 0, "description": "Vehicle curb weight, including all liquids and full tank of fuel, but no cargo or passengers.", "type": "attribute", "unit": "kg"}, "CurrentLocation": {"children": {"Altitude": {"datatype": "double", "description": "Current altitude relative to WGS 84 reference ellipsoid, as measured at the position of GNSS receiver antenna.", "type": "sensor", "unit": "m"}, "GNSSReceiver": {"children": {"FixType": {"allowed": ["NONE", "TWO_D", "TWO_D_SATELLITE_BASED_AUGMENTATION", "TWO_D_GROUND_BASED_AUGMENTATION", "TWO_D_SATELLITE_AND_GROUND_BASED_AUGMENTATION", "THREE_D", "THREE_D_SATELLITE_BASED_AUGMENTATION", "THREE_D_GROUND_BASED_AUGMENTATION", "THREE_D_SATELLITE_AND_GROUND_BASED_AUGMENTATION"], "datatype": "string", "description": "Fix status of GNSS receiver.", "type": "sensor"}, "MountingPosition": {"children": {"X": {"datatype": "int16", "description": "Mounting position of GNSS receiver antenna relative to vehicle coordinate system. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. Positive values = forward of rear axle. Negative values = backward of rear axle.", "type": "attribute", "unit": "mm"}, "Y": {"datatype": "int16", "description": "Mounting position of GNSS receiver antenna relative to vehicle coordinate system. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. Positive values = left of origin. Negative values = right of origin. Left/Right is as seen from driver perspective, i.e. by a person looking forward.", "type": "attribute", "unit": "mm"}, "Z": {"datatype": "int16", "description": "Mounting position of GNSS receiver on Z-axis. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. Positive values = above center of rear axle. Negative values = below center of rear axle.", "type": "attribute", "unit": "mm"}}, "description": "Mounting position of GNSS receiver antenna relative to vehicle coordinate system. Axis definitions according to ISO 8855. Origin at center of (first) rear axle.", "type": "branch"}}, "description": "Information on the GNSS receiver used for determining current location.", "type": "branch"}, "Heading": {"datatype": "double", "description": "Current heading relative to geographic north. 0 = North, 90 = East, 180 = South, 270 = West.", "max": 360, "min": 0, "type": "sensor", "unit": "degrees"}, "HorizontalAccuracy": {"datatype": "double", "description": "Accuracy of the latitude and longitude coordinates.", "type": "sensor", "unit": "m"}, "Latitude": {"datatype": "double", "description": "Current latitude of vehicle in WGS 84 geodetic coordinates, as measured at the position of GNSS receiver antenna.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}, "Longitude": {"datatype": "double", "description": "Current longitude of vehicle in WGS 84 geodetic coordinates, as measured at the position of GNSS receiver antenna.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Timestamp": {"datatype": "string", "description": "Timestamp from GNSS system for current location, formatted according to ISO 8601 with UTC time zone.", "type": "sensor", "unit": "iso8601"}, "VerticalAccuracy": {"datatype": "double", "description": "Accuracy of altitude.", "type": "sensor", "unit": "m"}}, "description": "The current latitude and longitude of the vehicle.", "type": "branch"}, "CurrentOverallWeight": {"datatype": "uint16", "description": "Current overall Vehicle weight. Including passengers, cargo and other load inside the car.", "type": "sensor", "unit": "kg"}, "Diagnostics": {"children": {"DTCCount": {"datatype": "uint8", "description": "Number of Diagnostic Trouble Codes (DTC)", "type": "sensor"}, "DTCList": {"datatype": "string[]", "description": "List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX )", "type": "sensor"}}, "description": "Diagnostics data.", "type": "branch"}, "Driver": {"children": {"AttentiveProbability": {"datatype": "float", "description": "Probability of attentiveness of the driver.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "DistractionLevel": {"datatype": "float", "description": "Distraction level of the driver, which can be evaluated by multiple factors e.g. driving situation, acoustical or optical signals inside the cockpit, ongoing phone calls.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "FatigueLevel": {"datatype": "float", "description": "Fatigue level of the driver, which can be evaluated by multiple factors e.g. trip time, behaviour of steering, eye status.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "HeartRate": {"datatype": "uint16", "description": "Heart rate of the driver.", "type": "sensor", "unit": "bpm"}, "IsEyesOnRoad": {"datatype": "boolean", "description": "Has driver the eyes on road or not?", "type": "sensor"}, "IsHandsOnWheel": {"datatype": "boolean", "description": "Are the driver's hands on the steering wheel or not?", "type": "sensor"}}, "description": "Driver data.", "type": "branch"}, "EmissionsCO2": {"datatype": "int16", "description": "The CO2 emissions.", "type": "attribute", "unit": "g/km"}, "Exterior": {"children": {"AirTemperature": {"datatype": "float", "description": "Air temperature outside the vehicle.", "type": "sensor", "unit": "Celsius"}, "Humidity": {"datatype": "float", "description": "Relative humidity outside the vehicle. 0 = Dry, 100 = Air fully saturated.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "LightIntensity": {"comment": "Mapping to physical units and calculation method is sensor specific.", "datatype": "float", "description": "Light intensity outside the vehicle. 0 = No light detected, 100 = Fully lit.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Information about exterior measured by vehicle.", "type": "branch"}, "GrossWeight": {"datatype": "uint16", "default": 0, "description": "Curb weight of vehicle, including all liquids and full tank of fuel and full load of cargo and passengers.", "type": "attribute", "unit": "kg"}, "Height": {"datatype": "uint16", "default": 0, "description": "Overall vehicle height.", "type": "attribute", "unit": "mm"}, "IsAutoPowerOptimize": {"datatype": "boolean", "description": "Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed.", "type": "actuator"}, "IsBrokenDown": {"comment": "Actual criteria and method used to decide if a vehicle is broken down is implementation specific.", "datatype": "boolean", "description": "Vehicle breakdown or any similar event causing vehicle to stop on the road, that might pose a risk to other road users. True = Vehicle broken down on the road, due to e.g. engine problems, flat tire, out of gas, brake problems. False = Vehicle not broken down.", "type": "sensor"}, "IsMoving": {"datatype": "boolean", "description": "Indicates whether the vehicle is stationary or moving.", "type": "sensor"}, "Length": {"datatype": "uint16", "default": 0, "description": "Overall vehicle length.", "type": "attribute", "unit": "mm"}, "LowVoltageBattery": {"children": {"CurrentCurrent": {"datatype": "float", "description": "Current current flowing in/out of the low voltage battery. Positive = Current flowing in to battery, e.g. during charging or driving. Negative = Current flowing out of battery, e.g. when using the battery to start a combustion engine.", "type": "sensor", "unit": "A"}, "CurrentVoltage": {"datatype": "float", "description": "Current Voltage of the low voltage battery.", "type": "sensor", "unit": "V"}, "NominalCapacity": {"datatype": "uint16", "description": "Nominal capacity of the low voltage battery.", "type": "attribute", "unit": "Ah"}, "NominalVoltage": {"comment": "Nominal voltage typically refers to voltage of fully charged battery when delivering rated capacity.", "datatype": "uint16", "description": "Nominal Voltage of the battery.", "type": "attribute", "unit": "V"}}, "description": "Signals related to low voltage battery.", "type": "branch"}, "LowVoltageSystemState": {"allowed": ["UNDEFINED", "LOCK", "OFF", "ACC", "ON", "START"], "datatype": "string", "description": "State of the supply voltage of the control units (usually 12V).", "type": "sensor"}, "MaxTowBallWeight": {"datatype": "uint16", "default": 0, "description": "Maximum vertical weight on the tow ball of a trailer.", "type": "attribute", "unit": "kg"}, "MaxTowWeight": {"datatype": "uint16", "default": 0, "description": "Maximum weight of trailer.", "type": "attribute", "unit": "kg"}, "MotionManagement": {"children": {"Brake": {"children": {"Axle": {"children": {"Row1": {"children": {"TorqueDistributionFrictionRightMaximum": {"datatype": "uint16", "description": "Maximum distribution range of the friction brake request on the axle to the right wheel. 0% = Complete friction torque shall be shifted to the left wheel. 50% = At most 50% friction torque may be shifted to the right wheel. 100% = Complete friction torque may be shifted to the right wheel.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "TorqueDistributionFrictionRightMinimum": {"datatype": "uint16", "description": "Minimum distribution range of the friction brake request on the axle to the right wheel. 0% = Complete friction torque may be shifted to the left wheel. 50% = At least 50% friction torque shall be shifted to the right wheel. 100% = Complete friction torque shall be shifted to the right wheel.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "TorqueElectricMinimum": {"datatype": "int16", "description": "Limit for regenerative brake torque at given axle. Brake Torque < 0Nm.", "max": 0, "type": "actuator", "unit": "Nm"}, "TorqueFrictionDifferenceMaximum": {"datatype": "uint16", "description": "Maximum absolute wheel torque difference between left and right wheel for friction brake.", "type": "actuator", "unit": "Nm"}, "Wheel": {"children": {"Left": {"children": {"OmegaLower": {"datatype": "uint16", "description": "Lower wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity.", "type": "actuator", "unit": "rad/s"}, "OmegaUpper": {"datatype": "uint16", "description": "Upper wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity.", "type": "actuator", "unit": "rad/s"}, "Torque": {"datatype": "int16", "description": "Estimated friction brake torque. Brake Torque < 0Nm.", "max": 0, "type": "sensor", "unit": "Nm"}, "TorqueArbitrated": {"datatype": "int16", "description": "Brake system internally calculated friction brake torque target. Brake Torque < 0Nm.", "max": 0, "type": "sensor", "unit": "Nm"}, "TorqueFrictionMaximum": {"datatype": "int16", "description": "Maximum wheel torque request for friction brake. Brake Torque < 0Nm.", "max": 0, "type": "actuator", "unit": "Nm"}, "TorqueFrictionMinimum": {"datatype": "int16", "description": "Minimum wheel torque request for friction brake. Brake Torque < 0Nm.", "max": 0, "type": "actuator", "unit": "Nm"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}, "Right": {"children": {"OmegaLower": {"datatype": "uint16", "description": "Lower wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity.", "type": "actuator", "unit": "rad/s"}, "OmegaUpper": {"datatype": "uint16", "description": "Upper wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity.", "type": "actuator", "unit": "rad/s"}, "Torque": {"datatype": "int16", "description": "Estimated friction brake torque. Brake Torque < 0Nm.", "max": 0, "type": "sensor", "unit": "Nm"}, "TorqueArbitrated": {"datatype": "int16", "description": "Brake system internally calculated friction brake torque target. Brake Torque < 0Nm.", "max": 0, "type": "sensor", "unit": "Nm"}, "TorqueFrictionMaximum": {"datatype": "int16", "description": "Maximum wheel torque request for friction brake. Brake Torque < 0Nm.", "max": 0, "type": "actuator", "unit": "Nm"}, "TorqueFrictionMinimum": {"datatype": "int16", "description": "Minimum wheel torque request for friction brake. Brake Torque < 0Nm.", "max": 0, "type": "actuator", "unit": "Nm"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}}, "description": "MotionManagement for brake actuation for a specific electric axle.", "type": "branch"}, "Row2": {"children": {"TorqueDistributionFrictionRightMaximum": {"datatype": "uint16", "description": "Maximum distribution range of the friction brake request on the axle to the right wheel. 0% = Complete friction torque shall be shifted to the left wheel. 50% = At most 50% friction torque may be shifted to the right wheel. 100% = Complete friction torque may be shifted to the right wheel.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "TorqueDistributionFrictionRightMinimum": {"datatype": "uint16", "description": "Minimum distribution range of the friction brake request on the axle to the right wheel. 0% = Complete friction torque may be shifted to the left wheel. 50% = At least 50% friction torque shall be shifted to the right wheel. 100% = Complete friction torque shall be shifted to the right wheel.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "TorqueElectricMinimum": {"datatype": "int16", "description": "Limit for regenerative brake torque at given axle. Brake Torque < 0Nm.", "max": 0, "type": "actuator", "unit": "Nm"}, "TorqueFrictionDifferenceMaximum": {"datatype": "uint16", "description": "Maximum absolute wheel torque difference between left and right wheel for friction brake.", "type": "actuator", "unit": "Nm"}, "Wheel": {"children": {"Left": {"children": {"OmegaLower": {"datatype": "uint16", "description": "Lower wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity.", "type": "actuator", "unit": "rad/s"}, "OmegaUpper": {"datatype": "uint16", "description": "Upper wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity.", "type": "actuator", "unit": "rad/s"}, "Torque": {"datatype": "int16", "description": "Estimated friction brake torque. Brake Torque < 0Nm.", "max": 0, "type": "sensor", "unit": "Nm"}, "TorqueArbitrated": {"datatype": "int16", "description": "Brake system internally calculated friction brake torque target. Brake Torque < 0Nm.", "max": 0, "type": "sensor", "unit": "Nm"}, "TorqueFrictionMaximum": {"datatype": "int16", "description": "Maximum wheel torque request for friction brake. Brake Torque < 0Nm.", "max": 0, "type": "actuator", "unit": "Nm"}, "TorqueFrictionMinimum": {"datatype": "int16", "description": "Minimum wheel torque request for friction brake. Brake Torque < 0Nm.", "max": 0, "type": "actuator", "unit": "Nm"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}, "Right": {"children": {"OmegaLower": {"datatype": "uint16", "description": "Lower wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity.", "type": "actuator", "unit": "rad/s"}, "OmegaUpper": {"datatype": "uint16", "description": "Upper wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity.", "type": "actuator", "unit": "rad/s"}, "Torque": {"datatype": "int16", "description": "Estimated friction brake torque. Brake Torque < 0Nm.", "max": 0, "type": "sensor", "unit": "Nm"}, "TorqueArbitrated": {"datatype": "int16", "description": "Brake system internally calculated friction brake torque target. Brake Torque < 0Nm.", "max": 0, "type": "sensor", "unit": "Nm"}, "TorqueFrictionMaximum": {"datatype": "int16", "description": "Maximum wheel torque request for friction brake. Brake Torque < 0Nm.", "max": 0, "type": "actuator", "unit": "Nm"}, "TorqueFrictionMinimum": {"datatype": "int16", "description": "Minimum wheel torque request for friction brake. Brake Torque < 0Nm.", "max": 0, "type": "actuator", "unit": "Nm"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}}, "description": "MotionManagement for brake actuation for a specific electric axle.", "type": "branch"}}, "description": "MotionManagement for brake actuation for a specific electric axle.", "type": "branch"}, "VehicleForceDistributionFrontMaximum": {"datatype": "uint16", "description": "Maximum distribution range request of FxWhlSum to front axle. 0% = Complete longitudinal brake force shall be shifted to rear axle. 50% = At most 50% shall be shifted to front axle. 100% = Complete longitudinal brake force may be shifted to front axle.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "VehicleForceDistributionFrontMinimum": {"datatype": "uint16", "description": "Minimum distribution range request of FxWhlSum to front axle. 0% = Complete longitudinal brake force may be shifted to rear axle. 50% = At least 50% shall be shifted to front axle. 100% = Complete longitudinal brake force shall be shifted to front axle.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "VehicleForceElectric": {"datatype": "int16", "description": "Regenerative brake force request (FxWhlSum). Sum of all tyre longitudinal forces. Brake Force < 0N.", "max": 0, "type": "actuator", "unit": "N"}, "VehicleForceElectricMinimumArbitrated": {"datatype": "int16", "description": "Brake system internally calculated regenerative force limit at vehicle level for eAxle actuation. Brake Force < 0N.", "max": 0, "type": "sensor", "unit": "N"}, "VehicleForceMaximum": {"datatype": "int16", "description": "Maximum longitudinal brake force request (FxWhlSum). Sum of all tyre longitudinal forces. Brake Force < 0N.", "max": 0, "type": "actuator", "unit": "N"}}, "description": "MotionManagement related to braking (both frictions brakes and contribution from electric axles).", "type": "branch"}, "ElectricAxle": {"children": {"Row1": {"children": {"RotationalSpeed": {"datatype": "int16", "description": "Rotational speed for the specified axle, positive sign for rotation in forward direction, negative sign for rotation in backward direction.", "type": "sensor", "unit": "rpm"}, "RotationalSpeedMaximumLimit": {"datatype": "int16", "description": "Maximum allowed axle rotational speed in torque control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction.", "type": "actuator", "unit": "rpm"}, "RotationalSpeedMinimumLimit": {"datatype": "int16", "description": "Minimum allowed axle rotational speed in torque control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction.", "type": "actuator", "unit": "rpm"}, "RotationalSpeedTarget": {"datatype": "int16", "description": "Target axle rotational speed in rotation speed control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction.", "type": "actuator", "unit": "rpm"}, "Torque": {"datatype": "int16", "description": "Axle torque, positive sign for torque in forward direction, negative sign for torque in backward direction.", "type": "sensor", "unit": "Nm"}, "TorqueMaximum": {"datatype": "int16", "description": "Maximum momentarily available eAxle torque, positive sign for torque in forward direction, negative sign for torque in backward direction.", "type": "sensor", "unit": "Nm"}, "TorqueMaximumLimit": {"datatype": "int16", "description": "Maximum allowed eAxle torque in rotation speed control mode, positive sign for torque in forward direction, negative sign unused.", "type": "actuator", "unit": "Nm"}, "TorqueMinimum": {"datatype": "int16", "description": "Minimum momentarily available eAxle torque, positive sign for torque in forward direction, negative sign for torque in backward direction.", "type": "sensor", "unit": "Nm"}, "TorqueMinimumLimit": {"datatype": "int16", "description": "Minimum allowed axle torque in rotation speed control mode, positive sign unused, negative sign for torque in backward direction (ISO8855).", "type": "actuator", "unit": "Nm"}, "TorqueTarget": {"datatype": "int16", "description": "Target axle torque in torque control mode, positive sign for torque in forward direction, negative sign for torque in backward direction (ISO8855).", "type": "actuator", "unit": "Nm"}}, "description": "MotionManagement for a specific electric axle.", "type": "branch"}, "Row2": {"children": {"RotationalSpeed": {"datatype": "int16", "description": "Rotational speed for the specified axle, positive sign for rotation in forward direction, negative sign for rotation in backward direction.", "type": "sensor", "unit": "rpm"}, "RotationalSpeedMaximumLimit": {"datatype": "int16", "description": "Maximum allowed axle rotational speed in torque control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction.", "type": "actuator", "unit": "rpm"}, "RotationalSpeedMinimumLimit": {"datatype": "int16", "description": "Minimum allowed axle rotational speed in torque control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction.", "type": "actuator", "unit": "rpm"}, "RotationalSpeedTarget": {"datatype": "int16", "description": "Target axle rotational speed in rotation speed control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction.", "type": "actuator", "unit": "rpm"}, "Torque": {"datatype": "int16", "description": "Axle torque, positive sign for torque in forward direction, negative sign for torque in backward direction.", "type": "sensor", "unit": "Nm"}, "TorqueMaximum": {"datatype": "int16", "description": "Maximum momentarily available eAxle torque, positive sign for torque in forward direction, negative sign for torque in backward direction.", "type": "sensor", "unit": "Nm"}, "TorqueMaximumLimit": {"datatype": "int16", "description": "Maximum allowed eAxle torque in rotation speed control mode, positive sign for torque in forward direction, negative sign unused.", "type": "actuator", "unit": "Nm"}, "TorqueMinimum": {"datatype": "int16", "description": "Minimum momentarily available eAxle torque, positive sign for torque in forward direction, negative sign for torque in backward direction.", "type": "sensor", "unit": "Nm"}, "TorqueMinimumLimit": {"datatype": "int16", "description": "Minimum allowed axle torque in rotation speed control mode, positive sign unused, negative sign for torque in backward direction (ISO8855).", "type": "actuator", "unit": "Nm"}, "TorqueTarget": {"datatype": "int16", "description": "Target axle torque in torque control mode, positive sign for torque in forward direction, negative sign for torque in backward direction (ISO8855).", "type": "actuator", "unit": "Nm"}}, "description": "MotionManagement for a specific electric axle.", "type": "branch"}}, "description": "MotionManagement for a specific electric axle.", "type": "branch"}, "Steering": {"children": {"Axle": {"children": {"Row1": {"children": {"PositionOffsetTargetMode": {"datatype": "uint8", "description": "Mode used for controlling position offset interface of axle steering actuator. 0 indicates interface disabled. Other values activate vehicle specific modes.", "type": "actuator"}, "PositionTargetMode": {"datatype": "uint8", "description": "Mode used for controlling position interface of axle steering actuator. 0 indicates interface disabled. Other values activate vehicle specific modes.", "type": "actuator"}, "RackPosition": {"comment": "Alternative signal to SteerAngle.", "datatype": "int16", "description": "Represents the current position of the steering rack on axle steering actuator. Positive values leads to a left turn of the vehicle (based on ISO8855).", "type": "sensor", "unit": "mm"}, "RackPositionOffsetTarget": {"comment": "Alternative signal to SteerAngleOffsetTarget.", "datatype": "int16", "description": "Rack position offset request to the axle steering actuator (for steer-by-wire), added to the actuator internal calculated set-point. Positive values without internal calculated set point change lead to a left movement of the vehicle (based on ISO8855).", "type": "actuator", "unit": "mm"}, "RackPositionTarget": {"comment": "Alternative signal to SteerAngleTarget.", "datatype": "int16", "description": "Rack position request to the axle steering actuator (external set-point). Positive values lead to a left turn of the vehicle (based on ISO8855).", "type": "actuator", "unit": "mm"}, "SteerAngle": {"comment": "Alternative signal to RackPosition.", "datatype": "int16", "description": "Represents the current actuated steering angle of the steered wheels. Signal orientation according ISO8855, single track model.", "type": "sensor", "unit": "degrees"}, "SteerAngleOffsetTarget": {"comment": "Alternative signal to RackPositionOffsetTarget.", "datatype": "int16", "description": "Steer angle offset request to the axle steering actuator (for steer-by-wire), added to the actuator internal calculated set-point. Signal orientation according ISO8855, single track model.", "type": "actuator", "unit": "degrees"}, "SteerAngleTarget": {"comment": "Alternative signal to RackPositionTarget.", "datatype": "int16", "description": "Steer angle request to the axle steering actuator (external set-point). Signal orientation according ISO8855, single track model.", "type": "actuator", "unit": "degrees"}}, "description": "MotionManagement related to front axle.", "type": "branch"}, "Row2": {"children": {"SteerAngle": {"datatype": "int16", "description": "Represents the current actuated steering angle of the steered wheels on rear axle. Signal orientation according ISO8855, single track model.", "type": "sensor", "unit": "degrees"}, "SteerAngleTarget": {"datatype": "int16", "description": "Steer angle request to the rear axle steering actuator (external set-point). Signal orientation according ISO8855, single track model.", "type": "actuator", "unit": "degrees"}, "SteerAngleVelocityTarget": {"datatype": "int16", "description": "Requested velocity for steer angle change. Signal orientation according ISO8855. Optional signal to adapt rear wheel steering closed loop control gain.", "type": "actuator", "unit": "degrees/s"}}, "description": "MotionManagement related to rear axle.", "type": "branch"}}, "description": "MotionManagement related to a specific axle.", "type": "branch"}, "SteeringWheel": {"children": {"Angle": {"datatype": "int16", "description": "Represents the current input angle of the steering system, typically corresponds to angle applied by driver on the steering-wheel. Positive for angle in counterclockwise direction (based on ISO8855).", "type": "sensor", "unit": "degrees"}, "AngleTarget": {"datatype": "int16", "description": "Steering-wheel angle request to the steering actuator (external set-point for steer-by-wire). Positive sign for angle in counterclockwise direction (based on ISO8855).", "type": "actuator", "unit": "degrees"}, "AngleTargetMode": {"datatype": "uint8", "description": "Mode used for controlling Steering-wheel angle interface. 0 indicates interface disabled. Other values activate vehicle specific modes.", "type": "actuator"}, "Torque": {"datatype": "int16", "description": "Represents the current input torque for steering system, typically corresponds to torque applied by driver on the steering wheel. Positive for torque in counterclockwise direction (based on ISO8855).", "type": "sensor", "unit": "Nm"}, "TorqueOffsetTarget": {"datatype": "int16", "description": "Steering-wheel torque offset request to the steering actuator, added to the actuator internal calculated target value. Positive sign for torque in counterclockwise direction (based on ISO8855).", "type": "actuator", "unit": "Nm"}, "TorqueOffsetTargetMode": {"datatype": "uint8", "description": "Mode used for controlling steering-wheel torque offset interface. 0 indicates interface disabled. Other values activate vehicle specific modes.", "type": "actuator"}, "TorqueTarget": {"datatype": "int16", "description": "Steering-wheel torque request to the steering actuator (external set-point for steer-by-wire). Positive sign for torque in counterclockwise direction (based on ISO8855).", "type": "actuator", "unit": "Nm"}, "TorqueTargetMode": {"datatype": "uint8", "description": "Mode used for controlling Steering-wheel torque interface. 0 indicates interface disabled. Other values activate vehicle specific modes.", "type": "actuator"}}, "description": "MotionManagement related to steering wheel.", "type": "branch"}}, "description": "MotionManagement related to steering.", "type": "branch"}, "Suspension": {"children": {"Axle": {"children": {"Row1": {"children": {"RollTorque": {"datatype": "int16", "description": "Actuated roll torque on this axle by anti-roll actuator. Signal orientation according to ISO8855.", "type": "sensor", "unit": "Nm"}, "Wheel": {"children": {"Left": {"children": {"DampingForce": {"comment": "Alternative signal to DampingRate.", "datatype": "int16", "description": "Actuated damping force at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards.", "type": "sensor", "unit": "N"}, "DampingForceTarget": {"comment": "Alternative signal to DampingRateTarget.", "datatype": "int16", "description": "Damping force request at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards.", "type": "actuator", "unit": "N"}, "DampingRate": {"comment": "Alternative signal to DampingForce.", "datatype": "uint8", "description": "Actuated damping rate at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "DampingRateTarget": {"comment": "Alternative signal to DampingForceTarget.", "datatype": "uint8", "description": "Damping rate request at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}, "Right": {"children": {"DampingForce": {"comment": "Alternative signal to DampingRate.", "datatype": "int16", "description": "Actuated damping force at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards.", "type": "sensor", "unit": "N"}, "DampingForceTarget": {"comment": "Alternative signal to DampingRateTarget.", "datatype": "int16", "description": "Damping force request at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards.", "type": "actuator", "unit": "N"}, "DampingRate": {"comment": "Alternative signal to DampingForce.", "datatype": "uint8", "description": "Actuated damping rate at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "DampingRateTarget": {"comment": "Alternative signal to DampingForceTarget.", "datatype": "uint8", "description": "Damping rate request at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}}, "description": "MotionManagement for suspension for a specific axle.", "type": "branch"}, "Row2": {"children": {"RollTorque": {"datatype": "int16", "description": "Actuated roll torque on this axle by anti-roll actuator. Signal orientation according to ISO8855.", "type": "sensor", "unit": "Nm"}, "Wheel": {"children": {"Left": {"children": {"DampingForce": {"comment": "Alternative signal to DampingRate.", "datatype": "int16", "description": "Actuated damping force at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards.", "type": "sensor", "unit": "N"}, "DampingForceTarget": {"comment": "Alternative signal to DampingRateTarget.", "datatype": "int16", "description": "Damping force request at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards.", "type": "actuator", "unit": "N"}, "DampingRate": {"comment": "Alternative signal to DampingForce.", "datatype": "uint8", "description": "Actuated damping rate at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "DampingRateTarget": {"comment": "Alternative signal to DampingForceTarget.", "datatype": "uint8", "description": "Damping rate request at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}, "Right": {"children": {"DampingForce": {"comment": "Alternative signal to DampingRate.", "datatype": "int16", "description": "Actuated damping force at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards.", "type": "sensor", "unit": "N"}, "DampingForceTarget": {"comment": "Alternative signal to DampingRateTarget.", "datatype": "int16", "description": "Damping force request at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards.", "type": "actuator", "unit": "N"}, "DampingRate": {"comment": "Alternative signal to DampingForce.", "datatype": "uint8", "description": "Actuated damping rate at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "DampingRateTarget": {"comment": "Alternative signal to DampingForceTarget.", "datatype": "uint8", "description": "Damping rate request at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}}, "description": "MotionManagement signals for a specific wheel.", "type": "branch"}}, "description": "MotionManagement for suspension for a specific axle.", "type": "branch"}}, "description": "MotionManagement for suspension for a specific axle.", "type": "branch"}, "DampingPrioTarget": {"datatype": "uint8", "description": "Prioritization target for damping control 0% = damping control by damping actuator (e.g. base functions) 100% = damping control by VMM system (e.g. vehicle dynamics)", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "RollPrioTarget": {"datatype": "uint8", "description": "Prioritization target for anti-roll control 0% = anti-roll control by anti-roll actuator (e.g. base function) 100% = anti-roll control by VMM system (e.g. vehicle dynamics)", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "RollTorqueDistributionFrontMaximum": {"datatype": "uint8", "description": "Maximum distribution range request of roll torque to front axle. 0% = Complete roll torque shall be shifted to rear axle 100% = Complete roll torque may be shifted to front axle", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "RollTorqueDistributionFrontMinimum": {"datatype": "uint8", "description": "Minimum distribution range request of roll torque to front axle. 0% = Complete roll torque may be shifted to rear axle 100% = Complete roll torque shall be shifted to front axle", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "RollTorqueTarget": {"datatype": "int16", "description": "Roll torque request on vehicle level. Signal orientation according to ISO8855.", "type": "actuator", "unit": "Nm"}}, "description": "MotionManagement related to suspension.", "type": "branch"}}, "description": "Motion Management Information.", "type": "branch"}, "Occupant": {"children": {"Row1": {"children": {"DriverSide": {"children": {"HeadPosition": {"children": {"Pitch": {"datatype": "float", "description": "Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}, "Roll": {"datatype": "float", "description": "Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "X": {"datatype": "int16", "description": "Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle.", "type": "sensor", "unit": "mm"}, "Y": {"datatype": "int16", "description": "Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center.", "type": "sensor", "unit": "mm"}, "Yaw": {"datatype": "float", "description": "Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Z": {"datatype": "int16", "description": "Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point.", "type": "sensor", "unit": "mm"}}, "description": "The current position of the driver head on vehicle axis according to ISO 23150:2023.", "type": "branch"}, "Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch"}, "MidEyeGaze": {"children": {"Azimuth": {"datatype": "float", "description": "Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Elevation": {"datatype": "float", "description": "Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}}, "description": "Direction from mid eye position to object driver is looking at.", "type": "branch"}}, "description": "Occupant (Driver or Passenger) data.", "type": "branch"}, "Middle": {"children": {"HeadPosition": {"children": {"Pitch": {"datatype": "float", "description": "Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}, "Roll": {"datatype": "float", "description": "Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "X": {"datatype": "int16", "description": "Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle.", "type": "sensor", "unit": "mm"}, "Y": {"datatype": "int16", "description": "Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center.", "type": "sensor", "unit": "mm"}, "Yaw": {"datatype": "float", "description": "Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Z": {"datatype": "int16", "description": "Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point.", "type": "sensor", "unit": "mm"}}, "description": "The current position of the driver head on vehicle axis according to ISO 23150:2023.", "type": "branch"}, "Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch"}, "MidEyeGaze": {"children": {"Azimuth": {"datatype": "float", "description": "Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Elevation": {"datatype": "float", "description": "Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}}, "description": "Direction from mid eye position to object driver is looking at.", "type": "branch"}}, "description": "Occupant (Driver or Passenger) data.", "type": "branch"}, "PassengerSide": {"children": {"HeadPosition": {"children": {"Pitch": {"datatype": "float", "description": "Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}, "Roll": {"datatype": "float", "description": "Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "X": {"datatype": "int16", "description": "Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle.", "type": "sensor", "unit": "mm"}, "Y": {"datatype": "int16", "description": "Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center.", "type": "sensor", "unit": "mm"}, "Yaw": {"datatype": "float", "description": "Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Z": {"datatype": "int16", "description": "Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point.", "type": "sensor", "unit": "mm"}}, "description": "The current position of the driver head on vehicle axis according to ISO 23150:2023.", "type": "branch"}, "Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch"}, "MidEyeGaze": {"children": {"Azimuth": {"datatype": "float", "description": "Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Elevation": {"datatype": "float", "description": "Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}}, "description": "Direction from mid eye position to object driver is looking at.", "type": "branch"}}, "description": "Occupant (Driver or Passenger) data.", "type": "branch"}}, "description": "Occupant (Driver or Passenger) data.", "type": "branch"}, "Row2": {"children": {"DriverSide": {"children": {"HeadPosition": {"children": {"Pitch": {"datatype": "float", "description": "Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}, "Roll": {"datatype": "float", "description": "Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "X": {"datatype": "int16", "description": "Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle.", "type": "sensor", "unit": "mm"}, "Y": {"datatype": "int16", "description": "Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center.", "type": "sensor", "unit": "mm"}, "Yaw": {"datatype": "float", "description": "Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Z": {"datatype": "int16", "description": "Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point.", "type": "sensor", "unit": "mm"}}, "description": "The current position of the driver head on vehicle axis according to ISO 23150:2023.", "type": "branch"}, "Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch"}, "MidEyeGaze": {"children": {"Azimuth": {"datatype": "float", "description": "Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Elevation": {"datatype": "float", "description": "Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}}, "description": "Direction from mid eye position to object driver is looking at.", "type": "branch"}}, "description": "Occupant (Driver or Passenger) data.", "type": "branch"}, "Middle": {"children": {"HeadPosition": {"children": {"Pitch": {"datatype": "float", "description": "Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}, "Roll": {"datatype": "float", "description": "Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "X": {"datatype": "int16", "description": "Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle.", "type": "sensor", "unit": "mm"}, "Y": {"datatype": "int16", "description": "Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center.", "type": "sensor", "unit": "mm"}, "Yaw": {"datatype": "float", "description": "Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Z": {"datatype": "int16", "description": "Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point.", "type": "sensor", "unit": "mm"}}, "description": "The current position of the driver head on vehicle axis according to ISO 23150:2023.", "type": "branch"}, "Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch"}, "MidEyeGaze": {"children": {"Azimuth": {"datatype": "float", "description": "Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Elevation": {"datatype": "float", "description": "Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}}, "description": "Direction from mid eye position to object driver is looking at.", "type": "branch"}}, "description": "Occupant (Driver or Passenger) data.", "type": "branch"}, "PassengerSide": {"children": {"HeadPosition": {"children": {"Pitch": {"datatype": "float", "description": "Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}, "Roll": {"datatype": "float", "description": "Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "X": {"datatype": "int16", "description": "Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle.", "type": "sensor", "unit": "mm"}, "Y": {"datatype": "int16", "description": "Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center.", "type": "sensor", "unit": "mm"}, "Yaw": {"datatype": "float", "description": "Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Z": {"datatype": "int16", "description": "Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point.", "type": "sensor", "unit": "mm"}}, "description": "The current position of the driver head on vehicle axis according to ISO 23150:2023.", "type": "branch"}, "Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch"}, "MidEyeGaze": {"children": {"Azimuth": {"datatype": "float", "description": "Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}, "Elevation": {"datatype": "float", "description": "Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}}, "description": "Direction from mid eye position to object driver is looking at.", "type": "branch"}}, "description": "Occupant (Driver or Passenger) data.", "type": "branch"}}, "description": "Occupant (Driver or Passenger) data.", "type": "branch"}}, "description": "Occupant (Driver or Passenger) data.", "type": "branch"}, "PowerOptimizeLevel": {"datatype": "uint8", "description": "Power optimization level for this branch/subsystem. A higher number indicates more aggressive power optimization. Level 0 indicates that all functionality is enabled, no power optimization enabled. Level 10 indicates most aggressive power optimization mode, only essential functionality enabled.", "max": 10, "min": 0, "type": "actuator"}, "Powertrain": {"children": {"AccumulatedBrakingEnergy": {"datatype": "float", "description": "The accumulated energy from regenerative braking over lifetime.", "type": "sensor", "unit": "kWh"}, "CombustionEngine": {"children": {"AspirationType": {"allowed": ["UNKNOWN", "NATURAL", "SUPERCHARGER", "TURBOCHARGER"], "datatype": "string", "default": "UNKNOWN", "description": "Type of aspiration (natural, turbocharger, supercharger etc).", "type": "attribute"}, "Bore": {"datatype": "float", "description": "Bore in millimetres.", "type": "attribute", "unit": "mm"}, "CompressionRatio": {"datatype": "string", "description": "Engine compression ratio, specified in the format 'X:1', e.g. '9.2:1'.", "type": "attribute"}, "Configuration": {"allowed": ["UNKNOWN", "STRAIGHT", "V", "BOXER", "W", "ROTARY", "RADIAL", "SQUARE", "H", "U", "OPPOSED", "X"], "datatype": "string", "default": "UNKNOWN", "description": "Engine configuration.", "type": "attribute"}, "DieselExhaustFluid": {"children": {"Capacity": {"datatype": "float", "description": "Capacity in liters of the Diesel Exhaust Fluid Tank.", "type": "attribute", "unit": "l"}, "IsLevelLow": {"datatype": "boolean", "description": "Indicates if the Diesel Exhaust Fluid level is low. True if level is low. Definition of low is vehicle dependent.", "type": "sensor"}, "Level": {"datatype": "uint8", "description": "Level of the Diesel Exhaust Fluid tank as percent of capacity. 0 = empty. 100 = full.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters of the Diesel Exhaust Fluid present in the vehicle.", "type": "sensor", "unit": "m"}}, "comment": "In retail and marketing other names are typically used for the fluid.", "description": "Signals related to Diesel Exhaust Fluid (DEF). DEF is called AUS32 in ISO 22241.", "type": "branch"}, "DieselParticulateFilter": {"children": {"DeltaPressure": {"datatype": "float", "description": "Delta Pressure of Diesel Particulate Filter.", "type": "sensor", "unit": "Pa"}, "InletTemperature": {"datatype": "float", "description": "Inlet temperature of Diesel Particulate Filter.", "type": "sensor", "unit": "Celsius"}, "OutletTemperature": {"datatype": "float", "description": "Outlet temperature of Diesel Particulate Filter.", "type": "sensor", "unit": "Celsius"}}, "description": "Diesel Particulate Filter signals.", "type": "branch"}, "Displacement": {"datatype": "uint16", "description": "Displacement in cubic centimetres.", "type": "attribute", "unit": "cm^3"}, "EOP": {"datatype": "uint16", "description": "Engine oil pressure.", "type": "sensor", "unit": "kPa"}, "EngineCode": {"comment": "For hybrid vehicles the engine code may refer to the combination of combustion and electric engine.", "datatype": "string", "description": "Engine code designation, as specified by vehicle manufacturer.", "type": "attribute"}, "EngineCoolant": {"children": {"Capacity": {"datatype": "float", "description": "Engine coolant capacity in liters.", "type": "attribute", "unit": "l"}, "Level": {"allowed": ["CRITICALLY_LOW", "LOW", "NORMAL"], "datatype": "string", "description": "Engine coolant level.", "type": "sensor"}, "LifeRemaining": {"comment": "In addition to this a signal a vehicle can report remaining time to service (including e.g. coolant change) by Vehicle.Service.TimeToService.", "datatype": "int32", "description": "Remaining engine coolant life in seconds. Negative values can be used to indicate that lifetime has been exceeded.", "type": "sensor", "unit": "s"}, "Temperature": {"datatype": "float", "description": "Engine coolant temperature.", "type": "sensor", "unit": "Celsius"}}, "description": "Signals related to the engine coolant", "type": "branch"}, "EngineHours": {"datatype": "float", "description": "Accumulated time during engine lifetime with 'engine speed (rpm) > 0'.", "type": "sensor", "unit": "h"}, "EngineOil": {"children": {"Capacity": {"datatype": "float", "description": "Engine oil capacity in liters.", "type": "attribute", "unit": "l"}, "Level": {"allowed": ["CRITICALLY_LOW", "LOW", "NORMAL", "HIGH", "CRITICALLY_HIGH"], "datatype": "string", "description": "Engine oil level.", "type": "sensor"}, "LifeRemaining": {"comment": "In addition to this a signal a vehicle can report remaining time to service (including e.g. oil change) by Vehicle.Service.TimeToService.", "datatype": "int32", "description": "Remaining engine oil life in seconds. Negative values can be used to indicate that lifetime has been exceeded.", "type": "sensor", "unit": "s"}, "Temperature": {"datatype": "float", "description": "EOT, Engine oil temperature.", "type": "sensor", "unit": "Celsius"}}, "description": "Signals related to the engine oil", "type": "branch"}, "IdleHours": {"comment": "Vehicles may calculate accumulated idle time for an engine. It might be based on engine speed (rpm) below a certain limit or any other mechanism.", "datatype": "float", "description": "Accumulated idling time during engine lifetime. Definition of idling is not standardized.", "type": "sensor", "unit": "h"}, "IsRunning": {"datatype": "boolean", "description": "Engine Running. True if engine is rotating (Speed > 0).", "type": "sensor"}, "MAF": {"datatype": "uint16", "description": "Grams of air drawn into engine per second.", "type": "sensor", "unit": "g/s"}, "MAP": {"datatype": "uint16", "description": "Manifold absolute pressure possibly boosted using forced induction.", "type": "sensor", "unit": "kPa"}, "MaxPower": {"datatype": "uint16", "default": 0, "description": "Peak power, in kilowatts, that engine can generate.", "type": "attribute", "unit": "kW"}, "MaxTorque": {"datatype": "uint16", "default": 0, "description": "Peak torque, in newton meter, that the engine can generate.", "type": "attribute", "unit": "Nm"}, "NumberOfCylinders": {"datatype": "uint16", "description": "Number of cylinders.", "type": "attribute"}, "NumberOfValvesPerCylinder": {"datatype": "uint16", "description": "Number of valves per cylinder.", "type": "attribute"}, "Power": {"datatype": "uint16", "description": "Current engine power output. Shall be reported as 0 during engine breaking.", "type": "sensor", "unit": "kW"}, "Speed": {"datatype": "float", "description": "Engine speed measured as rotations per minute.", "type": "sensor", "unit": "rpm"}, "StrokeLength": {"datatype": "float", "description": "Stroke length in millimetres.", "type": "attribute", "unit": "mm"}, "TPS": {"datatype": "uint8", "description": "Current throttle position.", "max": 100, "type": "sensor", "unit": "percent"}, "Torque": {"comment": "During engine breaking the engine delivers a negative torque to the transmission.", "datatype": "int16", "description": "Current engine torque. Shall be reported as a negative number during engine breaking.", "type": "sensor", "unit": "Nm"}}, "description": "Engine-specific data, stopping at the bell housing.", "type": "branch"}, "ElectricMotor": {"children": {"EngineCode": {"datatype": "string", "description": "Engine code designation, as specified by vehicle manufacturer.", "type": "attribute"}, "EngineCoolant": {"children": {"Capacity": {"datatype": "float", "description": "Engine coolant capacity in liters.", "type": "attribute", "unit": "l"}, "Level": {"allowed": ["CRITICALLY_LOW", "LOW", "NORMAL"], "datatype": "string", "description": "Engine coolant level.", "type": "sensor"}, "LifeRemaining": {"comment": "In addition to this a signal a vehicle can report remaining time to service (including e.g. coolant change) by Vehicle.Service.TimeToService.", "datatype": "int32", "description": "Remaining engine coolant life in seconds. Negative values can be used to indicate that lifetime has been exceeded.", "type": "sensor", "unit": "s"}, "Temperature": {"datatype": "float", "description": "Engine coolant temperature.", "type": "sensor", "unit": "Celsius"}}, "description": "Signals related to the engine coolant (if applicable).", "type": "branch"}, "MaxPower": {"datatype": "uint16", "default": 0, "description": "Peak power, in kilowatts, that motor(s) can generate.", "type": "attribute", "unit": "kW"}, "MaxRegenPower": {"datatype": "uint16", "default": 0, "description": "Peak regen/brake power, in kilowatts, that motor(s) can generate.", "type": "attribute", "unit": "kW"}, "MaxRegenTorque": {"datatype": "uint16", "default": 0, "description": "Peak regen/brake torque, in newton meter, that the motor(s) can generate.", "type": "attribute", "unit": "Nm"}, "MaxTorque": {"datatype": "uint16", "default": 0, "description": "Peak power, in newton meter, that the motor(s) can generate.", "type": "attribute", "unit": "Nm"}, "Power": {"datatype": "int16", "description": "Current motor power output. Negative values indicate regen mode.", "type": "sensor", "unit": "kW"}, "Speed": {"datatype": "float", "description": "Motor rotational speed measured as rotations per minute. Negative values indicate reverse driving mode.", "type": "sensor", "unit": "rpm"}, "Temperature": {"datatype": "float", "description": "Motor temperature.", "type": "sensor", "unit": "Celsius"}, "TimeInUse": {"comment": "Vehicles may define their READY state.", "datatype": "float", "description": "Accumulated time during engine lifetime when the vehicule state's is 'READY'.", "type": "sensor", "unit": "h"}, "Torque": {"datatype": "int16", "description": "Current motor torque. Negative values indicate regen mode.", "type": "sensor", "unit": "Nm"}}, "description": "Electric Motor specific data.", "type": "branch"}, "FuelSystem": {"children": {"AbsoluteLevel": {"datatype": "float", "description": "Current available fuel in the fuel tank expressed in liters.", "type": "sensor", "unit": "l"}, "AverageConsumption": {"datatype": "float", "description": "Average consumption in liters per 100 km.", "min": 0, "type": "sensor", "unit": "l/100km"}, "ConsumptionSinceLastRefuel": {"comment": "Amount of fuel consumed since last refueling.", "datatype": "float", "description": "Fuel consumption since last refueling.", "type": "sensor", "unit": "l"}, "ConsumptionSinceStart": {"comment": "A new trip is considered to start when engine gets enabled (e.g. LowVoltageSystemState in ON or START mode). A trip is considered to end when engine is no longer enabled. The signal may however keep the value of the last trip until a new trip is started.", "datatype": "float", "description": "Fuel amount in liters consumed since start of current trip.", "type": "sensor", "unit": "l"}, "HybridType": {"allowed": ["UNKNOWN", "NOT_APPLICABLE", "STOP_START", "BELT_ISG", "CIMG", "PHEV"], "datatype": "string", "default": "UNKNOWN", "description": "Defines the hybrid type of the vehicle.", "type": "attribute"}, "InstantConsumption": {"datatype": "float", "description": "Current consumption in liters per 100 km.", "min": 0, "type": "sensor", "unit": "l/100km"}, "IsEngineStopStartEnabled": {"datatype": "boolean", "description": "Indicates whether eco start stop is currently enabled.", "type": "sensor"}, "IsFuelLevelEmpty": {"comment": "When this signal is true, the fuel gauge displays empty (0), but the vehicle typically still has reserve fuel allowing for some additional driving range depending on the vehicle design. This represents the displayed empty state, not actual tank empty condition.", "datatype": "boolean", "description": "Indicates that the fuel gauge on the instrument cluster displays empty (0).", "type": "sensor"}, "IsFuelLevelLow": {"datatype": "boolean", "description": "Indicates that the fuel level is low (e.g. <50km range).", "type": "sensor"}, "IsFuelPortFlapOpen": {"datatype": "boolean", "description": "Status of the fuel port flap(s). True if at least one is open.", "type": "actuator"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using only liquid fuel.", "type": "sensor", "unit": "m"}, "RefuelPortPosition": {"allowed": ["FRONT_LEFT", "FRONT_MIDDLE", "FRONT_RIGHT", "REAR_LEFT", "REAR_MIDDLE", "REAR_RIGHT", "LEFT_FRONT", "LEFT_MIDDLE", "LEFT_REAR", "RIGHT_FRONT", "RIGHT_MIDDLE", "RIGHT_REAR"], "datatype": "string[]", "description": "Position of refuel port(s). First part indicates side of vehicle, second part relative position on that side.", "type": "attribute"}, "RelativeLevel": {"datatype": "uint8", "description": "Level in fuel tank as percent of capacity. 0 = empty. 100 = full.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "SupportedFuel": {"allowed": ["E5_95", "E5_98", "E10_95", "E10_98", "E85", "B7", "B10", "B20", "B30", "B100", "XTL", "LPG", "CNG", "LNG", "H2", "OTHER"], "comment": "RON 95 is sometimes referred to as Super, RON 98 as Super Plus.", "datatype": "string[]", "description": "Detailed information on fuels supported by the vehicle. Identifiers originating from DIN EN 16942:2021-08, appendix B, with additional suffix for octane (RON) where relevant.", "type": "attribute"}, "SupportedFuelTypes": {"allowed": ["GASOLINE", "DIESEL", "E85", "LPG", "CNG", "LNG", "H2", "OTHER"], "comment": "If a vehicle also has an electric drivetrain (e.g. hybrid) that will be obvious from the PowerTrain.Type signal.", "datatype": "string[]", "description": "High level information of fuel types supported", "type": "attribute"}, "TankCapacity": {"datatype": "float", "description": "Capacity of the fuel tank in liters.", "type": "attribute", "unit": "l"}, "TimeRemaining": {"datatype": "uint32", "description": "Time remaining in seconds before the fuel tank is empty.", "type": "sensor", "unit": "s"}}, "description": "Fuel system data.", "type": "branch"}, "IsAutoPowerOptimize": {"datatype": "boolean", "description": "Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed.", "type": "actuator"}, "PowerOptimizeLevel": {"datatype": "uint8", "description": "Power optimization level for this branch/subsystem. A higher number indicates more aggressive power optimization. Level 0 indicates that all functionality is enabled, no power optimization enabled. Level 10 indicates most aggressive power optimization mode, only essential functionality enabled.", "max": 10, "min": 0, "type": "actuator"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using all energy sources available in the vehicle.", "type": "sensor", "unit": "m"}, "RangeExtender": {"children": {"ChargeDepleting": {"children": {"EnergyConsumption": {"comment": "This value represents the instantaneous or short-term average electric energy consumption while the vehicle is operating in CD mode. It is calculated based on the electrical energy drawn from the traction battery per distance traveled. This metric is analogous to fuel consumption but measured in electrical energy units. A lower value indicates more efficient electric operation.", "datatype": "float", "description": "Current electric energy consumption rate during Charge Depleting mode operation.", "type": "sensor", "unit": "kWh/100km"}, "Range": {"comment": "This range estimate is calculated based on the current battery state of charge and the recent energy consumption patterns in CD mode. The estimate may vary based on driving conditions, terrain, climate control usage, and other factors affecting battery consumption. When this range approaches zero, the vehicle will typically transition to Charge Sustaining mode.", "datatype": "uint32", "description": "Estimated remaining distance that can be traveled in Charge Depleting mode using available battery energy.", "type": "sensor", "unit": "m"}}, "comment": "CD mode represents the electric-only or electric-primary operation of the EREV. During this mode, the vehicle maximizes the use of battery energy before the engine is engaged.", "description": "Signals related to Charge Depleting (CD) mode operation.", "type": "branch"}, "ChargeSustaining": {"children": {"FuelEconomy": {"comment": "This value represents the fuel efficiency when the engine is operating as a generator to maintain battery charge. It differs from conventional vehicle fuel economy because the engine is optimized to run at efficient generator speeds rather than varying speeds for direct wheel propulsion. The actual fuel economy in CS mode may be different from the vehicle's rated CS mode fuel economy depending on driving conditions and power demands.", "datatype": "float", "description": "Current fuel economy during Charge Sustaining mode operation.", "type": "sensor", "unit": "km/l"}, "Range": {"comment": "This range estimate is calculated based on the current fuel level and recent fuel consumption patterns in CS mode. It represents the extended range capability provided by the internal combustion engine. The total vehicle range is the sum of CD mode range and CS mode range.", "datatype": "uint32", "description": "Estimated remaining distance that can be traveled in Charge Sustaining mode using available fuel.", "type": "sensor", "unit": "m"}}, "comment": "CS mode represents the range-extended operation where the internal combustion engine operates as a generator to maintain battery charge and provide extended driving range. During this mode, fuel consumption becomes the primary energy source metric.", "description": "Signals related to Charge Sustaining (CS) mode operation.", "type": "branch"}, "CombinedFuelEconomy": {"comment": "This metric provides a unified measure of overall vehicle efficiency by converting electric energy consumption to a fuel-equivalent value and combining it with actual fuel consumption. The calculation typically follows regulatory standards (such as EPA MPGe) that define the equivalence between electrical energy and liquid fuel energy. For example, EPA defines 33.7 kWh as equivalent to one gallon of gasoline. This combined metric is useful for comparing EREV efficiency with conventional vehicles and understanding the overall energy cost of operation. The value is weighted based on the proportion of driving in CD versus CS modes.", "datatype": "float", "description": "Combined fuel economy equivalent that accounts for both electric energy and fuel consumption.", "type": "sensor", "unit": "km/l"}, "OperatingMode": {"allowed": ["CHARGE_DEPLETING", "CHARGE_SUSTAINING", "BLENDED"], "comment": "CHARGE_DEPLETING (CD) - Vehicle operates primarily on battery power, battery SOC decreases. CHARGE_SUSTAINING (CS) - Engine operates as generator to maintain battery charge level. BLENDED - Both battery and engine are used simultaneously, typically during high power demands. The mode transition typically occurs automatically based on battery state of charge thresholds.", "datatype": "string", "description": "Current operating mode of the Extended Range Electric Vehicle.", "type": "sensor"}}, "description": "Extended Range Electric Vehicle (EREV) specific data.", "type": "branch"}, "TimeRemaining": {"datatype": "uint32", "description": "Time remaining in seconds before all energy sources available in the vehicle are empty.", "type": "sensor", "unit": "s"}, "TractionBattery": {"children": {"AccumulatedChargedEnergy": {"datatype": "float", "description": "The accumulated energy delivered to the battery during charging over lifetime of the battery.", "type": "sensor", "unit": "kWh"}, "AccumulatedChargedThroughput": {"datatype": "float", "description": "The accumulated charge throughput delivered to the battery during charging over lifetime of the battery.", "type": "sensor", "unit": "Ah"}, "AccumulatedConsumedEnergy": {"datatype": "float", "description": "The accumulated energy leaving HV battery for propulsion and auxiliary loads over lifetime of the battery.", "type": "sensor", "unit": "kWh"}, "AccumulatedConsumedThroughput": {"datatype": "float", "description": "The accumulated charge throughput leaving HV battery for propulsion and auxiliary loads over lifetime of the battery.", "type": "sensor", "unit": "Ah"}, "BatteryConditioning": {"children": {"IsActive": {"comment": "This signal is typically true when mode is not INACTIVE and time is within defined start/end times.", "datatype": "boolean", "description": "Indicates if battery conditioning is active (i.e. actively monitors battery temperature). True = Active. False = Inactive.", "type": "sensor"}, "IsOngoing": {"comment": "When battery conditioning is active, but temperature is already within acceptable range so that no cooling or heating is needed then IsOngoing shall report False.", "datatype": "boolean", "description": "Indicating if battery conditioning is currently ongoing. Battery conditioning is considered ongoing when the battery conditioning system is actively heating or cooling the battery, or requesting heating or cooling.", "type": "sensor"}, "RequestedMode": {"allowed": ["INACTIVE", "FAST_CHARGING_PREPARATION", "DRIVING_PREPARATION"], "comment": "The Mode and TargetTime can be used to calculate TargetTemperature and StartTime", "datatype": "string", "description": "Defines requested mode for battery conditioning. INACTIVE - Battery conditioning inactive. FAST_CHARGING_PREPARATION - Battery conditioning for fast charging. DRIVING_PREPARATION - Battery conditioning for driving.", "type": "actuator"}, "StartTime": {"comment": "If the vehicle is asleep, this is the time the vehicle and the battery conditioning system must wake up and start monitoring the battery and if necessary start heating/cooling of the battery.", "datatype": "string", "description": "Start time for battery conditioning, formatted according to ISO 8601 with UTC time zone.", "type": "actuator", "unit": "iso8601"}, "TargetTemperature": {"comment": "Target temperature possibly differs between different modes as well as other factors. Allowed deviation from target temperature is implementation dependent.", "datatype": "float", "description": "Target temperature for battery conditioning.", "type": "actuator", "unit": "Celsius"}, "TargetTime": {"comment": "For FAST_CHARGING mode this is typically the time when charging is supposed to start. For DRIVING mode this is typically the expected departure time. Battery conditioning will be deactivated when this time has passed.", "datatype": "string", "description": "Target time when conditioning shall be finished, formatted according to ISO 8601 with UTC time zone.", "type": "actuator", "unit": "iso8601"}}, "description": "Properties related to preparing the vehicle battery for charging or driving.", "type": "branch"}, "CellVoltage": {"children": {"CellVoltages": {"comment": "Cells are identified by relative position in array.", "datatype": "float[]", "description": "Array of cell voltages. Length or array shall correspond to number of cells in vehicle.", "type": "sensor"}, "IdMax": {"comment": "Identifier is supposed to be relative index of the cell, starting with 0 the first cell.", "datatype": "uint16", "description": "Identifier of the battery cell with highest voltage.", "type": "sensor"}, "IdMin": {"comment": "Identifier is supposed to be relative index of the cell, starting with 0 the first cell.", "datatype": "uint16", "description": "Identifier of the battery cell with lowest voltage.", "type": "sensor"}, "Max": {"datatype": "float", "description": "Current voltage of the battery cell with highest voltage.", "type": "sensor", "unit": "V"}, "Min": {"datatype": "float", "description": "Current voltage of the battery cell with lowest voltage.", "type": "sensor", "unit": "V"}}, "description": "Voltage information for cells in the battery pack.", "type": "branch"}, "Charging": {"children": {"AveragePower": {"datatype": "float", "description": "Average charging power of last or current charging event.", "type": "sensor", "unit": "kW"}, "ChargeCurrent": {"children": {"DC": {"datatype": "float", "description": "Current DC charging current at inlet. Negative if returning energy to grid.", "type": "sensor", "unit": "A"}, "Phase1": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 1. Negative if returning energy to grid.", "type": "sensor", "unit": "A"}, "Phase2": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 2. Negative if returning energy to grid.", "type": "sensor", "unit": "A"}, "Phase3": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 3. Negative if returning energy to grid.", "type": "sensor", "unit": "A"}}, "description": "Current charging current.", "type": "branch"}, "ChargeLimit": {"datatype": "uint8", "default": 100, "description": "Target charge limit (state of charge) for battery.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "ChargeRate": {"datatype": "float", "description": "Current charging rate, as in kilometers of range added per hour.", "type": "sensor", "unit": "km/h"}, "ChargeVoltage": {"children": {"DC": {"datatype": "float", "description": "Current DC charging voltage at charging inlet.", "type": "sensor", "unit": "V"}, "Phase1": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 1.", "type": "sensor", "unit": "V"}, "Phase2": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 2.", "type": "sensor", "unit": "V"}, "Phase3": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 3.", "type": "sensor", "unit": "V"}}, "description": "Current charging voltage, as measured at the charging inlet.", "type": "branch"}, "ChargingPort": {"children": {"AnyPosition": {"children": {"IsChargingCableConnected": {"datatype": "boolean", "description": "Indicates whether a charging cable is physically connected to a particular charging port or not.", "type": "sensor"}, "IsChargingCableLocked": {"comment": "Locking of charging cable can be used to prevent unintentional removing during charging.", "datatype": "boolean", "description": "Is charging cable locked to prevent removal.", "type": "actuator"}, "IsFlapOpen": {"comment": "True = at least one flap of this port is open, False = All flaps of this port are closed.", "datatype": "boolean", "description": "Status of the charging port flap(s).", "type": "actuator"}, "SupportedInletTypes": {"allowed": ["IEC_TYPE_1_AC", "IEC_TYPE_2_AC", "IEC_TYPE_3_AC", "IEC_TYPE_4_DC", "IEC_TYPE_1_CCS_DC", "IEC_TYPE_2_CCS_DC", "TESLA_ROADSTER", "TESLA_HPWC", "TESLA_SUPERCHARGER", "GBT_AC", "GBT_DC", "OTHER"], "comment": "A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196.", "datatype": "string[]", "description": "A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", "type": "attribute"}}, "comment": "If a vehicle has a single charging port, then use the instance AnyPosition.", "description": "Properties related to a particular charging port available in the vehicle.", "type": "branch"}, "FrontLeft": {"children": {"IsChargingCableConnected": {"datatype": "boolean", "description": "Indicates whether a charging cable is physically connected to a particular charging port or not.", "type": "sensor"}, "IsChargingCableLocked": {"comment": "Locking of charging cable can be used to prevent unintentional removing during charging.", "datatype": "boolean", "description": "Is charging cable locked to prevent removal.", "type": "actuator"}, "IsFlapOpen": {"comment": "True = at least one flap of this port is open, False = All flaps of this port are closed.", "datatype": "boolean", "description": "Status of the charging port flap(s).", "type": "actuator"}, "SupportedInletTypes": {"allowed": ["IEC_TYPE_1_AC", "IEC_TYPE_2_AC", "IEC_TYPE_3_AC", "IEC_TYPE_4_DC", "IEC_TYPE_1_CCS_DC", "IEC_TYPE_2_CCS_DC", "TESLA_ROADSTER", "TESLA_HPWC", "TESLA_SUPERCHARGER", "GBT_AC", "GBT_DC", "OTHER"], "comment": "A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196.", "datatype": "string[]", "description": "A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", "type": "attribute"}}, "comment": "If a vehicle has a single charging port, then use the instance AnyPosition.", "description": "Properties related to a particular charging port available in the vehicle.", "type": "branch"}, "FrontMiddle": {"children": {"IsChargingCableConnected": {"datatype": "boolean", "description": "Indicates whether a charging cable is physically connected to a particular charging port or not.", "type": "sensor"}, "IsChargingCableLocked": {"comment": "Locking of charging cable can be used to prevent unintentional removing during charging.", "datatype": "boolean", "description": "Is charging cable locked to prevent removal.", "type": "actuator"}, "IsFlapOpen": {"comment": "True = at least one flap of this port is open, False = All flaps of this port are closed.", "datatype": "boolean", "description": "Status of the charging port flap(s).", "type": "actuator"}, "SupportedInletTypes": {"allowed": ["IEC_TYPE_1_AC", "IEC_TYPE_2_AC", "IEC_TYPE_3_AC", "IEC_TYPE_4_DC", "IEC_TYPE_1_CCS_DC", "IEC_TYPE_2_CCS_DC", "TESLA_ROADSTER", "TESLA_HPWC", "TESLA_SUPERCHARGER", "GBT_AC", "GBT_DC", "OTHER"], "comment": "A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196.", "datatype": "string[]", "description": "A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", "type": "attribute"}}, "comment": "If a vehicle has a single charging port, then use the instance AnyPosition.", "description": "Properties related to a particular charging port available in the vehicle.", "type": "branch"}, "FrontRight": {"children": {"IsChargingCableConnected": {"datatype": "boolean", "description": "Indicates whether a charging cable is physically connected to a particular charging port or not.", "type": "sensor"}, "IsChargingCableLocked": {"comment": "Locking of charging cable can be used to prevent unintentional removing during charging.", "datatype": "boolean", "description": "Is charging cable locked to prevent removal.", "type": "actuator"}, "IsFlapOpen": {"comment": "True = at least one flap of this port is open, False = All flaps of this port are closed.", "datatype": "boolean", "description": "Status of the charging port flap(s).", "type": "actuator"}, "SupportedInletTypes": {"allowed": ["IEC_TYPE_1_AC", "IEC_TYPE_2_AC", "IEC_TYPE_3_AC", "IEC_TYPE_4_DC", "IEC_TYPE_1_CCS_DC", "IEC_TYPE_2_CCS_DC", "TESLA_ROADSTER", "TESLA_HPWC", "TESLA_SUPERCHARGER", "GBT_AC", "GBT_DC", "OTHER"], "comment": "A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196.", "datatype": "string[]", "description": "A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", "type": "attribute"}}, "comment": "If a vehicle has a single charging port, then use the instance AnyPosition.", "description": "Properties related to a particular charging port available in the vehicle.", "type": "branch"}, "RearLeft": {"children": {"IsChargingCableConnected": {"datatype": "boolean", "description": "Indicates whether a charging cable is physically connected to a particular charging port or not.", "type": "sensor"}, "IsChargingCableLocked": {"comment": "Locking of charging cable can be used to prevent unintentional removing during charging.", "datatype": "boolean", "description": "Is charging cable locked to prevent removal.", "type": "actuator"}, "IsFlapOpen": {"comment": "True = at least one flap of this port is open, False = All flaps of this port are closed.", "datatype": "boolean", "description": "Status of the charging port flap(s).", "type": "actuator"}, "SupportedInletTypes": {"allowed": ["IEC_TYPE_1_AC", "IEC_TYPE_2_AC", "IEC_TYPE_3_AC", "IEC_TYPE_4_DC", "IEC_TYPE_1_CCS_DC", "IEC_TYPE_2_CCS_DC", "TESLA_ROADSTER", "TESLA_HPWC", "TESLA_SUPERCHARGER", "GBT_AC", "GBT_DC", "OTHER"], "comment": "A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196.", "datatype": "string[]", "description": "A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", "type": "attribute"}}, "comment": "If a vehicle has a single charging port, then use the instance AnyPosition.", "description": "Properties related to a particular charging port available in the vehicle.", "type": "branch"}, "RearMiddle": {"children": {"IsChargingCableConnected": {"datatype": "boolean", "description": "Indicates whether a charging cable is physically connected to a particular charging port or not.", "type": "sensor"}, "IsChargingCableLocked": {"comment": "Locking of charging cable can be used to prevent unintentional removing during charging.", "datatype": "boolean", "description": "Is charging cable locked to prevent removal.", "type": "actuator"}, "IsFlapOpen": {"comment": "True = at least one flap of this port is open, False = All flaps of this port are closed.", "datatype": "boolean", "description": "Status of the charging port flap(s).", "type": "actuator"}, "SupportedInletTypes": {"allowed": ["IEC_TYPE_1_AC", "IEC_TYPE_2_AC", "IEC_TYPE_3_AC", "IEC_TYPE_4_DC", "IEC_TYPE_1_CCS_DC", "IEC_TYPE_2_CCS_DC", "TESLA_ROADSTER", "TESLA_HPWC", "TESLA_SUPERCHARGER", "GBT_AC", "GBT_DC", "OTHER"], "comment": "A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196.", "datatype": "string[]", "description": "A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", "type": "attribute"}}, "comment": "If a vehicle has a single charging port, then use the instance AnyPosition.", "description": "Properties related to a particular charging port available in the vehicle.", "type": "branch"}, "RearRight": {"children": {"IsChargingCableConnected": {"datatype": "boolean", "description": "Indicates whether a charging cable is physically connected to a particular charging port or not.", "type": "sensor"}, "IsChargingCableLocked": {"comment": "Locking of charging cable can be used to prevent unintentional removing during charging.", "datatype": "boolean", "description": "Is charging cable locked to prevent removal.", "type": "actuator"}, "IsFlapOpen": {"comment": "True = at least one flap of this port is open, False = All flaps of this port are closed.", "datatype": "boolean", "description": "Status of the charging port flap(s).", "type": "actuator"}, "SupportedInletTypes": {"allowed": ["IEC_TYPE_1_AC", "IEC_TYPE_2_AC", "IEC_TYPE_3_AC", "IEC_TYPE_4_DC", "IEC_TYPE_1_CCS_DC", "IEC_TYPE_2_CCS_DC", "TESLA_ROADSTER", "TESLA_HPWC", "TESLA_SUPERCHARGER", "GBT_AC", "GBT_DC", "OTHER"], "comment": "A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196.", "datatype": "string[]", "description": "A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", "type": "attribute"}}, "comment": "If a vehicle has a single charging port, then use the instance AnyPosition.", "description": "Properties related to a particular charging port available in the vehicle.", "type": "branch"}}, "comment": "If a vehicle has a single charging port, then use the instance AnyPosition.", "description": "Properties related to a particular charging port available in the vehicle.", "type": "branch"}, "EvseId": {"comment": "Length of id between 7 and 37 characters. ZZ00000 to be used if SECC cannot provide id", "datatype": "string", "description": "EVSE charging point ID (without separators) of last or current charging event according to ISO 15118-2 Annex H.", "type": "sensor"}, "IsCharging": {"datatype": "boolean", "description": "True if charging is ongoing. Charging is considered to be ongoing if energy is flowing from charger to vehicle.", "type": "sensor"}, "IsDischarging": {"datatype": "boolean", "description": "True if discharging (vehicle to grid) is ongoing. Discharging is considered to be ongoing if energy is flowing from vehicle to charger/grid.", "type": "sensor"}, "Location": {"children": {"Altitude": {"datatype": "double", "description": "Altitude relative to WGS 84 reference ellipsoid of last or current charging event.", "type": "sensor", "unit": "m"}, "Latitude": {"datatype": "double", "description": "Latitude of last or current charging event in WGS 84 geodetic coordinates.", "max": 90, "min": -90, "type": "sensor", "unit": "degrees"}, "Longitude": {"datatype": "double", "description": "Longitude of last or current charging event in WGS 84 geodetic coordinates.", "max": 180, "min": -180, "type": "sensor", "unit": "degrees"}}, "comment": "This may depending on implementation represent the location of (the charge port of) the vehicle during charging, or the actual location of the charger/load connected to the vehicle.", "description": "Location of last or current charging event.", "type": "branch"}, "MaxPower": {"datatype": "float", "description": "Maximum charging power of last or current charging event.", "type": "sensor", "unit": "kW"}, "MaximumChargingCurrent": {"children": {"DC": {"datatype": "float", "description": "Maximum DC charging current at inlet that can be accepted by the system.", "type": "sensor", "unit": "A"}, "Phase1": {"datatype": "float", "description": "Maximum AC charging current (rms) at inlet for Phase 1 that can be accepted by the system.", "type": "sensor", "unit": "A"}, "Phase2": {"datatype": "float", "description": "Maximum AC charging current (rms) at inlet for Phase 2 that can be accepted by the system.", "type": "sensor", "unit": "A"}, "Phase3": {"datatype": "float", "description": "Maximum AC charging current (rms) at inlet for Phase 3 that can be accepted by the system.", "type": "sensor", "unit": "A"}}, "description": "Maximum charging current that can be accepted by the system, as measured at the charging inlet.", "type": "branch"}, "PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside the AC/DC converter.", "type": "sensor", "unit": "W"}, "StartStopCharging": {"allowed": ["START", "STOP"], "datatype": "string", "description": "Start or stop the charging process.", "type": "actuator"}, "Temperature": {"datatype": "float", "description": "Current temperature of AC/DC converter converting grid voltage to battery voltage.", "type": "sensor", "unit": "Celsius"}, "TimeToComplete": {"comment": "Shall consider time set by Charging.Timer.Time. E.g. if charging shall start in 3 hours and 2 hours of charging is needed, then Charging.TimeToComplete shall report 5 hours.", "datatype": "uint32", "description": "The time needed for the current charging process to reach Charging.ChargeLimit. 0 if charging is complete or no charging process is active or planned.", "type": "sensor", "unit": "s"}, "Timer": {"children": {"Mode": {"allowed": ["INACTIVE", "START_TIME", "END_TIME"], "datatype": "string", "description": "Defines timer mode for charging: INACTIVE - no timer set, charging may start as soon as battery is connected to a charger. START_TIME - charging shall start at Charging.Timer.Time. END_TIME - charging shall be finished (reach Charging.ChargeLimit) at Charging.Timer.Time. When charging is completed the vehicle shall change mode to 'inactive' or set a new Charging.Timer.Time. Charging shall start immediately if mode is 'starttime' or 'endtime' and Charging.Timer.Time is a time in the past.", "type": "actuator"}, "Time": {"datatype": "string", "description": "Time for next charging-related action, formatted according to ISO 8601 with UTC time zone. Value has no significance if Charging.Timer.Mode is 'inactive'.", "type": "actuator", "unit": "iso8601"}}, "description": "Properties related to timing of battery charging sessions.", "type": "branch"}}, "description": "Properties related to battery charging.", "type": "branch"}, "CurrentCurrent": {"datatype": "float", "description": "Current current flowing in/out of battery. Positive = Current flowing in to battery, e.g. during charging. Negative = Current flowing out of battery, e.g. during driving.", "type": "sensor", "unit": "A"}, "CurrentPower": {"datatype": "float", "description": "Current electrical energy flowing in/out of battery. Positive = Energy flowing in to battery, e.g. during charging. Negative = Energy flowing out of battery, e.g. during driving.", "type": "sensor", "unit": "W"}, "CurrentVoltage": {"datatype": "float", "description": "Current Voltage of the battery.", "type": "sensor", "unit": "V"}, "DCDC": {"children": {"PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside DC/DC converter.", "type": "sensor", "unit": "W"}, "Temperature": {"datatype": "float", "description": "Current temperature of DC/DC converter converting battery high voltage to vehicle low voltage (typically 12 Volts).", "type": "sensor", "unit": "Celsius"}}, "description": "Properties related to DC/DC converter converting high voltage (from high voltage battery) to vehicle low voltage (supply voltage, typically 12 Volts).", "type": "branch"}, "ErrorCodes": {"comment": "Error code format is not defined, it may be DTCs according to OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX ) or any other format.", "datatype": "string[]", "description": "Current error codes related to the battery, if any.", "type": "sensor"}, "GrossCapacity": {"datatype": "uint16", "description": "Gross capacity of the battery.", "type": "attribute", "unit": "kWh"}, "Id": {"comment": "This could be serial number, part number plus serial number, UUID, or any other identifier that the OEM want to use to uniquely identify the battery individual.", "datatype": "string", "description": "Battery Identification Number as assigned by OEM.", "type": "attribute"}, "IsGroundConnected": {"comment": "It might be possible to disconnect the traction battery used by an electric powertrain. This is achieved by connectors, typically one for plus and one for minus.", "datatype": "boolean", "description": "Indicating if the ground (negative terminator) of the traction battery is connected to the powertrain.", "type": "sensor"}, "IsPowerConnected": {"comment": "It might be possible to disconnect the traction battery used by an electric powertrain. This is achieved by connectors, typically one for plus and one for minus.", "datatype": "boolean", "description": "Indicating if the power (positive terminator) of the traction battery is connected to the powertrain.", "type": "sensor"}, "MaxVoltage": {"datatype": "uint16", "description": "Max allowed voltage of the battery, e.g. during charging.", "type": "attribute", "unit": "V"}, "NetCapacity": {"datatype": "uint16", "description": "Total net capacity of the battery considering aging.", "type": "sensor", "unit": "kWh"}, "NominalVoltage": {"comment": "Nominal voltage typically refers to voltage of fully charged battery when delivering rated capacity.", "datatype": "uint16", "description": "Nominal Voltage of the battery.", "type": "attribute", "unit": "V"}, "PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside the battery.", "type": "sensor", "unit": "W"}, "ProductionDate": {"datatype": "string", "description": "Production date of battery in ISO8601 format, e.g. YYYY-MM-DD.", "type": "attribute", "unit": "iso8601"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using only battery.", "type": "sensor", "unit": "m"}, "StateOfCharge": {"children": {"Current": {"datatype": "float", "description": "Physical state of charge of the high voltage battery, relative to net capacity. This is not necessarily the state of charge being displayed to the customer.", "max": 100.0, "min": 0, "type": "sensor", "unit": "percent"}, "CurrentEnergy": {"comment": "Current energy could be calculated as .StateOfCharge.Current * .NetCapacity.", "datatype": "float", "description": "Physical state of charge of high voltage battery expressed in kWh.", "type": "sensor", "unit": "kWh"}, "Displayed": {"datatype": "float", "description": "State of charge displayed to the customer.", "max": 100.0, "min": 0, "type": "sensor", "unit": "percent"}}, "description": "Information on the state of charge of the vehicle's high voltage battery.", "type": "branch"}, "StateOfHealth": {"comment": "Exact formula is implementation dependent. Could be e.g. current capacity at 20 degrees Celsius divided with original capacity at the same temperature.", "datatype": "float", "description": "Calculated battery state of health at standard conditions.", "max": 100, "min": 0, "type": "sensor", "unit": "percent"}, "Temperature": {"children": {"Average": {"datatype": "float", "description": "Current average temperature of the battery cells.", "type": "sensor", "unit": "Celsius"}, "CellTemperature": {"comment": "Cells are identified by relative position in array.", "datatype": "float[]", "description": "Array of cell temperatures. Length or array shall correspond to number of cells in vehicle.", "type": "sensor"}, "Max": {"datatype": "float", "description": "Current maximum temperature of the battery cells, i.e. temperature of the hottest cell.", "type": "sensor", "unit": "Celsius"}, "Min": {"datatype": "float", "description": "Current minimum temperature of the battery cells, i.e. temperature of the coldest cell.", "type": "sensor", "unit": "Celsius"}}, "description": "Temperature Information for the battery pack.", "type": "branch"}, "TimeRemaining": {"datatype": "uint32", "description": "Time remaining in seconds before the battery is empty.", "type": "sensor", "unit": "s"}}, "description": "Battery Management data.", "type": "branch"}, "Transmission": {"children": {"ClutchEngagement": {"datatype": "float", "description": "Clutch engagement. 0% = Clutch fully disengaged. 100% = Clutch fully engaged.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "ClutchWear": {"datatype": "uint8", "description": "Clutch wear as a percent. 0 = no wear. 100 = worn.", "max": 100, "type": "sensor", "unit": "percent"}, "CurrentGear": {"datatype": "int8", "description": "The current gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse.", "type": "sensor"}, "DiffLockFrontEngagement": {"datatype": "float", "description": "Front Diff Lock engagement. 0% = Diff lock fully disengaged. 100% = Diff lock fully engaged.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "DiffLockRearEngagement": {"datatype": "float", "description": "Rear Diff Lock engagement. 0% = Diff lock fully disengaged. 100% = Diff lock fully engaged.", "max": 100, "min": 0, "type": "actuator", "unit": "percent"}, "DriveType": {"allowed": ["UNKNOWN", "FORWARD_WHEEL_DRIVE", "REAR_WHEEL_DRIVE", "ALL_WHEEL_DRIVE"], "datatype": "string", "default": "UNKNOWN", "description": "Drive type.", "type": "attribute"}, "GearChangeMode": {"allowed": ["MANUAL", "AUTOMATIC"], "datatype": "string", "description": "Is the gearbox in automatic or manual (paddle) mode.", "type": "actuator"}, "GearCount": {"datatype": "int8", "default": 0, "description": "Number of forward gears in the transmission. -1 = CVT.", "type": "attribute"}, "IsElectricalPowertrainEngaged": {"comment": "In some hybrid solutions it is possible to disconnect/disengage the electrical powertrain mechanically to avoid induced voltage reaching a too high level when driving at high speed.", "datatype": "boolean", "description": "Is electrical powertrain mechanically connected/engaged to the drivetrain or not. False = Disconnected/Disengaged. True = Connected/Engaged.", "type": "actuator"}, "IsLowRangeEngaged": {"comment": "The possibility to switch between low and high gear range is typically only available in heavy vehicles and off-road vehicles.", "datatype": "boolean", "description": "Is gearbox in low range mode or not. False = Normal/High range engaged. True = Low range engaged.", "type": "actuator"}, "IsParkLockEngaged": {"datatype": "boolean", "description": "Is the transmission park lock engaged or not. False = Disengaged. True = Engaged.", "type": "actuator"}, "PerformanceMode": {"allowed": ["NORMAL", "SPORT", "ECONOMY", "SNOW", "RAIN"], "datatype": "string", "description": "Current gearbox performance mode.", "type": "actuator"}, "SelectedGear": {"datatype": "int8", "description": "The selected gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse, 126=Park, 127=Drive.", "type": "actuator"}, "Temperature": {"datatype": "float", "description": "The current gearbox temperature.", "type": "sensor", "unit": "Celsius"}, "TorqueDistribution": {"datatype": "float", "description": "Torque distribution between front and rear axle in percent. -100% = Full torque to front axle, 0% = 50:50 Front/Rear, 100% = Full torque to rear axle.", "max": 100, "min": -100, "type": "actuator", "unit": "percent"}, "TravelledDistance": {"datatype": "float", "description": "Odometer reading, total distance travelled during the lifetime of the transmission.", "type": "sensor", "unit": "km"}, "Type": {"allowed": ["UNKNOWN", "SEQUENTIAL", "H", "AUTOMATIC", "DSG", "CVT"], "datatype": "string", "default": "UNKNOWN", "description": "Transmission type.", "type": "attribute"}}, "description": "Transmission-specific data, stopping at the drive shafts.", "type": "branch"}, "Type": {"allowed": ["COMBUSTION", "HYBRID", "ELECTRIC"], "comment": "For vehicles with a combustion engine (including hybrids) more detailed information on fuels supported can be found in FuelSystem.SupportedFuelTypes and FuelSystem.SupportedFuels.", "datatype": "string", "description": "Defines the powertrain type of the vehicle.", "type": "attribute"}}, "description": "Powertrain data for battery management, etc.", "type": "branch"}, "RoofLoad": {"datatype": "int16", "description": "The permitted total weight of cargo and installations (e.g. a roof rack) on top of the vehicle.", "type": "attribute", "unit": "kg"}, "Service": {"children": {"DistanceToService": {"datatype": "float", "description": "Remaining distance to service (of any kind). Negative values indicate service overdue.", "type": "sensor", "unit": "km"}, "IsServiceDue": {"datatype": "boolean", "description": "Indicates if vehicle needs service (of any kind). True = Service needed now or in the near future. False = No known need for service.", "type": "sensor"}, "TimeToService": {"datatype": "int32", "description": "Remaining time to service (of any kind). Negative values indicate service overdue.", "type": "sensor", "unit": "s"}}, "description": "Service data.", "type": "branch"}, "Speed": {"datatype": "float", "description": "Vehicle speed.", "type": "sensor", "unit": "km/h"}, "StartTime": {"comment": "This signal is supposed to be set whenever a new trip starts. A new trip is considered to start when engine gets enabled (e.g. LowVoltageSystemState in ON or START mode). A trip is considered to end when engine is no longer enabled. The default value indicates that the vehicle never has been started, or that latest start time is unknown.", "datatype": "string", "default": "0000-01-01T00:00Z", "description": "Start time of current or latest trip, formatted according to ISO 8601 with UTC time zone.", "type": "attribute", "unit": "iso8601"}, "Trailer": {"children": {"IsConnected": {"datatype": "boolean", "description": "Signal indicating if trailer is connected or not.", "type": "sensor"}}, "description": "Trailer signals.", "type": "branch"}, "TraveledDistance": {"datatype": "uint32", "description": "Odometer reading, total distance traveled during the lifetime of the vehicle.", "type": "sensor", "unit": "m"}, "TraveledDistanceSinceStart": {"comment": "A new trip is considered to start when engine gets enabled (e.g. LowVoltageSystemState in ON or START mode). A trip is considered to end when engine is no longer enabled. The signal may however keep the value of the last trip until a new trip is started.", "datatype": "uint32", "description": "Distance traveled since start of current trip.", "type": "sensor", "unit": "m"}, "TripDuration": {"comment": "This signal is not assumed to be continuously updated, but instead set to 0 when a trip starts and set to the actual duration of the trip when a trip ends. A new trip is considered to start when engine gets enabled (e.g. LowVoltageSystemState in ON or START mode). A trip is considered to end when engine is no longer enabled.", "datatype": "float", "description": "Duration of latest trip.", "type": "sensor", "unit": "s"}, "TripMeterReading": {"comment": "The trip meter is an odometer that can be manually reset by the driver", "datatype": "uint32", "description": "Trip meter reading.", "type": "actuator", "unit": "m"}, "TurningDiameter": {"datatype": "uint16", "description": "Minimum turning diameter, Wall-to-Wall, as defined by SAE J1100-2009 D102.", "type": "attribute", "unit": "mm"}, "VehicleIdentification": {"children": {"AcrissCode": {"datatype": "string", "description": "The ACRISS Car Classification Code is a code used by many car rental companies.", "type": "attribute"}, "BodyType": {"datatype": "string", "description": "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.).", "type": "attribute"}, "Brand": {"datatype": "string", "description": "Vehicle brand or manufacturer.", "type": "attribute"}, "DateVehicleFirstRegistered": {"datatype": "string", "description": "The date in ISO 8601 format of the first registration of the vehicle with the respective public authorities.", "type": "attribute", "unit": "iso8601"}, "KnownVehicleDamages": {"datatype": "string", "description": "A textual description of known damages, both repaired and unrepaired.", "type": "attribute"}, "LicensePlate": {"comment": "Depending on the context, this attribute might not be up to date or might be misconfigured, and therefore should be considered untrustworthy in the absence of another method of verification.", "datatype": "string", "description": "The license plate of the vehicle.", "type": "attribute"}, "MeetsEmissionStandard": {"datatype": "string", "description": "Indicates that the vehicle meets the respective emission standard.", "type": "attribute"}, "Model": {"datatype": "string", "description": "Vehicle model.", "type": "attribute"}, "OptionalExtras": {"comment": "Allowed values are not standardized, each OEM can specify detail descriptions of array elements.", "datatype": "string[]", "description": "Optional extras refers to all car equipment options that are not installed as standard by the manufacturer.", "type": "attribute"}, "ProductionDate": {"datatype": "string", "description": "The date in ISO 8601 format of production of the item, e.g. vehicle.", "type": "attribute", "unit": "iso8601"}, "PurchaseDate": {"datatype": "string", "description": "The date in ISO 8601 format of the item e.g. vehicle was purchased by the current owner.", "type": "attribute", "unit": "iso8601"}, "VIN": {"datatype": "string", "description": "17-character Vehicle Identification Number (VIN) as defined by ISO 3779.", "pattern": "^([0-9A-HJ-NPR-Z]{3})([0-9A-HJ-NPR-Z]{6})([0-9A-HJ-NPR-Z]{4}[0-9]{4})$", "type": "attribute"}, "VehicleConfiguration": {"datatype": "string", "description": "A short text indicating the configuration of the vehicle, e.g. '5dr hatchback ST 2.5 MT 225 hp' or 'limited edition'.", "type": "attribute"}, "VehicleExteriorColor": {"datatype": "string", "description": "The main color of the exterior within the basic color palette (eg. red, blue, black, white, ...).", "type": "attribute"}, "VehicleInteriorColor": {"datatype": "string", "description": "The color or color combination of the interior of the vehicle.", "type": "attribute"}, "VehicleInteriorType": {"datatype": "string", "description": "The type or material of the interior of the vehicle (e.g. synthetic fabric, leather, wood, etc.).", "type": "attribute"}, "VehicleModelDate": {"datatype": "string", "description": "The release date in ISO 8601 format of a vehicle model (often used to differentiate versions of the same make and model).", "type": "attribute", "unit": "iso8601"}, "VehicleSeatingCapacity": {"datatype": "uint16", "description": "The number of passengers that can be seated in the vehicle, both in terms of the physical space available, and in terms of limitations set by law.", "type": "attribute"}, "VehicleSpecialUsage": {"datatype": "string", "description": "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school.", "type": "attribute"}, "WMI": {"datatype": "string", "description": "3-character World Manufacturer Identification (WMI) as defined by ISO 3780.", "type": "attribute"}, "Year": {"datatype": "uint16", "description": "Model year of the vehicle.", "type": "attribute"}}, "description": "Attributes that identify a vehicle.", "type": "branch"}, "VersionVSS": {"children": {"Label": {"comment": "COVESA VSS project typically use dev for latest master, and empty string for released versions.", "datatype": "string", "default": "", "description": "Label to further describe the version.", "type": "attribute"}, "Major": {"datatype": "uint32", "default": 6, "description": "Supported Version of VSS - Major version.", "type": "attribute"}, "Minor": {"datatype": "uint32", "default": 0, "description": "Supported Version of VSS - Minor version.", "type": "attribute"}, "Patch": {"datatype": "uint32", "default": 0, "description": "Supported Version of VSS - Patch version.", "type": "attribute"}}, "description": "Supported Version of VSS.", "type": "branch"}, "WidthExcludingMirrors": {"datatype": "uint16", "default": 0, "description": "Overall vehicle width excluding mirrors, as defined by SAE J1100-2009 W103.", "type": "attribute", "unit": "mm"}, "WidthFoldedMirrors": {"datatype": "uint16", "description": "Overall vehicle width with mirrors folded, as defined by SAE J1100-2009 W145.", "type": "attribute", "unit": "mm"}, "WidthIncludingMirrors": {"datatype": "uint16", "description": "Overall vehicle width including mirrors, as defined by SAE J1100-2009 W144.", "type": "attribute", "unit": "mm"}}, "description": "High-level vehicle data.", "type": "branch"}} \ No newline at end of file diff --git a/vss/vss_rel_4.1.yaml b/vss/vss_release_6.0.yaml similarity index 55% rename from vss/vss_rel_4.1.yaml rename to vss/vss_release_6.0.yaml index 569d60f..82d8bf4 100644 --- a/vss/vss_rel_4.1.yaml +++ b/vss/vss_release_6.0.yaml @@ -1,35 +1,29 @@ Vehicle: description: High-level vehicle data. type: branch - uuid: ccc825f94139544dbb5f4bfd033bece6 Vehicle.ADAS: description: All Advanced Driver Assist Systems data. type: branch - uuid: 14c2b2e1297b513197d320a5ce58f42e Vehicle.ADAS.ABS: description: Antilock Braking System signals. type: branch - uuid: 219270ef27c4531f874bbda63743b330 Vehicle.ADAS.ABS.IsEnabled: datatype: boolean description: Indicates if ABS is enabled. True = Enabled. False = Disabled. type: actuator - uuid: cad374fbfdc65df9b777508f04d5b073 Vehicle.ADAS.ABS.IsEngaged: datatype: boolean description: Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged. type: sensor - uuid: 6dd21979a2225e31940dc2ece1aa9a04 Vehicle.ADAS.ABS.IsError: datatype: boolean description: Indicates if ABS incurred an error condition. True = Error. False = No Error. type: sensor - uuid: 13cfabb3122254128234f9a696f14678 Vehicle.ADAS.ActiveAutonomyLevel: allowed: @@ -41,145 +35,139 @@ Vehicle.ADAS.ActiveAutonomyLevel: - SAE_3 - SAE_4_DISENGAGING - SAE_4 + - SAE_5_DISENGAGING - SAE_5 - comment: Follows https://www.sae.org/news/2019/01/sae-updates-j3016-automated-driving-graphic taxonomy. For SAE levels 3 and 4 the system is required to alert the driver before it will disengage. Level 4 systems are required to reach a safe state even if a driver does not take over. Only level 5 systems are required to not rely on a driver at all. While level 2 systems require the driver to be monitoring the system at all times, many level 2 systems, often termed "level 2.5" systems, do warn the driver shortly before reaching their operational limits, therefore we also support the DISENGAGING state for SAE_2. + comment: Complies with https://www.sae.org/standards/content/j3016_202104/ and https://www.sae.org/blog/sae-j3016-update. Level 5 and 4 ADS (Automated driving system) disengage, if appropriate, only after it achieves a minimal risk condition or a driver is performing the DDT. Level 3 ADS disengages either an appropriate time after issuing a request to intervene or immediately upon user request. Level 2 DAS (Driving automation system) disengages immediately upon driver request. However, since many Level 2 DAS, often termed "Level 2.5", warn the driver shortly before reaching their operational limits, the VSS also supports the DISENGAGING state for SAE_2. Nevertheless, it should be noted that the SAE J3016 states that it is incorrect to describe driving automation features using fractional levels. datatype: string - description: Indicates the currently active level of autonomy according to SAE J3016 taxonomy. + description: Indicates the currently active level of driving automation according to the SAE J3016 (Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles). type: sensor - uuid: b101c6928fc55948b1cc485e568ecd8d Vehicle.ADAS.CruiseControl: description: Signals from Cruise Control system. type: branch - uuid: c4d751cf74f9576dbba3cc820991c1fb + +Vehicle.ADAS.CruiseControl.AdaptiveDistanceSet: + datatype: float + description: Distance in meters to keep from lead vehicle + min: 0.0 + type: actuator + unit: m + +Vehicle.ADAS.CruiseControl.AdaptiveIntervalSet: + datatype: uint8 + description: Follow distance setting, commonly 1-5 with 1 being closest. + type: actuator Vehicle.ADAS.CruiseControl.IsActive: datatype: boolean description: Indicates if cruise control system is active (i.e. actively controls speed). True = Active. False = Inactive. type: actuator - uuid: 78ab5ce923dc5aa1a6622bcb948e1561 + +Vehicle.ADAS.CruiseControl.IsAdaptive: + datatype: boolean + description: Indicates if cruise control system is adaptive (i.e. actively controls speed). + type: actuator Vehicle.ADAS.CruiseControl.IsEnabled: datatype: boolean description: Indicates if cruise control system is enabled (e.g. ready to receive configurations and settings) True = Enabled. False = Disabled. type: actuator - uuid: 018417f6c8535315895d0f54d209035a Vehicle.ADAS.CruiseControl.IsError: datatype: boolean description: Indicates if cruise control system incurred an error condition. True = Error. False = No Error. type: sensor - uuid: 22923d4a36bc5192a08e40fe9e5ed458 Vehicle.ADAS.CruiseControl.SpeedSet: datatype: float description: Set cruise control speed in kilometers per hour. type: actuator unit: km/h - uuid: b3f3a53ccd825e4da5cb1226f94dc005 Vehicle.ADAS.DMS: description: Driver Monitoring System signals. type: branch - uuid: 1cd72c7fc7fe5269a93c9954f46a4f60 Vehicle.ADAS.DMS.IsEnabled: datatype: boolean description: Indicates if DMS is enabled. True = Enabled. False = Disabled. type: actuator - uuid: 63e6d3803ce35fd79afc728c65295804 Vehicle.ADAS.DMS.IsError: datatype: boolean description: Indicates if DMS incurred an error condition. True = Error. False = No Error. type: sensor - uuid: d5213c8cb5d5575994b2c8ee1ad8eccf Vehicle.ADAS.DMS.IsWarning: datatype: boolean description: Indicates if DMS has registered a driver alert condition. type: sensor - uuid: 2c86cd0363cd55ffb175a9e07cc32e4d Vehicle.ADAS.EBA: description: Emergency Brake Assist (EBA) System signals. type: branch - uuid: 51ec0930d0af5b91b84a0775c6e87a97 Vehicle.ADAS.EBA.IsEnabled: datatype: boolean description: Indicates if EBA is enabled. True = Enabled. False = Disabled. type: actuator - uuid: 3ae9171b69555fb08855054ab38e9b17 Vehicle.ADAS.EBA.IsEngaged: datatype: boolean description: Indicates if EBA is currently regulating brake pressure. True = Engaged. False = Not Engaged. type: sensor - uuid: 86360c44ead354d18af7ff14176151f6 Vehicle.ADAS.EBA.IsError: datatype: boolean description: Indicates if EBA incurred an error condition. True = Error. False = No Error. type: sensor - uuid: bae0fe856398502ba4a09283867c6c81 Vehicle.ADAS.EBD: description: Electronic Brakeforce Distribution (EBD) System signals. type: branch - uuid: 3f4c74a588735b10ac9fe918d305cd5a Vehicle.ADAS.EBD.IsEnabled: datatype: boolean description: Indicates if EBD is enabled. True = Enabled. False = Disabled. type: actuator - uuid: 30f88d3e68575b67853b14ce5f7a08e5 Vehicle.ADAS.EBD.IsEngaged: datatype: boolean description: Indicates if EBD is currently regulating vehicle brakeforce distribution. True = Engaged. False = Not Engaged. type: sensor - uuid: 67aa2a598f635edda6eb944af99b06db Vehicle.ADAS.EBD.IsError: datatype: boolean description: Indicates if EBD incurred an error condition. True = Error. False = No Error. type: sensor - uuid: 918157073be95015ae38913cd7a9796a Vehicle.ADAS.ESC: description: Electronic Stability Control System signals. type: branch - uuid: 636b4586ce7854b4b270a2f3b6c0af4f Vehicle.ADAS.ESC.IsEnabled: datatype: boolean description: Indicates if ESC is enabled. True = Enabled. False = Disabled. type: actuator - uuid: 3f4f39b8d8c05c97a6de685282ba74b7 Vehicle.ADAS.ESC.IsEngaged: datatype: boolean description: Indicates if ESC is currently regulating vehicle stability. True = Engaged. False = Not Engaged. type: sensor - uuid: 2088953a28385353a9d46b3a3dc11cac Vehicle.ADAS.ESC.IsError: datatype: boolean description: Indicates if ESC incurred an error condition. True = Error. False = No Error. type: sensor - uuid: 6c237535654b5bc7a70f6a70c760b9d4 Vehicle.ADAS.ESC.IsStrongCrossWindDetected: datatype: boolean description: Indicates if the ESC system is detecting strong cross winds. True = Strong cross winds detected. False = No strong cross winds detected. type: sensor - uuid: ebfd609531345c37914b89e553df80cb Vehicle.ADAS.ESC.RoadFriction: description: Road friction values reported by the ESC system. type: branch - uuid: 71a32e4eb131532c82195508d93807ed Vehicle.ADAS.ESC.RoadFriction.LowerBound: datatype: float @@ -188,7 +176,6 @@ Vehicle.ADAS.ESC.RoadFriction.LowerBound: min: 0 type: sensor unit: percent - uuid: 634289f58b5d511ea9979f04a9d0f2ab Vehicle.ADAS.ESC.RoadFriction.MostProbable: datatype: float @@ -197,7 +184,6 @@ Vehicle.ADAS.ESC.RoadFriction.MostProbable: min: 0 type: sensor unit: percent - uuid: b0eb72430cd95bfbba0d187fcb6e2a62 Vehicle.ADAS.ESC.RoadFriction.UpperBound: datatype: float @@ -206,59 +192,294 @@ Vehicle.ADAS.ESC.RoadFriction.UpperBound: min: 0 type: sensor unit: percent - uuid: ad0415a799575fcd8d1f49bed9a2baeb Vehicle.ADAS.IsAutoPowerOptimize: datatype: boolean description: Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed. type: actuator - uuid: 42553349ce4357a3900b80771c8481b1 Vehicle.ADAS.LaneDepartureDetection: description: Signals from Lane Departure Detection System. type: branch - uuid: e45f33fdcf245f11981b2f201ee8281a Vehicle.ADAS.LaneDepartureDetection.IsEnabled: datatype: boolean description: Indicates if lane departure detection system is enabled. True = Enabled. False = Disabled. type: actuator - uuid: c099ae97260f5c418977cd14631e95be Vehicle.ADAS.LaneDepartureDetection.IsError: datatype: boolean description: Indicates if lane departure system incurred an error condition. True = Error. False = No Error. type: sensor - uuid: 73b2fc4f6a4952e4b7886671450e7798 Vehicle.ADAS.LaneDepartureDetection.IsWarning: datatype: boolean description: Indicates if lane departure detection registered a lane departure. type: sensor - uuid: c32fcd1d56035cb08acfd380be224c6a Vehicle.ADAS.ObstacleDetection: description: Signals form Obstacle Sensor System. type: branch - uuid: e7b6d81631cc5ac584d027d4c1a66cb5 -Vehicle.ADAS.ObstacleDetection.IsEnabled: +Vehicle.ADAS.ObstacleDetection.Front: + description: Signals form Obstacle Sensor System. + type: branch + +Vehicle.ADAS.ObstacleDetection.Front.Center: + description: Signals form Obstacle Sensor System. + type: branch + +Vehicle.ADAS.ObstacleDetection.Front.Center.Distance: + datatype: float + description: Distance in meters to detected object + min: 0.0 + type: sensor + unit: m + +Vehicle.ADAS.ObstacleDetection.Front.Center.IsEnabled: + datatype: boolean + description: Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled. + type: actuator + +Vehicle.ADAS.ObstacleDetection.Front.Center.IsError: + datatype: boolean + description: Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Front.Center.IsWarning: + datatype: boolean + description: Indicates if obstacle sensor system registered an obstacle. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Front.Center.TimeGap: + datatype: uint32 + description: Time in milliseconds before potential impact object + type: sensor + unit: ms + +Vehicle.ADAS.ObstacleDetection.Front.Center.WarningType: + allowed: + - UNDEFINED + - CROSS_TRAFFIC + - BLIND_SPOT + comment: Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance. + datatype: string + description: Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Front.Left: + description: Signals form Obstacle Sensor System. + type: branch + +Vehicle.ADAS.ObstacleDetection.Front.Left.Distance: + datatype: float + description: Distance in meters to detected object + min: 0.0 + type: sensor + unit: m + +Vehicle.ADAS.ObstacleDetection.Front.Left.IsEnabled: + datatype: boolean + description: Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled. + type: actuator + +Vehicle.ADAS.ObstacleDetection.Front.Left.IsError: + datatype: boolean + description: Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Front.Left.IsWarning: + datatype: boolean + description: Indicates if obstacle sensor system registered an obstacle. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Front.Left.TimeGap: + datatype: uint32 + description: Time in milliseconds before potential impact object + type: sensor + unit: ms + +Vehicle.ADAS.ObstacleDetection.Front.Left.WarningType: + allowed: + - UNDEFINED + - CROSS_TRAFFIC + - BLIND_SPOT + comment: Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance. + datatype: string + description: Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Front.Right: + description: Signals form Obstacle Sensor System. + type: branch + +Vehicle.ADAS.ObstacleDetection.Front.Right.Distance: + datatype: float + description: Distance in meters to detected object + min: 0.0 + type: sensor + unit: m + +Vehicle.ADAS.ObstacleDetection.Front.Right.IsEnabled: + datatype: boolean + description: Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled. + type: actuator + +Vehicle.ADAS.ObstacleDetection.Front.Right.IsError: + datatype: boolean + description: Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Front.Right.IsWarning: + datatype: boolean + description: Indicates if obstacle sensor system registered an obstacle. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Front.Right.TimeGap: + datatype: uint32 + description: Time in milliseconds before potential impact object + type: sensor + unit: ms + +Vehicle.ADAS.ObstacleDetection.Front.Right.WarningType: + allowed: + - UNDEFINED + - CROSS_TRAFFIC + - BLIND_SPOT + comment: Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance. + datatype: string + description: Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Rear: + description: Signals form Obstacle Sensor System. + type: branch + +Vehicle.ADAS.ObstacleDetection.Rear.Center: + description: Signals form Obstacle Sensor System. + type: branch + +Vehicle.ADAS.ObstacleDetection.Rear.Center.Distance: + datatype: float + description: Distance in meters to detected object + min: 0.0 + type: sensor + unit: m + +Vehicle.ADAS.ObstacleDetection.Rear.Center.IsEnabled: + datatype: boolean + description: Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled. + type: actuator + +Vehicle.ADAS.ObstacleDetection.Rear.Center.IsError: + datatype: boolean + description: Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Rear.Center.IsWarning: + datatype: boolean + description: Indicates if obstacle sensor system registered an obstacle. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Rear.Center.TimeGap: + datatype: uint32 + description: Time in milliseconds before potential impact object + type: sensor + unit: ms + +Vehicle.ADAS.ObstacleDetection.Rear.Center.WarningType: + allowed: + - UNDEFINED + - CROSS_TRAFFIC + - BLIND_SPOT + comment: Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance. + datatype: string + description: Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Rear.Left: + description: Signals form Obstacle Sensor System. + type: branch + +Vehicle.ADAS.ObstacleDetection.Rear.Left.Distance: + datatype: float + description: Distance in meters to detected object + min: 0.0 + type: sensor + unit: m + +Vehicle.ADAS.ObstacleDetection.Rear.Left.IsEnabled: + datatype: boolean + description: Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled. + type: actuator + +Vehicle.ADAS.ObstacleDetection.Rear.Left.IsError: + datatype: boolean + description: Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Rear.Left.IsWarning: + datatype: boolean + description: Indicates if obstacle sensor system registered an obstacle. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Rear.Left.TimeGap: + datatype: uint32 + description: Time in milliseconds before potential impact object + type: sensor + unit: ms + +Vehicle.ADAS.ObstacleDetection.Rear.Left.WarningType: + allowed: + - UNDEFINED + - CROSS_TRAFFIC + - BLIND_SPOT + comment: Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance. + datatype: string + description: Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics. + type: sensor + +Vehicle.ADAS.ObstacleDetection.Rear.Right: + description: Signals form Obstacle Sensor System. + type: branch + +Vehicle.ADAS.ObstacleDetection.Rear.Right.Distance: + datatype: float + description: Distance in meters to detected object + min: 0.0 + type: sensor + unit: m + +Vehicle.ADAS.ObstacleDetection.Rear.Right.IsEnabled: datatype: boolean description: Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled. type: actuator - uuid: cc0cd497285e5034a1cccb25f02e9db9 -Vehicle.ADAS.ObstacleDetection.IsError: +Vehicle.ADAS.ObstacleDetection.Rear.Right.IsError: datatype: boolean description: Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error. type: sensor - uuid: 368b74e2468d5217925a478ed6e34f9f -Vehicle.ADAS.ObstacleDetection.IsWarning: +Vehicle.ADAS.ObstacleDetection.Rear.Right.IsWarning: datatype: boolean description: Indicates if obstacle sensor system registered an obstacle. type: sensor - uuid: b0b1eab51f135ffcb2a17a7603415fec + +Vehicle.ADAS.ObstacleDetection.Rear.Right.TimeGap: + datatype: uint32 + description: Time in milliseconds before potential impact object + type: sensor + unit: ms + +Vehicle.ADAS.ObstacleDetection.Rear.Right.WarningType: + allowed: + - UNDEFINED + - CROSS_TRAFFIC + - BLIND_SPOT + comment: Undefined obstacle warning type would merely alert of presence of obstacle and may measure distance. + datatype: string + description: Indicates the type of obstacle warning detected as some track not only the presence of an obstacle but potential intercepting trajectory or other characteristics. + type: sensor Vehicle.ADAS.PowerOptimizeLevel: datatype: uint8 @@ -266,7 +487,6 @@ Vehicle.ADAS.PowerOptimizeLevel: max: 10 min: 0 type: actuator - uuid: 044ad42893e65993bfc439455fb08faa Vehicle.ADAS.SupportedAutonomyLevel: allowed: @@ -277,84 +497,71 @@ Vehicle.ADAS.SupportedAutonomyLevel: - SAE_4 - SAE_5 datatype: string - description: Indicates the highest level of autonomy according to SAE J3016 taxonomy the vehicle is capable of. + description: Indicates the highest level of driving automation according to the SAE J3016 taxonomy the vehicle is capable of. type: attribute - uuid: 020410189ab4517cb85ceda268b40f51 Vehicle.ADAS.TCS: description: Traction Control System signals. type: branch - uuid: 0572e9f6b1aa5fb5b2f68086aff05073 Vehicle.ADAS.TCS.IsEnabled: datatype: boolean description: Indicates if TCS is enabled. True = Enabled. False = Disabled. type: actuator - uuid: 1d2dda19b11758a19ba7c1d5cd2d7956 Vehicle.ADAS.TCS.IsEngaged: datatype: boolean description: Indicates if TCS is currently regulating traction. True = Engaged. False = Not Engaged. type: sensor - uuid: b33d70009ad5589fbffe17fa7e827242 Vehicle.ADAS.TCS.IsError: datatype: boolean description: Indicates if TCS incurred an error condition. True = Error. False = No Error. type: sensor - uuid: 08f88723ba63558b8c804b8fe8e3f149 Vehicle.Acceleration: description: Spatial acceleration. Axis definitions according to ISO 8855. type: branch - uuid: 6c490e6a798c5abc8f0178ed6deae0a8 Vehicle.Acceleration.Lateral: datatype: float description: Vehicle acceleration in Y (lateral acceleration). type: sensor unit: m/s^2 - uuid: 7522c5d6b7665b16a099643b2700e93c Vehicle.Acceleration.Longitudinal: datatype: float description: Vehicle acceleration in X (longitudinal acceleration). type: sensor unit: m/s^2 - uuid: 3d511fe7232b5841be311b37f322de5a Vehicle.Acceleration.Vertical: datatype: float description: Vehicle acceleration in Z (vertical acceleration). type: sensor unit: m/s^2 - uuid: a4a8a7c4ac5b52deb0b3ee4ed8787c59 Vehicle.AngularVelocity: description: Spatial rotation. Axis definitions according to ISO 8855. type: branch - uuid: 1eef530a43de56aab665d2766483cde2 Vehicle.AngularVelocity.Pitch: datatype: float description: Vehicle rotation rate along Y (lateral). type: sensor unit: degrees/s - uuid: 42236f4a01f45313a97fdd9b6848ce4f Vehicle.AngularVelocity.Roll: datatype: float description: Vehicle rotation rate along X (longitudinal). type: sensor unit: degrees/s - uuid: 221e6b93881e5771bcbd03e0849e0075 Vehicle.AngularVelocity.Yaw: datatype: float description: Vehicle rotation rate along Z (vertical). type: sensor unit: degrees/s - uuid: 4114c41552565c1f9035670cabe2a611 Vehicle.AverageSpeed: comment: A new trip is considered to start when engine gets enabled (e.g. LowVoltageSystemState in ON or START mode). A trip is considered to end when engine is no longer enabled. The signal may however keep the value of the last trip until a new trip is started. Calculation of average speed may exclude periods when the vehicle for example is not moving or transmission is in neutral. @@ -362,30 +569,25 @@ Vehicle.AverageSpeed: description: Average speed for the current trip. type: sensor unit: km/h - uuid: 43a489636a665c3abb99b63174eb552b Vehicle.Body: description: All body components. type: branch - uuid: bd2854e6a9165c5698ce8dd9f0438ecc Vehicle.Body.BodyType: datatype: string description: Body type code as defined by ISO 3779. type: attribute - uuid: 6253412513105deea63b1d424117fd88 Vehicle.Body.Hood: comment: The hood is the hinged cover over the engine compartment of a motor vehicles. Depending on vehicle, it can be either in the front or back of the vehicle. Luggage compartments are in VSS called trunks, even if they are located at the front of the vehicle. description: Hood status. Start position for Hood is Closed. type: branch - uuid: 84510652bf915bbe8bf5f477aab2b44a Vehicle.Body.Hood.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 890aa3359e1a579288af1cf8e6b5b71f Vehicle.Body.Hood.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -395,7 +597,6 @@ Vehicle.Body.Hood.Position: min: 0 type: actuator unit: percent - uuid: b79e060142095986aaeffcddd26d0d53 Vehicle.Body.Hood.Switch: allowed: @@ -407,90 +608,74 @@ Vehicle.Body.Hood.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 256f856f00725f1fbd733b78f864c10d Vehicle.Body.Horn: description: Horn signals. type: branch - uuid: 09c76633887f52268b960740eb969c89 Vehicle.Body.Horn.IsActive: datatype: boolean description: Horn active or inactive. True = Active. False = Inactive. type: actuator - uuid: ba20deed9314525bb9d552a2b787fb20 Vehicle.Body.IsAutoPowerOptimize: datatype: boolean description: Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed. type: actuator - uuid: 88dbf1bf7bbd5b94b8cc5d93113abb44 Vehicle.Body.Lights: description: Exterior lights. type: branch - uuid: 399d1ec14d6f55bb825e078a801bde55 Vehicle.Body.Lights.Backup: description: Backup lights. type: branch - uuid: 4fe2cb68fc77506686eced7225aeff9a Vehicle.Body.Lights.Backup.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: b907c4ac4ee459faa987c64a6da424c3 Vehicle.Body.Lights.Backup.IsOn: datatype: boolean description: Indicates if light is on or off. True = On. False = Off. type: actuator - uuid: ef23a3fa6106564195a66e21d8cf69b4 Vehicle.Body.Lights.Beam: description: Beam lights. type: branch - uuid: 6685308a9d955ecdad92a7cc68666a12 Vehicle.Body.Lights.Beam.High: description: Beam lights. type: branch - uuid: 306b51d2e1ec572fa80172aad6727da0 Vehicle.Body.Lights.Beam.High.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: 83561d8c9a025cfdad6c4b325829fa00 Vehicle.Body.Lights.Beam.High.IsOn: datatype: boolean description: Indicates if light is on or off. True = On. False = Off. type: actuator - uuid: 24d1346519b05697b872c06556a09fb4 Vehicle.Body.Lights.Beam.Low: description: Beam lights. type: branch - uuid: f6f21ea5b263545297f4411b2e15037f Vehicle.Body.Lights.Beam.Low.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: 3a135f1267ea5b2a80aa9a17fc8072db Vehicle.Body.Lights.Beam.Low.IsOn: datatype: boolean description: Indicates if light is on or off. True = On. False = Off. type: actuator - uuid: 8b4d4855b0c95963a25dc564c9758610 Vehicle.Body.Lights.Brake: description: Brake lights. type: branch - uuid: 30eabe704102501cb299d03696fad92a Vehicle.Body.Lights.Brake.IsActive: allowed: @@ -500,132 +685,109 @@ Vehicle.Body.Lights.Brake.IsActive: datatype: string description: Indicates if break-light is active. INACTIVE means lights are off. ACTIVE means lights are on. ADAPTIVE means that break-light is indicating emergency-breaking. type: actuator - uuid: 65eb84d61ea95313985054f626b85b59 Vehicle.Body.Lights.Brake.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: 1db542c5ba715e09b948527418966728 Vehicle.Body.Lights.DirectionIndicator: description: Indicator lights. type: branch - uuid: 0566cb97d05c554eb88a07142f2475ac Vehicle.Body.Lights.DirectionIndicator.Left: description: Indicator lights. type: branch - uuid: 446dea42b8e95d87b45e5e51c881bf98 Vehicle.Body.Lights.DirectionIndicator.Left.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: 32a092936fb65165ba1dd8dfa38bf77d Vehicle.Body.Lights.DirectionIndicator.Left.IsSignaling: datatype: boolean description: Indicates if light is signaling or off. True = signaling. False = Off. type: actuator - uuid: 33ac6ec5e4d9550aac6ae0ce97dae259 Vehicle.Body.Lights.DirectionIndicator.Right: description: Indicator lights. type: branch - uuid: 9922f6b417e95f1c945ef9f414bcdf78 Vehicle.Body.Lights.DirectionIndicator.Right.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: db70c2d885725583a7ed95b215a8ec6c Vehicle.Body.Lights.DirectionIndicator.Right.IsSignaling: datatype: boolean description: Indicates if light is signaling or off. True = signaling. False = Off. type: actuator - uuid: 9b0a1dab153f5dcda8df2116c3b6d487 Vehicle.Body.Lights.Fog: description: Fog lights. type: branch - uuid: 1e90cf42bb825217b283c7285a606953 Vehicle.Body.Lights.Fog.Front: description: Fog lights. type: branch - uuid: 230cc65abaaf500c9085c29d48107552 Vehicle.Body.Lights.Fog.Front.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: f9238f15d2615a22802ce9ec9f1d72e9 Vehicle.Body.Lights.Fog.Front.IsOn: datatype: boolean description: Indicates if light is on or off. True = On. False = Off. type: actuator - uuid: 0ec10846d20a5d1b9b8a286303ecb844 Vehicle.Body.Lights.Fog.Rear: description: Fog lights. type: branch - uuid: 38359f258135516cb49c0fa1f093d478 Vehicle.Body.Lights.Fog.Rear.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: 1d44e594ffa35d73a6f620f479eeef4c Vehicle.Body.Lights.Fog.Rear.IsOn: datatype: boolean description: Indicates if light is on or off. True = On. False = Off. type: actuator - uuid: 1fe08a2f687c5c2880adef26cc7de746 Vehicle.Body.Lights.Hazard: description: Hazard lights. type: branch - uuid: 803498c3be6253dfb074c0e0294be758 Vehicle.Body.Lights.Hazard.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: 25cd3475beb6543a8538974b67544c43 Vehicle.Body.Lights.Hazard.IsSignaling: datatype: boolean description: Indicates if light is signaling or off. True = signaling. False = Off. type: actuator - uuid: c53950205aa15dffa304390dcb761cc3 Vehicle.Body.Lights.IsHighBeamSwitchOn: comment: This signal indicates the status of the switch and does not indicate if low or high beam actually are on. That typically depends on vehicle logic and other signals like Lights.LightSwitch and Vehicle.LowVoltageSystemState. datatype: boolean description: Status of the high beam switch. True = high beam enabled. False = high beam not enabled. type: actuator - uuid: ac7db3cd30f55650bc6939df504f1a79 Vehicle.Body.Lights.LicensePlate: description: License plate lights. type: branch - uuid: 7bb12e42a8c45c198f83bf41b19131fa Vehicle.Body.Lights.LicensePlate.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: 4de6594de7815cec97e5b851d70e239b Vehicle.Body.Lights.LicensePlate.IsOn: datatype: boolean description: Indicates if light is on or off. True = On. False = Off. type: actuator - uuid: afeace5d76ed53f989ae4251090ba069 Vehicle.Body.Lights.LightSwitch: allowed: @@ -638,78 +800,66 @@ Vehicle.Body.Lights.LightSwitch: datatype: string description: Status of the vehicle main light switch. type: actuator - uuid: 2feb14a3558256339442413783969f4f Vehicle.Body.Lights.Parking: description: Parking lights. type: branch - uuid: dfb819be5cec5be09b9fb743829301c3 Vehicle.Body.Lights.Parking.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: 56761305eae559c7931f6ff5fee0dfa8 Vehicle.Body.Lights.Parking.IsOn: datatype: boolean description: Indicates if light is on or off. True = On. False = Off. type: actuator - uuid: 6ba0825427335408ad7d0f148d6250ea Vehicle.Body.Lights.Running: description: Daytime running lights (DRL). type: branch - uuid: 38868a9f1bda573595501302c1f0a1db Vehicle.Body.Lights.Running.IsDefect: datatype: boolean description: Indicates if light is defect. True = Light is defect. False = Light has no defect. type: sensor - uuid: 7cda127e6d45547681757e789c0b7a87 Vehicle.Body.Lights.Running.IsOn: datatype: boolean description: Indicates if light is on or off. True = On. False = Off. type: actuator - uuid: 1c4e44f1e0275965b466ac674a5b8cac Vehicle.Body.Mirrors: description: All mirrors. type: branch - uuid: a4ea618914885a239ef5fa62c671a800 Vehicle.Body.Mirrors.DriverSide: description: All mirrors. type: branch - uuid: 3c62705bbcf654489c8179b63118829f Vehicle.Body.Mirrors.DriverSide.IsFolded: datatype: boolean description: Is mirror folded? True = Fully or partially folded. False = Fully unfolded. type: actuator - uuid: 0ade6b89326052829a49da918aacf0b7 Vehicle.Body.Mirrors.DriverSide.IsHeatingOn: datatype: boolean description: Mirror Heater on or off. True = Heater On. False = Heater Off. type: actuator - uuid: 21262ce775a85abe9f6354f9c3ac9988 Vehicle.Body.Mirrors.DriverSide.IsLocked: datatype: boolean description: Is mirror movement locked? True = Locked, mirror will not react to Tilt/Pan change. False = Unlocked. type: actuator - uuid: d267fc64959e59ce8335911faa87980f Vehicle.Body.Mirrors.DriverSide.Pan: datatype: int8 + deprecation: v6.0 Replaced with Yaw - Note that direction changes! description: Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position. max: 100 min: -100 type: actuator unit: percent - uuid: 4749ae14c526547c9b511f66a67b3d27 Vehicle.Body.Mirrors.DriverSide.Tilt: datatype: int8 @@ -718,39 +868,43 @@ Vehicle.Body.Mirrors.DriverSide.Tilt: min: -100 type: actuator unit: percent - uuid: eafa81963c315aa78eda11eec8012d34 + +Vehicle.Body.Mirrors.DriverSide.Yaw: + comment: A positive yaw indicates that the mirror has been adjusted to get a better view on objects on the right side of the vehicle. + datatype: int8 + description: Relative mirror yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the mirror X-axis, around the vehicle Z-axis (right-hand rule). 0 = Mirror in default position. Exact position (yaw relative to vehicle X-axis) is vehicle dependent. 100 = Maximum yaw. Mirror rotated clockwise as much as possible around Z-axis. -100 = Minimum yaw. Mirror rotated counter-clockwise as much as possible around Z-axis. + max: 100 + min: -100 + type: actuator + unit: percent Vehicle.Body.Mirrors.PassengerSide: description: All mirrors. type: branch - uuid: 8025a1e06e9d5ddb96405cce1f1f38cb Vehicle.Body.Mirrors.PassengerSide.IsFolded: datatype: boolean description: Is mirror folded? True = Fully or partially folded. False = Fully unfolded. type: actuator - uuid: 2b0bedf76d29520d9b96469695c3e0e8 Vehicle.Body.Mirrors.PassengerSide.IsHeatingOn: datatype: boolean description: Mirror Heater on or off. True = Heater On. False = Heater Off. type: actuator - uuid: 9d64ad38532658298e5f59a2f999ef57 Vehicle.Body.Mirrors.PassengerSide.IsLocked: datatype: boolean description: Is mirror movement locked? True = Locked, mirror will not react to Tilt/Pan change. False = Unlocked. type: actuator - uuid: b919c8699dae540a840fbd296df49aca Vehicle.Body.Mirrors.PassengerSide.Pan: datatype: int8 + deprecation: v6.0 Replaced with Yaw - Note that direction changes! description: Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position. max: 100 min: -100 type: actuator unit: percent - uuid: d3dc2e11874f528fa0987e596993bde8 Vehicle.Body.Mirrors.PassengerSide.Tilt: datatype: int8 @@ -759,7 +913,15 @@ Vehicle.Body.Mirrors.PassengerSide.Tilt: min: -100 type: actuator unit: percent - uuid: 0f3734b090065873a7feb40931c72a28 + +Vehicle.Body.Mirrors.PassengerSide.Yaw: + comment: A positive yaw indicates that the mirror has been adjusted to get a better view on objects on the right side of the vehicle. + datatype: int8 + description: Relative mirror yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the mirror X-axis, around the vehicle Z-axis (right-hand rule). 0 = Mirror in default position. Exact position (yaw relative to vehicle X-axis) is vehicle dependent. 100 = Maximum yaw. Mirror rotated clockwise as much as possible around Z-axis. -100 = Minimum yaw. Mirror rotated counter-clockwise as much as possible around Z-axis. + max: 100 + min: -100 + type: actuator + unit: percent Vehicle.Body.PowerOptimizeLevel: datatype: uint8 @@ -767,12 +929,10 @@ Vehicle.Body.PowerOptimizeLevel: max: 10 min: 0 type: actuator - uuid: 2fe44a1c3bb155aca782b017efeb6175 Vehicle.Body.Raindetection: description: Rain sensor signals. type: branch - uuid: f16759f3dcfb5be4832e962da29ebd6c Vehicle.Body.Raindetection.Intensity: datatype: uint8 @@ -780,7 +940,6 @@ Vehicle.Body.Raindetection.Intensity: max: 100 type: sensor unit: percent - uuid: 1ee0a2f22e8257d299425a4ff2652555 Vehicle.Body.RearMainSpoilerPosition: datatype: float @@ -789,52 +948,32 @@ Vehicle.Body.RearMainSpoilerPosition: min: 0 type: actuator unit: percent - uuid: 6209a82390585b869cc3d00d069eade2 - -Vehicle.Body.RefuelPosition: - allowed: - - FRONT_LEFT - - FRONT_RIGHT - - MIDDLE_LEFT - - MIDDLE_RIGHT - - REAR_LEFT - - REAR_RIGHT - datatype: string - deprecation: v4.1 replaced with Vehicle.Powertrain.TractionBattery.Charging.ChargePortPosition and Vehicle.Powertrain.FuelSystem.RefuelPortPosition - description: Location of the fuel cap or charge port. - type: attribute - uuid: 53ef90a851fa57f0810d50238e852f02 Vehicle.Body.Trunk: comment: A trunk is a luggage compartment in a vehicle. Depending on vehicle, it can be either in the front or back of the vehicle. Some vehicles may have trunks both at the front and at the rear of the vehicle. description: Trunk status. Start position for Trunk is Closed. type: branch - uuid: a584c6a5aa235cb88ac686f8d72a1dff Vehicle.Body.Trunk.Front: comment: A trunk is a luggage compartment in a vehicle. Depending on vehicle, it can be either in the front or back of the vehicle. Some vehicles may have trunks both at the front and at the rear of the vehicle. description: Trunk status. Start position for Trunk is Closed. type: branch - uuid: a455aca5bae55c22b7949fd31a765a6c Vehicle.Body.Trunk.Front.IsLightOn: comment: V4.0 Moved from Vehicle.Cabin.Lights.IsTrunkOn because Trunk is not defined as part of the Cabin. datatype: boolean description: Is trunk light on type: actuator - uuid: 43d7844934a45890bf2a287b676a994b Vehicle.Body.Trunk.Front.IsLocked: datatype: boolean description: Is item locked or unlocked. True = Locked. False = Unlocked. type: actuator - uuid: e0eabc210f07505fa1b66b67729d681b Vehicle.Body.Trunk.Front.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 2047de0896a352fcaf02baa06819a023 Vehicle.Body.Trunk.Front.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -844,7 +983,6 @@ Vehicle.Body.Trunk.Front.Position: min: 0 type: actuator unit: percent - uuid: 6d871111a565517098cd29936a30dd22 Vehicle.Body.Trunk.Front.Switch: allowed: @@ -856,32 +994,27 @@ Vehicle.Body.Trunk.Front.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 63a651cd414652aba970a937af0b3621 Vehicle.Body.Trunk.Rear: comment: A trunk is a luggage compartment in a vehicle. Depending on vehicle, it can be either in the front or back of the vehicle. Some vehicles may have trunks both at the front and at the rear of the vehicle. description: Trunk status. Start position for Trunk is Closed. type: branch - uuid: a6170ff5e4325f38b5d57402e1d95e5a Vehicle.Body.Trunk.Rear.IsLightOn: comment: V4.0 Moved from Vehicle.Cabin.Lights.IsTrunkOn because Trunk is not defined as part of the Cabin. datatype: boolean description: Is trunk light on type: actuator - uuid: a1065214515c5f7aa86f51eb7bf36664 Vehicle.Body.Trunk.Rear.IsLocked: datatype: boolean description: Is item locked or unlocked. True = Locked. False = Unlocked. type: actuator - uuid: 8f9b55b002ed59d3ac2ef0b014abf4aa Vehicle.Body.Trunk.Rear.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 3d3249e59306594698367b839b12c938 Vehicle.Body.Trunk.Rear.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -891,7 +1024,6 @@ Vehicle.Body.Trunk.Rear.Position: min: 0 type: actuator unit: percent - uuid: 574ae721a062565b9c057d813782909e Vehicle.Body.Trunk.Rear.Switch: allowed: @@ -903,34 +1035,28 @@ Vehicle.Body.Trunk.Rear.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 7a9f400abf875713adb5c696ae29b2be Vehicle.Body.Windshield: description: Windshield signals. type: branch - uuid: 73efba535dcb5032b9edc43406b050b8 Vehicle.Body.Windshield.Front: description: Windshield signals. type: branch - uuid: 8f0c61e4e4f557d98729210fc3c74f72 Vehicle.Body.Windshield.Front.IsHeatingOn: datatype: boolean description: Windshield heater status. False - off, True - on. type: actuator - uuid: 26e6a3b7e9bb58bebba29258faa6e300 Vehicle.Body.Windshield.Front.WasherFluid: description: Windshield washer fluid signals type: branch - uuid: 2de24016515353289953de5ea81efd3c Vehicle.Body.Windshield.Front.WasherFluid.IsLevelLow: datatype: boolean description: Low level indication for washer fluid. True = Level Low. False = Level OK. type: sensor - uuid: 8ca54695ad115f9bb6f56d7c450781a7 Vehicle.Body.Windshield.Front.WasherFluid.Level: datatype: uint8 @@ -938,24 +1064,20 @@ Vehicle.Body.Windshield.Front.WasherFluid.Level: max: 100 type: sensor unit: percent - uuid: a36dfb91414f5792bd01d193dceff1f4 Vehicle.Body.Windshield.Front.Wiping: description: Windshield wiper signals. type: branch - uuid: 2cffeccdc19a587cbe2264f426c6881a Vehicle.Body.Windshield.Front.Wiping.Intensity: datatype: uint8 description: Relative intensity/sensitivity for interval and rain sensor mode as requested by user/driver. Has no significance if Windshield.Wiping.Mode is OFF/SLOW/MEDIUM/FAST 0 - wipers inactive. 1 - minimum intensity (lowest frequency/sensitivity, longest interval). 2/3/4/... - higher intensity (higher frequency/sensitivity, shorter interval). Maximum value supported is vehicle specific. type: actuator - uuid: 7cdd36d1cc8f5f9a9f079f663190b588 Vehicle.Body.Windshield.Front.Wiping.IsWipersWorn: datatype: boolean description: Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn. type: sensor - uuid: b04ccc7daedb559c9bcdda6b00332be5 Vehicle.Body.Windshield.Front.Wiping.Mode: allowed: @@ -968,13 +1090,11 @@ Vehicle.Body.Windshield.Front.Wiping.Mode: datatype: string description: Wiper mode requested by user/driver. INTERVAL indicates intermittent wiping, with fixed time interval between each wipe. RAIN_SENSOR indicates intermittent wiping based on rain intensity. type: actuator - uuid: 3ee6552c96e551c5b06b79ad30226767 Vehicle.Body.Windshield.Front.Wiping.System: comment: These signals are typically not directly available to the user/driver of the vehicle. The overlay in overlays/extensions/dual_wiper_systems.vspec can be used to modify this branch to support two instances; Primary and Secondary. description: Signals to control behavior of wipers in detail. By default VSS expects only one instance. type: branch - uuid: 9002ff76166950e0aa3b7c9df3b53468 Vehicle.Body.Windshield.Front.Wiping.System.ActualPosition: comment: Default parking position might be used as reference position. @@ -982,7 +1102,6 @@ Vehicle.Body.Windshield.Front.Wiping.System.ActualPosition: description: Actual position of main wiper blade for the wiper system relative to reference position. Location of reference position (0 degrees) and direction of positive/negative degrees is vehicle specific. type: actuator unit: degrees - uuid: 026307b591465a8a99ffc0ebf262b393 Vehicle.Body.Windshield.Front.Wiping.System.DriveCurrent: comment: May be negative in special situations. @@ -990,7 +1109,6 @@ Vehicle.Body.Windshield.Front.Wiping.System.DriveCurrent: description: Actual current used by wiper drive. type: sensor unit: A - uuid: 251e695821b758e7b7d459d5e2ab6ca4 Vehicle.Body.Windshield.Front.Wiping.System.Frequency: comment: Examples - 0 = Wipers stopped, 80 = Wipers doing 80 cycles per minute (in WIPE mode). @@ -998,44 +1116,37 @@ Vehicle.Body.Windshield.Front.Wiping.System.Frequency: description: Wiping frequency/speed, measured in cycles per minute. The signal concerns the actual speed of the wiper blades when moving. Intervals/pauses are excluded, i.e. the value corresponds to the number of cycles that would be completed in 1 minute if wiping permanently over default range. type: actuator unit: cpm - uuid: 7394c8b8d20d52638881161ec1b41fc0 Vehicle.Body.Windshield.Front.Wiping.System.IsBlocked: datatype: boolean description: Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked. type: sensor - uuid: 4b526a2c781e56e386c82df226061f9e Vehicle.Body.Windshield.Front.Wiping.System.IsEndingWipeCycle: comment: In continuous wiping between A and B this sensor can be used a trigger to update TargetPosition. datatype: boolean description: Indicates if current wipe movement is completed or near completion. True = Movement is completed or near completion. Changes to RequestedPosition will be executed first after reaching previous RequestedPosition, if it has not already been reached. False = Movement is not near completion. Any change to RequestedPosition will be executed immediately. Change of direction may not be allowed. type: sensor - uuid: 5000f7f0c39e5fed9a95413ae4166482 Vehicle.Body.Windshield.Front.Wiping.System.IsOverheated: datatype: boolean description: Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated. type: sensor - uuid: e05d376ec2525ba2b61039d55f93760f Vehicle.Body.Windshield.Front.Wiping.System.IsPositionReached: datatype: boolean description: Indicates if a requested position has been reached. IsPositionReached refers to the previous position in case the TargetPosition is updated while IsEndingWipeCycle=True. True = Current or Previous TargetPosition reached. False = Position not (yet) reached, or wipers have moved away from the reached position. type: sensor - uuid: d42149fa8982593991aa5cd13a1cdee9 Vehicle.Body.Windshield.Front.Wiping.System.IsWiperError: datatype: boolean description: Indicates system failure. True if wiping is disabled due to system failure. type: sensor - uuid: 5276055d973f57998e1b8d6e536de735 Vehicle.Body.Windshield.Front.Wiping.System.IsWiping: datatype: boolean description: Indicates wiper movement. True if wiper blades are moving. Change of direction shall be considered as IsWiping if wipers will continue to move directly after the change of direction. type: sensor - uuid: 2015a4610d7a5fbdbb63b260640838e6 Vehicle.Body.Windshield.Front.Wiping.System.Mode: allowed: @@ -1046,7 +1157,6 @@ Vehicle.Body.Windshield.Front.Wiping.System.Mode: datatype: string description: Requested mode of wiper system. STOP_HOLD means that the wipers shall move to position given by TargetPosition and then hold the position. WIPE means that wipers shall move to the position given by TargetPosition and then hold the position if no new TargetPosition is requested. PLANT_MODE means that wiping is disabled. Exact behavior is vehicle specific. EMERGENCY_STOP means that wiping shall be immediately stopped without holding the position. type: actuator - uuid: d15518f5d1bc54a38718f43ef749dd34 Vehicle.Body.Windshield.Front.Wiping.System.TargetPosition: comment: Default parking position might be used as reference position. @@ -1054,7 +1164,6 @@ Vehicle.Body.Windshield.Front.Wiping.System.TargetPosition: description: Requested position of main wiper blade for the wiper system relative to reference position. Location of reference position (0 degrees) and direction of positive/negative degrees is vehicle specific. System behavior when receiving TargetPosition depends on Mode and IsEndingWipeCycle. Supported values are vehicle specific and might be dynamically corrected. If IsEndingWipeCycle=True then wipers will complete current movement before actuating new TargetPosition. If IsEndingWipeCycle=False then wipers will directly change destination if the TargetPosition is changed. type: actuator unit: degrees - uuid: 7a4a3fdd2947596dbada6980c142f090 Vehicle.Body.Windshield.Front.Wiping.WiperWear: datatype: uint8 @@ -1062,29 +1171,24 @@ Vehicle.Body.Windshield.Front.Wiping.WiperWear: max: 100 type: sensor unit: percent - uuid: 92c879c11bc65e6da30d582a3928caac Vehicle.Body.Windshield.Rear: description: Windshield signals. type: branch - uuid: 095ff58459b854aaa742e56447fe7a93 Vehicle.Body.Windshield.Rear.IsHeatingOn: datatype: boolean description: Windshield heater status. False - off, True - on. type: actuator - uuid: 76d811b4c4c356f4898dd6383e28bc6f Vehicle.Body.Windshield.Rear.WasherFluid: description: Windshield washer fluid signals type: branch - uuid: 1ea4ac2370e1567b9b812c1e3020ddfb Vehicle.Body.Windshield.Rear.WasherFluid.IsLevelLow: datatype: boolean description: Low level indication for washer fluid. True = Level Low. False = Level OK. type: sensor - uuid: 8ca0356548ae54e8af3aeace49e5ed71 Vehicle.Body.Windshield.Rear.WasherFluid.Level: datatype: uint8 @@ -1092,24 +1196,20 @@ Vehicle.Body.Windshield.Rear.WasherFluid.Level: max: 100 type: sensor unit: percent - uuid: c167e5b265895c108da1b9582de2dd91 Vehicle.Body.Windshield.Rear.Wiping: description: Windshield wiper signals. type: branch - uuid: f56e80a50fd75dbca48581aea4f012b7 Vehicle.Body.Windshield.Rear.Wiping.Intensity: datatype: uint8 description: Relative intensity/sensitivity for interval and rain sensor mode as requested by user/driver. Has no significance if Windshield.Wiping.Mode is OFF/SLOW/MEDIUM/FAST 0 - wipers inactive. 1 - minimum intensity (lowest frequency/sensitivity, longest interval). 2/3/4/... - higher intensity (higher frequency/sensitivity, shorter interval). Maximum value supported is vehicle specific. type: actuator - uuid: f18b13b9d96b51c492c031d3d86d22da Vehicle.Body.Windshield.Rear.Wiping.IsWipersWorn: datatype: boolean description: Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn. type: sensor - uuid: 0e8d5f7cb6295b908be3a03e8792cca8 Vehicle.Body.Windshield.Rear.Wiping.Mode: allowed: @@ -1122,13 +1222,11 @@ Vehicle.Body.Windshield.Rear.Wiping.Mode: datatype: string description: Wiper mode requested by user/driver. INTERVAL indicates intermittent wiping, with fixed time interval between each wipe. RAIN_SENSOR indicates intermittent wiping based on rain intensity. type: actuator - uuid: 8cc0b88ac8b45f5fa30bb7755ce22648 Vehicle.Body.Windshield.Rear.Wiping.System: comment: These signals are typically not directly available to the user/driver of the vehicle. The overlay in overlays/extensions/dual_wiper_systems.vspec can be used to modify this branch to support two instances; Primary and Secondary. description: Signals to control behavior of wipers in detail. By default VSS expects only one instance. type: branch - uuid: a00826f6ecc25c3fae7ad164361bdb33 Vehicle.Body.Windshield.Rear.Wiping.System.ActualPosition: comment: Default parking position might be used as reference position. @@ -1136,7 +1234,6 @@ Vehicle.Body.Windshield.Rear.Wiping.System.ActualPosition: description: Actual position of main wiper blade for the wiper system relative to reference position. Location of reference position (0 degrees) and direction of positive/negative degrees is vehicle specific. type: actuator unit: degrees - uuid: eddee2607a135582bbcf3d3afc845892 Vehicle.Body.Windshield.Rear.Wiping.System.DriveCurrent: comment: May be negative in special situations. @@ -1144,7 +1241,6 @@ Vehicle.Body.Windshield.Rear.Wiping.System.DriveCurrent: description: Actual current used by wiper drive. type: sensor unit: A - uuid: 7a254692329055dfb4089e2dcc1d4ef3 Vehicle.Body.Windshield.Rear.Wiping.System.Frequency: comment: Examples - 0 = Wipers stopped, 80 = Wipers doing 80 cycles per minute (in WIPE mode). @@ -1152,44 +1248,37 @@ Vehicle.Body.Windshield.Rear.Wiping.System.Frequency: description: Wiping frequency/speed, measured in cycles per minute. The signal concerns the actual speed of the wiper blades when moving. Intervals/pauses are excluded, i.e. the value corresponds to the number of cycles that would be completed in 1 minute if wiping permanently over default range. type: actuator unit: cpm - uuid: 371171d971995c999585b028e19be461 Vehicle.Body.Windshield.Rear.Wiping.System.IsBlocked: datatype: boolean description: Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked. type: sensor - uuid: 046e818b4dd9595a8301503e9afe028b Vehicle.Body.Windshield.Rear.Wiping.System.IsEndingWipeCycle: comment: In continuous wiping between A and B this sensor can be used a trigger to update TargetPosition. datatype: boolean description: Indicates if current wipe movement is completed or near completion. True = Movement is completed or near completion. Changes to RequestedPosition will be executed first after reaching previous RequestedPosition, if it has not already been reached. False = Movement is not near completion. Any change to RequestedPosition will be executed immediately. Change of direction may not be allowed. type: sensor - uuid: c1357156d87c58f49d4c43c2a6e97c03 Vehicle.Body.Windshield.Rear.Wiping.System.IsOverheated: datatype: boolean description: Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated. type: sensor - uuid: d30bc6f33b995ef491c252980a559ee2 Vehicle.Body.Windshield.Rear.Wiping.System.IsPositionReached: datatype: boolean description: Indicates if a requested position has been reached. IsPositionReached refers to the previous position in case the TargetPosition is updated while IsEndingWipeCycle=True. True = Current or Previous TargetPosition reached. False = Position not (yet) reached, or wipers have moved away from the reached position. type: sensor - uuid: ad35e8d17cd95273b1091dcef2104ea1 Vehicle.Body.Windshield.Rear.Wiping.System.IsWiperError: datatype: boolean description: Indicates system failure. True if wiping is disabled due to system failure. type: sensor - uuid: ac5983deacbe59d7ba1312d44bfd9cd4 Vehicle.Body.Windshield.Rear.Wiping.System.IsWiping: datatype: boolean description: Indicates wiper movement. True if wiper blades are moving. Change of direction shall be considered as IsWiping if wipers will continue to move directly after the change of direction. type: sensor - uuid: 4e001bf679e85c9aa7319bafc3a86e75 Vehicle.Body.Windshield.Rear.Wiping.System.Mode: allowed: @@ -1200,7 +1289,6 @@ Vehicle.Body.Windshield.Rear.Wiping.System.Mode: datatype: string description: Requested mode of wiper system. STOP_HOLD means that the wipers shall move to position given by TargetPosition and then hold the position. WIPE means that wipers shall move to the position given by TargetPosition and then hold the position if no new TargetPosition is requested. PLANT_MODE means that wiping is disabled. Exact behavior is vehicle specific. EMERGENCY_STOP means that wiping shall be immediately stopped without holding the position. type: actuator - uuid: f2f47522466d570baa7618fac5b0359c Vehicle.Body.Windshield.Rear.Wiping.System.TargetPosition: comment: Default parking position might be used as reference position. @@ -1208,7 +1296,6 @@ Vehicle.Body.Windshield.Rear.Wiping.System.TargetPosition: description: Requested position of main wiper blade for the wiper system relative to reference position. Location of reference position (0 degrees) and direction of positive/negative degrees is vehicle specific. System behavior when receiving TargetPosition depends on Mode and IsEndingWipeCycle. Supported values are vehicle specific and might be dynamically corrected. If IsEndingWipeCycle=True then wipers will complete current movement before actuating new TargetPosition. If IsEndingWipeCycle=False then wipers will directly change destination if the TargetPosition is changed. type: actuator unit: degrees - uuid: c39bef0760185555904a92a305392080 Vehicle.Body.Windshield.Rear.Wiping.WiperWear: datatype: uint8 @@ -1216,17 +1303,14 @@ Vehicle.Body.Windshield.Rear.Wiping.WiperWear: max: 100 type: sensor unit: percent - uuid: afd6a352230f5eeaa8ac5f1f188bfd33 Vehicle.Cabin: description: All in-cabin components, including doors. type: branch - uuid: 1a94457b237f5e8eb3c77c0532ac88d7 Vehicle.Cabin.Convertible: description: Convertible roof. type: branch - uuid: 2aece85d39d6569e93cf842387a645d9 Vehicle.Cabin.Convertible.Status: allowed: @@ -1239,40 +1323,33 @@ Vehicle.Cabin.Convertible.Status: datatype: string description: Roof status on convertible vehicles. type: sensor - uuid: c8812698198a56d7a1adcc8bbe87845f Vehicle.Cabin.Door: description: All doors, including windows and switches. type: branch - uuid: fd7f4d16f8965419a9a69fd66b40c1d7 Vehicle.Cabin.Door.Row1: description: All doors, including windows and switches. type: branch - uuid: fd3fcb481cb953dc9a853125c6ca0453 Vehicle.Cabin.Door.Row1.DriverSide: description: All doors, including windows and switches. type: branch - uuid: 0fe04659010a505a9816a3a9457b3540 Vehicle.Cabin.Door.Row1.DriverSide.IsChildLockActive: datatype: boolean description: Is door child lock active. True = Door cannot be opened from inside. False = Door can be opened from inside. type: sensor - uuid: 62a265895be0566694358eecab381a4c Vehicle.Cabin.Door.Row1.DriverSide.IsLocked: datatype: boolean description: Is item locked or unlocked. True = Locked. False = Unlocked. type: actuator - uuid: 9080712219dc57eaacf85d6630e01ca0 Vehicle.Cabin.Door.Row1.DriverSide.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: da3dccb4ab085fcabca24efd99435d87 Vehicle.Cabin.Door.Row1.DriverSide.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1282,18 +1359,15 @@ Vehicle.Cabin.Door.Row1.DriverSide.Position: min: 0 type: actuator unit: percent - uuid: 6ef9c60445f9577e83ffff4ea6d863b9 Vehicle.Cabin.Door.Row1.DriverSide.Shade: description: Side window shade. Open = Retracted, Closed = Deployed. Start position for Shade is Open/Retracted. type: branch - uuid: 7220d013b9205e1b9e7ca6b95cb14058 Vehicle.Cabin.Door.Row1.DriverSide.Shade.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 112a180977c956aab6c5422cb6cc46e7 Vehicle.Cabin.Door.Row1.DriverSide.Shade.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1303,7 +1377,6 @@ Vehicle.Cabin.Door.Row1.DriverSide.Shade.Position: min: 0 type: actuator unit: percent - uuid: 7ec218dfc5855bfa88af947d7b06b1f4 Vehicle.Cabin.Door.Row1.DriverSide.Shade.Switch: allowed: @@ -1315,7 +1388,6 @@ Vehicle.Cabin.Door.Row1.DriverSide.Shade.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: fea7f9577a8456128c548daf3c548ea4 Vehicle.Cabin.Door.Row1.DriverSide.Switch: allowed: @@ -1327,18 +1399,15 @@ Vehicle.Cabin.Door.Row1.DriverSide.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 1b93676e79ea5a9095327bde69927a21 Vehicle.Cabin.Door.Row1.DriverSide.Window: description: Door window status. Start position for Window is Closed. type: branch - uuid: 6ab9b77468d45cdfadebe124256aa910 Vehicle.Cabin.Door.Row1.DriverSide.Window.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: ff58aae512475431bec02b5c4a36b6f9 Vehicle.Cabin.Door.Row1.DriverSide.Window.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1348,7 +1417,6 @@ Vehicle.Cabin.Door.Row1.DriverSide.Window.Position: min: 0 type: actuator unit: percent - uuid: 83da2e0448465874bf2bff9aeff91793 Vehicle.Cabin.Door.Row1.DriverSide.Window.Switch: allowed: @@ -1360,30 +1428,25 @@ Vehicle.Cabin.Door.Row1.DriverSide.Window.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 5d3f802110a95653b4518b8f21836113 Vehicle.Cabin.Door.Row1.PassengerSide: description: All doors, including windows and switches. type: branch - uuid: 9ea0425fb2085ded9a393d4e999ae90a Vehicle.Cabin.Door.Row1.PassengerSide.IsChildLockActive: datatype: boolean description: Is door child lock active. True = Door cannot be opened from inside. False = Door can be opened from inside. type: sensor - uuid: 74a842786a73553ba3491975c2077ac7 Vehicle.Cabin.Door.Row1.PassengerSide.IsLocked: datatype: boolean description: Is item locked or unlocked. True = Locked. False = Unlocked. type: actuator - uuid: 48d4388ec67b519ab500ee424ce4b6cb Vehicle.Cabin.Door.Row1.PassengerSide.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 80aca3884840557db10f1314a27a5eeb Vehicle.Cabin.Door.Row1.PassengerSide.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1393,18 +1456,15 @@ Vehicle.Cabin.Door.Row1.PassengerSide.Position: min: 0 type: actuator unit: percent - uuid: 7002316cdf9852afb027abc03309b15d Vehicle.Cabin.Door.Row1.PassengerSide.Shade: description: Side window shade. Open = Retracted, Closed = Deployed. Start position for Shade is Open/Retracted. type: branch - uuid: dfe64259f26a54bda64b9aa24362c7eb Vehicle.Cabin.Door.Row1.PassengerSide.Shade.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 46bec5f9c4ef594fb41836d413e79400 Vehicle.Cabin.Door.Row1.PassengerSide.Shade.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1414,7 +1474,6 @@ Vehicle.Cabin.Door.Row1.PassengerSide.Shade.Position: min: 0 type: actuator unit: percent - uuid: 8f583d09021e51319aa6bdd0e29aefc8 Vehicle.Cabin.Door.Row1.PassengerSide.Shade.Switch: allowed: @@ -1426,7 +1485,6 @@ Vehicle.Cabin.Door.Row1.PassengerSide.Shade.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: c700d6a13a16522ead84b81314fd452b Vehicle.Cabin.Door.Row1.PassengerSide.Switch: allowed: @@ -1438,18 +1496,15 @@ Vehicle.Cabin.Door.Row1.PassengerSide.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: c1244ebb7ef35c2a9e0f6ebf47710536 Vehicle.Cabin.Door.Row1.PassengerSide.Window: description: Door window status. Start position for Window is Closed. type: branch - uuid: c588ac43d3945dc0a45994c4d298d9b0 Vehicle.Cabin.Door.Row1.PassengerSide.Window.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 120e3b950fd657fabd90069e6e01f44e Vehicle.Cabin.Door.Row1.PassengerSide.Window.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1459,7 +1514,6 @@ Vehicle.Cabin.Door.Row1.PassengerSide.Window.Position: min: 0 type: actuator unit: percent - uuid: ec293d2eb9e052e88d01927c811711ef Vehicle.Cabin.Door.Row1.PassengerSide.Window.Switch: allowed: @@ -1471,35 +1525,29 @@ Vehicle.Cabin.Door.Row1.PassengerSide.Window.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 36efa23a161a5fe1b65e36f5656738fb Vehicle.Cabin.Door.Row2: description: All doors, including windows and switches. type: branch - uuid: 74c8a76ad2545ceba474a85ae84eec8e Vehicle.Cabin.Door.Row2.DriverSide: description: All doors, including windows and switches. type: branch - uuid: 996c7ede1ac453ae9aed508c2835ae56 Vehicle.Cabin.Door.Row2.DriverSide.IsChildLockActive: datatype: boolean description: Is door child lock active. True = Door cannot be opened from inside. False = Door can be opened from inside. type: sensor - uuid: 707facc3d89052d8ae66675ffd8755a8 Vehicle.Cabin.Door.Row2.DriverSide.IsLocked: datatype: boolean description: Is item locked or unlocked. True = Locked. False = Unlocked. type: actuator - uuid: df98641aae1553a68b741826496d9d42 Vehicle.Cabin.Door.Row2.DriverSide.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 49c55921d1825bc1a82334a40eeb45f9 Vehicle.Cabin.Door.Row2.DriverSide.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1509,18 +1557,15 @@ Vehicle.Cabin.Door.Row2.DriverSide.Position: min: 0 type: actuator unit: percent - uuid: bf1d5b2f6a0b59bcb18abf24ea45c11e Vehicle.Cabin.Door.Row2.DriverSide.Shade: description: Side window shade. Open = Retracted, Closed = Deployed. Start position for Shade is Open/Retracted. type: branch - uuid: 9b08a5dc400253b8bf31776582f275fd Vehicle.Cabin.Door.Row2.DriverSide.Shade.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 69c6da83b3aa51cd8156e57b2ba431a5 Vehicle.Cabin.Door.Row2.DriverSide.Shade.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1530,7 +1575,6 @@ Vehicle.Cabin.Door.Row2.DriverSide.Shade.Position: min: 0 type: actuator unit: percent - uuid: 96227261fc205735adb031fb549de6bf Vehicle.Cabin.Door.Row2.DriverSide.Shade.Switch: allowed: @@ -1542,7 +1586,6 @@ Vehicle.Cabin.Door.Row2.DriverSide.Shade.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 81f6196e909d590d858fe4da18c60590 Vehicle.Cabin.Door.Row2.DriverSide.Switch: allowed: @@ -1554,18 +1597,15 @@ Vehicle.Cabin.Door.Row2.DriverSide.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 3e46afea496054afb12653a9c82c66ad Vehicle.Cabin.Door.Row2.DriverSide.Window: description: Door window status. Start position for Window is Closed. type: branch - uuid: bb6ac206a45b507f9f1fe5fdfcf82b31 Vehicle.Cabin.Door.Row2.DriverSide.Window.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 1fa3b2f43118575aa2f136fdd15ff61f Vehicle.Cabin.Door.Row2.DriverSide.Window.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1575,7 +1615,6 @@ Vehicle.Cabin.Door.Row2.DriverSide.Window.Position: min: 0 type: actuator unit: percent - uuid: 8a097ade895c5cd8afe9efeef79532fc Vehicle.Cabin.Door.Row2.DriverSide.Window.Switch: allowed: @@ -1587,30 +1626,25 @@ Vehicle.Cabin.Door.Row2.DriverSide.Window.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 4dd1a3858c1b54cc94a8dc4d011ea307 Vehicle.Cabin.Door.Row2.PassengerSide: description: All doors, including windows and switches. type: branch - uuid: 16bc38dcd8055f50b54f87478f72f776 Vehicle.Cabin.Door.Row2.PassengerSide.IsChildLockActive: datatype: boolean description: Is door child lock active. True = Door cannot be opened from inside. False = Door can be opened from inside. type: sensor - uuid: 082f7e3633ab56d4a48817329cf46ef9 Vehicle.Cabin.Door.Row2.PassengerSide.IsLocked: datatype: boolean description: Is item locked or unlocked. True = Locked. False = Unlocked. type: actuator - uuid: 32fa3a8c0b2d5451a4a1976438417305 Vehicle.Cabin.Door.Row2.PassengerSide.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 84cab77c9c1d59aba1565b3484c5e01f Vehicle.Cabin.Door.Row2.PassengerSide.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1620,18 +1654,15 @@ Vehicle.Cabin.Door.Row2.PassengerSide.Position: min: 0 type: actuator unit: percent - uuid: 74e971377a1053d284a6bf80cf1aa1c1 Vehicle.Cabin.Door.Row2.PassengerSide.Shade: description: Side window shade. Open = Retracted, Closed = Deployed. Start position for Shade is Open/Retracted. type: branch - uuid: 8dc8133322a65057844f9b7eceee6ef9 Vehicle.Cabin.Door.Row2.PassengerSide.Shade.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: d667cda8637e518e900f0e599f59ca1d Vehicle.Cabin.Door.Row2.PassengerSide.Shade.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1641,7 +1672,6 @@ Vehicle.Cabin.Door.Row2.PassengerSide.Shade.Position: min: 0 type: actuator unit: percent - uuid: aa5627291c29505b8d2f7d652cc4800d Vehicle.Cabin.Door.Row2.PassengerSide.Shade.Switch: allowed: @@ -1653,7 +1683,6 @@ Vehicle.Cabin.Door.Row2.PassengerSide.Shade.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 0c33dd31375452d6ad0c531eac1637c6 Vehicle.Cabin.Door.Row2.PassengerSide.Switch: allowed: @@ -1665,18 +1694,15 @@ Vehicle.Cabin.Door.Row2.PassengerSide.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 1411f865d2065849aeb214875d0c099b Vehicle.Cabin.Door.Row2.PassengerSide.Window: description: Door window status. Start position for Window is Closed. type: branch - uuid: b64ba696bf7b5fdc8dba79ae5cb119d1 Vehicle.Cabin.Door.Row2.PassengerSide.Window.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 13e37e2924115c73a36df78f09fad493 Vehicle.Cabin.Door.Row2.PassengerSide.Window.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -1686,7 +1712,6 @@ Vehicle.Cabin.Door.Row2.PassengerSide.Window.Position: min: 0 type: actuator unit: percent - uuid: e3e3fa03f4e357ae8ac8f43799a99350 Vehicle.Cabin.Door.Row2.PassengerSide.Window.Switch: allowed: @@ -1698,14 +1723,12 @@ Vehicle.Cabin.Door.Row2.PassengerSide.Window.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 174b3bc145625a22b23a283c424c28b4 Vehicle.Cabin.DoorCount: datatype: uint8 default: 4 description: Number of doors in vehicle. type: attribute - uuid: c293fbef75725c57a9918dd5a34055c4 Vehicle.Cabin.DriverPosition: allowed: @@ -1716,49 +1739,41 @@ Vehicle.Cabin.DriverPosition: datatype: string description: The position of the driver seat in row 1. type: attribute - uuid: bca9ccd50358584d8d20865694b0d15f Vehicle.Cabin.HVAC: description: Climate control type: branch - uuid: f8ff34337cdf568e91ab406a365c3249 Vehicle.Cabin.HVAC.AmbientAirTemperature: datatype: float description: Ambient air temperature inside the vehicle. type: sensor - unit: celsius - uuid: 611868a24bc25eb9a837208c235e9491 + unit: Celsius Vehicle.Cabin.HVAC.IsAirConditioningActive: datatype: boolean description: Is Air conditioning active. type: actuator - uuid: dc4f79e4211c54a6b4eed0236aae84a6 Vehicle.Cabin.HVAC.IsAutoPowerOptimize: datatype: boolean description: Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed. type: actuator - uuid: 83abc4d9c05f557d83482f2d4347eb32 Vehicle.Cabin.HVAC.IsFrontDefrosterActive: datatype: boolean description: Is front defroster active. type: actuator - uuid: afa678c87182544bb6ab81fa6a770791 Vehicle.Cabin.HVAC.IsRearDefrosterActive: datatype: boolean description: Is rear defroster active. type: actuator - uuid: d342a7939f2e5adeaeb5e68e3a314445 Vehicle.Cabin.HVAC.IsRecirculationActive: datatype: boolean description: Is recirculation active. type: actuator - uuid: 7b80c41c63b35c9299a410166cd33c81 Vehicle.Cabin.HVAC.PowerOptimizeLevel: datatype: uint8 @@ -1766,22 +1781,18 @@ Vehicle.Cabin.HVAC.PowerOptimizeLevel: max: 10 min: 0 type: actuator - uuid: ee011a09ebc6519183177b05d7302ce8 Vehicle.Cabin.HVAC.Station: description: HVAC for single station in the vehicle type: branch - uuid: 253e683e6f135b83b6302a30b6c0ec8d Vehicle.Cabin.HVAC.Station.Row1: description: HVAC for single station in the vehicle type: branch - uuid: 80860491fba75babaf3c439d1d471a6d Vehicle.Cabin.HVAC.Station.Row1.Driver: description: HVAC for single station in the vehicle type: branch - uuid: 7480dcf1e7375c7491a4dc083a8a7d15 Vehicle.Cabin.HVAC.Station.Row1.Driver.AirDistribution: allowed: @@ -1791,7 +1802,6 @@ Vehicle.Cabin.HVAC.Station.Row1.Driver.AirDistribution: datatype: string description: Direction of airstream type: actuator - uuid: 8b7412018a6f5c0a8467bdddb53e76f7 Vehicle.Cabin.HVAC.Station.Row1.Driver.FanSpeed: datatype: uint8 @@ -1800,19 +1810,16 @@ Vehicle.Cabin.HVAC.Station.Row1.Driver.FanSpeed: min: 0 type: actuator unit: percent - uuid: 3db004f9a2ee528099499d660bfa715f Vehicle.Cabin.HVAC.Station.Row1.Driver.Temperature: - datatype: int8 + datatype: float description: Temperature type: actuator - unit: celsius - uuid: 1eae45dbda85581ca794b6b4513376cd + unit: Celsius Vehicle.Cabin.HVAC.Station.Row1.Passenger: description: HVAC for single station in the vehicle type: branch - uuid: e536a7f5f6a05ff48f26f96ef5772455 Vehicle.Cabin.HVAC.Station.Row1.Passenger.AirDistribution: allowed: @@ -1822,7 +1829,6 @@ Vehicle.Cabin.HVAC.Station.Row1.Passenger.AirDistribution: datatype: string description: Direction of airstream type: actuator - uuid: 610facc5829f5d52a40e8b1e9706866c Vehicle.Cabin.HVAC.Station.Row1.Passenger.FanSpeed: datatype: uint8 @@ -1831,24 +1837,20 @@ Vehicle.Cabin.HVAC.Station.Row1.Passenger.FanSpeed: min: 0 type: actuator unit: percent - uuid: 2d00c3cf2f735a37b646d9a51e77ef9e Vehicle.Cabin.HVAC.Station.Row1.Passenger.Temperature: - datatype: int8 + datatype: float description: Temperature type: actuator - unit: celsius - uuid: 3a7a6b5f8c4756d4bcf540ee41c781e1 + unit: Celsius Vehicle.Cabin.HVAC.Station.Row2: description: HVAC for single station in the vehicle type: branch - uuid: d98e8f5f94da5acfbf428c635a8bcc0c Vehicle.Cabin.HVAC.Station.Row2.Driver: description: HVAC for single station in the vehicle type: branch - uuid: d1dd7712867d51ec847afa67e6dd3c92 Vehicle.Cabin.HVAC.Station.Row2.Driver.AirDistribution: allowed: @@ -1858,7 +1860,6 @@ Vehicle.Cabin.HVAC.Station.Row2.Driver.AirDistribution: datatype: string description: Direction of airstream type: actuator - uuid: 8a021c3941ee5fed99efb5b8c7e6882a Vehicle.Cabin.HVAC.Station.Row2.Driver.FanSpeed: datatype: uint8 @@ -1867,19 +1868,16 @@ Vehicle.Cabin.HVAC.Station.Row2.Driver.FanSpeed: min: 0 type: actuator unit: percent - uuid: 873e0193650f5f4a88bdb9777ead4df7 Vehicle.Cabin.HVAC.Station.Row2.Driver.Temperature: - datatype: int8 + datatype: float description: Temperature type: actuator - unit: celsius - uuid: 50d268809c555b82b275884f8c170825 + unit: Celsius Vehicle.Cabin.HVAC.Station.Row2.Passenger: description: HVAC for single station in the vehicle type: branch - uuid: ed9c94346bd8511584c4d9a8e2d49ec0 Vehicle.Cabin.HVAC.Station.Row2.Passenger.AirDistribution: allowed: @@ -1889,7 +1887,6 @@ Vehicle.Cabin.HVAC.Station.Row2.Passenger.AirDistribution: datatype: string description: Direction of airstream type: actuator - uuid: 06105fb9e69755f38a02132b4b432351 Vehicle.Cabin.HVAC.Station.Row2.Passenger.FanSpeed: datatype: uint8 @@ -1898,24 +1895,20 @@ Vehicle.Cabin.HVAC.Station.Row2.Passenger.FanSpeed: min: 0 type: actuator unit: percent - uuid: a9d1c8e5a9e35e7ca924ec4871364de8 Vehicle.Cabin.HVAC.Station.Row2.Passenger.Temperature: - datatype: int8 + datatype: float description: Temperature type: actuator - unit: celsius - uuid: a83b6548c3c95d288072caa1a7dc2904 + unit: Celsius Vehicle.Cabin.HVAC.Station.Row3: description: HVAC for single station in the vehicle type: branch - uuid: 6eb8d63b66c859d5b36ef52d264aed2b Vehicle.Cabin.HVAC.Station.Row3.Driver: description: HVAC for single station in the vehicle type: branch - uuid: 299b787af2fe56ab9721086824692e10 Vehicle.Cabin.HVAC.Station.Row3.Driver.AirDistribution: allowed: @@ -1925,7 +1918,6 @@ Vehicle.Cabin.HVAC.Station.Row3.Driver.AirDistribution: datatype: string description: Direction of airstream type: actuator - uuid: ec927fbdee9e51c89ccba5c3752189cb Vehicle.Cabin.HVAC.Station.Row3.Driver.FanSpeed: datatype: uint8 @@ -1934,19 +1926,16 @@ Vehicle.Cabin.HVAC.Station.Row3.Driver.FanSpeed: min: 0 type: actuator unit: percent - uuid: 9c111ac7582752228e43bda739c0a26a Vehicle.Cabin.HVAC.Station.Row3.Driver.Temperature: - datatype: int8 + datatype: float description: Temperature type: actuator - unit: celsius - uuid: d16ac539f8035e209831c1f4c7c39c83 + unit: Celsius Vehicle.Cabin.HVAC.Station.Row3.Passenger: description: HVAC for single station in the vehicle type: branch - uuid: 810eed3a9836574a886923f2ddf67dfd Vehicle.Cabin.HVAC.Station.Row3.Passenger.AirDistribution: allowed: @@ -1956,7 +1945,6 @@ Vehicle.Cabin.HVAC.Station.Row3.Passenger.AirDistribution: datatype: string description: Direction of airstream type: actuator - uuid: 5cf67ab3c7d1500ab306c397b7dddb12 Vehicle.Cabin.HVAC.Station.Row3.Passenger.FanSpeed: datatype: uint8 @@ -1965,24 +1953,20 @@ Vehicle.Cabin.HVAC.Station.Row3.Passenger.FanSpeed: min: 0 type: actuator unit: percent - uuid: 71f5693b021f52ca888335848535db51 Vehicle.Cabin.HVAC.Station.Row3.Passenger.Temperature: - datatype: int8 + datatype: float description: Temperature type: actuator - unit: celsius - uuid: 1499ad96881c551886081c52d404d3e3 + unit: Celsius Vehicle.Cabin.HVAC.Station.Row4: description: HVAC for single station in the vehicle type: branch - uuid: ff0c0fa26de7508dbe92a83bc087dff6 Vehicle.Cabin.HVAC.Station.Row4.Driver: description: HVAC for single station in the vehicle type: branch - uuid: 7211e138449252378f1a6ffbece35753 Vehicle.Cabin.HVAC.Station.Row4.Driver.AirDistribution: allowed: @@ -1992,7 +1976,6 @@ Vehicle.Cabin.HVAC.Station.Row4.Driver.AirDistribution: datatype: string description: Direction of airstream type: actuator - uuid: 984add0704f850f2bb06a748c43211fb Vehicle.Cabin.HVAC.Station.Row4.Driver.FanSpeed: datatype: uint8 @@ -2001,19 +1984,16 @@ Vehicle.Cabin.HVAC.Station.Row4.Driver.FanSpeed: min: 0 type: actuator unit: percent - uuid: fbd6ca78cdc557078f91b3d649866ec2 Vehicle.Cabin.HVAC.Station.Row4.Driver.Temperature: - datatype: int8 + datatype: float description: Temperature type: actuator - unit: celsius - uuid: 9db31f66a7575255864758d62a4e0185 + unit: Celsius Vehicle.Cabin.HVAC.Station.Row4.Passenger: description: HVAC for single station in the vehicle type: branch - uuid: 30fac3fdc3785d7fa8eb4298da45e95b Vehicle.Cabin.HVAC.Station.Row4.Passenger.AirDistribution: allowed: @@ -2023,7 +2003,6 @@ Vehicle.Cabin.HVAC.Station.Row4.Passenger.AirDistribution: datatype: string description: Direction of airstream type: actuator - uuid: 2c829297b81e54cf85a04bde79f31f34 Vehicle.Cabin.HVAC.Station.Row4.Passenger.FanSpeed: datatype: uint8 @@ -2032,24 +2011,20 @@ Vehicle.Cabin.HVAC.Station.Row4.Passenger.FanSpeed: min: 0 type: actuator unit: percent - uuid: 580538988d3f513c88612665621bba09 Vehicle.Cabin.HVAC.Station.Row4.Passenger.Temperature: - datatype: int8 + datatype: float description: Temperature type: actuator - unit: celsius - uuid: 06b974ba5325558793b8a7dccb560bde + unit: Celsius Vehicle.Cabin.Infotainment: description: Infotainment system. type: branch - uuid: d88f92fbdda35012a2443b5e130d5eff Vehicle.Cabin.Infotainment.HMI: description: HMI related signals type: branch - uuid: 271e3d9202825f37bd054820e5ea8141 Vehicle.Cabin.Infotainment.HMI.Brightness: comment: The value 0 does not necessarily correspond to a turned off HMI, as it may not be allowed/supported to turn off the HMI completely. @@ -2059,13 +2034,11 @@ Vehicle.Cabin.Infotainment.HMI.Brightness: min: 0 type: actuator unit: percent - uuid: 44147980dabd56b883ae4d2491383a17 Vehicle.Cabin.Infotainment.HMI.CurrentLanguage: datatype: string description: ISO 639-1 standard language code for the current HMI type: sensor - uuid: dc29ee5b7f7154b4ab05a9771fe930b3 Vehicle.Cabin.Infotainment.HMI.DateFormat: allowed: @@ -2078,7 +2051,6 @@ Vehicle.Cabin.Infotainment.HMI.DateFormat: datatype: string description: Date format used in the current HMI type: actuator - uuid: 0f03c3955fe953e9893a1f52e964919e Vehicle.Cabin.Infotainment.HMI.DayNightMode: allowed: @@ -2087,7 +2059,6 @@ Vehicle.Cabin.Infotainment.HMI.DayNightMode: datatype: string description: Current display theme type: actuator - uuid: a892039ba136588fa26b2670f839c0cc Vehicle.Cabin.Infotainment.HMI.DisplayOffDuration: comment: Display shall be turned off at HMI.LastActionTime + HMI.DisplayOffDuration, unless HMI.IsScreenAlwaysOn==True. @@ -2095,7 +2066,6 @@ Vehicle.Cabin.Infotainment.HMI.DisplayOffDuration: description: Duration in seconds before the display is turned off. Value shall be 0 if screen never shall turn off. type: actuator unit: s - uuid: 130114ebf81f59718cf257e198b90e01 Vehicle.Cabin.Infotainment.HMI.DistanceUnit: allowed: @@ -2104,7 +2074,6 @@ Vehicle.Cabin.Infotainment.HMI.DistanceUnit: datatype: string description: Distance unit used in the current HMI type: actuator - uuid: 4b40e8bdb1a053ee9ee35338d8804e7b Vehicle.Cabin.Infotainment.HMI.EVEconomyUnits: allowed: @@ -2117,7 +2086,6 @@ Vehicle.Cabin.Infotainment.HMI.EVEconomyUnits: datatype: string description: EV fuel economy unit used in the current HMI type: actuator - uuid: 914846f6804757ba81ca6bcfac8d2c48 Vehicle.Cabin.Infotainment.HMI.EVEnergyUnits: allowed: @@ -2128,7 +2096,6 @@ Vehicle.Cabin.Infotainment.HMI.EVEnergyUnits: datatype: string description: EV energy unit used in the current HMI type: actuator - uuid: cf09b365499859c5a916d7fc1ea2d3ba Vehicle.Cabin.Infotainment.HMI.FontSize: allowed: @@ -2138,7 +2105,6 @@ Vehicle.Cabin.Infotainment.HMI.FontSize: datatype: string description: Font size used in the current HMI type: actuator - uuid: 630bf4a73340503799e8d86889ffd863 Vehicle.Cabin.Infotainment.HMI.FuelEconomyUnits: allowed: @@ -2150,7 +2116,6 @@ Vehicle.Cabin.Infotainment.HMI.FuelEconomyUnits: datatype: string description: Fuel economy unit used in the current HMI type: actuator - uuid: 0e6a43ce1aa45243b753545ffa1f0f8c Vehicle.Cabin.Infotainment.HMI.FuelVolumeUnit: allowed: @@ -2160,20 +2125,17 @@ Vehicle.Cabin.Infotainment.HMI.FuelVolumeUnit: datatype: string description: Fuel volume unit used in the current HMI type: actuator - uuid: aef80d0bd01d593082e41abf072dab9b Vehicle.Cabin.Infotainment.HMI.IsScreenAlwaysOn: datatype: boolean description: Used to prevent the screen going black if no action placed. type: actuator - uuid: f6f2bffbad7e5e9098b351bf99b71624 Vehicle.Cabin.Infotainment.HMI.LastActionTime: datatype: string description: Time for last hmi action, formatted according to ISO 8601 with UTC time zone. type: sensor unit: iso8601 - uuid: 19b4f7e950bc526f8c263b4cc5954960 Vehicle.Cabin.Infotainment.HMI.SpeedUnit: allowed: @@ -2183,7 +2145,6 @@ Vehicle.Cabin.Infotainment.HMI.SpeedUnit: datatype: string description: Speed unit used in the current HMI type: actuator - uuid: 9bb9811aaa1c5ce79e0c19f5ba6049bb Vehicle.Cabin.Infotainment.HMI.TemperatureUnit: allowed: @@ -2192,7 +2153,6 @@ Vehicle.Cabin.Infotainment.HMI.TemperatureUnit: datatype: string description: Temperature unit used in the current HMI type: actuator - uuid: a7d1533490bb52b6b4f650280e72543d Vehicle.Cabin.Infotainment.HMI.TimeFormat: allowed: @@ -2201,7 +2161,6 @@ Vehicle.Cabin.Infotainment.HMI.TimeFormat: datatype: string description: Time format used in the current HMI type: actuator - uuid: 73083b87a4e25c02aee672ea32e40005 Vehicle.Cabin.Infotainment.HMI.TirePressureUnit: allowed: @@ -2211,18 +2170,15 @@ Vehicle.Cabin.Infotainment.HMI.TirePressureUnit: datatype: string description: Tire pressure unit used in the current HMI type: actuator - uuid: e5ffaf58cc10523fa0858deafb61a8ce Vehicle.Cabin.Infotainment.IsAutoPowerOptimize: datatype: boolean description: Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed. type: actuator - uuid: e4b9efd3fc8d588cb7220058e0406868 Vehicle.Cabin.Infotainment.Media: description: All Media actions type: branch - uuid: 3f324d13873e501a84daf2cfade24d0f Vehicle.Cabin.Infotainment.Media.Action: allowed: @@ -2236,37 +2192,36 @@ Vehicle.Cabin.Infotainment.Media.Action: datatype: string description: Tells if the media was type: actuator - uuid: 0357aea525bf505981a14e4fc720094e Vehicle.Cabin.Infotainment.Media.DeclinedURI: datatype: string description: URI of suggested media that was declined type: sensor - uuid: 51b0d6227db55b92bc35eedd8277f4c4 Vehicle.Cabin.Infotainment.Media.Played: description: Collection of signals updated in concert when a new media is played type: branch - uuid: 6585e9d3b6ff596da72a5f8c98d2d47a Vehicle.Cabin.Infotainment.Media.Played.Album: datatype: string description: Name of album being played type: sensor - uuid: 1d80b1e2c1085def92b3548b5db2786e Vehicle.Cabin.Infotainment.Media.Played.Artist: datatype: string description: Name of artist being played type: sensor - uuid: 076af7ad8aff5110ab5a64d1f58ccdcb + +Vehicle.Cabin.Infotainment.Media.Played.Genre: + datatype: string + description: Name of genre being played + type: sensor Vehicle.Cabin.Infotainment.Media.Played.PlaybackRate: comment: The normal playback rate is multiplied by this value to obtain the current rate, so a value of 1.0 indicates normal speed. Values of lower than 1.0 make the media play slower than normal. Values of higher than 1.0 make the media play faster than normal. datatype: float description: Current playback rate of media being played. type: actuator - uuid: f5e58f66f21f560fbd0124ab5b17460e Vehicle.Cabin.Infotainment.Media.Played.Source: allowed: @@ -2288,25 +2243,21 @@ Vehicle.Cabin.Infotainment.Media.Played.Source: datatype: string description: Media selected for playback type: actuator - uuid: 54fb88a7d7cf5e3aab63e8f52415c187 Vehicle.Cabin.Infotainment.Media.Played.Track: datatype: string description: Name of track being played type: sensor - uuid: ee800d62a40351e6934649ca75927d69 Vehicle.Cabin.Infotainment.Media.Played.URI: datatype: string description: User Resource associated with the media type: sensor - uuid: 1ed22b9925c3502d8d1389c8e02d0f07 Vehicle.Cabin.Infotainment.Media.SelectedURI: datatype: string description: URI of suggested media that was selected type: actuator - uuid: 4820f7a961c25e91af12d3417a145d32 Vehicle.Cabin.Infotainment.Media.Volume: datatype: uint8 @@ -2315,17 +2266,14 @@ Vehicle.Cabin.Infotainment.Media.Volume: min: 0 type: actuator unit: percent - uuid: 8b344688816f5844ae5812bb136c8006 Vehicle.Cabin.Infotainment.Navigation: description: All navigation actions type: branch - uuid: 79bb0cc4acae5d1eb34fb214352d7863 Vehicle.Cabin.Infotainment.Navigation.DestinationSet: description: A navigation has been selected. type: branch - uuid: f51ce253dc5b58168ecca99297139455 Vehicle.Cabin.Infotainment.Navigation.DestinationSet.Latitude: datatype: double @@ -2334,7 +2282,6 @@ Vehicle.Cabin.Infotainment.Navigation.DestinationSet.Latitude: min: -90 type: actuator unit: degrees - uuid: 3e33f3252934565d86de5409c761262b Vehicle.Cabin.Infotainment.Navigation.DestinationSet.Longitude: datatype: double @@ -2343,7 +2290,6 @@ Vehicle.Cabin.Infotainment.Navigation.DestinationSet.Longitude: min: -180 type: actuator unit: degrees - uuid: e9bd511146ca51639c8d42c0702e22ee Vehicle.Cabin.Infotainment.Navigation.GuidanceVoice: allowed: @@ -2354,19 +2300,16 @@ Vehicle.Cabin.Infotainment.Navigation.GuidanceVoice: datatype: string description: Navigation guidance state that was selected. type: actuator - uuid: f5404f515db05e518d7b74460cf83eee Vehicle.Cabin.Infotainment.Navigation.Map: description: All map actions type: branch - uuid: 4df6f1ab5f6c51d6b9c7af2b13daa2bc Vehicle.Cabin.Infotainment.Navigation.Map.IsAutoScaleModeUsed: comment: If true, then auto-scaling mode is used. If false, then manual-scaling mode is used. datatype: boolean description: Used to select auto-scaling mode. This feature dynamically adjusts the zoom level of the map to provide an optimal view based on the current speed of the vehicle type: actuator - uuid: 86cb8301b6205fa98a737cb02d3d5ce9 Vehicle.Cabin.Infotainment.Navigation.Mute: allowed: @@ -2376,7 +2319,6 @@ Vehicle.Cabin.Infotainment.Navigation.Mute: datatype: string description: Navigation mute state that was selected. type: actuator - uuid: d7ab68ec65aa5bafa95f042a60c91639 Vehicle.Cabin.Infotainment.Navigation.Volume: datatype: uint8 @@ -2385,7 +2327,6 @@ Vehicle.Cabin.Infotainment.Navigation.Volume: min: 0 type: actuator unit: percent - uuid: 3609ff09d29d54d596068f978cbc0777 Vehicle.Cabin.Infotainment.PowerOptimizeLevel: datatype: uint8 @@ -2393,12 +2334,11 @@ Vehicle.Cabin.Infotainment.PowerOptimizeLevel: max: 10 min: 0 type: actuator - uuid: 7be907e3d9fd5c46a516f7cd07f050a3 Vehicle.Cabin.Infotainment.SmartphoneProjection: + comment: Smartphone projection exposes or controls specific applications on the Smartphone on the vehicle infotainment system. description: All smartphone projection actions. type: branch - uuid: fd47f73b4d6b51679f4bed75f6d63518 Vehicle.Cabin.Infotainment.SmartphoneProjection.Active: allowed: @@ -2409,17 +2349,16 @@ Vehicle.Cabin.Infotainment.SmartphoneProjection.Active: datatype: string description: Projection activation info. type: actuator - uuid: 7156b00b47a8513c8e86f50f7d152614 Vehicle.Cabin.Infotainment.SmartphoneProjection.Source: allowed: - USB - BLUETOOTH - WIFI + comment: Smartphone projection exposes or controls specific applications on the Smartphone on the vehicle infotainment system. datatype: string description: Connectivity source selected for projection. type: actuator - uuid: 1c2d1f379f5752ac802456a992b88156 Vehicle.Cabin.Infotainment.SmartphoneProjection.SupportedMode: allowed: @@ -2430,48 +2369,64 @@ Vehicle.Cabin.Infotainment.SmartphoneProjection.SupportedMode: datatype: string[] description: Supportable list for projection. type: attribute - uuid: 80fa132703655d989386bc6711afed49 + +Vehicle.Cabin.Infotainment.SmartphoneScreenMirroring: + comment: Smartphone screen mirroring mirrors the whole screen of the Smartphone on the vehicle infotainment system. + description: All smartphone screen mirroring actions. + type: branch + +Vehicle.Cabin.Infotainment.SmartphoneScreenMirroring.Active: + allowed: + - NONE + - ACTIVE + - INACTIVE + comment: NONE indicates that mirroring is not supported. + datatype: string + description: Mirroring activation info. + type: actuator + +Vehicle.Cabin.Infotainment.SmartphoneScreenMirroring.Source: + allowed: + - USB + - BLUETOOTH + - WIFI + datatype: string + description: Connectivity source selected for mirroring. + type: actuator Vehicle.Cabin.IsAutoPowerOptimize: datatype: boolean description: Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed. type: actuator - uuid: b1fa47b39a275bea8606460005de2b33 Vehicle.Cabin.IsWindowChildLockEngaged: comment: Window child lock refers to the functionality to disable the move window button next to most windows, so that they only can be operated by the driver. datatype: boolean description: Is window child lock engaged. True = Engaged. False = Disengaged. type: actuator - uuid: 23d94405d1035201ae2866f911f02063 Vehicle.Cabin.Light: comment: V4.0 branch renamed from "Lights" to "Light" to comply with singular naming of entities. Use SingleConfigurableLight.vspec to describe interior lights that can be configured. description: Light that is part of the Cabin. type: branch - uuid: 2fc2ad48d5315cc4aa1e4638a6985585 Vehicle.Cabin.Light.AmbientLight: description: Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc. type: branch - uuid: c3983df208565cb78c8af970a57351fd Vehicle.Cabin.Light.AmbientLight.Row1: description: Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc. type: branch - uuid: b3447dca710f51e39ed1af3d240f8851 Vehicle.Cabin.Light.AmbientLight.Row1.DriverSide: description: Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc. type: branch - uuid: e42bfc0abac857f0a40f579cc0ced424 Vehicle.Cabin.Light.AmbientLight.Row1.DriverSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: c5717a5df33359959d1df3ae75dd687e Vehicle.Cabin.Light.AmbientLight.Row1.DriverSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2481,25 +2436,21 @@ Vehicle.Cabin.Light.AmbientLight.Row1.DriverSide.Intensity: min: 1 type: actuator unit: percent - uuid: a9ddbecc501e5ad4b95b7197cd4d6edf Vehicle.Cabin.Light.AmbientLight.Row1.DriverSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: 3b6d9d8d6acb55bc81022522cf2499a3 Vehicle.Cabin.Light.AmbientLight.Row1.PassengerSide: description: Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc. type: branch - uuid: 05a04fb5fb025049b9e9fbb109fef22a Vehicle.Cabin.Light.AmbientLight.Row1.PassengerSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: a58681f838a75596b6b64623803479cc Vehicle.Cabin.Light.AmbientLight.Row1.PassengerSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2509,30 +2460,25 @@ Vehicle.Cabin.Light.AmbientLight.Row1.PassengerSide.Intensity: min: 1 type: actuator unit: percent - uuid: 9d9096fdd737597b8423214633a97063 Vehicle.Cabin.Light.AmbientLight.Row1.PassengerSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: a52466424a9550868a5f6a1aa83f3dce Vehicle.Cabin.Light.AmbientLight.Row2: description: Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc. type: branch - uuid: f4462f76907e529fbcc7cc6761ca5cbe Vehicle.Cabin.Light.AmbientLight.Row2.DriverSide: description: Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc. type: branch - uuid: ddf477f1910e595f8c8055508cbdd808 Vehicle.Cabin.Light.AmbientLight.Row2.DriverSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: 8eb7ad17cb3f546c96fb8f76a7ac09f6 Vehicle.Cabin.Light.AmbientLight.Row2.DriverSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2542,25 +2488,21 @@ Vehicle.Cabin.Light.AmbientLight.Row2.DriverSide.Intensity: min: 1 type: actuator unit: percent - uuid: 93c3bf189e045a52b2134aa20cfcf2b2 Vehicle.Cabin.Light.AmbientLight.Row2.DriverSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: c95376e9f63f5ae996907ab83fa40a0b Vehicle.Cabin.Light.AmbientLight.Row2.PassengerSide: description: Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc. type: branch - uuid: b9a621db27d75d56b377890d98222d53 Vehicle.Cabin.Light.AmbientLight.Row2.PassengerSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: 6ed1d61f74155275bde970d8233f0f51 Vehicle.Cabin.Light.AmbientLight.Row2.PassengerSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2570,32 +2512,27 @@ Vehicle.Cabin.Light.AmbientLight.Row2.PassengerSide.Intensity: min: 1 type: actuator unit: percent - uuid: 1e9bcef987795ad3a38bc76de810df19 Vehicle.Cabin.Light.AmbientLight.Row2.PassengerSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: e61968ff0fb15adf891efadc9181f78c Vehicle.Cabin.Light.InteractiveLightBar: description: Decorative coloured light bar that supports effects, usually mounted on the dashboard (e.g. BMW i7 Interactive bar). type: branch - uuid: de6062a1a9c05ff687128f748307e331 Vehicle.Cabin.Light.InteractiveLightBar.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: 099955ec87a0528ba1a89cc3e439c806 Vehicle.Cabin.Light.InteractiveLightBar.Effect: comment: Default and allowed values are OEM-specific and should be defined accordingly (e.g. with the use of overlays). datatype: string description: Light effect selection from a predefined set of allowed values. type: actuator - uuid: c0167026c1575ec8a2de0901a71d0d8d Vehicle.Cabin.Light.InteractiveLightBar.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2605,25 +2542,21 @@ Vehicle.Cabin.Light.InteractiveLightBar.Intensity: min: 1 type: actuator unit: percent - uuid: 9c73159ff0db5341af2bd3aaffc183c5 Vehicle.Cabin.Light.InteractiveLightBar.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: 7c858ba899585fd6bb65a981db056fd7 Vehicle.Cabin.Light.IsDomeOn: datatype: boolean description: Is central dome light on type: actuator - uuid: 0dcbdddcc3bb59d292bd7a0cf3747c83 Vehicle.Cabin.Light.IsGloveBoxOn: datatype: boolean description: Is glove box light on type: actuator - uuid: 9b4db6bf8cc95c7a855442b95e1e0e18 Vehicle.Cabin.Light.PerceivedAmbientLight: comment: V4.0 named changed from "AmbientLight" to "PerceivedAmbientLight". This is a read-only property that refers to the pre-existing light (e.g., natural light). If you are looking for the in-cabin decorative lights that sometimes are also called "AmbientLights", please refer to the branch Vehicle.Cabin.Light.AmbientLight. @@ -2633,29 +2566,24 @@ Vehicle.Cabin.Light.PerceivedAmbientLight: min: 0 type: sensor unit: percent - uuid: 4d605e0e591a510d9613bdb412175729 Vehicle.Cabin.Light.Spotlight: description: Spotlight for a specific area in the vehicle. type: branch - uuid: a03cd35849a05136ac8e16f4e96d866b Vehicle.Cabin.Light.Spotlight.Row1: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 35f4c5574dbb5c5bafe82107b55377ec Vehicle.Cabin.Light.Spotlight.Row1.DriverSide: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 39ac4414f40754e2ab28a6bb10b397bb Vehicle.Cabin.Light.Spotlight.Row1.DriverSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: 838b3bc619d153d993ddfad96918ad7e Vehicle.Cabin.Light.Spotlight.Row1.DriverSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2665,25 +2593,21 @@ Vehicle.Cabin.Light.Spotlight.Row1.DriverSide.Intensity: min: 1 type: actuator unit: percent - uuid: 497ba6de557452829f1c3bbcad2c1386 Vehicle.Cabin.Light.Spotlight.Row1.DriverSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: dff99845cbdf54239f1cc36834434a91 Vehicle.Cabin.Light.Spotlight.Row1.PassengerSide: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 669fe375bd1151b497eab93492e41597 Vehicle.Cabin.Light.Spotlight.Row1.PassengerSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: 7643021f0af15edeba9e35f7e87a7bd5 Vehicle.Cabin.Light.Spotlight.Row1.PassengerSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2693,30 +2617,25 @@ Vehicle.Cabin.Light.Spotlight.Row1.PassengerSide.Intensity: min: 1 type: actuator unit: percent - uuid: a2d72853978f54379cd66a2c82cd63fa Vehicle.Cabin.Light.Spotlight.Row1.PassengerSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: 834df09382ee509b898b2ff2652a3ea2 Vehicle.Cabin.Light.Spotlight.Row2: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 259f6228620a532abbac5548c72b3c35 Vehicle.Cabin.Light.Spotlight.Row2.DriverSide: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 92fe0ca17e39548d8681a0fdd4f2a035 Vehicle.Cabin.Light.Spotlight.Row2.DriverSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: fddcfd397c63530b8b7e6f3c5fd98b20 Vehicle.Cabin.Light.Spotlight.Row2.DriverSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2726,25 +2645,21 @@ Vehicle.Cabin.Light.Spotlight.Row2.DriverSide.Intensity: min: 1 type: actuator unit: percent - uuid: 054dfd5255675357b090663df26c6370 Vehicle.Cabin.Light.Spotlight.Row2.DriverSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: d7cdb8c7fe305b99a482ac7f8025519b Vehicle.Cabin.Light.Spotlight.Row2.PassengerSide: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 1e9617c06a0b53eca745dcf96f8d5d70 Vehicle.Cabin.Light.Spotlight.Row2.PassengerSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: bdc48b556b565f0e9fd4e68b814ee934 Vehicle.Cabin.Light.Spotlight.Row2.PassengerSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2754,30 +2669,25 @@ Vehicle.Cabin.Light.Spotlight.Row2.PassengerSide.Intensity: min: 1 type: actuator unit: percent - uuid: b5e5c87ee11c5f84a7d92dc7871f3241 Vehicle.Cabin.Light.Spotlight.Row2.PassengerSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: ded8281b9520524ead6bc1a5c3cccd5d Vehicle.Cabin.Light.Spotlight.Row3: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 7b6666a198e8514582f8c85525dccceb Vehicle.Cabin.Light.Spotlight.Row3.DriverSide: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 36bd0e114ba652b0919db771e3a0d946 Vehicle.Cabin.Light.Spotlight.Row3.DriverSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: 5394e601144f5d75ae66a1566d182c68 Vehicle.Cabin.Light.Spotlight.Row3.DriverSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2787,25 +2697,21 @@ Vehicle.Cabin.Light.Spotlight.Row3.DriverSide.Intensity: min: 1 type: actuator unit: percent - uuid: 50376cb5f02750d599f3ae5932520952 Vehicle.Cabin.Light.Spotlight.Row3.DriverSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: fa58686f4c925907a17f40aded066a01 Vehicle.Cabin.Light.Spotlight.Row3.PassengerSide: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 69b6df651e9b5154b46c5709ce167fb6 Vehicle.Cabin.Light.Spotlight.Row3.PassengerSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: b50787e8b3bf56ebb3e007ee21aa1f30 Vehicle.Cabin.Light.Spotlight.Row3.PassengerSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2815,30 +2721,25 @@ Vehicle.Cabin.Light.Spotlight.Row3.PassengerSide.Intensity: min: 1 type: actuator unit: percent - uuid: b8e1a7326abe538199f595555c4c0ca0 Vehicle.Cabin.Light.Spotlight.Row3.PassengerSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: 68eacf65617c56489f0c1f475576eaaa Vehicle.Cabin.Light.Spotlight.Row4: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 41b0adb2cba85665824d3ad497b593a8 Vehicle.Cabin.Light.Spotlight.Row4.DriverSide: description: Spotlight for a specific area in the vehicle. type: branch - uuid: 661dcc2f512159329fc272128a054b0b Vehicle.Cabin.Light.Spotlight.Row4.DriverSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: 6cc3fc21887c593a90d799209dcc40c0 Vehicle.Cabin.Light.Spotlight.Row4.DriverSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2848,25 +2749,21 @@ Vehicle.Cabin.Light.Spotlight.Row4.DriverSide.Intensity: min: 1 type: actuator unit: percent - uuid: 5459910482cb507db1583252b26e62c7 Vehicle.Cabin.Light.Spotlight.Row4.DriverSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: ca9e9652c52757ce98744209c0d2344f Vehicle.Cabin.Light.Spotlight.Row4.PassengerSide: description: Spotlight for a specific area in the vehicle. type: branch - uuid: fbffb10dc86a523bb40f624c1ad385e7 Vehicle.Cabin.Light.Spotlight.Row4.PassengerSide.Color: comment: For example; "#C0C0C0" = Silver, "#FFD700" = Gold, "#000000" = Black, "#FFFFFF" = White, etc. datatype: string description: Hexadecimal color code represented as a 3-byte RGB (i.e. Red, Green, and Blue) value preceded by a hash symbol "#". Allowed range "#000000" to "#FFFFFF". type: actuator - uuid: fde4be32cd6f5fcf8997b01564eaadaf Vehicle.Cabin.Light.Spotlight.Row4.PassengerSide.Intensity: comment: Minimum value cannot be zero as on/off is controlled by the actuator IsLightOn. V4.0 moved from Cabin.Lights.AmbientLight.Intensity to enable individual control of lights via the SingleConfigurableLight.vspec. @@ -2876,13 +2773,11 @@ Vehicle.Cabin.Light.Spotlight.Row4.PassengerSide.Intensity: min: 1 type: actuator unit: percent - uuid: 8be53f681198503bb8f93d331e2315cd Vehicle.Cabin.Light.Spotlight.Row4.PassengerSide.IsLightOn: datatype: boolean description: Indicates whether the light is turned on. True = On, False = Off. type: actuator - uuid: c35925e7af4d5a929b153cb7f587ca5b Vehicle.Cabin.PowerOptimizeLevel: datatype: uint8 @@ -2890,18 +2785,15 @@ Vehicle.Cabin.PowerOptimizeLevel: max: 10 min: 0 type: actuator - uuid: 728b62b170055bd8b1530ec423dd5a9a Vehicle.Cabin.RearShade: description: Rear window shade. Open = Retracted, Closed = Deployed. Start position for RearShade is Open/Retracted. type: branch - uuid: 8a0c86f4fc6f5ea8ac8cf8f327969dcc Vehicle.Cabin.RearShade.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: 4190436709bc5b1896fad8fd5c624ff2 Vehicle.Cabin.RearShade.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -2911,7 +2803,6 @@ Vehicle.Cabin.RearShade.Position: min: 0 type: actuator unit: percent - uuid: 9e16fc53f2ec575dbf66c79f969949a9 Vehicle.Cabin.RearShade.Switch: allowed: @@ -2923,12 +2814,10 @@ Vehicle.Cabin.RearShade.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: da9f01e9baf35544842f1a7674c5172a Vehicle.Cabin.RearviewMirror: description: Rear-view mirror. type: branch - uuid: e655b654ab9f55bbb04952a99755efae Vehicle.Cabin.RearviewMirror.DimmingLevel: datatype: uint8 @@ -2936,380 +2825,418 @@ Vehicle.Cabin.RearviewMirror.DimmingLevel: max: 100 type: actuator unit: percent - uuid: 4e2bcbaa6dc1586d8282324b475e5dee Vehicle.Cabin.Seat: description: All seats. type: branch - uuid: b0b253106b2851e3bb5c71ae3b09f09d Vehicle.Cabin.Seat.Row1: description: All seats. type: branch - uuid: 7a420ddeac6f538eb3939bb4a242d136 Vehicle.Cabin.Seat.Row1.DriverSide: description: All seats. type: branch - uuid: a8dd9e808a765a04874c2853c7926ed4 Vehicle.Cabin.Seat.Row1.DriverSide.Airbag: description: Airbag signals. type: branch - uuid: cf3eca19b11e5e3ea66a078bed805968 Vehicle.Cabin.Seat.Row1.DriverSide.Airbag.IsDeployed: datatype: boolean description: Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. type: sensor - uuid: 7308c4cd91025db3aad6dee3e4f9d2a1 + +Vehicle.Cabin.Seat.Row1.DriverSide.Airbag.IsEnabled: + datatype: boolean + description: Airbag enabled status. True = Airbag enabled. False = Airbag not enabled. + type: sensor Vehicle.Cabin.Seat.Row1.DriverSide.Backrest: description: Describes signals related to the backrest of the seat. type: branch - uuid: 876fb7f9209155749108c95bb268836b -Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar: - description: Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape. - type: branch - uuid: 2112602ef7ab5470b3e57b85d6ff903f - -Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Height: - datatype: uint8 - description: Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.BottomLumbarSupport: + datatype: float + description: Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 min: 0 type: actuator - unit: mm - uuid: 637adce522d45075a064f3f94dc568ce + unit: percent -Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Support: - datatype: float - description: Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. max: 100 - min: 0 + min: -100 type: actuator unit: percent - uuid: dc2da05595a151ada19e6d86037abaf0 -Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Recline: - comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. - datatype: float - description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.IsLessLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). + datatype: boolean + description: Is switch for less lumbar support engaged. type: actuator - unit: degrees - uuid: c58f21ae6ce150bc8f0b2cdd4698f958 -Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.SideBolster: - description: Backrest side bolster (lumbar side support) settings. - type: branch - uuid: bd36af767f2e582bae11c7a62b635789 +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.IsLessSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). + datatype: boolean + description: Is switch for less side bolster support engaged. + type: actuator -Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.SideBolster.Support: - datatype: float - description: Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. - max: 100 - min: 0 +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.IsLumbarDownSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). + datatype: boolean + description: Lumbar down switch engaged. type: actuator - unit: percent - uuid: c3bcf9587aac58af827a41364bc91b55 -Vehicle.Cabin.Seat.Row1.DriverSide.Headrest: - description: Headrest settings. - type: branch - uuid: 4b193a02bffe52819b69d422d5e50042 +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.IsLumbarUpSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). + datatype: boolean + description: Lumbar up switch engaged. + type: actuator -Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Angle: - datatype: float - description: Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.IsMoreLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). + datatype: boolean + description: Is switch for more lumbar support engaged. type: actuator - unit: degrees - uuid: 55cf95c00d2056be859d330d0060a363 -Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Height: +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.IsMoreSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). + datatype: boolean + description: Is switch for more side bolster support engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.IsReclineBackwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). + datatype: boolean + description: Backrest recline backward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.IsReclineForwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). + datatype: boolean + description: Backrest recline forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.LumbarHeight: datatype: uint8 - description: Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported. + description: Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. min: 0 type: actuator unit: mm - uuid: 51de4b90534a5f089a9d81d53a663704 -Vehicle.Cabin.Seat.Row1.DriverSide.Heating: - datatype: int8 - deprecation: v4.1 replaced with HeatingCooling - description: Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat. +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.LumbarSupport: + comment: A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals. + datatype: float + description: Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. max: 100 - min: -100 + min: 0 type: actuator unit: percent - uuid: efeb2be118bb5f5eb796a81d298ab560 -Vehicle.Cabin.Seat.Row1.DriverSide.HeatingCooling: - datatype: int8 - description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.MidLumbarSupport: + datatype: float + description: Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. max: 100 - min: -100 + min: 0 type: actuator unit: percent - uuid: 32ee42cdcf0c5ba3a963d0c11881e0c2 -Vehicle.Cabin.Seat.Row1.DriverSide.Height: - datatype: uint16 - description: Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported. - min: 0 +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Recline: + comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. + datatype: float + description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. type: actuator - unit: mm - uuid: f44c52884b5c58e4ae462656832c888b - -Vehicle.Cabin.Seat.Row1.DriverSide.IsBelted: - datatype: boolean - description: Is the belt engaged. - type: sensor - uuid: db477d45def05e11a90689c9e655cad9 - -Vehicle.Cabin.Seat.Row1.DriverSide.IsOccupied: - datatype: boolean - description: Does the seat have a passenger in it. - type: sensor - uuid: e8b805d0bd3e56be9258685f390a7a9c + unit: degrees -Vehicle.Cabin.Seat.Row1.DriverSide.Massage: - datatype: uint8 - description: Seat massage level. 0 = off. 100 = max massage. +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.SideBolsterSupport: + datatype: float + description: Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. max: 100 min: 0 type: actuator unit: percent - uuid: 6d333404bc155fd2afa57a6380ecfd5c - -Vehicle.Cabin.Seat.Row1.DriverSide.Occupant: - description: Occupant data. - type: branch - uuid: 936f0c2fad4855d382e92393ec6223d7 - -Vehicle.Cabin.Seat.Row1.DriverSide.Occupant.Identifier: - description: Identifier attributes based on OAuth 2.0. - type: branch - uuid: 972f188af9425bc186a075224bbc3630 -Vehicle.Cabin.Seat.Row1.DriverSide.Occupant.Identifier.Issuer: - datatype: string - description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. - type: sensor - uuid: a48e731c91b55a2c9022b21774923b73 +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.SideBolsterSupportLeft: + datatype: float + description: Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 + type: actuator + unit: percent -Vehicle.Cabin.Seat.Row1.DriverSide.Occupant.Identifier.Subject: - datatype: string - description: Subject for the authentication of the occupant e.g. UserID 7331677. - type: sensor - uuid: c4bb8a01fe8a5335b1c7c9288b9863c9 +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.SideBolsterSupportRight: + datatype: float + description: Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 + type: actuator + unit: percent -Vehicle.Cabin.Seat.Row1.DriverSide.Position: - datatype: uint16 - description: Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported. +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.TopLumbarSupport: + datatype: float + description: Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 min: 0 type: actuator - unit: mm - uuid: b9587caa89dd50d2af7167c99c13bc85 + unit: percent -Vehicle.Cabin.Seat.Row1.DriverSide.SeatBeltHeight: - datatype: uint16 - description: Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported. +Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.UpperShoulderSupport: + datatype: float + description: Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - unit: mm - uuid: 4e5f01eef7ce5005b4d8420fcd233336 + unit: percent -Vehicle.Cabin.Seat.Row1.DriverSide.Seating: - comment: Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch. - description: Describes signals related to the seat bottom of the seat. +Vehicle.Cabin.Seat.Row1.DriverSide.Headrest: + description: Headrest settings. type: branch - uuid: 1e49fb9d59d85494b290e53b7753dd72 -Vehicle.Cabin.Seat.Row1.DriverSide.Seating.Length: - datatype: uint16 - description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). +Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Angle: + datatype: float + description: Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. + type: actuator + unit: degrees + +Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Height: + datatype: uint8 + description: Position of headrest relative to movable range of the head rest. 0 = Bottommost position supported. min: 0 type: actuator unit: mm - uuid: b030abb632dc503aa313ba5c75ba36f1 - -Vehicle.Cabin.Seat.Row1.DriverSide.Switch: - description: Seat switch signals - type: branch - uuid: 3eb5fc8b515e5a90baaeb10bed7d68ca -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest: - description: Describes switches related to the backrest of the seat. - type: branch - uuid: 27ef6aedeefb5b288d191ca8e5306f55 - -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.IsReclineBackwardEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.IsBackwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). datatype: boolean - description: Backrest recline backward switch engaged (SingleSeat.Backrest.Recline). + description: Headrest backward switch engaged. type: actuator - uuid: 7cc9aaaa51085baaa45be2ee7c7330bf -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.IsReclineForwardEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.IsDownSwitchEngaged: + comment: Affects the property (Headrest.Height). datatype: boolean - description: Backrest recline forward switch engaged (SingleSeat.Backrest.Recline). + description: Headrest down switch engaged. type: actuator - uuid: 794645c172745cb0ba6b081d9903be78 - -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.Lumbar: - description: Switches for SingleSeat.Backrest.Lumbar. - type: branch - uuid: e69977f72c375925ac2817d8313a78e6 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.Lumbar.IsDownEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.IsForwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). datatype: boolean - description: Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support). + description: Headrest forward switch engaged. type: actuator - uuid: e34e3c3330ac503a962eb076c7a05209 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.Lumbar.IsLessSupportEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.IsUpSwitchEngaged: + comment: Affects the property (Headrest.Height). datatype: boolean - description: Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). + description: Headrest up switch engaged. type: actuator - uuid: 30ac7b216df9562abc6b7a2c6e0f665c -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.Lumbar.IsMoreSupportEngaged: - datatype: boolean - description: Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row1.DriverSide.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row1.DriverSide.Height: + datatype: uint16 + description: Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported. + min: 0 type: actuator - uuid: 9645281792d65ada94160182c5ef2722 + unit: mm -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.Lumbar.IsUpEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.IsBackwardSwitchEngaged: + comment: Affects the property (Position). datatype: boolean - description: Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support). + description: Seat backward switch engaged. type: actuator - uuid: 07e098c9c24c5500ac7054a75529187d -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.SideBolster: - description: Switches for SingleSeat.Backrest.SideBolster. - type: branch - uuid: 2702b44037a05092987a5da7a1b4e582 +Vehicle.Cabin.Seat.Row1.DriverSide.IsBelted: + datatype: boolean + description: Is the belt engaged. + type: sensor -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.SideBolster.IsLessSupportEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.IsCoolerSwitchEngaged: + comment: Affects the property (HeatingCooling). datatype: boolean - description: Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). + description: Cooler switch for Seat heater. type: actuator - uuid: 381639fd2a2751a9bb1429be5e0d5a99 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.SideBolster.IsMoreSupportEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.IsDecreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). datatype: boolean - description: Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). + description: Decrease massage level switch engaged. type: actuator - uuid: 056e7fa78a095b3e8c4e025ac7f69893 - -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Headrest: - description: Switches for SingleSeat.Headrest. - type: branch - uuid: 2839bf77f2e95c17afd1a63e2d85249c -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Headrest.IsBackwardEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.IsDownSwitchEngaged: + comment: Affects the property (Height). datatype: boolean - description: Head rest backward switch engaged (SingleSeat.Headrest.Angle). + description: Seat down switch engaged. type: actuator - uuid: 5d2d997eaadc510fa7a0ff4f0422aa7e -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Headrest.IsDownEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.IsForwardSwitchEngaged: + comment: Affects the property (Position). datatype: boolean - description: Head rest down switch engaged (SingleSeat.Headrest.Height). + description: Seat forward switch engaged. type: actuator - uuid: 14783a76b08953bca5d24ebc8d59b824 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Headrest.IsForwardEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.IsIncreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). datatype: boolean - description: Head rest forward switch engaged (SingleSeat.Headrest.Angle). + description: Increase massage level switch engaged. type: actuator - uuid: fe246f08a3ba5fe89703bf807c479528 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Headrest.IsUpEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.IsTiltBackwardSwitchEngaged: + comment: Affects the property (Tilt). datatype: boolean - description: Head rest up switch engaged (SingleSeat.Headrest.Height). + description: Tilt backward switch engaged. type: actuator - uuid: 31d5f0a7c65f51c4b7e67d1c8b45b9b8 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsBackwardEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.IsTiltForwardSwitchEngaged: + comment: Affects the property (Tilt). datatype: boolean - description: Seat backward switch engaged (SingleSeat.Position). + description: Tilt forward switch engaged. type: actuator - uuid: 242ef7b872b25d9b94db1553e7f0cb0e -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsCoolerEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.IsUpSwitchEngaged: + comment: Affects the property (Height). datatype: boolean - description: Cooler switch for Seat heater (SingleSeat.Heating). + description: Seat up switch engaged. type: actuator - uuid: 5e450517dd065464ac9a4927abc936a7 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsDownEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.IsWarmerSwitchEngaged: + comment: Affects the property (HeatingCooling). datatype: boolean - description: Seat down switch engaged (SingleSeat.Height). + description: Warmer switch for Seat heater. type: actuator - uuid: d982ff943e5e5e06a7984a2e7bfe2f45 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsForwardEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.Massage: + description: Massage related information for the seat. + type: branch + +Vehicle.Cabin.Seat.Row1.DriverSide.Massage.IsAvailable: datatype: boolean - description: Seat forward switch engaged (SingleSeat.Position). + description: True if the seat have the massage capability + type: attribute + +Vehicle.Cabin.Seat.Row1.DriverSide.Massage.Level: + datatype: uint8 + description: Seat massage level. 0 = off. 100 = max massage. + max: 100 + min: 0 type: actuator - uuid: 3414b4d1e0ea5887b900171cb52e13b5 + unit: percent -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsTiltBackwardEngaged: - datatype: boolean - description: Tilt backward switch engaged (SingleSeat.Tilt). +Vehicle.Cabin.Seat.Row1.DriverSide.Massage.Status: + allowed: + - 'ON' + - 'OFF' + datatype: string + description: Massage status. + type: sensor + +Vehicle.Cabin.Seat.Row1.DriverSide.Massage.SupportedTypes: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword + datatype: string[] + description: Type of massage. + type: attribute + +Vehicle.Cabin.Seat.Row1.DriverSide.Massage.TypeActive: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword + datatype: string + description: Type of massage active. type: actuator - uuid: b3862480ad00587598d3f3f7c3468443 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsTiltForwardEngaged: - datatype: boolean - description: Tilt forward switch engaged (SingleSeat.Tilt). +Vehicle.Cabin.Seat.Row1.DriverSide.NeckScarf: + description: NeckScarf settings. + type: branch + +Vehicle.Cabin.Seat.Row1.DriverSide.NeckScarf.FanSpeed: + datatype: uint8 + description: Speed of the fan. + max: 100 + min: 0 type: actuator - uuid: abef0f196c08580f8b5e610071167e41 + unit: percent -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsUpEngaged: - datatype: boolean - description: Seat up switch engaged (SingleSeat.Height). +Vehicle.Cabin.Seat.Row1.DriverSide.NeckScarf.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - uuid: baef531919455c159b068c8ac8e2bca2 + unit: percent -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsWarmerEngaged: - datatype: boolean - description: Warmer switch for Seat heater (SingleSeat.Heating). +Vehicle.Cabin.Seat.Row1.DriverSide.OccupancyStatus: + allowed: + - UNKNOWN + - OCCUPIED + - EMPTY + datatype: string + description: Occupancy status of the seat. + type: sensor + +Vehicle.Cabin.Seat.Row1.DriverSide.Position: + datatype: uint16 + description: Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported. + min: 0 + type: actuator + unit: mm + +Vehicle.Cabin.Seat.Row1.DriverSide.SeatBeltHeight: + datatype: uint16 + description: Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported. type: actuator - uuid: c7bd527be0fc59208eae631000d0ecf8 + unit: mm -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Massage: - description: Switches for SingleSeat.Massage. +Vehicle.Cabin.Seat.Row1.DriverSide.Seating: + comment: Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch. + description: Describes signals related to the seat bottom of the seat. type: branch - uuid: 6d9d54a7a13e57769cf6ec91e63b4190 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Massage.IsDecreaseEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.Seating.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row1.DriverSide.Seating.IsBackwardSwitchEngaged: + comment: Affects the property (Seating.Length). datatype: boolean - description: Decrease massage level switch engaged (SingleSeat.Massage). + description: Is switch to decrease seating length engaged. type: actuator - uuid: dfcf5fbc84955377b1024600afdb6128 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Massage.IsIncreaseEngaged: +Vehicle.Cabin.Seat.Row1.DriverSide.Seating.IsForwardSwitchEngaged: datatype: boolean - description: Increase massage level switch engaged (SingleSeat.Massage). + description: Is switch to increase seating length engaged. type: actuator - uuid: f321c48d000a5cf88d144e6c8aaebf64 -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Seating: - description: Describes switches related to the seating of the seat. - type: branch - uuid: d71f5acd57365612bf06f4c372bcbc13 +Vehicle.Cabin.Seat.Row1.DriverSide.Seating.Length: + datatype: uint16 + description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). + min: 0 + type: actuator + unit: mm -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Seating.IsBackwardEngaged: - datatype: boolean - description: Is switch to decrease seating length engaged (SingleSeat.Seating.Length). +Vehicle.Cabin.Seat.Row1.DriverSide.Seating.SideBolsterSupportLeft: + datatype: float + description: Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: 7f35a13f8af55631bc280df0fedf00be + unit: percent -Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Seating.IsForwardEngaged: - datatype: boolean - description: Is switch to increase seating length engaged (SingleSeat.Seating.Length). +Vehicle.Cabin.Seat.Row1.DriverSide.Seating.SideBolsterSupportRight: + datatype: float + description: Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: ea6bcaed18645c6fa9110c68b0dcc8b1 + unit: percent Vehicle.Cabin.Seat.Row1.DriverSide.Tilt: comment: In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt. @@ -3317,84 +3244,173 @@ Vehicle.Cabin.Seat.Row1.DriverSide.Tilt: description: Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. type: actuator unit: degrees - uuid: c4d3fb129999531a9b59ecff95cfc1c2 Vehicle.Cabin.Seat.Row1.Middle: description: All seats. type: branch - uuid: bb6213be75be5b33adf6ad5957bb64e9 Vehicle.Cabin.Seat.Row1.Middle.Airbag: description: Airbag signals. type: branch - uuid: 278a7e2126435a46a04dec92fd50ff8a Vehicle.Cabin.Seat.Row1.Middle.Airbag.IsDeployed: datatype: boolean description: Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. type: sensor - uuid: 41909de6e59a56f8b4d3d3a4296c4cb5 + +Vehicle.Cabin.Seat.Row1.Middle.Airbag.IsEnabled: + datatype: boolean + description: Airbag enabled status. True = Airbag enabled. False = Airbag not enabled. + type: sensor Vehicle.Cabin.Seat.Row1.Middle.Backrest: description: Describes signals related to the backrest of the seat. type: branch - uuid: 5bef9412aeaf582284dc8f9cca5a5129 -Vehicle.Cabin.Seat.Row1.Middle.Backrest.Lumbar: - description: Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape. - type: branch - uuid: 03d5b5e01dcb54e5a3f3ce890cd27cee +Vehicle.Cabin.Seat.Row1.Middle.Backrest.BottomLumbarSupport: + datatype: float + description: Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.IsLessLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). + datatype: boolean + description: Is switch for less lumbar support engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.IsLessSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). + datatype: boolean + description: Is switch for less side bolster support engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.IsLumbarDownSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). + datatype: boolean + description: Lumbar down switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.IsLumbarUpSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). + datatype: boolean + description: Lumbar up switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.IsMoreLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). + datatype: boolean + description: Is switch for more lumbar support engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.IsMoreSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). + datatype: boolean + description: Is switch for more side bolster support engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.IsReclineBackwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). + datatype: boolean + description: Backrest recline backward switch engaged. + type: actuator -Vehicle.Cabin.Seat.Row1.Middle.Backrest.Lumbar.Height: +Vehicle.Cabin.Seat.Row1.Middle.Backrest.IsReclineForwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). + datatype: boolean + description: Backrest recline forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.LumbarHeight: datatype: uint8 description: Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. min: 0 type: actuator unit: mm - uuid: 32c42eb692605c0c8c2dc7df74a65f4e -Vehicle.Cabin.Seat.Row1.Middle.Backrest.Lumbar.Support: +Vehicle.Cabin.Seat.Row1.Middle.Backrest.LumbarSupport: + comment: A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals. datatype: float description: Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. max: 100 min: 0 type: actuator unit: percent - uuid: 22125fcec8aa5bc99fca8b86edbed2f0 -Vehicle.Cabin.Seat.Row1.Middle.Backrest.Recline: - comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. +Vehicle.Cabin.Seat.Row1.Middle.Backrest.MidLumbarSupport: datatype: float - description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. + description: Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - unit: degrees - uuid: f16a244ea7e2560db3991cb581149683 + unit: percent -Vehicle.Cabin.Seat.Row1.Middle.Backrest.SideBolster: - description: Backrest side bolster (lumbar side support) settings. - type: branch - uuid: 0c0b84957f8158d98f5a8c6d4f3265e5 +Vehicle.Cabin.Seat.Row1.Middle.Backrest.Recline: + comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. + datatype: float + description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. + type: actuator + unit: degrees -Vehicle.Cabin.Seat.Row1.Middle.Backrest.SideBolster.Support: +Vehicle.Cabin.Seat.Row1.Middle.Backrest.SideBolsterSupport: datatype: float description: Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. max: 100 min: 0 type: actuator unit: percent - uuid: 94e5f2630b7355c7b1b3ac75785bc5c6 + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.SideBolsterSupportLeft: + datatype: float + description: Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.SideBolsterSupportRight: + datatype: float + description: Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.TopLumbarSupport: + datatype: float + description: Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row1.Middle.Backrest.UpperShoulderSupport: + datatype: float + description: Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 + type: actuator + unit: percent Vehicle.Cabin.Seat.Row1.Middle.Headrest: description: Headrest settings. type: branch - uuid: a183fc37f47d55de8c5d2f2f27c779e0 Vehicle.Cabin.Seat.Row1.Middle.Headrest.Angle: datatype: float description: Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. type: actuator unit: degrees - uuid: d5cc4a79f94f515aa8f5fa59184a5c35 Vehicle.Cabin.Seat.Row1.Middle.Headrest.Height: datatype: uint8 @@ -3402,17 +3418,30 @@ Vehicle.Cabin.Seat.Row1.Middle.Headrest.Height: min: 0 type: actuator unit: mm - uuid: 520ec12b50515918a664ae6f2ac6b702 -Vehicle.Cabin.Seat.Row1.Middle.Heating: - datatype: int8 - deprecation: v4.1 replaced with HeatingCooling - description: Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat. - max: 100 - min: -100 +Vehicle.Cabin.Seat.Row1.Middle.Headrest.IsBackwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). + datatype: boolean + description: Headrest backward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.Headrest.IsDownSwitchEngaged: + comment: Affects the property (Headrest.Height). + datatype: boolean + description: Headrest down switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.Headrest.IsForwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). + datatype: boolean + description: Headrest forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.Headrest.IsUpSwitchEngaged: + comment: Affects the property (Headrest.Height). + datatype: boolean + description: Headrest up switch engaged. type: actuator - unit: percent - uuid: 85e4a1400e1455149687f608cd4a4d08 Vehicle.Cabin.Seat.Row1.Middle.HeatingCooling: datatype: int8 @@ -3421,7 +3450,6 @@ Vehicle.Cabin.Seat.Row1.Middle.HeatingCooling: min: -100 type: actuator unit: percent - uuid: fa7d96abfc2351fbbac29047c3bb46cd Vehicle.Cabin.Seat.Row1.Middle.Height: datatype: uint16 @@ -3429,50 +3457,137 @@ Vehicle.Cabin.Seat.Row1.Middle.Height: min: 0 type: actuator unit: mm - uuid: e9ada64ce4b454928de166adaa4344da + +Vehicle.Cabin.Seat.Row1.Middle.IsBackwardSwitchEngaged: + comment: Affects the property (Position). + datatype: boolean + description: Seat backward switch engaged. + type: actuator Vehicle.Cabin.Seat.Row1.Middle.IsBelted: datatype: boolean description: Is the belt engaged. type: sensor - uuid: 42a9c6f57d75550180138950e91e096e -Vehicle.Cabin.Seat.Row1.Middle.IsOccupied: +Vehicle.Cabin.Seat.Row1.Middle.IsCoolerSwitchEngaged: + comment: Affects the property (HeatingCooling). datatype: boolean - description: Does the seat have a passenger in it. - type: sensor - uuid: decf460a32ce5f1a9f2d4b68329707eb + description: Cooler switch for Seat heater. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.IsDecreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). + datatype: boolean + description: Decrease massage level switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.IsDownSwitchEngaged: + comment: Affects the property (Height). + datatype: boolean + description: Seat down switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.IsForwardSwitchEngaged: + comment: Affects the property (Position). + datatype: boolean + description: Seat forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.IsIncreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). + datatype: boolean + description: Increase massage level switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.IsTiltBackwardSwitchEngaged: + comment: Affects the property (Tilt). + datatype: boolean + description: Tilt backward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.IsTiltForwardSwitchEngaged: + comment: Affects the property (Tilt). + datatype: boolean + description: Tilt forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.IsUpSwitchEngaged: + comment: Affects the property (Height). + datatype: boolean + description: Seat up switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.IsWarmerSwitchEngaged: + comment: Affects the property (HeatingCooling). + datatype: boolean + description: Warmer switch for Seat heater. + type: actuator Vehicle.Cabin.Seat.Row1.Middle.Massage: + description: Massage related information for the seat. + type: branch + +Vehicle.Cabin.Seat.Row1.Middle.Massage.IsAvailable: + datatype: boolean + description: True if the seat have the massage capability + type: attribute + +Vehicle.Cabin.Seat.Row1.Middle.Massage.Level: datatype: uint8 description: Seat massage level. 0 = off. 100 = max massage. max: 100 min: 0 type: actuator unit: percent - uuid: 17936943738e57888f4c11a38570f25c -Vehicle.Cabin.Seat.Row1.Middle.Occupant: - description: Occupant data. - type: branch - uuid: cd842b8d4e7359d3ac47e8b39ab25ea9 +Vehicle.Cabin.Seat.Row1.Middle.Massage.Status: + allowed: + - 'ON' + - 'OFF' + datatype: string + description: Massage status. + type: sensor -Vehicle.Cabin.Seat.Row1.Middle.Occupant.Identifier: - description: Identifier attributes based on OAuth 2.0. - type: branch - uuid: acfb210c54605ebeb1d231aa09d98575 +Vehicle.Cabin.Seat.Row1.Middle.Massage.SupportedTypes: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword + datatype: string[] + description: Type of massage. + type: attribute -Vehicle.Cabin.Seat.Row1.Middle.Occupant.Identifier.Issuer: +Vehicle.Cabin.Seat.Row1.Middle.Massage.TypeActive: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword datatype: string - description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. - type: sensor - uuid: a22655ee843f5faf8c86daf55abad5f4 + description: Type of massage active. + type: actuator + +Vehicle.Cabin.Seat.Row1.Middle.NeckScarf: + description: NeckScarf settings. + type: branch -Vehicle.Cabin.Seat.Row1.Middle.Occupant.Identifier.Subject: +Vehicle.Cabin.Seat.Row1.Middle.NeckScarf.FanSpeed: + datatype: uint8 + description: Speed of the fan. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row1.Middle.NeckScarf.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row1.Middle.OccupancyStatus: + allowed: + - UNKNOWN + - OCCUPIED + - EMPTY datatype: string - description: Subject for the authentication of the occupant e.g. UserID 7331677. + description: Occupancy status of the seat. type: sensor - uuid: d3fda2f366ea5b60a284b945c21aeb17 Vehicle.Cabin.Seat.Row1.Middle.Position: datatype: uint16 @@ -3480,292 +3595,233 @@ Vehicle.Cabin.Seat.Row1.Middle.Position: min: 0 type: actuator unit: mm - uuid: a9c61deb42ac5bb1b2c92fb5ee222db9 Vehicle.Cabin.Seat.Row1.Middle.SeatBeltHeight: datatype: uint16 description: Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported. type: actuator unit: mm - uuid: 7e7b9ef4f3b350e9adf8091dff7e799f Vehicle.Cabin.Seat.Row1.Middle.Seating: comment: Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch. description: Describes signals related to the seat bottom of the seat. type: branch - uuid: 46a99e1f2b3553099fbb046a6b7dd86d -Vehicle.Cabin.Seat.Row1.Middle.Seating.Length: - datatype: uint16 - description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). - min: 0 +Vehicle.Cabin.Seat.Row1.Middle.Seating.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - unit: mm - uuid: 6fcbf711e9c852ba91f7d846f6066978 - -Vehicle.Cabin.Seat.Row1.Middle.Switch: - description: Seat switch signals - type: branch - uuid: 85bc5781995852329c3f56ab07a00a39 - -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest: - description: Describes switches related to the backrest of the seat. - type: branch - uuid: d386d2b7ca955caf8a4d2467d4c7603e + unit: percent -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.IsReclineBackwardEngaged: +Vehicle.Cabin.Seat.Row1.Middle.Seating.IsBackwardSwitchEngaged: + comment: Affects the property (Seating.Length). datatype: boolean - description: Backrest recline backward switch engaged (SingleSeat.Backrest.Recline). + description: Is switch to decrease seating length engaged. type: actuator - uuid: a1b764756af559c0b850ee370d859c86 -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.IsReclineForwardEngaged: +Vehicle.Cabin.Seat.Row1.Middle.Seating.IsForwardSwitchEngaged: datatype: boolean - description: Backrest recline forward switch engaged (SingleSeat.Backrest.Recline). + description: Is switch to increase seating length engaged. type: actuator - uuid: 8bd7805b426b5e439abd732e9b503bb3 - -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.Lumbar: - description: Switches for SingleSeat.Backrest.Lumbar. - type: branch - uuid: acb8e84f703d518dbf6c9c8b899766b0 -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.Lumbar.IsDownEngaged: - datatype: boolean - description: Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row1.Middle.Seating.Length: + datatype: uint16 + description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). + min: 0 type: actuator - uuid: 7f7face91df2506f9351f8c27915bc18 + unit: mm -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.Lumbar.IsLessSupportEngaged: - datatype: boolean - description: Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row1.Middle.Seating.SideBolsterSupportLeft: + datatype: float + description: Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: 0f54dcace731576785322d02b68d2068 + unit: percent -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.Lumbar.IsMoreSupportEngaged: - datatype: boolean - description: Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row1.Middle.Seating.SideBolsterSupportRight: + datatype: float + description: Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: 44923c7fe53c5fa39b632f999a6a951e + unit: percent -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.Lumbar.IsUpEngaged: - datatype: boolean - description: Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row1.Middle.Tilt: + comment: In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt. + datatype: float + description: Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. type: actuator - uuid: a947a1e52c3850e8ae81e12ef503c472 + unit: degrees -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.SideBolster: - description: Switches for SingleSeat.Backrest.SideBolster. +Vehicle.Cabin.Seat.Row1.PassengerSide: + description: All seats. type: branch - uuid: b2617422a80e5d409d5e327bec8a5895 -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.SideBolster.IsLessSupportEngaged: - datatype: boolean - description: Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). - type: actuator - uuid: a7d928b58dc152408e38fc7b6fdf6851 - -Vehicle.Cabin.Seat.Row1.Middle.Switch.Backrest.SideBolster.IsMoreSupportEngaged: - datatype: boolean - description: Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). - type: actuator - uuid: 34016708d65655708157e432fad53f1f - -Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest: - description: Switches for SingleSeat.Headrest. +Vehicle.Cabin.Seat.Row1.PassengerSide.Airbag: + description: Airbag signals. type: branch - uuid: ec7f8f340e005006bc966a96829f886d -Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest.IsBackwardEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Airbag.IsDeployed: datatype: boolean - description: Head rest backward switch engaged (SingleSeat.Headrest.Angle). - type: actuator - uuid: a7eee2a690c75ab7b7143d95b89d0678 + description: Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. + type: sensor -Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest.IsDownEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Airbag.IsEnabled: datatype: boolean - description: Head rest down switch engaged (SingleSeat.Headrest.Height). - type: actuator - uuid: 90d5bb0917875c009a7ee80b61a00e24 + description: Airbag enabled status. True = Airbag enabled. False = Airbag not enabled. + type: sensor -Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest.IsForwardEngaged: - datatype: boolean - description: Head rest forward switch engaged (SingleSeat.Headrest.Angle). - type: actuator - uuid: cbecebd77ff953c5830fbab699a3e0b8 +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest: + description: Describes signals related to the backrest of the seat. + type: branch -Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest.IsUpEngaged: - datatype: boolean - description: Head rest up switch engaged (SingleSeat.Headrest.Height). +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.BottomLumbarSupport: + datatype: float + description: Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - uuid: 4abfea463f0359fcb387aa1538f12d52 + unit: percent -Vehicle.Cabin.Seat.Row1.Middle.Switch.IsBackwardEngaged: - datatype: boolean - description: Seat backward switch engaged (SingleSeat.Position). +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - uuid: 3fdbbe5de45356d383be845b5deeceb8 + unit: percent -Vehicle.Cabin.Seat.Row1.Middle.Switch.IsCoolerEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.IsLessLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Cooler switch for Seat heater (SingleSeat.Heating). + description: Is switch for less lumbar support engaged. type: actuator - uuid: 4ad9208a44b555d5a80b819aaf97b2c8 -Vehicle.Cabin.Seat.Row1.Middle.Switch.IsDownEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.IsLessSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). datatype: boolean - description: Seat down switch engaged (SingleSeat.Height). + description: Is switch for less side bolster support engaged. type: actuator - uuid: f108af06fb3954d5a87fb97cfadba808 -Vehicle.Cabin.Seat.Row1.Middle.Switch.IsForwardEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.IsLumbarDownSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Seat forward switch engaged (SingleSeat.Position). + description: Lumbar down switch engaged. type: actuator - uuid: 6ebb2556d17959ec9bfc1d796e1f34c6 -Vehicle.Cabin.Seat.Row1.Middle.Switch.IsTiltBackwardEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.IsLumbarUpSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Tilt backward switch engaged (SingleSeat.Tilt). + description: Lumbar up switch engaged. type: actuator - uuid: c7ece3b4d7435fed910b23f7ea5360d1 -Vehicle.Cabin.Seat.Row1.Middle.Switch.IsTiltForwardEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.IsMoreLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Tilt forward switch engaged (SingleSeat.Tilt). + description: Is switch for more lumbar support engaged. type: actuator - uuid: 77dca23345a358fa99636c734b4de8ac -Vehicle.Cabin.Seat.Row1.Middle.Switch.IsUpEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.IsMoreSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). datatype: boolean - description: Seat up switch engaged (SingleSeat.Height). + description: Is switch for more side bolster support engaged. type: actuator - uuid: a5628090d3465668adb6f1bc32bd2329 -Vehicle.Cabin.Seat.Row1.Middle.Switch.IsWarmerEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.IsReclineBackwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). datatype: boolean - description: Warmer switch for Seat heater (SingleSeat.Heating). + description: Backrest recline backward switch engaged. type: actuator - uuid: 874c7f1345975e67b6a691d541cf46f1 - -Vehicle.Cabin.Seat.Row1.Middle.Switch.Massage: - description: Switches for SingleSeat.Massage. - type: branch - uuid: d51481c8a5e05a1ca9481cd8fbaa6844 -Vehicle.Cabin.Seat.Row1.Middle.Switch.Massage.IsDecreaseEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.IsReclineForwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). datatype: boolean - description: Decrease massage level switch engaged (SingleSeat.Massage). + description: Backrest recline forward switch engaged. type: actuator - uuid: cd3226582b7a5f6590d983a6ed661a7b -Vehicle.Cabin.Seat.Row1.Middle.Switch.Massage.IsIncreaseEngaged: - datatype: boolean - description: Increase massage level switch engaged (SingleSeat.Massage). +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.LumbarHeight: + datatype: uint8 + description: Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. + min: 0 type: actuator - uuid: 932e55cb1ea154a0ac35170f8c63cf01 - -Vehicle.Cabin.Seat.Row1.Middle.Switch.Seating: - description: Describes switches related to the seating of the seat. - type: branch - uuid: 965137f2801f50e292cfc673a3e145ed + unit: mm -Vehicle.Cabin.Seat.Row1.Middle.Switch.Seating.IsBackwardEngaged: - datatype: boolean - description: Is switch to decrease seating length engaged (SingleSeat.Seating.Length). +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.LumbarSupport: + comment: A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals. + datatype: float + description: Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - uuid: c47a888b0ff85426a98fdcc6763abe10 + unit: percent -Vehicle.Cabin.Seat.Row1.Middle.Switch.Seating.IsForwardEngaged: - datatype: boolean - description: Is switch to increase seating length engaged (SingleSeat.Seating.Length). +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.MidLumbarSupport: + datatype: float + description: Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - uuid: e262f30a38285d7da365a42960f440e2 + unit: percent -Vehicle.Cabin.Seat.Row1.Middle.Tilt: - comment: In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt. +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.Recline: + comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. datatype: float - description: Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. + description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. type: actuator unit: degrees - uuid: a9931f9f76cd5c9aa7cac23c43d09e38 - -Vehicle.Cabin.Seat.Row1.PassengerSide: - description: All seats. - type: branch - uuid: c9eef94c5e075ce088020f8a568c0183 - -Vehicle.Cabin.Seat.Row1.PassengerSide.Airbag: - description: Airbag signals. - type: branch - uuid: c931d21b21005b5c9f0eb9a732f9b2ef - -Vehicle.Cabin.Seat.Row1.PassengerSide.Airbag.IsDeployed: - datatype: boolean - description: Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. - type: sensor - uuid: 31e4cea8ba6a5254bf1d1471402d0700 - -Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest: - description: Describes signals related to the backrest of the seat. - type: branch - uuid: 999c7466ce1f5354b4695626f3a2e935 - -Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.Lumbar: - description: Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape. - type: branch - uuid: c2fbe0340f245b4ab3b1269de65b4c2d -Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.Lumbar.Height: - datatype: uint8 - description: Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.SideBolsterSupport: + datatype: float + description: Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 min: 0 type: actuator - unit: mm - uuid: 0df596249cce5c77955e6938c0c9bea6 + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.Lumbar.Support: +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.SideBolsterSupportLeft: datatype: float - description: Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + description: Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. max: 100 min: 0 type: actuator unit: percent - uuid: e8b52c64f1e957cbbbaf63b03c3dd9ef -Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.Recline: - comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.SideBolsterSupportRight: datatype: float - description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. + description: Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - unit: degrees - uuid: 089f2ca3258e5f94871953539fe5acbc + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.SideBolster: - description: Backrest side bolster (lumbar side support) settings. - type: branch - uuid: 4c48af687fd15c7785b9c4c075dc457c +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.TopLumbarSupport: + datatype: float + description: Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 + type: actuator + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.SideBolster.Support: +Vehicle.Cabin.Seat.Row1.PassengerSide.Backrest.UpperShoulderSupport: datatype: float - description: Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + description: Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. max: 100 min: 0 type: actuator unit: percent - uuid: bd9dfba052ab5b24aa0eaa35fa47914f Vehicle.Cabin.Seat.Row1.PassengerSide.Headrest: description: Headrest settings. type: branch - uuid: f13eb4ad4b7a51bbad88db50dae636d3 Vehicle.Cabin.Seat.Row1.PassengerSide.Headrest.Angle: datatype: float description: Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. type: actuator unit: degrees - uuid: 5456d8e86ecb5cdf91b2bc08fe696d19 Vehicle.Cabin.Seat.Row1.PassengerSide.Headrest.Height: datatype: uint8 @@ -3773,26 +3829,38 @@ Vehicle.Cabin.Seat.Row1.PassengerSide.Headrest.Height: min: 0 type: actuator unit: mm - uuid: 2701bc81fcc059b2b4ddc938407a503a -Vehicle.Cabin.Seat.Row1.PassengerSide.Heating: - datatype: int8 - deprecation: v4.1 replaced with HeatingCooling - description: Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat. - max: 100 - min: -100 +Vehicle.Cabin.Seat.Row1.PassengerSide.Headrest.IsBackwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). + datatype: boolean + description: Headrest backward switch engaged. type: actuator - unit: percent - uuid: f62e56245db158508c9535a07474eed7 -Vehicle.Cabin.Seat.Row1.PassengerSide.HeatingCooling: - datatype: int8 +Vehicle.Cabin.Seat.Row1.PassengerSide.Headrest.IsDownSwitchEngaged: + comment: Affects the property (Headrest.Height). + datatype: boolean + description: Headrest down switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.Headrest.IsForwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). + datatype: boolean + description: Headrest forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.Headrest.IsUpSwitchEngaged: + comment: Affects the property (Headrest.Height). + datatype: boolean + description: Headrest up switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.HeatingCooling: + datatype: int8 description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. max: 100 min: -100 type: actuator unit: percent - uuid: 9545cb7d8a4c53b6a0c27aeacc2c229f Vehicle.Cabin.Seat.Row1.PassengerSide.Height: datatype: uint16 @@ -3800,50 +3868,137 @@ Vehicle.Cabin.Seat.Row1.PassengerSide.Height: min: 0 type: actuator unit: mm - uuid: ae6a103cb748510e9383e2b72d6f2a00 + +Vehicle.Cabin.Seat.Row1.PassengerSide.IsBackwardSwitchEngaged: + comment: Affects the property (Position). + datatype: boolean + description: Seat backward switch engaged. + type: actuator Vehicle.Cabin.Seat.Row1.PassengerSide.IsBelted: datatype: boolean description: Is the belt engaged. type: sensor - uuid: ed71588a6ea1511cbd4578967a94f963 -Vehicle.Cabin.Seat.Row1.PassengerSide.IsOccupied: +Vehicle.Cabin.Seat.Row1.PassengerSide.IsCoolerSwitchEngaged: + comment: Affects the property (HeatingCooling). datatype: boolean - description: Does the seat have a passenger in it. - type: sensor - uuid: 05a31ee58c97506485a19a2e0c213244 + description: Cooler switch for Seat heater. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.IsDecreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). + datatype: boolean + description: Decrease massage level switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.IsDownSwitchEngaged: + comment: Affects the property (Height). + datatype: boolean + description: Seat down switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.IsForwardSwitchEngaged: + comment: Affects the property (Position). + datatype: boolean + description: Seat forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.IsIncreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). + datatype: boolean + description: Increase massage level switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.IsTiltBackwardSwitchEngaged: + comment: Affects the property (Tilt). + datatype: boolean + description: Tilt backward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.IsTiltForwardSwitchEngaged: + comment: Affects the property (Tilt). + datatype: boolean + description: Tilt forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.IsUpSwitchEngaged: + comment: Affects the property (Height). + datatype: boolean + description: Seat up switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.IsWarmerSwitchEngaged: + comment: Affects the property (HeatingCooling). + datatype: boolean + description: Warmer switch for Seat heater. + type: actuator Vehicle.Cabin.Seat.Row1.PassengerSide.Massage: + description: Massage related information for the seat. + type: branch + +Vehicle.Cabin.Seat.Row1.PassengerSide.Massage.IsAvailable: + datatype: boolean + description: True if the seat have the massage capability + type: attribute + +Vehicle.Cabin.Seat.Row1.PassengerSide.Massage.Level: datatype: uint8 description: Seat massage level. 0 = off. 100 = max massage. max: 100 min: 0 type: actuator unit: percent - uuid: 89f7a63fc4f65f05b7df4b74b232cc9f -Vehicle.Cabin.Seat.Row1.PassengerSide.Occupant: - description: Occupant data. - type: branch - uuid: fd753377a2335b9fbda2cc2d29f826a6 +Vehicle.Cabin.Seat.Row1.PassengerSide.Massage.Status: + allowed: + - 'ON' + - 'OFF' + datatype: string + description: Massage status. + type: sensor -Vehicle.Cabin.Seat.Row1.PassengerSide.Occupant.Identifier: - description: Identifier attributes based on OAuth 2.0. - type: branch - uuid: c7156b61e1b45698ae98b5d30c31ade3 +Vehicle.Cabin.Seat.Row1.PassengerSide.Massage.SupportedTypes: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword + datatype: string[] + description: Type of massage. + type: attribute -Vehicle.Cabin.Seat.Row1.PassengerSide.Occupant.Identifier.Issuer: +Vehicle.Cabin.Seat.Row1.PassengerSide.Massage.TypeActive: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword datatype: string - description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. - type: sensor - uuid: bab527a608bd55d4b8a9d4b7d46c7037 + description: Type of massage active. + type: actuator + +Vehicle.Cabin.Seat.Row1.PassengerSide.NeckScarf: + description: NeckScarf settings. + type: branch + +Vehicle.Cabin.Seat.Row1.PassengerSide.NeckScarf.FanSpeed: + datatype: uint8 + description: Speed of the fan. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row1.PassengerSide.NeckScarf.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 + type: actuator + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Occupant.Identifier.Subject: +Vehicle.Cabin.Seat.Row1.PassengerSide.OccupancyStatus: + allowed: + - UNKNOWN + - OCCUPIED + - EMPTY datatype: string - description: Subject for the authentication of the occupant e.g. UserID 7331677. + description: Occupancy status of the seat. type: sensor - uuid: 121cb6ae3f4451df848f7809b313c392 Vehicle.Cabin.Seat.Row1.PassengerSide.Position: datatype: uint16 @@ -3851,297 +4006,237 @@ Vehicle.Cabin.Seat.Row1.PassengerSide.Position: min: 0 type: actuator unit: mm - uuid: 3d09265704af56d59e5d80f92be3d66f Vehicle.Cabin.Seat.Row1.PassengerSide.SeatBeltHeight: datatype: uint16 description: Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported. type: actuator unit: mm - uuid: 3ad476825c6b598e8c468c49f0aaec10 Vehicle.Cabin.Seat.Row1.PassengerSide.Seating: comment: Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch. description: Describes signals related to the seat bottom of the seat. type: branch - uuid: 4ae8093ea56d5613a782b97c8b1be915 -Vehicle.Cabin.Seat.Row1.PassengerSide.Seating.Length: - datatype: uint16 - description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). - min: 0 +Vehicle.Cabin.Seat.Row1.PassengerSide.Seating.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - unit: mm - uuid: c4dfd494ffc95c4abdc49716a3b73c53 - -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch: - description: Seat switch signals - type: branch - uuid: d7c6f91f09425d619cb93542ea55bed4 - -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest: - description: Describes switches related to the backrest of the seat. - type: branch - uuid: d035fd8a2e855edfb90e7955b3bd8065 + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.IsReclineBackwardEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Seating.IsBackwardSwitchEngaged: + comment: Affects the property (Seating.Length). datatype: boolean - description: Backrest recline backward switch engaged (SingleSeat.Backrest.Recline). + description: Is switch to decrease seating length engaged. type: actuator - uuid: 8e0c8a7fbb8a5cee933b3b1b50d4cbf1 -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.IsReclineForwardEngaged: +Vehicle.Cabin.Seat.Row1.PassengerSide.Seating.IsForwardSwitchEngaged: datatype: boolean - description: Backrest recline forward switch engaged (SingleSeat.Backrest.Recline). + description: Is switch to increase seating length engaged. type: actuator - uuid: 2a19419f5c355aff9a41ee8c8ec434a0 - -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.Lumbar: - description: Switches for SingleSeat.Backrest.Lumbar. - type: branch - uuid: 73c59cba46725637bfa725a042713d0b -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.Lumbar.IsDownEngaged: - datatype: boolean - description: Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row1.PassengerSide.Seating.Length: + datatype: uint16 + description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). + min: 0 type: actuator - uuid: 5e8dd9ae1001569388bb4da677bdb377 + unit: mm -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.Lumbar.IsLessSupportEngaged: - datatype: boolean - description: Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row1.PassengerSide.Seating.SideBolsterSupportLeft: + datatype: float + description: Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: cb08d335fa245f34b616f9c56fc529e0 + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.Lumbar.IsMoreSupportEngaged: - datatype: boolean - description: Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row1.PassengerSide.Seating.SideBolsterSupportRight: + datatype: float + description: Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: c688f60d0f0650868ac32cba3d0c526e + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.Lumbar.IsUpEngaged: - datatype: boolean - description: Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row1.PassengerSide.Tilt: + comment: In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt. + datatype: float + description: Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. type: actuator - uuid: 10c691cb05f0581b8a6c4e764d81404d + unit: degrees -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.SideBolster: - description: Switches for SingleSeat.Backrest.SideBolster. +Vehicle.Cabin.Seat.Row2: + description: All seats. type: branch - uuid: 8dfa254cccc059e881af97bce032cea9 -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.SideBolster.IsLessSupportEngaged: - datatype: boolean - description: Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). - type: actuator - uuid: 0ef641f1e4e75200879330a5de3d3315 - -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Backrest.SideBolster.IsMoreSupportEngaged: - datatype: boolean - description: Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). - type: actuator - uuid: 811d841212295f92a7d070dac262ef84 +Vehicle.Cabin.Seat.Row2.DriverSide: + description: All seats. + type: branch -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Headrest: - description: Switches for SingleSeat.Headrest. +Vehicle.Cabin.Seat.Row2.DriverSide.Airbag: + description: Airbag signals. type: branch - uuid: 3d328ade9dbf52e1bf8002caed74253f -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Headrest.IsBackwardEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Airbag.IsDeployed: datatype: boolean - description: Head rest backward switch engaged (SingleSeat.Headrest.Angle). - type: actuator - uuid: e5b1e2a73c1d530298be5aa2b92ceb6a + description: Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. + type: sensor -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Headrest.IsDownEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Airbag.IsEnabled: datatype: boolean - description: Head rest down switch engaged (SingleSeat.Headrest.Height). - type: actuator - uuid: 2bd34fa3b02d54b0822890750a57eaae + description: Airbag enabled status. True = Airbag enabled. False = Airbag not enabled. + type: sensor -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Headrest.IsForwardEngaged: - datatype: boolean - description: Head rest forward switch engaged (SingleSeat.Headrest.Angle). - type: actuator - uuid: 5486d882309558cd95a5d0742d9eea2a +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest: + description: Describes signals related to the backrest of the seat. + type: branch -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Headrest.IsUpEngaged: - datatype: boolean - description: Head rest up switch engaged (SingleSeat.Headrest.Height). +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.BottomLumbarSupport: + datatype: float + description: Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - uuid: 90a53f3c0a585c7cb5b1565092e62539 + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsBackwardEngaged: - datatype: boolean - description: Seat backward switch engaged (SingleSeat.Position). +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - uuid: d1a57d3e62725e51871433889877eb3e + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsCoolerEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.IsLessLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Cooler switch for Seat heater (SingleSeat.Heating). + description: Is switch for less lumbar support engaged. type: actuator - uuid: 5861078e66285792a4c5caa3158c3b93 -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsDownEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.IsLessSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). datatype: boolean - description: Seat down switch engaged (SingleSeat.Height). + description: Is switch for less side bolster support engaged. type: actuator - uuid: ec27034136cd5e728c88c7ac0b87cf04 -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsForwardEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.IsLumbarDownSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Seat forward switch engaged (SingleSeat.Position). + description: Lumbar down switch engaged. type: actuator - uuid: 012004eeaa2250758c2fea329aec9dc2 -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsTiltBackwardEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.IsLumbarUpSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Tilt backward switch engaged (SingleSeat.Tilt). + description: Lumbar up switch engaged. type: actuator - uuid: a49e3b4e3047525ab1034e04896f7a73 -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsTiltForwardEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.IsMoreLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Tilt forward switch engaged (SingleSeat.Tilt). + description: Is switch for more lumbar support engaged. type: actuator - uuid: 1abb80c7ce615f73a2e0fb6583b09431 -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsUpEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.IsMoreSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). datatype: boolean - description: Seat up switch engaged (SingleSeat.Height). + description: Is switch for more side bolster support engaged. type: actuator - uuid: d4d0df3f6b5b51039847f748282d77ab -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.IsWarmerEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.IsReclineBackwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). datatype: boolean - description: Warmer switch for Seat heater (SingleSeat.Heating). + description: Backrest recline backward switch engaged. type: actuator - uuid: 597dd13468fd5b57858c6bbbc911392e -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Massage: - description: Switches for SingleSeat.Massage. - type: branch - uuid: 3739036112535b9cbdad726a5f6e17a4 - -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Massage.IsDecreaseEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.IsReclineForwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). datatype: boolean - description: Decrease massage level switch engaged (SingleSeat.Massage). + description: Backrest recline forward switch engaged. type: actuator - uuid: 8044c9338f5e5df1a036c91cc4d91423 -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Massage.IsIncreaseEngaged: - datatype: boolean - description: Increase massage level switch engaged (SingleSeat.Massage). +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.LumbarHeight: + datatype: uint8 + description: Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. + min: 0 type: actuator - uuid: 1d7d951e97b45aa5824f4e959c68737b - -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Seating: - description: Describes switches related to the seating of the seat. - type: branch - uuid: 12458c0216335477882e669e98330a1a + unit: mm -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Seating.IsBackwardEngaged: - datatype: boolean - description: Is switch to decrease seating length engaged (SingleSeat.Seating.Length). +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.LumbarSupport: + comment: A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals. + datatype: float + description: Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - uuid: 87edf3b9896659f6a87d05531c260a36 + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Switch.Seating.IsForwardEngaged: - datatype: boolean - description: Is switch to increase seating length engaged (SingleSeat.Seating.Length). +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.MidLumbarSupport: + datatype: float + description: Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - uuid: aaf6db1585b15365be9ac729c11688e3 + unit: percent -Vehicle.Cabin.Seat.Row1.PassengerSide.Tilt: - comment: In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt. +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.Recline: + comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. datatype: float - description: Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. + description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. type: actuator unit: degrees - uuid: 086f231720875bb5b4d5e2b8ed0092df - -Vehicle.Cabin.Seat.Row2: - description: All seats. - type: branch - uuid: 8c3aaf015ef8595cb45d9461a9c1195f - -Vehicle.Cabin.Seat.Row2.DriverSide: - description: All seats. - type: branch - uuid: a3956dd19f73577a9e118e5ee6f5a180 - -Vehicle.Cabin.Seat.Row2.DriverSide.Airbag: - description: Airbag signals. - type: branch - uuid: 215134942dea5de0bf542dc6b1f7aeb3 - -Vehicle.Cabin.Seat.Row2.DriverSide.Airbag.IsDeployed: - datatype: boolean - description: Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. - type: sensor - uuid: 1ec1956a54ae5107a802b9ec2b215b41 - -Vehicle.Cabin.Seat.Row2.DriverSide.Backrest: - description: Describes signals related to the backrest of the seat. - type: branch - uuid: 1b7a7b3e344d50cca118327668f35be5 - -Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.Lumbar: - description: Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape. - type: branch - uuid: 5eb73ac74d6a56ba9155cf16e145b9b4 -Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.Lumbar.Height: - datatype: uint8 - description: Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.SideBolsterSupport: + datatype: float + description: Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 min: 0 type: actuator - unit: mm - uuid: eb67d32eadf15c0085f6314546e86e20 + unit: percent -Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.Lumbar.Support: +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.SideBolsterSupportLeft: datatype: float - description: Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + description: Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. max: 100 min: 0 type: actuator unit: percent - uuid: c8fec973719351b3b17f3824653d685a -Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.Recline: - comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.SideBolsterSupportRight: datatype: float - description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. + description: Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - unit: degrees - uuid: 65cf20c7effb5d159fd1099869cd0ebe + unit: percent -Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.SideBolster: - description: Backrest side bolster (lumbar side support) settings. - type: branch - uuid: 2e06cc24d15651a1a1616fc77a5ba23b +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.TopLumbarSupport: + datatype: float + description: Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 + type: actuator + unit: percent -Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.SideBolster.Support: +Vehicle.Cabin.Seat.Row2.DriverSide.Backrest.UpperShoulderSupport: datatype: float - description: Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + description: Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. max: 100 min: 0 type: actuator unit: percent - uuid: 04cc8929b0f0509495b512a77b48afef Vehicle.Cabin.Seat.Row2.DriverSide.Headrest: description: Headrest settings. type: branch - uuid: 67f772d705af5fac95ec768cf2bfe557 Vehicle.Cabin.Seat.Row2.DriverSide.Headrest.Angle: datatype: float description: Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. type: actuator unit: degrees - uuid: b7ee83ec92ac5595b56557cecbce7fd2 Vehicle.Cabin.Seat.Row2.DriverSide.Headrest.Height: datatype: uint8 @@ -4149,17 +4244,30 @@ Vehicle.Cabin.Seat.Row2.DriverSide.Headrest.Height: min: 0 type: actuator unit: mm - uuid: 916740f753715f3ea6c55b5284613f8e -Vehicle.Cabin.Seat.Row2.DriverSide.Heating: - datatype: int8 - deprecation: v4.1 replaced with HeatingCooling - description: Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat. - max: 100 - min: -100 +Vehicle.Cabin.Seat.Row2.DriverSide.Headrest.IsBackwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). + datatype: boolean + description: Headrest backward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.DriverSide.Headrest.IsDownSwitchEngaged: + comment: Affects the property (Headrest.Height). + datatype: boolean + description: Headrest down switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.DriverSide.Headrest.IsForwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). + datatype: boolean + description: Headrest forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.DriverSide.Headrest.IsUpSwitchEngaged: + comment: Affects the property (Headrest.Height). + datatype: boolean + description: Headrest up switch engaged. type: actuator - unit: percent - uuid: 7ae50ab2fea25798adc27814579bd33b Vehicle.Cabin.Seat.Row2.DriverSide.HeatingCooling: datatype: int8 @@ -4168,7 +4276,6 @@ Vehicle.Cabin.Seat.Row2.DriverSide.HeatingCooling: min: -100 type: actuator unit: percent - uuid: 2b4be8391f405e99a77ba65e3ea80aba Vehicle.Cabin.Seat.Row2.DriverSide.Height: datatype: uint16 @@ -4176,50 +4283,137 @@ Vehicle.Cabin.Seat.Row2.DriverSide.Height: min: 0 type: actuator unit: mm - uuid: 2bd4b50c13d7541db0a86a945c728849 + +Vehicle.Cabin.Seat.Row2.DriverSide.IsBackwardSwitchEngaged: + comment: Affects the property (Position). + datatype: boolean + description: Seat backward switch engaged. + type: actuator Vehicle.Cabin.Seat.Row2.DriverSide.IsBelted: datatype: boolean description: Is the belt engaged. type: sensor - uuid: ec3dc746a34752a1b55ac428579c3dfc -Vehicle.Cabin.Seat.Row2.DriverSide.IsOccupied: +Vehicle.Cabin.Seat.Row2.DriverSide.IsCoolerSwitchEngaged: + comment: Affects the property (HeatingCooling). datatype: boolean - description: Does the seat have a passenger in it. - type: sensor - uuid: 3752de2ef1d85781a6e0a20a6812b9fc - -Vehicle.Cabin.Seat.Row2.DriverSide.Massage: - datatype: uint8 - description: Seat massage level. 0 = off. 100 = max massage. - max: 100 - min: 0 + description: Cooler switch for Seat heater. type: actuator - unit: percent - uuid: d7428179c70d576fb626a9a4bae4299e -Vehicle.Cabin.Seat.Row2.DriverSide.Occupant: - description: Occupant data. - type: branch - uuid: e4a46503b2945ab18ac1ad96f0517151 +Vehicle.Cabin.Seat.Row2.DriverSide.IsDecreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). + datatype: boolean + description: Decrease massage level switch engaged. + type: actuator -Vehicle.Cabin.Seat.Row2.DriverSide.Occupant.Identifier: - description: Identifier attributes based on OAuth 2.0. - type: branch - uuid: a12121bc096c5224a14c2d8ab10ae88b +Vehicle.Cabin.Seat.Row2.DriverSide.IsDownSwitchEngaged: + comment: Affects the property (Height). + datatype: boolean + description: Seat down switch engaged. + type: actuator -Vehicle.Cabin.Seat.Row2.DriverSide.Occupant.Identifier.Issuer: - datatype: string - description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. - type: sensor - uuid: a6b6158bc96c5ac98ad206193ff8b358 +Vehicle.Cabin.Seat.Row2.DriverSide.IsForwardSwitchEngaged: + comment: Affects the property (Position). + datatype: boolean + description: Seat forward switch engaged. + type: actuator -Vehicle.Cabin.Seat.Row2.DriverSide.Occupant.Identifier.Subject: +Vehicle.Cabin.Seat.Row2.DriverSide.IsIncreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). + datatype: boolean + description: Increase massage level switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.DriverSide.IsTiltBackwardSwitchEngaged: + comment: Affects the property (Tilt). + datatype: boolean + description: Tilt backward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.DriverSide.IsTiltForwardSwitchEngaged: + comment: Affects the property (Tilt). + datatype: boolean + description: Tilt forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.DriverSide.IsUpSwitchEngaged: + comment: Affects the property (Height). + datatype: boolean + description: Seat up switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.DriverSide.IsWarmerSwitchEngaged: + comment: Affects the property (HeatingCooling). + datatype: boolean + description: Warmer switch for Seat heater. + type: actuator + +Vehicle.Cabin.Seat.Row2.DriverSide.Massage: + description: Massage related information for the seat. + type: branch + +Vehicle.Cabin.Seat.Row2.DriverSide.Massage.IsAvailable: + datatype: boolean + description: True if the seat have the massage capability + type: attribute + +Vehicle.Cabin.Seat.Row2.DriverSide.Massage.Level: + datatype: uint8 + description: Seat massage level. 0 = off. 100 = max massage. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row2.DriverSide.Massage.Status: + allowed: + - 'ON' + - 'OFF' datatype: string - description: Subject for the authentication of the occupant e.g. UserID 7331677. + description: Massage status. + type: sensor + +Vehicle.Cabin.Seat.Row2.DriverSide.Massage.SupportedTypes: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword + datatype: string[] + description: Type of massage. + type: attribute + +Vehicle.Cabin.Seat.Row2.DriverSide.Massage.TypeActive: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword + datatype: string + description: Type of massage active. + type: actuator + +Vehicle.Cabin.Seat.Row2.DriverSide.NeckScarf: + description: NeckScarf settings. + type: branch + +Vehicle.Cabin.Seat.Row2.DriverSide.NeckScarf.FanSpeed: + datatype: uint8 + description: Speed of the fan. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row2.DriverSide.NeckScarf.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row2.DriverSide.OccupancyStatus: + allowed: + - UNKNOWN + - OCCUPIED + - EMPTY + datatype: string + description: Occupancy status of the seat. type: sensor - uuid: dfc0fb66d7c058b7925970667b284bea Vehicle.Cabin.Seat.Row2.DriverSide.Position: datatype: uint16 @@ -4227,292 +4421,233 @@ Vehicle.Cabin.Seat.Row2.DriverSide.Position: min: 0 type: actuator unit: mm - uuid: 71b34d4141225b77bc232bd3a2efa86f Vehicle.Cabin.Seat.Row2.DriverSide.SeatBeltHeight: datatype: uint16 description: Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported. type: actuator unit: mm - uuid: 6a6313644782587d84fb04eb2c6397d8 Vehicle.Cabin.Seat.Row2.DriverSide.Seating: comment: Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch. description: Describes signals related to the seat bottom of the seat. type: branch - uuid: 5e581a713efc5867b769f38e64a2f320 -Vehicle.Cabin.Seat.Row2.DriverSide.Seating.Length: - datatype: uint16 - description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). - min: 0 +Vehicle.Cabin.Seat.Row2.DriverSide.Seating.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - unit: mm - uuid: 4a5bd16967c65dd88eacf3e4ef8c071f - -Vehicle.Cabin.Seat.Row2.DriverSide.Switch: - description: Seat switch signals - type: branch - uuid: 7a5a1ffb9ab65c6a9ee4cb581077f015 - -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest: - description: Describes switches related to the backrest of the seat. - type: branch - uuid: 55b0756c450a5df2b1a4b0e54b27804b + unit: percent -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.IsReclineBackwardEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Seating.IsBackwardSwitchEngaged: + comment: Affects the property (Seating.Length). datatype: boolean - description: Backrest recline backward switch engaged (SingleSeat.Backrest.Recline). + description: Is switch to decrease seating length engaged. type: actuator - uuid: d45a563848b15928885bc7abb88a2d29 -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.IsReclineForwardEngaged: +Vehicle.Cabin.Seat.Row2.DriverSide.Seating.IsForwardSwitchEngaged: datatype: boolean - description: Backrest recline forward switch engaged (SingleSeat.Backrest.Recline). + description: Is switch to increase seating length engaged. type: actuator - uuid: 838457df1a415fd1a9575eda730a3fa0 -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.Lumbar: - description: Switches for SingleSeat.Backrest.Lumbar. - type: branch - uuid: 7789f295ccf75ab2aa899d2b095bafd4 - -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.Lumbar.IsDownEngaged: - datatype: boolean - description: Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row2.DriverSide.Seating.Length: + datatype: uint16 + description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). + min: 0 type: actuator - uuid: 802ef996df3850c299f5c88dff83ab13 + unit: mm -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.Lumbar.IsLessSupportEngaged: - datatype: boolean - description: Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row2.DriverSide.Seating.SideBolsterSupportLeft: + datatype: float + description: Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: 9c6786e620f151a3a5eeb4b54395d2d8 + unit: percent -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.Lumbar.IsMoreSupportEngaged: - datatype: boolean - description: Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row2.DriverSide.Seating.SideBolsterSupportRight: + datatype: float + description: Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: eeaa79b8443c59c28ba4eed3d2cc1aa1 + unit: percent -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.Lumbar.IsUpEngaged: - datatype: boolean - description: Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row2.DriverSide.Tilt: + comment: In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt. + datatype: float + description: Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. type: actuator - uuid: ebf3534d31615c55803dc8b48d92ca6f + unit: degrees -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.SideBolster: - description: Switches for SingleSeat.Backrest.SideBolster. +Vehicle.Cabin.Seat.Row2.Middle: + description: All seats. type: branch - uuid: a5e3d845386b51c7bd2b054b81025112 - -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.SideBolster.IsLessSupportEngaged: - datatype: boolean - description: Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). - type: actuator - uuid: ed76c57d2d0c5a1d851a708fbc750a29 - -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Backrest.SideBolster.IsMoreSupportEngaged: - datatype: boolean - description: Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). - type: actuator - uuid: a5bcb578170d5442aad65c116302557c -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Headrest: - description: Switches for SingleSeat.Headrest. +Vehicle.Cabin.Seat.Row2.Middle.Airbag: + description: Airbag signals. type: branch - uuid: bb516988089154dfaff8b5b376778d76 -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Headrest.IsBackwardEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Airbag.IsDeployed: datatype: boolean - description: Head rest backward switch engaged (SingleSeat.Headrest.Angle). - type: actuator - uuid: c2654d9579905679b73ab44b6028b664 + description: Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. + type: sensor -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Headrest.IsDownEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Airbag.IsEnabled: datatype: boolean - description: Head rest down switch engaged (SingleSeat.Headrest.Height). - type: actuator - uuid: 10092cdf11165ffdb1e5b616fa5f841a + description: Airbag enabled status. True = Airbag enabled. False = Airbag not enabled. + type: sensor -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Headrest.IsForwardEngaged: - datatype: boolean - description: Head rest forward switch engaged (SingleSeat.Headrest.Angle). - type: actuator - uuid: aa341f93f6095298ba328a8f164452cd +Vehicle.Cabin.Seat.Row2.Middle.Backrest: + description: Describes signals related to the backrest of the seat. + type: branch -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Headrest.IsUpEngaged: - datatype: boolean - description: Head rest up switch engaged (SingleSeat.Headrest.Height). +Vehicle.Cabin.Seat.Row2.Middle.Backrest.BottomLumbarSupport: + datatype: float + description: Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - uuid: bf7acae10ed55aa49a9579f7dd028a8d + unit: percent -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsBackwardEngaged: - datatype: boolean - description: Seat backward switch engaged (SingleSeat.Position). +Vehicle.Cabin.Seat.Row2.Middle.Backrest.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - uuid: a313045c29195b9ab11141155dd7ce17 + unit: percent -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsCoolerEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Backrest.IsLessLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Cooler switch for Seat heater (SingleSeat.Heating). + description: Is switch for less lumbar support engaged. type: actuator - uuid: 05e311e0669d5c128757475c8a83dc51 -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsDownEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Backrest.IsLessSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). datatype: boolean - description: Seat down switch engaged (SingleSeat.Height). + description: Is switch for less side bolster support engaged. type: actuator - uuid: 192b6f898aa35459baa670b58c59c48f -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsForwardEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Backrest.IsLumbarDownSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Seat forward switch engaged (SingleSeat.Position). + description: Lumbar down switch engaged. type: actuator - uuid: 95928045f69d5bfe9ef1c3eb2afec32a -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsTiltBackwardEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Backrest.IsLumbarUpSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Tilt backward switch engaged (SingleSeat.Tilt). + description: Lumbar up switch engaged. type: actuator - uuid: d4f3974ffcd75ba3a5f040f9e823fffe -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsTiltForwardEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Backrest.IsMoreLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Tilt forward switch engaged (SingleSeat.Tilt). + description: Is switch for more lumbar support engaged. type: actuator - uuid: aa71ac6246895ec1b6c74fd76ceecdda -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsUpEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Backrest.IsMoreSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). datatype: boolean - description: Seat up switch engaged (SingleSeat.Height). + description: Is switch for more side bolster support engaged. type: actuator - uuid: c2915c2c175c5a3a862b99d9d2a9cc9a -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.IsWarmerEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Backrest.IsReclineBackwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). datatype: boolean - description: Warmer switch for Seat heater (SingleSeat.Heating). + description: Backrest recline backward switch engaged. type: actuator - uuid: 65c26ab3824b5208bb21d7b8e2dd0124 -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Massage: - description: Switches for SingleSeat.Massage. - type: branch - uuid: e40ca46bfdeb5a82965c1d6b0fc06890 - -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Massage.IsDecreaseEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Backrest.IsReclineForwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). datatype: boolean - description: Decrease massage level switch engaged (SingleSeat.Massage). + description: Backrest recline forward switch engaged. type: actuator - uuid: 854f8899693756e8840ee04c856dd12b -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Massage.IsIncreaseEngaged: - datatype: boolean - description: Increase massage level switch engaged (SingleSeat.Massage). +Vehicle.Cabin.Seat.Row2.Middle.Backrest.LumbarHeight: + datatype: uint8 + description: Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. + min: 0 type: actuator - uuid: a10a2542fdc85bd59286d62f5af32210 - -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Seating: - description: Describes switches related to the seating of the seat. - type: branch - uuid: f28ce1da77645fcd83aa72171ea172e8 + unit: mm -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Seating.IsBackwardEngaged: - datatype: boolean - description: Is switch to decrease seating length engaged (SingleSeat.Seating.Length). +Vehicle.Cabin.Seat.Row2.Middle.Backrest.LumbarSupport: + comment: A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals. + datatype: float + description: Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - uuid: 5d6d6db128965724a9e6f236d9532377 + unit: percent -Vehicle.Cabin.Seat.Row2.DriverSide.Switch.Seating.IsForwardEngaged: - datatype: boolean - description: Is switch to increase seating length engaged (SingleSeat.Seating.Length). +Vehicle.Cabin.Seat.Row2.Middle.Backrest.MidLumbarSupport: + datatype: float + description: Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - uuid: 9ec6de29b168513f823be11c8f348e8c + unit: percent -Vehicle.Cabin.Seat.Row2.DriverSide.Tilt: - comment: In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt. +Vehicle.Cabin.Seat.Row2.Middle.Backrest.Recline: + comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. datatype: float - description: Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. + description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. type: actuator unit: degrees - uuid: 68275a8560a95481a54b590ce458d0e9 - -Vehicle.Cabin.Seat.Row2.Middle: - description: All seats. - type: branch - uuid: a27650921e1e5ee0bd56562364c7dd6f - -Vehicle.Cabin.Seat.Row2.Middle.Airbag: - description: Airbag signals. - type: branch - uuid: aa6d77c09158565787a2e418a1c9ea98 - -Vehicle.Cabin.Seat.Row2.Middle.Airbag.IsDeployed: - datatype: boolean - description: Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. - type: sensor - uuid: cc06da5cab1e5b2e91d180c93c9e8eab - -Vehicle.Cabin.Seat.Row2.Middle.Backrest: - description: Describes signals related to the backrest of the seat. - type: branch - uuid: 4f54b32f4c85549b88acbe7cd19dcb20 - -Vehicle.Cabin.Seat.Row2.Middle.Backrest.Lumbar: - description: Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape. - type: branch - uuid: f675492be60e5a1f9e4ed760a2ee4c33 -Vehicle.Cabin.Seat.Row2.Middle.Backrest.Lumbar.Height: - datatype: uint8 - description: Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. +Vehicle.Cabin.Seat.Row2.Middle.Backrest.SideBolsterSupport: + datatype: float + description: Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 min: 0 type: actuator - unit: mm - uuid: 1a20e907d2515d669c8207a464685be8 + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Backrest.Lumbar.Support: +Vehicle.Cabin.Seat.Row2.Middle.Backrest.SideBolsterSupportLeft: datatype: float - description: Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + description: Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. max: 100 min: 0 type: actuator unit: percent - uuid: c281162d58ed50ccbd90fa58a1478047 -Vehicle.Cabin.Seat.Row2.Middle.Backrest.Recline: - comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. +Vehicle.Cabin.Seat.Row2.Middle.Backrest.SideBolsterSupportRight: datatype: float - description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. + description: Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - unit: degrees - uuid: d24b223dcbb0534389c6c506126497e7 + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Backrest.SideBolster: - description: Backrest side bolster (lumbar side support) settings. - type: branch - uuid: 10538af050535035a3a20e6f702ce99f +Vehicle.Cabin.Seat.Row2.Middle.Backrest.TopLumbarSupport: + datatype: float + description: Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 + type: actuator + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Backrest.SideBolster.Support: +Vehicle.Cabin.Seat.Row2.Middle.Backrest.UpperShoulderSupport: datatype: float - description: Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + description: Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. max: 100 min: 0 type: actuator unit: percent - uuid: b391d00bfb8f5e699fa2332cb5991cdb Vehicle.Cabin.Seat.Row2.Middle.Headrest: description: Headrest settings. type: branch - uuid: eb9a3ea623445fbab28e98ace9716f48 Vehicle.Cabin.Seat.Row2.Middle.Headrest.Angle: datatype: float description: Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. type: actuator unit: degrees - uuid: 41f7b225f1485deaba50f489d58656da Vehicle.Cabin.Seat.Row2.Middle.Headrest.Height: datatype: uint8 @@ -4520,17 +4655,30 @@ Vehicle.Cabin.Seat.Row2.Middle.Headrest.Height: min: 0 type: actuator unit: mm - uuid: 987682ae6e7a539897bab4d96458fe15 -Vehicle.Cabin.Seat.Row2.Middle.Heating: - datatype: int8 - deprecation: v4.1 replaced with HeatingCooling - description: Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat. - max: 100 - min: -100 +Vehicle.Cabin.Seat.Row2.Middle.Headrest.IsBackwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). + datatype: boolean + description: Headrest backward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.Middle.Headrest.IsDownSwitchEngaged: + comment: Affects the property (Headrest.Height). + datatype: boolean + description: Headrest down switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.Middle.Headrest.IsForwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). + datatype: boolean + description: Headrest forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.Middle.Headrest.IsUpSwitchEngaged: + comment: Affects the property (Headrest.Height). + datatype: boolean + description: Headrest up switch engaged. type: actuator - unit: percent - uuid: 3b6a82f5f68f56bba88b7c5349e1a45d Vehicle.Cabin.Seat.Row2.Middle.HeatingCooling: datatype: int8 @@ -4539,7 +4687,6 @@ Vehicle.Cabin.Seat.Row2.Middle.HeatingCooling: min: -100 type: actuator unit: percent - uuid: 1b0129f265225acba5f18aef705b9c54 Vehicle.Cabin.Seat.Row2.Middle.Height: datatype: uint16 @@ -4547,309 +4694,314 @@ Vehicle.Cabin.Seat.Row2.Middle.Height: min: 0 type: actuator unit: mm - uuid: 5e2a819627075c7ea1a6fb2c6b7e550d + +Vehicle.Cabin.Seat.Row2.Middle.IsBackwardSwitchEngaged: + comment: Affects the property (Position). + datatype: boolean + description: Seat backward switch engaged. + type: actuator Vehicle.Cabin.Seat.Row2.Middle.IsBelted: datatype: boolean description: Is the belt engaged. type: sensor - uuid: a4c37cf044a25eb9925b2278786b6cba -Vehicle.Cabin.Seat.Row2.Middle.IsOccupied: +Vehicle.Cabin.Seat.Row2.Middle.IsCoolerSwitchEngaged: + comment: Affects the property (HeatingCooling). datatype: boolean - description: Does the seat have a passenger in it. - type: sensor - uuid: 50e0eeee98e95db58b87aa11a9285492 + description: Cooler switch for Seat heater. + type: actuator -Vehicle.Cabin.Seat.Row2.Middle.Massage: - datatype: uint8 - description: Seat massage level. 0 = off. 100 = max massage. - max: 100 - min: 0 +Vehicle.Cabin.Seat.Row2.Middle.IsDecreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). + datatype: boolean + description: Decrease massage level switch engaged. type: actuator - unit: percent - uuid: d5c053d69d3457ecb3b87be15ccbfe1c -Vehicle.Cabin.Seat.Row2.Middle.Occupant: - description: Occupant data. - type: branch - uuid: 6850b36bd23f57d682a3ef7bc4faab5d +Vehicle.Cabin.Seat.Row2.Middle.IsDownSwitchEngaged: + comment: Affects the property (Height). + datatype: boolean + description: Seat down switch engaged. + type: actuator -Vehicle.Cabin.Seat.Row2.Middle.Occupant.Identifier: - description: Identifier attributes based on OAuth 2.0. - type: branch - uuid: 3216275b8b6e5ab2a5f739232945c139 +Vehicle.Cabin.Seat.Row2.Middle.IsForwardSwitchEngaged: + comment: Affects the property (Position). + datatype: boolean + description: Seat forward switch engaged. + type: actuator -Vehicle.Cabin.Seat.Row2.Middle.Occupant.Identifier.Issuer: - datatype: string - description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. - type: sensor - uuid: 299d9f7fadef59859076cc783c2c6044 +Vehicle.Cabin.Seat.Row2.Middle.IsIncreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). + datatype: boolean + description: Increase massage level switch engaged. + type: actuator -Vehicle.Cabin.Seat.Row2.Middle.Occupant.Identifier.Subject: - datatype: string - description: Subject for the authentication of the occupant e.g. UserID 7331677. - type: sensor - uuid: 2b257368bdb556d087e8f13806003ab2 +Vehicle.Cabin.Seat.Row2.Middle.IsTiltBackwardSwitchEngaged: + comment: Affects the property (Tilt). + datatype: boolean + description: Tilt backward switch engaged. + type: actuator -Vehicle.Cabin.Seat.Row2.Middle.Position: - datatype: uint16 - description: Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported. - min: 0 +Vehicle.Cabin.Seat.Row2.Middle.IsTiltForwardSwitchEngaged: + comment: Affects the property (Tilt). + datatype: boolean + description: Tilt forward switch engaged. type: actuator - unit: mm - uuid: c7e61a5fe6f35d0fb50a4cbb3c5d15e8 -Vehicle.Cabin.Seat.Row2.Middle.SeatBeltHeight: - datatype: uint16 - description: Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported. +Vehicle.Cabin.Seat.Row2.Middle.IsUpSwitchEngaged: + comment: Affects the property (Height). + datatype: boolean + description: Seat up switch engaged. type: actuator - unit: mm - uuid: 6c22e3d28bcd51ae97e01c8ace4dee74 -Vehicle.Cabin.Seat.Row2.Middle.Seating: - comment: Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch. - description: Describes signals related to the seat bottom of the seat. +Vehicle.Cabin.Seat.Row2.Middle.IsWarmerSwitchEngaged: + comment: Affects the property (HeatingCooling). + datatype: boolean + description: Warmer switch for Seat heater. + type: actuator + +Vehicle.Cabin.Seat.Row2.Middle.Massage: + description: Massage related information for the seat. type: branch - uuid: 8a5674259c805a498c827cc4341b20c7 -Vehicle.Cabin.Seat.Row2.Middle.Seating.Length: - datatype: uint16 - description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). +Vehicle.Cabin.Seat.Row2.Middle.Massage.IsAvailable: + datatype: boolean + description: True if the seat have the massage capability + type: attribute + +Vehicle.Cabin.Seat.Row2.Middle.Massage.Level: + datatype: uint8 + description: Seat massage level. 0 = off. 100 = max massage. + max: 100 min: 0 type: actuator - unit: mm - uuid: 76071549a729587fbdebb78ef360cad9 - -Vehicle.Cabin.Seat.Row2.Middle.Switch: - description: Seat switch signals - type: branch - uuid: c634c8cf644d57098ae8b5337dec44a9 + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest: - description: Describes switches related to the backrest of the seat. - type: branch - uuid: ea42e74c9ee55a188af9e0728428a991 +Vehicle.Cabin.Seat.Row2.Middle.Massage.Status: + allowed: + - 'ON' + - 'OFF' + datatype: string + description: Massage status. + type: sensor -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.IsReclineBackwardEngaged: - datatype: boolean - description: Backrest recline backward switch engaged (SingleSeat.Backrest.Recline). - type: actuator - uuid: 28a3b3bd920c552b8079c52743f10c22 +Vehicle.Cabin.Seat.Row2.Middle.Massage.SupportedTypes: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword + datatype: string[] + description: Type of massage. + type: attribute -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.IsReclineForwardEngaged: - datatype: boolean - description: Backrest recline forward switch engaged (SingleSeat.Backrest.Recline). +Vehicle.Cabin.Seat.Row2.Middle.Massage.TypeActive: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword + datatype: string + description: Type of massage active. type: actuator - uuid: 2f81fa98e09b5cbdb462747053b61fe0 -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.Lumbar: - description: Switches for SingleSeat.Backrest.Lumbar. +Vehicle.Cabin.Seat.Row2.Middle.NeckScarf: + description: NeckScarf settings. type: branch - uuid: 11adccdb44b15e26b22252dd75810422 -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.Lumbar.IsDownEngaged: - datatype: boolean - description: Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row2.Middle.NeckScarf.FanSpeed: + datatype: uint8 + description: Speed of the fan. + max: 100 + min: 0 type: actuator - uuid: fbb8355fefd151b58936c7adbde8edd2 + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.Lumbar.IsLessSupportEngaged: - datatype: boolean - description: Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row2.Middle.NeckScarf.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - uuid: 03390dc0feb256f4977f5aadcdef1663 + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.Lumbar.IsMoreSupportEngaged: - datatype: boolean - description: Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row2.Middle.OccupancyStatus: + allowed: + - UNKNOWN + - OCCUPIED + - EMPTY + datatype: string + description: Occupancy status of the seat. + type: sensor + +Vehicle.Cabin.Seat.Row2.Middle.Position: + datatype: uint16 + description: Seat position on vehicle x-axis. Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported. + min: 0 type: actuator - uuid: 703ec67285de5b3799ebd2e4f090e2eb + unit: mm -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.Lumbar.IsUpEngaged: - datatype: boolean - description: Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support). +Vehicle.Cabin.Seat.Row2.Middle.SeatBeltHeight: + datatype: uint16 + description: Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported. type: actuator - uuid: 24535eb7418f5bd4ac16900ea925c3ee + unit: mm -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.SideBolster: - description: Switches for SingleSeat.Backrest.SideBolster. +Vehicle.Cabin.Seat.Row2.Middle.Seating: + comment: Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch. + description: Describes signals related to the seat bottom of the seat. type: branch - uuid: 0618172eae735abdb3c40ed24481cb68 -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.SideBolster.IsLessSupportEngaged: - datatype: boolean - description: Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). +Vehicle.Cabin.Seat.Row2.Middle.Seating.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - uuid: c67fc3cb95bf54ef988ec24b76db4221 + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Switch.Backrest.SideBolster.IsMoreSupportEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Seating.IsBackwardSwitchEngaged: + comment: Affects the property (Seating.Length). datatype: boolean - description: Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). + description: Is switch to decrease seating length engaged. type: actuator - uuid: dfcaac526f3952e0aa29caacf9cd796e - -Vehicle.Cabin.Seat.Row2.Middle.Switch.Headrest: - description: Switches for SingleSeat.Headrest. - type: branch - uuid: 84788fd7b9215fa78374c9ca196e5d2d -Vehicle.Cabin.Seat.Row2.Middle.Switch.Headrest.IsBackwardEngaged: +Vehicle.Cabin.Seat.Row2.Middle.Seating.IsForwardSwitchEngaged: datatype: boolean - description: Head rest backward switch engaged (SingleSeat.Headrest.Angle). + description: Is switch to increase seating length engaged. type: actuator - uuid: aec4843ad9435b9785f0d2485d457c56 -Vehicle.Cabin.Seat.Row2.Middle.Switch.Headrest.IsDownEngaged: - datatype: boolean - description: Head rest down switch engaged (SingleSeat.Headrest.Height). +Vehicle.Cabin.Seat.Row2.Middle.Seating.Length: + datatype: uint16 + description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). + min: 0 type: actuator - uuid: e993d306024f5d5d8f1ffe8897d76a38 + unit: mm -Vehicle.Cabin.Seat.Row2.Middle.Switch.Headrest.IsForwardEngaged: - datatype: boolean - description: Head rest forward switch engaged (SingleSeat.Headrest.Angle). +Vehicle.Cabin.Seat.Row2.Middle.Seating.SideBolsterSupportLeft: + datatype: float + description: Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: bbeb896cdb5059ea83add870abb45c69 + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Switch.Headrest.IsUpEngaged: - datatype: boolean - description: Head rest up switch engaged (SingleSeat.Headrest.Height). +Vehicle.Cabin.Seat.Row2.Middle.Seating.SideBolsterSupportRight: + datatype: float + description: Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: 2078f41ff0505639aab472a9793e0767 + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Switch.IsBackwardEngaged: - datatype: boolean - description: Seat backward switch engaged (SingleSeat.Position). +Vehicle.Cabin.Seat.Row2.Middle.Tilt: + comment: In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt. + datatype: float + description: Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. type: actuator - uuid: f9b78ecd6f065a59918c8fea51464f7a + unit: degrees -Vehicle.Cabin.Seat.Row2.Middle.Switch.IsCoolerEngaged: - datatype: boolean - description: Cooler switch for Seat heater (SingleSeat.Heating). - type: actuator - uuid: 36969412c2325b81906fc4a327a22c84 +Vehicle.Cabin.Seat.Row2.PassengerSide: + description: All seats. + type: branch -Vehicle.Cabin.Seat.Row2.Middle.Switch.IsDownEngaged: - datatype: boolean - description: Seat down switch engaged (SingleSeat.Height). - type: actuator - uuid: 7507db75bf2d541e8eba802db5108fa7 +Vehicle.Cabin.Seat.Row2.PassengerSide.Airbag: + description: Airbag signals. + type: branch -Vehicle.Cabin.Seat.Row2.Middle.Switch.IsForwardEngaged: +Vehicle.Cabin.Seat.Row2.PassengerSide.Airbag.IsDeployed: datatype: boolean - description: Seat forward switch engaged (SingleSeat.Position). - type: actuator - uuid: 0075b9cb31ae5a0c8172e966e6b40954 + description: Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. + type: sensor -Vehicle.Cabin.Seat.Row2.Middle.Switch.IsTiltBackwardEngaged: +Vehicle.Cabin.Seat.Row2.PassengerSide.Airbag.IsEnabled: datatype: boolean - description: Tilt backward switch engaged (SingleSeat.Tilt). + description: Airbag enabled status. True = Airbag enabled. False = Airbag not enabled. + type: sensor + +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest: + description: Describes signals related to the backrest of the seat. + type: branch + +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.BottomLumbarSupport: + datatype: float + description: Bottom lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 type: actuator - uuid: 974123228c7a5fc0bbbc8b13063eb76e + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Switch.IsTiltForwardEngaged: - datatype: boolean - description: Tilt forward switch engaged (SingleSeat.Tilt). +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - uuid: 736dd231351d54389a65e77e39e28816 + unit: percent -Vehicle.Cabin.Seat.Row2.Middle.Switch.IsUpEngaged: +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.IsLessLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Seat up switch engaged (SingleSeat.Height). + description: Is switch for less lumbar support engaged. type: actuator - uuid: f8ded34424025a93b04ee9d47f451b22 -Vehicle.Cabin.Seat.Row2.Middle.Switch.IsWarmerEngaged: +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.IsLessSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). datatype: boolean - description: Warmer switch for Seat heater (SingleSeat.Heating). + description: Is switch for less side bolster support engaged. type: actuator - uuid: 2cdec47cb7565df3934ed28acf1e05a3 - -Vehicle.Cabin.Seat.Row2.Middle.Switch.Massage: - description: Switches for SingleSeat.Massage. - type: branch - uuid: dc5720a01af45e78a562d12a93db0fbd -Vehicle.Cabin.Seat.Row2.Middle.Switch.Massage.IsDecreaseEngaged: +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.IsLumbarDownSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Decrease massage level switch engaged (SingleSeat.Massage). + description: Lumbar down switch engaged. type: actuator - uuid: 07e2a1c17a1854abb180fdf2038ece03 -Vehicle.Cabin.Seat.Row2.Middle.Switch.Massage.IsIncreaseEngaged: +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.IsLumbarUpSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Increase massage level switch engaged (SingleSeat.Massage). + description: Lumbar up switch engaged. type: actuator - uuid: 9c2cd2dab1d65532b6b738966db8af41 - -Vehicle.Cabin.Seat.Row2.Middle.Switch.Seating: - description: Describes switches related to the seating of the seat. - type: branch - uuid: 473086da2fc4501f9b3bdbc94133eb92 -Vehicle.Cabin.Seat.Row2.Middle.Switch.Seating.IsBackwardEngaged: +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.IsMoreLumbarSupportSwitchEngaged: + comment: Affects the property (Backrest.LumbarSupport). datatype: boolean - description: Is switch to decrease seating length engaged (SingleSeat.Seating.Length). + description: Is switch for more lumbar support engaged. type: actuator - uuid: fb25e00b59f1513eb66355fd254e3bbe -Vehicle.Cabin.Seat.Row2.Middle.Switch.Seating.IsForwardEngaged: +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.IsMoreSideBolsterSupportSwitchEngaged: + comment: Affects the property (Backrest.SideBolsterSupport). datatype: boolean - description: Is switch to increase seating length engaged (SingleSeat.Seating.Length). + description: Is switch for more side bolster support engaged. type: actuator - uuid: 45ef8de577b55ff9b621aad08238edaf -Vehicle.Cabin.Seat.Row2.Middle.Tilt: - comment: In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt. - datatype: float - description: Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.IsReclineBackwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). + datatype: boolean + description: Backrest recline backward switch engaged. type: actuator - unit: degrees - uuid: 30d7caa224e6589a882751be94fb7a33 - -Vehicle.Cabin.Seat.Row2.PassengerSide: - description: All seats. - type: branch - uuid: 8cd32cb3e2d157b39af57d9cfe2e128c - -Vehicle.Cabin.Seat.Row2.PassengerSide.Airbag: - description: Airbag signals. - type: branch - uuid: d16d61dc474f514fb10d1c8ecbeb9179 -Vehicle.Cabin.Seat.Row2.PassengerSide.Airbag.IsDeployed: +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.IsReclineForwardSwitchEngaged: + comment: Affects the property (Backrest.Recline). datatype: boolean - description: Airbag deployment status. True = Airbag deployed. False = Airbag not deployed. - type: sensor - uuid: a73fecde42375d07834a6670209228f4 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest: - description: Describes signals related to the backrest of the seat. - type: branch - uuid: ea5285b1124c527681e1a45c51429bdb - -Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.Lumbar: - description: Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape. - type: branch - uuid: 4eb3938a709f5e4dbdefeada15a4ddb9 + description: Backrest recline forward switch engaged. + type: actuator -Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.Lumbar.Height: +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.LumbarHeight: datatype: uint8 description: Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported. min: 0 type: actuator unit: mm - uuid: a8bcc5c7172e545db2b7d56611d5ab6a -Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.Lumbar.Support: +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.LumbarSupport: + comment: A vehicle should typically either use this generic lumbar signal or the more specified top/mid/bottom signals. datatype: float description: Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. max: 100 min: 0 type: actuator unit: percent - uuid: b29e1fd9898e5981807d74caa94dd16a + +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.MidLumbarSupport: + datatype: float + description: Mid lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 + type: actuator + unit: percent Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.Recline: comment: Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline. @@ -4857,33 +5009,56 @@ Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.Recline: description: Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline. type: actuator unit: degrees - uuid: 6e3669fe31425539a49a2235c11bd5b5 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.SideBolster: - description: Backrest side bolster (lumbar side support) settings. - type: branch - uuid: 7e9c0a02e46b57879a2e3a0e66f02137 -Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.SideBolster.Support: +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.SideBolsterSupport: datatype: float description: Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. max: 100 min: 0 type: actuator unit: percent - uuid: a97af5b193b1521e90eb0fd33472ab38 + +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.SideBolsterSupportLeft: + datatype: float + description: Side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.SideBolsterSupportRight: + datatype: float + description: Side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.TopLumbarSupport: + datatype: float + description: Top lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row2.PassengerSide.Backrest.UpperShoulderSupport: + datatype: float + description: Upper shoulder support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 + type: actuator + unit: percent Vehicle.Cabin.Seat.Row2.PassengerSide.Headrest: description: Headrest settings. type: branch - uuid: a5449c4df2955aac981992fcbb581b84 Vehicle.Cabin.Seat.Row2.PassengerSide.Headrest.Angle: datatype: float description: Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. type: actuator unit: degrees - uuid: 13f6bb21aa64545c97257c2b614622cb Vehicle.Cabin.Seat.Row2.PassengerSide.Headrest.Height: datatype: uint8 @@ -4891,17 +5066,30 @@ Vehicle.Cabin.Seat.Row2.PassengerSide.Headrest.Height: min: 0 type: actuator unit: mm - uuid: a82bd9a0a9745ef68dae31474a095294 -Vehicle.Cabin.Seat.Row2.PassengerSide.Heating: - datatype: int8 - deprecation: v4.1 replaced with HeatingCooling - description: Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat. - max: 100 - min: -100 +Vehicle.Cabin.Seat.Row2.PassengerSide.Headrest.IsBackwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). + datatype: boolean + description: Headrest backward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.Headrest.IsDownSwitchEngaged: + comment: Affects the property (Headrest.Height). + datatype: boolean + description: Headrest down switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.Headrest.IsForwardSwitchEngaged: + comment: Affects the property (Headrest.Angle). + datatype: boolean + description: Headrest forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.Headrest.IsUpSwitchEngaged: + comment: Affects the property (Headrest.Height). + datatype: boolean + description: Headrest up switch engaged. type: actuator - unit: percent - uuid: 4c0ab40eaf745f12a09dc2c5acbedae9 Vehicle.Cabin.Seat.Row2.PassengerSide.HeatingCooling: datatype: int8 @@ -4910,7 +5098,6 @@ Vehicle.Cabin.Seat.Row2.PassengerSide.HeatingCooling: min: -100 type: actuator unit: percent - uuid: 61dbad56f18e5ecba04d189ebd943770 Vehicle.Cabin.Seat.Row2.PassengerSide.Height: datatype: uint16 @@ -4918,50 +5105,137 @@ Vehicle.Cabin.Seat.Row2.PassengerSide.Height: min: 0 type: actuator unit: mm - uuid: b1ca33bf7f4455ada6be941b92b824da + +Vehicle.Cabin.Seat.Row2.PassengerSide.IsBackwardSwitchEngaged: + comment: Affects the property (Position). + datatype: boolean + description: Seat backward switch engaged. + type: actuator Vehicle.Cabin.Seat.Row2.PassengerSide.IsBelted: datatype: boolean description: Is the belt engaged. type: sensor - uuid: c7d63d6c97845df5b602791f700968f7 -Vehicle.Cabin.Seat.Row2.PassengerSide.IsOccupied: +Vehicle.Cabin.Seat.Row2.PassengerSide.IsCoolerSwitchEngaged: + comment: Affects the property (HeatingCooling). datatype: boolean - description: Does the seat have a passenger in it. - type: sensor - uuid: 516d511279a75513a53ca57adade3a99 + description: Cooler switch for Seat heater. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.IsDecreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). + datatype: boolean + description: Decrease massage level switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.IsDownSwitchEngaged: + comment: Affects the property (Height). + datatype: boolean + description: Seat down switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.IsForwardSwitchEngaged: + comment: Affects the property (Position). + datatype: boolean + description: Seat forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.IsIncreaseMassageLevelSwitchEngaged: + comment: Affects the property (Massage.Level). + datatype: boolean + description: Increase massage level switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.IsTiltBackwardSwitchEngaged: + comment: Affects the property (Tilt). + datatype: boolean + description: Tilt backward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.IsTiltForwardSwitchEngaged: + comment: Affects the property (Tilt). + datatype: boolean + description: Tilt forward switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.IsUpSwitchEngaged: + comment: Affects the property (Height). + datatype: boolean + description: Seat up switch engaged. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.IsWarmerSwitchEngaged: + comment: Affects the property (HeatingCooling). + datatype: boolean + description: Warmer switch for Seat heater. + type: actuator Vehicle.Cabin.Seat.Row2.PassengerSide.Massage: + description: Massage related information for the seat. + type: branch + +Vehicle.Cabin.Seat.Row2.PassengerSide.Massage.IsAvailable: + datatype: boolean + description: True if the seat have the massage capability + type: attribute + +Vehicle.Cabin.Seat.Row2.PassengerSide.Massage.Level: datatype: uint8 description: Seat massage level. 0 = off. 100 = max massage. max: 100 min: 0 type: actuator unit: percent - uuid: bd9ec382d92e52ae826cb532ba13e11f -Vehicle.Cabin.Seat.Row2.PassengerSide.Occupant: - description: Occupant data. - type: branch - uuid: 0cd5c8c3bd3f55ee8cc4c876cad0b75f +Vehicle.Cabin.Seat.Row2.PassengerSide.Massage.Status: + allowed: + - 'ON' + - 'OFF' + datatype: string + description: Massage status. + type: sensor -Vehicle.Cabin.Seat.Row2.PassengerSide.Occupant.Identifier: - description: Identifier attributes based on OAuth 2.0. - type: branch - uuid: d18aded275a454068904eb5371a69f4d +Vehicle.Cabin.Seat.Row2.PassengerSide.Massage.SupportedTypes: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword + datatype: string[] + description: Type of massage. + type: attribute -Vehicle.Cabin.Seat.Row2.PassengerSide.Occupant.Identifier.Issuer: +Vehicle.Cabin.Seat.Row2.PassengerSide.Massage.TypeActive: + comment: OEMs may define a list of identifiers for supported massage types using the allowed keyword datatype: string - description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. - type: sensor - uuid: 3acca59e11b95e92945ac8ea568a3213 + description: Type of massage active. + type: actuator + +Vehicle.Cabin.Seat.Row2.PassengerSide.NeckScarf: + description: NeckScarf settings. + type: branch + +Vehicle.Cabin.Seat.Row2.PassengerSide.NeckScarf.FanSpeed: + datatype: uint8 + description: Speed of the fan. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Cabin.Seat.Row2.PassengerSide.NeckScarf.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 + type: actuator + unit: percent -Vehicle.Cabin.Seat.Row2.PassengerSide.Occupant.Identifier.Subject: +Vehicle.Cabin.Seat.Row2.PassengerSide.OccupancyStatus: + allowed: + - UNKNOWN + - OCCUPIED + - EMPTY datatype: string - description: Subject for the authentication of the occupant e.g. UserID 7331677. + description: Occupancy status of the seat. type: sensor - uuid: 9fc55976f51c552fac70632a7e61b1f4 Vehicle.Cabin.Seat.Row2.PassengerSide.Position: datatype: uint16 @@ -4969,207 +5243,59 @@ Vehicle.Cabin.Seat.Row2.PassengerSide.Position: min: 0 type: actuator unit: mm - uuid: 07a8fe28cc1850dc96458e827a9ebeb5 Vehicle.Cabin.Seat.Row2.PassengerSide.SeatBeltHeight: datatype: uint16 description: Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported. type: actuator unit: mm - uuid: 9648e0ea501b583a86d211d09a953b14 Vehicle.Cabin.Seat.Row2.PassengerSide.Seating: comment: Seating is here considered as the part of the seat that supports the thighs. Additional cushions (if any) for support of lower legs is not covered by this branch. description: Describes signals related to the seat bottom of the seat. type: branch - uuid: ef3307b33fae500b837da872d2fad454 -Vehicle.Cabin.Seat.Row2.PassengerSide.Seating.Length: - datatype: uint16 - description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). - min: 0 - type: actuator - unit: mm - uuid: 68e28b1aadcf5c3db177943af27a9098 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch: - description: Seat switch signals - type: branch - uuid: dc15316849e75f6d9995d428eee65421 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest: - description: Describes switches related to the backrest of the seat. - type: branch - uuid: 9417cfbf4a08528f9a6bb6de95dd53a3 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.IsReclineBackwardEngaged: - datatype: boolean - description: Backrest recline backward switch engaged (SingleSeat.Backrest.Recline). - type: actuator - uuid: e9591a8c0ef551dd8d2da760bf96045a - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.IsReclineForwardEngaged: - datatype: boolean - description: Backrest recline forward switch engaged (SingleSeat.Backrest.Recline). - type: actuator - uuid: 9fca194c445257049d2ba0bc5d134e12 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.Lumbar: - description: Switches for SingleSeat.Backrest.Lumbar. - type: branch - uuid: ee7310791c475bcb946bd7074fb375af - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.Lumbar.IsDownEngaged: - datatype: boolean - description: Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support). - type: actuator - uuid: 32defc92edd159bc96939d399202d4ca - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.Lumbar.IsLessSupportEngaged: - datatype: boolean - description: Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). - type: actuator - uuid: 54dd7359d76f5caeb221807f3c9f05d6 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.Lumbar.IsMoreSupportEngaged: - datatype: boolean - description: Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support). - type: actuator - uuid: bc763cfcd7fd511cbdc8ae2cc64a0ac7 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.Lumbar.IsUpEngaged: - datatype: boolean - description: Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support). - type: actuator - uuid: 8bc621f1041052c7abf17124cb6dc270 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.SideBolster: - description: Switches for SingleSeat.Backrest.SideBolster. - type: branch - uuid: a69bfc99fd21564b9d6e06504063f3f0 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.SideBolster.IsLessSupportEngaged: - datatype: boolean - description: Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). - type: actuator - uuid: ccdd90ab2f3152be80c64b4500c78a8b - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Backrest.SideBolster.IsMoreSupportEngaged: - datatype: boolean - description: Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support). - type: actuator - uuid: cd893883ea4857b8a42e02dccd7c48d6 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Headrest: - description: Switches for SingleSeat.Headrest. - type: branch - uuid: 0db2d43128845f65a029915777d30ac9 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Headrest.IsBackwardEngaged: - datatype: boolean - description: Head rest backward switch engaged (SingleSeat.Headrest.Angle). - type: actuator - uuid: 0f6c3fada9695cfc89309bca1941d0f5 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Headrest.IsDownEngaged: - datatype: boolean - description: Head rest down switch engaged (SingleSeat.Headrest.Height). - type: actuator - uuid: 263c5edb7c7c515581a853327df34215 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Headrest.IsForwardEngaged: - datatype: boolean - description: Head rest forward switch engaged (SingleSeat.Headrest.Angle). - type: actuator - uuid: d86793d827f6545e97e03d1b8363236d - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Headrest.IsUpEngaged: - datatype: boolean - description: Head rest up switch engaged (SingleSeat.Headrest.Height). - type: actuator - uuid: b77c09fbcec95c5fb04a6d14af5b9f94 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsBackwardEngaged: - datatype: boolean - description: Seat backward switch engaged (SingleSeat.Position). - type: actuator - uuid: cefaab13d761577f86c35403460a83de - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsCoolerEngaged: - datatype: boolean - description: Cooler switch for Seat heater (SingleSeat.Heating). - type: actuator - uuid: 119275e2b8b9579fbaf45f419f01879b - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsDownEngaged: - datatype: boolean - description: Seat down switch engaged (SingleSeat.Height). - type: actuator - uuid: 00793becfbf35a1f9e22e62c0ee23382 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsForwardEngaged: - datatype: boolean - description: Seat forward switch engaged (SingleSeat.Position). - type: actuator - uuid: 6c4cb5e0ab59597db55b22918510c1a1 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsTiltBackwardEngaged: - datatype: boolean - description: Tilt backward switch engaged (SingleSeat.Tilt). - type: actuator - uuid: d6a316b6a3455e9da8769144aece2a74 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsTiltForwardEngaged: - datatype: boolean - description: Tilt forward switch engaged (SingleSeat.Tilt). - type: actuator - uuid: b601c11e3b525dd19933adaf807bc5c1 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsUpEngaged: - datatype: boolean - description: Seat up switch engaged (SingleSeat.Height). +Vehicle.Cabin.Seat.Row2.PassengerSide.Seating.HeatingCooling: + datatype: int8 + description: Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating. + max: 100 + min: -100 type: actuator - uuid: 0f1060fee7e05b2b91cc51d5a9b3da74 + unit: percent -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.IsWarmerEngaged: +Vehicle.Cabin.Seat.Row2.PassengerSide.Seating.IsBackwardSwitchEngaged: + comment: Affects the property (Seating.Length). datatype: boolean - description: Warmer switch for Seat heater (SingleSeat.Heating). + description: Is switch to decrease seating length engaged. type: actuator - uuid: a6ae083174c65a9599901c00819694f8 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Massage: - description: Switches for SingleSeat.Massage. - type: branch - uuid: bd644892090f5bd9a4b89281331cbe4d -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Massage.IsDecreaseEngaged: +Vehicle.Cabin.Seat.Row2.PassengerSide.Seating.IsForwardSwitchEngaged: datatype: boolean - description: Decrease massage level switch engaged (SingleSeat.Massage). + description: Is switch to increase seating length engaged. type: actuator - uuid: 399c59f3d97151499a9005b329368baf -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Massage.IsIncreaseEngaged: - datatype: boolean - description: Increase massage level switch engaged (SingleSeat.Massage). +Vehicle.Cabin.Seat.Row2.PassengerSide.Seating.Length: + datatype: uint16 + description: Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating). + min: 0 type: actuator - uuid: ac7635aa2fc7578aae97d8a253e9a303 - -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Seating: - description: Describes switches related to the seating of the seat. - type: branch - uuid: 0b6331463cf65b44a5709705a1e55d7c + unit: mm -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Seating.IsBackwardEngaged: - datatype: boolean - description: Is switch to decrease seating length engaged (SingleSeat.Seating.Length). +Vehicle.Cabin.Seat.Row2.PassengerSide.Seating.SideBolsterSupportLeft: + datatype: float + description: Seat bottom side bolster support left. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: ed70ebf0a7065894af1ac26e409d2408 + unit: percent -Vehicle.Cabin.Seat.Row2.PassengerSide.Switch.Seating.IsForwardEngaged: - datatype: boolean - description: Is switch to increase seating length engaged (SingleSeat.Seating.Length). +Vehicle.Cabin.Seat.Row2.PassengerSide.Seating.SideBolsterSupportRight: + datatype: float + description: Seat bottom side bolster support right. 0 = Minimum support (widest side bolster setting). 100 = Maximum support. + max: 100 + min: 0 type: actuator - uuid: ef90f29f5ab65b0cbf271a7e06fa848d + unit: percent Vehicle.Cabin.Seat.Row2.PassengerSide.Tilt: comment: In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt. @@ -5177,7 +5303,6 @@ Vehicle.Cabin.Seat.Row2.PassengerSide.Tilt: description: Tilting of seat (seating and backrest) relative to vehicle x-axis. 0 = seat bottom is flat, seat bottom and vehicle x-axis are parallel. Positive degrees = seat tilted backwards, seat x-axis tilted upward, seat z-axis is tilted backward. type: actuator unit: degrees - uuid: 646c179da57a59c39ca9777a4808980b Vehicle.Cabin.SeatPosCount: comment: Default value corresponds to two seats in front row and 3 seats in second row. @@ -5187,7 +5312,6 @@ Vehicle.Cabin.SeatPosCount: - 3 description: Number of seats across each row from the front to the rear. type: attribute - uuid: 8dd40ecd47ab51c79ed9c74ae4296d7e Vehicle.Cabin.SeatRowCount: comment: Default value corresponds to two rows of seats. @@ -5195,12 +5319,10 @@ Vehicle.Cabin.SeatRowCount: default: 2 description: Number of seat rows in vehicle. type: attribute - uuid: 1002a7a4a954581b9cbc72fa438c5292 Vehicle.Cabin.Sunroof: description: Sun roof status. type: branch - uuid: 8ff70db05c065e3eb530082a0b6983cf Vehicle.Cabin.Sunroof.Position: datatype: int8 @@ -5209,18 +5331,15 @@ Vehicle.Cabin.Sunroof.Position: min: -100 type: sensor unit: percent - uuid: ab598697f1c852eda4df9ed62a956d17 Vehicle.Cabin.Sunroof.Shade: description: Sun roof shade status. Open = Retracted, Closed = Deployed. Start position for Sunroof.Shade is Open/Retracted. type: branch - uuid: eeaae5977adb5683b16f405993405b2e Vehicle.Cabin.Sunroof.Shade.IsOpen: datatype: boolean description: Is item open or closed? True = Fully or partially open. False = Fully closed. type: actuator - uuid: f6c7020849fe5431b648a8a283d9751b Vehicle.Cabin.Sunroof.Shade.Position: comment: Relationship between Open/Close and Start/End position is item dependent. @@ -5230,7 +5349,6 @@ Vehicle.Cabin.Sunroof.Shade.Position: min: 0 type: actuator unit: percent - uuid: 5f78c2a631b75abc88744f9bad277f5a Vehicle.Cabin.Sunroof.Shade.Switch: allowed: @@ -5242,7 +5360,6 @@ Vehicle.Cabin.Sunroof.Shade.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or blind. type: actuator - uuid: 3836077128c65381b01e74a1a8be1c40 Vehicle.Cabin.Sunroof.Switch: allowed: @@ -5256,7 +5373,6 @@ Vehicle.Cabin.Sunroof.Switch: datatype: string description: Switch controlling sliding action such as window, sunroof, or shade. type: actuator - uuid: 88c39afd45a25ea2b474ff581e1fb138 Vehicle.CargoVolume: datatype: float @@ -5264,17 +5380,14 @@ Vehicle.CargoVolume: min: 0 type: attribute unit: l - uuid: 789feabca2e8560ea3c1852371b4096e Vehicle.Chassis: description: All data concerning steering, suspension, wheels, and brakes. type: branch - uuid: 87d260d635425da0a4ebd62bc4e5c313 Vehicle.Chassis.Accelerator: description: Accelerator signals type: branch - uuid: 3b2b562086a45eb29c55186f3b710621 Vehicle.Chassis.Accelerator.PedalPosition: datatype: uint8 @@ -5283,17 +5396,14 @@ Vehicle.Chassis.Accelerator.PedalPosition: min: 0 type: sensor unit: percent - uuid: 2fabd8b61db45f62b4e97e7a612b4a73 Vehicle.Chassis.Axle: description: Axle signals type: branch - uuid: 0a3ebde7efa85c04ac6c29b5676fec5d Vehicle.Chassis.Axle.Row1: description: Axle signals type: branch - uuid: d7e93a94af0752aaab36819f6be4f67a Vehicle.Chassis.Axle.Row1.AxleWidth: comment: Corresponds to SAE J1100-2009 W113. @@ -5301,7 +5411,6 @@ Vehicle.Chassis.Axle.Row1.AxleWidth: description: The lateral distance between the wheel mounting faces, measured along the spindle axis. type: attribute unit: mm - uuid: 4458487c2a4e51efa3762349188ce2a1 Vehicle.Chassis.Axle.Row1.SteeringAngle: comment: Single track two-axle model steering angle refers to the angle that a centrally mounted wheel would have. @@ -5309,28 +5418,24 @@ Vehicle.Chassis.Axle.Row1.SteeringAngle: description: Single track two-axle model steering angle. Angle according to ISO 8855. Positive = degrees to the left. Negative = degrees to the right. type: sensor unit: degrees - uuid: 91310e9ef88450c68791fbb07d83f104 Vehicle.Chassis.Axle.Row1.TireAspectRatio: datatype: uint8 description: Aspect ratio between tire section height and tire section width, as per ETRTO / TRA standard. type: attribute unit: percent - uuid: 716fec24167e5c36b2b97daaf091f911 Vehicle.Chassis.Axle.Row1.TireDiameter: datatype: float description: Outer diameter of tires, in inches, as per ETRTO / TRA standard. type: attribute unit: inch - uuid: ed9f037c1b5d53c78c90b71179db1f4f Vehicle.Chassis.Axle.Row1.TireWidth: datatype: uint16 description: Nominal section width of tires, in mm, as per ETRTO / TRA standard. type: attribute unit: mm - uuid: 3444d8773c215cd7a076d688eb7f1afc Vehicle.Chassis.Axle.Row1.TrackWidth: comment: Corresponds to SAE J1100-2009 W102. @@ -5338,7 +5443,6 @@ Vehicle.Chassis.Axle.Row1.TrackWidth: description: The lateral distance between the centers of the wheels, measured along the spindle, or axle axis. If there are dual rear wheels, measure from the midway points between the inner and outer tires. type: attribute unit: mm - uuid: d854bb9c72615e2896c1ed084db515fa Vehicle.Chassis.Axle.Row1.TreadWidth: comment: Corresponds to SAE J1100-2009 W101. @@ -5346,22 +5450,25 @@ Vehicle.Chassis.Axle.Row1.TreadWidth: description: The lateral distance between the centerlines of the base tires at ground, including camber angle. If there are dual rear wheels, measure from the midway points between the inner and outer tires. type: attribute unit: mm - uuid: 0851716e0b635392b6bb64cb478e82b0 Vehicle.Chassis.Axle.Row1.Wheel: description: Wheel signals for axle type: branch - uuid: 8ed02c02eee0502ba6d94a5d5f1fb789 Vehicle.Chassis.Axle.Row1.Wheel.Left: description: Wheel signals for axle type: branch - uuid: 0cd478c6e72b55c6be6d3d9df9624545 + +Vehicle.Chassis.Axle.Row1.Wheel.Left.AngularSpeed: + comment: Positive if wheel is trying to drive vehicle forward. Negative if wheel is trying to drive vehicle backward. + datatype: float + description: Angular (Rotational) speed of a vehicle's wheel. + type: sensor + unit: degrees/s Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake: description: Brake signals for wheel type: branch - uuid: 162dab13d5815ec4bc22888b0bc59cbf Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake.FluidLevel: datatype: uint8 @@ -5369,19 +5476,16 @@ Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake.FluidLevel: max: 100 type: sensor unit: percent - uuid: 63aa9c4973ef50b18bd7214c9f2634c5 Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake.IsBrakesWorn: datatype: boolean description: Brake pad wear status. True = Worn. False = Not Worn. type: sensor - uuid: 901771088eb35dec9e69b56a8cb3e8f5 Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake.IsFluidLevelLow: datatype: boolean description: Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK. type: sensor - uuid: 713da56818e55714ac441e10870b3753 Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake.PadWear: datatype: uint8 @@ -5389,49 +5493,61 @@ Vehicle.Chassis.Axle.Row1.Wheel.Left.Brake.PadWear: max: 100 type: sensor unit: percent - uuid: b4ed36f8143d512fadaca3e641739ee2 Vehicle.Chassis.Axle.Row1.Wheel.Left.Speed: datatype: float - description: Rotational speed of a vehicle's wheel. + description: Linear speed of a vehicle's wheel. type: sensor unit: km/h - uuid: 47897f20b2745b6aa2d0f76f1ecf824a Vehicle.Chassis.Axle.Row1.Wheel.Left.Tire: description: Tire signals for wheel. type: branch - uuid: 17c60ec3c02054b4951c975156375d9a + +Vehicle.Chassis.Axle.Row1.Wheel.Left.Tire.AirTemperature: + datatype: float + description: Air temperature inside the tire in Celsius. + type: sensor + unit: Celsius Vehicle.Chassis.Axle.Row1.Wheel.Left.Tire.IsPressureLow: datatype: boolean description: Tire Pressure Status. True = Low tire pressure. False = Good tire pressure. type: sensor - uuid: 4088315cfaa05c28b51c3d3462c65339 Vehicle.Chassis.Axle.Row1.Wheel.Left.Tire.Pressure: datatype: uint16 description: Tire pressure in kilo-Pascal. type: sensor unit: kPa - uuid: 9fa3f176fd975d28a68f70c7d72e370f + +Vehicle.Chassis.Axle.Row1.Wheel.Left.Tire.RubberTemperature: + datatype: float + description: Rubber temperature of the tire in Celsius. + type: sensor + unit: Celsius Vehicle.Chassis.Axle.Row1.Wheel.Left.Tire.Temperature: datatype: float + deprecation: v6.0 - use RubberTemperature or AirTemperature instead. description: Tire temperature in Celsius. type: sensor - unit: celsius - uuid: 093d8fb119755f6bafa979e4eae201a0 + unit: Celsius Vehicle.Chassis.Axle.Row1.Wheel.Right: description: Wheel signals for axle type: branch - uuid: c7ae1f1787ec502d8aea41802dc9a203 + +Vehicle.Chassis.Axle.Row1.Wheel.Right.AngularSpeed: + comment: Positive if wheel is trying to drive vehicle forward. Negative if wheel is trying to drive vehicle backward. + datatype: float + description: Angular (Rotational) speed of a vehicle's wheel. + type: sensor + unit: degrees/s Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake: description: Brake signals for wheel type: branch - uuid: f334a45b92215f86b4ecadbd82c8b249 Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake.FluidLevel: datatype: uint8 @@ -5439,19 +5555,16 @@ Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake.FluidLevel: max: 100 type: sensor unit: percent - uuid: 386bfddee4605e419d59755a51835650 Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake.IsBrakesWorn: datatype: boolean description: Brake pad wear status. True = Worn. False = Not Worn. type: sensor - uuid: 4c669b71c91e57dd8fd804ee68174b9c Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake.IsFluidLevelLow: datatype: boolean description: Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK. type: sensor - uuid: bb2057bc31c25beda1da0610ca62bd51 Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake.PadWear: datatype: uint8 @@ -5459,64 +5572,67 @@ Vehicle.Chassis.Axle.Row1.Wheel.Right.Brake.PadWear: max: 100 type: sensor unit: percent - uuid: f3c53c8c5628527a8501e12778dae6c7 Vehicle.Chassis.Axle.Row1.Wheel.Right.Speed: datatype: float - description: Rotational speed of a vehicle's wheel. + description: Linear speed of a vehicle's wheel. type: sensor unit: km/h - uuid: c288d064d56e53bfb94cef8670872587 Vehicle.Chassis.Axle.Row1.Wheel.Right.Tire: description: Tire signals for wheel. type: branch - uuid: 660f90ae8f14594cb6e97d000c1985a1 + +Vehicle.Chassis.Axle.Row1.Wheel.Right.Tire.AirTemperature: + datatype: float + description: Air temperature inside the tire in Celsius. + type: sensor + unit: Celsius Vehicle.Chassis.Axle.Row1.Wheel.Right.Tire.IsPressureLow: datatype: boolean description: Tire Pressure Status. True = Low tire pressure. False = Good tire pressure. type: sensor - uuid: 93fa1125894e53259af5b7e1d991c8da Vehicle.Chassis.Axle.Row1.Wheel.Right.Tire.Pressure: datatype: uint16 description: Tire pressure in kilo-Pascal. type: sensor unit: kPa - uuid: ea8038b63e6650ffb1a20539e915064a + +Vehicle.Chassis.Axle.Row1.Wheel.Right.Tire.RubberTemperature: + datatype: float + description: Rubber temperature of the tire in Celsius. + type: sensor + unit: Celsius Vehicle.Chassis.Axle.Row1.Wheel.Right.Tire.Temperature: datatype: float + deprecation: v6.0 - use RubberTemperature or AirTemperature instead. description: Tire temperature in Celsius. type: sensor - unit: celsius - uuid: 58d4cee188d353d7996e855d48bb92df + unit: Celsius Vehicle.Chassis.Axle.Row1.WheelCount: datatype: uint8 description: Number of wheels on the axle type: attribute - uuid: 7232effafb7d5c908a9bafe1cef2ff3e Vehicle.Chassis.Axle.Row1.WheelDiameter: datatype: float description: Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard. type: attribute unit: inch - uuid: 60d4b948ae8a5485bd77c45e1f648c13 Vehicle.Chassis.Axle.Row1.WheelWidth: datatype: float description: Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard. type: attribute unit: inch - uuid: 5b92bdab1e035ff4ba000330e20f826b Vehicle.Chassis.Axle.Row2: description: Axle signals type: branch - uuid: 8ef77768446659b6b5020a06c7b23c8b Vehicle.Chassis.Axle.Row2.AxleWidth: comment: Corresponds to SAE J1100-2009 W113. @@ -5524,7 +5640,6 @@ Vehicle.Chassis.Axle.Row2.AxleWidth: description: The lateral distance between the wheel mounting faces, measured along the spindle axis. type: attribute unit: mm - uuid: 99860d78f2b25ae0b420660b76f933f0 Vehicle.Chassis.Axle.Row2.SteeringAngle: comment: Single track two-axle model steering angle refers to the angle that a centrally mounted wheel would have. @@ -5532,28 +5647,24 @@ Vehicle.Chassis.Axle.Row2.SteeringAngle: description: Single track two-axle model steering angle. Angle according to ISO 8855. Positive = degrees to the left. Negative = degrees to the right. type: sensor unit: degrees - uuid: bf1960525e725d2ca145ce12ba939ea3 Vehicle.Chassis.Axle.Row2.TireAspectRatio: datatype: uint8 description: Aspect ratio between tire section height and tire section width, as per ETRTO / TRA standard. type: attribute unit: percent - uuid: 9b4515273bf1554dab746212db05d352 Vehicle.Chassis.Axle.Row2.TireDiameter: datatype: float description: Outer diameter of tires, in inches, as per ETRTO / TRA standard. type: attribute unit: inch - uuid: 4dc46ee7fe0a5240a6eb67f9bf43a1ea Vehicle.Chassis.Axle.Row2.TireWidth: datatype: uint16 description: Nominal section width of tires, in mm, as per ETRTO / TRA standard. type: attribute unit: mm - uuid: 76a9071697b25fb8ab42393dfb77f0ef Vehicle.Chassis.Axle.Row2.TrackWidth: comment: Corresponds to SAE J1100-2009 W102. @@ -5561,7 +5672,6 @@ Vehicle.Chassis.Axle.Row2.TrackWidth: description: The lateral distance between the centers of the wheels, measured along the spindle, or axle axis. If there are dual rear wheels, measure from the midway points between the inner and outer tires. type: attribute unit: mm - uuid: b6c5ba52f1985f179c9346edbabe2f9b Vehicle.Chassis.Axle.Row2.TreadWidth: comment: Corresponds to SAE J1100-2009 W101. @@ -5569,22 +5679,25 @@ Vehicle.Chassis.Axle.Row2.TreadWidth: description: The lateral distance between the centerlines of the base tires at ground, including camber angle. If there are dual rear wheels, measure from the midway points between the inner and outer tires. type: attribute unit: mm - uuid: bdfd2fb7c3b25091a48f873462466f84 Vehicle.Chassis.Axle.Row2.Wheel: description: Wheel signals for axle type: branch - uuid: 87b119ed6de254159877b24047fd3026 Vehicle.Chassis.Axle.Row2.Wheel.Left: description: Wheel signals for axle type: branch - uuid: 4c32a1c722a45ea09a52c389e8a8a618 + +Vehicle.Chassis.Axle.Row2.Wheel.Left.AngularSpeed: + comment: Positive if wheel is trying to drive vehicle forward. Negative if wheel is trying to drive vehicle backward. + datatype: float + description: Angular (Rotational) speed of a vehicle's wheel. + type: sensor + unit: degrees/s Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake: description: Brake signals for wheel type: branch - uuid: 774d0a5771d35975872870cf71ea1487 Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake.FluidLevel: datatype: uint8 @@ -5592,19 +5705,16 @@ Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake.FluidLevel: max: 100 type: sensor unit: percent - uuid: 4b0d4f80b8855973a55ffee80fdfc4ba Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake.IsBrakesWorn: datatype: boolean description: Brake pad wear status. True = Worn. False = Not Worn. type: sensor - uuid: 3d9bae5bf0705de99789ecea26b99a5c Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake.IsFluidLevelLow: datatype: boolean description: Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK. type: sensor - uuid: 01f57161b0bf539fad1d2bfa9d9a9fc4 Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake.PadWear: datatype: uint8 @@ -5612,49 +5722,61 @@ Vehicle.Chassis.Axle.Row2.Wheel.Left.Brake.PadWear: max: 100 type: sensor unit: percent - uuid: 8eff72d583015e1e94eab98bf8f0497e Vehicle.Chassis.Axle.Row2.Wheel.Left.Speed: datatype: float - description: Rotational speed of a vehicle's wheel. + description: Linear speed of a vehicle's wheel. type: sensor unit: km/h - uuid: 427abdd04fc355769697d998a47d3f58 Vehicle.Chassis.Axle.Row2.Wheel.Left.Tire: description: Tire signals for wheel. type: branch - uuid: edfee87117dc5a6f9d970167f26ec090 + +Vehicle.Chassis.Axle.Row2.Wheel.Left.Tire.AirTemperature: + datatype: float + description: Air temperature inside the tire in Celsius. + type: sensor + unit: Celsius Vehicle.Chassis.Axle.Row2.Wheel.Left.Tire.IsPressureLow: datatype: boolean description: Tire Pressure Status. True = Low tire pressure. False = Good tire pressure. type: sensor - uuid: d895b1e23a4f59ec92735fc317e44769 Vehicle.Chassis.Axle.Row2.Wheel.Left.Tire.Pressure: datatype: uint16 description: Tire pressure in kilo-Pascal. type: sensor unit: kPa - uuid: ea414012c36e54fc84ec1d421f370ddd + +Vehicle.Chassis.Axle.Row2.Wheel.Left.Tire.RubberTemperature: + datatype: float + description: Rubber temperature of the tire in Celsius. + type: sensor + unit: Celsius Vehicle.Chassis.Axle.Row2.Wheel.Left.Tire.Temperature: datatype: float + deprecation: v6.0 - use RubberTemperature or AirTemperature instead. description: Tire temperature in Celsius. type: sensor - unit: celsius - uuid: 06ab6b3fe7bb5f7c9e2e104ee0e7cfd5 + unit: Celsius Vehicle.Chassis.Axle.Row2.Wheel.Right: description: Wheel signals for axle type: branch - uuid: f59f6ce66b1454498f5dc71be581732a + +Vehicle.Chassis.Axle.Row2.Wheel.Right.AngularSpeed: + comment: Positive if wheel is trying to drive vehicle forward. Negative if wheel is trying to drive vehicle backward. + datatype: float + description: Angular (Rotational) speed of a vehicle's wheel. + type: sensor + unit: degrees/s Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake: description: Brake signals for wheel type: branch - uuid: 5c33ec4bd8a15d3590f59e7257bf4d25 Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake.FluidLevel: datatype: uint8 @@ -5662,19 +5784,16 @@ Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake.FluidLevel: max: 100 type: sensor unit: percent - uuid: 83e5e261302d5ab38c9ee4dddc18c8ae Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake.IsBrakesWorn: datatype: boolean description: Brake pad wear status. True = Worn. False = Not Worn. type: sensor - uuid: 9b5963e98a9c5b229a61df76ef5c86e0 Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake.IsFluidLevelLow: datatype: boolean description: Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK. type: sensor - uuid: 727823c7e0d551f48f26a5dd4f0578bd Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake.PadWear: datatype: uint8 @@ -5682,78 +5801,79 @@ Vehicle.Chassis.Axle.Row2.Wheel.Right.Brake.PadWear: max: 100 type: sensor unit: percent - uuid: 63a564bca18a5b1fabd7d3cff1af0e6d Vehicle.Chassis.Axle.Row2.Wheel.Right.Speed: datatype: float - description: Rotational speed of a vehicle's wheel. + description: Linear speed of a vehicle's wheel. type: sensor unit: km/h - uuid: 85b41a82f4775fcea57dcc6218fb6d7b Vehicle.Chassis.Axle.Row2.Wheel.Right.Tire: description: Tire signals for wheel. type: branch - uuid: d855fe9ffb4e52be83ebfc7967c1c3ee + +Vehicle.Chassis.Axle.Row2.Wheel.Right.Tire.AirTemperature: + datatype: float + description: Air temperature inside the tire in Celsius. + type: sensor + unit: Celsius Vehicle.Chassis.Axle.Row2.Wheel.Right.Tire.IsPressureLow: datatype: boolean description: Tire Pressure Status. True = Low tire pressure. False = Good tire pressure. type: sensor - uuid: da2f63312a455d92abd5edc405f01903 Vehicle.Chassis.Axle.Row2.Wheel.Right.Tire.Pressure: datatype: uint16 description: Tire pressure in kilo-Pascal. type: sensor unit: kPa - uuid: 0cd3dd4be36c5fcda49d6360556ba7c8 + +Vehicle.Chassis.Axle.Row2.Wheel.Right.Tire.RubberTemperature: + datatype: float + description: Rubber temperature of the tire in Celsius. + type: sensor + unit: Celsius Vehicle.Chassis.Axle.Row2.Wheel.Right.Tire.Temperature: datatype: float + deprecation: v6.0 - use RubberTemperature or AirTemperature instead. description: Tire temperature in Celsius. type: sensor - unit: celsius - uuid: 7c08b5778bc05265bb8d4e08fdca29cf + unit: Celsius Vehicle.Chassis.Axle.Row2.WheelCount: datatype: uint8 description: Number of wheels on the axle type: attribute - uuid: ac6fe103410153d382306426d14213ab Vehicle.Chassis.Axle.Row2.WheelDiameter: datatype: float description: Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard. type: attribute unit: inch - uuid: af27b1d18a5455e593692a9929909bb9 Vehicle.Chassis.Axle.Row2.WheelWidth: datatype: float description: Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard. type: attribute unit: inch - uuid: 889d279053c051979ebbe301bacac206 Vehicle.Chassis.AxleCount: datatype: uint8 default: 2 description: Number of axles on the vehicle type: attribute - uuid: 86d084c9148d5f22b5402a030413ed79 Vehicle.Chassis.Brake: description: Brake system signals type: branch - uuid: 38df972e5c6b558e93839a5e97238c5a Vehicle.Chassis.Brake.IsDriverEmergencyBrakingDetected: comment: Detection of emergency braking can trigger Emergency Brake Assist (EBA) to engage. datatype: boolean description: Indicates if emergency braking initiated by driver is detected. True = Emergency braking detected. False = Emergency braking not detected. type: sensor - uuid: 0d462892aeac5062a62ee7d07306f6a6 Vehicle.Chassis.Brake.PedalPosition: datatype: uint8 @@ -5762,36 +5882,30 @@ Vehicle.Chassis.Brake.PedalPosition: min: 0 type: sensor unit: percent - uuid: 0477d3a4a831564ea473976cf34374f2 Vehicle.Chassis.ParkingBrake: description: Parking brake signals type: branch - uuid: 3849d42292f4551590fa4bf716fc90f7 Vehicle.Chassis.ParkingBrake.IsAutoApplyEnabled: datatype: boolean description: Indicates if parking brake will be automatically engaged when the vehicle engine is turned off. type: actuator - uuid: 26c694c9a1c75b699cc8c1dd2986ab90 Vehicle.Chassis.ParkingBrake.IsEngaged: datatype: boolean description: Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged. type: actuator - uuid: faa7f94e6a5555c6b2d62e3328520ce0 Vehicle.Chassis.SteeringWheel: description: Steering wheel signals type: branch - uuid: 8c759072791e5986ac4efe9df0c2b751 Vehicle.Chassis.SteeringWheel.Angle: datatype: int16 description: Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right. type: sensor unit: degrees - uuid: 92cd3b3d37585b2291806fe5127d9393 Vehicle.Chassis.SteeringWheel.Extension: datatype: uint8 @@ -5800,7 +5914,6 @@ Vehicle.Chassis.SteeringWheel.Extension: min: 0 type: actuator unit: percent - uuid: 6a84cc3604fc5960a1fb384fe63fae72 Vehicle.Chassis.SteeringWheel.HeatingCooling: datatype: int8 @@ -5809,7 +5922,6 @@ Vehicle.Chassis.SteeringWheel.HeatingCooling: min: -100 type: actuator unit: percent - uuid: 74e1f4888a9a5dc6b3bbdda9ecafef39 Vehicle.Chassis.SteeringWheel.Tilt: datatype: uint8 @@ -5818,7 +5930,6 @@ Vehicle.Chassis.SteeringWheel.Tilt: min: 0 type: actuator unit: percent - uuid: 33e979769f91521d8080384447d06c00 Vehicle.Chassis.Wheelbase: datatype: uint16 @@ -5826,1386 +5937,2192 @@ Vehicle.Chassis.Wheelbase: description: Overall wheelbase, in mm. type: attribute unit: mm - uuid: 11677e0433935dc7aa9c1806c96a8a6b Vehicle.Connectivity: description: Connectivity data. type: branch - uuid: 89c267fccea35f3da9871cca2b4dc4df Vehicle.Connectivity.IsConnectivityAvailable: comment: This signal can be used by onboard vehicle services to decide what features that shall be offered to the driver, for example disable the 'check for update' button if vehicle does not have connectivity. datatype: boolean description: Indicates if connectivity between vehicle and cloud is available. True = Connectivity is available. False = Connectivity is not available. type: sensor - uuid: b6d11be2a6565996b68ffb07a96595a7 - -Vehicle.CurbWeight: - datatype: uint16 - default: 0 - description: Vehicle curb weight, including all liquids and full tank of fuel, but no cargo or passengers. - type: attribute - unit: kg - uuid: 69ac6ca079de59d19737f75e4c5c4342 -Vehicle.CurrentLocation: - description: The current latitude and longitude of the vehicle. +Vehicle.ControlUnit: + comment: The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed + description: Root of the control unit branch type: branch - uuid: 24777bd485f15fb69550ae0520c40ad5 -Vehicle.CurrentLocation.Altitude: - datatype: double - description: Current altitude relative to WGS 84 reference ellipsoid, as measured at the position of GNSS receiver antenna. - type: sensor - unit: m - uuid: d3ead98ab0b751c1a5b5dd5bc0e5e216 - -Vehicle.CurrentLocation.GNSSReceiver: - description: Information on the GNSS receiver used for determining current location. +Vehicle.ControlUnit.Central: + comment: The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed + description: Root of the control unit branch type: branch - uuid: b1bea5d88662539a8cff6f8fe4974740 - -Vehicle.CurrentLocation.GNSSReceiver.FixType: - allowed: - - NONE - - TWO_D - - TWO_D_SATELLITE_BASED_AUGMENTATION - - TWO_D_GROUND_BASED_AUGMENTATION - - TWO_D_SATELLITE_AND_GROUND_BASED_AUGMENTATION - - THREE_D - - THREE_D_SATELLITE_BASED_AUGMENTATION - - THREE_D_GROUND_BASED_AUGMENTATION - - THREE_D_SATELLITE_AND_GROUND_BASED_AUGMENTATION - datatype: string - description: Fix status of GNSS receiver. - type: sensor - uuid: 52853b33d4605608bd0ae50595c69309 -Vehicle.CurrentLocation.GNSSReceiver.MountingPosition: - description: Mounting position of GNSS receiver antenna relative to vehicle coordinate system. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. +Vehicle.ControlUnit.Central.Health: + description: Health attributes and signals type: branch - uuid: 5c0887bce6fb5eb79402baaccb203e61 - -Vehicle.CurrentLocation.GNSSReceiver.MountingPosition.X: - datatype: int16 - description: Mounting position of GNSS receiver antenna relative to vehicle coordinate system. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. Positive values = forward of rear axle. Negative values = backward of rear axle. - type: attribute - unit: mm - uuid: f23d40f3556b5676a0d1e3def037197f - -Vehicle.CurrentLocation.GNSSReceiver.MountingPosition.Y: - datatype: int16 - description: Mounting position of GNSS receiver antenna relative to vehicle coordinate system. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. Positive values = left of origin. Negative values = right of origin. Left/Right is as seen from driver perspective, i.e. by a person looking forward. - type: attribute - unit: mm - uuid: 16745ae827c0527ea2c48c20f0c146f1 -Vehicle.CurrentLocation.GNSSReceiver.MountingPosition.Z: - datatype: int16 - description: Mounting position of GNSS receiver on Z-axis. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. Positive values = above center of rear axle. Negative values = below center of rear axle. - type: attribute - unit: mm - uuid: a4d04e86518e5c5ab60e5e4face35756 +Vehicle.ControlUnit.Central.Health.Network: + description: Network attributes and signals + type: branch -Vehicle.CurrentLocation.Heading: - datatype: double - description: Current heading relative to geographic north. 0 = North, 90 = East, 180 = South, 270 = West. - max: 360 - min: 0 - type: sensor - unit: degrees - uuid: 2a8f0afa2b315943aa001278875ce012 +Vehicle.ControlUnit.Central.Health.Network.CAN: + description: CAN network attributes and signals + type: branch -Vehicle.CurrentLocation.HorizontalAccuracy: - datatype: double - description: Accuracy of the latitude and longitude coordinates. +Vehicle.ControlUnit.Central.Health.Network.CAN.IsNetworkOK: + datatype: boolean + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - unit: m - uuid: bf25ef243f0c5f839f7ef874f9c57fda -Vehicle.CurrentLocation.Latitude: - datatype: double - description: Current latitude of vehicle in WGS 84 geodetic coordinates, as measured at the position of GNSS receiver antenna. - max: 90 - min: -90 - type: sensor - unit: degrees - uuid: 08933c5a445055df80bea15fbfa07f1c +Vehicle.ControlUnit.Central.Health.Network.ETH: + description: Ethernet network attributes and signals + type: branch -Vehicle.CurrentLocation.Longitude: - datatype: double - description: Current longitude of vehicle in WGS 84 geodetic coordinates, as measured at the position of GNSS receiver antenna. - max: 180 - min: -180 +Vehicle.ControlUnit.Central.Health.Network.ETH.IsNetworkOK: + datatype: boolean + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - unit: degrees - uuid: 5246f2ec5fea550cb1b36f110854cfbb -Vehicle.CurrentLocation.Timestamp: - datatype: string - description: Timestamp from GNSS system for current location, formatted according to ISO 8601 with UTC time zone. - type: sensor - unit: iso8601 - uuid: 094aeff73be05c08905690be0e82a438 +Vehicle.ControlUnit.Central.Health.Resources: + description: Resources attributes and signals + type: branch -Vehicle.CurrentLocation.VerticalAccuracy: - datatype: double - description: Accuracy of altitude. +Vehicle.ControlUnit.Central.Health.Resources.Power: + datatype: float + description: Power consumption type: sensor - unit: m - uuid: 8f54055bce9e5e8e97fb6051582707ab + unit: W -Vehicle.CurrentOverallWeight: - datatype: uint16 - description: Current overall Vehicle weight. Including passengers, cargo and other load inside the car. +Vehicle.ControlUnit.Central.Health.Resources.Temperature: + datatype: float + description: Instance temperature type: sensor - unit: kg - uuid: 75599d7628bb5f35839055269d3ad205 + unit: Celsius -Vehicle.Driver: - description: Driver data. +Vehicle.ControlUnit.Central.Health.Resources.Utilization: + description: Resources utilization branch type: branch - uuid: 1cac57e7b7e756dc8a154eaacbce6426 -Vehicle.Driver.AttentiveProbability: +Vehicle.ControlUnit.Central.Health.Resources.Utilization.CPU: datatype: float - description: Probability of attentiveness of the driver. + description: CPU utilization max: 100 min: 0 type: sensor unit: percent - uuid: fcd202467afb533fbbf9e7da89cc1cee -Vehicle.Driver.DistractionLevel: +Vehicle.ControlUnit.Central.Health.Resources.Utilization.Memory: datatype: float - description: Distraction level of the driver, which can be evaluated by multiple factors e.g. driving situation, acoustical or optical signals inside the cockpit, ongoing phone calls. + description: Memory utilization max: 100 min: 0 type: sensor unit: percent - uuid: cb35ec0b924e58979e1469146d65c3fa -Vehicle.Driver.FatigueLevel: - datatype: float - description: Fatigue level of the driver, which can be evaluated by multiple factors e.g. trip time, behaviour of steering, eye status. - max: 100 - min: 0 +Vehicle.ControlUnit.Central.Health.SWSupervision: + description: SW supervision attributes and signals + type: branch + +Vehicle.ControlUnit.Central.Health.SWSupervision.IsAliveTriggered: + datatype: boolean + description: Whether the alive supervision was triggered type: sensor - unit: percent - uuid: 49b1626295705a79ae20d8a270c48b6b -Vehicle.Driver.HeartRate: - datatype: uint16 - description: Heart rate of the driver. +Vehicle.ControlUnit.Central.Health.SWSupervision.IsDeadlineTriggered: + datatype: boolean + description: Whether the deadline supervision was triggered type: sensor - unit: bpm - uuid: d71516905f785c4da867a2f86e774d93 -Vehicle.Driver.Identifier: - description: Identifier attributes based on OAuth 2.0. - type: branch - uuid: 89705397069c5ec58d607318f2ff0ea8 +Vehicle.ControlUnit.Central.Health.SWSupervision.IsLogicalTriggered: + datatype: boolean + description: Whether the logical supervision was triggered + type: sensor -Vehicle.Driver.Identifier.Issuer: - datatype: string - description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. +Vehicle.ControlUnit.Central.Health.SWSupervision.IsWatchdogTriggered: + datatype: boolean + description: Whether the watchdog deadline was triggered type: sensor - uuid: ee7988d26d7156d2a030ecc506ea97e7 -Vehicle.Driver.Identifier.Subject: - datatype: string - description: Subject for the authentication of the occupant e.g. UserID 7331677. - type: sensor - uuid: b41ec688af265f10824bc9635989ac55 +Vehicle.ControlUnit.Central.ID: + datatype: uint8 + default: 0 + description: Control unit ID + type: attribute -Vehicle.Driver.IsEyesOnRoad: +Vehicle.ControlUnit.FrontLeft: + comment: The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed + description: Root of the control unit branch + type: branch + +Vehicle.ControlUnit.FrontLeft.Health: + description: Health attributes and signals + type: branch + +Vehicle.ControlUnit.FrontLeft.Health.Network: + description: Network attributes and signals + type: branch + +Vehicle.ControlUnit.FrontLeft.Health.Network.CAN: + description: CAN network attributes and signals + type: branch + +Vehicle.ControlUnit.FrontLeft.Health.Network.CAN.IsNetworkOK: datatype: boolean - description: Has driver the eyes on road or not? + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - uuid: 625e5009f1145aa0b797ee6c335ca2fe -Vehicle.Driver.IsHandsOnWheel: +Vehicle.ControlUnit.FrontLeft.Health.Network.ETH: + description: Ethernet network attributes and signals + type: branch + +Vehicle.ControlUnit.FrontLeft.Health.Network.ETH.IsNetworkOK: datatype: boolean - description: Are the driver's hands on the steering wheel or not? + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - uuid: 90d7dc2c408c528d941829ff88075f24 - -Vehicle.EmissionsCO2: - datatype: int16 - description: The CO2 emissions. - type: attribute - unit: g/km - uuid: b73e8f1ed17d584fad3f088c666dc2a5 -Vehicle.Exterior: - description: Information about exterior measured by vehicle. +Vehicle.ControlUnit.FrontLeft.Health.Resources: + description: Resources attributes and signals type: branch - uuid: 06c5def549f3580e8cdaffa3e0f5d25c -Vehicle.Exterior.AirTemperature: +Vehicle.ControlUnit.FrontLeft.Health.Resources.Power: datatype: float - description: Air temperature outside the vehicle. + description: Power consumption type: sensor - unit: celsius - uuid: a38d3f5dfeb35317aca8b90453dc1a75 + unit: W -Vehicle.Exterior.Humidity: +Vehicle.ControlUnit.FrontLeft.Health.Resources.Temperature: datatype: float - description: Relative humidity outside the vehicle. 0 = Dry, 100 = Air fully saturated. + description: Instance temperature + type: sensor + unit: Celsius + +Vehicle.ControlUnit.FrontLeft.Health.Resources.Utilization: + description: Resources utilization branch + type: branch + +Vehicle.ControlUnit.FrontLeft.Health.Resources.Utilization.CPU: + datatype: float + description: CPU utilization max: 100 min: 0 type: sensor unit: percent - uuid: 6c785ec5d9a5534f98be7ce198d25d6b -Vehicle.Exterior.LightIntensity: - comment: Mapping to physical units and calculation method is sensor specific. +Vehicle.ControlUnit.FrontLeft.Health.Resources.Utilization.Memory: datatype: float - description: Light intensity outside the vehicle. 0 = No light detected, 100 = Fully lit. + description: Memory utilization max: 100 min: 0 type: sensor unit: percent - uuid: 9b46b70490f853e891e1cc35dd08dddc -Vehicle.GrossWeight: - datatype: uint16 - default: 0 - description: Curb weight of vehicle, including all liquids and full tank of fuel and full load of cargo and passengers. - type: attribute - unit: kg - uuid: 9671cb551dd8570fbe5d7cd797265e6a +Vehicle.ControlUnit.FrontLeft.Health.SWSupervision: + description: SW supervision attributes and signals + type: branch -Vehicle.Height: - datatype: uint16 - default: 0 - description: Overall vehicle height. - type: attribute - unit: mm - uuid: 9784d39f68b8541f90c355178ded7d7c +Vehicle.ControlUnit.FrontLeft.Health.SWSupervision.IsAliveTriggered: + datatype: boolean + description: Whether the alive supervision was triggered + type: sensor -Vehicle.IsAutoPowerOptimize: +Vehicle.ControlUnit.FrontLeft.Health.SWSupervision.IsDeadlineTriggered: datatype: boolean - description: Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed. - type: actuator - uuid: 233a02ed58b65171907e0d395cbe1b5f + description: Whether the deadline supervision was triggered + type: sensor -Vehicle.IsBrokenDown: - comment: Actual criteria and method used to decide if a vehicle is broken down is implementation specific. +Vehicle.ControlUnit.FrontLeft.Health.SWSupervision.IsLogicalTriggered: datatype: boolean - description: Vehicle breakdown or any similar event causing vehicle to stop on the road, that might pose a risk to other road users. True = Vehicle broken down on the road, due to e.g. engine problems, flat tire, out of gas, brake problems. False = Vehicle not broken down. + description: Whether the logical supervision was triggered type: sensor - uuid: 469ebd2a76b45e5b97b799262a085330 -Vehicle.IsMoving: +Vehicle.ControlUnit.FrontLeft.Health.SWSupervision.IsWatchdogTriggered: datatype: boolean - description: Indicates whether the vehicle is stationary or moving. + description: Whether the watchdog deadline was triggered type: sensor - uuid: db69549cc7375e919c2a2883b41cd19c -Vehicle.Length: - datatype: uint16 +Vehicle.ControlUnit.FrontLeft.ID: + datatype: uint8 default: 0 - description: Overall vehicle length. + description: Control unit ID type: attribute - unit: mm - uuid: 885f1be6842a513582e52a42edb3176f -Vehicle.LowVoltageBattery: - description: Signals related to low voltage battery. +Vehicle.ControlUnit.FrontRight: + comment: The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed + description: Root of the control unit branch type: branch - uuid: ab8c5816d44f55b68f6e1d6d9e5acb0b - -Vehicle.LowVoltageBattery.CurrentCurrent: - datatype: float - description: Current current flowing in/out of the low voltage battery. Positive = Current flowing in to battery, e.g. during charging or driving. Negative = Current flowing out of battery, e.g. when using the battery to start a combustion engine. - type: sensor - unit: A - uuid: e1d76e489d505b03ace30771ba4291b1 -Vehicle.LowVoltageBattery.CurrentVoltage: - datatype: float - description: Current Voltage of the low voltage battery. - type: sensor - unit: V - uuid: 1394234e8b975a279959ae82e03df786 +Vehicle.ControlUnit.FrontRight.Health: + description: Health attributes and signals + type: branch -Vehicle.LowVoltageBattery.NominalCapacity: - datatype: uint16 - description: Nominal capacity of the low voltage battery. - type: attribute - unit: Ah - uuid: d9f32612cb2f58d3b863a0dae21ff7af +Vehicle.ControlUnit.FrontRight.Health.Network: + description: Network attributes and signals + type: branch -Vehicle.LowVoltageBattery.NominalVoltage: - comment: Nominal voltage typically refers to voltage of fully charged battery when delivering rated capacity. - datatype: uint16 - description: Nominal Voltage of the battery. - type: attribute - unit: V - uuid: bd5d4b6ee33f507fb49782505c3040e0 +Vehicle.ControlUnit.FrontRight.Health.Network.CAN: + description: CAN network attributes and signals + type: branch -Vehicle.LowVoltageSystemState: - allowed: - - UNDEFINED - - LOCK - - 'OFF' - - ACC - - 'ON' - - START - datatype: string - description: State of the supply voltage of the control units (usually 12V). +Vehicle.ControlUnit.FrontRight.Health.Network.CAN.IsNetworkOK: + datatype: boolean + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - uuid: d7391ceb132e5519b02d4c13d5513d99 -Vehicle.MaxTowBallWeight: - datatype: uint16 - default: 0 - description: Maximum vertical weight on the tow ball of a trailer. - type: attribute - unit: kg - uuid: fec550f2064750e8b65b54fbf1368d68 +Vehicle.ControlUnit.FrontRight.Health.Network.ETH: + description: Ethernet network attributes and signals + type: branch -Vehicle.MaxTowWeight: - datatype: uint16 - default: 0 - description: Maximum weight of trailer. - type: attribute - unit: kg - uuid: a1b8fd65897654aa8a418bccf443f1f3 +Vehicle.ControlUnit.FrontRight.Health.Network.ETH.IsNetworkOK: + datatype: boolean + description: Network status. True = No network problems detected. False = Network problems detected. + type: sensor -Vehicle.OBD: - description: OBD data. +Vehicle.ControlUnit.FrontRight.Health.Resources: + description: Resources attributes and signals type: branch - uuid: 7ad7c512ed5d52c8b31944d2d47a4bc3 -Vehicle.OBD.AbsoluteLoad: +Vehicle.ControlUnit.FrontRight.Health.Resources.Power: datatype: float - description: PID 43 - Absolute load value + description: Power consumption type: sensor - unit: percent - uuid: b3dd889a42ce5de9a7904b7196ae325c + unit: W -Vehicle.OBD.AcceleratorPositionD: +Vehicle.ControlUnit.FrontRight.Health.Resources.Temperature: datatype: float - description: PID 49 - Accelerator pedal position D + description: Instance temperature type: sensor - unit: percent - uuid: 7e63256081ac5a7b8a28a6fa3c2c2ff9 + unit: Celsius + +Vehicle.ControlUnit.FrontRight.Health.Resources.Utilization: + description: Resources utilization branch + type: branch -Vehicle.OBD.AcceleratorPositionE: +Vehicle.ControlUnit.FrontRight.Health.Resources.Utilization.CPU: datatype: float - description: PID 4A - Accelerator pedal position E + description: CPU utilization + max: 100 + min: 0 type: sensor unit: percent - uuid: 4104e7fc25355e25b4522d233565d84b -Vehicle.OBD.AcceleratorPositionF: +Vehicle.ControlUnit.FrontRight.Health.Resources.Utilization.Memory: datatype: float - description: PID 4B - Accelerator pedal position F + description: Memory utilization + max: 100 + min: 0 type: sensor unit: percent - uuid: 95f5c2a209a857ff930e2f8e32ac2d3f -Vehicle.OBD.AirStatus: - datatype: string - description: PID 12 - Secondary air status +Vehicle.ControlUnit.FrontRight.Health.SWSupervision: + description: SW supervision attributes and signals + type: branch + +Vehicle.ControlUnit.FrontRight.Health.SWSupervision.IsAliveTriggered: + datatype: boolean + description: Whether the alive supervision was triggered type: sensor - uuid: 548f65bf59ed505a86dfaa1c33342e4d -Vehicle.OBD.AmbientAirTemperature: - datatype: float - description: PID 46 - Ambient air temperature +Vehicle.ControlUnit.FrontRight.Health.SWSupervision.IsDeadlineTriggered: + datatype: boolean + description: Whether the deadline supervision was triggered type: sensor - unit: celsius - uuid: 220a90f183c5583ea8b8b6454d774517 -Vehicle.OBD.BarometricPressure: - datatype: float - description: PID 33 - Barometric pressure +Vehicle.ControlUnit.FrontRight.Health.SWSupervision.IsLogicalTriggered: + datatype: boolean + description: Whether the logical supervision was triggered type: sensor - unit: kPa - uuid: 1966bfff4d235767bfd9a21afb445ac7 -Vehicle.OBD.Catalyst: - description: Catalyst signals +Vehicle.ControlUnit.FrontRight.Health.SWSupervision.IsWatchdogTriggered: + datatype: boolean + description: Whether the watchdog deadline was triggered + type: sensor + +Vehicle.ControlUnit.FrontRight.ID: + datatype: uint8 + default: 0 + description: Control unit ID + type: attribute + +Vehicle.ControlUnit.RearLeft1: + comment: The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed + description: Root of the control unit branch type: branch - uuid: 4eb0b191d6445de081f3f3f759af31c2 -Vehicle.OBD.Catalyst.Bank1: - description: Catalyst bank 1 signals +Vehicle.ControlUnit.RearLeft1.Health: + description: Health attributes and signals type: branch - uuid: 0c3aaf014ba95b938b639d4202ef8b25 -Vehicle.OBD.Catalyst.Bank1.Temperature1: - datatype: float - description: PID 3C - Catalyst temperature from bank 1, sensor 1 +Vehicle.ControlUnit.RearLeft1.Health.Network: + description: Network attributes and signals + type: branch + +Vehicle.ControlUnit.RearLeft1.Health.Network.CAN: + description: CAN network attributes and signals + type: branch + +Vehicle.ControlUnit.RearLeft1.Health.Network.CAN.IsNetworkOK: + datatype: boolean + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - unit: celsius - uuid: 5a770f13939e5d069682d408f160a895 -Vehicle.OBD.Catalyst.Bank1.Temperature2: - datatype: float - description: PID 3E - Catalyst temperature from bank 1, sensor 2 +Vehicle.ControlUnit.RearLeft1.Health.Network.ETH: + description: Ethernet network attributes and signals + type: branch + +Vehicle.ControlUnit.RearLeft1.Health.Network.ETH.IsNetworkOK: + datatype: boolean + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - unit: celsius - uuid: ca9419a5d23b5937af23b51d823722fa -Vehicle.OBD.Catalyst.Bank2: - description: Catalyst bank 2 signals +Vehicle.ControlUnit.RearLeft1.Health.Resources: + description: Resources attributes and signals type: branch - uuid: 9a20459754755146a3b9608bf6384835 -Vehicle.OBD.Catalyst.Bank2.Temperature1: +Vehicle.ControlUnit.RearLeft1.Health.Resources.Power: datatype: float - description: PID 3D - Catalyst temperature from bank 2, sensor 1 + description: Power consumption type: sensor - unit: celsius - uuid: 011658e4ee89502c9a33877c92dbf888 + unit: W -Vehicle.OBD.Catalyst.Bank2.Temperature2: +Vehicle.ControlUnit.RearLeft1.Health.Resources.Temperature: datatype: float - description: PID 3F - Catalyst temperature from bank 2, sensor 2 + description: Instance temperature type: sensor - unit: celsius - uuid: f60c68f0ebca5fcf97086ce04e16d661 + unit: Celsius + +Vehicle.ControlUnit.RearLeft1.Health.Resources.Utilization: + description: Resources utilization branch + type: branch -Vehicle.OBD.CommandedEGR: +Vehicle.ControlUnit.RearLeft1.Health.Resources.Utilization.CPU: datatype: float - description: PID 2C - Commanded exhaust gas recirculation (EGR) + description: CPU utilization + max: 100 + min: 0 type: sensor unit: percent - uuid: 0265890a4a695ee6952c9b9f565ddaa5 -Vehicle.OBD.CommandedEVAP: +Vehicle.ControlUnit.RearLeft1.Health.Resources.Utilization.Memory: datatype: float - description: PID 2E - Commanded evaporative purge (EVAP) valve + description: Memory utilization + max: 100 + min: 0 type: sensor unit: percent - uuid: 5e6295d04a9159b88f4698b561b86842 -Vehicle.OBD.CommandedEquivalenceRatio: - datatype: float - description: PID 44 - Commanded equivalence ratio - type: sensor - unit: ratio - uuid: 104e39e816f65fa791d0afa24603292b +Vehicle.ControlUnit.RearLeft1.Health.SWSupervision: + description: SW supervision attributes and signals + type: branch -Vehicle.OBD.ControlModuleVoltage: - datatype: float - description: PID 42 - Control module voltage +Vehicle.ControlUnit.RearLeft1.Health.SWSupervision.IsAliveTriggered: + datatype: boolean + description: Whether the alive supervision was triggered type: sensor - unit: V - uuid: 59e072b932605ffc88a299c874d885c4 -Vehicle.OBD.CoolantTemperature: - datatype: float - description: PID 05 - Coolant temperature +Vehicle.ControlUnit.RearLeft1.Health.SWSupervision.IsDeadlineTriggered: + datatype: boolean + description: Whether the deadline supervision was triggered type: sensor - unit: celsius - uuid: 824892cdc72d5f92a38ef3136576edc8 -Vehicle.OBD.DTCList: - datatype: string[] - description: List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX ) +Vehicle.ControlUnit.RearLeft1.Health.SWSupervision.IsLogicalTriggered: + datatype: boolean + description: Whether the logical supervision was triggered type: sensor - uuid: eee1b64e69845d5ab5e793b74631f9dc -Vehicle.OBD.DistanceSinceDTCClear: - datatype: float - description: PID 31 - Distance traveled since codes cleared +Vehicle.ControlUnit.RearLeft1.Health.SWSupervision.IsWatchdogTriggered: + datatype: boolean + description: Whether the watchdog deadline was triggered type: sensor - unit: km - uuid: 0da628e2c69d561eb86216ddcb6e7b2a -Vehicle.OBD.DistanceWithMIL: - datatype: float - description: PID 21 - Distance traveled with MIL on - type: sensor - unit: km - uuid: a9a522e343f25522b08f11e81bb91349 +Vehicle.ControlUnit.RearLeft1.ID: + datatype: uint8 + default: 0 + description: Control unit ID + type: attribute -Vehicle.OBD.DriveCycleStatus: - description: PID 41 - OBD status for the current drive cycle +Vehicle.ControlUnit.RearLeft2: + comment: The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed + description: Root of the control unit branch type: branch - uuid: 5215e28062f75154822789b8a5f30630 -Vehicle.OBD.DriveCycleStatus.DTCCount: - datatype: uint8 - description: Number of sensor Trouble Codes (DTC) - type: sensor - uuid: 312856f746ff560e8098c19196964d3b +Vehicle.ControlUnit.RearLeft2.Health: + description: Health attributes and signals + type: branch -Vehicle.OBD.DriveCycleStatus.IgnitionType: - allowed: - - SPARK - - COMPRESSION - datatype: string - description: Type of the ignition for ICE - spark = spark plug ignition, compression = self-igniting (Diesel engines) - type: sensor - uuid: 1aeb7b6d025f5a8693104824abaa1c49 +Vehicle.ControlUnit.RearLeft2.Health.Network: + description: Network attributes and signals + type: branch + +Vehicle.ControlUnit.RearLeft2.Health.Network.CAN: + description: CAN network attributes and signals + type: branch -Vehicle.OBD.DriveCycleStatus.IsMILOn: +Vehicle.ControlUnit.RearLeft2.Health.Network.CAN.IsNetworkOK: datatype: boolean - description: Malfunction Indicator Light (MIL) - False = Off, True = On + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - uuid: e367394c9a075eef8fd66499e3d9cf14 -Vehicle.OBD.EGRError: - datatype: float - description: PID 2D - Exhaust gas recirculation (EGR) error - type: sensor - unit: percent - uuid: 80a7000c5c7b5444b5571a26264061e5 +Vehicle.ControlUnit.RearLeft2.Health.Network.ETH: + description: Ethernet network attributes and signals + type: branch -Vehicle.OBD.EVAPVaporPressure: - datatype: float - description: PID 32 - Evaporative purge (EVAP) system pressure +Vehicle.ControlUnit.RearLeft2.Health.Network.ETH.IsNetworkOK: + datatype: boolean + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - unit: Pa - uuid: 70b5dae2ffd0561eab73efed8ad2f0ad -Vehicle.OBD.EVAPVaporPressureAbsolute: - datatype: float - description: PID 53 - Absolute evaporative purge (EVAP) system pressure - type: sensor - unit: kPa - uuid: ef188a1e1a1356f7bc425081e3e00805 +Vehicle.ControlUnit.RearLeft2.Health.Resources: + description: Resources attributes and signals + type: branch -Vehicle.OBD.EVAPVaporPressureAlternate: +Vehicle.ControlUnit.RearLeft2.Health.Resources.Power: datatype: float - description: PID 54 - Alternate evaporative purge (EVAP) system pressure + description: Power consumption type: sensor - unit: Pa - uuid: 68eaba3c79975d61bc35b92cd3e5e8d0 + unit: W -Vehicle.OBD.EngineLoad: +Vehicle.ControlUnit.RearLeft2.Health.Resources.Temperature: datatype: float - description: PID 04 - Engine load in percent - 0 = no load, 100 = full load + description: Instance temperature type: sensor - unit: percent - uuid: a8fda8a1b4c6534aa49c447bafc1c700 + unit: Celsius + +Vehicle.ControlUnit.RearLeft2.Health.Resources.Utilization: + description: Resources utilization branch + type: branch -Vehicle.OBD.EngineSpeed: +Vehicle.ControlUnit.RearLeft2.Health.Resources.Utilization.CPU: datatype: float - description: PID 0C - Engine speed measured as rotations per minute + description: CPU utilization + max: 100 + min: 0 type: sensor - unit: rpm - uuid: b682eea93b3e5874ab3b52e95a1fad37 + unit: percent -Vehicle.OBD.EthanolPercent: +Vehicle.ControlUnit.RearLeft2.Health.Resources.Utilization.Memory: datatype: float - description: PID 52 - Percentage of ethanol in the fuel + description: Memory utilization + max: 100 + min: 0 type: sensor unit: percent - uuid: a207e7de17e1520c894b412af6f2522c -Vehicle.OBD.FreezeDTC: - datatype: string - description: PID 02 - DTC that triggered the freeze frame +Vehicle.ControlUnit.RearLeft2.Health.SWSupervision: + description: SW supervision attributes and signals + type: branch + +Vehicle.ControlUnit.RearLeft2.Health.SWSupervision.IsAliveTriggered: + datatype: boolean + description: Whether the alive supervision was triggered type: sensor - uuid: 5b87fae8dda4522aae209ae528960782 -Vehicle.OBD.FuelInjectionTiming: - datatype: float - description: PID 5D - Fuel injection timing +Vehicle.ControlUnit.RearLeft2.Health.SWSupervision.IsDeadlineTriggered: + datatype: boolean + description: Whether the deadline supervision was triggered type: sensor - unit: degrees - uuid: ab4869446f5357d6936838983e1b8949 -Vehicle.OBD.FuelLevel: - datatype: float - description: PID 2F - Fuel level in the fuel tank +Vehicle.ControlUnit.RearLeft2.Health.SWSupervision.IsLogicalTriggered: + datatype: boolean + description: Whether the logical supervision was triggered type: sensor - unit: percent - uuid: fd39813424ee5cd08c44714b35697287 -Vehicle.OBD.FuelPressure: - datatype: float - description: PID 0A - Fuel pressure +Vehicle.ControlUnit.RearLeft2.Health.SWSupervision.IsWatchdogTriggered: + datatype: boolean + description: Whether the watchdog deadline was triggered type: sensor - unit: kPa - uuid: 34e6b0689f025d7b9bfa1fc49bb30c0f -Vehicle.OBD.FuelRailPressureAbsolute: - datatype: float - description: PID 59 - Absolute fuel rail pressure +Vehicle.ControlUnit.RearLeft2.ID: + datatype: uint8 + default: 0 + description: Control unit ID + type: attribute + +Vehicle.ControlUnit.Trunk: + comment: The listed instances in the VSS standard catalog shall be seen as an example and can be customized as needed + description: Root of the control unit branch + type: branch + +Vehicle.ControlUnit.Trunk.Health: + description: Health attributes and signals + type: branch + +Vehicle.ControlUnit.Trunk.Health.Network: + description: Network attributes and signals + type: branch + +Vehicle.ControlUnit.Trunk.Health.Network.CAN: + description: CAN network attributes and signals + type: branch + +Vehicle.ControlUnit.Trunk.Health.Network.CAN.IsNetworkOK: + datatype: boolean + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - unit: kPa - uuid: 83c88b13d30153949eeca1b1180a9061 -Vehicle.OBD.FuelRailPressureDirect: - datatype: float - description: PID 23 - Fuel rail pressure direct inject +Vehicle.ControlUnit.Trunk.Health.Network.ETH: + description: Ethernet network attributes and signals + type: branch + +Vehicle.ControlUnit.Trunk.Health.Network.ETH.IsNetworkOK: + datatype: boolean + description: Network status. True = No network problems detected. False = Network problems detected. type: sensor - unit: kPa - uuid: 039cb7bf1a8356a98d09eaf4fc029fe9 -Vehicle.OBD.FuelRailPressureVac: +Vehicle.ControlUnit.Trunk.Health.Resources: + description: Resources attributes and signals + type: branch + +Vehicle.ControlUnit.Trunk.Health.Resources.Power: datatype: float - description: PID 22 - Fuel rail pressure relative to vacuum + description: Power consumption type: sensor - unit: kPa - uuid: b3b0adf44aa3572fa07e7434993e6458 + unit: W -Vehicle.OBD.FuelRate: +Vehicle.ControlUnit.Trunk.Health.Resources.Temperature: datatype: float - description: PID 5E - Engine fuel rate + description: Instance temperature type: sensor - unit: l/h - uuid: 4ab7c2b710f95ceb9c7d01d19dabac38 + unit: Celsius -Vehicle.OBD.FuelStatus: +Vehicle.ControlUnit.Trunk.Health.Resources.Utilization: + description: Resources utilization branch + type: branch + +Vehicle.ControlUnit.Trunk.Health.Resources.Utilization.CPU: + datatype: float + description: CPU utilization + max: 100 + min: 0 + type: sensor + unit: percent + +Vehicle.ControlUnit.Trunk.Health.Resources.Utilization.Memory: + datatype: float + description: Memory utilization + max: 100 + min: 0 + type: sensor + unit: percent + +Vehicle.ControlUnit.Trunk.Health.SWSupervision: + description: SW supervision attributes and signals + type: branch + +Vehicle.ControlUnit.Trunk.Health.SWSupervision.IsAliveTriggered: + datatype: boolean + description: Whether the alive supervision was triggered + type: sensor + +Vehicle.ControlUnit.Trunk.Health.SWSupervision.IsDeadlineTriggered: + datatype: boolean + description: Whether the deadline supervision was triggered + type: sensor + +Vehicle.ControlUnit.Trunk.Health.SWSupervision.IsLogicalTriggered: + datatype: boolean + description: Whether the logical supervision was triggered + type: sensor + +Vehicle.ControlUnit.Trunk.Health.SWSupervision.IsWatchdogTriggered: + datatype: boolean + description: Whether the watchdog deadline was triggered + type: sensor + +Vehicle.ControlUnit.Trunk.ID: + datatype: uint8 + default: 0 + description: Control unit ID + type: attribute + +Vehicle.CurbWeight: + datatype: uint16 + default: 0 + description: Vehicle curb weight, including all liquids and full tank of fuel, but no cargo or passengers. + type: attribute + unit: kg + +Vehicle.CurrentLocation: + description: The current latitude and longitude of the vehicle. + type: branch + +Vehicle.CurrentLocation.Altitude: + datatype: double + description: Current altitude relative to WGS 84 reference ellipsoid, as measured at the position of GNSS receiver antenna. + type: sensor + unit: m + +Vehicle.CurrentLocation.GNSSReceiver: + description: Information on the GNSS receiver used for determining current location. + type: branch + +Vehicle.CurrentLocation.GNSSReceiver.FixType: + allowed: + - NONE + - TWO_D + - TWO_D_SATELLITE_BASED_AUGMENTATION + - TWO_D_GROUND_BASED_AUGMENTATION + - TWO_D_SATELLITE_AND_GROUND_BASED_AUGMENTATION + - THREE_D + - THREE_D_SATELLITE_BASED_AUGMENTATION + - THREE_D_GROUND_BASED_AUGMENTATION + - THREE_D_SATELLITE_AND_GROUND_BASED_AUGMENTATION datatype: string - description: PID 03 - Fuel status + description: Fix status of GNSS receiver. + type: sensor + +Vehicle.CurrentLocation.GNSSReceiver.MountingPosition: + description: Mounting position of GNSS receiver antenna relative to vehicle coordinate system. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. + type: branch + +Vehicle.CurrentLocation.GNSSReceiver.MountingPosition.X: + datatype: int16 + description: Mounting position of GNSS receiver antenna relative to vehicle coordinate system. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. Positive values = forward of rear axle. Negative values = backward of rear axle. + type: attribute + unit: mm + +Vehicle.CurrentLocation.GNSSReceiver.MountingPosition.Y: + datatype: int16 + description: Mounting position of GNSS receiver antenna relative to vehicle coordinate system. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. Positive values = left of origin. Negative values = right of origin. Left/Right is as seen from driver perspective, i.e. by a person looking forward. + type: attribute + unit: mm + +Vehicle.CurrentLocation.GNSSReceiver.MountingPosition.Z: + datatype: int16 + description: Mounting position of GNSS receiver on Z-axis. Axis definitions according to ISO 8855. Origin at center of (first) rear axle. Positive values = above center of rear axle. Negative values = below center of rear axle. + type: attribute + unit: mm + +Vehicle.CurrentLocation.Heading: + datatype: double + description: Current heading relative to geographic north. 0 = North, 90 = East, 180 = South, 270 = West. + max: 360 + min: 0 + type: sensor + unit: degrees + +Vehicle.CurrentLocation.HorizontalAccuracy: + datatype: double + description: Accuracy of the latitude and longitude coordinates. + type: sensor + unit: m + +Vehicle.CurrentLocation.Latitude: + datatype: double + description: Current latitude of vehicle in WGS 84 geodetic coordinates, as measured at the position of GNSS receiver antenna. + max: 90 + min: -90 + type: sensor + unit: degrees + +Vehicle.CurrentLocation.Longitude: + datatype: double + description: Current longitude of vehicle in WGS 84 geodetic coordinates, as measured at the position of GNSS receiver antenna. + max: 180 + min: -180 + type: sensor + unit: degrees + +Vehicle.CurrentLocation.Timestamp: + datatype: string + description: Timestamp from GNSS system for current location, formatted according to ISO 8601 with UTC time zone. + type: sensor + unit: iso8601 + +Vehicle.CurrentLocation.VerticalAccuracy: + datatype: double + description: Accuracy of altitude. type: sensor - uuid: 15fa2f3f667a5f5786eda5c83435ef16 + unit: m + +Vehicle.CurrentOverallWeight: + datatype: uint16 + description: Current overall Vehicle weight. Including passengers, cargo and other load inside the car. + type: sensor + unit: kg + +Vehicle.Diagnostics: + description: Diagnostics data. + type: branch -Vehicle.OBD.FuelType: +Vehicle.Diagnostics.DTCCount: datatype: uint8 - description: PID 51 - Fuel type - max: 23 + description: Number of Diagnostic Trouble Codes (DTC) + type: sensor + +Vehicle.Diagnostics.DTCList: + datatype: string[] + description: List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX ) + type: sensor + +Vehicle.Driver: + description: Driver data. + type: branch + +Vehicle.Driver.AttentiveProbability: + datatype: float + description: Probability of attentiveness of the driver. + max: 100 min: 0 - type: attribute - uuid: aefb45bdd8035904b0c8f3ffcedc53a9 + type: sensor + unit: percent -Vehicle.OBD.HybridBatteryRemaining: +Vehicle.Driver.DistractionLevel: datatype: float - description: PID 5B - Remaining life of hybrid battery + description: Distraction level of the driver, which can be evaluated by multiple factors e.g. driving situation, acoustical or optical signals inside the cockpit, ongoing phone calls. + max: 100 + min: 0 type: sensor unit: percent - uuid: c9517b6243df5e8d8f3aa3e57f71ec37 -Vehicle.OBD.IntakeTemp: +Vehicle.Driver.FatigueLevel: datatype: float - description: PID 0F - Intake temperature + description: Fatigue level of the driver, which can be evaluated by multiple factors e.g. trip time, behaviour of steering, eye status. + max: 100 + min: 0 + type: sensor + unit: percent + +Vehicle.Driver.HeartRate: + datatype: uint16 + description: Heart rate of the driver. + type: sensor + unit: bpm + +Vehicle.Driver.IsEyesOnRoad: + datatype: boolean + description: Has driver the eyes on road or not? type: sensor - unit: celsius - uuid: 7c108305178b5854b430a23e125588bd -Vehicle.OBD.IsPTOActive: +Vehicle.Driver.IsHandsOnWheel: datatype: boolean - description: PID 1E - Auxiliary input status (power take off) + description: Are the driver's hands on the steering wheel or not? type: sensor - uuid: ce291dc40bba5a969e57b17f11ae23a9 -Vehicle.OBD.LongTermFuelTrim1: +Vehicle.EmissionsCO2: + datatype: int16 + description: The CO2 emissions. + type: attribute + unit: g/km + +Vehicle.Exterior: + description: Information about exterior measured by vehicle. + type: branch + +Vehicle.Exterior.AirTemperature: datatype: float - description: PID 07 - Long Term (learned) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer + description: Air temperature outside the vehicle. type: sensor - unit: percent - uuid: 1c203b11667150f0b4ee1be26a60c084 + unit: Celsius -Vehicle.OBD.LongTermFuelTrim2: +Vehicle.Exterior.Humidity: datatype: float - description: PID 09 - Long Term (learned) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer + description: Relative humidity outside the vehicle. 0 = Dry, 100 = Air fully saturated. + max: 100 + min: 0 type: sensor unit: percent - uuid: b02aff2efce05632b5694a256e5b9ec7 -Vehicle.OBD.LongTermO2Trim1: +Vehicle.Exterior.LightIntensity: + comment: Mapping to physical units and calculation method is sensor specific. datatype: float - description: PID 56 (byte A) - Long term secondary O2 trim - Bank 1 + description: Light intensity outside the vehicle. 0 = No light detected, 100 = Fully lit. + max: 100 + min: 0 type: sensor unit: percent - uuid: 9a9586e29a02567e9920cb9b0aa2e3f5 -Vehicle.OBD.LongTermO2Trim2: +Vehicle.GrossWeight: + datatype: uint16 + default: 0 + description: Curb weight of vehicle, including all liquids and full tank of fuel and full load of cargo and passengers. + type: attribute + unit: kg + +Vehicle.Height: + datatype: uint16 + default: 0 + description: Overall vehicle height. + type: attribute + unit: mm + +Vehicle.IsAutoPowerOptimize: + datatype: boolean + description: Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed. + type: actuator + +Vehicle.IsBrokenDown: + comment: Actual criteria and method used to decide if a vehicle is broken down is implementation specific. + datatype: boolean + description: Vehicle breakdown or any similar event causing vehicle to stop on the road, that might pose a risk to other road users. True = Vehicle broken down on the road, due to e.g. engine problems, flat tire, out of gas, brake problems. False = Vehicle not broken down. + type: sensor + +Vehicle.IsMoving: + datatype: boolean + description: Indicates whether the vehicle is stationary or moving. + type: sensor + +Vehicle.Length: + datatype: uint16 + default: 0 + description: Overall vehicle length. + type: attribute + unit: mm + +Vehicle.LowVoltageBattery: + description: Signals related to low voltage battery. + type: branch + +Vehicle.LowVoltageBattery.CurrentCurrent: datatype: float - description: PID 58 (byte A) - Long term secondary O2 trim - Bank 2 + description: Current current flowing in/out of the low voltage battery. Positive = Current flowing in to battery, e.g. during charging or driving. Negative = Current flowing out of battery, e.g. when using the battery to start a combustion engine. type: sensor - unit: percent - uuid: e579f6c930605b389e8ce2d7edd92999 + unit: A -Vehicle.OBD.LongTermO2Trim3: +Vehicle.LowVoltageBattery.CurrentVoltage: datatype: float - description: PID 56 (byte B) - Long term secondary O2 trim - Bank 3 + description: Current Voltage of the low voltage battery. type: sensor + unit: V + +Vehicle.LowVoltageBattery.NominalCapacity: + datatype: uint16 + description: Nominal capacity of the low voltage battery. + type: attribute + unit: Ah + +Vehicle.LowVoltageBattery.NominalVoltage: + comment: Nominal voltage typically refers to voltage of fully charged battery when delivering rated capacity. + datatype: uint16 + description: Nominal Voltage of the battery. + type: attribute + unit: V + +Vehicle.LowVoltageSystemState: + allowed: + - UNDEFINED + - LOCK + - 'OFF' + - ACC + - 'ON' + - START + datatype: string + description: State of the supply voltage of the control units (usually 12V). + type: sensor + +Vehicle.MaxTowBallWeight: + datatype: uint16 + default: 0 + description: Maximum vertical weight on the tow ball of a trailer. + type: attribute + unit: kg + +Vehicle.MaxTowWeight: + datatype: uint16 + default: 0 + description: Maximum weight of trailer. + type: attribute + unit: kg + +Vehicle.MotionManagement: + description: Motion Management Information. + type: branch + +Vehicle.MotionManagement.Brake: + description: MotionManagement related to braking (both frictions brakes and contribution from electric axles). + type: branch + +Vehicle.MotionManagement.Brake.Axle: + description: MotionManagement for brake actuation for a specific electric axle. + type: branch + +Vehicle.MotionManagement.Brake.Axle.Row1: + description: MotionManagement for brake actuation for a specific electric axle. + type: branch + +Vehicle.MotionManagement.Brake.Axle.Row1.TorqueDistributionFrictionRightMaximum: + datatype: uint16 + description: Maximum distribution range of the friction brake request on the axle to the right wheel. 0% = Complete friction torque shall be shifted to the left wheel. 50% = At most 50% friction torque may be shifted to the right wheel. 100% = Complete friction torque may be shifted to the right wheel. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Brake.Axle.Row1.TorqueDistributionFrictionRightMinimum: + datatype: uint16 + description: Minimum distribution range of the friction brake request on the axle to the right wheel. 0% = Complete friction torque may be shifted to the left wheel. 50% = At least 50% friction torque shall be shifted to the right wheel. 100% = Complete friction torque shall be shifted to the right wheel. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Brake.Axle.Row1.TorqueElectricMinimum: + datatype: int16 + description: Limit for regenerative brake torque at given axle. Brake Torque < 0Nm. + max: 0 + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row1.TorqueFrictionDifferenceMaximum: + datatype: uint16 + description: Maximum absolute wheel torque difference between left and right wheel for friction brake. + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Left: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Left.OmegaLower: + datatype: uint16 + description: Lower wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity. + type: actuator + unit: rad/s + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Left.OmegaUpper: + datatype: uint16 + description: Upper wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity. + type: actuator + unit: rad/s + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Left.Torque: + datatype: int16 + description: Estimated friction brake torque. Brake Torque < 0Nm. + max: 0 + type: sensor + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Left.TorqueArbitrated: + datatype: int16 + description: Brake system internally calculated friction brake torque target. Brake Torque < 0Nm. + max: 0 + type: sensor + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Left.TorqueFrictionMaximum: + datatype: int16 + description: Maximum wheel torque request for friction brake. Brake Torque < 0Nm. + max: 0 + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Left.TorqueFrictionMinimum: + datatype: int16 + description: Minimum wheel torque request for friction brake. Brake Torque < 0Nm. + max: 0 + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Right: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Right.OmegaLower: + datatype: uint16 + description: Lower wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity. + type: actuator + unit: rad/s + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Right.OmegaUpper: + datatype: uint16 + description: Upper wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity. + type: actuator + unit: rad/s + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Right.Torque: + datatype: int16 + description: Estimated friction brake torque. Brake Torque < 0Nm. + max: 0 + type: sensor + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Right.TorqueArbitrated: + datatype: int16 + description: Brake system internally calculated friction brake torque target. Brake Torque < 0Nm. + max: 0 + type: sensor + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Right.TorqueFrictionMaximum: + datatype: int16 + description: Maximum wheel torque request for friction brake. Brake Torque < 0Nm. + max: 0 + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row1.Wheel.Right.TorqueFrictionMinimum: + datatype: int16 + description: Minimum wheel torque request for friction brake. Brake Torque < 0Nm. + max: 0 + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row2: + description: MotionManagement for brake actuation for a specific electric axle. + type: branch + +Vehicle.MotionManagement.Brake.Axle.Row2.TorqueDistributionFrictionRightMaximum: + datatype: uint16 + description: Maximum distribution range of the friction brake request on the axle to the right wheel. 0% = Complete friction torque shall be shifted to the left wheel. 50% = At most 50% friction torque may be shifted to the right wheel. 100% = Complete friction torque may be shifted to the right wheel. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Brake.Axle.Row2.TorqueDistributionFrictionRightMinimum: + datatype: uint16 + description: Minimum distribution range of the friction brake request on the axle to the right wheel. 0% = Complete friction torque may be shifted to the left wheel. 50% = At least 50% friction torque shall be shifted to the right wheel. 100% = Complete friction torque shall be shifted to the right wheel. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Brake.Axle.Row2.TorqueElectricMinimum: + datatype: int16 + description: Limit for regenerative brake torque at given axle. Brake Torque < 0Nm. + max: 0 + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row2.TorqueFrictionDifferenceMaximum: + datatype: uint16 + description: Maximum absolute wheel torque difference between left and right wheel for friction brake. + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Left: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Left.OmegaLower: + datatype: uint16 + description: Lower wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity. + type: actuator + unit: rad/s + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Left.OmegaUpper: + datatype: uint16 + description: Upper wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity. + type: actuator + unit: rad/s + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Left.Torque: + datatype: int16 + description: Estimated friction brake torque. Brake Torque < 0Nm. + max: 0 + type: sensor + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Left.TorqueArbitrated: + datatype: int16 + description: Brake system internally calculated friction brake torque target. Brake Torque < 0Nm. + max: 0 + type: sensor + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Left.TorqueFrictionMaximum: + datatype: int16 + description: Maximum wheel torque request for friction brake. Brake Torque < 0Nm. + max: 0 + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Left.TorqueFrictionMinimum: + datatype: int16 + description: Minimum wheel torque request for friction brake. Brake Torque < 0Nm. + max: 0 + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Right: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Right.OmegaLower: + datatype: uint16 + description: Lower wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity. + type: actuator + unit: rad/s + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Right.OmegaUpper: + datatype: uint16 + description: Upper wheel speed limit request controlled by friction brake. ISO 8855 wheel-spin velocity. + type: actuator + unit: rad/s + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Right.Torque: + datatype: int16 + description: Estimated friction brake torque. Brake Torque < 0Nm. + max: 0 + type: sensor + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Right.TorqueArbitrated: + datatype: int16 + description: Brake system internally calculated friction brake torque target. Brake Torque < 0Nm. + max: 0 + type: sensor + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Right.TorqueFrictionMaximum: + datatype: int16 + description: Maximum wheel torque request for friction brake. Brake Torque < 0Nm. + max: 0 + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.Axle.Row2.Wheel.Right.TorqueFrictionMinimum: + datatype: int16 + description: Minimum wheel torque request for friction brake. Brake Torque < 0Nm. + max: 0 + type: actuator + unit: Nm + +Vehicle.MotionManagement.Brake.VehicleForceDistributionFrontMaximum: + datatype: uint16 + description: Maximum distribution range request of FxWhlSum to front axle. 0% = Complete longitudinal brake force shall be shifted to rear axle. 50% = At most 50% shall be shifted to front axle. 100% = Complete longitudinal brake force may be shifted to front axle. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Brake.VehicleForceDistributionFrontMinimum: + datatype: uint16 + description: Minimum distribution range request of FxWhlSum to front axle. 0% = Complete longitudinal brake force may be shifted to rear axle. 50% = At least 50% shall be shifted to front axle. 100% = Complete longitudinal brake force shall be shifted to front axle. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Brake.VehicleForceElectric: + datatype: int16 + description: Regenerative brake force request (FxWhlSum). Sum of all tyre longitudinal forces. Brake Force < 0N. + max: 0 + type: actuator + unit: N + +Vehicle.MotionManagement.Brake.VehicleForceElectricMinimumArbitrated: + datatype: int16 + description: Brake system internally calculated regenerative force limit at vehicle level for eAxle actuation. Brake Force < 0N. + max: 0 + type: sensor + unit: N + +Vehicle.MotionManagement.Brake.VehicleForceMaximum: + datatype: int16 + description: Maximum longitudinal brake force request (FxWhlSum). Sum of all tyre longitudinal forces. Brake Force < 0N. + max: 0 + type: actuator + unit: N + +Vehicle.MotionManagement.ElectricAxle: + description: MotionManagement for a specific electric axle. + type: branch + +Vehicle.MotionManagement.ElectricAxle.Row1: + description: MotionManagement for a specific electric axle. + type: branch + +Vehicle.MotionManagement.ElectricAxle.Row1.RotationalSpeed: + datatype: int16 + description: Rotational speed for the specified axle, positive sign for rotation in forward direction, negative sign for rotation in backward direction. + type: sensor + unit: rpm + +Vehicle.MotionManagement.ElectricAxle.Row1.RotationalSpeedMaximumLimit: + datatype: int16 + description: Maximum allowed axle rotational speed in torque control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction. + type: actuator + unit: rpm + +Vehicle.MotionManagement.ElectricAxle.Row1.RotationalSpeedMinimumLimit: + datatype: int16 + description: Minimum allowed axle rotational speed in torque control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction. + type: actuator + unit: rpm + +Vehicle.MotionManagement.ElectricAxle.Row1.RotationalSpeedTarget: + datatype: int16 + description: Target axle rotational speed in rotation speed control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction. + type: actuator + unit: rpm + +Vehicle.MotionManagement.ElectricAxle.Row1.Torque: + datatype: int16 + description: Axle torque, positive sign for torque in forward direction, negative sign for torque in backward direction. + type: sensor + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row1.TorqueMaximum: + datatype: int16 + description: Maximum momentarily available eAxle torque, positive sign for torque in forward direction, negative sign for torque in backward direction. + type: sensor + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row1.TorqueMaximumLimit: + datatype: int16 + description: Maximum allowed eAxle torque in rotation speed control mode, positive sign for torque in forward direction, negative sign unused. + type: actuator + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row1.TorqueMinimum: + datatype: int16 + description: Minimum momentarily available eAxle torque, positive sign for torque in forward direction, negative sign for torque in backward direction. + type: sensor + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row1.TorqueMinimumLimit: + datatype: int16 + description: Minimum allowed axle torque in rotation speed control mode, positive sign unused, negative sign for torque in backward direction (ISO8855). + type: actuator + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row1.TorqueTarget: + datatype: int16 + description: Target axle torque in torque control mode, positive sign for torque in forward direction, negative sign for torque in backward direction (ISO8855). + type: actuator + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row2: + description: MotionManagement for a specific electric axle. + type: branch + +Vehicle.MotionManagement.ElectricAxle.Row2.RotationalSpeed: + datatype: int16 + description: Rotational speed for the specified axle, positive sign for rotation in forward direction, negative sign for rotation in backward direction. + type: sensor + unit: rpm + +Vehicle.MotionManagement.ElectricAxle.Row2.RotationalSpeedMaximumLimit: + datatype: int16 + description: Maximum allowed axle rotational speed in torque control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction. + type: actuator + unit: rpm + +Vehicle.MotionManagement.ElectricAxle.Row2.RotationalSpeedMinimumLimit: + datatype: int16 + description: Minimum allowed axle rotational speed in torque control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction. + type: actuator + unit: rpm + +Vehicle.MotionManagement.ElectricAxle.Row2.RotationalSpeedTarget: + datatype: int16 + description: Target axle rotational speed in rotation speed control mode, positive sign for rotation in forward direction, negative sign for rotation in backward direction. + type: actuator + unit: rpm + +Vehicle.MotionManagement.ElectricAxle.Row2.Torque: + datatype: int16 + description: Axle torque, positive sign for torque in forward direction, negative sign for torque in backward direction. + type: sensor + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row2.TorqueMaximum: + datatype: int16 + description: Maximum momentarily available eAxle torque, positive sign for torque in forward direction, negative sign for torque in backward direction. + type: sensor + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row2.TorqueMaximumLimit: + datatype: int16 + description: Maximum allowed eAxle torque in rotation speed control mode, positive sign for torque in forward direction, negative sign unused. + type: actuator + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row2.TorqueMinimum: + datatype: int16 + description: Minimum momentarily available eAxle torque, positive sign for torque in forward direction, negative sign for torque in backward direction. + type: sensor + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row2.TorqueMinimumLimit: + datatype: int16 + description: Minimum allowed axle torque in rotation speed control mode, positive sign unused, negative sign for torque in backward direction (ISO8855). + type: actuator + unit: Nm + +Vehicle.MotionManagement.ElectricAxle.Row2.TorqueTarget: + datatype: int16 + description: Target axle torque in torque control mode, positive sign for torque in forward direction, negative sign for torque in backward direction (ISO8855). + type: actuator + unit: Nm + +Vehicle.MotionManagement.Steering: + description: MotionManagement related to steering. + type: branch + +Vehicle.MotionManagement.Steering.Axle: + description: MotionManagement related to a specific axle. + type: branch + +Vehicle.MotionManagement.Steering.Axle.Row1: + description: MotionManagement related to front axle. + type: branch + +Vehicle.MotionManagement.Steering.Axle.Row1.PositionOffsetTargetMode: + datatype: uint8 + description: Mode used for controlling position offset interface of axle steering actuator. 0 indicates interface disabled. Other values activate vehicle specific modes. + type: actuator + +Vehicle.MotionManagement.Steering.Axle.Row1.PositionTargetMode: + datatype: uint8 + description: Mode used for controlling position interface of axle steering actuator. 0 indicates interface disabled. Other values activate vehicle specific modes. + type: actuator + +Vehicle.MotionManagement.Steering.Axle.Row1.RackPosition: + comment: Alternative signal to SteerAngle. + datatype: int16 + description: Represents the current position of the steering rack on axle steering actuator. Positive values leads to a left turn of the vehicle (based on ISO8855). + type: sensor + unit: mm + +Vehicle.MotionManagement.Steering.Axle.Row1.RackPositionOffsetTarget: + comment: Alternative signal to SteerAngleOffsetTarget. + datatype: int16 + description: Rack position offset request to the axle steering actuator (for steer-by-wire), added to the actuator internal calculated set-point. Positive values without internal calculated set point change lead to a left movement of the vehicle (based on ISO8855). + type: actuator + unit: mm + +Vehicle.MotionManagement.Steering.Axle.Row1.RackPositionTarget: + comment: Alternative signal to SteerAngleTarget. + datatype: int16 + description: Rack position request to the axle steering actuator (external set-point). Positive values lead to a left turn of the vehicle (based on ISO8855). + type: actuator + unit: mm + +Vehicle.MotionManagement.Steering.Axle.Row1.SteerAngle: + comment: Alternative signal to RackPosition. + datatype: int16 + description: Represents the current actuated steering angle of the steered wheels. Signal orientation according ISO8855, single track model. + type: sensor + unit: degrees + +Vehicle.MotionManagement.Steering.Axle.Row1.SteerAngleOffsetTarget: + comment: Alternative signal to RackPositionOffsetTarget. + datatype: int16 + description: Steer angle offset request to the axle steering actuator (for steer-by-wire), added to the actuator internal calculated set-point. Signal orientation according ISO8855, single track model. + type: actuator + unit: degrees + +Vehicle.MotionManagement.Steering.Axle.Row1.SteerAngleTarget: + comment: Alternative signal to RackPositionTarget. + datatype: int16 + description: Steer angle request to the axle steering actuator (external set-point). Signal orientation according ISO8855, single track model. + type: actuator + unit: degrees + +Vehicle.MotionManagement.Steering.Axle.Row2: + description: MotionManagement related to rear axle. + type: branch + +Vehicle.MotionManagement.Steering.Axle.Row2.SteerAngle: + datatype: int16 + description: Represents the current actuated steering angle of the steered wheels on rear axle. Signal orientation according ISO8855, single track model. + type: sensor + unit: degrees + +Vehicle.MotionManagement.Steering.Axle.Row2.SteerAngleTarget: + datatype: int16 + description: Steer angle request to the rear axle steering actuator (external set-point). Signal orientation according ISO8855, single track model. + type: actuator + unit: degrees + +Vehicle.MotionManagement.Steering.Axle.Row2.SteerAngleVelocityTarget: + datatype: int16 + description: Requested velocity for steer angle change. Signal orientation according ISO8855. Optional signal to adapt rear wheel steering closed loop control gain. + type: actuator + unit: degrees/s + +Vehicle.MotionManagement.Steering.SteeringWheel: + description: MotionManagement related to steering wheel. + type: branch + +Vehicle.MotionManagement.Steering.SteeringWheel.Angle: + datatype: int16 + description: Represents the current input angle of the steering system, typically corresponds to angle applied by driver on the steering-wheel. Positive for angle in counterclockwise direction (based on ISO8855). + type: sensor + unit: degrees + +Vehicle.MotionManagement.Steering.SteeringWheel.AngleTarget: + datatype: int16 + description: Steering-wheel angle request to the steering actuator (external set-point for steer-by-wire). Positive sign for angle in counterclockwise direction (based on ISO8855). + type: actuator + unit: degrees + +Vehicle.MotionManagement.Steering.SteeringWheel.AngleTargetMode: + datatype: uint8 + description: Mode used for controlling Steering-wheel angle interface. 0 indicates interface disabled. Other values activate vehicle specific modes. + type: actuator + +Vehicle.MotionManagement.Steering.SteeringWheel.Torque: + datatype: int16 + description: Represents the current input torque for steering system, typically corresponds to torque applied by driver on the steering wheel. Positive for torque in counterclockwise direction (based on ISO8855). + type: sensor + unit: Nm + +Vehicle.MotionManagement.Steering.SteeringWheel.TorqueOffsetTarget: + datatype: int16 + description: Steering-wheel torque offset request to the steering actuator, added to the actuator internal calculated target value. Positive sign for torque in counterclockwise direction (based on ISO8855). + type: actuator + unit: Nm + +Vehicle.MotionManagement.Steering.SteeringWheel.TorqueOffsetTargetMode: + datatype: uint8 + description: Mode used for controlling steering-wheel torque offset interface. 0 indicates interface disabled. Other values activate vehicle specific modes. + type: actuator + +Vehicle.MotionManagement.Steering.SteeringWheel.TorqueTarget: + datatype: int16 + description: Steering-wheel torque request to the steering actuator (external set-point for steer-by-wire). Positive sign for torque in counterclockwise direction (based on ISO8855). + type: actuator + unit: Nm + +Vehicle.MotionManagement.Steering.SteeringWheel.TorqueTargetMode: + datatype: uint8 + description: Mode used for controlling Steering-wheel torque interface. 0 indicates interface disabled. Other values activate vehicle specific modes. + type: actuator + +Vehicle.MotionManagement.Suspension: + description: MotionManagement related to suspension. + type: branch + +Vehicle.MotionManagement.Suspension.Axle: + description: MotionManagement for suspension for a specific axle. + type: branch + +Vehicle.MotionManagement.Suspension.Axle.Row1: + description: MotionManagement for suspension for a specific axle. + type: branch + +Vehicle.MotionManagement.Suspension.Axle.Row1.RollTorque: + datatype: int16 + description: Actuated roll torque on this axle by anti-roll actuator. Signal orientation according to ISO8855. + type: sensor + unit: Nm + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel.Left: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel.Left.DampingForce: + comment: Alternative signal to DampingRate. + datatype: int16 + description: Actuated damping force at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards. + type: sensor + unit: N + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel.Left.DampingForceTarget: + comment: Alternative signal to DampingRateTarget. + datatype: int16 + description: Damping force request at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards. + type: actuator + unit: N + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel.Left.DampingRate: + comment: Alternative signal to DampingForce. + datatype: uint8 + description: Actuated damping rate at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate + max: 100 + min: 0 + type: sensor + unit: percent + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel.Left.DampingRateTarget: + comment: Alternative signal to DampingForceTarget. + datatype: uint8 + description: Damping rate request at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel.Right: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel.Right.DampingForce: + comment: Alternative signal to DampingRate. + datatype: int16 + description: Actuated damping force at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards. + type: sensor + unit: N + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel.Right.DampingForceTarget: + comment: Alternative signal to DampingRateTarget. + datatype: int16 + description: Damping force request at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards. + type: actuator + unit: N + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel.Right.DampingRate: + comment: Alternative signal to DampingForce. + datatype: uint8 + description: Actuated damping rate at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate + max: 100 + min: 0 + type: sensor + unit: percent + +Vehicle.MotionManagement.Suspension.Axle.Row1.Wheel.Right.DampingRateTarget: + comment: Alternative signal to DampingForceTarget. + datatype: uint8 + description: Damping rate request at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Suspension.Axle.Row2: + description: MotionManagement for suspension for a specific axle. + type: branch + +Vehicle.MotionManagement.Suspension.Axle.Row2.RollTorque: + datatype: int16 + description: Actuated roll torque on this axle by anti-roll actuator. Signal orientation according to ISO8855. + type: sensor + unit: Nm + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel.Left: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel.Left.DampingForce: + comment: Alternative signal to DampingRate. + datatype: int16 + description: Actuated damping force at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards. + type: sensor + unit: N + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel.Left.DampingForceTarget: + comment: Alternative signal to DampingRateTarget. + datatype: int16 + description: Damping force request at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards. + type: actuator + unit: N + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel.Left.DampingRate: + comment: Alternative signal to DampingForce. + datatype: uint8 + description: Actuated damping rate at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate + max: 100 + min: 0 + type: sensor + unit: percent + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel.Left.DampingRateTarget: + comment: Alternative signal to DampingForceTarget. + datatype: uint8 + description: Damping rate request at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel.Right: + description: MotionManagement signals for a specific wheel. + type: branch + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel.Right.DampingForce: + comment: Alternative signal to DampingRate. + datatype: int16 + description: Actuated damping force at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards. + type: sensor + unit: N + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel.Right.DampingForceTarget: + comment: Alternative signal to DampingRateTarget. + datatype: int16 + description: Damping force request at given wheel. Signal orientation according ISO8855, meaning positive force is pointing upwards. + type: actuator + unit: N + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel.Right.DampingRate: + comment: Alternative signal to DampingForce. + datatype: uint8 + description: Actuated damping rate at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate + max: 100 + min: 0 + type: sensor + unit: percent + +Vehicle.MotionManagement.Suspension.Axle.Row2.Wheel.Right.DampingRateTarget: + comment: Alternative signal to DampingForceTarget. + datatype: uint8 + description: Damping rate request at given wheel. 0% = lowest possible damping rate 100% = highest possible damping rate + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Suspension.DampingPrioTarget: + datatype: uint8 + description: Prioritization target for damping control 0% = damping control by damping actuator (e.g. base functions) 100% = damping control by VMM system (e.g. vehicle dynamics) + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Suspension.RollPrioTarget: + datatype: uint8 + description: Prioritization target for anti-roll control 0% = anti-roll control by anti-roll actuator (e.g. base function) 100% = anti-roll control by VMM system (e.g. vehicle dynamics) + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.MotionManagement.Suspension.RollTorqueDistributionFrontMaximum: + datatype: uint8 + description: Maximum distribution range request of roll torque to front axle. 0% = Complete roll torque shall be shifted to rear axle 100% = Complete roll torque may be shifted to front axle + max: 100 + min: 0 + type: actuator unit: percent - uuid: 50ea51ad343a5e59b1d214053e522a45 -Vehicle.OBD.LongTermO2Trim4: - datatype: float - description: PID 58 (byte B) - Long term secondary O2 trim - Bank 4 - type: sensor +Vehicle.MotionManagement.Suspension.RollTorqueDistributionFrontMinimum: + datatype: uint8 + description: Minimum distribution range request of roll torque to front axle. 0% = Complete roll torque may be shifted to rear axle 100% = Complete roll torque shall be shifted to front axle + max: 100 + min: 0 + type: actuator unit: percent - uuid: f9c20edd12f456e5ace21581cea484bd -Vehicle.OBD.MAF: - datatype: float - description: PID 10 - Grams of air drawn into engine per second - type: sensor - unit: g/s - uuid: f3acdf89fb865313883d5d3126f15518 +Vehicle.MotionManagement.Suspension.RollTorqueTarget: + datatype: int16 + description: Roll torque request on vehicle level. Signal orientation according to ISO8855. + type: actuator + unit: Nm -Vehicle.OBD.MAP: - datatype: float - description: PID 0B - Intake manifold pressure - type: sensor - unit: kPa - uuid: 335991b1b53f56f097fea7b05d4db83b +Vehicle.Occupant: + description: Occupant (Driver or Passenger) data. + type: branch -Vehicle.OBD.MaxMAF: - datatype: float - description: PID 50 - Maximum flow for mass air flow sensor - type: sensor - unit: g/s - uuid: e21826479f715ee7afe8dc485f109b11 +Vehicle.Occupant.Row1: + description: Occupant (Driver or Passenger) data. + type: branch -Vehicle.OBD.O2: - description: Oxygen sensors (PID 14 - PID 1B) +Vehicle.Occupant.Row1.DriverSide: + description: Occupant (Driver or Passenger) data. type: branch - uuid: 31f007df72af50f0925d2b4647682a4d -Vehicle.OBD.O2.Sensor1: - description: Oxygen sensors (PID 14 - PID 1B) +Vehicle.Occupant.Row1.DriverSide.HeadPosition: + description: The current position of the driver head on vehicle axis according to ISO 23150:2023. type: branch - uuid: 3aa8859203d4545083196a9690d72627 -Vehicle.OBD.O2.Sensor1.ShortTermFuelTrim: +Vehicle.Occupant.Row1.DriverSide.HeadPosition.Pitch: datatype: float - description: PID 1x (byte B) - Short term fuel trim + description: Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down. + max: 90 + min: -90 type: sensor - unit: percent - uuid: ee366d40132456c0bce8cac3a837f16a + unit: degrees -Vehicle.OBD.O2.Sensor1.Voltage: +Vehicle.Occupant.Row1.DriverSide.HeadPosition.Roll: datatype: float - description: PID 1x (byte A) - Sensor voltage + description: Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left. + max: 180 + min: -180 type: sensor - unit: V - uuid: e95f4ea667265ee3a68ab57b86ecbf66 - -Vehicle.OBD.O2.Sensor2: - description: Oxygen sensors (PID 14 - PID 1B) - type: branch - uuid: efcb337cf94056c8a724e76bcfee6765 + unit: degrees -Vehicle.OBD.O2.Sensor2.ShortTermFuelTrim: - datatype: float - description: PID 1x (byte B) - Short term fuel trim +Vehicle.Occupant.Row1.DriverSide.HeadPosition.X: + datatype: int16 + description: Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle. type: sensor - unit: percent - uuid: 92e6e172777457a9866ca045d0d79853 + unit: mm -Vehicle.OBD.O2.Sensor2.Voltage: - datatype: float - description: PID 1x (byte A) - Sensor voltage +Vehicle.Occupant.Row1.DriverSide.HeadPosition.Y: + datatype: int16 + description: Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center. type: sensor - unit: V - uuid: 5f1781bde96b53ce9b810a5a56b7c8ed - -Vehicle.OBD.O2.Sensor3: - description: Oxygen sensors (PID 14 - PID 1B) - type: branch - uuid: b8c145402b7a5cffaa2699ed61b056fa + unit: mm -Vehicle.OBD.O2.Sensor3.ShortTermFuelTrim: +Vehicle.Occupant.Row1.DriverSide.HeadPosition.Yaw: datatype: float - description: PID 1x (byte B) - Short term fuel trim + description: Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right. + max: 180 + min: -180 type: sensor - unit: percent - uuid: 66c300d35eb85e7387dc42528cca48d9 + unit: degrees -Vehicle.OBD.O2.Sensor3.Voltage: - datatype: float - description: PID 1x (byte A) - Sensor voltage +Vehicle.Occupant.Row1.DriverSide.HeadPosition.Z: + datatype: int16 + description: Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point. type: sensor - unit: V - uuid: a86a1986f0fe5d25b6c438a00438ff60 + unit: mm -Vehicle.OBD.O2.Sensor4: - description: Oxygen sensors (PID 14 - PID 1B) +Vehicle.Occupant.Row1.DriverSide.Identifier: + description: Identifier attributes based on OAuth 2.0. type: branch - uuid: 853945bce86c5c4f95081075ae32261c -Vehicle.OBD.O2.Sensor4.ShortTermFuelTrim: - datatype: float - description: PID 1x (byte B) - Short term fuel trim +Vehicle.Occupant.Row1.DriverSide.Identifier.Issuer: + datatype: string + description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. type: sensor - unit: percent - uuid: b71dcf9d850c5d5686f14ad46cd2cae3 -Vehicle.OBD.O2.Sensor4.Voltage: - datatype: float - description: PID 1x (byte A) - Sensor voltage +Vehicle.Occupant.Row1.DriverSide.Identifier.Subject: + datatype: string + description: Subject for the authentication of the occupant e.g. UserID 7331677. type: sensor - unit: V - uuid: 772cbfab91be59f7bbf3ec4140ffbcc4 -Vehicle.OBD.O2.Sensor5: - description: Oxygen sensors (PID 14 - PID 1B) +Vehicle.Occupant.Row1.DriverSide.MidEyeGaze: + description: Direction from mid eye position to object driver is looking at. type: branch - uuid: f48c76c9c7ec5ddcb6838ced0bd7517b -Vehicle.OBD.O2.Sensor5.ShortTermFuelTrim: +Vehicle.Occupant.Row1.DriverSide.MidEyeGaze.Azimuth: datatype: float - description: PID 1x (byte B) - Short term fuel trim + description: Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver. + max: 180 + min: -180 type: sensor - unit: percent - uuid: 7604de26198b51e28a441f79b1d84242 + unit: degrees -Vehicle.OBD.O2.Sensor5.Voltage: +Vehicle.Occupant.Row1.DriverSide.MidEyeGaze.Elevation: datatype: float - description: PID 1x (byte A) - Sensor voltage + description: Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position. + max: 90 + min: -90 type: sensor - unit: V - uuid: 155a0816093b5aee8012ed2a8d532b7f + unit: degrees + +Vehicle.Occupant.Row1.Middle: + description: Occupant (Driver or Passenger) data. + type: branch -Vehicle.OBD.O2.Sensor6: - description: Oxygen sensors (PID 14 - PID 1B) +Vehicle.Occupant.Row1.Middle.HeadPosition: + description: The current position of the driver head on vehicle axis according to ISO 23150:2023. type: branch - uuid: 5269c1877ded507b87d7d1d7bec10605 -Vehicle.OBD.O2.Sensor6.ShortTermFuelTrim: +Vehicle.Occupant.Row1.Middle.HeadPosition.Pitch: datatype: float - description: PID 1x (byte B) - Short term fuel trim + description: Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down. + max: 90 + min: -90 type: sensor - unit: percent - uuid: 2fb034769cab5089986d90bf7f9000ca + unit: degrees -Vehicle.OBD.O2.Sensor6.Voltage: +Vehicle.Occupant.Row1.Middle.HeadPosition.Roll: datatype: float - description: PID 1x (byte A) - Sensor voltage + description: Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left. + max: 180 + min: -180 type: sensor - unit: V - uuid: 85430592fb795e848d7bb91e6b9f1e00 + unit: degrees -Vehicle.OBD.O2.Sensor7: - description: Oxygen sensors (PID 14 - PID 1B) - type: branch - uuid: 4b565102e4a052aa8aa64f27dc678ce3 +Vehicle.Occupant.Row1.Middle.HeadPosition.X: + datatype: int16 + description: Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle. + type: sensor + unit: mm -Vehicle.OBD.O2.Sensor7.ShortTermFuelTrim: - datatype: float - description: PID 1x (byte B) - Short term fuel trim +Vehicle.Occupant.Row1.Middle.HeadPosition.Y: + datatype: int16 + description: Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center. type: sensor - unit: percent - uuid: 81f34b16b5e05d1ab159de9474eaf5bc + unit: mm -Vehicle.OBD.O2.Sensor7.Voltage: +Vehicle.Occupant.Row1.Middle.HeadPosition.Yaw: datatype: float - description: PID 1x (byte A) - Sensor voltage + description: Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right. + max: 180 + min: -180 type: sensor - unit: V - uuid: 23984a68e63f532bab18679e1174130d + unit: degrees -Vehicle.OBD.O2.Sensor8: - description: Oxygen sensors (PID 14 - PID 1B) +Vehicle.Occupant.Row1.Middle.HeadPosition.Z: + datatype: int16 + description: Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point. + type: sensor + unit: mm + +Vehicle.Occupant.Row1.Middle.Identifier: + description: Identifier attributes based on OAuth 2.0. type: branch - uuid: d5eef24c35f1561982127404b50ece11 -Vehicle.OBD.O2.Sensor8.ShortTermFuelTrim: - datatype: float - description: PID 1x (byte B) - Short term fuel trim +Vehicle.Occupant.Row1.Middle.Identifier.Issuer: + datatype: string + description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. type: sensor - unit: percent - uuid: 1699eb2267615e258259e480be0fa606 -Vehicle.OBD.O2.Sensor8.Voltage: - datatype: float - description: PID 1x (byte A) - Sensor voltage +Vehicle.Occupant.Row1.Middle.Identifier.Subject: + datatype: string + description: Subject for the authentication of the occupant e.g. UserID 7331677. type: sensor - unit: V - uuid: 23e057b3629a5136bb585638725fe0a2 - -Vehicle.OBD.O2WR: - description: Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B) - type: branch - uuid: a439f2bc16575318afe20d0bc6a8cacf -Vehicle.OBD.O2WR.Sensor1: - description: Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B) +Vehicle.Occupant.Row1.Middle.MidEyeGaze: + description: Direction from mid eye position to object driver is looking at. type: branch - uuid: 496074cec04a5260b60fd39bb7ed1479 -Vehicle.OBD.O2WR.Sensor1.Current: +Vehicle.Occupant.Row1.Middle.MidEyeGaze.Azimuth: datatype: float - description: PID 3x (byte CD) - Current for wide range/band oxygen sensor + description: Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver. + max: 180 + min: -180 type: sensor - unit: A - uuid: bb4c70d9d2ae56c8a9a3be446db6f54c + unit: degrees -Vehicle.OBD.O2WR.Sensor1.Lambda: +Vehicle.Occupant.Row1.Middle.MidEyeGaze.Elevation: datatype: float - description: PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor + description: Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position. + max: 90 + min: -90 type: sensor - uuid: b809083454a5516f995477c59bf4d3c6 + unit: degrees -Vehicle.OBD.O2WR.Sensor1.Voltage: - datatype: float - description: PID 2x (byte CD) - Voltage for wide range/band oxygen sensor - type: sensor - unit: V - uuid: 396251cbfa5a57ffb1dd743298dfcdf9 +Vehicle.Occupant.Row1.PassengerSide: + description: Occupant (Driver or Passenger) data. + type: branch -Vehicle.OBD.O2WR.Sensor2: - description: Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B) +Vehicle.Occupant.Row1.PassengerSide.HeadPosition: + description: The current position of the driver head on vehicle axis according to ISO 23150:2023. type: branch - uuid: 079f9960f75d5f399df7ff86fcea8f0c -Vehicle.OBD.O2WR.Sensor2.Current: +Vehicle.Occupant.Row1.PassengerSide.HeadPosition.Pitch: datatype: float - description: PID 3x (byte CD) - Current for wide range/band oxygen sensor + description: Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down. + max: 90 + min: -90 type: sensor - unit: A - uuid: 442ab33180ca5028a37a487056ba4a51 + unit: degrees -Vehicle.OBD.O2WR.Sensor2.Lambda: +Vehicle.Occupant.Row1.PassengerSide.HeadPosition.Roll: datatype: float - description: PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor + description: Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left. + max: 180 + min: -180 type: sensor - uuid: ce55aed0e8705a49970566db71ebcf90 + unit: degrees -Vehicle.OBD.O2WR.Sensor2.Voltage: - datatype: float - description: PID 2x (byte CD) - Voltage for wide range/band oxygen sensor +Vehicle.Occupant.Row1.PassengerSide.HeadPosition.X: + datatype: int16 + description: Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle. type: sensor - unit: V - uuid: a784675c3b765d42ad023d8ee412be26 - -Vehicle.OBD.O2WR.Sensor3: - description: Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B) - type: branch - uuid: a8a83d3e33f9584b824088e830bcbaec + unit: mm -Vehicle.OBD.O2WR.Sensor3.Current: - datatype: float - description: PID 3x (byte CD) - Current for wide range/band oxygen sensor +Vehicle.Occupant.Row1.PassengerSide.HeadPosition.Y: + datatype: int16 + description: Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center. type: sensor - unit: A - uuid: c942468e349e5aaebde4d90ee0bc3814 + unit: mm -Vehicle.OBD.O2WR.Sensor3.Lambda: +Vehicle.Occupant.Row1.PassengerSide.HeadPosition.Yaw: datatype: float - description: PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor + description: Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right. + max: 180 + min: -180 type: sensor - uuid: f2ae7c781b0a5dcf8db91558e3cf4c13 + unit: degrees -Vehicle.OBD.O2WR.Sensor3.Voltage: - datatype: float - description: PID 2x (byte CD) - Voltage for wide range/band oxygen sensor +Vehicle.Occupant.Row1.PassengerSide.HeadPosition.Z: + datatype: int16 + description: Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point. type: sensor - unit: V - uuid: a78f7621a3f75df2adc1dc940219834a + unit: mm -Vehicle.OBD.O2WR.Sensor4: - description: Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B) +Vehicle.Occupant.Row1.PassengerSide.Identifier: + description: Identifier attributes based on OAuth 2.0. type: branch - uuid: bb67047ddad158ba98876a6a87d02e97 - -Vehicle.OBD.O2WR.Sensor4.Current: - datatype: float - description: PID 3x (byte CD) - Current for wide range/band oxygen sensor - type: sensor - unit: A - uuid: f16b31fde63a516db04cb44feaa7c27b -Vehicle.OBD.O2WR.Sensor4.Lambda: - datatype: float - description: PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor +Vehicle.Occupant.Row1.PassengerSide.Identifier.Issuer: + datatype: string + description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. type: sensor - uuid: be09013f423c588eae9c06da9ddf290f -Vehicle.OBD.O2WR.Sensor4.Voltage: - datatype: float - description: PID 2x (byte CD) - Voltage for wide range/band oxygen sensor +Vehicle.Occupant.Row1.PassengerSide.Identifier.Subject: + datatype: string + description: Subject for the authentication of the occupant e.g. UserID 7331677. type: sensor - unit: V - uuid: abeca90ba22d5c32a34ee907cedf3192 -Vehicle.OBD.O2WR.Sensor5: - description: Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B) +Vehicle.Occupant.Row1.PassengerSide.MidEyeGaze: + description: Direction from mid eye position to object driver is looking at. type: branch - uuid: 01c4160d39af5db59c66db844646195e -Vehicle.OBD.O2WR.Sensor5.Current: +Vehicle.Occupant.Row1.PassengerSide.MidEyeGaze.Azimuth: datatype: float - description: PID 3x (byte CD) - Current for wide range/band oxygen sensor + description: Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver. + max: 180 + min: -180 type: sensor - unit: A - uuid: 40494cb5826554929f5ecadd5b9173fd + unit: degrees -Vehicle.OBD.O2WR.Sensor5.Lambda: +Vehicle.Occupant.Row1.PassengerSide.MidEyeGaze.Elevation: datatype: float - description: PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor + description: Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position. + max: 90 + min: -90 type: sensor - uuid: 16a957200f5c51f89824bbb76a23b9c0 + unit: degrees -Vehicle.OBD.O2WR.Sensor5.Voltage: - datatype: float - description: PID 2x (byte CD) - Voltage for wide range/band oxygen sensor - type: sensor - unit: V - uuid: 699c4db2439f51af8465e823687018b8 +Vehicle.Occupant.Row2: + description: Occupant (Driver or Passenger) data. + type: branch -Vehicle.OBD.O2WR.Sensor6: - description: Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B) +Vehicle.Occupant.Row2.DriverSide: + description: Occupant (Driver or Passenger) data. type: branch - uuid: cff12c30bde957798daaa3a91758b48b -Vehicle.OBD.O2WR.Sensor6.Current: - datatype: float - description: PID 3x (byte CD) - Current for wide range/band oxygen sensor - type: sensor - unit: A - uuid: 06a38b6b4784545bb637279e96d48eb5 +Vehicle.Occupant.Row2.DriverSide.HeadPosition: + description: The current position of the driver head on vehicle axis according to ISO 23150:2023. + type: branch -Vehicle.OBD.O2WR.Sensor6.Lambda: +Vehicle.Occupant.Row2.DriverSide.HeadPosition.Pitch: datatype: float - description: PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor + description: Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down. + max: 90 + min: -90 type: sensor - uuid: fdae9bb9a3a45b4680450f0347cf6d66 + unit: degrees -Vehicle.OBD.O2WR.Sensor6.Voltage: +Vehicle.Occupant.Row2.DriverSide.HeadPosition.Roll: datatype: float - description: PID 2x (byte CD) - Voltage for wide range/band oxygen sensor + description: Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left. + max: 180 + min: -180 type: sensor - unit: V - uuid: 304c181c76d55c3abe75382a935c7bde + unit: degrees -Vehicle.OBD.O2WR.Sensor7: - description: Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B) - type: branch - uuid: 44459df1f25f5d43a07b00f2bad65ef5 +Vehicle.Occupant.Row2.DriverSide.HeadPosition.X: + datatype: int16 + description: Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle. + type: sensor + unit: mm -Vehicle.OBD.O2WR.Sensor7.Current: - datatype: float - description: PID 3x (byte CD) - Current for wide range/band oxygen sensor +Vehicle.Occupant.Row2.DriverSide.HeadPosition.Y: + datatype: int16 + description: Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center. type: sensor - unit: A - uuid: 6ed46315325d540eb95c86ec61eef8e4 + unit: mm -Vehicle.OBD.O2WR.Sensor7.Lambda: +Vehicle.Occupant.Row2.DriverSide.HeadPosition.Yaw: datatype: float - description: PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor + description: Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right. + max: 180 + min: -180 type: sensor - uuid: 9221a5289157538b9dcaa0d961c335fa + unit: degrees -Vehicle.OBD.O2WR.Sensor7.Voltage: - datatype: float - description: PID 2x (byte CD) - Voltage for wide range/band oxygen sensor +Vehicle.Occupant.Row2.DriverSide.HeadPosition.Z: + datatype: int16 + description: Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point. type: sensor - unit: V - uuid: 0ad1d79dcce65c00ac48421b5b54ca0e + unit: mm -Vehicle.OBD.O2WR.Sensor8: - description: Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B) +Vehicle.Occupant.Row2.DriverSide.Identifier: + description: Identifier attributes based on OAuth 2.0. type: branch - uuid: b8865e72055d52a086f6935d5c188cc1 - -Vehicle.OBD.O2WR.Sensor8.Current: - datatype: float - description: PID 3x (byte CD) - Current for wide range/band oxygen sensor - type: sensor - unit: A - uuid: 96de3c3b036c50c2978ab2aa490d4d9e -Vehicle.OBD.O2WR.Sensor8.Lambda: - datatype: float - description: PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor +Vehicle.Occupant.Row2.DriverSide.Identifier.Issuer: + datatype: string + description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. type: sensor - uuid: c56db1195fa3519ab6718ab57d2cd543 -Vehicle.OBD.O2WR.Sensor8.Voltage: - datatype: float - description: PID 2x (byte CD) - Voltage for wide range/band oxygen sensor +Vehicle.Occupant.Row2.DriverSide.Identifier.Subject: + datatype: string + description: Subject for the authentication of the occupant e.g. UserID 7331677. type: sensor - unit: V - uuid: ab7d6c739f025782bba640e58123f0c8 -Vehicle.OBD.OBDStandards: - datatype: uint8 - description: PID 1C - OBD standards this vehicle conforms to - type: attribute - uuid: 1aa8d7d055cf5a29a31b04a12124f673 +Vehicle.Occupant.Row2.DriverSide.MidEyeGaze: + description: Direction from mid eye position to object driver is looking at. + type: branch -Vehicle.OBD.OilTemperature: +Vehicle.Occupant.Row2.DriverSide.MidEyeGaze.Azimuth: datatype: float - description: PID 5C - Engine oil temperature - type: sensor - unit: celsius - uuid: ef3dfc11085d5077b363b1a4e8e4a84e - -Vehicle.OBD.OxygenSensorsIn2Banks: - datatype: uint8 - description: PID 13 - Presence of oxygen sensors in 2 banks. [A0..A3] == Bank 1, Sensors 1-4. [A4..A7] == Bank 2, Sensors 1-4 + description: Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver. + max: 180 + min: -180 type: sensor - uuid: 0a9ba3f0a9b256d78bafd62ee8ce73cd + unit: degrees -Vehicle.OBD.OxygenSensorsIn4Banks: - datatype: uint8 - description: PID 1D - Presence of oxygen sensors in 4 banks. Similar to PID 13, but [A0..A7] == [B1S1, B1S2, B2S1, B2S2, B3S1, B3S2, B4S1, B4S2] +Vehicle.Occupant.Row2.DriverSide.MidEyeGaze.Elevation: + datatype: float + description: Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position. + max: 90 + min: -90 type: sensor - uuid: 41d3377813d651aa9b9344ba9fd2f880 - -Vehicle.OBD.PidsA: - allowed: - - '01' - - '02' - - '03' - - '04' - - '05' - - '06' - - '07' - - 08 - - 09 - - 0A - - 0B - - 0C - - 0D - - 0E - - 0F - - '10' - - '11' - - '12' - - '13' - - '14' - - '15' - - '16' - - '17' - - '18' - - '19' - - 1A - - 1B - - 1C - - 1D - - 1E - - 1F - - '20' - datatype: string[] - description: PID 00 - Array of the supported PIDs 01 to 20 in Hexadecimal. - type: attribute - uuid: ba1c1b9034955d2d97249c3b4516beef + unit: degrees -Vehicle.OBD.PidsB: - allowed: - - '21' - - '22' - - '23' - - '24' - - '25' - - '26' - - '27' - - '28' - - '29' - - 2A - - 2B - - 2C - - 2D - - 2E - - 2F - - '30' - - '31' - - '32' - - '33' - - '34' - - '35' - - '36' - - '37' - - '38' - - '39' - - 3A - - 3B - - 3C - - 3D - - 3E - - 3F - - '40' - datatype: string[] - description: PID 20 - Array of the supported PIDs 21 to 40 in Hexadecimal. - type: attribute - uuid: 00193c560a0a5525baa45681e07b50f6 +Vehicle.Occupant.Row2.Middle: + description: Occupant (Driver or Passenger) data. + type: branch -Vehicle.OBD.PidsC: - allowed: - - '41' - - '42' - - '43' - - '44' - - '45' - - '46' - - '47' - - '48' - - '49' - - 4A - - 4B - - 4C - - 4D - - 4E - - 4F - - '50' - - '51' - - '52' - - '53' - - '54' - - '55' - - '56' - - '57' - - '58' - - '59' - - 5A - - 5B - - 5C - - 5D - - 5E - - 5F - - '60' - datatype: string[] - description: PID 40 - Array of the supported PIDs 41 to 60 in Hexadecimal. - type: attribute - uuid: 7c3a3f0ecc5d593aa996892668afe4b0 +Vehicle.Occupant.Row2.Middle.HeadPosition: + description: The current position of the driver head on vehicle axis according to ISO 23150:2023. + type: branch -Vehicle.OBD.RelativeAcceleratorPosition: +Vehicle.Occupant.Row2.Middle.HeadPosition.Pitch: datatype: float - description: PID 5A - Relative accelerator pedal position + description: Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down. + max: 90 + min: -90 type: sensor - unit: percent - uuid: e25de9aacad3549285b4fb234f10be8f + unit: degrees -Vehicle.OBD.RelativeThrottlePosition: +Vehicle.Occupant.Row2.Middle.HeadPosition.Roll: datatype: float - description: PID 45 - Relative throttle position + description: Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left. + max: 180 + min: -180 type: sensor - unit: percent - uuid: 54ecf7dd671c5053aac4bc1bb061d64b + unit: degrees -Vehicle.OBD.RunTime: - datatype: float - description: PID 1F - Engine run time +Vehicle.Occupant.Row2.Middle.HeadPosition.X: + datatype: int16 + description: Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle. type: sensor - unit: s - uuid: acf70773752256d1a227ab48257624b5 + unit: mm -Vehicle.OBD.RunTimeMIL: - datatype: float - description: PID 4D - Run time with MIL on +Vehicle.Occupant.Row2.Middle.HeadPosition.Y: + datatype: int16 + description: Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center. type: sensor - unit: min - uuid: 555604a484535f60adf8894a6bd895b6 + unit: mm -Vehicle.OBD.ShortTermFuelTrim1: +Vehicle.Occupant.Row2.Middle.HeadPosition.Yaw: datatype: float - description: PID 06 - Short Term (immediate) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer + description: Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right. + max: 180 + min: -180 type: sensor - unit: percent - uuid: 569c983874335fb392d4e82a002654cb + unit: degrees -Vehicle.OBD.ShortTermFuelTrim2: - datatype: float - description: PID 08 - Short Term (immediate) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer +Vehicle.Occupant.Row2.Middle.HeadPosition.Z: + datatype: int16 + description: Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point. type: sensor - unit: percent - uuid: 53a39620773a523a8182169027169ec2 + unit: mm -Vehicle.OBD.ShortTermO2Trim1: - datatype: float - description: PID 55 (byte A) - Short term secondary O2 trim - Bank 1 - type: sensor - unit: percent - uuid: be7ed33a854557ba802da0c51f9f4564 +Vehicle.Occupant.Row2.Middle.Identifier: + description: Identifier attributes based on OAuth 2.0. + type: branch -Vehicle.OBD.ShortTermO2Trim2: - datatype: float - description: PID 57 (byte A) - Short term secondary O2 trim - Bank 2 +Vehicle.Occupant.Row2.Middle.Identifier.Issuer: + datatype: string + description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. type: sensor - unit: percent - uuid: c8b962f8990e51d294621408ceaa21d9 -Vehicle.OBD.ShortTermO2Trim3: - datatype: float - description: PID 55 (byte B) - Short term secondary O2 trim - Bank 3 +Vehicle.Occupant.Row2.Middle.Identifier.Subject: + datatype: string + description: Subject for the authentication of the occupant e.g. UserID 7331677. type: sensor - unit: percent - uuid: af58212df970568b9edcc5e58fa36f8d -Vehicle.OBD.ShortTermO2Trim4: +Vehicle.Occupant.Row2.Middle.MidEyeGaze: + description: Direction from mid eye position to object driver is looking at. + type: branch + +Vehicle.Occupant.Row2.Middle.MidEyeGaze.Azimuth: datatype: float - description: PID 57 (byte B) - Short term secondary O2 trim - Bank 4 + description: Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver. + max: 180 + min: -180 type: sensor - unit: percent - uuid: 8ef0516c0c965fd6aecbacd6b9120a5b + unit: degrees -Vehicle.OBD.Speed: +Vehicle.Occupant.Row2.Middle.MidEyeGaze.Elevation: datatype: float - description: PID 0D - Vehicle speed + description: Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position. + max: 90 + min: -90 type: sensor - unit: km/h - uuid: 91ed0bb43eb054759813cd784b071764 + unit: degrees -Vehicle.OBD.Status: - description: PID 01 - OBD status +Vehicle.Occupant.Row2.PassengerSide: + description: Occupant (Driver or Passenger) data. type: branch - uuid: 474f58e593ee5bfebbb9c6ce4a453f96 -Vehicle.OBD.Status.DTCCount: - datatype: uint8 - description: Number of Diagnostic Trouble Codes (DTC) +Vehicle.Occupant.Row2.PassengerSide.HeadPosition: + description: The current position of the driver head on vehicle axis according to ISO 23150:2023. + type: branch + +Vehicle.Occupant.Row2.PassengerSide.HeadPosition.Pitch: + datatype: float + description: Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023 to the head X-axis. 0 = Head in normal position. Positive values = Head leaning up. Negative values = Head leaning down. + max: 90 + min: -90 type: sensor - uuid: 4afdf65e788c5f69baf682597e69fb67 + unit: degrees -Vehicle.OBD.Status.IgnitionType: - allowed: - - SPARK - - COMPRESSION - datatype: string - description: Type of the ignition for ICE - spark = spark plug ignition, compression = self-igniting (Diesel engines) - type: attribute - uuid: 7ffd71caac8e5bd18f93366afdfe534d +Vehicle.Occupant.Row2.PassengerSide.HeadPosition.Roll: + datatype: float + description: Head roll angle about the head X-axis (right-hand rule). 0 = Head in normal position. Positive values = Head leaning to the right. Negative values = Head leaning to the left. + max: 180 + min: -180 + type: sensor + unit: degrees -Vehicle.OBD.Status.IsMILOn: - datatype: boolean - description: Malfunction Indicator Light (MIL) False = Off, True = On +Vehicle.Occupant.Row2.PassengerSide.HeadPosition.X: + datatype: int16 + description: Longitudinal position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle. type: sensor - uuid: 8744bcb275205630932320b66185502c + unit: mm -Vehicle.OBD.ThrottleActuator: - datatype: float - description: PID 4C - Commanded throttle actuator +Vehicle.Occupant.Row2.PassengerSide.HeadPosition.Y: + datatype: int16 + description: Lateral position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = left of rear-axle center. Negative values = right of rear-axle center. type: sensor - unit: percent - uuid: 49a19905a1005ee3abe0c0a84d7112d1 + unit: mm -Vehicle.OBD.ThrottlePosition: +Vehicle.Occupant.Row2.PassengerSide.HeadPosition.Yaw: datatype: float - description: PID 11 - Throttle position - 0 = closed throttle, 100 = open throttle + description: Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023 to the head X-axis, around the vehicle Z-axis (right-hand rule). 0 = Head in normal position. Positive values = Head turned left. Negative values = Head turned right. + max: 180 + min: -180 type: sensor - unit: percent - uuid: ec1d372020205bb4a846a014b33801e1 + unit: degrees -Vehicle.OBD.ThrottlePositionB: - datatype: float - description: PID 47 - Absolute throttle position B +Vehicle.Occupant.Row2.PassengerSide.HeadPosition.Z: + datatype: int16 + description: Height position of head center measured as mid eye position on X-axis of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12 Mid eye position refers to the center of a line drawn between the center of the drivers eyes. Positive values = above center of rear-axle reference point. Negative values = below center of rear-axle reference point. type: sensor - unit: percent - uuid: 701712a565ed5bf8b6630487a7152c87 + unit: mm -Vehicle.OBD.ThrottlePositionC: - datatype: float - description: PID 48 - Absolute throttle position C +Vehicle.Occupant.Row2.PassengerSide.Identifier: + description: Identifier attributes based on OAuth 2.0. + type: branch + +Vehicle.Occupant.Row2.PassengerSide.Identifier.Issuer: + datatype: string + description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com. type: sensor - unit: percent - uuid: 06f162dc00a85f628f9d5d1bc952665c -Vehicle.OBD.TimeSinceDTCCleared: - datatype: float - description: PID 4E - Time since trouble codes cleared +Vehicle.Occupant.Row2.PassengerSide.Identifier.Subject: + datatype: string + description: Subject for the authentication of the occupant e.g. UserID 7331677. type: sensor - unit: min - uuid: 66ea3984a2585dcdaaf6452eef835c0d -Vehicle.OBD.TimingAdvance: +Vehicle.Occupant.Row2.PassengerSide.MidEyeGaze: + description: Direction from mid eye position to object driver is looking at. + type: branch + +Vehicle.Occupant.Row2.PassengerSide.MidEyeGaze.Azimuth: datatype: float - description: PID 0E - Time advance + description: Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023 0 = Driver looking forward. Positive values = Driver looking at something on the left side of driver. Negative values = Driver looking at something on the right side of driver. + max: 180 + min: -180 type: sensor unit: degrees - uuid: 35533b7e327d5f839b17c932b630767c -Vehicle.OBD.WarmupsSinceDTCClear: - datatype: uint8 - description: PID 30 - Number of warm-ups since codes cleared +Vehicle.Occupant.Row2.PassengerSide.MidEyeGaze.Elevation: + datatype: float + description: Elevation to observed object measured as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023 at driver mid eye position and object. 0 = Driver looking at something at same height as mid eye position. Positive values = Driver looking at something above mid eye position. Negative values = Driver looking at something below mid eye position. + max: 90 + min: -90 type: sensor - uuid: a63ba60721785fc591e3dd067c4dc2ae + unit: degrees Vehicle.PowerOptimizeLevel: datatype: uint8 @@ -7213,24 +8130,20 @@ Vehicle.PowerOptimizeLevel: max: 10 min: 0 type: actuator - uuid: add77f60f7885e39a84baae200569077 Vehicle.Powertrain: description: Powertrain data for battery management, etc. type: branch - uuid: 12f35ec7bd1c58d1a329565ce3d053d5 Vehicle.Powertrain.AccumulatedBrakingEnergy: datatype: float description: The accumulated energy from regenerative braking over lifetime. type: sensor unit: kWh - uuid: 0dd466d28d3d5ad094f2015adafb91a5 Vehicle.Powertrain.CombustionEngine: description: Engine-specific data, stopping at the bell housing. type: branch - uuid: 159e2e3e75f0590f95b4d2f6cfae54b5 Vehicle.Powertrain.CombustionEngine.AspirationType: allowed: @@ -7242,20 +8155,17 @@ Vehicle.Powertrain.CombustionEngine.AspirationType: default: UNKNOWN description: Type of aspiration (natural, turbocharger, supercharger etc). type: attribute - uuid: 3ca6a8ff30275c20a9d8d6d6829574eb Vehicle.Powertrain.CombustionEngine.Bore: datatype: float description: Bore in millimetres. type: attribute unit: mm - uuid: 1618fb16035b5464961570cc1afd934e Vehicle.Powertrain.CombustionEngine.CompressionRatio: datatype: string description: Engine compression ratio, specified in the format 'X:1', e.g. '9.2:1'. type: attribute - uuid: ead42922511051a0a0a1b634781f3c09 Vehicle.Powertrain.CombustionEngine.Configuration: allowed: @@ -7275,26 +8185,22 @@ Vehicle.Powertrain.CombustionEngine.Configuration: default: UNKNOWN description: Engine configuration. type: attribute - uuid: 586be4567fe059ee9e6cf42901c2e773 Vehicle.Powertrain.CombustionEngine.DieselExhaustFluid: comment: In retail and marketing other names are typically used for the fluid. description: Signals related to Diesel Exhaust Fluid (DEF). DEF is called AUS32 in ISO 22241. type: branch - uuid: 81d8eec46d9357a3b1064bfb5d070fa2 Vehicle.Powertrain.CombustionEngine.DieselExhaustFluid.Capacity: datatype: float description: Capacity in liters of the Diesel Exhaust Fluid Tank. type: attribute unit: l - uuid: 863c16ad452b5cf5b7a37f58bdda14c3 Vehicle.Powertrain.CombustionEngine.DieselExhaustFluid.IsLevelLow: datatype: boolean description: Indicates if the Diesel Exhaust Fluid level is low. True if level is low. Definition of low is vehicle dependent. type: sensor - uuid: 811af3fe4f7f5270b4119bb66cff8759 Vehicle.Powertrain.CombustionEngine.DieselExhaustFluid.Level: datatype: uint8 @@ -7303,98 +8209,102 @@ Vehicle.Powertrain.CombustionEngine.DieselExhaustFluid.Level: min: 0 type: sensor unit: percent - uuid: f5b0269b58ff5a8e8399f6d96963a3b6 Vehicle.Powertrain.CombustionEngine.DieselExhaustFluid.Range: datatype: uint32 description: Remaining range in meters of the Diesel Exhaust Fluid present in the vehicle. type: sensor unit: m - uuid: 124afbee975c5a67b316413f7b805eac Vehicle.Powertrain.CombustionEngine.DieselParticulateFilter: description: Diesel Particulate Filter signals. type: branch - uuid: eeddd99ad6475b1a92b9ec7bd7cefdbd Vehicle.Powertrain.CombustionEngine.DieselParticulateFilter.DeltaPressure: datatype: float description: Delta Pressure of Diesel Particulate Filter. type: sensor unit: Pa - uuid: a6f476775c60531b93acb835e0bc6ab6 Vehicle.Powertrain.CombustionEngine.DieselParticulateFilter.InletTemperature: datatype: float description: Inlet temperature of Diesel Particulate Filter. type: sensor - unit: celsius - uuid: 70e90d202d3054bd967e67dce95c8ef2 + unit: Celsius Vehicle.Powertrain.CombustionEngine.DieselParticulateFilter.OutletTemperature: datatype: float description: Outlet temperature of Diesel Particulate Filter. type: sensor - unit: celsius - uuid: e2b7f9d97bec5c0d94ade71a5e2f6518 + unit: Celsius Vehicle.Powertrain.CombustionEngine.Displacement: datatype: uint16 description: Displacement in cubic centimetres. type: attribute unit: cm^3 - uuid: 94dbd928847150ab842c00fa5caaf272 - -Vehicle.Powertrain.CombustionEngine.ECT: - datatype: int16 - description: Engine coolant temperature. - type: sensor - unit: celsius - uuid: fff3cad23cac5b189a1a075c3ab562cd Vehicle.Powertrain.CombustionEngine.EOP: datatype: uint16 description: Engine oil pressure. type: sensor unit: kPa - uuid: 76c7039dc7975ec3a003f0f4a04895ec - -Vehicle.Powertrain.CombustionEngine.EOT: - datatype: int16 - description: Engine oil temperature. - type: sensor - unit: celsius - uuid: eae6f5eae04f530e80f6b024f95b767d Vehicle.Powertrain.CombustionEngine.EngineCode: comment: For hybrid vehicles the engine code may refer to the combination of combustion and electric engine. datatype: string description: Engine code designation, as specified by vehicle manufacturer. type: attribute - uuid: 4ec845911b8e5b64b2cb1d34063184de -Vehicle.Powertrain.CombustionEngine.EngineCoolantCapacity: +Vehicle.Powertrain.CombustionEngine.EngineCoolant: + description: Signals related to the engine coolant + type: branch + +Vehicle.Powertrain.CombustionEngine.EngineCoolant.Capacity: datatype: float description: Engine coolant capacity in liters. type: attribute unit: l - uuid: 90b5b64808ea5f4fa2798d96143b0d60 + +Vehicle.Powertrain.CombustionEngine.EngineCoolant.Level: + allowed: + - CRITICALLY_LOW + - LOW + - NORMAL + datatype: string + description: Engine coolant level. + type: sensor + +Vehicle.Powertrain.CombustionEngine.EngineCoolant.LifeRemaining: + comment: In addition to this a signal a vehicle can report remaining time to service (including e.g. coolant change) by Vehicle.Service.TimeToService. + datatype: int32 + description: Remaining engine coolant life in seconds. Negative values can be used to indicate that lifetime has been exceeded. + type: sensor + unit: s + +Vehicle.Powertrain.CombustionEngine.EngineCoolant.Temperature: + datatype: float + description: Engine coolant temperature. + type: sensor + unit: Celsius Vehicle.Powertrain.CombustionEngine.EngineHours: datatype: float description: Accumulated time during engine lifetime with 'engine speed (rpm) > 0'. type: sensor unit: h - uuid: a23a62e24f58514d961890f53262e4e0 -Vehicle.Powertrain.CombustionEngine.EngineOilCapacity: +Vehicle.Powertrain.CombustionEngine.EngineOil: + description: Signals related to the engine oil + type: branch + +Vehicle.Powertrain.CombustionEngine.EngineOil.Capacity: datatype: float description: Engine oil capacity in liters. type: attribute unit: l - uuid: 2ca7af6facb55a13885989faa9bc6ca7 -Vehicle.Powertrain.CombustionEngine.EngineOilLevel: +Vehicle.Powertrain.CombustionEngine.EngineOil.Level: allowed: - CRITICALLY_LOW - LOW @@ -7404,7 +8314,19 @@ Vehicle.Powertrain.CombustionEngine.EngineOilLevel: datatype: string description: Engine oil level. type: sensor - uuid: e3813f59e94b509eb865fd97255a8a4f + +Vehicle.Powertrain.CombustionEngine.EngineOil.LifeRemaining: + comment: In addition to this a signal a vehicle can report remaining time to service (including e.g. oil change) by Vehicle.Service.TimeToService. + datatype: int32 + description: Remaining engine oil life in seconds. Negative values can be used to indicate that lifetime has been exceeded. + type: sensor + unit: s + +Vehicle.Powertrain.CombustionEngine.EngineOil.Temperature: + datatype: float + description: EOT, Engine oil temperature. + type: sensor + unit: Celsius Vehicle.Powertrain.CombustionEngine.IdleHours: comment: Vehicles may calculate accumulated idle time for an engine. It might be based on engine speed (rpm) below a certain limit or any other mechanism. @@ -7412,27 +8334,23 @@ Vehicle.Powertrain.CombustionEngine.IdleHours: description: Accumulated idling time during engine lifetime. Definition of idling is not standardized. type: sensor unit: h - uuid: 6caa3d7e669c5cc6aecd4a6be9a302d4 Vehicle.Powertrain.CombustionEngine.IsRunning: datatype: boolean description: Engine Running. True if engine is rotating (Speed > 0). type: sensor - uuid: 57652c27679757398c44d56af7a044d3 Vehicle.Powertrain.CombustionEngine.MAF: datatype: uint16 description: Grams of air drawn into engine per second. type: sensor unit: g/s - uuid: 1e222ed8c48b5dcea60e43ac8af7d6df Vehicle.Powertrain.CombustionEngine.MAP: datatype: uint16 description: Manifold absolute pressure possibly boosted using forced induction. type: sensor unit: kPa - uuid: 28d4354fa34056369acb857aa7cc76ac Vehicle.Powertrain.CombustionEngine.MaxPower: datatype: uint16 @@ -7440,7 +8358,6 @@ Vehicle.Powertrain.CombustionEngine.MaxPower: description: Peak power, in kilowatts, that engine can generate. type: attribute unit: kW - uuid: 81fbdd5e90f557a38b96578a38dc137d Vehicle.Powertrain.CombustionEngine.MaxTorque: datatype: uint16 @@ -7448,48 +8365,34 @@ Vehicle.Powertrain.CombustionEngine.MaxTorque: description: Peak torque, in newton meter, that the engine can generate. type: attribute unit: Nm - uuid: 471cd478c1e8597f8e97c85b4e4ebe26 Vehicle.Powertrain.CombustionEngine.NumberOfCylinders: datatype: uint16 description: Number of cylinders. type: attribute - uuid: b2cd342c218257e88d214cdb511df82b Vehicle.Powertrain.CombustionEngine.NumberOfValvesPerCylinder: datatype: uint16 description: Number of valves per cylinder. type: attribute - uuid: 44633204726e561ca21beff31f3fef80 - -Vehicle.Powertrain.CombustionEngine.OilLifeRemaining: - comment: In addition to this a signal a vehicle can report remaining time to service (including e.g. oil change) by Vehicle.Service.TimeToService. - datatype: int32 - description: Remaining engine oil life in seconds. Negative values can be used to indicate that lifetime has been exceeded. - type: sensor - unit: s - uuid: 94303734c68c5353a02625f652103918 Vehicle.Powertrain.CombustionEngine.Power: datatype: uint16 description: Current engine power output. Shall be reported as 0 during engine breaking. type: sensor unit: kW - uuid: 20e8b5d2187758c2848ed421248c180d Vehicle.Powertrain.CombustionEngine.Speed: - datatype: uint16 + datatype: float description: Engine speed measured as rotations per minute. type: sensor unit: rpm - uuid: 557ce24c5a4d51cc825059c948ac9e29 Vehicle.Powertrain.CombustionEngine.StrokeLength: datatype: float description: Stroke length in millimetres. type: attribute unit: mm - uuid: 1bdfdab7904d51ed93e101b84ea54ddf Vehicle.Powertrain.CombustionEngine.TPS: datatype: uint8 @@ -7497,33 +8400,54 @@ Vehicle.Powertrain.CombustionEngine.TPS: max: 100 type: sensor unit: percent - uuid: 1ddb77860de558b4876ffb399a442bda Vehicle.Powertrain.CombustionEngine.Torque: - comment: During engine breaking the engine delivers a negative torque to the transmission. This negative torque shall be ignored, instead 0 shall be reported. - datatype: uint16 - description: Current engine torque. Shall be reported as 0 during engine breaking. + comment: During engine breaking the engine delivers a negative torque to the transmission. + datatype: int16 + description: Current engine torque. Shall be reported as a negative number during engine breaking. type: sensor unit: Nm - uuid: b81f504bdb57513299ae6e9402ec7bcd Vehicle.Powertrain.ElectricMotor: description: Electric Motor specific data. type: branch - uuid: 1ade64f6b0d05f6c9340e7a667555ae2 - -Vehicle.Powertrain.ElectricMotor.CoolantTemperature: - datatype: int16 - description: Motor coolant temperature (if applicable). - type: sensor - unit: celsius - uuid: 3c5ea8c7700956518f2ae7a2a0f34f1c Vehicle.Powertrain.ElectricMotor.EngineCode: datatype: string description: Engine code designation, as specified by vehicle manufacturer. type: attribute - uuid: e4102a5142ed501495e5edafd3d36dfb + +Vehicle.Powertrain.ElectricMotor.EngineCoolant: + description: Signals related to the engine coolant (if applicable). + type: branch + +Vehicle.Powertrain.ElectricMotor.EngineCoolant.Capacity: + datatype: float + description: Engine coolant capacity in liters. + type: attribute + unit: l + +Vehicle.Powertrain.ElectricMotor.EngineCoolant.Level: + allowed: + - CRITICALLY_LOW + - LOW + - NORMAL + datatype: string + description: Engine coolant level. + type: sensor + +Vehicle.Powertrain.ElectricMotor.EngineCoolant.LifeRemaining: + comment: In addition to this a signal a vehicle can report remaining time to service (including e.g. coolant change) by Vehicle.Service.TimeToService. + datatype: int32 + description: Remaining engine coolant life in seconds. Negative values can be used to indicate that lifetime has been exceeded. + type: sensor + unit: s + +Vehicle.Powertrain.ElectricMotor.EngineCoolant.Temperature: + datatype: float + description: Engine coolant temperature. + type: sensor + unit: Celsius Vehicle.Powertrain.ElectricMotor.MaxPower: datatype: uint16 @@ -7531,7 +8455,6 @@ Vehicle.Powertrain.ElectricMotor.MaxPower: description: Peak power, in kilowatts, that motor(s) can generate. type: attribute unit: kW - uuid: 825ec7911ee958abb199b9f7903df3a6 Vehicle.Powertrain.ElectricMotor.MaxRegenPower: datatype: uint16 @@ -7539,7 +8462,6 @@ Vehicle.Powertrain.ElectricMotor.MaxRegenPower: description: Peak regen/brake power, in kilowatts, that motor(s) can generate. type: attribute unit: kW - uuid: 7f2cb2650ba95485b7156ffe76e27366 Vehicle.Powertrain.ElectricMotor.MaxRegenTorque: datatype: uint16 @@ -7547,7 +8469,6 @@ Vehicle.Powertrain.ElectricMotor.MaxRegenTorque: description: Peak regen/brake torque, in newton meter, that the motor(s) can generate. type: attribute unit: Nm - uuid: 0e5190c2517b55aa80fcb9bf698e02d6 Vehicle.Powertrain.ElectricMotor.MaxTorque: datatype: uint16 @@ -7555,47 +8476,54 @@ Vehicle.Powertrain.ElectricMotor.MaxTorque: description: Peak power, in newton meter, that the motor(s) can generate. type: attribute unit: Nm - uuid: cf31eabcde5151f589e9b0f7a6090512 Vehicle.Powertrain.ElectricMotor.Power: datatype: int16 description: Current motor power output. Negative values indicate regen mode. type: sensor unit: kW - uuid: 46b86286fba059349a733fed9a0e3232 Vehicle.Powertrain.ElectricMotor.Speed: - datatype: int32 + datatype: float description: Motor rotational speed measured as rotations per minute. Negative values indicate reverse driving mode. type: sensor unit: rpm - uuid: ca961aa6ca435095a89f9d404a5d849d Vehicle.Powertrain.ElectricMotor.Temperature: - datatype: int16 + datatype: float description: Motor temperature. type: sensor - unit: celsius - uuid: 1b7c15e5341052139995bfacea2c05b2 + unit: Celsius + +Vehicle.Powertrain.ElectricMotor.TimeInUse: + comment: Vehicles may define their READY state. + datatype: float + description: Accumulated time during engine lifetime when the vehicule state's is 'READY'. + type: sensor + unit: h Vehicle.Powertrain.ElectricMotor.Torque: datatype: int16 description: Current motor torque. Negative values indicate regen mode. type: sensor unit: Nm - uuid: aceffe768ddf5b828fff0975349d2433 Vehicle.Powertrain.FuelSystem: description: Fuel system data. type: branch - uuid: dbc194a7f97d5a56bc8942c17c2db22e Vehicle.Powertrain.FuelSystem.AbsoluteLevel: datatype: float description: Current available fuel in the fuel tank expressed in liters. type: sensor unit: l - uuid: 00a1399655ee5d9188022f3d55d8f05e + +Vehicle.Powertrain.FuelSystem.AfterRefuelingFuelEconomy: + comment: This value represents the fuel efficiency for the period between consecutive refueling events. It is automatically reset to zero when refueling is detected and begins accumulating from that point. The calculation continues until the next refueling occurs. This metric is useful for tracking fuel efficiency improvements or changes between fill-ups. + datatype: float + description: Average fuel economy calculated from the most recent refueling event to the current time. + type: sensor + unit: km/l Vehicle.Powertrain.FuelSystem.AverageConsumption: datatype: float @@ -7603,7 +8531,13 @@ Vehicle.Powertrain.FuelSystem.AverageConsumption: min: 0 type: sensor unit: l/100km - uuid: e2252108125a54dcab34e1bad0fe8bdc + +Vehicle.Powertrain.FuelSystem.ConsumptionSinceLastRefuel: + comment: Amount of fuel consumed since last refueling. + datatype: float + description: Fuel consumption since last refueling. + type: sensor + unit: l Vehicle.Powertrain.FuelSystem.ConsumptionSinceStart: comment: A new trip is considered to start when engine gets enabled (e.g. LowVoltageSystemState in ON or START mode). A trip is considered to end when engine is no longer enabled. The signal may however keep the value of the last trip until a new trip is started. @@ -7611,7 +8545,20 @@ Vehicle.Powertrain.FuelSystem.ConsumptionSinceStart: description: Fuel amount in liters consumed since start of current trip. type: sensor unit: l - uuid: adf0a40964ff556f92b10275ad918883 + +Vehicle.Powertrain.FuelSystem.CumulativeFuelEconomy: + comment: This represents the accumulated fuel economy over the entire period since the last reset. Unlike trip-based measurements, this provides a long-term average of fuel efficiency. + datatype: float + description: Cumulative average fuel economy calculated from vehicle start or last user reset. + type: sensor + unit: km/l + +Vehicle.Powertrain.FuelSystem.DriveFuelEconomy: + comment: This represents the fuel efficiency during the active driving session. The value is reset when the engine is no longer enabled or when the user manually initiates a drive fuel economy reset. After reset, it is recalculated from zero when the engine restarts or the new drive cycle begins. It provides real-time average fuel economy for the ongoing drive cycle. + datatype: float + description: Average fuel economy for the current drive cycle, calculated from engine start to current time. + type: sensor + unit: km/l Vehicle.Powertrain.FuelSystem.HybridType: allowed: @@ -7625,7 +8572,6 @@ Vehicle.Powertrain.FuelSystem.HybridType: default: UNKNOWN description: Defines the hybrid type of the vehicle. type: attribute - uuid: f0f72012f5e453c1935ff8c3a5aff696 Vehicle.Powertrain.FuelSystem.InstantConsumption: datatype: float @@ -7633,32 +8579,40 @@ Vehicle.Powertrain.FuelSystem.InstantConsumption: min: 0 type: sensor unit: l/100km - uuid: cf65767ec8ad56ffadfdccd831e4b562 + +Vehicle.Powertrain.FuelSystem.InstantantFuelEconomy: + comment: This value represents the current fuel efficiency at any given moment during vehicle operation. It is calculated based on the distance traveled and fuel consumed over a brief sampling period (typically around 500ms). The calculation compares the vehicle state before and after the sampling window to determine instantaneous efficiency. This metric refreshes frequently and can fluctuate significantly based on driving conditions, acceleration, and terrain. Unlike average fuel economy measurements, this provides immediate feedback on current driving efficiency. + datatype: float + description: Real-time instantaneous fuel economy calculated over a short time window. + type: sensor + unit: km/l Vehicle.Powertrain.FuelSystem.IsEngineStopStartEnabled: datatype: boolean description: Indicates whether eco start stop is currently enabled. type: sensor - uuid: 176eed5bb0da582a9ee56f1c70e12075 + +Vehicle.Powertrain.FuelSystem.IsFuelLevelEmpty: + comment: When this signal is true, the fuel gauge displays empty (0), but the vehicle typically still has reserve fuel allowing for some additional driving range depending on the vehicle design. This represents the displayed empty state, not actual tank empty condition. + datatype: boolean + description: Indicates that the fuel gauge on the instrument cluster displays empty (0). + type: sensor Vehicle.Powertrain.FuelSystem.IsFuelLevelLow: datatype: boolean description: Indicates that the fuel level is low (e.g. <50km range). type: sensor - uuid: 65f18ee3b04f5d4c8bb76083227dd9fe Vehicle.Powertrain.FuelSystem.IsFuelPortFlapOpen: datatype: boolean description: Status of the fuel port flap(s). True if at least one is open. type: actuator - uuid: fded7edb113c5894a21722085834f3ae Vehicle.Powertrain.FuelSystem.Range: datatype: uint32 description: Remaining range in meters using only liquid fuel. type: sensor unit: m - uuid: c5a0dbe5e754553897f0aed0069af57a Vehicle.Powertrain.FuelSystem.RefuelPortPosition: allowed: @@ -7677,7 +8631,6 @@ Vehicle.Powertrain.FuelSystem.RefuelPortPosition: datatype: string[] description: Position of refuel port(s). First part indicates side of vehicle, second part relative position on that side. type: attribute - uuid: a7b5eb269b345ef7b18602b66517f952 Vehicle.Powertrain.FuelSystem.RelativeLevel: datatype: uint8 @@ -7686,7 +8639,6 @@ Vehicle.Powertrain.FuelSystem.RelativeLevel: min: 0 type: sensor unit: percent - uuid: e90e3daa1dcd5165a9d78b09e890fb22 Vehicle.Powertrain.FuelSystem.SupportedFuel: allowed: @@ -7710,7 +8662,6 @@ Vehicle.Powertrain.FuelSystem.SupportedFuel: datatype: string[] description: Detailed information on fuels supported by the vehicle. Identifiers originating from DIN EN 16942:2021-08, appendix B, with additional suffix for octane (RON) where relevant. type: attribute - uuid: 7fd3bf2ef0c650e69ff2037875ec59ee Vehicle.Powertrain.FuelSystem.SupportedFuelTypes: allowed: @@ -7726,27 +8677,23 @@ Vehicle.Powertrain.FuelSystem.SupportedFuelTypes: datatype: string[] description: High level information of fuel types supported type: attribute - uuid: 80edc3002aa25097aba6455fe459fa6c Vehicle.Powertrain.FuelSystem.TankCapacity: datatype: float description: Capacity of the fuel tank in liters. type: attribute unit: l - uuid: 362643b866c55d5386fdbdf383464e90 Vehicle.Powertrain.FuelSystem.TimeRemaining: datatype: uint32 description: Time remaining in seconds before the fuel tank is empty. type: sensor unit: s - uuid: a531b80a16bc59949abb2ab5228a1034 Vehicle.Powertrain.IsAutoPowerOptimize: datatype: boolean description: Auto Power Optimization Flag When set to 'true', the system enables automatic power optimization, dynamically adjusting the power optimization level based on runtime conditions or features managed by the OEM. When set to 'false', manual control of the power optimization level is allowed. type: actuator - uuid: 2f76567bacce582aac9d9e62da78ce9c Vehicle.Powertrain.PowerOptimizeLevel: datatype: uint8 @@ -7754,151 +8701,296 @@ Vehicle.Powertrain.PowerOptimizeLevel: max: 10 min: 0 type: actuator - uuid: d740b02e2fb35c07bf88a6e5ebe2f6e4 Vehicle.Powertrain.Range: datatype: uint32 description: Remaining range in meters using all energy sources available in the vehicle. type: sensor unit: m - uuid: ea4b6de772d65d20b1fa611f997aa7b8 + +Vehicle.Powertrain.RangeExtender: + description: Extended Range Electric Vehicle (EREV) specific data. + type: branch + +Vehicle.Powertrain.RangeExtender.ChargeDepleting: + comment: CD mode represents the electric-only or electric-primary operation of the EREV. During this mode, the vehicle maximizes the use of battery energy before the engine is engaged. + description: Signals related to Charge Depleting (CD) mode operation. + type: branch + +Vehicle.Powertrain.RangeExtender.ChargeDepleting.EnergyConsumption: + comment: This value represents the instantaneous or short-term average electric energy consumption while the vehicle is operating in CD mode. It is calculated based on the electrical energy drawn from the traction battery per distance traveled. This metric is analogous to fuel consumption but measured in electrical energy units. A lower value indicates more efficient electric operation. + datatype: float + description: Current electric energy consumption rate during Charge Depleting mode operation. + type: sensor + unit: kWh/100km + +Vehicle.Powertrain.RangeExtender.ChargeDepleting.Range: + comment: This range estimate is calculated based on the current battery state of charge and the recent energy consumption patterns in CD mode. The estimate may vary based on driving conditions, terrain, climate control usage, and other factors affecting battery consumption. When this range approaches zero, the vehicle will typically transition to Charge Sustaining mode. + datatype: uint32 + description: Estimated remaining distance that can be traveled in Charge Depleting mode using available battery energy. + type: sensor + unit: m + +Vehicle.Powertrain.RangeExtender.ChargeSustaining: + comment: CS mode represents the range-extended operation where the internal combustion engine operates as a generator to maintain battery charge and provide extended driving range. During this mode, fuel consumption becomes the primary energy source metric. + description: Signals related to Charge Sustaining (CS) mode operation. + type: branch + +Vehicle.Powertrain.RangeExtender.ChargeSustaining.FuelEconomy: + comment: This value represents the fuel efficiency when the engine is operating as a generator to maintain battery charge. It differs from conventional vehicle fuel economy because the engine is optimized to run at efficient generator speeds rather than varying speeds for direct wheel propulsion. The actual fuel economy in CS mode may be different from the vehicle's rated CS mode fuel economy depending on driving conditions and power demands. + datatype: float + description: Current fuel economy during Charge Sustaining mode operation. + type: sensor + unit: km/l + +Vehicle.Powertrain.RangeExtender.ChargeSustaining.Range: + comment: This range estimate is calculated based on the current fuel level and recent fuel consumption patterns in CS mode. It represents the extended range capability provided by the internal combustion engine. The total vehicle range is the sum of CD mode range and CS mode range. + datatype: uint32 + description: Estimated remaining distance that can be traveled in Charge Sustaining mode using available fuel. + type: sensor + unit: m + +Vehicle.Powertrain.RangeExtender.CombinedFuelEconomy: + comment: This metric provides a unified measure of overall vehicle efficiency by converting electric energy consumption to a fuel-equivalent value and combining it with actual fuel consumption. The calculation typically follows regulatory standards (such as EPA MPGe) that define the equivalence between electrical energy and liquid fuel energy. For example, EPA defines 33.7 kWh as equivalent to one gallon of gasoline. This combined metric is useful for comparing EREV efficiency with conventional vehicles and understanding the overall energy cost of operation. The value is weighted based on the proportion of driving in CD versus CS modes. + datatype: float + description: Combined fuel economy equivalent that accounts for both electric energy and fuel consumption. + type: sensor + unit: km/l + +Vehicle.Powertrain.RangeExtender.OperatingMode: + allowed: + - CHARGE_DEPLETING + - CHARGE_SUSTAINING + - BLENDED + comment: CHARGE_DEPLETING (CD) - Vehicle operates primarily on battery power, battery SOC decreases. CHARGE_SUSTAINING (CS) - Engine operates as generator to maintain battery charge level. BLENDED - Both battery and engine are used simultaneously, typically during high power demands. The mode transition typically occurs automatically based on battery state of charge thresholds. + datatype: string + description: Current operating mode of the Extended Range Electric Vehicle. + type: sensor Vehicle.Powertrain.TimeRemaining: datatype: uint32 description: Time remaining in seconds before all energy sources available in the vehicle are empty. type: sensor unit: s - uuid: f0154f73e2575ab5a39fd10a44ec7149 Vehicle.Powertrain.TractionBattery: description: Battery Management data. type: branch - uuid: 1a2515d1a8875d86873431194ade2b50 Vehicle.Powertrain.TractionBattery.AccumulatedChargedEnergy: datatype: float description: The accumulated energy delivered to the battery during charging over lifetime of the battery. type: sensor unit: kWh - uuid: 739d06021d795da0877bc0ef3c107de1 Vehicle.Powertrain.TractionBattery.AccumulatedChargedThroughput: datatype: float description: The accumulated charge throughput delivered to the battery during charging over lifetime of the battery. type: sensor unit: Ah - uuid: 6d038ccc313351fba3a9104c1158a207 Vehicle.Powertrain.TractionBattery.AccumulatedConsumedEnergy: datatype: float description: The accumulated energy leaving HV battery for propulsion and auxiliary loads over lifetime of the battery. type: sensor unit: kWh - uuid: b844cb96765f574d8d31edb09ccaef81 Vehicle.Powertrain.TractionBattery.AccumulatedConsumedThroughput: datatype: float description: The accumulated charge throughput leaving HV battery for propulsion and auxiliary loads over lifetime of the battery. type: sensor unit: Ah - uuid: f3e2ca21f3b550288d494827c9a172dd + +Vehicle.Powertrain.TractionBattery.BatteryConditioning: + description: Properties related to preparing the vehicle battery for charging or driving. + type: branch + +Vehicle.Powertrain.TractionBattery.BatteryConditioning.IsActive: + comment: This signal is typically true when mode is not INACTIVE and time is within defined start/end times. + datatype: boolean + description: Indicates if battery conditioning is active (i.e. actively monitors battery temperature). True = Active. False = Inactive. + type: sensor + +Vehicle.Powertrain.TractionBattery.BatteryConditioning.IsOngoing: + comment: When battery conditioning is active, but temperature is already within acceptable range so that no cooling or heating is needed then IsOngoing shall report False. + datatype: boolean + description: Indicating if battery conditioning is currently ongoing. Battery conditioning is considered ongoing when the battery conditioning system is actively heating or cooling the battery, or requesting heating or cooling. + type: sensor + +Vehicle.Powertrain.TractionBattery.BatteryConditioning.RequestedMode: + allowed: + - INACTIVE + - FAST_CHARGING_PREPARATION + - DRIVING_PREPARATION + comment: The Mode and TargetTime can be used to calculate TargetTemperature and StartTime + datatype: string + description: Defines requested mode for battery conditioning. INACTIVE - Battery conditioning inactive. FAST_CHARGING_PREPARATION - Battery conditioning for fast charging. DRIVING_PREPARATION - Battery conditioning for driving. + type: actuator + +Vehicle.Powertrain.TractionBattery.BatteryConditioning.StartTime: + comment: If the vehicle is asleep, this is the time the vehicle and the battery conditioning system must wake up and start monitoring the battery and if necessary start heating/cooling of the battery. + datatype: string + description: Start time for battery conditioning, formatted according to ISO 8601 with UTC time zone. + type: actuator + unit: iso8601 + +Vehicle.Powertrain.TractionBattery.BatteryConditioning.TargetTemperature: + comment: Target temperature possibly differs between different modes as well as other factors. Allowed deviation from target temperature is implementation dependent. + datatype: float + description: Target temperature for battery conditioning. + type: actuator + unit: Celsius + +Vehicle.Powertrain.TractionBattery.BatteryConditioning.TargetTime: + comment: For FAST_CHARGING mode this is typically the time when charging is supposed to start. For DRIVING mode this is typically the expected departure time. Battery conditioning will be deactivated when this time has passed. + datatype: string + description: Target time when conditioning shall be finished, formatted according to ISO 8601 with UTC time zone. + type: actuator + unit: iso8601 Vehicle.Powertrain.TractionBattery.CellVoltage: description: Voltage information for cells in the battery pack. type: branch - uuid: 0070210b80125f1a8e9473f8875fe3d1 Vehicle.Powertrain.TractionBattery.CellVoltage.CellVoltages: comment: Cells are identified by relative position in array. datatype: float[] description: Array of cell voltages. Length or array shall correspond to number of cells in vehicle. type: sensor - uuid: 1970692bc3a457f1b6f58aa53c905264 Vehicle.Powertrain.TractionBattery.CellVoltage.IdMax: comment: Identifier is supposed to be relative index of the cell, starting with 0 the first cell. datatype: uint16 description: Identifier of the battery cell with highest voltage. type: sensor - uuid: c84a89bd5faa5e9cb0a9bf191bfeec9c Vehicle.Powertrain.TractionBattery.CellVoltage.IdMin: comment: Identifier is supposed to be relative index of the cell, starting with 0 the first cell. datatype: uint16 description: Identifier of the battery cell with lowest voltage. type: sensor - uuid: cbaef92ad3f55b20bc71188fba79d00d Vehicle.Powertrain.TractionBattery.CellVoltage.Max: datatype: float description: Current voltage of the battery cell with highest voltage. type: sensor unit: V - uuid: bde40aa6b442580db3c0d4c1efed8a09 Vehicle.Powertrain.TractionBattery.CellVoltage.Min: datatype: float description: Current voltage of the battery cell with lowest voltage. type: sensor unit: V - uuid: b868f28cc42a5ba28a127647cd16cb93 Vehicle.Powertrain.TractionBattery.Charging: description: Properties related to battery charging. type: branch - uuid: 49b9ef0c8b145a36afdf17d0cb44131b Vehicle.Powertrain.TractionBattery.Charging.AveragePower: datatype: float description: Average charging power of last or current charging event. type: sensor unit: kW - uuid: acc1728f1839516287d86975f679ec33 Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent: description: Current charging current. type: branch - uuid: 94739cf563735b438878ac0f85601f27 Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.DC: datatype: float - description: Current DC charging current at inlet. Negative if returning energy to grid. + description: Current DC charging current at inlet. Negative if returning energy to grid. + type: sensor + unit: A + +Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.Phase1: + datatype: float + description: Current AC charging current (rms) at inlet for Phase 1. Negative if returning energy to grid. + type: sensor + unit: A + +Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.Phase2: + datatype: float + description: Current AC charging current (rms) at inlet for Phase 2. Negative if returning energy to grid. + type: sensor + unit: A + +Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.Phase3: + datatype: float + description: Current AC charging current (rms) at inlet for Phase 3. Negative if returning energy to grid. + type: sensor + unit: A + +Vehicle.Powertrain.TractionBattery.Charging.ChargeLimit: + datatype: uint8 + default: 100 + description: Target charge limit (state of charge) for battery. + max: 100 + min: 0 + type: actuator + unit: percent + +Vehicle.Powertrain.TractionBattery.Charging.ChargeRate: + datatype: float + description: Current charging rate, as in kilometers of range added per hour. + type: sensor + unit: km/h + +Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage: + description: Current charging voltage, as measured at the charging inlet. + type: branch + +Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.DC: + datatype: float + description: Current DC charging voltage at charging inlet. type: sensor - unit: A - uuid: 44204d7ae6fd5f8e954d0670a739bdf2 + unit: V -Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.Phase1: +Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.Phase1: datatype: float - description: Current AC charging current (rms) at inlet for Phase 1. Negative if returning energy to grid. + description: Current AC charging voltage (rms) at inlet for Phase 1. type: sensor - unit: A - uuid: 400dca50fcde52a6bb605d7e86f49776 + unit: V -Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.Phase2: +Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.Phase2: datatype: float - description: Current AC charging current (rms) at inlet for Phase 2. Negative if returning energy to grid. + description: Current AC charging voltage (rms) at inlet for Phase 2. type: sensor - unit: A - uuid: 32cb24d1c495503a9087d6f55997cf57 + unit: V -Vehicle.Powertrain.TractionBattery.Charging.ChargeCurrent.Phase3: +Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.Phase3: datatype: float - description: Current AC charging current (rms) at inlet for Phase 3. Negative if returning energy to grid. + description: Current AC charging voltage (rms) at inlet for Phase 3. type: sensor - unit: A - uuid: 55fb7fb7ff4a5df9b6a3af435eac868e + unit: V -Vehicle.Powertrain.TractionBattery.Charging.ChargeLimit: - datatype: uint8 - default: 100 - description: Target charge limit (state of charge) for battery. - max: 100 - min: 0 +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort: + comment: If a vehicle has a single charging port, then use the instance AnyPosition. + description: Properties related to a particular charging port available in the vehicle. + type: branch + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.AnyPosition: + comment: If a vehicle has a single charging port, then use the instance AnyPosition. + description: Properties related to a particular charging port available in the vehicle. + type: branch + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.AnyPosition.IsChargingCableConnected: + datatype: boolean + description: Indicates whether a charging cable is physically connected to a particular charging port or not. + type: sensor + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.AnyPosition.IsChargingCableLocked: + comment: Locking of charging cable can be used to prevent unintentional removing during charging. + datatype: boolean + description: Is charging cable locked to prevent removal. + type: actuator + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.AnyPosition.IsFlapOpen: + comment: True = at least one flap of this port is open, False = All flaps of this port are closed. + datatype: boolean + description: Status of the charging port flap(s). type: actuator - unit: percent - uuid: 62360a4ed1095275a7052d65112aaef1 -Vehicle.Powertrain.TractionBattery.Charging.ChargePlugType: +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.AnyPosition.SupportedInletTypes: allowed: - IEC_TYPE_1_AC - IEC_TYPE_2_AC @@ -7912,45 +9004,77 @@ Vehicle.Powertrain.TractionBattery.Charging.ChargePlugType: - GBT_AC - GBT_DC - OTHER - comment: A vehicle may have multiple charging inlets. The signal Charging.ChargePlugPosition can be used to indicate position of the charge plug. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging inlets/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified - as BB Configuration in IEC 62196-3. OTHER shall be used if the vehicle has a charging connector, but not one of the connectors listed above. For additional information see https://en.wikipedia.org/wiki/IEC_62196. + comment: A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in + the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196. datatype: string[] - deprecation: V4.1 renamed to Charging.ChargePortType - description: Type of charge plugs (charging inlet) available on the vehicle. A charge plug type may occur multiple times in the list if there are multiple instances of that charge plug type. IEC types refer to IEC 62196, GBT refers to GB/T 20234. + description: A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234. type: attribute - uuid: 4c56357a6f1d586395215a9beeb26d91 -Vehicle.Powertrain.TractionBattery.Charging.ChargePortFlap: - allowed: - - OPEN - - CLOSED - datatype: string - deprecation: V4.1 - Replaced with Charging.IsChargePortFlapOpen - description: Status of the charge port cover(s), can potentially be controlled manually. OPEN if at least one is open. +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontLeft: + comment: If a vehicle has a single charging port, then use the instance AnyPosition. + description: Properties related to a particular charging port available in the vehicle. + type: branch + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontLeft.IsChargingCableConnected: + datatype: boolean + description: Indicates whether a charging cable is physically connected to a particular charging port or not. + type: sensor + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontLeft.IsChargingCableLocked: + comment: Locking of charging cable can be used to prevent unintentional removing during charging. + datatype: boolean + description: Is charging cable locked to prevent removal. + type: actuator + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontLeft.IsFlapOpen: + comment: True = at least one flap of this port is open, False = All flaps of this port are closed. + datatype: boolean + description: Status of the charging port flap(s). type: actuator - uuid: 71bdd2145bb55c3393df194bfc2e03e5 -Vehicle.Powertrain.TractionBattery.Charging.ChargePortPosition: +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontLeft.SupportedInletTypes: allowed: - - FRONT_LEFT - - FRONT_MIDDLE - - FRONT_RIGHT - - REAR_LEFT - - REAR_MIDDLE - - REAR_RIGHT - - LEFT_FRONT - - LEFT_MIDDLE - - LEFT_REAR - - RIGHT_FRONT - - RIGHT_MIDDLE - - RIGHT_REAR - comment: Example - If this signal is [LEFT_FRONT, RIGHT_FRONT] and Charging.ChargePortType is [IEC_TYPE_2_AC, GBT_AC] that means that there is Mennekes port on the left side of the vehicle near the front, and a GB/T AC port on the right side, near the front. + - IEC_TYPE_1_AC + - IEC_TYPE_2_AC + - IEC_TYPE_3_AC + - IEC_TYPE_4_DC + - IEC_TYPE_1_CCS_DC + - IEC_TYPE_2_CCS_DC + - TESLA_ROADSTER + - TESLA_HPWC + - TESLA_SUPERCHARGER + - GBT_AC + - GBT_DC + - OTHER + comment: A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in + the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196. datatype: string[] - description: Location of the charge port(s). First part indicates side of vehicle, second part relative position on that side. If supported, the list in this attribute shall have the same length as Charging.ChargePortType, and use same the relative order. + description: A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234. type: attribute - uuid: 71ff249b26215714b9b28b1b8e066dba -Vehicle.Powertrain.TractionBattery.Charging.ChargePortType: +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontMiddle: + comment: If a vehicle has a single charging port, then use the instance AnyPosition. + description: Properties related to a particular charging port available in the vehicle. + type: branch + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontMiddle.IsChargingCableConnected: + datatype: boolean + description: Indicates whether a charging cable is physically connected to a particular charging port or not. + type: sensor + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontMiddle.IsChargingCableLocked: + comment: Locking of charging cable can be used to prevent unintentional removing during charging. + datatype: boolean + description: Is charging cable locked to prevent removal. + type: actuator + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontMiddle.IsFlapOpen: + comment: True = at least one flap of this port is open, False = All flaps of this port are closed. + datatype: boolean + description: Status of the charging port flap(s). + type: actuator + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontMiddle.SupportedInletTypes: allowed: - IEC_TYPE_1_AC - IEC_TYPE_2_AC @@ -7964,103 +9088,206 @@ Vehicle.Powertrain.TractionBattery.Charging.ChargePortType: - GBT_AC - GBT_DC - OTHER - comment: A vehicle may have multiple charging ports. The signal Charging.ChargePortPosition can be used to indicate position of the charge port. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified - as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196. + comment: A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in + the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196. datatype: string[] - description: Type of charge ports (charging inlet) available on the vehicle. A charge port type may occur multiple times in the list if there are multiple instances of that charge port type. IEC types refer to IEC 62196, GBT refers to GB/T 20234. + description: A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234. type: attribute - uuid: c6f471ec8f51546ab45b8e1fd6119d30 -Vehicle.Powertrain.TractionBattery.Charging.ChargeRate: - datatype: float - description: Current charging rate, as in kilometers of range added per hour. +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontRight: + comment: If a vehicle has a single charging port, then use the instance AnyPosition. + description: Properties related to a particular charging port available in the vehicle. + type: branch + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontRight.IsChargingCableConnected: + datatype: boolean + description: Indicates whether a charging cable is physically connected to a particular charging port or not. type: sensor - unit: km/h - uuid: a287cea3fdaa533180c8e349343a7851 -Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage: - description: Current charging voltage, as measured at the charging inlet. +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontRight.IsChargingCableLocked: + comment: Locking of charging cable can be used to prevent unintentional removing during charging. + datatype: boolean + description: Is charging cable locked to prevent removal. + type: actuator + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontRight.IsFlapOpen: + comment: True = at least one flap of this port is open, False = All flaps of this port are closed. + datatype: boolean + description: Status of the charging port flap(s). + type: actuator + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.FrontRight.SupportedInletTypes: + allowed: + - IEC_TYPE_1_AC + - IEC_TYPE_2_AC + - IEC_TYPE_3_AC + - IEC_TYPE_4_DC + - IEC_TYPE_1_CCS_DC + - IEC_TYPE_2_CCS_DC + - TESLA_ROADSTER + - TESLA_HPWC + - TESLA_SUPERCHARGER + - GBT_AC + - GBT_DC + - OTHER + comment: A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in + the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196. + datatype: string[] + description: A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234. + type: attribute + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearLeft: + comment: If a vehicle has a single charging port, then use the instance AnyPosition. + description: Properties related to a particular charging port available in the vehicle. type: branch - uuid: 7170151d653b52c6bb5e75cb0a14d1c5 -Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.DC: - datatype: float - description: Current DC charging voltage at charging inlet. +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearLeft.IsChargingCableConnected: + datatype: boolean + description: Indicates whether a charging cable is physically connected to a particular charging port or not. type: sensor - unit: V - uuid: 701c21d1a4815b35ba061415789ec911 -Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.Phase1: - datatype: float - description: Current AC charging voltage (rms) at inlet for Phase 1. - type: sensor - unit: V - uuid: 15991c8316585816815d6f4fb6b06776 +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearLeft.IsChargingCableLocked: + comment: Locking of charging cable can be used to prevent unintentional removing during charging. + datatype: boolean + description: Is charging cable locked to prevent removal. + type: actuator -Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.Phase2: - datatype: float - description: Current AC charging voltage (rms) at inlet for Phase 2. - type: sensor - unit: V - uuid: 6c0dcf98169d5a5190736a6dd81291a4 +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearLeft.IsFlapOpen: + comment: True = at least one flap of this port is open, False = All flaps of this port are closed. + datatype: boolean + description: Status of the charging port flap(s). + type: actuator -Vehicle.Powertrain.TractionBattery.Charging.ChargeVoltage.Phase3: - datatype: float - description: Current AC charging voltage (rms) at inlet for Phase 3. - type: sensor - unit: V - uuid: 1ab06b48231e54e2ac27e543508c84f0 +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearLeft.SupportedInletTypes: + allowed: + - IEC_TYPE_1_AC + - IEC_TYPE_2_AC + - IEC_TYPE_3_AC + - IEC_TYPE_4_DC + - IEC_TYPE_1_CCS_DC + - IEC_TYPE_2_CCS_DC + - TESLA_ROADSTER + - TESLA_HPWC + - TESLA_SUPERCHARGER + - GBT_AC + - GBT_DC + - OTHER + comment: A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in + the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196. + datatype: string[] + description: A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234. + type: attribute -Vehicle.Powertrain.TractionBattery.Charging.EvseId: - comment: Length of id between 7 and 37 characters. ZZ00000 to be used if SECC cannot provide id - datatype: string - description: EVSE charging point ID (without separators) of last or current charging event according to ISO 15118-2 Annex H. +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearMiddle: + comment: If a vehicle has a single charging port, then use the instance AnyPosition. + description: Properties related to a particular charging port available in the vehicle. + type: branch + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearMiddle.IsChargingCableConnected: + datatype: boolean + description: Indicates whether a charging cable is physically connected to a particular charging port or not. type: sensor - uuid: 5cd32296574a5f0db05434ecb24ea778 -Vehicle.Powertrain.TractionBattery.Charging.IsChargePortFlapOpen: +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearMiddle.IsChargingCableLocked: + comment: Locking of charging cable can be used to prevent unintentional removing during charging. datatype: boolean - description: Status of the charge port flap(s), can potentially be controlled manually. True if at least one is open. + description: Is charging cable locked to prevent removal. type: actuator - uuid: 4999617956745477b905f7922b27d4ec -Vehicle.Powertrain.TractionBattery.Charging.IsCharging: +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearMiddle.IsFlapOpen: + comment: True = at least one flap of this port is open, False = All flaps of this port are closed. datatype: boolean - description: True if charging is ongoing. Charging is considered to be ongoing if energy is flowing from charger to vehicle. - type: sensor - uuid: d28244c9e3365899954bd3e38ef46bb9 + description: Status of the charging port flap(s). + type: actuator + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearMiddle.SupportedInletTypes: + allowed: + - IEC_TYPE_1_AC + - IEC_TYPE_2_AC + - IEC_TYPE_3_AC + - IEC_TYPE_4_DC + - IEC_TYPE_1_CCS_DC + - IEC_TYPE_2_CCS_DC + - TESLA_ROADSTER + - TESLA_HPWC + - TESLA_SUPERCHARGER + - GBT_AC + - GBT_DC + - OTHER + comment: A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in + the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196. + datatype: string[] + description: A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234. + type: attribute + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearRight: + comment: If a vehicle has a single charging port, then use the instance AnyPosition. + description: Properties related to a particular charging port available in the vehicle. + type: branch -Vehicle.Powertrain.TractionBattery.Charging.IsChargingCableConnected: +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearRight.IsChargingCableConnected: datatype: boolean - description: Indicates if a charging cable is physically connected to the vehicle or not. + description: Indicates whether a charging cable is physically connected to a particular charging port or not. type: sensor - uuid: a1c8e2f662b95a54a9933a1b163fff84 -Vehicle.Powertrain.TractionBattery.Charging.IsChargingCableLocked: +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearRight.IsChargingCableLocked: comment: Locking of charging cable can be used to prevent unintentional removing during charging. datatype: boolean description: Is charging cable locked to prevent removal. type: actuator - uuid: 7fa81693f3b8587f8d71e7b1619c8e21 + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearRight.IsFlapOpen: + comment: True = at least one flap of this port is open, False = All flaps of this port are closed. + datatype: boolean + description: Status of the charging port flap(s). + type: actuator + +Vehicle.Powertrain.TractionBattery.Charging.ChargingPort.RearRight.SupportedInletTypes: + allowed: + - IEC_TYPE_1_AC + - IEC_TYPE_2_AC + - IEC_TYPE_3_AC + - IEC_TYPE_4_DC + - IEC_TYPE_1_CCS_DC + - IEC_TYPE_2_CCS_DC + - TESLA_ROADSTER + - TESLA_HPWC + - TESLA_SUPERCHARGER + - GBT_AC + - GBT_DC + - OTHER + comment: A vehicle may have multiple charging ports. IEC_TYPE_1_AC refers to Type 1 as defined in IEC 62196-2. Also known as Yazaki or J1772 connector. IEC_TYPE_2_AC refers to Type 2 as defined in IEC 62196-2. Also known as Mennekes connector. IEC_TYPE_3_AC refers to Type 3 as defined in IEC 62196-2. Also known as Scame connector. IEC_TYPE_4_DC refers to AA configuration as defined in IEC 62196-3. Also known as Type 4 or CHAdeMO connector. IEC_TYPE_1_CCS_DC refers to EE Configuration as defined in IEC 62196-3. Also known as CCS1 or Combo1 connector. IEC_TYPE_2_CCS_DC refers to FF Configuration as defined in IEC 62196-3. Also known as CCS2 or Combo2 connector. TESLA_ROADSTER, TESLA_HPWC (High Power Wall Connector) and TESLA_SUPERCHARGER refer to non-standardized charging ports/methods used by Tesla. GBT_AC refers to connector specified in GB/T 20234.2. GBT_DC refers to connector specified in GB/T 20234.3. Also specified as BB Configuration in IEC 62196-3. OTHER shall be used for charging ports not included in + the list above. For additional information see https://en.wikipedia.org/wiki/IEC_62196. + datatype: string[] + description: A list of the supported (i.e., available) charging inlets in a particular charging port. IEC types refer to IEC 62196, GBT refers to GB/T 20234. + type: attribute + +Vehicle.Powertrain.TractionBattery.Charging.EvseId: + comment: Length of id between 7 and 37 characters. ZZ00000 to be used if SECC cannot provide id + datatype: string + description: EVSE charging point ID (without separators) of last or current charging event according to ISO 15118-2 Annex H. + type: sensor + +Vehicle.Powertrain.TractionBattery.Charging.IsCharging: + datatype: boolean + description: True if charging is ongoing. Charging is considered to be ongoing if energy is flowing from charger to vehicle. + type: sensor Vehicle.Powertrain.TractionBattery.Charging.IsDischarging: datatype: boolean description: True if discharging (vehicle to grid) is ongoing. Discharging is considered to be ongoing if energy is flowing from vehicle to charger/grid. type: sensor - uuid: 534d884fb36652688535543b52419529 Vehicle.Powertrain.TractionBattery.Charging.Location: comment: This may depending on implementation represent the location of (the charge port of) the vehicle during charging, or the actual location of the charger/load connected to the vehicle. description: Location of last or current charging event. type: branch - uuid: 5fef3925dfd55bbeb5d6590181fbbad8 Vehicle.Powertrain.TractionBattery.Charging.Location.Altitude: datatype: double description: Altitude relative to WGS 84 reference ellipsoid of last or current charging event. type: sensor unit: m - uuid: eed551cc893a5e12ba6a3b977d93cc03 Vehicle.Powertrain.TractionBattery.Charging.Location.Latitude: datatype: double @@ -8069,7 +9296,6 @@ Vehicle.Powertrain.TractionBattery.Charging.Location.Latitude: min: -90 type: sensor unit: degrees - uuid: 33fc44c112735cc2bc0ee02f1786d948 Vehicle.Powertrain.TractionBattery.Charging.Location.Longitude: datatype: double @@ -8078,71 +9304,46 @@ Vehicle.Powertrain.TractionBattery.Charging.Location.Longitude: min: -180 type: sensor unit: degrees - uuid: 42db7473630c506eb5528c9bcaf8e8c6 Vehicle.Powertrain.TractionBattery.Charging.MaxPower: datatype: float description: Maximum charging power of last or current charging event. type: sensor unit: kW - uuid: a8abad6796d55f8abe925c1efd76280a Vehicle.Powertrain.TractionBattery.Charging.MaximumChargingCurrent: description: Maximum charging current that can be accepted by the system, as measured at the charging inlet. type: branch - uuid: e3f2e57e7a395d9ca9931d429e540a34 Vehicle.Powertrain.TractionBattery.Charging.MaximumChargingCurrent.DC: datatype: float description: Maximum DC charging current at inlet that can be accepted by the system. type: sensor unit: A - uuid: 5a70acfd3c8959898b43738151ab36e1 Vehicle.Powertrain.TractionBattery.Charging.MaximumChargingCurrent.Phase1: datatype: float description: Maximum AC charging current (rms) at inlet for Phase 1 that can be accepted by the system. type: sensor unit: A - uuid: e3c1034e89cc55968ff51b990906db43 Vehicle.Powertrain.TractionBattery.Charging.MaximumChargingCurrent.Phase2: datatype: float description: Maximum AC charging current (rms) at inlet for Phase 2 that can be accepted by the system. type: sensor unit: A - uuid: ab3514bc982e54f2b98698fb6c752368 Vehicle.Powertrain.TractionBattery.Charging.MaximumChargingCurrent.Phase3: datatype: float description: Maximum AC charging current (rms) at inlet for Phase 3 that can be accepted by the system. type: sensor unit: A - uuid: 47dd5e99c30d562e9e2e1c58007846b6 - -Vehicle.Powertrain.TractionBattery.Charging.Mode: - allowed: - - DEACTIVATED - - AUTOMATIC - - TRIGGERED - - TIMER - - PROFILE - - EXTERNAL_ENTITY - - MANUAL - - GRID - comment: EXTERNAL_ENTITY is the only mode where discharge may occur. The mechanism to provide a profile to the vehicle is currently not covered by VSS. - datatype: string - deprecation: V4.1 - MANUAL and GRID are deprecated, please use AUTOMATIC/TRIGGERED or EXTERNAL_ENITY instead. - description: Describes how the charging process is controlled. DEACTIVATED means that charging and discharging is deactivated, nothing will happen if charger is connected. AUTOMATIC means charging will be initiated as soon as charger is connected. TRIGGERED means charging will be initiated when triggered by user. TIMER means charging is timer-based. PROFILE means charging is controlled by profile downloaded to vehicle. EXTERNAL_ENTITY means charging/discharging is controlled by the external entity connected to the vehicle. This includes GRID-controlled charging (e.g. ISO 15118), but also other cases where vehicle is connected to an arbitrary load that is powered by the vehicle. MANUAL means manually initiated (plug-in event, companion app, etc). GRID means grid-controlled (e.g. ISO 15118). - type: actuator - uuid: 1e4be3280b265873945531f6f6d0ec6b Vehicle.Powertrain.TractionBattery.Charging.PowerLoss: datatype: float description: Electrical energy lost by power dissipation to heat inside the AC/DC converter. type: sensor unit: W - uuid: 88f40bbeb80b5dfb97ceba13269665c5 Vehicle.Powertrain.TractionBattery.Charging.StartStopCharging: allowed: @@ -8151,14 +9352,12 @@ Vehicle.Powertrain.TractionBattery.Charging.StartStopCharging: datatype: string description: Start or stop the charging process. type: actuator - uuid: 80506d3e9a2557c2b52f74a50d89593f Vehicle.Powertrain.TractionBattery.Charging.Temperature: datatype: float description: Current temperature of AC/DC converter converting grid voltage to battery voltage. type: sensor - unit: celsius - uuid: c3c0ef3a41db5df1bab659803adbc7ba + unit: Celsius Vehicle.Powertrain.TractionBattery.Charging.TimeToComplete: comment: Shall consider time set by Charging.Timer.Time. E.g. if charging shall start in 3 hours and 2 hours of charging is needed, then Charging.TimeToComplete shall report 5 hours. @@ -8166,12 +9365,10 @@ Vehicle.Powertrain.TractionBattery.Charging.TimeToComplete: description: The time needed for the current charging process to reach Charging.ChargeLimit. 0 if charging is complete or no charging process is active or planned. type: sensor unit: s - uuid: c6439c2e068652b08383b9654e2e784a Vehicle.Powertrain.TractionBattery.Charging.Timer: description: Properties related to timing of battery charging sessions. type: branch - uuid: cd5b57ada627510e83f90832efed9d5a Vehicle.Powertrain.TractionBattery.Charging.Timer.Mode: allowed: @@ -8181,103 +9378,88 @@ Vehicle.Powertrain.TractionBattery.Charging.Timer.Mode: datatype: string description: 'Defines timer mode for charging: INACTIVE - no timer set, charging may start as soon as battery is connected to a charger. START_TIME - charging shall start at Charging.Timer.Time. END_TIME - charging shall be finished (reach Charging.ChargeLimit) at Charging.Timer.Time. When charging is completed the vehicle shall change mode to ''inactive'' or set a new Charging.Timer.Time. Charging shall start immediately if mode is ''starttime'' or ''endtime'' and Charging.Timer.Time is a time in the past.' type: actuator - uuid: b09fb52261735977af275dda1904a7a1 Vehicle.Powertrain.TractionBattery.Charging.Timer.Time: datatype: string description: Time for next charging-related action, formatted according to ISO 8601 with UTC time zone. Value has no significance if Charging.Timer.Mode is 'inactive'. type: actuator unit: iso8601 - uuid: c08dcaeda02b5e26aacd7e2542f0fc90 Vehicle.Powertrain.TractionBattery.CurrentCurrent: datatype: float description: Current current flowing in/out of battery. Positive = Current flowing in to battery, e.g. during charging. Negative = Current flowing out of battery, e.g. during driving. type: sensor unit: A - uuid: 7a1488e0c83f50a6b69d8ea85c5bb592 Vehicle.Powertrain.TractionBattery.CurrentPower: datatype: float description: Current electrical energy flowing in/out of battery. Positive = Energy flowing in to battery, e.g. during charging. Negative = Energy flowing out of battery, e.g. during driving. type: sensor unit: W - uuid: 8859e1b0386a5eda880a9c30cd0dfa8e Vehicle.Powertrain.TractionBattery.CurrentVoltage: datatype: float description: Current Voltage of the battery. type: sensor unit: V - uuid: 7b54ea22ee7d5f559da552aefcc07222 Vehicle.Powertrain.TractionBattery.DCDC: description: Properties related to DC/DC converter converting high voltage (from high voltage battery) to vehicle low voltage (supply voltage, typically 12 Volts). type: branch - uuid: 01f4943795b55cbd8f94e1bca137fc0a Vehicle.Powertrain.TractionBattery.DCDC.PowerLoss: datatype: float description: Electrical energy lost by power dissipation to heat inside DC/DC converter. type: sensor unit: W - uuid: f29e37087cdf57ca998188c7b945a77b Vehicle.Powertrain.TractionBattery.DCDC.Temperature: datatype: float description: Current temperature of DC/DC converter converting battery high voltage to vehicle low voltage (typically 12 Volts). type: sensor - unit: celsius - uuid: 4e587c3af2aa5fbb9205e42a64fc8d77 + unit: Celsius Vehicle.Powertrain.TractionBattery.ErrorCodes: comment: Error code format is not defined, it may be DTCs according to OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX ) or any other format. datatype: string[] description: Current error codes related to the battery, if any. type: sensor - uuid: bbc1f199a5965e5eb4f99709052a7cc4 Vehicle.Powertrain.TractionBattery.GrossCapacity: datatype: uint16 description: Gross capacity of the battery. type: attribute unit: kWh - uuid: 5460530488435dc8bfa1298bf47a993d Vehicle.Powertrain.TractionBattery.Id: comment: This could be serial number, part number plus serial number, UUID, or any other identifier that the OEM want to use to uniquely identify the battery individual. datatype: string description: Battery Identification Number as assigned by OEM. type: attribute - uuid: c8279874660c55b38c7ac64a8503a519 Vehicle.Powertrain.TractionBattery.IsGroundConnected: comment: It might be possible to disconnect the traction battery used by an electric powertrain. This is achieved by connectors, typically one for plus and one for minus. datatype: boolean description: Indicating if the ground (negative terminator) of the traction battery is connected to the powertrain. type: sensor - uuid: dd38d1c7ee12530aac03f49ad01d5c04 Vehicle.Powertrain.TractionBattery.IsPowerConnected: comment: It might be possible to disconnect the traction battery used by an electric powertrain. This is achieved by connectors, typically one for plus and one for minus. datatype: boolean description: Indicating if the power (positive terminator) of the traction battery is connected to the powertrain. type: sensor - uuid: e30ef59fc2a25f6b8990248e19a5cdf9 Vehicle.Powertrain.TractionBattery.MaxVoltage: datatype: uint16 description: Max allowed voltage of the battery, e.g. during charging. type: attribute unit: V - uuid: a81264a0ef0c55d288671cfc62c4add5 Vehicle.Powertrain.TractionBattery.NetCapacity: datatype: uint16 description: Total net capacity of the battery considering aging. type: sensor unit: kWh - uuid: 9c68fe42cb81501eb6349f8c9b0b6899 Vehicle.Powertrain.TractionBattery.NominalVoltage: comment: Nominal voltage typically refers to voltage of fully charged battery when delivering rated capacity. @@ -8285,33 +9467,28 @@ Vehicle.Powertrain.TractionBattery.NominalVoltage: description: Nominal Voltage of the battery. type: attribute unit: V - uuid: 3eccae5633185b998d5bdb6ea33cd926 Vehicle.Powertrain.TractionBattery.PowerLoss: datatype: float description: Electrical energy lost by power dissipation to heat inside the battery. type: sensor unit: W - uuid: 880082aafe025cb3a5776b623f9a48b5 Vehicle.Powertrain.TractionBattery.ProductionDate: datatype: string description: Production date of battery in ISO8601 format, e.g. YYYY-MM-DD. type: attribute unit: iso8601 - uuid: c9509ba4d76c56d9a8c1d6e2280ae02f Vehicle.Powertrain.TractionBattery.Range: datatype: uint32 description: Remaining range in meters using only battery. type: sensor unit: m - uuid: c0376a425e5d578d9d86ae0dc2ad9778 Vehicle.Powertrain.TractionBattery.StateOfCharge: description: Information on the state of charge of the vehicle's high voltage battery. type: branch - uuid: 26bae2ce7c4d5e2a951915ef2f5d8b7d Vehicle.Powertrain.TractionBattery.StateOfCharge.Current: datatype: float @@ -8320,7 +9497,6 @@ Vehicle.Powertrain.TractionBattery.StateOfCharge.Current: min: 0 type: sensor unit: percent - uuid: 2e647ca3a1ff5e52af137aab240642da Vehicle.Powertrain.TractionBattery.StateOfCharge.CurrentEnergy: comment: Current energy could be calculated as .StateOfCharge.Current * .NetCapacity. @@ -8328,7 +9504,6 @@ Vehicle.Powertrain.TractionBattery.StateOfCharge.CurrentEnergy: description: Physical state of charge of high voltage battery expressed in kWh. type: sensor unit: kWh - uuid: 435ef8dbe4425450ae1ff6215fc9e40b Vehicle.Powertrain.TractionBattery.StateOfCharge.Displayed: datatype: float @@ -8337,7 +9512,6 @@ Vehicle.Powertrain.TractionBattery.StateOfCharge.Displayed: min: 0 type: sensor unit: percent - uuid: 1bfcc228293b5512aafe2508ab0500d2 Vehicle.Powertrain.TractionBattery.StateOfHealth: comment: Exact formula is implementation dependent. Could be e.g. current capacity at 20 degrees Celsius divided with original capacity at the same temperature. @@ -8347,52 +9521,44 @@ Vehicle.Powertrain.TractionBattery.StateOfHealth: min: 0 type: sensor unit: percent - uuid: 4d982c47f3245048bcfec1190973a3ed Vehicle.Powertrain.TractionBattery.Temperature: description: Temperature Information for the battery pack. type: branch - uuid: 1cfbcf8c152959dcb3eb2c54fc42e623 Vehicle.Powertrain.TractionBattery.Temperature.Average: datatype: float description: Current average temperature of the battery cells. type: sensor - unit: celsius - uuid: ae28e502137f56b9a037ed9b32bc04e1 + unit: Celsius Vehicle.Powertrain.TractionBattery.Temperature.CellTemperature: comment: Cells are identified by relative position in array. datatype: float[] description: Array of cell temperatures. Length or array shall correspond to number of cells in vehicle. type: sensor - uuid: e92fede319da5e428f4bd024d7dd6970 Vehicle.Powertrain.TractionBattery.Temperature.Max: datatype: float description: Current maximum temperature of the battery cells, i.e. temperature of the hottest cell. type: sensor - unit: celsius - uuid: 07aa7c8ba1d355398d7469c2b337152a + unit: Celsius Vehicle.Powertrain.TractionBattery.Temperature.Min: datatype: float description: Current minimum temperature of the battery cells, i.e. temperature of the coldest cell. type: sensor - unit: celsius - uuid: 4e3f630fefa7558fa302b175bc7eb5c7 + unit: Celsius Vehicle.Powertrain.TractionBattery.TimeRemaining: datatype: uint32 description: Time remaining in seconds before the battery is empty. type: sensor unit: s - uuid: 7a51820010f35dcabe968e669173b27e Vehicle.Powertrain.Transmission: description: Transmission-specific data, stopping at the drive shafts. type: branch - uuid: 6b71e284b63a527caa6296a66e9fdd0c Vehicle.Powertrain.Transmission.ClutchEngagement: datatype: float @@ -8401,7 +9567,6 @@ Vehicle.Powertrain.Transmission.ClutchEngagement: min: 0 type: actuator unit: percent - uuid: 2890bd4a2b6a56c19b62d7bd95151fc6 Vehicle.Powertrain.Transmission.ClutchWear: datatype: uint8 @@ -8409,13 +9574,11 @@ Vehicle.Powertrain.Transmission.ClutchWear: max: 100 type: sensor unit: percent - uuid: c113405ad165571a9d53ae4cf55dc929 Vehicle.Powertrain.Transmission.CurrentGear: datatype: int8 description: The current gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse. type: sensor - uuid: cd0ba1d772565e16bff46cbd5c9361da Vehicle.Powertrain.Transmission.DiffLockFrontEngagement: datatype: float @@ -8424,7 +9587,6 @@ Vehicle.Powertrain.Transmission.DiffLockFrontEngagement: min: 0 type: actuator unit: percent - uuid: 5149afe37fbd5c24847b5820821abc02 Vehicle.Powertrain.Transmission.DiffLockRearEngagement: datatype: float @@ -8433,7 +9595,6 @@ Vehicle.Powertrain.Transmission.DiffLockRearEngagement: min: 0 type: actuator unit: percent - uuid: 197c939bd1405613b80179becec6db83 Vehicle.Powertrain.Transmission.DriveType: allowed: @@ -8445,7 +9606,6 @@ Vehicle.Powertrain.Transmission.DriveType: default: UNKNOWN description: Drive type. type: attribute - uuid: 0e480b76fb2d5f8bb08fb586f90ee6ae Vehicle.Powertrain.Transmission.GearChangeMode: allowed: @@ -8454,34 +9614,29 @@ Vehicle.Powertrain.Transmission.GearChangeMode: datatype: string description: Is the gearbox in automatic or manual (paddle) mode. type: actuator - uuid: ff3c69378c2f598286e51f7dac13adaa Vehicle.Powertrain.Transmission.GearCount: datatype: int8 default: 0 description: Number of forward gears in the transmission. -1 = CVT. type: attribute - uuid: 84293f40d3ed57f1a08992d97b1a9ccd Vehicle.Powertrain.Transmission.IsElectricalPowertrainEngaged: comment: In some hybrid solutions it is possible to disconnect/disengage the electrical powertrain mechanically to avoid induced voltage reaching a too high level when driving at high speed. datatype: boolean description: Is electrical powertrain mechanically connected/engaged to the drivetrain or not. False = Disconnected/Disengaged. True = Connected/Engaged. type: actuator - uuid: 6660cf1d88d15430b1e7c8908a7b769b Vehicle.Powertrain.Transmission.IsLowRangeEngaged: comment: The possibility to switch between low and high gear range is typically only available in heavy vehicles and off-road vehicles. datatype: boolean description: Is gearbox in low range mode or not. False = Normal/High range engaged. True = Low range engaged. type: actuator - uuid: 63ba7593926b574ebbe4f90b28557e78 Vehicle.Powertrain.Transmission.IsParkLockEngaged: datatype: boolean description: Is the transmission park lock engaged or not. False = Disengaged. True = Engaged. type: actuator - uuid: 1578da3f925e54ac9df978abd0195408 Vehicle.Powertrain.Transmission.PerformanceMode: allowed: @@ -8493,20 +9648,17 @@ Vehicle.Powertrain.Transmission.PerformanceMode: datatype: string description: Current gearbox performance mode. type: actuator - uuid: 6b5cfd85cb595e559503ccf993be04dd Vehicle.Powertrain.Transmission.SelectedGear: datatype: int8 description: The selected gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse, 126=Park, 127=Drive. type: actuator - uuid: 490fd99b9d5f562eb180c19e8cef5e12 Vehicle.Powertrain.Transmission.Temperature: - datatype: int16 + datatype: float description: The current gearbox temperature. type: sensor - unit: celsius - uuid: 4f5e48c3511b5e1abff11aa7ec62dd18 + unit: Celsius Vehicle.Powertrain.Transmission.TorqueDistribution: datatype: float @@ -8515,14 +9667,12 @@ Vehicle.Powertrain.Transmission.TorqueDistribution: min: -100 type: actuator unit: percent - uuid: d3bcaaf973d3512287817049db9bd677 Vehicle.Powertrain.Transmission.TravelledDistance: datatype: float description: Odometer reading, total distance travelled during the lifetime of the transmission. type: sensor unit: km - uuid: b9dd66f20c7f5b12a046766b94dc20c1 Vehicle.Powertrain.Transmission.Type: allowed: @@ -8536,7 +9686,6 @@ Vehicle.Powertrain.Transmission.Type: default: UNKNOWN description: Transmission type. type: attribute - uuid: f83b9e5464d85a0288fcb32c164d3c63 Vehicle.Powertrain.Type: allowed: @@ -8547,46 +9696,39 @@ Vehicle.Powertrain.Type: datatype: string description: Defines the powertrain type of the vehicle. type: attribute - uuid: 2a000da4204658a4a6e3ecd5176bdfba Vehicle.RoofLoad: datatype: int16 description: The permitted total weight of cargo and installations (e.g. a roof rack) on top of the vehicle. type: attribute unit: kg - uuid: 97dc98269a19591d9efa455a8d943c16 Vehicle.Service: description: Service data. type: branch - uuid: b6463772705b56a7a993e23601bd3d47 Vehicle.Service.DistanceToService: datatype: float description: Remaining distance to service (of any kind). Negative values indicate service overdue. type: sensor unit: km - uuid: 6f4347ce149759819572c8c3a17e8d93 Vehicle.Service.IsServiceDue: datatype: boolean description: Indicates if vehicle needs service (of any kind). True = Service needed now or in the near future. False = No known need for service. type: sensor - uuid: 3e28f85ccccd5702b9adbe9a761ea1b4 Vehicle.Service.TimeToService: datatype: int32 description: Remaining time to service (of any kind). Negative values indicate service overdue. type: sensor unit: s - uuid: c968be91a5685fa9ae30b84a0f91934e Vehicle.Speed: datatype: float description: Vehicle speed. type: sensor unit: km/h - uuid: efe50798638d55fab18ab7d43cc490e9 Vehicle.StartTime: comment: This signal is supposed to be set whenever a new trip starts. A new trip is considered to start when engine gets enabled (e.g. LowVoltageSystemState in ON or START mode). A trip is considered to end when engine is no longer enabled. The default value indicates that the vehicle never has been started, or that latest start time is unknown. @@ -8595,33 +9737,28 @@ Vehicle.StartTime: description: Start time of current or latest trip, formatted according to ISO 8601 with UTC time zone. type: attribute unit: iso8601 - uuid: 3790b5f4513c5a3d90a0503a965bbbe0 Vehicle.Trailer: description: Trailer signals. type: branch - uuid: 66206ee5c25a5817bef214c0c8ae8013 Vehicle.Trailer.IsConnected: datatype: boolean description: Signal indicating if trailer is connected or not. type: sensor - uuid: 77f28ed03c125ac9a19d22e9436b0ec4 Vehicle.TraveledDistance: - datatype: float + datatype: uint32 description: Odometer reading, total distance traveled during the lifetime of the vehicle. type: sensor - unit: km - uuid: 32c3c3585f105d8aa5566ef5a038a741 + unit: m Vehicle.TraveledDistanceSinceStart: comment: A new trip is considered to start when engine gets enabled (e.g. LowVoltageSystemState in ON or START mode). A trip is considered to end when engine is no longer enabled. The signal may however keep the value of the last trip until a new trip is started. - datatype: float + datatype: uint32 description: Distance traveled since start of current trip. type: sensor - unit: km - uuid: cfc6efd2793152e487f9fe3f4e03fd5d + unit: m Vehicle.TripDuration: comment: This signal is not assumed to be continuously updated, but instead set to 0 when a trip starts and set to the actual duration of the trip when a trip ends. A new trip is considered to start when engine gets enabled (e.g. LowVoltageSystemState in ON or START mode). A trip is considered to end when engine is no longer enabled. @@ -8629,201 +9766,164 @@ Vehicle.TripDuration: description: Duration of latest trip. type: sensor unit: s - uuid: 84b9558ad33555389791b57d505f27a8 Vehicle.TripMeterReading: comment: The trip meter is an odometer that can be manually reset by the driver - datatype: float + datatype: uint32 description: Trip meter reading. type: actuator - unit: km - uuid: 81f51ebfe29c591190171d7b96e1c948 + unit: m Vehicle.TurningDiameter: datatype: uint16 description: Minimum turning diameter, Wall-to-Wall, as defined by SAE J1100-2009 D102. type: attribute unit: mm - uuid: acc4b8faccf45139a948e97570767736 Vehicle.VehicleIdentification: description: Attributes that identify a vehicle. type: branch - uuid: c33861c3e9125208b05f23fe922bf08e Vehicle.VehicleIdentification.AcrissCode: datatype: string description: The ACRISS Car Classification Code is a code used by many car rental companies. type: attribute - uuid: 115a821e8e0b57f08e4b9e61e85d7156 Vehicle.VehicleIdentification.BodyType: datatype: string description: Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.). type: attribute - uuid: e6d5c71ecec95d68b0b59bb7e93af759 Vehicle.VehicleIdentification.Brand: datatype: string description: Vehicle brand or manufacturer. type: attribute - uuid: 19fd645ff5385767bcdbf5dd4313483f Vehicle.VehicleIdentification.DateVehicleFirstRegistered: datatype: string description: The date in ISO 8601 format of the first registration of the vehicle with the respective public authorities. type: attribute unit: iso8601 - uuid: 046f47acf62e50bd863d6568d73743d7 Vehicle.VehicleIdentification.KnownVehicleDamages: datatype: string description: A textual description of known damages, both repaired and unrepaired. type: attribute - uuid: e87f352cddb15e94b340506b17207586 Vehicle.VehicleIdentification.LicensePlate: comment: Depending on the context, this attribute might not be up to date or might be misconfigured, and therefore should be considered untrustworthy in the absence of another method of verification. datatype: string description: The license plate of the vehicle. type: attribute - uuid: 81ddd35883995a61a5fb71e26d31adaa Vehicle.VehicleIdentification.MeetsEmissionStandard: datatype: string description: Indicates that the vehicle meets the respective emission standard. type: attribute - uuid: d75dedbfadca54d8b6c7261c37ad5d83 Vehicle.VehicleIdentification.Model: datatype: string description: Vehicle model. type: attribute - uuid: dd3d3b72e6a85b3695ba25f829255403 Vehicle.VehicleIdentification.OptionalExtras: comment: Allowed values are not standardized, each OEM can specify detail descriptions of array elements. datatype: string[] description: Optional extras refers to all car equipment options that are not installed as standard by the manufacturer. type: attribute - uuid: d9ecc64b0c995595967e05009d6fc1b9 Vehicle.VehicleIdentification.ProductionDate: datatype: string description: The date in ISO 8601 format of production of the item, e.g. vehicle. type: attribute unit: iso8601 - uuid: 5683877c4bac504d915b268c9476c190 Vehicle.VehicleIdentification.PurchaseDate: datatype: string description: The date in ISO 8601 format of the item e.g. vehicle was purchased by the current owner. type: attribute unit: iso8601 - uuid: 31302f8b57e85c4197afda3e3201fce8 Vehicle.VehicleIdentification.VIN: datatype: string description: 17-character Vehicle Identification Number (VIN) as defined by ISO 3779. + pattern: ^([0-9A-HJ-NPR-Z]{3})([0-9A-HJ-NPR-Z]{6})([0-9A-HJ-NPR-Z]{4}[0-9]{4})$ type: attribute - uuid: 6f0b6fa8c34f589baa92e565bc9df5bd Vehicle.VehicleIdentification.VehicleConfiguration: datatype: string description: A short text indicating the configuration of the vehicle, e.g. '5dr hatchback ST 2.5 MT 225 hp' or 'limited edition'. type: attribute - uuid: 2526c7ba4c8458c78000a9e5f2fe89d5 Vehicle.VehicleIdentification.VehicleExteriorColor: datatype: string description: The main color of the exterior within the basic color palette (eg. red, blue, black, white, ...). type: attribute - uuid: 07c48d164c615369b87ccc2920edf802 Vehicle.VehicleIdentification.VehicleInteriorColor: datatype: string description: The color or color combination of the interior of the vehicle. type: attribute - uuid: 67a8b069b8bf573993d51959c24f04e2 Vehicle.VehicleIdentification.VehicleInteriorType: datatype: string description: The type or material of the interior of the vehicle (e.g. synthetic fabric, leather, wood, etc.). type: attribute - uuid: 4c4eed302b2e51daa9b6f5f398987a77 Vehicle.VehicleIdentification.VehicleModelDate: datatype: string description: The release date in ISO 8601 format of a vehicle model (often used to differentiate versions of the same make and model). type: attribute unit: iso8601 - uuid: c71b63f83dea536bac58e62bbe537f11 Vehicle.VehicleIdentification.VehicleSeatingCapacity: datatype: uint16 description: The number of passengers that can be seated in the vehicle, both in terms of the physical space available, and in terms of limitations set by law. type: attribute - uuid: 7ae5db0e0482555686b9be71dd8a0c38 Vehicle.VehicleIdentification.VehicleSpecialUsage: datatype: string description: Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school. type: attribute - uuid: 7e6e8a48f54a5549a8f6af8f1dc5eb8d Vehicle.VehicleIdentification.WMI: datatype: string description: 3-character World Manufacturer Identification (WMI) as defined by ISO 3780. type: attribute - uuid: e7c86defbcd554a79f90ba85de58e133 Vehicle.VehicleIdentification.Year: datatype: uint16 description: Model year of the vehicle. type: attribute - uuid: 9a76b0aca8e45f6fb33dbaf5b976b8b5 Vehicle.VersionVSS: description: Supported Version of VSS. type: branch - uuid: 9a687e56f1305eedb20f6a021ea58f48 Vehicle.VersionVSS.Label: comment: COVESA VSS project typically use dev for latest master, and empty string for released versions. datatype: string + default: '' description: Label to further describe the version. type: attribute - uuid: 7c92cd50d24b5662922b27cb9a327e53 Vehicle.VersionVSS.Major: datatype: uint32 - default: 4 + default: 6 description: Supported Version of VSS - Major version. type: attribute - uuid: 5edf1a338c975cbb84d4ce3cfe1aa4b4 Vehicle.VersionVSS.Minor: datatype: uint32 - default: 1 + default: 0 description: Supported Version of VSS - Minor version. type: attribute - uuid: 6e70a598dbc7534c96c58c18e9888cfd Vehicle.VersionVSS.Patch: datatype: uint32 default: 0 description: Supported Version of VSS - Patch version. type: attribute - uuid: 69858f224af459338b9bfbff436dda45 - -Vehicle.Width: - datatype: uint16 - default: 0 - deprecation: v4.1 replaced with WidthExcludingMirrors and WidthIncludingMirrors - description: Overall vehicle width. - type: attribute - unit: mm - uuid: b4aabe144e3259adb1459a2e25fec9bd Vehicle.WidthExcludingMirrors: datatype: uint16 @@ -8831,18 +9931,15 @@ Vehicle.WidthExcludingMirrors: description: Overall vehicle width excluding mirrors, as defined by SAE J1100-2009 W103. type: attribute unit: mm - uuid: 3b942451854151a182d8310e795dfb35 Vehicle.WidthFoldedMirrors: datatype: uint16 description: Overall vehicle width with mirrors folded, as defined by SAE J1100-2009 W145. type: attribute unit: mm - uuid: ee3490808cc35184af9639fb2f345f38 Vehicle.WidthIncludingMirrors: datatype: uint16 description: Overall vehicle width including mirrors, as defined by SAE J1100-2009 W144. type: attribute unit: mm - uuid: 25bd8bd35fbd59f8b7b6423a90219ca1 diff --git a/yarn.lock b/yarn.lock index e50a2cb..fcd4e44 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3,315 +3,267 @@ "@babel/code-frame@^7.0.0": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz" - integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz" + integrity sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw== dependencies: - "@babel/highlight" "^7.22.5" + "@babel/helper-validator-identifier" "^7.29.7" + js-tokens "^4.0.0" + picocolors "^1.1.1" + +"@babel/helper-validator-identifier@^7.29.7": + version "7.29.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz" + integrity sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg== + +"@commitlint/cli@^21.2.2": + version "21.2.2" + resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-21.2.2.tgz#ad1665bddd42249575fac99764c23998387b3dfe" + integrity sha512-a+6hQxIxnpdvSvS2apvttPNbEliYsVC3PqFYDiiB2kjbwIsQsj1urvQ4Tkf70pKYozPalKAuRQmm/GHwndduqA== + dependencies: + "@commitlint/config-conventional" "^21.2.2" + "@commitlint/format" "^21.2.2" + "@commitlint/lint" "^21.2.2" + "@commitlint/load" "^21.2.2" + "@commitlint/read" "^21.2.1" + "@commitlint/types" "^21.2.0" + tinyexec "^1.0.0" + yargs "^18.0.0" + +"@commitlint/config-conventional@^21.2.2": + version "21.2.2" + resolved "https://registry.yarnpkg.com/@commitlint/config-conventional/-/config-conventional-21.2.2.tgz#c8902f3ea1e741f55ec0fc7c177bcdf28ffd0082" + integrity sha512-NxA37SZviusFUEYOQZ5hNnZ1h7O/KiemPkxjOlpzKJNnWxThiwc6/SaZhaPa8fyLvfRBAywhQhJJk8XESHWlpQ== + dependencies: + "@commitlint/types" "^21.2.0" + conventional-changelog-conventionalcommits "^10.0.0" + +"@commitlint/config-validator@^21.2.0": + version "21.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/config-validator/-/config-validator-21.2.0.tgz#9597a3195ec5371594868f1eca14a3b3e6ffdc36" + integrity sha512-t7AzNHAKeIdo/3NRGwzpufKHsKkPHmFs/56N2Fnsh0/r0rGtnQzTxk6vnFgjaGr4hdSQKNB50/KAhR9Yk4LJKA== + dependencies: + "@commitlint/types" "^21.2.0" + ajv "^8.11.0" -"@babel/helper-validator-identifier@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz" - integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== +"@commitlint/ensure@^21.2.0": + version "21.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/ensure/-/ensure-21.2.0.tgz#6a46807a290bc95ac3cc001fd4068e538977627b" + integrity sha512-76IF9vDNS13lAzEEik9eKwzt8f9hYhWiwVXZ2AnyLCz5/f511FsEQ3pw1X3/zSQpdRLQU7i5qDMVKyXi1GWjSg== + dependencies: + "@commitlint/types" "^21.2.0" + es-toolkit "^1.46.0" + +"@commitlint/execute-rule@^21.0.1": + version "21.0.1" + resolved "https://registry.yarnpkg.com/@commitlint/execute-rule/-/execute-rule-21.0.1.tgz#3ebeee4d645527edfc3cf583ecbad92a4c28eddb" + integrity sha512-RifH+FmImozKBE6mozhF4K3r2RRKP7SMi/Q/zLCmExtp5e05lhHOUYqGBlFBAGNHaZxU/WYw1XuugYK9jQzqnA== + +"@commitlint/format@^21.2.2": + version "21.2.2" + resolved "https://registry.yarnpkg.com/@commitlint/format/-/format-21.2.2.tgz#e08d38f153d44615aed53123dfdab1abaab82ee0" + integrity sha512-v6fvxZSc/AvVMROlr3H34+1766bZSYApRUSCAMjWamStPjKMvZ8GdvVA5YW/VQNgbFTmcMz6OYmSTJEvIjPrfA== + dependencies: + "@commitlint/types" "^21.2.0" + picocolors "^1.1.1" + +"@commitlint/is-ignored@^21.2.2": + version "21.2.2" + resolved "https://registry.yarnpkg.com/@commitlint/is-ignored/-/is-ignored-21.2.2.tgz#6c44ae438aa415158d2c58d1cedcd9ac3d6a716a" + integrity sha512-9UoKNgfFE3LU7FrzierCvk3CdDfMDeVGC86qZiT/n0TIjfq/dmZ9MHuXd45OTNRa26ZanmJRxEtmiXk/lEJihg== + dependencies: + "@commitlint/types" "^21.2.0" + semver "^7.6.0" + +"@commitlint/lint@^21.2.2": + version "21.2.2" + resolved "https://registry.yarnpkg.com/@commitlint/lint/-/lint-21.2.2.tgz#24492822825e6e430b24f205447233b41183fadd" + integrity sha512-Fy8JxEBzdmsYWFude/61GxXu5O+wEymwiRK2z9GL9R8mCsXphCoGxAFc5iHn5mjlfcSrhiiONE+ksf4KOjnaPg== + dependencies: + "@commitlint/is-ignored" "^21.2.2" + "@commitlint/parse" "^21.2.2" + "@commitlint/rules" "^21.2.2" + "@commitlint/types" "^21.2.0" + +"@commitlint/load@^21.2.2": + version "21.2.2" + resolved "https://registry.yarnpkg.com/@commitlint/load/-/load-21.2.2.tgz#882128f6412ae123eb507b0a9e32a3c99ff3981d" + integrity sha512-0Tt6wDPX167cjKC5D4zhm0+20wJJG+TN/TKovMOspfSe78rOnKX+MNzlVNiu6HyQPZChPJ8QBH31MVt6Bb8fCg== + dependencies: + "@commitlint/config-validator" "^21.2.0" + "@commitlint/execute-rule" "^21.0.1" + "@commitlint/resolve-extends" "^21.2.2" + "@commitlint/types" "^21.2.0" + cosmiconfig "^9.0.1" + cosmiconfig-typescript-loader "^6.1.0" + es-toolkit "^1.46.0" + is-plain-obj "^4.1.0" + picocolors "^1.1.1" + +"@commitlint/message@^21.2.0": + version "21.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/message/-/message-21.2.0.tgz#72cbca26f7b1b37da5c1e40644c673efbb0e193e" + integrity sha512-YxGoiXD/HXNXLJPrQwE5poXa+XH0CBEm+mdvbHQP0g6MV/dmJyUFCzPNzZbxL93GvZ70TmtTK0Z0/IBpAqHv8g== + +"@commitlint/parse@^21.2.2": + version "21.2.2" + resolved "https://registry.yarnpkg.com/@commitlint/parse/-/parse-21.2.2.tgz#1ed7757d808bf18bfac4d881f9ad97a540723b30" + integrity sha512-MEkobPfvRp+z06Wro8HMG1BDGHzZmj82A1LH1nWeG3ipHpg/x4m6v3wEDvMBIKjRFUnfR3nBeFs3MVCr7UdAmg== + dependencies: + "@commitlint/types" "^21.2.0" + conventional-changelog-angular "^9.0.0" + conventional-commits-parser "^7.0.0" + +"@commitlint/read@^21.2.1": + version "21.2.1" + resolved "https://registry.yarnpkg.com/@commitlint/read/-/read-21.2.1.tgz#a39f19f73b45a604619831fdcbf93fa022feb870" + integrity sha512-hUW7EJQnNTL0vPOmVMNK4CrnrNBN0nN+JJHReFkdHO5y4iyHeEmTBwuC15OCqUTjxWo7idnH1LftfpWVIaPWIA== + dependencies: + "@commitlint/top-level" "^21.2.0" + "@commitlint/types" "^21.2.0" + "@conventional-changelog/git-client" "^3.0.0" + tinyexec "^1.0.0" + +"@commitlint/resolve-extends@^21.2.2": + version "21.2.2" + resolved "https://registry.yarnpkg.com/@commitlint/resolve-extends/-/resolve-extends-21.2.2.tgz#f867d0cea131f2c2bd64e6d079a443b0e5c6e851" + integrity sha512-RPkJ/IFi7sMUUVbZLqwWFtWw/zRDcfFsmrPSiTMrt5wb7AdxOr86EGQFvmGzef5QKV5IPBWWCujqVTw1RWX44A== + dependencies: + "@commitlint/config-validator" "^21.2.0" + "@commitlint/types" "^21.2.0" + es-toolkit "^1.46.0" + global-directory "^5.0.0" + resolve-from "^5.0.0" -"@babel/highlight@^7.22.5": - version "7.22.5" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz" - integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== +"@commitlint/rules@^21.2.2": + version "21.2.2" + resolved "https://registry.yarnpkg.com/@commitlint/rules/-/rules-21.2.2.tgz#11282e8645ac1bbac948dc9a53e33b50e6ac5ef2" + integrity sha512-eplQzyYkBjYB1HyyRj8hkcK11Y9DU9nuBz7uOKEd6NpE9NGDytLFCAnlRE+OoiK/5sHEJsaz2RGhuWBvYzIbNA== dependencies: - "@babel/helper-validator-identifier" "^7.22.5" - chalk "^2.0.0" - js-tokens "^4.0.0" + "@commitlint/ensure" "^21.2.0" + "@commitlint/message" "^21.2.0" + "@commitlint/to-lines" "^21.0.1" + "@commitlint/types" "^21.2.0" -"@commitlint/cli@^17.6.6": - version "17.6.6" - resolved "https://registry.npmjs.org/@commitlint/cli/-/cli-17.6.6.tgz" - integrity sha512-sTKpr2i/Fjs9OmhU+beBxjPavpnLSqZaO6CzwKVq2Tc4UYVTMFgpKOslDhUBVlfAUBfjVO8ParxC/MXkIOevEA== - dependencies: - "@commitlint/format" "^17.4.4" - "@commitlint/lint" "^17.6.6" - "@commitlint/load" "^17.5.0" - "@commitlint/read" "^17.5.1" - "@commitlint/types" "^17.4.4" - execa "^5.0.0" - lodash.isfunction "^3.0.9" - resolve-from "5.0.0" - resolve-global "1.0.0" - yargs "^17.0.0" - -"@commitlint/config-conventional@^17.6.6": - version "17.6.6" - resolved "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-17.6.6.tgz" - integrity sha512-phqPz3BDhfj49FUYuuZIuDiw+7T6gNAEy7Yew1IBHqSohVUCWOK2FXMSAExzS2/9X+ET93g0Uz83KjiHDOOFag== - dependencies: - conventional-changelog-conventionalcommits "^5.0.0" - -"@commitlint/config-validator@^17.4.4": - version "17.4.4" - resolved "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-17.4.4.tgz" - integrity sha512-bi0+TstqMiqoBAQDvdEP4AFh0GaKyLFlPPEObgI29utoKEYoPQTvF0EYqIwYYLEoJYhj5GfMIhPHJkTJhagfeg== - dependencies: - "@commitlint/types" "^17.4.4" - ajv "^8.11.0" +"@commitlint/to-lines@^21.0.1": + version "21.0.1" + resolved "https://registry.yarnpkg.com/@commitlint/to-lines/-/to-lines-21.0.1.tgz#9a76fcc634f2be2b5effcf67a2d69fcb4bdec9f8" + integrity sha512-bd1BFII7p1EQZre9Kaj+kKaMFP3cFCdt21K7DItVux9XP5WjLgJ0/Uy1pJJh9aPwVJ6SKg62PxqlZaHI8hQAXw== -"@commitlint/ensure@^17.4.4": - version "17.4.4" - resolved "https://registry.npmjs.org/@commitlint/ensure/-/ensure-17.4.4.tgz" - integrity sha512-AHsFCNh8hbhJiuZ2qHv/m59W/GRE9UeOXbkOqxYMNNg9pJ7qELnFcwj5oYpa6vzTSHtPGKf3C2yUFNy1GGHq6g== - dependencies: - "@commitlint/types" "^17.4.4" - lodash.camelcase "^4.3.0" - lodash.kebabcase "^4.1.1" - lodash.snakecase "^4.1.1" - lodash.startcase "^4.4.0" - lodash.upperfirst "^4.3.1" - -"@commitlint/execute-rule@^17.4.0": - version "17.4.0" - resolved "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-17.4.0.tgz" - integrity sha512-LIgYXuCSO5Gvtc0t9bebAMSwd68ewzmqLypqI2Kke1rqOqqDbMpYcYfoPfFlv9eyLIh4jocHWwCK5FS7z9icUA== - -"@commitlint/format@^17.4.4": - version "17.4.4" - resolved "https://registry.npmjs.org/@commitlint/format/-/format-17.4.4.tgz" - integrity sha512-+IS7vpC4Gd/x+uyQPTAt3hXs5NxnkqAZ3aqrHd5Bx/R9skyCAWusNlNbw3InDbAK6j166D9asQM8fnmYIa+CXQ== - dependencies: - "@commitlint/types" "^17.4.4" - chalk "^4.1.0" - -"@commitlint/is-ignored@^17.6.6": - version "17.6.6" - resolved "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-17.6.6.tgz" - integrity sha512-4Fw875faAKO+2nILC04yW/2Vy/wlV3BOYCSQ4CEFzriPEprc1Td2LILmqmft6PDEK5Sr14dT9tEzeaZj0V56Gg== - dependencies: - "@commitlint/types" "^17.4.4" - semver "7.5.2" - -"@commitlint/lint@^17.6.6": - version "17.6.6" - resolved "https://registry.npmjs.org/@commitlint/lint/-/lint-17.6.6.tgz" - integrity sha512-5bN+dnHcRLkTvwCHYMS7Xpbr+9uNi0Kq5NR3v4+oPNx6pYXt8ACuw9luhM/yMgHYwW0ajIR20wkPAFkZLEMGmg== - dependencies: - "@commitlint/is-ignored" "^17.6.6" - "@commitlint/parse" "^17.6.5" - "@commitlint/rules" "^17.6.5" - "@commitlint/types" "^17.4.4" - -"@commitlint/load@^17.5.0": - version "17.5.0" - resolved "https://registry.npmjs.org/@commitlint/load/-/load-17.5.0.tgz" - integrity sha512-l+4W8Sx4CD5rYFsrhHH8HP01/8jEP7kKf33Xlx2Uk2out/UKoKPYMOIRcDH5ppT8UXLMV+x6Wm5osdRKKgaD1Q== - dependencies: - "@commitlint/config-validator" "^17.4.4" - "@commitlint/execute-rule" "^17.4.0" - "@commitlint/resolve-extends" "^17.4.4" - "@commitlint/types" "^17.4.4" - "@types/node" "*" - chalk "^4.1.0" - cosmiconfig "^8.0.0" - cosmiconfig-typescript-loader "^4.0.0" - lodash.isplainobject "^4.0.6" - lodash.merge "^4.6.2" - lodash.uniq "^4.5.0" - resolve-from "^5.0.0" - ts-node "^10.8.1" - typescript "^4.6.4 || ^5.0.0" - -"@commitlint/message@^17.4.2": - version "17.4.2" - resolved "https://registry.npmjs.org/@commitlint/message/-/message-17.4.2.tgz" - integrity sha512-3XMNbzB+3bhKA1hSAWPCQA3lNxR4zaeQAQcHj0Hx5sVdO6ryXtgUBGGv+1ZCLMgAPRixuc6en+iNAzZ4NzAa8Q== - -"@commitlint/parse@^17.6.5": - version "17.6.5" - resolved "https://registry.npmjs.org/@commitlint/parse/-/parse-17.6.5.tgz" - integrity sha512-0zle3bcn1Hevw5Jqpz/FzEWNo2KIzUbc1XyGg6WrWEoa6GH3A1pbqNF6MvE6rjuy6OY23c8stWnb4ETRZyN+Yw== - dependencies: - "@commitlint/types" "^17.4.4" - conventional-changelog-angular "^5.0.11" - conventional-commits-parser "^3.2.2" - -"@commitlint/read@^17.5.1": - version "17.5.1" - resolved "https://registry.npmjs.org/@commitlint/read/-/read-17.5.1.tgz" - integrity sha512-7IhfvEvB//p9aYW09YVclHbdf1u7g7QhxeYW9ZHSO8Huzp8Rz7m05aCO1mFG7G8M+7yfFnXB5xOmG18brqQIBg== - dependencies: - "@commitlint/top-level" "^17.4.0" - "@commitlint/types" "^17.4.4" - fs-extra "^11.0.0" - git-raw-commits "^2.0.11" - minimist "^1.2.6" - -"@commitlint/resolve-extends@^17.4.4": - version "17.4.4" - resolved "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-17.4.4.tgz" - integrity sha512-znXr1S0Rr8adInptHw0JeLgumS11lWbk5xAWFVno+HUFVN45875kUtqjrI6AppmD3JI+4s0uZlqqlkepjJd99A== - dependencies: - "@commitlint/config-validator" "^17.4.4" - "@commitlint/types" "^17.4.4" - import-fresh "^3.0.0" - lodash.mergewith "^4.6.2" - resolve-from "^5.0.0" - resolve-global "^1.0.0" +"@commitlint/top-level@^21.2.0": + version "21.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/top-level/-/top-level-21.2.0.tgz#bf7dadeaf5a51771bd0c44cc8bcf23ac66715b9e" + integrity sha512-Y5gmQ+KxzqCrBFJfLvFEPvvwD3LDiNZoTT2yeFBm96M8qhmqSzQc5DvX3rheAaAMjyIvMXOCLS/mWfdpONsjyQ== + dependencies: + escalade "^3.2.0" + +"@commitlint/types@^21.2.0": + version "21.2.0" + resolved "https://registry.yarnpkg.com/@commitlint/types/-/types-21.2.0.tgz#da93897b416f788323f639cce6045310aeb03096" + integrity sha512-7zVFCDB2reMvJH5dmbKnOQPjZEvjdJTH8jc0U/PIPU1r3/+vf5pD1HlfitV2MWsWXrvu7u39iY1lyLUPOaN0Gw== + dependencies: + conventional-commits-parser "^7.0.0" + picocolors "^1.1.1" + +"@conventional-changelog/git-client@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@conventional-changelog/git-client/-/git-client-3.1.0.tgz#0d89e1d74ecc578ebe1bf46c09488beef41c58e8" + integrity sha512-Tqa/gHco2WJWa740NRjOrfKVvzIqxkZpecb8bemaQ8sKM5PXb1UK4uTyTb/1wIqNuOVaDOFxyBdhTIQZn6gdjQ== + dependencies: + "@simple-libs/child-process-utils" "^2.0.0" + "@simple-libs/stream-utils" "^2.0.0" + semver "^7.5.2" -"@commitlint/rules@^17.6.5": - version "17.6.5" - resolved "https://registry.npmjs.org/@commitlint/rules/-/rules-17.6.5.tgz" - integrity sha512-uTB3zSmnPyW2qQQH+Dbq2rekjlWRtyrjDo4aLFe63uteandgkI+cc0NhhbBAzcXShzVk0qqp8SlkQMu0mgHg/A== +"@conventional-changelog/git-client@^3.0.0", "@conventional-changelog/git-client@^3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@conventional-changelog/git-client/-/git-client-3.1.2.tgz#2298db5ba59a2f8826300bc7ad477169f76f15aa" + integrity sha512-jZqwnJwf7nboIlAcw/mkOjVa6DexCcUOgT2oOQgkoi3z9vR8tGFkcMy2BFcYwjhL9sYcDDXkRQDayiDieCoW7A== dependencies: - "@commitlint/ensure" "^17.4.4" - "@commitlint/message" "^17.4.2" - "@commitlint/to-lines" "^17.4.0" - "@commitlint/types" "^17.4.4" - execa "^5.0.0" + "@simple-libs/child-process-utils" "^2.0.0" + "@simple-libs/stream-utils" "^2.0.0" + semver "^7.5.2" -"@commitlint/to-lines@^17.4.0": - version "17.4.0" - resolved "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-17.4.0.tgz" - integrity sha512-LcIy/6ZZolsfwDUWfN1mJ+co09soSuNASfKEU5sCmgFCvX5iHwRYLiIuoqXzOVDYOy7E7IcHilr/KS0e5T+0Hg== +"@conventional-changelog/template@^1.2.1", "@conventional-changelog/template@^1.3.0", "@conventional-changelog/template@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@conventional-changelog/template/-/template-1.4.0.tgz#30a8680f2ab8d3a60a08e86bebb33fe8f0f8f100" + integrity sha512-aalGyl7dbB5PArRebDIX43ZvBlXrYm9uWzGJ26t+4SzJVPsOuvfILGGbw5X4yX7i50YEmJ8zvbiWnqH/AAnZqg== -"@commitlint/top-level@^17.4.0": - version "17.4.0" - resolved "https://registry.npmjs.org/@commitlint/top-level/-/top-level-17.4.0.tgz" - integrity sha512-/1loE/g+dTTQgHnjoCy0AexKAEFyHsR2zRB4NWrZ6lZSMIxAhBJnmCqwao7b4H8888PsfoTBCLBYIw8vGnej8g== +"@nodable/entities@^3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@nodable/entities/-/entities-3.0.0.tgz" + integrity sha512-8L9xFeTYKhm49xfIypoe2W5wV1m/3Z58kT+7kR9A8OyFxcPduI4VmxaUMQyKYrRjUoLLSXv6EKKID5Tvj9cUVw== + +"@simple-libs/child-process-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@simple-libs/child-process-utils/-/child-process-utils-2.0.0.tgz#90ea8a9008ab622cc50cf94ed3469ce5144e9eb6" + integrity sha512-dvNoRKLijXnD0XoJAz94pbNuB5GQgDr55UhpSPhffDkTT0Cmcqh9jSCOtwfT2d4H6MI9E7c4SgtMuJXZ6F3c6A== dependencies: - find-up "^5.0.0" + "@simple-libs/stream-utils" "^2.0.0" + +"@simple-libs/hosted-git-info@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@simple-libs/hosted-git-info/-/hosted-git-info-2.0.0.tgz#80d4c402a292f415d3bc0edddaf9cc404cea32c1" + integrity sha512-55XwK/GYgV58PuN8lZFhI1qRxdKoMLJocXl/yM1EPqazFDmM4QWY7q6BxPCPDNKTNunj794DSD4h0H7SrqUdMg== -"@commitlint/types@^17.4.4": - version "17.4.4" - resolved "https://registry.npmjs.org/@commitlint/types/-/types-17.4.4.tgz" - integrity sha512-amRN8tRLYOsxRr6mTnGGGvB5EmW/4DDjLMgiwK3CCVEmN6Sr/6xePGEpWaspKkckILuUORCwe6VfDBw6uj4axQ== - dependencies: - chalk "^4.1.0" - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@hutson/parse-repository-url@^3.0.0": - version "3.0.2" - resolved "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz" - integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== - -"@jridgewell/resolve-uri@^3.0.3": - version "3.1.1" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - -"@types/node@*": - version "20.4.0" - resolved "https://registry.npmjs.org/@types/node/-/node-20.4.0.tgz" - integrity sha512-jfT7iTf/4kOQ9S7CHV9BIyRaQqHu67mOjsIQBC3BKZvzvUB6zLxEwJ6sBE3ozcvP8kF6Uk5PXN0Q+c0dfhGX0g== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.4.1: - version "8.10.0" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== - -add-stream@^1.0.0: +"@simple-libs/normalize-package-data@^1.0.0": version "1.0.0" - resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz" - integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ== + resolved "https://registry.yarnpkg.com/@simple-libs/normalize-package-data/-/normalize-package-data-1.0.0.tgz#e7d705b726fb0b7ebc0607012e273c30481f5e84" + integrity sha512-/EOmFBekV9tGee8gac/k+5Ox3twkypNqh5TfxA9vTkmcJkjm6f1xqrlstDNOrEhTvnYyVtU6Du2ZhY/IV1+9GA== + dependencies: + "@simple-libs/hosted-git-info" "^2.0.0" + semver "^7.8.5" + +"@simple-libs/stream-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@simple-libs/stream-utils/-/stream-utils-2.0.0.tgz#758d2a0876b4d672dac1eae212cdbab452670d3c" + integrity sha512-fCTuZK4QBa+39Oz9l4OGfJfz+GpwCp3AqO7Zch3to99xHPgstVsRFpeQ8LNd2o1Gv8raL2mCFwiaHh7bFSp5DQ== ajv@^8.11.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + version "8.20.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz" + integrity sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA== dependencies: - fast-deep-equal "^3.1.1" + fast-deep-equal "^3.1.3" + fast-uri "^3.0.1" json-schema-traverse "^1.0.0" require-from-string "^2.0.2" - uri-js "^4.2.2" ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" +ansi-regex@^6.2.2: + version "6.3.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.3.0.tgz#247c8e7b70a1a43b10ce14c0226fcbf58e8815d5" + integrity sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ== -ansi-styles@^4.0.0, ansi-styles@^4.1.0: +ansi-styles@^4.0.0: version "4.3.0" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== +ansi-styles@^6.2.1: + version "6.2.3" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041" + integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== + +anynum@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/anynum/-/anynum-1.0.1.tgz" + integrity sha512-N6//FLET/tXYNM/F6ABca1oH6fWB+KlTt909Le28WMDBk8oaT4vY17DCrwg2MvmuqUKt3Ni4N5dGJ/EoBgcO6A== argparse@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" - integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== +argue-cli@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/argue-cli/-/argue-cli-3.2.0.tgz#15b9ff31e0ce316c9fd1ff1761188fa81995f1c5" + integrity sha512-VipTB0gXgGIFO2Rg9yEVN5wLt2AurJcZqDbgmYSwPwsykhLrQhs240/bfceev4w68lI8JshoOJIk9uW7tFzROw== balanced-match@^1.0.0: version "1.0.2" @@ -319,71 +271,22 @@ balanced-match@^1.0.0: integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + version "1.1.18" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz" + integrity sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw== dependencies: balanced-match "^1.0.0" concat-map "0.0.1" -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - callsites@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" +chalk@^5.6.2: + version "5.6.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.2.tgz#b1238b6e23ea337af71c7f8a295db5af0c158aea" + integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA== cliui@^8.0.1: version "8.0.1" @@ -394,12 +297,14 @@ cliui@^8.0.1: strip-ansi "^6.0.1" wrap-ansi "^7.0.0" -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== +cliui@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-9.0.1.tgz#6f7890f386f6f1f79953adc1f78dec46fcc2d291" + integrity sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w== dependencies: - color-name "1.1.3" + string-width "^7.2.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" color-convert@^2.0.1: version "2.0.1" @@ -413,333 +318,139 @@ color-name@~1.1.4: resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -commit-and-tag-version@^11.3.0: - version "11.3.0" - resolved "https://registry.npmjs.org/commit-and-tag-version/-/commit-and-tag-version-11.3.0.tgz" - integrity sha512-hh3wV9pcuQRuUNdPZ3TfF29VjgbkWJxJ6sQKDls1k71hMZHTjbsdPFbr2gBTUUwW/ArGGZNxejWDTomPZtEq/g== +commit-and-tag-version@^13.1.2: + version "13.1.2" + resolved "https://registry.yarnpkg.com/commit-and-tag-version/-/commit-and-tag-version-13.1.2.tgz#d4c5df577390a01224573cc575fb8f1ea6b3ec3d" + integrity sha512-NEBJycEVXM6XExM7k9WunQAIMccFAHv3/ZtmA2s4L0VI0P6srUwrbCoNbE+Exo2B86agc9/NVty4m3PAxGPgTA== dependencies: - chalk "^2.4.2" - conventional-changelog "3.1.25" + "@conventional-changelog/git-client" "3.1.0" + chalk "^5.6.2" + conventional-changelog "8.1.0" conventional-changelog-config-spec "2.1.0" - conventional-changelog-conventionalcommits "6.1.0" - conventional-recommended-bump "7.0.1" - detect-indent "^6.0.0" + conventional-changelog-conventionalcommits "10.2.1" + conventional-recommended-bump "12.1.0" + detect-indent "^7.0.2" detect-newline "^3.1.0" dotgitignore "^2.1.0" - figures "^3.1.0" + fast-xml-parser "^5.5.6" + figures "^3.2.0" find-up "^5.0.0" - git-semver-tags "^5.0.0" - semver "^7.1.1" - yargs "^17.0.0" - -compare-func@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz" - integrity sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== - dependencies: - array-ify "^1.0.0" - dot-prop "^5.1.0" + semver "^7.7.2" + yaml "^2.9.0" + yargs "^17.7.2" concat-map@0.0.1: version "0.0.1" resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" - -conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: - version "5.0.13" - resolved "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz" - integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== +conventional-changelog-angular@^9.0.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-9.4.0.tgz#ec51393e10b5c4c99c9e79f21d6d293b26cd1314" + integrity sha512-HdxRxuS8bBXVIuo4V82gvSwAXT0vYQUizrjs/izmPg5JdDstr8v8I5hduGL3iQbG+o310dUDxC4+LetuS5hu9w== dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-atom@^2.0.8: - version "2.0.8" - resolved "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz" - integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== - dependencies: - q "^1.5.1" - -conventional-changelog-codemirror@^2.0.8: - version "2.0.8" - resolved "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz" - integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== - dependencies: - q "^1.5.1" + "@conventional-changelog/template" "^1.4.0" conventional-changelog-config-spec@2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz" integrity sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ== -conventional-changelog-conventionalcommits@^4.5.0: - version "4.6.3" - resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.3.tgz" - integrity sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== - dependencies: - compare-func "^2.0.0" - lodash "^4.17.15" - q "^1.5.1" - -conventional-changelog-conventionalcommits@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz" - integrity sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw== - dependencies: - compare-func "^2.0.0" - lodash "^4.17.15" - q "^1.5.1" - -conventional-changelog-conventionalcommits@6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.1.0.tgz" - integrity sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw== - dependencies: - compare-func "^2.0.0" - -conventional-changelog-core@^4.2.1: - version "4.2.4" - resolved "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz" - integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== - dependencies: - add-stream "^1.0.0" - conventional-changelog-writer "^5.0.0" - conventional-commits-parser "^3.2.0" - dateformat "^3.0.0" - get-pkg-repo "^4.0.0" - git-raw-commits "^2.0.8" - git-remote-origin-url "^2.0.0" - git-semver-tags "^4.1.1" - lodash "^4.17.15" - normalize-package-data "^3.0.0" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - through2 "^4.0.0" - -conventional-changelog-ember@^2.0.9: - version "2.0.9" - resolved "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz" - integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== - dependencies: - q "^1.5.1" - -conventional-changelog-eslint@^3.0.9: - version "3.0.9" - resolved "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz" - integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== - dependencies: - q "^1.5.1" - -conventional-changelog-express@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz" - integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== - dependencies: - q "^1.5.1" - -conventional-changelog-jquery@^3.0.11: - version "3.0.11" - resolved "https://registry.npmjs.org/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz" - integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== - dependencies: - q "^1.5.1" - -conventional-changelog-jshint@^2.0.9: - version "2.0.9" - resolved "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz" - integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-preset-loader@^2.3.4: - version "2.3.4" - resolved "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz" - integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== - -conventional-changelog-preset-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-3.0.0.tgz" - integrity sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA== - -conventional-changelog-writer@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz" - integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ== - dependencies: - conventional-commits-filter "^2.0.7" - dateformat "^3.0.0" - handlebars "^4.7.7" - json-stringify-safe "^5.0.1" - lodash "^4.17.15" - meow "^8.0.0" - semver "^6.0.0" - split "^1.0.0" - through2 "^4.0.0" - -conventional-changelog@3.1.25: - version "3.1.25" - resolved "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-3.1.25.tgz" - integrity sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ== - dependencies: - conventional-changelog-angular "^5.0.12" - conventional-changelog-atom "^2.0.8" - conventional-changelog-codemirror "^2.0.8" - conventional-changelog-conventionalcommits "^4.5.0" - conventional-changelog-core "^4.2.1" - conventional-changelog-ember "^2.0.9" - conventional-changelog-eslint "^3.0.9" - conventional-changelog-express "^2.0.6" - conventional-changelog-jquery "^3.0.11" - conventional-changelog-jshint "^2.0.9" - conventional-changelog-preset-loader "^2.3.4" - -conventional-commits-filter@^2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz" - integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== - dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.0" - -conventional-commits-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz" - integrity sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q== +conventional-changelog-conventionalcommits@10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-10.2.1.tgz#dfa7cd9b3c6762bc65b2e7c97636097a3b426217" + integrity sha512-n4Kr1HFMTf3iMbES0TMxKIcYtUUv4rKqyQQp2JwfOEfFCOfGT3Tq4mCyJ8S9/YPyWhydjfKrrvnyl+gCjA+mJQ== dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.1" + "@conventional-changelog/template" "^1.2.1" -conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.2: - version "3.2.4" - resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz" - integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== +conventional-changelog-conventionalcommits@^10.0.0: + version "10.4.0" + resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-10.4.0.tgz#a75bb40f10731d66e0b4209dc1dd3ee0cf2925f3" + integrity sha512-Rriac6ZrAlVm6cy9Bz4NSp+WMHpwNXoPIYex+HjCgduAVUSbnew29DQjQw0C4g9u3HtSYzGiGY+pdBXAZo+4aA== dependencies: - is-text-path "^1.0.1" - JSONStream "^1.0.4" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" + "@conventional-changelog/template" "^1.4.0" -conventional-commits-parser@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz" - integrity sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg== - dependencies: - is-text-path "^1.0.1" - JSONStream "^1.3.5" - meow "^8.1.2" - split2 "^3.2.2" - -conventional-recommended-bump@7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-7.0.1.tgz" - integrity sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA== - dependencies: - concat-stream "^2.0.0" - conventional-changelog-preset-loader "^3.0.0" - conventional-commits-filter "^3.0.0" - conventional-commits-parser "^4.0.0" - git-raw-commits "^3.0.0" - git-semver-tags "^5.0.0" - meow "^8.1.2" - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cosmiconfig-typescript-loader@^4.0.0: - version "4.3.0" - resolved "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz" - integrity sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q== - -cosmiconfig@^8.0.0, cosmiconfig@>=7: - version "8.2.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz" - integrity sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ== - dependencies: - import-fresh "^3.2.1" +conventional-changelog-preset-loader@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-6.0.1.tgz#78399937fb5d497265157242bace9fefb5b36620" + integrity sha512-GZ8E3RQzXQb3JFy0pKl8oeSf7ENIhvAMvJr+PlWkavZOesLHHdhkfNJ4SvW35eo1Fu2+EyVxWQ1tVvtzAG2iWg== + +conventional-changelog-writer@^9.2.0: + version "9.2.1" + resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-9.2.1.tgz#d84024ca8e8f25dada9f822aa23e64f71b9a0de5" + integrity sha512-StlYSmW3wLedRaqohJMpP3YuWiAqtgD0/cpsai9frdDkXv7rxj0hRbpJrubPYvJxJsjplONsOobEQnPuS9UgCg== + dependencies: + "@conventional-changelog/template" "^1.3.0" + "@simple-libs/stream-utils" "^2.0.0" + argue-cli "^3.1.0" + conventional-commits-filter "^6.0.1" + semver "^7.5.2" + +conventional-changelog@8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-8.1.0.tgz#3e34549895de82d957b4a1722d258b085be49ba6" + integrity sha512-idt1JK+3+Nt7gqH/d/sEYWdDeR+5XPov/jssmFN6XxmYSRlonTWSDWhWUPkmm0zbwYjtVdt+4My5aiPkKyvocw== + dependencies: + "@conventional-changelog/git-client" "^3.1.0" + "@simple-libs/hosted-git-info" "^2.0.0" + "@simple-libs/normalize-package-data" "^1.0.0" + argue-cli "^3.1.0" + conventional-changelog-preset-loader "^6.0.1" + conventional-changelog-writer "^9.2.0" + conventional-commits-parser "^7.1.0" + fd-package-json "^2.0.0" + +conventional-commits-filter@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-6.0.1.tgz#bca90562a0eba6dcc335783771ddfdc7df543c87" + integrity sha512-cs+LadpH7Kpw0M3k8wurk+sOVVDAENA0iK4OBOrkL94j5lEVYRJ4j3zd2bhY9qgzyrPqthdcYT3axzRN7AliMg== + +conventional-commits-parser@^7.0.0, conventional-commits-parser@^7.1.0: + version "7.1.2" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-7.1.2.tgz#4dca0779b338bab96fe994e864dfedf3c1908b03" + integrity sha512-O+x4N2yH+ijvqWlIyTHsXTAP+algNWgGbjY2duCe8w2vUMvUB95cLRslCPfTMQyLAKlet3bhZTdu6ozn4M+QJQ== + dependencies: + "@simple-libs/stream-utils" "^2.0.0" + argue-cli "^3.1.0" + +conventional-recommended-bump@12.1.0: + version "12.1.0" + resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-12.1.0.tgz#85b67cd97a65eb1c594d646a51e2b2a92d7b03d3" + integrity sha512-HTNG3kEZXOOfKwrEx54ljURU9bG4nVPQzXMyCSeUcA/PE8EpNpQNujSrbXNBI8QZyN35zM+pVw+FuQk4KqHSHg== + dependencies: + "@conventional-changelog/git-client" "^3.1.0" + argue-cli "^3.1.0" + conventional-changelog-preset-loader "^6.0.1" + conventional-commits-filter "^6.0.1" + conventional-commits-parser "^7.1.0" + +cosmiconfig-typescript-loader@^6.1.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.3.0.tgz#a5ee3ec3da5a976c0c233fd0e0b5ca14b58b0327" + integrity sha512-Akr82WH1Wfqatyiqpj8HDkO2o2KmJRu1FhKfSNJP3K4IdXwHfEyL7MOb62i1AGQVLtIQM+iCE9CGOtrfhR+mmA== + dependencies: + jiti "2.6.1" + +cosmiconfig@^9.0.1: + version "9.0.2" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-9.0.2.tgz#9e5615163becf6a82211fb33d2f68947c25d0c5e" + integrity sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg== + dependencies: + env-paths "^2.2.1" + import-fresh "^3.3.0" js-yaml "^4.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^7.0.3: - version "7.0.6" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz" - integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -dargs@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/dargs/-/dargs-7.0.0.tgz" - integrity sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== - -dateformat@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - -decamelize-keys@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz" - integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== + parse-json "^5.2.0" -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== +detect-indent@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-7.0.2.tgz#16c516bf75d4b2f759f68214554996d467c8d648" + integrity sha512-y+8xyqdGLL+6sh0tVeHcfP/QDd8gUgbasolJJpY7NgeQGSZ739bDtSiaiDgtoicy+mtYB81dKLxO9xRhCyIB3A== detect-newline@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dot-prop@^5.1.0: - version "5.3.0" - resolved "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - dotgitignore@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/dotgitignore/-/dotgitignore-2.1.0.tgz" @@ -748,62 +459,87 @@ dotgitignore@^2.1.0: find-up "^3.0.0" minimatch "^3.0.4" +emoji-regex@^10.3.0: + version "10.6.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.6.0.tgz#bf3d6e8f7f8fd22a65d9703475bc0147357a6b0d" + integrity sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +env-paths@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + version "1.3.4" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz" + integrity sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ== dependencies: is-arrayish "^0.2.1" -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +es-toolkit@^1.46.0: + version "1.52.0" + resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.52.0.tgz#71eaf1a8b18834ef77637eccbb885ba4c03cd6dd" + integrity sha512-XTNEJQh1tY1ZJVcf6ayP/2n4ZPyaHlW2FWs7xvw5ddPuhUVjLD3olQVQS7kf58JbAB48iL0uL/jerTrjtV3lDA== + +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -figures@^3.1.0: +fast-uri@^3.0.1: + version "3.1.7" + resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz" + integrity sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg== + +fast-xml-builder@^1.2.0: + version "1.3.1" + resolved "https://registry.npmjs.org/fast-xml-builder/-/fast-xml-builder-1.3.1.tgz" + integrity sha512-pIM/1n3ntFXKYrUZwW7QCK0gAW7XY+wzj1YMIV3tLDvPj/V+zTGJK5e3/4WJfwj0qWw2ElNXiTixda/R+3YSug== + dependencies: + path-expression-matcher "^1.6.2" + xml-naming "^0.3.0" + +fast-xml-parser@^5.5.6: + version "5.11.1" + resolved "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.11.1.tgz" + integrity sha512-TBw6K/fxoQGGjCmZDw9w/ZwP3uDcnTM4YH/g+PFRWr8sbe5idXtxNN6vITh4+1ruCZaho6uBFurElsA7F0zzgw== + dependencies: + "@nodable/entities" "^3.0.0" + fast-xml-builder "^1.2.0" + is-unsafe "^2.0.0" + path-expression-matcher "^1.6.2" + strnum "^2.4.2" + xml-naming "^0.3.0" + +fd-package-json@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fd-package-json/-/fd-package-json-2.0.0.tgz#03f53ce5a0af552c2f4faf703a24e526310a2411" + integrity sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ== + dependencies: + walk-up-path "^4.0.0" + +figures@^3.2.0: version "3.2.0" resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== dependencies: escape-string-regexp "^1.0.5" -find-up@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - find-up@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz" @@ -811,14 +547,6 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - find-up@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" @@ -827,230 +555,65 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -fs-extra@^11.0.0: - version "11.1.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz" - integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-pkg-repo@^4.0.0: - version "4.2.1" - resolved "https://registry.npmjs.org/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz" - integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== - dependencies: - "@hutson/parse-repository-url" "^3.0.0" - hosted-git-info "^4.0.0" - through2 "^2.0.0" - yargs "^16.2.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -git-raw-commits@^2.0.11, git-raw-commits@^2.0.8: - version "2.0.11" - resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-2.0.11.tgz" - integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== - dependencies: - dargs "^7.0.0" - lodash "^4.17.15" - meow "^8.0.0" - split2 "^3.0.0" - through2 "^4.0.0" - -git-raw-commits@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-3.0.0.tgz" - integrity sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw== - dependencies: - dargs "^7.0.0" - meow "^8.1.2" - split2 "^3.2.2" - -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz" - integrity sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw== - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-4.1.1.tgz" - integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== - dependencies: - meow "^8.0.0" - semver "^6.0.0" - -git-semver-tags@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-5.0.1.tgz" - integrity sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA== - dependencies: - meow "^8.1.2" - semver "^7.0.0" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz" - integrity sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ== - dependencies: - ini "^1.3.2" - -global-dirs@^0.1.1: - version "0.1.1" - resolved "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz" - integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== - dependencies: - ini "^1.3.4" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.11" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +get-east-asian-width@^1.0.0, get-east-asian-width@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz#216900f91df11a8b2c198c3e1d93d6c035a776b9" + integrity sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA== -handlebars@^4.7.7: - version "4.7.8" - resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz" - integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.2" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== +global-directory@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/global-directory/-/global-directory-5.0.0.tgz#0f66a94212acd0f81ee838d0a991e88d1c2836cf" + integrity sha512-1pgFdhK3J2LeM+dVf2Pd424yHx2ou338lC0ErNP2hPx4j8eW1Sp0XqSjNxtk6Tc4Kr5wlWtSvz8cn2yb7/SG/w== dependencies: - lru-cache "^6.0.0" - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + ini "6.0.0" -husky@^8.0.3: - version "8.0.3" - resolved "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz" - integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== +husky@^9.1.7: + version "9.1.7" + resolved "https://registry.yarnpkg.com/husky/-/husky-9.1.7.tgz#d46a38035d101b46a70456a850ff4201344c0b2d" + integrity sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA== -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== +import-fresh@^3.3.0: + version "3.3.1" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz" + integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inherits@^2.0.3, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@^1.3.2, ini@^1.3.4: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +ini@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/ini/-/ini-6.0.0.tgz#efc7642b276f6a37d22fdf56ef50889d7146bf30" + integrity sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ== is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== -is-core-module@^2.11.0, is-core-module@^2.5.0: - version "2.12.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz" - integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== - dependencies: - has "^1.0.3" - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz" - integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== - dependencies: - text-extensions "^1.0.0" +is-plain-obj@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" + integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== +is-unsafe@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/is-unsafe/-/is-unsafe-2.0.2.tgz" + integrity sha512-HgbIHPBH0KHHCcjLfGsCvhtPTVxjaAZlXjwdz7/GQC40SjSe4sfQsar8J5VFo8JOSbarkpV0OLG95bbaNd9aAQ== -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== +jiti@2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-2.6.1.tgz#178ef2fc9a1a594248c20627cd820187a4d78d92" + integrity sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ== js-tokens@^4.0.0: version "4.0.0" @@ -1058,17 +621,12 @@ js-tokens@^4.0.0: integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + version "4.3.2" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz" + integrity sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA== dependencies: argparse "^2.0.1" -json-parse-better-errors@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - json-parse-even-better-errors@^2.3.0: version "2.3.1" resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" @@ -1079,61 +637,11 @@ json-schema-traverse@^1.0.0: resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-stringify-safe@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - -JSONStream@^1.0.4, JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" - integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw== - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - locate-path@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz" @@ -1142,13 +650,6 @@ locate-path@^3.0.0: p-locate "^3.0.0" path-exists "^3.0.0" -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - locate-path@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" @@ -1156,202 +657,13 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash.camelcase@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz" - integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== - -lodash.isfunction@^3.0.9: - version "3.0.9" - resolved "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz" - integrity sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw== - -lodash.ismatch@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" - integrity sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz" - integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== - -lodash.kebabcase@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz" - integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.mergewith@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz" - integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ== - -lodash.snakecase@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz" - integrity sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw== - -lodash.startcase@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz" - integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash.upperfirst@^4.3.1: - version "4.3.1" - resolved "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz" - integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg== - -lodash@^4.17.15: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -meow@^8.0.0, meow@^8.1.2: - version "8.1.2" - resolved "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz" - integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - minimatch@^3.0.4: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + version "3.1.5" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz" + integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== dependencies: brace-expansion "^1.1.7" -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.2.5, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -modify-values@^1.0.0, modify-values@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" - integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - p-limit@^2.0.0: version "2.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" @@ -1359,13 +671,6 @@ p-limit@^2.0.0: dependencies: p-try "^2.0.0" -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - p-limit@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" @@ -1373,13 +678,6 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - p-locate@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz" @@ -1387,13 +685,6 @@ p-locate@^3.0.0: dependencies: p-limit "^2.0.0" -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - p-locate@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" @@ -1401,11 +692,6 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - p-try@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" @@ -1418,15 +704,7 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" - integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw== - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: +parse-json@^5.2.0: version "5.2.0" resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -1446,123 +724,15 @@ path-exists@^4.0.0: resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -q@^1.5.1: - version "1.5.1" - resolved "https://registry.npmjs.org/q/-/q-1.5.1.tgz" - integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz" - integrity sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw== - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" +path-expression-matcher@^1.6.2: + version "1.6.2" + resolved "https://registry.npmjs.org/path-expression-matcher/-/path-expression-matcher-1.6.2.tgz" + integrity sha512-enSlaiat05iasnzmgNxRj8reFdj3puY2QpNgP1aPIaVfT6nn9ICuPoFlKHk8EN22HcwewshO+mN2DGbkCEOtqQ== -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" - integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA== - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@3: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@~2.3.6: - version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== require-directory@^2.1.1: version "2.1.1" @@ -1579,136 +749,15 @@ resolve-from@^4.0.0: resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve-from@^5.0.0, resolve-from@5.0.0: +resolve-from@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-global@^1.0.0, resolve-global@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz" - integrity sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw== - dependencies: - global-dirs "^0.1.1" - -resolve@^1.10.0: - version "1.22.2" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -semver@^6.0.0: - version "6.3.1" - resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.0.0, semver@^7.1.1, semver@7.5.2: - version "7.5.2" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz" - integrity sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.4: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -"semver@2 || 3 || 4 || 5": - version "5.7.2" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.13" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz" - integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== - -split@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/split/-/split-1.0.1.tgz" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - -split2@^3.0.0, split2@^3.2.2: - version "3.2.2" - resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" - integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - dependencies: - readable-stream "^3.0.0" - -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" +semver@^7.5.2, semver@^7.6.0, semver@^7.7.2, semver@^7.8.5: + version "7.8.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.8.5.tgz#39b646037dd50c14fb451e7e4cac58ed8b863f69" + integrity sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA== string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" @@ -1719,6 +768,23 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^7.0.0, string-width@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc" + integrity sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ== + dependencies: + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" + +string-width@^8.2.1: + version "8.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-8.2.2.tgz#7310516493df575742fe98af6fae87d85d5ed0ac" + integrity sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg== + dependencies: + get-east-asian-width "^1.5.0" + strip-ansi "^7.1.2" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" @@ -1726,162 +792,29 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: +strip-ansi@^7.1.0, strip-ansi@^7.1.2: version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -text-extensions@^1.0.0: - version "1.9.0" - resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" - integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== - -"through@>=2.2.7 <3", through@2: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through2@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -ts-node@^10.8.1, ts-node@>=10: - version "10.9.1" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -"typescript@^4.6.4 || ^5.0.0", typescript@>=2.7, typescript@>=3: - version "5.1.6" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz" - integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== - -uglify-js@^3.1.4: - version "3.17.4" - resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz" - integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.2.0.tgz#d22a269522836a627af8d04b5c3fd2c7fa3e32e3" + integrity sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w== dependencies: - punycode "^2.1.0" - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + ansi-regex "^6.2.2" -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== +strnum@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/strnum/-/strnum-2.4.2.tgz" + integrity sha512-rDG3Ah4TV0k1hWvLSzkZtMmLN9+eS+h3knq4MP6A42Y3Yh5qGNnOUs1jJkoSr8FG5dsL28c7KgkIBzSEykqtuw== dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" + anynum "^1.0.1" -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" +tinyexec@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.3.1.tgz#16a2e3c6e23fafce72640e678e651db36145b9c6" + integrity sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA== -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" - integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== +walk-up-path@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-4.0.0.tgz#590666dcf8146e2d72318164f1f2ac6ef51d4198" + integrity sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A== wrap-ansi@^7.0.0: version "7.0.0" @@ -1892,53 +825,44 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== +wrap-ansi@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.2.tgz#956832dea9494306e6d209eb871643bb873d7c98" + integrity sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + +xml-naming@^0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/xml-naming/-/xml-naming-0.3.0.tgz" + integrity sha512-ghig2TBE/H11aOVgmahA3MhimvkBr6JIYknH/Dhdk10nXwdbIqBJsbfMxpvFPG8bAw77gN29aQWvKpmVoPlvPQ== y18n@^5.0.5: version "5.0.8" resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^20.2.3: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yaml@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.9.0.tgz#78274afd93598a1dfdd6130df6a566defcbf9aa4" + integrity sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA== yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" +yargs-parser@^22.0.0: + version "22.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-22.0.0.tgz#87b82094051b0567717346ecd00fd14804b357c8" + integrity sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw== -yargs@^17.0.0: - version "17.7.2" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== +yargs@^17.7.2: + version "17.7.3" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz" + integrity sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g== dependencies: cliui "^8.0.1" escalade "^3.1.1" @@ -1948,10 +872,17 @@ yargs@^17.0.0: y18n "^5.0.5" yargs-parser "^21.1.1" -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== +yargs@^18.0.0: + version "18.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-18.1.0.tgz#cd7e98c703ef51695bbbf062ed58f28e94291b56" + integrity sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg== + dependencies: + cliui "^9.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + string-width "^8.2.1" + y18n "^5.0.5" + yargs-parser "^22.0.0" yocto-queue@^0.1.0: version "0.1.0"