From f4a72a2101c265534f6fc0312ab877579108ebe7 Mon Sep 17 00:00:00 2001 From: Andre Weber Date: Mon, 4 Mar 2024 09:30:23 +0100 Subject: [PATCH 1/6] feature(Processor): Add JSON Parser to VSS Processor module --- gradle/libs.versions.toml | 2 + .../vssprocessor/plugin/VssProcessorPlugin.kt | 2 +- vss-processor/build.gradle.kts | 1 + .../vssprocessor/VssDefinitionProcessor.kt | 20 +- .../parser/VssDefinitionParser.kt | 10 +- .../factory/VssDefinitionParserFactory.kt | 59 + .../parser/factory/VssFileExtension.kt | 26 + .../parser/json/JsonDefinitionParser.kt | 113 + .../parser/{ => yaml}/YamlDefinitionParser.kt | 9 +- .../factory/VssDefinitionParserFactoryTest.kt | 77 + .../parser/json/JsonDefinitionParserTest.kt | 127 + .../{ => yaml}/YamlDefinitionParserTest.kt | 14 +- .../src/test/resources/json/incompatible.json | 25 + .../src/test/resources/json/vss_rel_4.0.json | 1 + .../resources/json/vss_rel_4.0.partial.json | 131 + .../resources/{ => yaml}/incompatible.yaml | 0 .../test/resources/{ => yaml}/invalid.yaml | 0 .../resources/{ => yaml}/vss_rel_4.0.yaml | 0 vss/vss_rel_4.0.json | 8844 +++++++++++++++++ 19 files changed, 9436 insertions(+), 25 deletions(-) create mode 100644 vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactory.kt create mode 100644 vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssFileExtension.kt create mode 100644 vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt rename vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/{ => yaml}/YamlDefinitionParser.kt (92%) create mode 100644 vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactoryTest.kt create mode 100644 vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt rename vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/{ => yaml}/YamlDefinitionParserTest.kt (83%) create mode 100644 vss-processor/src/test/resources/json/incompatible.json create mode 100644 vss-processor/src/test/resources/json/vss_rel_4.0.json create mode 100644 vss-processor/src/test/resources/json/vss_rel_4.0.partial.json rename vss-processor/src/test/resources/{ => yaml}/incompatible.yaml (100%) rename vss-processor/src/test/resources/{ => yaml}/invalid.yaml (100%) rename vss-processor/src/test/resources/{ => yaml}/vss_rel_4.0.yaml (100%) create mode 100644 vss/vss_rel_4.0.json diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7bc3a432..05495bc8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,6 +6,7 @@ datastore = "1.0.0" constraintlayoutCompose = "1.0.1" datastorePreferences = "1.0.0" dokka = "1.9.10" +gson = "2.10.1" kotlin = "1.9.22" kotlinpoet = "1.16.0" kotlinxSerializationJson = "1.6.1" @@ -36,6 +37,7 @@ androidx-runtime-livedata = { module = "androidx.compose.runtime:runtime-livedat grpc-okhttp = { group = "io.grpc", name = "grpc-okhttp", version.ref = "grpc" } grpc-protobuf = { group = "io.grpc", name = "grpc-protobuf-lite", version.ref = "grpc" } grpc-stub = { group = "io.grpc", name = "grpc-stub", version.ref = "grpc" } +gson = { module = "com.google.code.gson:gson", version.ref = "gson" } kotlinpoet = { module = "com.squareup:kotlinpoet", version.ref = "kotlinpoet" } kotlinpoet-ksp = { module = "com.squareup:kotlinpoet-ksp", version.ref = "kotlinpoet" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationJson" } diff --git a/vss-processor-plugin/src/main/java/org/eclipse/kuksa/vssprocessor/plugin/VssProcessorPlugin.kt b/vss-processor-plugin/src/main/java/org/eclipse/kuksa/vssprocessor/plugin/VssProcessorPlugin.kt index 6dc4f9bc..22004206 100644 --- a/vss-processor-plugin/src/main/java/org/eclipse/kuksa/vssprocessor/plugin/VssProcessorPlugin.kt +++ b/vss-processor-plugin/src/main/java/org/eclipse/kuksa/vssprocessor/plugin/VssProcessorPlugin.kt @@ -147,6 +147,6 @@ private abstract class ProvideVssDefinitionTask : DefaultTask() { } companion object { - private val validVssExtension = setOf("yml", "yaml") + private val validVssExtension = setOf("yml", "yaml", "json") // keep VssFileExtension aligned } } diff --git a/vss-processor/build.gradle.kts b/vss-processor/build.gradle.kts index d3099dd4..65e394b9 100644 --- a/vss-processor/build.gradle.kts +++ b/vss-processor/build.gradle.kts @@ -38,6 +38,7 @@ dependencies { implementation(kotlin("stdlib")) implementation(kotlin("reflect")) + implementation(libs.gson) implementation(libs.kotlinpoet) implementation(libs.kotlinpoet.ksp) implementation(libs.symbol.processing.api) diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/VssDefinitionProcessor.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/VssDefinitionProcessor.kt index dee2f658..63a6835e 100644 --- a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/VssDefinitionProcessor.kt +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/VssDefinitionProcessor.kt @@ -39,7 +39,7 @@ import com.squareup.kotlinpoet.ksp.writeTo import org.eclipse.kuksa.vsscore.annotation.VssDefinition import org.eclipse.kuksa.vsscore.model.VssNode import org.eclipse.kuksa.vsscore.model.parentClassName -import org.eclipse.kuksa.vssprocessor.parser.YamlDefinitionParser +import org.eclipse.kuksa.vssprocessor.parser.factory.VssDefinitionParserFactory import org.eclipse.kuksa.vssprocessor.spec.VssPath import org.eclipse.kuksa.vssprocessor.spec.VssSpecificationSpecModel import java.io.File @@ -56,7 +56,7 @@ class VssDefinitionProcessor( private val logger: KSPLogger, ) : SymbolProcessor { private val visitor = VssDefinitionVisitor() - private val yamlParser = YamlDefinitionParser() + private val vssDefinitionParserFactory = VssDefinitionParserFactory() override fun process(resolver: Resolver): List { val symbols = resolver.getSymbolsWithAnnotation(VssDefinition::class.qualifiedName.toString()) @@ -86,14 +86,20 @@ class VssDefinitionProcessor( return } + val simpleSpecificationElements = mutableListOf() definitionFiles.forEach { definitionFile -> - val simpleSpecificationElements = yamlParser.parseSpecifications(definitionFile) - val vssPathToSpecificationElement = simpleSpecificationElements - .associateBy({ VssPath(it.vssPath) }, { it }) + logger.info("Parsing models for definition file: ${definitionFile.name}") + val vssDefinitionParser = vssDefinitionParserFactory.create(definitionFile) + val specModels = vssDefinitionParser.parseSpecifications(definitionFile) - logger.info("Generating models for definition file: ${definitionFile.name}") - generateModelFiles(vssPathToSpecificationElement) + simpleSpecificationElements.addAll(specModels) } + + val vssPathToSpecificationElement = simpleSpecificationElements + .distinctBy { it.uuid } + .associateBy({ VssPath(it.vssPath) }, { it }) + + generateModelFiles(vssPathToSpecificationElement) } // Uses the default file path for generated files (from the code generator) and searches for the given file. diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/VssDefinitionParser.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/VssDefinitionParser.kt index 8448497b..24eeeeb8 100644 --- a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/VssDefinitionParser.kt +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/VssDefinitionParser.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2024 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. @@ -25,10 +25,8 @@ import java.io.File internal interface VssDefinitionParser { /** * @param definitionFile to parse [VssSpecificationSpecModel] with - * @param elementDelimiter which is the separator string between the specifications. The default is an empty line. + * + * @throws java.io.IOException will be thrown when parsing the SpecModels failed */ - fun parseSpecifications( - definitionFile: File, - elementDelimiter: String = "", - ): List + fun parseSpecifications(definitionFile: File): List } diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactory.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactory.kt new file mode 100644 index 00000000..d8afd679 --- /dev/null +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactory.kt @@ -0,0 +1,59 @@ +/* + * Copyright (c) 2023 - 2024 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.vssprocessor.parser.factory + +import org.eclipse.kuksa.vssprocessor.parser.VssDefinitionParser +import org.eclipse.kuksa.vssprocessor.parser.factory.VssFileExtension.JSON +import org.eclipse.kuksa.vssprocessor.parser.factory.VssFileExtension.YAML +import org.eclipse.kuksa.vssprocessor.parser.json.JsonDefinitionParser +import org.eclipse.kuksa.vssprocessor.parser.yaml.YamlDefinitionParser +import java.io.File + +internal class VssDefinitionParserFactory { + + /** + * @throws IllegalStateException when the specified extension is not supported + */ + fun create(extension: String): VssDefinitionParser { + return when { + JSON.fileExtensions.contains(extension) -> { + JsonDefinitionParser() + } + + YAML.fileExtensions.contains(extension) -> { + YamlDefinitionParser() + } + + else -> { + error("Could not create VssDefinitionParser: File Extension '$extension' not supported") + } + } + } + + /** + * @throws IllegalStateException when the extension of the specified file is not supported + */ + fun create(file: File): VssDefinitionParser { + val fileName = file.name // with extension + val fileExtension = fileName.substringAfterLast(".") + + return create(fileExtension) + } +} diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssFileExtension.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssFileExtension.kt new file mode 100644 index 00000000..79a08699 --- /dev/null +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssFileExtension.kt @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2023 - 2024 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.vssprocessor.parser.factory + +// keep VssProcessorPlFugin#validVssExtensions aligned +internal enum class VssFileExtension(vararg val fileExtensions: String) { + JSON("json"), + YAML("yaml", "yml"), +} diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt new file mode 100644 index 00000000..6ec60764 --- /dev/null +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2023 - 2024 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.vssprocessor.parser.json + +import com.google.gson.Gson +import com.google.gson.JsonObject +import com.google.gson.JsonParseException +import org.eclipse.kuksa.vssprocessor.parser.VssDefinitionParser +import org.eclipse.kuksa.vssprocessor.spec.VssSpecificationSpecModel +import java.io.File +import java.io.IOException + +private const val ROOT_KEY_VEHICLE = "Vehicle" + +private const val KEY_DATA_DESCRIPTION = "description" +private const val KEY_DATA_TYPE = "type" +private const val KEY_DATA_UUID = "uuid" +private const val KEY_DATA_COMMENT = "comment" +private const val KEY_DATA_DATATYPE = "datatype" +private const val KEY_DATA_CHILDREN = "children" + +internal class JsonDefinitionParser : VssDefinitionParser { + private val dataKeys = listOf( + KEY_DATA_DESCRIPTION, + KEY_DATA_TYPE, + KEY_DATA_UUID, + KEY_DATA_COMMENT, + KEY_DATA_DATATYPE, + KEY_DATA_CHILDREN, + ) + + override fun parseSpecifications(definitionFile: File): List { + val vssSpecificationSpecModels = mutableListOf() + + try { + val jsonStreamReader = definitionFile.reader() + + val gson = Gson() + val rootJsonObject = gson.fromJson(jsonStreamReader, JsonObject::class.java) + + if (rootJsonObject.has(ROOT_KEY_VEHICLE)) { + val vehicleJsonObject = rootJsonObject.getAsJsonObject(ROOT_KEY_VEHICLE) + vssSpecificationSpecModels += parseSpecModels(ROOT_KEY_VEHICLE, vehicleJsonObject) + } else { + throw IOException("Invalid VSS Specification file '${definitionFile.path}'") + } + } catch (e: JsonParseException) { + throw IOException("Invalid VSS Specification file '${definitionFile.path}'", e) + } + + return vssSpecificationSpecModels.toList() + } + + private fun parseSpecModels( + vssPath: String, + jsonObject: JsonObject, + ): MutableList { + val parsedSpecModels = mutableListOf() + + val parsedSpecModel = parseSpecModel(jsonObject, vssPath) + parsedSpecModels += parsedSpecModel + + if (jsonObject.has(KEY_DATA_CHILDREN)) { + val childrenJsonElement = jsonObject.getAsJsonObject(KEY_DATA_CHILDREN) + + val filteredKeys = childrenJsonElement.asMap().keys + .filter { key -> !dataKeys.contains(key) } + + filteredKeys.forEach { key -> + val childJsonElement = childrenJsonElement.getAsJsonObject(key) + val newVssPath = "$vssPath.$key" + // recursively go deeper in hierarchy and parse next element + parsedSpecModels += parseSpecModels(newVssPath, childJsonElement) + } + } + + return parsedSpecModels + } + + private fun parseSpecModel( + jsonObject: JsonObject, + vssPath: String, + ): VssSpecificationSpecModel { + val uuid = jsonObject.get(KEY_DATA_UUID).asString + ?: throw JsonParseException("Could not parse '$KEY_DATA_UUID' for '$vssPath'") + + val type = jsonObject.get(KEY_DATA_TYPE).asString + ?: throw JsonParseException("Could not parse '$KEY_DATA_TYPE' for '$vssPath'") + + val description = jsonObject.get(KEY_DATA_DESCRIPTION).asString ?: "" + val datatype = jsonObject.get(KEY_DATA_DATATYPE)?.asString ?: "" + val comment = jsonObject.get(KEY_DATA_COMMENT)?.asString ?: "" + + return VssSpecificationSpecModel(uuid, vssPath, description, type, comment, datatype) + } +} diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/YamlDefinitionParser.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParser.kt similarity index 92% rename from vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/YamlDefinitionParser.kt rename to vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParser.kt index c7aad65f..3c021e97 100644 --- a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/YamlDefinitionParser.kt +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParser.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2024 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,17 +17,18 @@ * */ -package org.eclipse.kuksa.vssprocessor.parser +package org.eclipse.kuksa.vssprocessor.parser.yaml import org.eclipse.kuksa.vsscore.model.VssSpecification +import org.eclipse.kuksa.vssprocessor.parser.VssDefinitionParser import org.eclipse.kuksa.vssprocessor.spec.VssSpecificationSpecModel import java.io.File import kotlin.reflect.KMutableProperty import kotlin.reflect.KProperty import kotlin.reflect.full.memberProperties -internal class YamlDefinitionParser : VssDefinitionParser { - override fun parseSpecifications(definitionFile: File, elementDelimiter: String): List { +internal class YamlDefinitionParser(private val elementDelimiter: String = "") : VssDefinitionParser { + override fun parseSpecifications(definitionFile: File): List { val specificationElements = mutableListOf() definitionFile.useLines { lines -> val yamlAttributes = mutableListOf() diff --git a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactoryTest.kt b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactoryTest.kt new file mode 100644 index 00000000..ad0e9409 --- /dev/null +++ b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactoryTest.kt @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2023 - 2024 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.vssprocessor.parser.factory + +import io.kotest.core.spec.style.BehaviorSpec +import io.kotest.matchers.shouldBe +import io.kotest.matchers.types.instanceOf +import org.eclipse.kuksa.vssprocessor.parser.json.JsonDefinitionParser +import org.eclipse.kuksa.vssprocessor.parser.yaml.YamlDefinitionParser +import java.io.File + +class VssDefinitionParserFactoryTest : BehaviorSpec({ + + given("An instance of DefinitionParserFactory") { + val classUnderTest = VssDefinitionParserFactory() + + `when`("Calling create with supported extension 'json'") { + val vssDefinitionParser = classUnderTest.create("json") + + then("It should return a JsonDefinitionParser") { + vssDefinitionParser shouldBe instanceOf(JsonDefinitionParser::class) + } + } + + `when`("Calling create with supported extension 'yaml'") { + val vssDefinitionParser = classUnderTest.create("yaml") + + then("It should return a YamlDefinitionParser") { + vssDefinitionParser shouldBe instanceOf(YamlDefinitionParser::class) + } + } + + `when`("Calling create with supported extension 'yml'") { + val vssDefinitionParser = classUnderTest.create("yml") + + then("It should return a YamlDefinitionParser") { + vssDefinitionParser shouldBe instanceOf(YamlDefinitionParser::class) + } + } + + `when`("Calling create with a File with a supported file extension") { + val supportedFile = File("someVssFile.with-multiple-dots.json") + val vssDefinitionParser = classUnderTest.create(supportedFile) + + then("It should correctly extract the extension and return the corresponding VssDefinitionParser") { + vssDefinitionParser shouldBe instanceOf(JsonDefinitionParser::class) + } + } + + `when`("Calling create with unknown extension 'txt'") { + val result = runCatching { + classUnderTest.create("txt") + } + + then("It should throw an IllegalStateException") { + result.exceptionOrNull() shouldBe instanceOf(IllegalStateException::class) + } + } + } +}) diff --git a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt new file mode 100644 index 00000000..96f22868 --- /dev/null +++ b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2023 - 2024 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.vssprocessor.parser.json + +import io.kotest.assertions.fail +import io.kotest.core.spec.style.BehaviorSpec +import io.kotest.matchers.shouldBe +import io.kotest.matchers.types.instanceOf +import java.io.File +import java.io.IOException + +class JsonDefinitionParserTest : BehaviorSpec({ + + given("A JsonDefinitionParser") { + val classUnderTest = JsonDefinitionParser() + val classLoader = JsonDefinitionParserTest::class.java.classLoader + + `when`("Parsing the SpecModels of vss_rel_4.0.partial.json") { + val urlToPartialSpec = classLoader.getResource("json/vss_rel_4.0.partial.json")!! + val file = File(urlToPartialSpec.path) + val specModels = classUnderTest.parseSpecifications(file) + + then("The following SpecModels should be parsed") { + val validVssPaths = listOf( + "Vehicle", + "Vehicle.ADAS", + "Vehicle.ADAS.ABS", + "Vehicle.ADAS.ABS.IsEnabled", + "Vehicle.ADAS.ABS.IsEngaged", + "Vehicle.ADAS.ABS.IsError", + "Vehicle.ADAS.ActiveAutonomyLevel", + "Vehicle.ADAS.CruiseControl", + "Vehicle.ADAS.CruiseControl.IsActive", + "Vehicle.ADAS.CruiseControl.IsEnabled", + "Vehicle.ADAS.CruiseControl.IsError", + "Vehicle.ADAS.CruiseControl.SpeedSet", + "Vehicle.ADAS.DMS", + "Vehicle.ADAS.DMS.IsEnabled", + "Vehicle.ADAS.DMS.IsError", + "Vehicle.ADAS.DMS.IsWarning", + "Vehicle.AverageSpeed", + "Vehicle.Speed", + ) + + validVssPaths.forEach { vssPath -> + specModels.find { specModel -> specModel.vssPath == vssPath } + ?: fail("Could not find '$vssPath'") + } + } + + then("A Branch (Vehicle.ADAS.ABS) is correctly parsed") { + val absSpecModel = specModels.find { it.vssPath == "Vehicle.ADAS.ABS" } + ?: fail("Could not find Vehicle.ADAS.ABS") + + absSpecModel.description shouldBe "Antilock Braking System signals." + absSpecModel.type shouldBe "branch" + absSpecModel.uuid shouldBe "219270ef27c4531f874bbda63743b330" + absSpecModel.comment shouldBe "" + absSpecModel.datatype shouldBe "" + } + + then("A Leaf (Vehicle.ADAS.ABS.IsEnabled) is correctly parsed") { + val absSpecModel = specModels.find { it.vssPath == "Vehicle.ADAS.ABS.IsEnabled" } + ?: fail("Could not find Vehicle.ADAS.ABS.IsEnabled") + + absSpecModel.description shouldBe "Indicates if ABS is enabled. True = Enabled. False = Disabled." + absSpecModel.type shouldBe "actuator" + absSpecModel.uuid shouldBe "cad374fbfdc65df9b777508f04d5b073" + absSpecModel.comment shouldBe "" + absSpecModel.datatype shouldBe "boolean" + } + } + + `when`("Parsing the SpecModels of vss_rel_4.0.json") { + val urlToFullSpec = classLoader.getResource("json/vss_rel_4.0.json")!! + val file = File(urlToFullSpec.path) + val specModels = classUnderTest.parseSpecifications(file) + + then("the correct number of specification models should be parsed") { + specModels.size shouldBe 1197 // counted occurrences of '"uuid":' in specFile + } + } + + `when`("Parsing an incompatible / non-vss json file") { + val urlToFullSpec = classLoader.getResource("json/incompatible.json")!! + val file = File(urlToFullSpec.path) + + val result = runCatching { + classUnderTest.parseSpecifications(file) + } + + then("An IOException is thrown") { + result.exceptionOrNull() shouldBe instanceOf(IOException::class) + } + } + + `when`("Parsing a non-json file") { + val urlToFullSpec = classLoader.getResource("yaml/vss_rel_4.0.yaml")!! + val file = File(urlToFullSpec.path) + + val result = runCatching { + classUnderTest.parseSpecifications(file) + } + + then("An IOException is thrown") { + result.exceptionOrNull() shouldBe instanceOf(IOException::class) + } + } + } +}) diff --git a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/YamlDefinitionParserTest.kt b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParserTest.kt similarity index 83% rename from vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/YamlDefinitionParserTest.kt rename to vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParserTest.kt index 0d0b9a7c..e41946fc 100644 --- a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/YamlDefinitionParserTest.kt +++ b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParserTest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Contributors to the Eclipse Foundation + * Copyright (c) 2023 - 2024 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. @@ -14,9 +14,10 @@ * limitations under the License. * * SPDX-License-Identifier: Apache-2.0 + * */ -package org.eclipse.kuksa.vssprocessor.parser +package org.eclipse.kuksa.vssprocessor.parser.yaml import io.kotest.core.spec.style.BehaviorSpec import io.kotest.matchers.shouldBe @@ -28,20 +29,19 @@ class YamlDefinitionParserTest : BehaviorSpec({ val classLoader = parser::class.java.classLoader!! and("a specification file of version 4") { - val resourceUrl = classLoader.getResource("vss_rel_4.0.yaml")!! + val resourceUrl = classLoader.getResource("yaml/vss_rel_4.0.yaml")!! val specificationFile = File(resourceUrl.path) `when`("parsing the file") { val parsedSpecifications = parser.parseSpecifications(specificationFile) then("the correct number of specification models should be parsed") { - // These are exactly the specifications defined in the 4.0 file - parsedSpecifications.size shouldBe 1197 + parsedSpecifications.size shouldBe 1197 // counted occurrences of '"uuid":' in specFile } } } and("an incompatible yaml file") { - val incompatibleResourceUrl = classLoader.getResource("incompatible.yaml")!! + val incompatibleResourceUrl = classLoader.getResource("yaml/incompatible.yaml")!! val incompatibleFile = File(incompatibleResourceUrl.path) `when`("parsing the file") { @@ -53,7 +53,7 @@ class YamlDefinitionParserTest : BehaviorSpec({ } } and("an invalid yaml file") { - val invalidResourceUrl = classLoader.getResource("invalid.yaml")!! + val invalidResourceUrl = classLoader.getResource("yaml/invalid.yaml")!! val invalidFile = File(invalidResourceUrl.path) `when`("parsing the file") { diff --git a/vss-processor/src/test/resources/json/incompatible.json b/vss-processor/src/test/resources/json/incompatible.json new file mode 100644 index 00000000..080288e0 --- /dev/null +++ b/vss-processor/src/test/resources/json/incompatible.json @@ -0,0 +1,25 @@ +{ + "glossary": { + "title": "example glossary", + "GlossDiv": { + "title": "S", + "GlossList": { + "GlossEntry": { + "ID": "SGML", + "SortAs": "SGML", + "GlossTerm": "Standard Generalized Markup Language", + "Acronym": "SGML", + "Abbrev": "ISO 8879:1986", + "GlossDef": { + "para": "A meta-markup language, used to create markup languages such as DocBook.", + "GlossSeeAlso": [ + "GML", + "XML" + ] + }, + "GlossSee": "markup" + } + } + } + } +} diff --git a/vss-processor/src/test/resources/json/vss_rel_4.0.json b/vss-processor/src/test/resources/json/vss_rel_4.0.json new file mode 100644 index 00000000..8f6b4cc0 --- /dev/null +++ b/vss-processor/src/test/resources/json/vss_rel_4.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", "uuid": "cad374fbfdc65df9b777508f04d5b073"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "6dd21979a2225e31940dc2ece1aa9a04"}, "IsError": {"datatype": "boolean", "description": "Indicates if ABS incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "13cfabb3122254128234f9a696f14678"}}, "description": "Antilock Braking System signals.", "type": "branch", "uuid": "219270ef27c4531f874bbda63743b330"}, "ActiveAutonomyLevel": {"allowed": ["SAE_0", "SAE_1", "SAE_2_DISENGAGING", "SAE_2", "SAE_3_DISENGAGING", "SAE_3", "SAE_4_DISENGAGING", "SAE_4", "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.", "datatype": "string", "description": "Indicates the currently active level of autonomy according to SAE J3016 taxonomy.", "type": "sensor", "uuid": "b101c6928fc55948b1cc485e568ecd8d"}, "CruiseControl": {"children": {"IsActive": {"datatype": "boolean", "description": "Indicates if cruise control system is active (i.e. actively controls speed). True = Active. False = Inactive.", "type": "actuator", "uuid": "78ab5ce923dc5aa1a6622bcb948e1561"}, "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"}, "IsError": {"datatype": "boolean", "description": "Indicates if cruise control system incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "22923d4a36bc5192a08e40fe9e5ed458"}, "SpeedSet": {"datatype": "float", "description": "Set cruise control speed in kilometers per hour.", "type": "actuator", "unit": "km/h", "uuid": "b3f3a53ccd825e4da5cb1226f94dc005"}}, "description": "Signals from Cruise Control system.", "type": "branch", "uuid": "c4d751cf74f9576dbba3cc820991c1fb"}, "DMS": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if DMS is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "63e6d3803ce35fd79afc728c65295804"}, "IsError": {"datatype": "boolean", "description": "Indicates if DMS incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "d5213c8cb5d5575994b2c8ee1ad8eccf"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if DMS has registered a driver alert condition.", "type": "sensor", "uuid": "2c86cd0363cd55ffb175a9e07cc32e4d"}}, "description": "Driver Monitoring System signals.", "type": "branch", "uuid": "1cd72c7fc7fe5269a93c9954f46a4f60"}, "EBA": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if EBA is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "3ae9171b69555fb08855054ab38e9b17"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if EBA is currently regulating brake pressure. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "86360c44ead354d18af7ff14176151f6"}, "IsError": {"datatype": "boolean", "description": "Indicates if EBA incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "bae0fe856398502ba4a09283867c6c81"}}, "description": "Emergency Brake Assist (EBA) System signals.", "type": "branch", "uuid": "51ec0930d0af5b91b84a0775c6e87a97"}, "EBD": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if EBD is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "30f88d3e68575b67853b14ce5f7a08e5"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if EBD is currently regulating vehicle brakeforce distribution. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "67aa2a598f635edda6eb944af99b06db"}, "IsError": {"datatype": "boolean", "description": "Indicates if EBD incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "918157073be95015ae38913cd7a9796a"}}, "description": "Electronic Brakeforce Distribution (EBD) System signals.", "type": "branch", "uuid": "3f4c74a588735b10ac9fe918d305cd5a"}, "ESC": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if ESC is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "3f4f39b8d8c05c97a6de685282ba74b7"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if ESC is currently regulating vehicle stability. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "2088953a28385353a9d46b3a3dc11cac"}, "IsError": {"datatype": "boolean", "description": "Indicates if ESC incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "6c237535654b5bc7a70f6a70c760b9d4"}, "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"}, "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", "uuid": "634289f58b5d511ea9979f04a9d0f2ab"}, "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", "uuid": "b0eb72430cd95bfbba0d187fcb6e2a62"}, "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", "uuid": "ad0415a799575fcd8d1f49bed9a2baeb"}}, "description": "Road friction values reported by the ESC system.", "type": "branch", "uuid": "71a32e4eb131532c82195508d93807ed"}}, "description": "Electronic Stability Control System signals.", "type": "branch", "uuid": "636b4586ce7854b4b270a2f3b6c0af4f"}, "LaneDepartureDetection": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if lane departure detection system is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "c099ae97260f5c418977cd14631e95be"}, "IsError": {"datatype": "boolean", "description": "Indicates if lane departure system incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "73b2fc4f6a4952e4b7886671450e7798"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if lane departure detection registered a lane departure.", "type": "sensor", "uuid": "c32fcd1d56035cb08acfd380be224c6a"}}, "description": "Signals from Lane Departure Detection System.", "type": "branch", "uuid": "e45f33fdcf245f11981b2f201ee8281a"}, "ObstacleDetection": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", "type": "actuator", "uuid": "cc0cd497285e5034a1cccb25f02e9db9"}, "IsError": {"datatype": "boolean", "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "368b74e2468d5217925a478ed6e34f9f"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if obstacle sensor system registered an obstacle.", "type": "sensor", "uuid": "b0b1eab51f135ffcb2a17a7603415fec"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch", "uuid": "e7b6d81631cc5ac584d027d4c1a66cb5"}, "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", "uuid": "044ad42893e65993bfc439455fb08faa"}, "SupportedAutonomyLevel": {"allowed": ["SAE_0", "SAE_1", "SAE_2", "SAE_3", "SAE_4", "SAE_5"], "datatype": "string", "description": "Indicates the highest level of autonomy according to SAE J3016 taxonomy the vehicle is capable of.", "type": "attribute", "uuid": "020410189ab4517cb85ceda268b40f51"}, "TCS": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if TCS is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "1d2dda19b11758a19ba7c1d5cd2d7956"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if TCS is currently regulating traction. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "b33d70009ad5589fbffe17fa7e827242"}, "IsError": {"datatype": "boolean", "description": "Indicates if TCS incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "08f88723ba63558b8c804b8fe8e3f149"}}, "description": "Traction Control System signals.", "type": "branch", "uuid": "0572e9f6b1aa5fb5b2f68086aff05073"}}, "description": "All Advanced Driver Assist Systems data.", "type": "branch", "uuid": "14c2b2e1297b513197d320a5ce58f42e"}, "Acceleration": {"children": {"Lateral": {"datatype": "float", "description": "Vehicle acceleration in Y (lateral acceleration).", "type": "sensor", "unit": "m/s^2", "uuid": "7522c5d6b7665b16a099643b2700e93c"}, "Longitudinal": {"datatype": "float", "description": "Vehicle acceleration in X (longitudinal acceleration).", "type": "sensor", "unit": "m/s^2", "uuid": "3d511fe7232b5841be311b37f322de5a"}, "Vertical": {"datatype": "float", "description": "Vehicle acceleration in Z (vertical acceleration).", "type": "sensor", "unit": "m/s^2", "uuid": "a4a8a7c4ac5b52deb0b3ee4ed8787c59"}}, "description": "Spatial acceleration. Axis definitions according to ISO 8855.", "type": "branch", "uuid": "6c490e6a798c5abc8f0178ed6deae0a8"}, "AngularVelocity": {"children": {"Pitch": {"datatype": "float", "description": "Vehicle rotation rate along Y (lateral).", "type": "sensor", "unit": "degrees/s", "uuid": "42236f4a01f45313a97fdd9b6848ce4f"}, "Roll": {"datatype": "float", "description": "Vehicle rotation rate along X (longitudinal).", "type": "sensor", "unit": "degrees/s", "uuid": "221e6b93881e5771bcbd03e0849e0075"}, "Yaw": {"datatype": "float", "description": "Vehicle rotation rate along Z (vertical).", "type": "sensor", "unit": "degrees/s", "uuid": "4114c41552565c1f9035670cabe2a611"}}, "description": "Spatial rotation. Axis definitions according to ISO 8855.", "type": "branch", "uuid": "1eef530a43de56aab665d2766483cde2"}, "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", "uuid": "43a489636a665c3abb99b63174eb552b"}, "Body": {"children": {"BodyType": {"datatype": "string", "description": "Body type code as defined by ISO 3779.", "type": "attribute", "uuid": "6253412513105deea63b1d424117fd88"}, "Hood": {"children": {"IsOpen": {"datatype": "boolean", "description": "Hood open or closed. True = Open. False = Closed.", "type": "actuator", "uuid": "890aa3359e1a579288af1cf8e6b5b71f"}}, "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.", "type": "branch", "uuid": "84510652bf915bbe8bf5f477aab2b44a"}, "Horn": {"children": {"IsActive": {"datatype": "boolean", "description": "Horn active or inactive. True = Active. False = Inactive.", "type": "actuator", "uuid": "ba20deed9314525bb9d552a2b787fb20"}}, "description": "Horn signals.", "type": "branch", "uuid": "09c76633887f52268b960740eb969c89"}, "Lights": {"children": {"Backup": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "b907c4ac4ee459faa987c64a6da424c3"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "ef23a3fa6106564195a66e21d8cf69b4"}}, "description": "Backup lights.", "type": "branch", "uuid": "4fe2cb68fc77506686eced7225aeff9a"}, "Beam": {"children": {"High": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "83561d8c9a025cfdad6c4b325829fa00"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "24d1346519b05697b872c06556a09fb4"}}, "description": "Beam lights.", "type": "branch", "uuid": "306b51d2e1ec572fa80172aad6727da0"}, "Low": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "3a135f1267ea5b2a80aa9a17fc8072db"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "8b4d4855b0c95963a25dc564c9758610"}}, "description": "Beam lights.", "type": "branch", "uuid": "f6f21ea5b263545297f4411b2e15037f"}}, "description": "Beam lights.", "type": "branch", "uuid": "6685308a9d955ecdad92a7cc68666a12"}, "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", "uuid": "65eb84d61ea95313985054f626b85b59"}, "IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "1db542c5ba715e09b948527418966728"}}, "description": "Brake lights.", "type": "branch", "uuid": "30eabe704102501cb299d03696fad92a"}, "DirectionIndicator": {"children": {"Left": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "32a092936fb65165ba1dd8dfa38bf77d"}, "IsSignaling": {"datatype": "boolean", "description": "Indicates if light is signaling or off. True = signaling. False = Off.", "type": "actuator", "uuid": "33ac6ec5e4d9550aac6ae0ce97dae259"}}, "description": "Indicator lights.", "type": "branch", "uuid": "446dea42b8e95d87b45e5e51c881bf98"}, "Right": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "db70c2d885725583a7ed95b215a8ec6c"}, "IsSignaling": {"datatype": "boolean", "description": "Indicates if light is signaling or off. True = signaling. False = Off.", "type": "actuator", "uuid": "9b0a1dab153f5dcda8df2116c3b6d487"}}, "description": "Indicator lights.", "type": "branch", "uuid": "9922f6b417e95f1c945ef9f414bcdf78"}}, "description": "Indicator lights.", "type": "branch", "uuid": "0566cb97d05c554eb88a07142f2475ac"}, "Fog": {"children": {"Front": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "f9238f15d2615a22802ce9ec9f1d72e9"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "0ec10846d20a5d1b9b8a286303ecb844"}}, "description": "Fog lights.", "type": "branch", "uuid": "230cc65abaaf500c9085c29d48107552"}, "Rear": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "1d44e594ffa35d73a6f620f479eeef4c"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "1fe08a2f687c5c2880adef26cc7de746"}}, "description": "Fog lights.", "type": "branch", "uuid": "38359f258135516cb49c0fa1f093d478"}}, "description": "Fog lights.", "type": "branch", "uuid": "1e90cf42bb825217b283c7285a606953"}, "Hazard": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "25cd3475beb6543a8538974b67544c43"}, "IsSignaling": {"datatype": "boolean", "description": "Indicates if light is signaling or off. True = signaling. False = Off.", "type": "actuator", "uuid": "c53950205aa15dffa304390dcb761cc3"}}, "description": "Hazard lights.", "type": "branch", "uuid": "803498c3be6253dfb074c0e0294be758"}, "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"}, "LicensePlate": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "4de6594de7815cec97e5b851d70e239b"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "afeace5d76ed53f989ae4251090ba069"}}, "description": "License plate lights.", "type": "branch", "uuid": "7bb12e42a8c45c198f83bf41b19131fa"}, "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", "uuid": "2feb14a3558256339442413783969f4f"}, "Parking": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "56761305eae559c7931f6ff5fee0dfa8"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "6ba0825427335408ad7d0f148d6250ea"}}, "description": "Parking lights.", "type": "branch", "uuid": "dfb819be5cec5be09b9fb743829301c3"}, "Running": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "7cda127e6d45547681757e789c0b7a87"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "1c4e44f1e0275965b466ac674a5b8cac"}}, "description": "Running lights.", "type": "branch", "uuid": "38868a9f1bda573595501302c1f0a1db"}}, "description": "Exterior lights.", "type": "branch", "uuid": "399d1ec14d6f55bb825e078a801bde55"}, "Mirrors": {"children": {"DriverSide": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", "type": "actuator", "uuid": "21262ce775a85abe9f6354f9c3ac9988"}, "Pan": {"datatype": "int8", "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"}, "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", "uuid": "eafa81963c315aa78eda11eec8012d34"}}, "description": "All mirrors.", "type": "branch", "uuid": "3c62705bbcf654489c8179b63118829f"}, "PassengerSide": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", "type": "actuator", "uuid": "9d64ad38532658298e5f59a2f999ef57"}, "Pan": {"datatype": "int8", "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"}, "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", "uuid": "0f3734b090065873a7feb40931c72a28"}}, "description": "All mirrors.", "type": "branch", "uuid": "8025a1e06e9d5ddb96405cce1f1f38cb"}}, "description": "All mirrors.", "type": "branch", "uuid": "a4ea618914885a239ef5fa62c671a800"}, "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", "uuid": "2fe44a1c3bb155aca782b017efeb6175"}, "Raindetection": {"children": {"Intensity": {"datatype": "uint8", "description": "Rain intensity. 0 = Dry, No Rain. 100 = Covered.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "1ee0a2f22e8257d299425a4ff2652555"}}, "description": "Rain sensor signals.", "type": "branch", "uuid": "f16759f3dcfb5be4832e962da29ebd6c"}, "RearMainSpoilerPosition": {"datatype": "float", "description": "Rear spoiler position, 0% = Spoiler fully stowed. 100% = Spoiler fully exposed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "6209a82390585b869cc3d00d069eade2"}, "RefuelPosition": {"allowed": ["FRONT_LEFT", "FRONT_RIGHT", "MIDDLE_LEFT", "MIDDLE_RIGHT", "REAR_LEFT", "REAR_RIGHT"], "datatype": "string", "description": "Location of the fuel cap or charge port.", "type": "attribute", "uuid": "53ef90a851fa57f0810d50238e852f02"}, "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", "uuid": "43d7844934a45890bf2a287b676a994b"}, "IsLocked": {"datatype": "boolean", "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "e0eabc210f07505fa1b66b67729d681b"}, "IsOpen": {"datatype": "boolean", "description": "Trunk open or closed. True = Open. False = Closed.", "type": "actuator", "uuid": "2047de0896a352fcaf02baa06819a023"}}, "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.", "type": "branch", "uuid": "a455aca5bae55c22b7949fd31a765a6c"}, "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", "uuid": "a1065214515c5f7aa86f51eb7bf36664"}, "IsLocked": {"datatype": "boolean", "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "8f9b55b002ed59d3ac2ef0b014abf4aa"}, "IsOpen": {"datatype": "boolean", "description": "Trunk open or closed. True = Open. False = Closed.", "type": "actuator", "uuid": "3d3249e59306594698367b839b12c938"}}, "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.", "type": "branch", "uuid": "a6170ff5e4325f38b5d57402e1d95e5a"}}, "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.", "type": "branch", "uuid": "a584c6a5aa235cb88ac686f8d72a1dff"}, "Windshield": {"children": {"Front": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Windshield heater status. False - off, True - on.", "type": "actuator", "uuid": "26e6a3b7e9bb58bebba29258faa6e300"}, "WasherFluid": {"children": {"IsLevelLow": {"datatype": "boolean", "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", "type": "sensor", "uuid": "8ca54695ad115f9bb6f56d7c450781a7"}, "Level": {"datatype": "uint8", "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "a36dfb91414f5792bd01d193dceff1f4"}}, "description": "Windshield washer fluid signals", "type": "branch", "uuid": "2de24016515353289953de5ea81efd3c"}, "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", "uuid": "7cdd36d1cc8f5f9a9f079f663190b588"}, "IsWipersWorn": {"datatype": "boolean", "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", "type": "sensor", "uuid": "b04ccc7daedb559c9bcdda6b00332be5"}, "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", "uuid": "3ee6552c96e551c5b06b79ad30226767"}, "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", "uuid": "026307b591465a8a99ffc0ebf262b393"}, "DriveCurrent": {"comment": "May be negative in special situations.", "datatype": "float", "description": "Actual current used by wiper drive.", "type": "sensor", "unit": "A", "uuid": "251e695821b758e7b7d459d5e2ab6ca4"}, "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", "uuid": "7394c8b8d20d52638881161ec1b41fc0"}, "IsBlocked": {"datatype": "boolean", "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", "type": "sensor", "uuid": "4b526a2c781e56e386c82df226061f9e"}, "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"}, "IsOverheated": {"datatype": "boolean", "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", "type": "sensor", "uuid": "e05d376ec2525ba2b61039d55f93760f"}, "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"}, "IsWiperError": {"datatype": "boolean", "description": "Indicates system failure. True if wiping is disabled due to system failure.", "type": "sensor", "uuid": "5276055d973f57998e1b8d6e536de735"}, "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"}, "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", "uuid": "d15518f5d1bc54a38718f43ef749dd34"}, "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", "uuid": "7a4a3fdd2947596dbada6980c142f090"}}, "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"}, "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", "uuid": "92c879c11bc65e6da30d582a3928caac"}}, "description": "Windshield wiper signals.", "type": "branch", "uuid": "2cffeccdc19a587cbe2264f426c6881a"}}, "description": "Windshield signals.", "type": "branch", "uuid": "8f0c61e4e4f557d98729210fc3c74f72"}, "Rear": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Windshield heater status. False - off, True - on.", "type": "actuator", "uuid": "76d811b4c4c356f4898dd6383e28bc6f"}, "WasherFluid": {"children": {"IsLevelLow": {"datatype": "boolean", "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", "type": "sensor", "uuid": "8ca0356548ae54e8af3aeace49e5ed71"}, "Level": {"datatype": "uint8", "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "c167e5b265895c108da1b9582de2dd91"}}, "description": "Windshield washer fluid signals", "type": "branch", "uuid": "1ea4ac2370e1567b9b812c1e3020ddfb"}, "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", "uuid": "f18b13b9d96b51c492c031d3d86d22da"}, "IsWipersWorn": {"datatype": "boolean", "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", "type": "sensor", "uuid": "0e8d5f7cb6295b908be3a03e8792cca8"}, "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", "uuid": "8cc0b88ac8b45f5fa30bb7755ce22648"}, "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", "uuid": "eddee2607a135582bbcf3d3afc845892"}, "DriveCurrent": {"comment": "May be negative in special situations.", "datatype": "float", "description": "Actual current used by wiper drive.", "type": "sensor", "unit": "A", "uuid": "7a254692329055dfb4089e2dcc1d4ef3"}, "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", "uuid": "371171d971995c999585b028e19be461"}, "IsBlocked": {"datatype": "boolean", "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", "type": "sensor", "uuid": "046e818b4dd9595a8301503e9afe028b"}, "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"}, "IsOverheated": {"datatype": "boolean", "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", "type": "sensor", "uuid": "d30bc6f33b995ef491c252980a559ee2"}, "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"}, "IsWiperError": {"datatype": "boolean", "description": "Indicates system failure. True if wiping is disabled due to system failure.", "type": "sensor", "uuid": "ac5983deacbe59d7ba1312d44bfd9cd4"}, "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"}, "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", "uuid": "f2f47522466d570baa7618fac5b0359c"}, "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", "uuid": "c39bef0760185555904a92a305392080"}}, "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"}, "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", "uuid": "afd6a352230f5eeaa8ac5f1f188bfd33"}}, "description": "Windshield wiper signals.", "type": "branch", "uuid": "f56e80a50fd75dbca48581aea4f012b7"}}, "description": "Windshield signals.", "type": "branch", "uuid": "095ff58459b854aaa742e56447fe7a93"}}, "description": "Windshield signals.", "type": "branch", "uuid": "73efba535dcb5032b9edc43406b050b8"}}, "description": "All body components.", "type": "branch", "uuid": "bd2854e6a9165c5698ce8dd9f0438ecc"}, "Cabin": {"children": {"Convertible": {"children": {"Status": {"allowed": ["UNDEFINED", "CLOSED", "OPEN", "CLOSING", "OPENING", "STALLED"], "datatype": "string", "description": "Roof status on convertible vehicles.", "type": "sensor", "uuid": "c8812698198a56d7a1adcc8bbe87845f"}}, "description": "Convertible roof.", "type": "branch", "uuid": "2aece85d39d6569e93cf842387a645d9"}, "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", "uuid": "62a265895be0566694358eecab381a4c"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "9080712219dc57eaacf85d6630e01ca0"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "da3dccb4ab085fcabca24efd99435d87"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "7ec218dfc5855bfa88af947d7b06b1f4"}, "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", "uuid": "fea7f9577a8456128c548daf3c548ea4"}}, "description": "Side window shade", "type": "branch", "uuid": "7220d013b9205e1b9e7ca6b95cb14058"}, "Window": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "ff58aae512475431bec02b5c4a36b6f9"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "83da2e0448465874bf2bff9aeff91793"}, "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", "uuid": "5d3f802110a95653b4518b8f21836113"}}, "description": "Door window status", "type": "branch", "uuid": "6ab9b77468d45cdfadebe124256aa910"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "0fe04659010a505a9816a3a9457b3540"}, "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", "uuid": "74a842786a73553ba3491975c2077ac7"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "48d4388ec67b519ab500ee424ce4b6cb"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "80aca3884840557db10f1314a27a5eeb"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "8f583d09021e51319aa6bdd0e29aefc8"}, "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", "uuid": "c700d6a13a16522ead84b81314fd452b"}}, "description": "Side window shade", "type": "branch", "uuid": "dfe64259f26a54bda64b9aa24362c7eb"}, "Window": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "120e3b950fd657fabd90069e6e01f44e"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "ec293d2eb9e052e88d01927c811711ef"}, "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", "uuid": "36efa23a161a5fe1b65e36f5656738fb"}}, "description": "Door window status", "type": "branch", "uuid": "c588ac43d3945dc0a45994c4d298d9b0"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "9ea0425fb2085ded9a393d4e999ae90a"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "fd3fcb481cb953dc9a853125c6ca0453"}, "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", "uuid": "707facc3d89052d8ae66675ffd8755a8"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "df98641aae1553a68b741826496d9d42"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "49c55921d1825bc1a82334a40eeb45f9"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "96227261fc205735adb031fb549de6bf"}, "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", "uuid": "81f6196e909d590d858fe4da18c60590"}}, "description": "Side window shade", "type": "branch", "uuid": "9b08a5dc400253b8bf31776582f275fd"}, "Window": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "1fa3b2f43118575aa2f136fdd15ff61f"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "8a097ade895c5cd8afe9efeef79532fc"}, "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", "uuid": "4dd1a3858c1b54cc94a8dc4d011ea307"}}, "description": "Door window status", "type": "branch", "uuid": "bb6ac206a45b507f9f1fe5fdfcf82b31"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "996c7ede1ac453ae9aed508c2835ae56"}, "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", "uuid": "082f7e3633ab56d4a48817329cf46ef9"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "32fa3a8c0b2d5451a4a1976438417305"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "84cab77c9c1d59aba1565b3484c5e01f"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "aa5627291c29505b8d2f7d652cc4800d"}, "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", "uuid": "0c33dd31375452d6ad0c531eac1637c6"}}, "description": "Side window shade", "type": "branch", "uuid": "8dc8133322a65057844f9b7eceee6ef9"}, "Window": {"children": {"IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "13e37e2924115c73a36df78f09fad493"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "e3e3fa03f4e357ae8ac8f43799a99350"}, "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", "uuid": "174b3bc145625a22b23a283c424c28b4"}}, "description": "Door window status", "type": "branch", "uuid": "b64ba696bf7b5fdc8dba79ae5cb119d1"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "16bc38dcd8055f50b54f87478f72f776"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "74c8a76ad2545ceba474a85ae84eec8e"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "fd7f4d16f8965419a9a69fd66b40c1d7"}, "DoorCount": {"datatype": "uint8", "default": 4, "description": "Number of doors in vehicle.", "type": "attribute", "uuid": "c293fbef75725c57a9918dd5a34055c4"}, "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", "uuid": "bca9ccd50358584d8d20865694b0d15f"}, "HVAC": {"children": {"AmbientAirTemperature": {"datatype": "float", "description": "Ambient air temperature inside the vehicle.", "type": "sensor", "unit": "celsius", "uuid": "611868a24bc25eb9a837208c235e9491"}, "IsAirConditioningActive": {"datatype": "boolean", "description": "Is Air conditioning active.", "type": "actuator", "uuid": "dc4f79e4211c54a6b4eed0236aae84a6"}, "IsFrontDefrosterActive": {"datatype": "boolean", "description": "Is front defroster active.", "type": "actuator", "uuid": "afa678c87182544bb6ab81fa6a770791"}, "IsRearDefrosterActive": {"datatype": "boolean", "description": "Is rear defroster active.", "type": "actuator", "uuid": "d342a7939f2e5adeaeb5e68e3a314445"}, "IsRecirculationActive": {"datatype": "boolean", "description": "Is recirculation active.", "type": "actuator", "uuid": "7b80c41c63b35c9299a410166cd33c81"}, "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", "uuid": "ee011a09ebc6519183177b05d7302ce8"}, "Station": {"children": {"Row1": {"children": {"Driver": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "8b7412018a6f5c0a8467bdddb53e76f7"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "3db004f9a2ee528099499d660bfa715f"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "1eae45dbda85581ca794b6b4513376cd"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "7480dcf1e7375c7491a4dc083a8a7d15"}, "Passenger": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "610facc5829f5d52a40e8b1e9706866c"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "2d00c3cf2f735a37b646d9a51e77ef9e"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "3a7a6b5f8c4756d4bcf540ee41c781e1"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "e536a7f5f6a05ff48f26f96ef5772455"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "80860491fba75babaf3c439d1d471a6d"}, "Row2": {"children": {"Driver": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "8a021c3941ee5fed99efb5b8c7e6882a"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "873e0193650f5f4a88bdb9777ead4df7"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "50d268809c555b82b275884f8c170825"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "d1dd7712867d51ec847afa67e6dd3c92"}, "Passenger": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "06105fb9e69755f38a02132b4b432351"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "a9d1c8e5a9e35e7ca924ec4871364de8"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "a83b6548c3c95d288072caa1a7dc2904"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "ed9c94346bd8511584c4d9a8e2d49ec0"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "d98e8f5f94da5acfbf428c635a8bcc0c"}, "Row3": {"children": {"Driver": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "ec927fbdee9e51c89ccba5c3752189cb"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "9c111ac7582752228e43bda739c0a26a"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "d16ac539f8035e209831c1f4c7c39c83"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "299b787af2fe56ab9721086824692e10"}, "Passenger": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "5cf67ab3c7d1500ab306c397b7dddb12"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "71f5693b021f52ca888335848535db51"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "1499ad96881c551886081c52d404d3e3"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "810eed3a9836574a886923f2ddf67dfd"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "6eb8d63b66c859d5b36ef52d264aed2b"}, "Row4": {"children": {"Driver": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "984add0704f850f2bb06a748c43211fb"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "fbd6ca78cdc557078f91b3d649866ec2"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "9db31f66a7575255864758d62a4e0185"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "7211e138449252378f1a6ffbece35753"}, "Passenger": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "2c829297b81e54cf85a04bde79f31f34"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "580538988d3f513c88612665621bba09"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "06b974ba5325558793b8a7dccb560bde"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "30fac3fdc3785d7fa8eb4298da45e95b"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "ff0c0fa26de7508dbe92a83bc087dff6"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "253e683e6f135b83b6302a30b6c0ec8d"}}, "description": "Climate control", "type": "branch", "uuid": "f8ff34337cdf568e91ab406a365c3249"}, "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", "uuid": "44147980dabd56b883ae4d2491383a17"}, "CurrentLanguage": {"datatype": "string", "description": "ISO 639-1 standard language code for the current HMI", "type": "sensor", "uuid": "dc29ee5b7f7154b4ab05a9771fe930b3"}, "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", "uuid": "0f03c3955fe953e9893a1f52e964919e"}, "DayNightMode": {"allowed": ["DAY", "NIGHT"], "datatype": "string", "description": "Current display theme", "type": "actuator", "uuid": "a892039ba136588fa26b2670f839c0cc"}, "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", "uuid": "130114ebf81f59718cf257e198b90e01"}, "DistanceUnit": {"allowed": ["MILES", "KILOMETERS"], "datatype": "string", "description": "Distance unit used in the current HMI", "type": "actuator", "uuid": "4b40e8bdb1a053ee9ee35338d8804e7b"}, "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", "uuid": "914846f6804757ba81ca6bcfac8d2c48"}, "FontSize": {"allowed": ["STANDARD", "LARGE", "EXTRA_LARGE"], "datatype": "string", "description": "Font size used in the current HMI", "type": "actuator", "uuid": "630bf4a73340503799e8d86889ffd863"}, "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", "uuid": "0e6a43ce1aa45243b753545ffa1f0f8c"}, "FuelVolumeUnit": {"allowed": ["LITER", "GALLON_US", "GALLON_UK"], "datatype": "string", "description": "Fuel volume unit used in the current HMI", "type": "actuator", "uuid": "aef80d0bd01d593082e41abf072dab9b"}, "IsScreenAlwaysOn": {"datatype": "boolean", "description": "Used to prevent the screen going black if no action placed.", "type": "actuator", "uuid": "f6f2bffbad7e5e9098b351bf99b71624"}, "LastActionTime": {"datatype": "string", "description": "Time for last hmi action, formatted according to ISO 8601 with UTC time zone.", "type": "sensor", "uuid": "19b4f7e950bc526f8c263b4cc5954960"}, "TemperatureUnit": {"allowed": ["C", "F"], "datatype": "string", "description": "Temperature unit used in the current HMI", "type": "actuator", "uuid": "a7d1533490bb52b6b4f650280e72543d"}, "TimeFormat": {"allowed": ["HR_12", "HR_24"], "datatype": "string", "description": "Time format used in the current HMI", "type": "actuator", "uuid": "73083b87a4e25c02aee672ea32e40005"}, "TirePressureUnit": {"allowed": ["PSI", "KPA", "BAR"], "datatype": "string", "description": "Tire pressure unit used in the current HMI", "type": "actuator", "uuid": "e5ffaf58cc10523fa0858deafb61a8ce"}}, "description": "HMI related signals", "type": "branch", "uuid": "271e3d9202825f37bd054820e5ea8141"}, "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", "uuid": "0357aea525bf505981a14e4fc720094e"}, "DeclinedURI": {"datatype": "string", "description": "URI of suggested media that was declined", "type": "sensor", "uuid": "51b0d6227db55b92bc35eedd8277f4c4"}, "Played": {"children": {"Album": {"datatype": "string", "description": "Name of album being played", "type": "sensor", "uuid": "1d80b1e2c1085def92b3548b5db2786e"}, "Artist": {"datatype": "string", "description": "Name of artist being played", "type": "sensor", "uuid": "076af7ad8aff5110ab5a64d1f58ccdcb"}, "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"}, "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", "uuid": "54fb88a7d7cf5e3aab63e8f52415c187"}, "Track": {"datatype": "string", "description": "Name of track being played", "type": "sensor", "uuid": "ee800d62a40351e6934649ca75927d69"}, "URI": {"datatype": "string", "description": "User Resource associated with the media", "type": "sensor", "uuid": "1ed22b9925c3502d8d1389c8e02d0f07"}}, "description": "Collection of signals updated in concert when a new media is played", "type": "branch", "uuid": "6585e9d3b6ff596da72a5f8c98d2d47a"}, "SelectedURI": {"datatype": "string", "description": "URI of suggested media that was selected", "type": "actuator", "uuid": "4820f7a961c25e91af12d3417a145d32"}, "Volume": {"datatype": "uint8", "description": "Current Media Volume", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "8b344688816f5844ae5812bb136c8006"}}, "description": "All Media actions", "type": "branch", "uuid": "3f324d13873e501a84daf2cfade24d0f"}, "Navigation": {"children": {"DestinationSet": {"children": {"Latitude": {"datatype": "double", "description": "Latitude of destination in WGS 84 geodetic coordinates.", "max": 90, "min": -90, "type": "actuator", "unit": "degrees", "uuid": "3e33f3252934565d86de5409c761262b"}, "Longitude": {"datatype": "double", "description": "Longitude of destination in WGS 84 geodetic coordinates.", "max": 180, "min": -180, "type": "actuator", "unit": "degrees", "uuid": "e9bd511146ca51639c8d42c0702e22ee"}}, "description": "A navigation has been selected.", "type": "branch", "uuid": "f51ce253dc5b58168ecca99297139455"}, "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", "uuid": "f5404f515db05e518d7b74460cf83eee"}, "Mute": {"allowed": ["MUTED", "ALERT_ONLY", "UNMUTED"], "datatype": "string", "description": "Navigation mute state that was selected.", "type": "actuator", "uuid": "d7ab68ec65aa5bafa95f042a60c91639"}, "Volume": {"datatype": "uint8", "description": "Current navigation volume", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "3609ff09d29d54d596068f978cbc0777"}}, "description": "All navigation actions", "type": "branch", "uuid": "79bb0cc4acae5d1eb34fb214352d7863"}, "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", "uuid": "7be907e3d9fd5c46a516f7cd07f050a3"}, "SmartphoneProjection": {"children": {"Active": {"allowed": ["NONE", "ACTIVE", "INACTIVE"], "comment": "NONE indicates that projection is not supported.", "datatype": "string", "description": "Projection activation info.", "type": "actuator", "uuid": "7156b00b47a8513c8e86f50f7d152614"}, "Source": {"allowed": ["USB", "BLUETOOTH", "WIFI"], "datatype": "string", "description": "Connectivity source selected for projection.", "type": "actuator", "uuid": "1c2d1f379f5752ac802456a992b88156"}, "SupportedMode": {"allowed": ["ANDROID_AUTO", "APPLE_CARPLAY", "MIRROR_LINK", "OTHER"], "datatype": "string[]", "description": "Supportable list for projection.", "type": "attribute", "uuid": "80fa132703655d989386bc6711afed49"}}, "description": "All smartphone projection actions.", "type": "branch", "uuid": "fd47f73b4d6b51679f4bed75f6d63518"}}, "description": "Infotainment system.", "type": "branch", "uuid": "d88f92fbdda35012a2443b5e130d5eff"}, "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"}, "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", "uuid": "c5717a5df33359959d1df3ae75dd687e"}, "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", "uuid": "a9ddbecc501e5ad4b95b7197cd4d6edf"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "3b6d9d8d6acb55bc81022522cf2499a3"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch", "uuid": "e42bfc0abac857f0a40f579cc0ced424"}, "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", "uuid": "a58681f838a75596b6b64623803479cc"}, "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", "uuid": "9d9096fdd737597b8423214633a97063"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "a52466424a9550868a5f6a1aa83f3dce"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch", "uuid": "05a04fb5fb025049b9e9fbb109fef22a"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch", "uuid": "b3447dca710f51e39ed1af3d240f8851"}, "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", "uuid": "8eb7ad17cb3f546c96fb8f76a7ac09f6"}, "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", "uuid": "93c3bf189e045a52b2134aa20cfcf2b2"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "c95376e9f63f5ae996907ab83fa40a0b"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch", "uuid": "ddf477f1910e595f8c8055508cbdd808"}, "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", "uuid": "6ed1d61f74155275bde970d8233f0f51"}, "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", "uuid": "1e9bcef987795ad3a38bc76de810df19"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "e61968ff0fb15adf891efadc9181f78c"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch", "uuid": "b9a621db27d75d56b377890d98222d53"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch", "uuid": "f4462f76907e529fbcc7cc6761ca5cbe"}}, "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", "type": "branch", "uuid": "c3983df208565cb78c8af970a57351fd"}, "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", "uuid": "099955ec87a0528ba1a89cc3e439c806"}, "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"}, "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", "uuid": "9c73159ff0db5341af2bd3aaffc183c5"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "7c858ba899585fd6bb65a981db056fd7"}}, "description": "Decorative coloured light bar that supports effects, usually mounted on the dashboard (e.g. BMW i7 Interactive bar).", "type": "branch", "uuid": "de6062a1a9c05ff687128f748307e331"}, "IsDomeOn": {"datatype": "boolean", "description": "Is central dome light on", "type": "actuator", "uuid": "0dcbdddcc3bb59d292bd7a0cf3747c83"}, "IsGloveBoxOn": {"datatype": "boolean", "description": "Is glove box light on", "type": "actuator", "uuid": "9b4db6bf8cc95c7a855442b95e1e0e18"}, "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", "uuid": "4d605e0e591a510d9613bdb412175729"}, "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", "uuid": "838b3bc619d153d993ddfad96918ad7e"}, "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", "uuid": "497ba6de557452829f1c3bbcad2c1386"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "dff99845cbdf54239f1cc36834434a91"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "39ac4414f40754e2ab28a6bb10b397bb"}, "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", "uuid": "7643021f0af15edeba9e35f7e87a7bd5"}, "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", "uuid": "a2d72853978f54379cd66a2c82cd63fa"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "834df09382ee509b898b2ff2652a3ea2"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "669fe375bd1151b497eab93492e41597"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "35f4c5574dbb5c5bafe82107b55377ec"}, "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", "uuid": "fddcfd397c63530b8b7e6f3c5fd98b20"}, "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", "uuid": "054dfd5255675357b090663df26c6370"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "d7cdb8c7fe305b99a482ac7f8025519b"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "92fe0ca17e39548d8681a0fdd4f2a035"}, "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", "uuid": "bdc48b556b565f0e9fd4e68b814ee934"}, "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", "uuid": "b5e5c87ee11c5f84a7d92dc7871f3241"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "ded8281b9520524ead6bc1a5c3cccd5d"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "1e9617c06a0b53eca745dcf96f8d5d70"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "259f6228620a532abbac5548c72b3c35"}, "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", "uuid": "5394e601144f5d75ae66a1566d182c68"}, "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", "uuid": "50376cb5f02750d599f3ae5932520952"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "fa58686f4c925907a17f40aded066a01"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "36bd0e114ba652b0919db771e3a0d946"}, "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", "uuid": "b50787e8b3bf56ebb3e007ee21aa1f30"}, "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", "uuid": "b8e1a7326abe538199f595555c4c0ca0"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "68eacf65617c56489f0c1f475576eaaa"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "69b6df651e9b5154b46c5709ce167fb6"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "7b6666a198e8514582f8c85525dccceb"}, "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", "uuid": "6cc3fc21887c593a90d799209dcc40c0"}, "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", "uuid": "5459910482cb507db1583252b26e62c7"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "ca9e9652c52757ce98744209c0d2344f"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "661dcc2f512159329fc272128a054b0b"}, "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", "uuid": "fde4be32cd6f5fcf8997b01564eaadaf"}, "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", "uuid": "8be53f681198503bb8f93d331e2315cd"}, "IsLightOn": {"datatype": "boolean", "description": "Indicates whether the light is turned on. True = On, False = Off.", "type": "actuator", "uuid": "c35925e7af4d5a929b153cb7f587ca5b"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "fbffb10dc86a523bb40f624c1ad385e7"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "41b0adb2cba85665824d3ad497b593a8"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "a03cd35849a05136ac8e16f4e96d866b"}}, "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"}, "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", "uuid": "728b62b170055bd8b1530ec423dd5a9a"}, "RearShade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "9e16fc53f2ec575dbf66c79f969949a9"}, "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", "uuid": "da9f01e9baf35544842f1a7674c5172a"}}, "description": "Rear window shade.", "type": "branch", "uuid": "8a0c86f4fc6f5ea8ac8cf8f327969dcc"}, "RearviewMirror": {"children": {"DimmingLevel": {"datatype": "uint8", "description": "Dimming level of rear-view mirror. 0 = Undimmed. 100 = Fully dimmed.", "max": 100, "type": "actuator", "unit": "percent", "uuid": "4e2bcbaa6dc1586d8282324b475e5dee"}}, "description": "Rear-view mirror.", "type": "branch", "uuid": "e655b654ab9f55bbb04952a99755efae"}, "Seat": {"children": {"Row1": {"children": {"DriverSide": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "7308c4cd91025db3aad6dee3e4f9d2a1"}}, "description": "Airbag signals.", "type": "branch", "uuid": "cf3eca19b11e5e3ea66a078bed805968"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "637adce522d45075a064f3f94dc568ce"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "dc2da05595a151ada19e6d86037abaf0"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "2112602ef7ab5470b3e57b85d6ff903f"}, "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", "uuid": "c58f21ae6ce150bc8f0b2cdd4698f958"}, "SideBolster": {"children": {"Support": {"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": "c3bcf9587aac58af827a41364bc91b55"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "bd36af767f2e582bae11c7a62b635789"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "876fb7f9209155749108c95bb268836b"}, "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", "uuid": "55cf95c00d2056be859d330d0060a363"}, "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": "51de4b90534a5f089a9d81d53a663704"}}, "description": "Headrest settings.", "type": "branch", "uuid": "4b193a02bffe52819b69d422d5e50042"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "efeb2be118bb5f5eb796a81d298ab560"}, "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", "uuid": "f44c52884b5c58e4ae462656832c888b"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "db477d45def05e11a90689c9e655cad9"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "e8b805d0bd3e56be9258685f390a7a9c"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "6d333404bc155fd2afa57a6380ecfd5c"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "a48e731c91b55a2c9022b21774923b73"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor", "uuid": "c4bb8a01fe8a5335b1c7c9288b9863c9"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "972f188af9425bc186a075224bbc3630"}}, "description": "Occupant data.", "type": "branch", "uuid": "936f0c2fad4855d382e92393ec6223d7"}, "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", "uuid": "b9587caa89dd50d2af7167c99c13bc85"}, "Seating": {"children": {"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": "b030abb632dc503aa313ba5c75ba36f1"}}, "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": "1e49fb9d59d85494b290e53b7753dd72"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "7cc9aaaa51085baaa45be2ee7c7330bf"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "794645c172745cb0ba6b081d9903be78"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "e34e3c3330ac503a962eb076c7a05209"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "30ac7b216df9562abc6b7a2c6e0f665c"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "9645281792d65ada94160182c5ef2722"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "07e098c9c24c5500ac7054a75529187d"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "e69977f72c375925ac2817d8313a78e6"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "381639fd2a2751a9bb1429be5e0d5a99"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "056e7fa78a095b3e8c4e025ac7f69893"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "2702b44037a05092987a5da7a1b4e582"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "27ef6aedeefb5b288d191ca8e5306f55"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "5d2d997eaadc510fa7a0ff4f0422aa7e"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "14783a76b08953bca5d24ebc8d59b824"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "fe246f08a3ba5fe89703bf807c479528"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "31d5f0a7c65f51c4b7e67d1c8b45b9b8"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "2839bf77f2e95c17afd1a63e2d85249c"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "242ef7b872b25d9b94db1553e7f0cb0e"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "5e450517dd065464ac9a4927abc936a7"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "d982ff943e5e5e06a7984a2e7bfe2f45"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "3414b4d1e0ea5887b900171cb52e13b5"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "b3862480ad00587598d3f3f7c3468443"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "abef0f196c08580f8b5e610071167e41"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "baef531919455c159b068c8ac8e2bca2"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "c7bd527be0fc59208eae631000d0ecf8"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "dfcf5fbc84955377b1024600afdb6128"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "f321c48d000a5cf88d144e6c8aaebf64"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "6d9d54a7a13e57769cf6ec91e63b4190"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "7f35a13f8af55631bc280df0fedf00be"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "ea6bcaed18645c6fa9110c68b0dcc8b1"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "d71f5acd57365612bf06f4c372bcbc13"}}, "description": "Seat switch signals", "type": "branch", "uuid": "3eb5fc8b515e5a90baaeb10bed7d68ca"}, "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", "uuid": "c4d3fb129999531a9b59ecff95cfc1c2"}}, "description": "All seats.", "type": "branch", "uuid": "a8dd9e808a765a04874c2853c7926ed4"}, "Middle": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "41909de6e59a56f8b4d3d3a4296c4cb5"}}, "description": "Airbag signals.", "type": "branch", "uuid": "278a7e2126435a46a04dec92fd50ff8a"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "22125fcec8aa5bc99fca8b86edbed2f0"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "03d5b5e01dcb54e5a3f3ce890cd27cee"}, "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", "uuid": "f16a244ea7e2560db3991cb581149683"}, "SideBolster": {"children": {"Support": {"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"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "0c0b84957f8158d98f5a8c6d4f3265e5"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "5bef9412aeaf582284dc8f9cca5a5129"}, "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", "uuid": "d5cc4a79f94f515aa8f5fa59184a5c35"}, "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": "520ec12b50515918a664ae6f2ac6b702"}}, "description": "Headrest settings.", "type": "branch", "uuid": "a183fc37f47d55de8c5d2f2f27c779e0"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "85e4a1400e1455149687f608cd4a4d08"}, "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", "uuid": "e9ada64ce4b454928de166adaa4344da"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "42a9c6f57d75550180138950e91e096e"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "decf460a32ce5f1a9f2d4b68329707eb"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "17936943738e57888f4c11a38570f25c"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "a22655ee843f5faf8c86daf55abad5f4"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor", "uuid": "d3fda2f366ea5b60a284b945c21aeb17"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "acfb210c54605ebeb1d231aa09d98575"}}, "description": "Occupant data.", "type": "branch", "uuid": "cd842b8d4e7359d3ac47e8b39ab25ea9"}, "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", "uuid": "a9c61deb42ac5bb1b2c92fb5ee222db9"}, "Seating": {"children": {"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": "6fcbf711e9c852ba91f7d846f6066978"}}, "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"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "a1b764756af559c0b850ee370d859c86"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "8bd7805b426b5e439abd732e9b503bb3"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "7f7face91df2506f9351f8c27915bc18"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "0f54dcace731576785322d02b68d2068"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "44923c7fe53c5fa39b632f999a6a951e"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "a947a1e52c3850e8ae81e12ef503c472"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "acb8e84f703d518dbf6c9c8b899766b0"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "a7d928b58dc152408e38fc7b6fdf6851"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "34016708d65655708157e432fad53f1f"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "b2617422a80e5d409d5e327bec8a5895"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "d386d2b7ca955caf8a4d2467d4c7603e"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "a7eee2a690c75ab7b7143d95b89d0678"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "90d5bb0917875c009a7ee80b61a00e24"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "cbecebd77ff953c5830fbab699a3e0b8"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "4abfea463f0359fcb387aa1538f12d52"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "ec7f8f340e005006bc966a96829f886d"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "3fdbbe5de45356d383be845b5deeceb8"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "4ad9208a44b555d5a80b819aaf97b2c8"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "f108af06fb3954d5a87fb97cfadba808"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "6ebb2556d17959ec9bfc1d796e1f34c6"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "c7ece3b4d7435fed910b23f7ea5360d1"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "77dca23345a358fa99636c734b4de8ac"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "a5628090d3465668adb6f1bc32bd2329"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "874c7f1345975e67b6a691d541cf46f1"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "cd3226582b7a5f6590d983a6ed661a7b"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "932e55cb1ea154a0ac35170f8c63cf01"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "d51481c8a5e05a1ca9481cd8fbaa6844"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "c47a888b0ff85426a98fdcc6763abe10"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "e262f30a38285d7da365a42960f440e2"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "965137f2801f50e292cfc673a3e145ed"}}, "description": "Seat switch signals", "type": "branch", "uuid": "85bc5781995852329c3f56ab07a00a39"}, "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", "uuid": "a9931f9f76cd5c9aa7cac23c43d09e38"}}, "description": "All seats.", "type": "branch", "uuid": "bb6213be75be5b33adf6ad5957bb64e9"}, "PassengerSide": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "31e4cea8ba6a5254bf1d1471402d0700"}}, "description": "Airbag signals.", "type": "branch", "uuid": "c931d21b21005b5c9f0eb9a732f9b2ef"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "0df596249cce5c77955e6938c0c9bea6"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "e8b52c64f1e957cbbbaf63b03c3dd9ef"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "c2fbe0340f245b4ab3b1269de65b4c2d"}, "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", "uuid": "089f2ca3258e5f94871953539fe5acbc"}, "SideBolster": {"children": {"Support": {"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": "bd9dfba052ab5b24aa0eaa35fa47914f"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "4c48af687fd15c7785b9c4c075dc457c"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "999c7466ce1f5354b4695626f3a2e935"}, "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", "uuid": "5456d8e86ecb5cdf91b2bc08fe696d19"}, "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": "2701bc81fcc059b2b4ddc938407a503a"}}, "description": "Headrest settings.", "type": "branch", "uuid": "f13eb4ad4b7a51bbad88db50dae636d3"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "f62e56245db158508c9535a07474eed7"}, "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", "uuid": "ae6a103cb748510e9383e2b72d6f2a00"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "ed71588a6ea1511cbd4578967a94f963"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "05a31ee58c97506485a19a2e0c213244"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "89f7a63fc4f65f05b7df4b74b232cc9f"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "bab527a608bd55d4b8a9d4b7d46c7037"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor", "uuid": "121cb6ae3f4451df848f7809b313c392"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "c7156b61e1b45698ae98b5d30c31ade3"}}, "description": "Occupant data.", "type": "branch", "uuid": "fd753377a2335b9fbda2cc2d29f826a6"}, "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", "uuid": "3d09265704af56d59e5d80f92be3d66f"}, "Seating": {"children": {"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": "c4dfd494ffc95c4abdc49716a3b73c53"}}, "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"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "8e0c8a7fbb8a5cee933b3b1b50d4cbf1"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "2a19419f5c355aff9a41ee8c8ec434a0"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "5e8dd9ae1001569388bb4da677bdb377"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "cb08d335fa245f34b616f9c56fc529e0"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "c688f60d0f0650868ac32cba3d0c526e"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "10c691cb05f0581b8a6c4e764d81404d"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "73c59cba46725637bfa725a042713d0b"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "0ef641f1e4e75200879330a5de3d3315"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "811d841212295f92a7d070dac262ef84"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "8dfa254cccc059e881af97bce032cea9"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "d035fd8a2e855edfb90e7955b3bd8065"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "e5b1e2a73c1d530298be5aa2b92ceb6a"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "2bd34fa3b02d54b0822890750a57eaae"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "5486d882309558cd95a5d0742d9eea2a"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "90a53f3c0a585c7cb5b1565092e62539"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "3d328ade9dbf52e1bf8002caed74253f"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "d1a57d3e62725e51871433889877eb3e"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "5861078e66285792a4c5caa3158c3b93"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "ec27034136cd5e728c88c7ac0b87cf04"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "012004eeaa2250758c2fea329aec9dc2"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "a49e3b4e3047525ab1034e04896f7a73"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "1abb80c7ce615f73a2e0fb6583b09431"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "d4d0df3f6b5b51039847f748282d77ab"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "597dd13468fd5b57858c6bbbc911392e"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "8044c9338f5e5df1a036c91cc4d91423"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "1d7d951e97b45aa5824f4e959c68737b"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "3739036112535b9cbdad726a5f6e17a4"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "87edf3b9896659f6a87d05531c260a36"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "aaf6db1585b15365be9ac729c11688e3"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "12458c0216335477882e669e98330a1a"}}, "description": "Seat switch signals", "type": "branch", "uuid": "d7c6f91f09425d619cb93542ea55bed4"}, "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", "uuid": "086f231720875bb5b4d5e2b8ed0092df"}}, "description": "All seats.", "type": "branch", "uuid": "c9eef94c5e075ce088020f8a568c0183"}}, "description": "All seats.", "type": "branch", "uuid": "7a420ddeac6f538eb3939bb4a242d136"}, "Row2": {"children": {"DriverSide": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "1ec1956a54ae5107a802b9ec2b215b41"}}, "description": "Airbag signals.", "type": "branch", "uuid": "215134942dea5de0bf542dc6b1f7aeb3"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "eb67d32eadf15c0085f6314546e86e20"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "c8fec973719351b3b17f3824653d685a"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "5eb73ac74d6a56ba9155cf16e145b9b4"}, "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", "uuid": "65cf20c7effb5d159fd1099869cd0ebe"}, "SideBolster": {"children": {"Support": {"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": "04cc8929b0f0509495b512a77b48afef"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "2e06cc24d15651a1a1616fc77a5ba23b"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "1b7a7b3e344d50cca118327668f35be5"}, "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", "uuid": "b7ee83ec92ac5595b56557cecbce7fd2"}, "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": "916740f753715f3ea6c55b5284613f8e"}}, "description": "Headrest settings.", "type": "branch", "uuid": "67f772d705af5fac95ec768cf2bfe557"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "7ae50ab2fea25798adc27814579bd33b"}, "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", "uuid": "2bd4b50c13d7541db0a86a945c728849"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "ec3dc746a34752a1b55ac428579c3dfc"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "3752de2ef1d85781a6e0a20a6812b9fc"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "d7428179c70d576fb626a9a4bae4299e"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "a6b6158bc96c5ac98ad206193ff8b358"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor", "uuid": "dfc0fb66d7c058b7925970667b284bea"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "a12121bc096c5224a14c2d8ab10ae88b"}}, "description": "Occupant data.", "type": "branch", "uuid": "e4a46503b2945ab18ac1ad96f0517151"}, "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", "uuid": "71b34d4141225b77bc232bd3a2efa86f"}, "Seating": {"children": {"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": "4a5bd16967c65dd88eacf3e4ef8c071f"}}, "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"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "d45a563848b15928885bc7abb88a2d29"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "838457df1a415fd1a9575eda730a3fa0"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "802ef996df3850c299f5c88dff83ab13"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "9c6786e620f151a3a5eeb4b54395d2d8"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "eeaa79b8443c59c28ba4eed3d2cc1aa1"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "ebf3534d31615c55803dc8b48d92ca6f"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "7789f295ccf75ab2aa899d2b095bafd4"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "ed76c57d2d0c5a1d851a708fbc750a29"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "a5bcb578170d5442aad65c116302557c"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "a5e3d845386b51c7bd2b054b81025112"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "55b0756c450a5df2b1a4b0e54b27804b"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "c2654d9579905679b73ab44b6028b664"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "10092cdf11165ffdb1e5b616fa5f841a"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "aa341f93f6095298ba328a8f164452cd"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "bf7acae10ed55aa49a9579f7dd028a8d"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "bb516988089154dfaff8b5b376778d76"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "a313045c29195b9ab11141155dd7ce17"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "05e311e0669d5c128757475c8a83dc51"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "192b6f898aa35459baa670b58c59c48f"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "95928045f69d5bfe9ef1c3eb2afec32a"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "d4f3974ffcd75ba3a5f040f9e823fffe"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "aa71ac6246895ec1b6c74fd76ceecdda"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "c2915c2c175c5a3a862b99d9d2a9cc9a"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "65c26ab3824b5208bb21d7b8e2dd0124"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "854f8899693756e8840ee04c856dd12b"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "a10a2542fdc85bd59286d62f5af32210"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "e40ca46bfdeb5a82965c1d6b0fc06890"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "5d6d6db128965724a9e6f236d9532377"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "9ec6de29b168513f823be11c8f348e8c"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "f28ce1da77645fcd83aa72171ea172e8"}}, "description": "Seat switch signals", "type": "branch", "uuid": "7a5a1ffb9ab65c6a9ee4cb581077f015"}, "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", "uuid": "68275a8560a95481a54b590ce458d0e9"}}, "description": "All seats.", "type": "branch", "uuid": "a3956dd19f73577a9e118e5ee6f5a180"}, "Middle": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "cc06da5cab1e5b2e91d180c93c9e8eab"}}, "description": "Airbag signals.", "type": "branch", "uuid": "aa6d77c09158565787a2e418a1c9ea98"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "1a20e907d2515d669c8207a464685be8"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "c281162d58ed50ccbd90fa58a1478047"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "f675492be60e5a1f9e4ed760a2ee4c33"}, "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", "uuid": "d24b223dcbb0534389c6c506126497e7"}, "SideBolster": {"children": {"Support": {"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": "b391d00bfb8f5e699fa2332cb5991cdb"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "10538af050535035a3a20e6f702ce99f"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "4f54b32f4c85549b88acbe7cd19dcb20"}, "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", "uuid": "41f7b225f1485deaba50f489d58656da"}, "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": "987682ae6e7a539897bab4d96458fe15"}}, "description": "Headrest settings.", "type": "branch", "uuid": "eb9a3ea623445fbab28e98ace9716f48"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "3b6a82f5f68f56bba88b7c5349e1a45d"}, "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", "uuid": "5e2a819627075c7ea1a6fb2c6b7e550d"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "a4c37cf044a25eb9925b2278786b6cba"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "50e0eeee98e95db58b87aa11a9285492"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "d5c053d69d3457ecb3b87be15ccbfe1c"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "299d9f7fadef59859076cc783c2c6044"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor", "uuid": "2b257368bdb556d087e8f13806003ab2"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "3216275b8b6e5ab2a5f739232945c139"}}, "description": "Occupant data.", "type": "branch", "uuid": "6850b36bd23f57d682a3ef7bc4faab5d"}, "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", "uuid": "c7e61a5fe6f35d0fb50a4cbb3c5d15e8"}, "Seating": {"children": {"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": "76071549a729587fbdebb78ef360cad9"}}, "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": "8a5674259c805a498c827cc4341b20c7"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "28a3b3bd920c552b8079c52743f10c22"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "2f81fa98e09b5cbdb462747053b61fe0"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "fbb8355fefd151b58936c7adbde8edd2"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "03390dc0feb256f4977f5aadcdef1663"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "703ec67285de5b3799ebd2e4f090e2eb"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "24535eb7418f5bd4ac16900ea925c3ee"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "11adccdb44b15e26b22252dd75810422"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "c67fc3cb95bf54ef988ec24b76db4221"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "dfcaac526f3952e0aa29caacf9cd796e"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "0618172eae735abdb3c40ed24481cb68"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "ea42e74c9ee55a188af9e0728428a991"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "aec4843ad9435b9785f0d2485d457c56"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "e993d306024f5d5d8f1ffe8897d76a38"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "bbeb896cdb5059ea83add870abb45c69"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "2078f41ff0505639aab472a9793e0767"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "84788fd7b9215fa78374c9ca196e5d2d"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "f9b78ecd6f065a59918c8fea51464f7a"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "36969412c2325b81906fc4a327a22c84"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "7507db75bf2d541e8eba802db5108fa7"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "0075b9cb31ae5a0c8172e966e6b40954"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "974123228c7a5fc0bbbc8b13063eb76e"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "736dd231351d54389a65e77e39e28816"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "f8ded34424025a93b04ee9d47f451b22"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "2cdec47cb7565df3934ed28acf1e05a3"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "07e2a1c17a1854abb180fdf2038ece03"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "9c2cd2dab1d65532b6b738966db8af41"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "dc5720a01af45e78a562d12a93db0fbd"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "fb25e00b59f1513eb66355fd254e3bbe"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "45ef8de577b55ff9b621aad08238edaf"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "473086da2fc4501f9b3bdbc94133eb92"}}, "description": "Seat switch signals", "type": "branch", "uuid": "c634c8cf644d57098ae8b5337dec44a9"}, "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", "uuid": "30d7caa224e6589a882751be94fb7a33"}}, "description": "All seats.", "type": "branch", "uuid": "a27650921e1e5ee0bd56562364c7dd6f"}, "PassengerSide": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "a73fecde42375d07834a6670209228f4"}}, "description": "Airbag signals.", "type": "branch", "uuid": "d16d61dc474f514fb10d1c8ecbeb9179"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "b29e1fd9898e5981807d74caa94dd16a"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "4eb3938a709f5e4dbdefeada15a4ddb9"}, "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", "uuid": "6e3669fe31425539a49a2235c11bd5b5"}, "SideBolster": {"children": {"Support": {"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"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "7e9c0a02e46b57879a2e3a0e66f02137"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "ea5285b1124c527681e1a45c51429bdb"}, "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", "uuid": "13f6bb21aa64545c97257c2b614622cb"}, "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": "a82bd9a0a9745ef68dae31474a095294"}}, "description": "Headrest settings.", "type": "branch", "uuid": "a5449c4df2955aac981992fcbb581b84"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "4c0ab40eaf745f12a09dc2c5acbedae9"}, "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", "uuid": "b1ca33bf7f4455ada6be941b92b824da"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "c7d63d6c97845df5b602791f700968f7"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "516d511279a75513a53ca57adade3a99"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "bd9ec382d92e52ae826cb532ba13e11f"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "3acca59e11b95e92945ac8ea568a3213"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor", "uuid": "9fc55976f51c552fac70632a7e61b1f4"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "d18aded275a454068904eb5371a69f4d"}}, "description": "Occupant data.", "type": "branch", "uuid": "0cd5c8c3bd3f55ee8cc4c876cad0b75f"}, "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", "uuid": "07a8fe28cc1850dc96458e827a9ebeb5"}, "Seating": {"children": {"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"}}, "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"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "e9591a8c0ef551dd8d2da760bf96045a"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "9fca194c445257049d2ba0bc5d134e12"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "32defc92edd159bc96939d399202d4ca"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "54dd7359d76f5caeb221807f3c9f05d6"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "bc763cfcd7fd511cbdc8ae2cc64a0ac7"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "8bc621f1041052c7abf17124cb6dc270"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "ee7310791c475bcb946bd7074fb375af"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "ccdd90ab2f3152be80c64b4500c78a8b"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "cd893883ea4857b8a42e02dccd7c48d6"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "a69bfc99fd21564b9d6e06504063f3f0"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "9417cfbf4a08528f9a6bb6de95dd53a3"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "0f6c3fada9695cfc89309bca1941d0f5"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "263c5edb7c7c515581a853327df34215"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "d86793d827f6545e97e03d1b8363236d"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "b77c09fbcec95c5fb04a6d14af5b9f94"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "0db2d43128845f65a029915777d30ac9"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "cefaab13d761577f86c35403460a83de"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "119275e2b8b9579fbaf45f419f01879b"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "00793becfbf35a1f9e22e62c0ee23382"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "6c4cb5e0ab59597db55b22918510c1a1"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "d6a316b6a3455e9da8769144aece2a74"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "b601c11e3b525dd19933adaf807bc5c1"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "0f1060fee7e05b2b91cc51d5a9b3da74"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "a6ae083174c65a9599901c00819694f8"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "399c59f3d97151499a9005b329368baf"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "ac7635aa2fc7578aae97d8a253e9a303"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "bd644892090f5bd9a4b89281331cbe4d"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "ed70ebf0a7065894af1ac26e409d2408"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "ef90f29f5ab65b0cbf271a7e06fa848d"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "0b6331463cf65b44a5709705a1e55d7c"}}, "description": "Seat switch signals", "type": "branch", "uuid": "dc15316849e75f6d9995d428eee65421"}, "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", "uuid": "646c179da57a59c39ca9777a4808980b"}}, "description": "All seats.", "type": "branch", "uuid": "8cd32cb3e2d157b39af57d9cfe2e128c"}}, "description": "All seats.", "type": "branch", "uuid": "8c3aaf015ef8595cb45d9461a9c1195f"}}, "description": "All seats.", "type": "branch", "uuid": "b0b253106b2851e3bb5c71ae3b09f09d"}, "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", "uuid": "8dd40ecd47ab51c79ed9c74ae4296d7e"}, "SeatRowCount": {"comment": "Default value corresponds to two rows of seats.", "datatype": "uint8", "default": 2, "description": "Number of seat rows in vehicle.", "type": "attribute", "uuid": "1002a7a4a954581b9cbc72fa438c5292"}, "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", "uuid": "ab598697f1c852eda4df9ed62a956d17"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "5f78c2a631b75abc88744f9bad277f5a"}, "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", "uuid": "3836077128c65381b01e74a1a8be1c40"}}, "description": "Sun roof shade status.", "type": "branch", "uuid": "eeaae5977adb5683b16f405993405b2e"}, "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", "uuid": "88c39afd45a25ea2b474ff581e1fb138"}}, "description": "Sun roof status.", "type": "branch", "uuid": "8ff70db05c065e3eb530082a0b6983cf"}}, "description": "All in-cabin components, including doors.", "type": "branch", "uuid": "1a94457b237f5e8eb3c77c0532ac88d7"}, "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", "uuid": "789feabca2e8560ea3c1852371b4096e"}, "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", "uuid": "2fabd8b61db45f62b4e97e7a612b4a73"}}, "description": "Accelerator signals", "type": "branch", "uuid": "3b2b562086a45eb29c55186f3b710621"}, "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", "uuid": "4458487c2a4e51efa3762349188ce2a1"}, "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", "uuid": "91310e9ef88450c68791fbb07d83f104"}, "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"}, "TireDiameter": {"datatype": "float", "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "ed9f037c1b5d53c78c90b71179db1f4f"}, "TireWidth": {"datatype": "uint16", "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", "type": "attribute", "unit": "mm", "uuid": "3444d8773c215cd7a076d688eb7f1afc"}, "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", "uuid": "d854bb9c72615e2896c1ed084db515fa"}, "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", "uuid": "0851716e0b635392b6bb64cb478e82b0"}, "Wheel": {"children": {"Left": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "63aa9c4973ef50b18bd7214c9f2634c5"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "901771088eb35dec9e69b56a8cb3e8f5"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "713da56818e55714ac441e10870b3753"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "b4ed36f8143d512fadaca3e641739ee2"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "162dab13d5815ec4bc22888b0bc59cbf"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "47897f20b2745b6aa2d0f76f1ecf824a"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "4088315cfaa05c28b51c3d3462c65339"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "9fa3f176fd975d28a68f70c7d72e370f"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "093d8fb119755f6bafa979e4eae201a0"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "17c60ec3c02054b4951c975156375d9a"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "0cd478c6e72b55c6be6d3d9df9624545"}, "Right": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "386bfddee4605e419d59755a51835650"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "4c669b71c91e57dd8fd804ee68174b9c"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "bb2057bc31c25beda1da0610ca62bd51"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "f3c53c8c5628527a8501e12778dae6c7"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "f334a45b92215f86b4ecadbd82c8b249"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "c288d064d56e53bfb94cef8670872587"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "93fa1125894e53259af5b7e1d991c8da"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "ea8038b63e6650ffb1a20539e915064a"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "58d4cee188d353d7996e855d48bb92df"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "660f90ae8f14594cb6e97d000c1985a1"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "c7ae1f1787ec502d8aea41802dc9a203"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "8ed02c02eee0502ba6d94a5d5f1fb789"}, "WheelCount": {"datatype": "uint8", "description": "Number of wheels on the axle", "type": "attribute", "uuid": "7232effafb7d5c908a9bafe1cef2ff3e"}, "WheelDiameter": {"datatype": "float", "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "60d4b948ae8a5485bd77c45e1f648c13"}, "WheelWidth": {"datatype": "float", "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "5b92bdab1e035ff4ba000330e20f826b"}}, "description": "Axle signals", "type": "branch", "uuid": "d7e93a94af0752aaab36819f6be4f67a"}, "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", "uuid": "99860d78f2b25ae0b420660b76f933f0"}, "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", "uuid": "bf1960525e725d2ca145ce12ba939ea3"}, "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"}, "TireDiameter": {"datatype": "float", "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "4dc46ee7fe0a5240a6eb67f9bf43a1ea"}, "TireWidth": {"datatype": "uint16", "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", "type": "attribute", "unit": "mm", "uuid": "76a9071697b25fb8ab42393dfb77f0ef"}, "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", "uuid": "b6c5ba52f1985f179c9346edbabe2f9b"}, "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", "uuid": "bdfd2fb7c3b25091a48f873462466f84"}, "Wheel": {"children": {"Left": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "4b0d4f80b8855973a55ffee80fdfc4ba"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "3d9bae5bf0705de99789ecea26b99a5c"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "01f57161b0bf539fad1d2bfa9d9a9fc4"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "8eff72d583015e1e94eab98bf8f0497e"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "774d0a5771d35975872870cf71ea1487"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "427abdd04fc355769697d998a47d3f58"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "d895b1e23a4f59ec92735fc317e44769"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "ea414012c36e54fc84ec1d421f370ddd"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "06ab6b3fe7bb5f7c9e2e104ee0e7cfd5"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "edfee87117dc5a6f9d970167f26ec090"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "4c32a1c722a45ea09a52c389e8a8a618"}, "Right": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "83e5e261302d5ab38c9ee4dddc18c8ae"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "9b5963e98a9c5b229a61df76ef5c86e0"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "727823c7e0d551f48f26a5dd4f0578bd"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "63a564bca18a5b1fabd7d3cff1af0e6d"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "5c33ec4bd8a15d3590f59e7257bf4d25"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "85b41a82f4775fcea57dcc6218fb6d7b"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "da2f63312a455d92abd5edc405f01903"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "0cd3dd4be36c5fcda49d6360556ba7c8"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "7c08b5778bc05265bb8d4e08fdca29cf"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "d855fe9ffb4e52be83ebfc7967c1c3ee"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "f59f6ce66b1454498f5dc71be581732a"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "87b119ed6de254159877b24047fd3026"}, "WheelCount": {"datatype": "uint8", "description": "Number of wheels on the axle", "type": "attribute", "uuid": "ac6fe103410153d382306426d14213ab"}, "WheelDiameter": {"datatype": "float", "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "af27b1d18a5455e593692a9929909bb9"}, "WheelWidth": {"datatype": "float", "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "889d279053c051979ebbe301bacac206"}}, "description": "Axle signals", "type": "branch", "uuid": "8ef77768446659b6b5020a06c7b23c8b"}}, "description": "Axle signals", "type": "branch", "uuid": "0a3ebde7efa85c04ac6c29b5676fec5d"}, "AxleCount": {"datatype": "uint8", "default": 2, "description": "Number of axles on the vehicle", "type": "attribute", "uuid": "86d084c9148d5f22b5402a030413ed79"}, "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", "uuid": "0d462892aeac5062a62ee7d07306f6a6"}, "PedalPosition": {"datatype": "uint8", "description": "Brake pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "0477d3a4a831564ea473976cf34374f2"}}, "description": "Brake system signals", "type": "branch", "uuid": "38df972e5c6b558e93839a5e97238c5a"}, "ParkingBrake": {"children": {"IsAutoApplyEnabled": {"datatype": "boolean", "description": "Indicates if parking brake will be automatically engaged when the vehicle engine is turned off.", "type": "actuator", "uuid": "26c694c9a1c75b699cc8c1dd2986ab90"}, "IsEngaged": {"datatype": "boolean", "description": "Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.", "type": "actuator", "uuid": "faa7f94e6a5555c6b2d62e3328520ce0"}}, "description": "Parking brake signals", "type": "branch", "uuid": "3849d42292f4551590fa4bf716fc90f7"}, "SteeringWheel": {"children": {"Angle": {"datatype": "int16", "description": "Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right.", "type": "sensor", "unit": "degrees", "uuid": "92cd3b3d37585b2291806fe5127d9393"}, "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", "uuid": "6a84cc3604fc5960a1fb384fe63fae72"}, "Tilt": {"datatype": "uint8", "description": "Steering wheel column tilt. 0 = Lowest position. 100 = Highest position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "33e979769f91521d8080384447d06c00"}}, "description": "Steering wheel signals", "type": "branch", "uuid": "8c759072791e5986ac4efe9df0c2b751"}, "Wheelbase": {"datatype": "uint16", "default": 0, "description": "Overall wheelbase, in mm.", "type": "attribute", "unit": "mm", "uuid": "11677e0433935dc7aa9c1806c96a8a6b"}}, "description": "All data concerning steering, suspension, wheels, and brakes.", "type": "branch", "uuid": "87d260d635425da0a4ebd62bc4e5c313"}, "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", "uuid": "b6d11be2a6565996b68ffb07a96595a7"}}, "description": "Connectivity data.", "type": "branch", "uuid": "89c267fccea35f3da9871cca2b4dc4df"}, "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"}, "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", "uuid": "d3ead98ab0b751c1a5b5dd5bc0e5e216"}, "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", "uuid": "52853b33d4605608bd0ae50595c69309"}, "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", "uuid": "f23d40f3556b5676a0d1e3def037197f"}, "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"}, "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"}}, "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", "uuid": "5c0887bce6fb5eb79402baaccb203e61"}}, "description": "Information on the GNSS receiver used for determining current location.", "type": "branch", "uuid": "b1bea5d88662539a8cff6f8fe4974740"}, "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"}, "HorizontalAccuracy": {"datatype": "double", "description": "Accuracy of the latitude and longitude coordinates.", "type": "sensor", "unit": "m", "uuid": "bf25ef243f0c5f839f7ef874f9c57fda"}, "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"}, "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", "uuid": "5246f2ec5fea550cb1b36f110854cfbb"}, "Timestamp": {"datatype": "string", "description": "Timestamp from GNSS system for current location, formatted according to ISO 8601 with UTC time zone.", "type": "sensor", "uuid": "094aeff73be05c08905690be0e82a438"}, "VerticalAccuracy": {"datatype": "double", "description": "Accuracy of altitude.", "type": "sensor", "unit": "m", "uuid": "8f54055bce9e5e8e97fb6051582707ab"}}, "description": "The current latitude and longitude of the vehicle.", "type": "branch", "uuid": "24777bd485f15fb69550ae0520c40ad5"}, "CurrentOverallWeight": {"datatype": "uint16", "description": "Current overall Vehicle weight. Including passengers, cargo and other load inside the car.", "type": "sensor", "unit": "kg", "uuid": "75599d7628bb5f35839055269d3ad205"}, "Driver": {"children": {"AttentiveProbability": {"datatype": "float", "description": "Probability of attentiveness of the driver.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "fcd202467afb533fbbf9e7da89cc1cee"}, "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", "uuid": "cb35ec0b924e58979e1469146d65c3fa"}, "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", "uuid": "49b1626295705a79ae20d8a270c48b6b"}, "HeartRate": {"datatype": "uint16", "description": "Heart rate of the driver.", "type": "sensor", "unit": "bpm", "uuid": "d71516905f785c4da867a2f86e774d93"}, "Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "ee7988d26d7156d2a030ecc506ea97e7"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", "type": "sensor", "uuid": "b41ec688af265f10824bc9635989ac55"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "89705397069c5ec58d607318f2ff0ea8"}, "IsEyesOnRoad": {"datatype": "boolean", "description": "Has driver the eyes on road or not?", "type": "sensor", "uuid": "625e5009f1145aa0b797ee6c335ca2fe"}, "IsHandsOnWheel": {"datatype": "boolean", "description": "Are the driver's hands on the steering wheel or not?", "type": "sensor", "uuid": "90d7dc2c408c528d941829ff88075f24"}}, "description": "Driver data.", "type": "branch", "uuid": "1cac57e7b7e756dc8a154eaacbce6426"}, "EmissionsCO2": {"datatype": "int16", "description": "The CO2 emissions.", "type": "attribute", "unit": "g/km", "uuid": "b73e8f1ed17d584fad3f088c666dc2a5"}, "Exterior": {"children": {"AirTemperature": {"datatype": "float", "description": "Air temperature outside the vehicle.", "type": "sensor", "unit": "celsius", "uuid": "a38d3f5dfeb35317aca8b90453dc1a75"}, "Humidity": {"datatype": "float", "description": "Relative humidity outside the vehicle. 0 = Dry, 100 = Air fully saturated.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "6c785ec5d9a5534f98be7ce198d25d6b"}, "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", "uuid": "9b46b70490f853e891e1cc35dd08dddc"}}, "description": "Information about exterior measured by vehicle.", "type": "branch", "uuid": "06c5def549f3580e8cdaffa3e0f5d25c"}, "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"}, "Height": {"datatype": "uint16", "default": 0, "description": "Overall vehicle height.", "type": "attribute", "unit": "mm", "uuid": "9784d39f68b8541f90c355178ded7d7c"}, "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", "uuid": "469ebd2a76b45e5b97b799262a085330"}, "IsMoving": {"datatype": "boolean", "description": "Indicates whether the vehicle is stationary or moving.", "type": "sensor", "uuid": "db69549cc7375e919c2a2883b41cd19c"}, "Length": {"datatype": "uint16", "default": 0, "description": "Overall vehicle length.", "type": "attribute", "unit": "mm", "uuid": "885f1be6842a513582e52a42edb3176f"}, "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", "uuid": "e1d76e489d505b03ace30771ba4291b1"}, "CurrentVoltage": {"datatype": "float", "description": "Current Voltage of the low voltage battery.", "type": "sensor", "unit": "V", "uuid": "1394234e8b975a279959ae82e03df786"}, "NominalCapacity": {"datatype": "uint16", "description": "Nominal capacity of the low voltage battery.", "type": "attribute", "unit": "Ah", "uuid": "d9f32612cb2f58d3b863a0dae21ff7af"}, "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"}}, "description": "Signals related to low voltage battery.", "type": "branch", "uuid": "ab8c5816d44f55b68f6e1d6d9e5acb0b"}, "LowVoltageSystemState": {"allowed": ["UNDEFINED", "LOCK", "OFF", "ACC", "ON", "START"], "datatype": "string", "description": "State of the supply voltage of the control units (usually 12V).", "type": "sensor", "uuid": "d7391ceb132e5519b02d4c13d5513d99"}, "MaxTowBallWeight": {"datatype": "uint16", "default": 0, "description": "Maximum vertical weight on the tow ball of a trailer.", "type": "attribute", "unit": "kg", "uuid": "fec550f2064750e8b65b54fbf1368d68"}, "MaxTowWeight": {"datatype": "uint16", "default": 0, "description": "Maximum weight of trailer.", "type": "attribute", "unit": "kg", "uuid": "a1b8fd65897654aa8a418bccf443f1f3"}, "OBD": {"children": {"AbsoluteLoad": {"datatype": "float", "description": "PID 43 - Absolute load value", "type": "sensor", "unit": "percent", "uuid": "b3dd889a42ce5de9a7904b7196ae325c"}, "AcceleratorPositionD": {"datatype": "float", "description": "PID 49 - Accelerator pedal position D", "type": "sensor", "unit": "percent", "uuid": "7e63256081ac5a7b8a28a6fa3c2c2ff9"}, "AcceleratorPositionE": {"datatype": "float", "description": "PID 4A - Accelerator pedal position E", "type": "sensor", "unit": "percent", "uuid": "4104e7fc25355e25b4522d233565d84b"}, "AcceleratorPositionF": {"datatype": "float", "description": "PID 4B - Accelerator pedal position F", "type": "sensor", "unit": "percent", "uuid": "95f5c2a209a857ff930e2f8e32ac2d3f"}, "AirStatus": {"datatype": "string", "description": "PID 12 - Secondary air status", "type": "sensor", "uuid": "548f65bf59ed505a86dfaa1c33342e4d"}, "AmbientAirTemperature": {"datatype": "float", "description": "PID 46 - Ambient air temperature", "type": "sensor", "unit": "celsius", "uuid": "220a90f183c5583ea8b8b6454d774517"}, "BarometricPressure": {"datatype": "float", "description": "PID 33 - Barometric pressure", "type": "sensor", "unit": "kPa", "uuid": "1966bfff4d235767bfd9a21afb445ac7"}, "Catalyst": {"children": {"Bank1": {"children": {"Temperature1": {"datatype": "float", "description": "PID 3C - Catalyst temperature from bank 1, sensor 1", "type": "sensor", "unit": "celsius", "uuid": "5a770f13939e5d069682d408f160a895"}, "Temperature2": {"datatype": "float", "description": "PID 3E - Catalyst temperature from bank 1, sensor 2", "type": "sensor", "unit": "celsius", "uuid": "ca9419a5d23b5937af23b51d823722fa"}}, "description": "Catalyst bank 1 signals", "type": "branch", "uuid": "0c3aaf014ba95b938b639d4202ef8b25"}, "Bank2": {"children": {"Temperature1": {"datatype": "float", "description": "PID 3D - Catalyst temperature from bank 2, sensor 1", "type": "sensor", "unit": "celsius", "uuid": "011658e4ee89502c9a33877c92dbf888"}, "Temperature2": {"datatype": "float", "description": "PID 3F - Catalyst temperature from bank 2, sensor 2", "type": "sensor", "unit": "celsius", "uuid": "f60c68f0ebca5fcf97086ce04e16d661"}}, "description": "Catalyst bank 2 signals", "type": "branch", "uuid": "9a20459754755146a3b9608bf6384835"}}, "description": "Catalyst signals", "type": "branch", "uuid": "4eb0b191d6445de081f3f3f759af31c2"}, "CommandedEGR": {"datatype": "float", "description": "PID 2C - Commanded exhaust gas recirculation (EGR)", "type": "sensor", "unit": "percent", "uuid": "0265890a4a695ee6952c9b9f565ddaa5"}, "CommandedEVAP": {"datatype": "float", "description": "PID 2E - Commanded evaporative purge (EVAP) valve", "type": "sensor", "unit": "percent", "uuid": "5e6295d04a9159b88f4698b561b86842"}, "CommandedEquivalenceRatio": {"datatype": "float", "description": "PID 44 - Commanded equivalence ratio", "type": "sensor", "unit": "ratio", "uuid": "104e39e816f65fa791d0afa24603292b"}, "ControlModuleVoltage": {"datatype": "float", "description": "PID 42 - Control module voltage", "type": "sensor", "unit": "V", "uuid": "59e072b932605ffc88a299c874d885c4"}, "CoolantTemperature": {"datatype": "float", "description": "PID 05 - Coolant temperature", "type": "sensor", "unit": "celsius", "uuid": "824892cdc72d5f92a38ef3136576edc8"}, "DTCList": {"datatype": "string[]", "description": "List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX )", "type": "sensor", "uuid": "eee1b64e69845d5ab5e793b74631f9dc"}, "DistanceSinceDTCClear": {"datatype": "float", "description": "PID 31 - Distance traveled since codes cleared", "type": "sensor", "unit": "km", "uuid": "0da628e2c69d561eb86216ddcb6e7b2a"}, "DistanceWithMIL": {"datatype": "float", "description": "PID 21 - Distance traveled with MIL on", "type": "sensor", "unit": "km", "uuid": "a9a522e343f25522b08f11e81bb91349"}, "DriveCycleStatus": {"children": {"DTCCount": {"datatype": "uint8", "description": "Number of sensor Trouble Codes (DTC)", "type": "sensor", "uuid": "312856f746ff560e8098c19196964d3b"}, "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"}, "IsMILOn": {"datatype": "boolean", "description": "Malfunction Indicator Light (MIL) - False = Off, True = On", "type": "sensor", "uuid": "e367394c9a075eef8fd66499e3d9cf14"}}, "description": "PID 41 - OBD status for the current drive cycle", "type": "branch", "uuid": "5215e28062f75154822789b8a5f30630"}, "EGRError": {"datatype": "float", "description": "PID 2D - Exhaust gas recirculation (EGR) error", "type": "sensor", "unit": "percent", "uuid": "80a7000c5c7b5444b5571a26264061e5"}, "EVAPVaporPressure": {"datatype": "float", "description": "PID 32 - Evaporative purge (EVAP) system pressure", "type": "sensor", "unit": "Pa", "uuid": "70b5dae2ffd0561eab73efed8ad2f0ad"}, "EVAPVaporPressureAbsolute": {"datatype": "float", "description": "PID 53 - Absolute evaporative purge (EVAP) system pressure", "type": "sensor", "unit": "kPa", "uuid": "ef188a1e1a1356f7bc425081e3e00805"}, "EVAPVaporPressureAlternate": {"datatype": "float", "description": "PID 54 - Alternate evaporative purge (EVAP) system pressure", "type": "sensor", "unit": "Pa", "uuid": "68eaba3c79975d61bc35b92cd3e5e8d0"}, "EngineLoad": {"datatype": "float", "description": "PID 04 - Engine load in percent - 0 = no load, 100 = full load", "type": "sensor", "unit": "percent", "uuid": "a8fda8a1b4c6534aa49c447bafc1c700"}, "EngineSpeed": {"datatype": "float", "description": "PID 0C - Engine speed measured as rotations per minute", "type": "sensor", "unit": "rpm", "uuid": "b682eea93b3e5874ab3b52e95a1fad37"}, "EthanolPercent": {"datatype": "float", "description": "PID 52 - Percentage of ethanol in the fuel", "type": "sensor", "unit": "percent", "uuid": "a207e7de17e1520c894b412af6f2522c"}, "FreezeDTC": {"datatype": "string", "description": "PID 02 - DTC that triggered the freeze frame", "type": "sensor", "uuid": "5b87fae8dda4522aae209ae528960782"}, "FuelInjectionTiming": {"datatype": "float", "description": "PID 5D - Fuel injection timing", "type": "sensor", "unit": "degrees", "uuid": "ab4869446f5357d6936838983e1b8949"}, "FuelLevel": {"datatype": "float", "description": "PID 2F - Fuel level in the fuel tank", "type": "sensor", "unit": "percent", "uuid": "fd39813424ee5cd08c44714b35697287"}, "FuelPressure": {"datatype": "float", "description": "PID 0A - Fuel pressure", "type": "sensor", "unit": "kPa", "uuid": "34e6b0689f025d7b9bfa1fc49bb30c0f"}, "FuelRailPressureAbsolute": {"datatype": "float", "description": "PID 59 - Absolute fuel rail pressure", "type": "sensor", "unit": "kPa", "uuid": "83c88b13d30153949eeca1b1180a9061"}, "FuelRailPressureDirect": {"datatype": "float", "description": "PID 23 - Fuel rail pressure direct inject", "type": "sensor", "unit": "kPa", "uuid": "039cb7bf1a8356a98d09eaf4fc029fe9"}, "FuelRailPressureVac": {"datatype": "float", "description": "PID 22 - Fuel rail pressure relative to vacuum", "type": "sensor", "unit": "kPa", "uuid": "b3b0adf44aa3572fa07e7434993e6458"}, "FuelRate": {"datatype": "float", "description": "PID 5E - Engine fuel rate", "type": "sensor", "unit": "l/h", "uuid": "4ab7c2b710f95ceb9c7d01d19dabac38"}, "FuelStatus": {"datatype": "string", "description": "PID 03 - Fuel status", "type": "sensor", "uuid": "15fa2f3f667a5f5786eda5c83435ef16"}, "FuelType": {"datatype": "uint8", "description": "PID 51 - Fuel type", "max": 23, "min": 0, "type": "attribute", "uuid": "aefb45bdd8035904b0c8f3ffcedc53a9"}, "HybridBatteryRemaining": {"datatype": "float", "description": "PID 5B - Remaining life of hybrid battery", "type": "sensor", "unit": "percent", "uuid": "c9517b6243df5e8d8f3aa3e57f71ec37"}, "IntakeTemp": {"datatype": "float", "description": "PID 0F - Intake temperature", "type": "sensor", "unit": "celsius", "uuid": "7c108305178b5854b430a23e125588bd"}, "IsPTOActive": {"datatype": "boolean", "description": "PID 1E - Auxiliary input status (power take off)", "type": "sensor", "uuid": "ce291dc40bba5a969e57b17f11ae23a9"}, "LongTermFuelTrim1": {"datatype": "float", "description": "PID 07 - Long Term (learned) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "1c203b11667150f0b4ee1be26a60c084"}, "LongTermFuelTrim2": {"datatype": "float", "description": "PID 09 - Long Term (learned) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "b02aff2efce05632b5694a256e5b9ec7"}, "LongTermO2Trim1": {"datatype": "float", "description": "PID 56 (byte A) - Long term secondary O2 trim - Bank 1", "type": "sensor", "unit": "percent", "uuid": "9a9586e29a02567e9920cb9b0aa2e3f5"}, "LongTermO2Trim2": {"datatype": "float", "description": "PID 58 (byte A) - Long term secondary O2 trim - Bank 2", "type": "sensor", "unit": "percent", "uuid": "e579f6c930605b389e8ce2d7edd92999"}, "LongTermO2Trim3": {"datatype": "float", "description": "PID 56 (byte B) - Long term secondary O2 trim - Bank 3", "type": "sensor", "unit": "percent", "uuid": "50ea51ad343a5e59b1d214053e522a45"}, "LongTermO2Trim4": {"datatype": "float", "description": "PID 58 (byte B) - Long term secondary O2 trim - Bank 4", "type": "sensor", "unit": "percent", "uuid": "f9c20edd12f456e5ace21581cea484bd"}, "MAF": {"datatype": "float", "description": "PID 10 - Grams of air drawn into engine per second", "type": "sensor", "unit": "g/s", "uuid": "f3acdf89fb865313883d5d3126f15518"}, "MAP": {"datatype": "float", "description": "PID 0B - Intake manifold pressure", "type": "sensor", "unit": "kPa", "uuid": "335991b1b53f56f097fea7b05d4db83b"}, "MaxMAF": {"datatype": "float", "description": "PID 50 - Maximum flow for mass air flow sensor", "type": "sensor", "unit": "g/s", "uuid": "e21826479f715ee7afe8dc485f109b11"}, "O2": {"children": {"Sensor1": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "ee366d40132456c0bce8cac3a837f16a"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "e95f4ea667265ee3a68ab57b86ecbf66"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "3aa8859203d4545083196a9690d72627"}, "Sensor2": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "92e6e172777457a9866ca045d0d79853"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "5f1781bde96b53ce9b810a5a56b7c8ed"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "efcb337cf94056c8a724e76bcfee6765"}, "Sensor3": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "66c300d35eb85e7387dc42528cca48d9"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "a86a1986f0fe5d25b6c438a00438ff60"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "b8c145402b7a5cffaa2699ed61b056fa"}, "Sensor4": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "b71dcf9d850c5d5686f14ad46cd2cae3"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "772cbfab91be59f7bbf3ec4140ffbcc4"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "853945bce86c5c4f95081075ae32261c"}, "Sensor5": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "7604de26198b51e28a441f79b1d84242"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "155a0816093b5aee8012ed2a8d532b7f"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "f48c76c9c7ec5ddcb6838ced0bd7517b"}, "Sensor6": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "2fb034769cab5089986d90bf7f9000ca"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "85430592fb795e848d7bb91e6b9f1e00"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "5269c1877ded507b87d7d1d7bec10605"}, "Sensor7": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "81f34b16b5e05d1ab159de9474eaf5bc"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "23984a68e63f532bab18679e1174130d"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "4b565102e4a052aa8aa64f27dc678ce3"}, "Sensor8": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "1699eb2267615e258259e480be0fa606"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "23e057b3629a5136bb585638725fe0a2"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "d5eef24c35f1561982127404b50ece11"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "31f007df72af50f0925d2b4647682a4d"}, "O2WR": {"children": {"Sensor1": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "bb4c70d9d2ae56c8a9a3be446db6f54c"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "b809083454a5516f995477c59bf4d3c6"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "396251cbfa5a57ffb1dd743298dfcdf9"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "496074cec04a5260b60fd39bb7ed1479"}, "Sensor2": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "442ab33180ca5028a37a487056ba4a51"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "ce55aed0e8705a49970566db71ebcf90"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "a784675c3b765d42ad023d8ee412be26"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "079f9960f75d5f399df7ff86fcea8f0c"}, "Sensor3": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "c942468e349e5aaebde4d90ee0bc3814"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "f2ae7c781b0a5dcf8db91558e3cf4c13"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "a78f7621a3f75df2adc1dc940219834a"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "a8a83d3e33f9584b824088e830bcbaec"}, "Sensor4": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "f16b31fde63a516db04cb44feaa7c27b"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "be09013f423c588eae9c06da9ddf290f"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "abeca90ba22d5c32a34ee907cedf3192"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "bb67047ddad158ba98876a6a87d02e97"}, "Sensor5": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "40494cb5826554929f5ecadd5b9173fd"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "16a957200f5c51f89824bbb76a23b9c0"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "699c4db2439f51af8465e823687018b8"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "01c4160d39af5db59c66db844646195e"}, "Sensor6": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "06a38b6b4784545bb637279e96d48eb5"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "fdae9bb9a3a45b4680450f0347cf6d66"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "304c181c76d55c3abe75382a935c7bde"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "cff12c30bde957798daaa3a91758b48b"}, "Sensor7": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "6ed46315325d540eb95c86ec61eef8e4"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "9221a5289157538b9dcaa0d961c335fa"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "0ad1d79dcce65c00ac48421b5b54ca0e"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "44459df1f25f5d43a07b00f2bad65ef5"}, "Sensor8": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "96de3c3b036c50c2978ab2aa490d4d9e"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "c56db1195fa3519ab6718ab57d2cd543"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "ab7d6c739f025782bba640e58123f0c8"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "b8865e72055d52a086f6935d5c188cc1"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "a439f2bc16575318afe20d0bc6a8cacf"}, "OBDStandards": {"datatype": "uint8", "description": "PID 1C - OBD standards this vehicle conforms to", "type": "attribute", "uuid": "1aa8d7d055cf5a29a31b04a12124f673"}, "OilTemperature": {"datatype": "float", "description": "PID 5C - Engine oil temperature", "type": "sensor", "unit": "celsius", "uuid": "ef3dfc11085d5077b363b1a4e8e4a84e"}, "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", "type": "sensor", "uuid": "0a9ba3f0a9b256d78bafd62ee8ce73cd"}, "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]", "type": "sensor", "uuid": "41d3377813d651aa9b9344ba9fd2f880"}, "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"}, "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"}, "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"}, "RelativeAcceleratorPosition": {"datatype": "float", "description": "PID 5A - Relative accelerator pedal position", "type": "sensor", "unit": "percent", "uuid": "e25de9aacad3549285b4fb234f10be8f"}, "RelativeThrottlePosition": {"datatype": "float", "description": "PID 45 - Relative throttle position", "type": "sensor", "unit": "percent", "uuid": "54ecf7dd671c5053aac4bc1bb061d64b"}, "RunTime": {"datatype": "float", "description": "PID 1F - Engine run time", "type": "sensor", "unit": "s", "uuid": "acf70773752256d1a227ab48257624b5"}, "RunTimeMIL": {"datatype": "float", "description": "PID 4D - Run time with MIL on", "type": "sensor", "unit": "min", "uuid": "555604a484535f60adf8894a6bd895b6"}, "ShortTermFuelTrim1": {"datatype": "float", "description": "PID 06 - Short Term (immediate) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "569c983874335fb392d4e82a002654cb"}, "ShortTermFuelTrim2": {"datatype": "float", "description": "PID 08 - Short Term (immediate) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "53a39620773a523a8182169027169ec2"}, "ShortTermO2Trim1": {"datatype": "float", "description": "PID 55 (byte A) - Short term secondary O2 trim - Bank 1", "type": "sensor", "unit": "percent", "uuid": "be7ed33a854557ba802da0c51f9f4564"}, "ShortTermO2Trim2": {"datatype": "float", "description": "PID 57 (byte A) - Short term secondary O2 trim - Bank 2", "type": "sensor", "unit": "percent", "uuid": "c8b962f8990e51d294621408ceaa21d9"}, "ShortTermO2Trim3": {"datatype": "float", "description": "PID 55 (byte B) - Short term secondary O2 trim - Bank 3", "type": "sensor", "unit": "percent", "uuid": "af58212df970568b9edcc5e58fa36f8d"}, "ShortTermO2Trim4": {"datatype": "float", "description": "PID 57 (byte B) - Short term secondary O2 trim - Bank 4", "type": "sensor", "unit": "percent", "uuid": "8ef0516c0c965fd6aecbacd6b9120a5b"}, "Speed": {"datatype": "float", "description": "PID 0D - Vehicle speed", "type": "sensor", "unit": "km/h", "uuid": "91ed0bb43eb054759813cd784b071764"}, "Status": {"children": {"DTCCount": {"datatype": "uint8", "description": "Number of Diagnostic Trouble Codes (DTC)", "type": "sensor", "uuid": "4afdf65e788c5f69baf682597e69fb67"}, "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"}, "IsMILOn": {"datatype": "boolean", "description": "Malfunction Indicator Light (MIL) False = Off, True = On", "type": "sensor", "uuid": "8744bcb275205630932320b66185502c"}}, "description": "PID 01 - OBD status", "type": "branch", "uuid": "474f58e593ee5bfebbb9c6ce4a453f96"}, "ThrottleActuator": {"datatype": "float", "description": "PID 4C - Commanded throttle actuator", "type": "sensor", "unit": "percent", "uuid": "49a19905a1005ee3abe0c0a84d7112d1"}, "ThrottlePosition": {"datatype": "float", "description": "PID 11 - Throttle position - 0 = closed throttle, 100 = open throttle", "type": "sensor", "unit": "percent", "uuid": "ec1d372020205bb4a846a014b33801e1"}, "ThrottlePositionB": {"datatype": "float", "description": "PID 47 - Absolute throttle position B", "type": "sensor", "unit": "percent", "uuid": "701712a565ed5bf8b6630487a7152c87"}, "ThrottlePositionC": {"datatype": "float", "description": "PID 48 - Absolute throttle position C", "type": "sensor", "unit": "percent", "uuid": "06f162dc00a85f628f9d5d1bc952665c"}, "TimeSinceDTCCleared": {"datatype": "float", "description": "PID 4E - Time since trouble codes cleared", "type": "sensor", "unit": "min", "uuid": "66ea3984a2585dcdaaf6452eef835c0d"}, "TimingAdvance": {"datatype": "float", "description": "PID 0E - Time advance", "type": "sensor", "unit": "degrees", "uuid": "35533b7e327d5f839b17c932b630767c"}, "WarmupsSinceDTCClear": {"datatype": "uint8", "description": "PID 30 - Number of warm-ups since codes cleared", "type": "sensor", "uuid": "a63ba60721785fc591e3dd067c4dc2ae"}}, "description": "OBD data.", "type": "branch", "uuid": "7ad7c512ed5d52c8b31944d2d47a4bc3"}, "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", "uuid": "add77f60f7885e39a84baae200569077"}, "Powertrain": {"children": {"AccumulatedBrakingEnergy": {"datatype": "float", "description": "The accumulated energy from regenerative braking over lifetime.", "type": "sensor", "unit": "kWh", "uuid": "0dd466d28d3d5ad094f2015adafb91a5"}, "CombustionEngine": {"children": {"AspirationType": {"allowed": ["UNKNOWN", "NATURAL", "SUPERCHARGER", "TURBOCHARGER"], "datatype": "string", "default": "UNKNOWN", "description": "Type of aspiration (natural, turbocharger, supercharger etc).", "type": "attribute", "uuid": "3ca6a8ff30275c20a9d8d6d6829574eb"}, "Bore": {"datatype": "float", "description": "Bore in millimetres.", "type": "attribute", "unit": "mm", "uuid": "1618fb16035b5464961570cc1afd934e"}, "CompressionRatio": {"datatype": "string", "description": "Engine compression ratio, specified in the format 'X:1', e.g. '9.2:1'.", "type": "attribute", "uuid": "ead42922511051a0a0a1b634781f3c09"}, "Configuration": {"allowed": ["UNKNOWN", "STRAIGHT", "V", "BOXER", "W", "ROTARY", "RADIAL", "SQUARE", "H", "U", "OPPOSED", "X"], "datatype": "string", "default": "UNKNOWN", "description": "Engine configuration.", "type": "attribute", "uuid": "586be4567fe059ee9e6cf42901c2e773"}, "DieselExhaustFluid": {"children": {"Capacity": {"datatype": "float", "description": "Capacity in liters of the Diesel Exhaust Fluid Tank.", "type": "attribute", "unit": "l", "uuid": "863c16ad452b5cf5b7a37f58bdda14c3"}, "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"}, "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", "uuid": "f5b0269b58ff5a8e8399f6d96963a3b6"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters of the Diesel Exhaust Fluid present in the vehicle.", "type": "sensor", "unit": "m", "uuid": "124afbee975c5a67b316413f7b805eac"}}, "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"}, "DieselParticulateFilter": {"children": {"DeltaPressure": {"datatype": "float", "description": "Delta Pressure of Diesel Particulate Filter.", "type": "sensor", "unit": "Pa", "uuid": "a6f476775c60531b93acb835e0bc6ab6"}, "InletTemperature": {"datatype": "float", "description": "Inlet temperature of Diesel Particulate Filter.", "type": "sensor", "unit": "celsius", "uuid": "70e90d202d3054bd967e67dce95c8ef2"}, "OutletTemperature": {"datatype": "float", "description": "Outlet temperature of Diesel Particulate Filter.", "type": "sensor", "unit": "celsius", "uuid": "e2b7f9d97bec5c0d94ade71a5e2f6518"}}, "description": "Diesel Particulate Filter signals.", "type": "branch", "uuid": "eeddd99ad6475b1a92b9ec7bd7cefdbd"}, "Displacement": {"datatype": "uint16", "description": "Displacement in cubic centimetres.", "type": "attribute", "unit": "cm^3", "uuid": "94dbd928847150ab842c00fa5caaf272"}, "ECT": {"datatype": "int16", "description": "Engine coolant temperature.", "type": "sensor", "unit": "celsius", "uuid": "fff3cad23cac5b189a1a075c3ab562cd"}, "EOP": {"datatype": "uint16", "description": "Engine oil pressure.", "type": "sensor", "unit": "kPa", "uuid": "76c7039dc7975ec3a003f0f4a04895ec"}, "EOT": {"datatype": "int16", "description": "Engine oil temperature.", "type": "sensor", "unit": "celsius", "uuid": "eae6f5eae04f530e80f6b024f95b767d"}, "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"}, "EngineCoolantCapacity": {"datatype": "float", "description": "Engine coolant capacity in liters.", "type": "attribute", "unit": "l", "uuid": "90b5b64808ea5f4fa2798d96143b0d60"}, "EngineHours": {"datatype": "float", "description": "Accumulated time during engine lifetime with 'engine speed (rpm) > 0'.", "type": "sensor", "unit": "h", "uuid": "a23a62e24f58514d961890f53262e4e0"}, "EngineOilCapacity": {"datatype": "float", "description": "Engine oil capacity in liters.", "type": "attribute", "unit": "l", "uuid": "2ca7af6facb55a13885989faa9bc6ca7"}, "EngineOilLevel": {"allowed": ["CRITICALLY_LOW", "LOW", "NORMAL", "HIGH", "CRITICALLY_HIGH"], "datatype": "string", "description": "Engine oil level.", "type": "sensor", "uuid": "e3813f59e94b509eb865fd97255a8a4f"}, "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", "uuid": "6caa3d7e669c5cc6aecd4a6be9a302d4"}, "IsRunning": {"datatype": "boolean", "description": "Engine Running. True if engine is rotating (Speed > 0).", "type": "sensor", "uuid": "57652c27679757398c44d56af7a044d3"}, "MAF": {"datatype": "uint16", "description": "Grams of air drawn into engine per second.", "type": "sensor", "unit": "g/s", "uuid": "1e222ed8c48b5dcea60e43ac8af7d6df"}, "MAP": {"datatype": "uint16", "description": "Manifold absolute pressure possibly boosted using forced induction.", "type": "sensor", "unit": "kPa", "uuid": "28d4354fa34056369acb857aa7cc76ac"}, "MaxPower": {"datatype": "uint16", "default": 0, "description": "Peak power, in kilowatts, that engine can generate.", "type": "attribute", "unit": "kW", "uuid": "81fbdd5e90f557a38b96578a38dc137d"}, "MaxTorque": {"datatype": "uint16", "default": 0, "description": "Peak torque, in newton meter, that the engine can generate.", "type": "attribute", "unit": "Nm", "uuid": "471cd478c1e8597f8e97c85b4e4ebe26"}, "NumberOfCylinders": {"datatype": "uint16", "description": "Number of cylinders.", "type": "attribute", "uuid": "b2cd342c218257e88d214cdb511df82b"}, "NumberOfValvesPerCylinder": {"datatype": "uint16", "description": "Number of valves per cylinder.", "type": "attribute", "uuid": "44633204726e561ca21beff31f3fef80"}, "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"}, "Power": {"datatype": "uint16", "description": "Current engine power output. Shall be reported as 0 during engine breaking.", "type": "sensor", "unit": "kW", "uuid": "20e8b5d2187758c2848ed421248c180d"}, "Speed": {"datatype": "uint16", "description": "Engine speed measured as rotations per minute.", "type": "sensor", "unit": "rpm", "uuid": "557ce24c5a4d51cc825059c948ac9e29"}, "StrokeLength": {"datatype": "float", "description": "Stroke length in millimetres.", "type": "attribute", "unit": "mm", "uuid": "1bdfdab7904d51ed93e101b84ea54ddf"}, "TPS": {"datatype": "uint8", "description": "Current throttle position.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "1ddb77860de558b4876ffb399a442bda"}, "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.", "type": "sensor", "unit": "Nm", "uuid": "b81f504bdb57513299ae6e9402ec7bcd"}}, "description": "Engine-specific data, stopping at the bell housing.", "type": "branch", "uuid": "159e2e3e75f0590f95b4d2f6cfae54b5"}, "ElectricMotor": {"children": {"CoolantTemperature": {"datatype": "int16", "description": "Motor coolant temperature (if applicable).", "type": "sensor", "unit": "celsius", "uuid": "3c5ea8c7700956518f2ae7a2a0f34f1c"}, "EngineCode": {"datatype": "string", "description": "Engine code designation, as specified by vehicle manufacturer.", "type": "attribute", "uuid": "e4102a5142ed501495e5edafd3d36dfb"}, "MaxPower": {"datatype": "uint16", "default": 0, "description": "Peak power, in kilowatts, that motor(s) can generate.", "type": "attribute", "unit": "kW", "uuid": "825ec7911ee958abb199b9f7903df3a6"}, "MaxRegenPower": {"datatype": "uint16", "default": 0, "description": "Peak regen/brake power, in kilowatts, that motor(s) can generate.", "type": "attribute", "unit": "kW", "uuid": "7f2cb2650ba95485b7156ffe76e27366"}, "MaxRegenTorque": {"datatype": "uint16", "default": 0, "description": "Peak regen/brake torque, in newton meter, that the motor(s) can generate.", "type": "attribute", "unit": "Nm", "uuid": "0e5190c2517b55aa80fcb9bf698e02d6"}, "MaxTorque": {"datatype": "uint16", "default": 0, "description": "Peak power, in newton meter, that the motor(s) can generate.", "type": "attribute", "unit": "Nm", "uuid": "cf31eabcde5151f589e9b0f7a6090512"}, "Power": {"datatype": "int16", "description": "Current motor power output. Negative values indicate regen mode.", "type": "sensor", "unit": "kW", "uuid": "46b86286fba059349a733fed9a0e3232"}, "Speed": {"datatype": "int32", "description": "Motor rotational speed measured as rotations per minute. Negative values indicate reverse driving mode.", "type": "sensor", "unit": "rpm", "uuid": "ca961aa6ca435095a89f9d404a5d849d"}, "Temperature": {"datatype": "int16", "description": "Motor temperature.", "type": "sensor", "unit": "celsius", "uuid": "1b7c15e5341052139995bfacea2c05b2"}, "Torque": {"datatype": "int16", "description": "Current motor torque. Negative values indicate regen mode.", "type": "sensor", "unit": "Nm", "uuid": "aceffe768ddf5b828fff0975349d2433"}}, "description": "Electric Motor specific data.", "type": "branch", "uuid": "1ade64f6b0d05f6c9340e7a667555ae2"}, "FuelSystem": {"children": {"AbsoluteLevel": {"datatype": "float", "description": "Current available fuel in the fuel tank expressed in liters.", "type": "sensor", "unit": "l", "uuid": "00a1399655ee5d9188022f3d55d8f05e"}, "AverageConsumption": {"datatype": "float", "description": "Average consumption in liters per 100 km.", "min": 0, "type": "sensor", "unit": "l/100km", "uuid": "e2252108125a54dcab34e1bad0fe8bdc"}, "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", "uuid": "adf0a40964ff556f92b10275ad918883"}, "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", "uuid": "f0f72012f5e453c1935ff8c3a5aff696"}, "InstantConsumption": {"datatype": "float", "description": "Current consumption in liters per 100 km.", "min": 0, "type": "sensor", "unit": "l/100km", "uuid": "cf65767ec8ad56ffadfdccd831e4b562"}, "IsEngineStopStartEnabled": {"datatype": "boolean", "description": "Indicates whether eco start stop is currently enabled.", "type": "sensor", "uuid": "176eed5bb0da582a9ee56f1c70e12075"}, "IsFuelLevelLow": {"datatype": "boolean", "description": "Indicates that the fuel level is low (e.g. <50km range).", "type": "sensor", "uuid": "65f18ee3b04f5d4c8bb76083227dd9fe"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using only liquid fuel.", "type": "sensor", "unit": "m", "uuid": "c5a0dbe5e754553897f0aed0069af57a"}, "RelativeLevel": {"datatype": "uint8", "description": "Level in fuel tank as percent of capacity. 0 = empty. 100 = full.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "e90e3daa1dcd5165a9d78b09e890fb22"}, "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", "uuid": "7fd3bf2ef0c650e69ff2037875ec59ee"}, "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", "uuid": "80edc3002aa25097aba6455fe459fa6c"}, "TankCapacity": {"datatype": "float", "description": "Capacity of the fuel tank in liters.", "type": "attribute", "unit": "l", "uuid": "362643b866c55d5386fdbdf383464e90"}}, "description": "Fuel system data.", "type": "branch", "uuid": "dbc194a7f97d5a56bc8942c17c2db22e"}, "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", "uuid": "d740b02e2fb35c07bf88a6e5ebe2f6e4"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using all energy sources available in the vehicle.", "type": "sensor", "unit": "m", "uuid": "ea4b6de772d65d20b1fa611f997aa7b8"}, "TractionBattery": {"children": {"AccumulatedChargedEnergy": {"datatype": "float", "description": "The accumulated energy delivered to the battery during charging over lifetime of the battery.", "type": "sensor", "unit": "kWh", "uuid": "739d06021d795da0877bc0ef3c107de1"}, "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"}, "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"}, "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"}, "CellVoltage": {"children": {"Max": {"datatype": "float", "description": "Current voltage of the battery cell with highest voltage.", "type": "sensor", "unit": "V", "uuid": "bde40aa6b442580db3c0d4c1efed8a09"}, "Min": {"datatype": "float", "description": "Current voltage of the battery cell with lowest voltage.", "type": "sensor", "unit": "V", "uuid": "b868f28cc42a5ba28a127647cd16cb93"}}, "description": "Voltage information for cells in the battery pack.", "type": "branch", "uuid": "0070210b80125f1a8e9473f8875fe3d1"}, "Charging": {"children": {"ChargeCurrent": {"children": {"DC": {"datatype": "float", "description": "Current DC charging current at inlet. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "44204d7ae6fd5f8e954d0670a739bdf2"}, "Phase1": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 1. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "400dca50fcde52a6bb605d7e86f49776"}, "Phase2": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 2. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "32cb24d1c495503a9087d6f55997cf57"}, "Phase3": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 3. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "55fb7fb7ff4a5df9b6a3af435eac868e"}}, "description": "Current charging current.", "type": "branch", "uuid": "94739cf563735b438878ac0f85601f27"}, "ChargeLimit": {"datatype": "uint8", "default": 100, "description": "Target charge limit (state of charge) for battery.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "62360a4ed1095275a7052d65112aaef1"}, "ChargePlugType": {"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 inlets. 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.", "datatype": "string[]", "description": "Type of charge plug (charging inlet) available on the vehicle. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", "type": "attribute", "uuid": "4c56357a6f1d586395215a9beeb26d91"}, "ChargePortFlap": {"allowed": ["OPEN", "CLOSED"], "datatype": "string", "description": "Status of the charge port cover, can potentially be controlled manually.", "type": "actuator", "uuid": "71bdd2145bb55c3393df194bfc2e03e5"}, "ChargeRate": {"datatype": "float", "description": "Current charging rate, as in kilometers of range added per hour.", "type": "sensor", "unit": "km/h", "uuid": "a287cea3fdaa533180c8e349343a7851"}, "ChargeVoltage": {"children": {"DC": {"datatype": "float", "description": "Current DC charging voltage at charging inlet.", "type": "sensor", "unit": "V", "uuid": "701c21d1a4815b35ba061415789ec911"}, "Phase1": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 1.", "type": "sensor", "unit": "V", "uuid": "15991c8316585816815d6f4fb6b06776"}, "Phase2": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 2.", "type": "sensor", "unit": "V", "uuid": "6c0dcf98169d5a5190736a6dd81291a4"}, "Phase3": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 3.", "type": "sensor", "unit": "V", "uuid": "1ab06b48231e54e2ac27e543508c84f0"}}, "description": "Current charging voltage, as measured at the charging inlet.", "type": "branch", "uuid": "7170151d653b52c6bb5e75cb0a14d1c5"}, "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", "uuid": "d28244c9e3365899954bd3e38ef46bb9"}, "IsChargingCableConnected": {"datatype": "boolean", "description": "Indicates if a charging cable is physically connected to the vehicle or not.", "type": "sensor", "uuid": "a1c8e2f662b95a54a9933a1b163fff84"}, "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"}, "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"}, "MaximumChargingCurrent": {"children": {"DC": {"datatype": "float", "description": "Maximum DC charging current at inlet that can be accepted by the system.", "type": "sensor", "unit": "A", "uuid": "5a70acfd3c8959898b43738151ab36e1"}, "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"}, "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"}, "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"}}, "description": "Maximum charging current that can be accepted by the system, as measured at the charging inlet.", "type": "branch", "uuid": "e3f2e57e7a395d9ca9931d429e540a34"}, "Mode": {"allowed": ["MANUAL", "TIMER", "GRID", "PROFILE"], "comment": "The mechanism to provide a profile to the vehicle is currently not covered by VSS.", "datatype": "string", "description": "Control of the charge process. MANUAL means manually initiated (plug-in event, companion app, etc). TIMER means timer-based. GRID means grid-controlled (e.g. ISO 15118). PROFILE means controlled by profile download to vehicle.", "type": "actuator", "uuid": "1e4be3280b265873945531f6f6d0ec6b"}, "PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside the AC/DC converter.", "type": "sensor", "unit": "W", "uuid": "88f40bbeb80b5dfb97ceba13269665c5"}, "StartStopCharging": {"allowed": ["START", "STOP"], "datatype": "string", "description": "Start or stop the charging process.", "type": "actuator", "uuid": "80506d3e9a2557c2b52f74a50d89593f"}, "Temperature": {"datatype": "float", "description": "Current temperature of AC/DC converter converting grid voltage to battery voltage.", "type": "sensor", "unit": "celsius", "uuid": "c3c0ef3a41db5df1bab659803adbc7ba"}, "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", "uuid": "c6439c2e068652b08383b9654e2e784a"}, "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", "uuid": "b09fb52261735977af275dda1904a7a1"}, "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", "uuid": "c08dcaeda02b5e26aacd7e2542f0fc90"}}, "description": "Properties related to timing of battery charging sessions.", "type": "branch", "uuid": "cd5b57ada627510e83f90832efed9d5a"}}, "description": "Properties related to battery charging.", "type": "branch", "uuid": "49b9ef0c8b145a36afdf17d0cb44131b"}, "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"}, "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"}, "CurrentVoltage": {"datatype": "float", "description": "Current Voltage of the battery.", "type": "sensor", "unit": "V", "uuid": "7b54ea22ee7d5f559da552aefcc07222"}, "DCDC": {"children": {"PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside DC/DC converter.", "type": "sensor", "unit": "W", "uuid": "f29e37087cdf57ca998188c7b945a77b"}, "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"}}, "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"}, "GrossCapacity": {"datatype": "uint16", "description": "Gross capacity of the battery.", "type": "attribute", "unit": "kWh", "uuid": "5460530488435dc8bfa1298bf47a993d"}, "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"}, "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"}, "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"}, "MaxVoltage": {"datatype": "uint16", "description": "Max allowed voltage of the battery, e.g. during charging.", "type": "attribute", "unit": "V", "uuid": "a81264a0ef0c55d288671cfc62c4add5"}, "NetCapacity": {"datatype": "uint16", "description": "Total net capacity of the battery considering aging.", "type": "sensor", "unit": "kWh", "uuid": "9c68fe42cb81501eb6349f8c9b0b6899"}, "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": "3eccae5633185b998d5bdb6ea33cd926"}, "PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside the battery.", "type": "sensor", "unit": "W", "uuid": "880082aafe025cb3a5776b623f9a48b5"}, "ProductionDate": {"datatype": "string", "description": "Production date of battery in ISO8601 format, e.g. YYYY-MM-DD.", "type": "attribute", "uuid": "c9509ba4d76c56d9a8c1d6e2280ae02f"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using only battery.", "type": "sensor", "unit": "m", "uuid": "c0376a425e5d578d9d86ae0dc2ad9778"}, "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", "uuid": "2e647ca3a1ff5e52af137aab240642da"}, "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", "uuid": "435ef8dbe4425450ae1ff6215fc9e40b"}, "Displayed": {"datatype": "float", "description": "State of charge displayed to the customer.", "max": 100.0, "min": 0, "type": "sensor", "unit": "percent", "uuid": "1bfcc228293b5512aafe2508ab0500d2"}}, "description": "Information on the state of charge of the vehicle's high voltage battery.", "type": "branch", "uuid": "26bae2ce7c4d5e2a951915ef2f5d8b7d"}, "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", "uuid": "4d982c47f3245048bcfec1190973a3ed"}, "Temperature": {"children": {"Average": {"datatype": "float", "description": "Current average temperature of the battery cells.", "type": "sensor", "unit": "celsius", "uuid": "ae28e502137f56b9a037ed9b32bc04e1"}, "Max": {"datatype": "float", "description": "Current maximum temperature of the battery cells, i.e. temperature of the hottest cell.", "type": "sensor", "unit": "celsius", "uuid": "07aa7c8ba1d355398d7469c2b337152a"}, "Min": {"datatype": "float", "description": "Current minimum temperature of the battery cells, i.e. temperature of the coldest cell.", "type": "sensor", "unit": "celsius", "uuid": "4e3f630fefa7558fa302b175bc7eb5c7"}}, "description": "Temperature Information for the battery pack.", "type": "branch", "uuid": "1cfbcf8c152959dcb3eb2c54fc42e623"}}, "description": "Battery Management data.", "type": "branch", "uuid": "1a2515d1a8875d86873431194ade2b50"}, "Transmission": {"children": {"ClutchEngagement": {"datatype": "float", "description": "Clutch engagement. 0% = Clutch fully disengaged. 100% = Clutch fully engaged.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "2890bd4a2b6a56c19b62d7bd95151fc6"}, "ClutchWear": {"datatype": "uint8", "description": "Clutch wear as a percent. 0 = no wear. 100 = worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "c113405ad165571a9d53ae4cf55dc929"}, "CurrentGear": {"datatype": "int8", "description": "The current gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse.", "type": "sensor", "uuid": "cd0ba1d772565e16bff46cbd5c9361da"}, "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", "uuid": "5149afe37fbd5c24847b5820821abc02"}, "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", "uuid": "197c939bd1405613b80179becec6db83"}, "DriveType": {"allowed": ["UNKNOWN", "FORWARD_WHEEL_DRIVE", "REAR_WHEEL_DRIVE", "ALL_WHEEL_DRIVE"], "datatype": "string", "default": "UNKNOWN", "description": "Drive type.", "type": "attribute", "uuid": "0e480b76fb2d5f8bb08fb586f90ee6ae"}, "GearChangeMode": {"allowed": ["MANUAL", "AUTOMATIC"], "datatype": "string", "description": "Is the gearbox in automatic or manual (paddle) mode.", "type": "actuator", "uuid": "ff3c69378c2f598286e51f7dac13adaa"}, "GearCount": {"datatype": "int8", "default": 0, "description": "Number of forward gears in the transmission. -1 = CVT.", "type": "attribute", "uuid": "84293f40d3ed57f1a08992d97b1a9ccd"}, "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"}, "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"}, "IsParkLockEngaged": {"datatype": "boolean", "description": "Is the transmission park lock engaged or not. False = Disengaged. True = Engaged.", "type": "actuator", "uuid": "1578da3f925e54ac9df978abd0195408"}, "PerformanceMode": {"allowed": ["NORMAL", "SPORT", "ECONOMY", "SNOW", "RAIN"], "datatype": "string", "description": "Current gearbox performance mode.", "type": "actuator", "uuid": "6b5cfd85cb595e559503ccf993be04dd"}, "SelectedGear": {"datatype": "int8", "description": "The selected gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse, 126=Park, 127=Drive.", "type": "actuator", "uuid": "490fd99b9d5f562eb180c19e8cef5e12"}, "Temperature": {"datatype": "int16", "description": "The current gearbox temperature.", "type": "sensor", "unit": "celsius", "uuid": "4f5e48c3511b5e1abff11aa7ec62dd18"}, "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", "uuid": "d3bcaaf973d3512287817049db9bd677"}, "TravelledDistance": {"datatype": "float", "description": "Odometer reading, total distance travelled during the lifetime of the transmission.", "type": "sensor", "unit": "km", "uuid": "b9dd66f20c7f5b12a046766b94dc20c1"}, "Type": {"allowed": ["UNKNOWN", "SEQUENTIAL", "H", "AUTOMATIC", "DSG", "CVT"], "datatype": "string", "default": "UNKNOWN", "description": "Transmission type.", "type": "attribute", "uuid": "f83b9e5464d85a0288fcb32c164d3c63"}}, "description": "Transmission-specific data, stopping at the drive shafts.", "type": "branch", "uuid": "6b71e284b63a527caa6296a66e9fdd0c"}, "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", "uuid": "2a000da4204658a4a6e3ecd5176bdfba"}}, "description": "Powertrain data for battery management, etc.", "type": "branch", "uuid": "12f35ec7bd1c58d1a329565ce3d053d5"}, "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"}, "Service": {"children": {"DistanceToService": {"datatype": "float", "description": "Remaining distance to service (of any kind). Negative values indicate service overdue.", "type": "sensor", "unit": "km", "uuid": "6f4347ce149759819572c8c3a17e8d93"}, "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"}, "TimeToService": {"datatype": "int32", "description": "Remaining time to service (of any kind). Negative values indicate service overdue.", "type": "sensor", "unit": "s", "uuid": "c968be91a5685fa9ae30b84a0f91934e"}}, "description": "Service data.", "type": "branch", "uuid": "b6463772705b56a7a993e23601bd3d47"}, "Speed": {"datatype": "float", "description": "Vehicle speed.", "type": "sensor", "unit": "km/h", "uuid": "efe50798638d55fab18ab7d43cc490e9"}, "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", "uuid": "3790b5f4513c5a3d90a0503a965bbbe0"}, "Trailer": {"children": {"IsConnected": {"datatype": "boolean", "description": "Signal indicating if trailer is connected or not.", "type": "sensor", "uuid": "77f28ed03c125ac9a19d22e9436b0ec4"}}, "description": "Trailer signals.", "type": "branch", "uuid": "66206ee5c25a5817bef214c0c8ae8013"}, "TraveledDistance": {"datatype": "float", "description": "Odometer reading, total distance traveled during the lifetime of the vehicle.", "type": "sensor", "unit": "km", "uuid": "32c3c3585f105d8aa5566ef5a038a741"}, "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", "description": "Distance traveled since start of current trip.", "type": "sensor", "unit": "km", "uuid": "cfc6efd2793152e487f9fe3f4e03fd5d"}, "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", "uuid": "84b9558ad33555389791b57d505f27a8"}, "TripMeterReading": {"comment": "The trip meter is an odometer that can be manually reset by the driver", "datatype": "float", "description": "Trip meter reading.", "type": "actuator", "unit": "km", "uuid": "81f51ebfe29c591190171d7b96e1c948"}, "VehicleIdentification": {"children": {"AcrissCode": {"datatype": "string", "description": "The ACRISS Car Classification Code is a code used by many car rental companies.", "type": "attribute", "uuid": "115a821e8e0b57f08e4b9e61e85d7156"}, "BodyType": {"datatype": "string", "description": "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.).", "type": "attribute", "uuid": "e6d5c71ecec95d68b0b59bb7e93af759"}, "Brand": {"datatype": "string", "description": "Vehicle brand or manufacturer.", "type": "attribute", "uuid": "19fd645ff5385767bcdbf5dd4313483f"}, "DateVehicleFirstRegistered": {"datatype": "string", "description": "The date in ISO 8601 format of the first registration of the vehicle with the respective public authorities.", "type": "attribute", "uuid": "046f47acf62e50bd863d6568d73743d7"}, "KnownVehicleDamages": {"datatype": "string", "description": "A textual description of known damages, both repaired and unrepaired.", "type": "attribute", "uuid": "e87f352cddb15e94b340506b17207586"}, "MeetsEmissionStandard": {"datatype": "string", "description": "Indicates that the vehicle meets the respective emission standard.", "type": "attribute", "uuid": "d75dedbfadca54d8b6c7261c37ad5d83"}, "Model": {"datatype": "string", "description": "Vehicle model.", "type": "attribute", "uuid": "dd3d3b72e6a85b3695ba25f829255403"}, "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"}, "ProductionDate": {"datatype": "string", "description": "The date in ISO 8601 format of production of the item, e.g. vehicle.", "type": "attribute", "uuid": "5683877c4bac504d915b268c9476c190"}, "PurchaseDate": {"datatype": "string", "description": "The date in ISO 8601 format of the item e.g. vehicle was purchased by the current owner.", "type": "attribute", "uuid": "31302f8b57e85c4197afda3e3201fce8"}, "VIN": {"datatype": "string", "description": "17-character Vehicle Identification Number (VIN) as defined by ISO 3779.", "type": "attribute", "uuid": "6f0b6fa8c34f589baa92e565bc9df5bd"}, "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"}, "VehicleInteriorColor": {"datatype": "string", "description": "The color or color combination of the interior of the vehicle.", "type": "attribute", "uuid": "67a8b069b8bf573993d51959c24f04e2"}, "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"}, "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", "uuid": "c71b63f83dea536bac58e62bbe537f11"}, "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"}, "VehicleSpecialUsage": {"datatype": "string", "description": "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school.", "type": "attribute", "uuid": "7e6e8a48f54a5549a8f6af8f1dc5eb8d"}, "WMI": {"datatype": "string", "description": "3-character World Manufacturer Identification (WMI) as defined by ISO 3780.", "type": "attribute", "uuid": "e7c86defbcd554a79f90ba85de58e133"}, "Year": {"datatype": "uint16", "description": "Model year of the vehicle.", "type": "attribute", "uuid": "9a76b0aca8e45f6fb33dbaf5b976b8b5"}}, "description": "Attributes that identify a vehicle.", "type": "branch", "uuid": "c33861c3e9125208b05f23fe922bf08e"}, "VersionVSS": {"children": {"Label": {"datatype": "string", "description": "Label to further describe the version.", "type": "attribute", "uuid": "7c92cd50d24b5662922b27cb9a327e53"}, "Major": {"datatype": "uint32", "default": 4, "description": "Supported Version of VSS - Major version.", "type": "attribute", "uuid": "5edf1a338c975cbb84d4ce3cfe1aa4b4"}, "Minor": {"datatype": "uint32", "default": 0, "description": "Supported Version of VSS - Minor version.", "type": "attribute", "uuid": "6e70a598dbc7534c96c58c18e9888cfd"}, "Patch": {"datatype": "uint32", "default": 0, "description": "Supported Version of VSS - Patch version.", "type": "attribute", "uuid": "69858f224af459338b9bfbff436dda45"}}, "description": "Supported Version of VSS.", "type": "branch", "uuid": "9a687e56f1305eedb20f6a021ea58f48"}, "Width": {"datatype": "uint16", "default": 0, "description": "Overall vehicle width.", "type": "attribute", "unit": "mm", "uuid": "b4aabe144e3259adb1459a2e25fec9bd"}}, "description": "High-level vehicle data.", "type": "branch", "uuid": "ccc825f94139544dbb5f4bfd033bece6"}} \ No newline at end of file diff --git a/vss-processor/src/test/resources/json/vss_rel_4.0.partial.json b/vss-processor/src/test/resources/json/vss_rel_4.0.partial.json new file mode 100644 index 00000000..28f7d3ed --- /dev/null +++ b/vss-processor/src/test/resources/json/vss_rel_4.0.partial.json @@ -0,0 +1,131 @@ +{ + "Vehicle": { + "children": { + "ADAS": { + "children": { + "ABS": { + "children": { + "IsEnabled": { + "datatype": "boolean", + "description": "Indicates if ABS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "cad374fbfdc65df9b777508f04d5b073" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "6dd21979a2225e31940dc2ece1aa9a04" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if ABS incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "13cfabb3122254128234f9a696f14678" + } + }, + "description": "Antilock Braking System signals.", + "type": "branch", + "uuid": "219270ef27c4531f874bbda63743b330" + }, + "ActiveAutonomyLevel": { + "allowed": [ + "SAE_0", + "SAE_1", + "SAE_2_DISENGAGING", + "SAE_2", + "SAE_3_DISENGAGING", + "SAE_3", + "SAE_4_DISENGAGING", + "SAE_4", + "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.", + "datatype": "string", + "description": "Indicates the currently active level of autonomy according to SAE J3016 taxonomy.", + "type": "sensor", + "uuid": "b101c6928fc55948b1cc485e568ecd8d" + }, + "CruiseControl": { + "children": { + "IsActive": { + "datatype": "boolean", + "description": "Indicates if cruise control system is active (i.e. actively controls speed). True = Active. False = Inactive.", + "type": "actuator", + "uuid": "78ab5ce923dc5aa1a6622bcb948e1561" + }, + "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" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if cruise control system incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "22923d4a36bc5192a08e40fe9e5ed458" + }, + "SpeedSet": { + "datatype": "float", + "description": "Set cruise control speed in kilometers per hour.", + "type": "actuator", + "unit": "km/h", + "uuid": "b3f3a53ccd825e4da5cb1226f94dc005" + } + }, + "description": "Signals from Cruise Control system.", + "type": "branch", + "uuid": "c4d751cf74f9576dbba3cc820991c1fb" + }, + "DMS": { + "children": { + "IsEnabled": { + "datatype": "boolean", + "description": "Indicates if DMS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "63e6d3803ce35fd79afc728c65295804" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if DMS incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "d5213c8cb5d5575994b2c8ee1ad8eccf" + }, + "IsWarning": { + "datatype": "boolean", + "description": "Indicates if DMS has registered a driver alert condition.", + "type": "sensor", + "uuid": "2c86cd0363cd55ffb175a9e07cc32e4d" + } + }, + "description": "Driver Monitoring System signals.", + "type": "branch", + "uuid": "1cd72c7fc7fe5269a93c9954f46a4f60" + } + }, + "description": "All Advanced Driver Assist Systems data.", + "type": "branch", + "uuid": "14c2b2e1297b513197d320a5ce58f42e" + }, + "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", + "uuid": "43a489636a665c3abb99b63174eb552b" + }, + "Speed": { + "datatype": "float", + "description": "Vehicle speed.", + "type": "sensor", + "unit": "km/h", + "uuid": "efe50798638d55fab18ab7d43cc490e9" + } + }, + "description": "High-level vehicle data.", + "type": "branch", + "uuid": "ccc825f94139544dbb5f4bfd033bece6" + } +} diff --git a/vss-processor/src/test/resources/incompatible.yaml b/vss-processor/src/test/resources/yaml/incompatible.yaml similarity index 100% rename from vss-processor/src/test/resources/incompatible.yaml rename to vss-processor/src/test/resources/yaml/incompatible.yaml diff --git a/vss-processor/src/test/resources/invalid.yaml b/vss-processor/src/test/resources/yaml/invalid.yaml similarity index 100% rename from vss-processor/src/test/resources/invalid.yaml rename to vss-processor/src/test/resources/yaml/invalid.yaml diff --git a/vss-processor/src/test/resources/vss_rel_4.0.yaml b/vss-processor/src/test/resources/yaml/vss_rel_4.0.yaml similarity index 100% rename from vss-processor/src/test/resources/vss_rel_4.0.yaml rename to vss-processor/src/test/resources/yaml/vss_rel_4.0.yaml diff --git a/vss/vss_rel_4.0.json b/vss/vss_rel_4.0.json new file mode 100644 index 00000000..161c35d8 --- /dev/null +++ b/vss/vss_rel_4.0.json @@ -0,0 +1,8844 @@ +{ + "Vehicle": { + "children": { + "ADAS": { + "children": { + "ABS": { + "children": { + "IsEnabled": { + "datatype": "boolean", + "description": "Indicates if ABS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "cad374fbfdc65df9b777508f04d5b073" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "6dd21979a2225e31940dc2ece1aa9a04" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if ABS incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "13cfabb3122254128234f9a696f14678" + } + }, + "description": "Antilock Braking System signals.", + "type": "branch", + "uuid": "219270ef27c4531f874bbda63743b330" + }, + "ActiveAutonomyLevel": { + "allowed": [ + "SAE_0", + "SAE_1", + "SAE_2_DISENGAGING", + "SAE_2", + "SAE_3_DISENGAGING", + "SAE_3", + "SAE_4_DISENGAGING", + "SAE_4", + "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.", + "datatype": "string", + "description": "Indicates the currently active level of autonomy according to SAE J3016 taxonomy.", + "type": "sensor", + "uuid": "b101c6928fc55948b1cc485e568ecd8d" + }, + "CruiseControl": { + "children": { + "IsActive": { + "datatype": "boolean", + "description": "Indicates if cruise control system is active (i.e. actively controls speed). True = Active. False = Inactive.", + "type": "actuator", + "uuid": "78ab5ce923dc5aa1a6622bcb948e1561" + }, + "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" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if cruise control system incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "22923d4a36bc5192a08e40fe9e5ed458" + }, + "SpeedSet": { + "datatype": "float", + "description": "Set cruise control speed in kilometers per hour.", + "type": "actuator", + "unit": "km/h", + "uuid": "b3f3a53ccd825e4da5cb1226f94dc005" + } + }, + "description": "Signals from Cruise Control system.", + "type": "branch", + "uuid": "c4d751cf74f9576dbba3cc820991c1fb" + }, + "DMS": { + "children": { + "IsEnabled": { + "datatype": "boolean", + "description": "Indicates if DMS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "63e6d3803ce35fd79afc728c65295804" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if DMS incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "d5213c8cb5d5575994b2c8ee1ad8eccf" + }, + "IsWarning": { + "datatype": "boolean", + "description": "Indicates if DMS has registered a driver alert condition.", + "type": "sensor", + "uuid": "2c86cd0363cd55ffb175a9e07cc32e4d" + } + }, + "description": "Driver Monitoring System signals.", + "type": "branch", + "uuid": "1cd72c7fc7fe5269a93c9954f46a4f60" + }, + "EBA": { + "children": { + "IsEnabled": { + "datatype": "boolean", + "description": "Indicates if EBA is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "3ae9171b69555fb08855054ab38e9b17" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if EBA is currently regulating brake pressure. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "86360c44ead354d18af7ff14176151f6" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if EBA incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "bae0fe856398502ba4a09283867c6c81" + } + }, + "description": "Emergency Brake Assist (EBA) System signals.", + "type": "branch", + "uuid": "51ec0930d0af5b91b84a0775c6e87a97" + }, + "EBD": { + "children": { + "IsEnabled": { + "datatype": "boolean", + "description": "Indicates if EBD is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "30f88d3e68575b67853b14ce5f7a08e5" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if EBD is currently regulating vehicle brakeforce distribution. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "67aa2a598f635edda6eb944af99b06db" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if EBD incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "918157073be95015ae38913cd7a9796a" + } + }, + "description": "Electronic Brakeforce Distribution (EBD) System signals.", + "type": "branch", + "uuid": "3f4c74a588735b10ac9fe918d305cd5a" + }, + "ESC": { + "children": { + "IsEnabled": { + "datatype": "boolean", + "description": "Indicates if ESC is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "3f4f39b8d8c05c97a6de685282ba74b7" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if ESC is currently regulating vehicle stability. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "2088953a28385353a9d46b3a3dc11cac" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if ESC incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "6c237535654b5bc7a70f6a70c760b9d4" + }, + "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" + }, + "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", + "uuid": "634289f58b5d511ea9979f04a9d0f2ab" + }, + "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", + "uuid": "b0eb72430cd95bfbba0d187fcb6e2a62" + }, + "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", + "uuid": "ad0415a799575fcd8d1f49bed9a2baeb" + } + }, + "description": "Road friction values reported by the ESC system.", + "type": "branch", + "uuid": "71a32e4eb131532c82195508d93807ed" + } + }, + "description": "Electronic Stability Control System signals.", + "type": "branch", + "uuid": "636b4586ce7854b4b270a2f3b6c0af4f" + }, + "LaneDepartureDetection": { + "children": { + "IsEnabled": { + "datatype": "boolean", + "description": "Indicates if lane departure detection system is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "c099ae97260f5c418977cd14631e95be" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if lane departure system incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "73b2fc4f6a4952e4b7886671450e7798" + }, + "IsWarning": { + "datatype": "boolean", + "description": "Indicates if lane departure detection registered a lane departure.", + "type": "sensor", + "uuid": "c32fcd1d56035cb08acfd380be224c6a" + } + }, + "description": "Signals from Lane Departure Detection System.", + "type": "branch", + "uuid": "e45f33fdcf245f11981b2f201ee8281a" + }, + "ObstacleDetection": { + "children": { + "IsEnabled": { + "datatype": "boolean", + "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "cc0cd497285e5034a1cccb25f02e9db9" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "368b74e2468d5217925a478ed6e34f9f" + }, + "IsWarning": { + "datatype": "boolean", + "description": "Indicates if obstacle sensor system registered an obstacle.", + "type": "sensor", + "uuid": "b0b1eab51f135ffcb2a17a7603415fec" + } + }, + "description": "Signals form Obstacle Sensor System.", + "type": "branch", + "uuid": "e7b6d81631cc5ac584d027d4c1a66cb5" + }, + "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", + "uuid": "044ad42893e65993bfc439455fb08faa" + }, + "SupportedAutonomyLevel": { + "allowed": [ + "SAE_0", + "SAE_1", + "SAE_2", + "SAE_3", + "SAE_4", + "SAE_5" + ], + "datatype": "string", + "description": "Indicates the highest level of autonomy according to SAE J3016 taxonomy the vehicle is capable of.", + "type": "attribute", + "uuid": "020410189ab4517cb85ceda268b40f51" + }, + "TCS": { + "children": { + "IsEnabled": { + "datatype": "boolean", + "description": "Indicates if TCS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "1d2dda19b11758a19ba7c1d5cd2d7956" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if TCS is currently regulating traction. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "b33d70009ad5589fbffe17fa7e827242" + }, + "IsError": { + "datatype": "boolean", + "description": "Indicates if TCS incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "08f88723ba63558b8c804b8fe8e3f149" + } + }, + "description": "Traction Control System signals.", + "type": "branch", + "uuid": "0572e9f6b1aa5fb5b2f68086aff05073" + } + }, + "description": "All Advanced Driver Assist Systems data.", + "type": "branch", + "uuid": "14c2b2e1297b513197d320a5ce58f42e" + }, + "Acceleration": { + "children": { + "Lateral": { + "datatype": "float", + "description": "Vehicle acceleration in Y (lateral acceleration).", + "type": "sensor", + "unit": "m/s^2", + "uuid": "7522c5d6b7665b16a099643b2700e93c" + }, + "Longitudinal": { + "datatype": "float", + "description": "Vehicle acceleration in X (longitudinal acceleration).", + "type": "sensor", + "unit": "m/s^2", + "uuid": "3d511fe7232b5841be311b37f322de5a" + }, + "Vertical": { + "datatype": "float", + "description": "Vehicle acceleration in Z (vertical acceleration).", + "type": "sensor", + "unit": "m/s^2", + "uuid": "a4a8a7c4ac5b52deb0b3ee4ed8787c59" + } + }, + "description": "Spatial acceleration. Axis definitions according to ISO 8855.", + "type": "branch", + "uuid": "6c490e6a798c5abc8f0178ed6deae0a8" + }, + "AngularVelocity": { + "children": { + "Pitch": { + "datatype": "float", + "description": "Vehicle rotation rate along Y (lateral).", + "type": "sensor", + "unit": "degrees/s", + "uuid": "42236f4a01f45313a97fdd9b6848ce4f" + }, + "Roll": { + "datatype": "float", + "description": "Vehicle rotation rate along X (longitudinal).", + "type": "sensor", + "unit": "degrees/s", + "uuid": "221e6b93881e5771bcbd03e0849e0075" + }, + "Yaw": { + "datatype": "float", + "description": "Vehicle rotation rate along Z (vertical).", + "type": "sensor", + "unit": "degrees/s", + "uuid": "4114c41552565c1f9035670cabe2a611" + } + }, + "description": "Spatial rotation. Axis definitions according to ISO 8855.", + "type": "branch", + "uuid": "1eef530a43de56aab665d2766483cde2" + }, + "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", + "uuid": "43a489636a665c3abb99b63174eb552b" + }, + "Body": { + "children": { + "BodyType": { + "datatype": "string", + "description": "Body type code as defined by ISO 3779.", + "type": "attribute", + "uuid": "6253412513105deea63b1d424117fd88" + }, + "Hood": { + "children": { + "IsOpen": { + "datatype": "boolean", + "description": "Hood open or closed. True = Open. False = Closed.", + "type": "actuator", + "uuid": "890aa3359e1a579288af1cf8e6b5b71f" + } + }, + "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.", + "type": "branch", + "uuid": "84510652bf915bbe8bf5f477aab2b44a" + }, + "Horn": { + "children": { + "IsActive": { + "datatype": "boolean", + "description": "Horn active or inactive. True = Active. False = Inactive.", + "type": "actuator", + "uuid": "ba20deed9314525bb9d552a2b787fb20" + } + }, + "description": "Horn signals.", + "type": "branch", + "uuid": "09c76633887f52268b960740eb969c89" + }, + "Lights": { + "children": { + "Backup": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "b907c4ac4ee459faa987c64a6da424c3" + }, + "IsOn": { + "datatype": "boolean", + "description": "Indicates if light is on or off. True = On. False = Off.", + "type": "actuator", + "uuid": "ef23a3fa6106564195a66e21d8cf69b4" + } + }, + "description": "Backup lights.", + "type": "branch", + "uuid": "4fe2cb68fc77506686eced7225aeff9a" + }, + "Beam": { + "children": { + "High": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "83561d8c9a025cfdad6c4b325829fa00" + }, + "IsOn": { + "datatype": "boolean", + "description": "Indicates if light is on or off. True = On. False = Off.", + "type": "actuator", + "uuid": "24d1346519b05697b872c06556a09fb4" + } + }, + "description": "Beam lights.", + "type": "branch", + "uuid": "306b51d2e1ec572fa80172aad6727da0" + }, + "Low": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "3a135f1267ea5b2a80aa9a17fc8072db" + }, + "IsOn": { + "datatype": "boolean", + "description": "Indicates if light is on or off. True = On. False = Off.", + "type": "actuator", + "uuid": "8b4d4855b0c95963a25dc564c9758610" + } + }, + "description": "Beam lights.", + "type": "branch", + "uuid": "f6f21ea5b263545297f4411b2e15037f" + } + }, + "description": "Beam lights.", + "type": "branch", + "uuid": "6685308a9d955ecdad92a7cc68666a12" + }, + "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", + "uuid": "65eb84d61ea95313985054f626b85b59" + }, + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "1db542c5ba715e09b948527418966728" + } + }, + "description": "Brake lights.", + "type": "branch", + "uuid": "30eabe704102501cb299d03696fad92a" + }, + "DirectionIndicator": { + "children": { + "Left": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "32a092936fb65165ba1dd8dfa38bf77d" + }, + "IsSignaling": { + "datatype": "boolean", + "description": "Indicates if light is signaling or off. True = signaling. False = Off.", + "type": "actuator", + "uuid": "33ac6ec5e4d9550aac6ae0ce97dae259" + } + }, + "description": "Indicator lights.", + "type": "branch", + "uuid": "446dea42b8e95d87b45e5e51c881bf98" + }, + "Right": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "db70c2d885725583a7ed95b215a8ec6c" + }, + "IsSignaling": { + "datatype": "boolean", + "description": "Indicates if light is signaling or off. True = signaling. False = Off.", + "type": "actuator", + "uuid": "9b0a1dab153f5dcda8df2116c3b6d487" + } + }, + "description": "Indicator lights.", + "type": "branch", + "uuid": "9922f6b417e95f1c945ef9f414bcdf78" + } + }, + "description": "Indicator lights.", + "type": "branch", + "uuid": "0566cb97d05c554eb88a07142f2475ac" + }, + "Fog": { + "children": { + "Front": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "f9238f15d2615a22802ce9ec9f1d72e9" + }, + "IsOn": { + "datatype": "boolean", + "description": "Indicates if light is on or off. True = On. False = Off.", + "type": "actuator", + "uuid": "0ec10846d20a5d1b9b8a286303ecb844" + } + }, + "description": "Fog lights.", + "type": "branch", + "uuid": "230cc65abaaf500c9085c29d48107552" + }, + "Rear": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "1d44e594ffa35d73a6f620f479eeef4c" + }, + "IsOn": { + "datatype": "boolean", + "description": "Indicates if light is on or off. True = On. False = Off.", + "type": "actuator", + "uuid": "1fe08a2f687c5c2880adef26cc7de746" + } + }, + "description": "Fog lights.", + "type": "branch", + "uuid": "38359f258135516cb49c0fa1f093d478" + } + }, + "description": "Fog lights.", + "type": "branch", + "uuid": "1e90cf42bb825217b283c7285a606953" + }, + "Hazard": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "25cd3475beb6543a8538974b67544c43" + }, + "IsSignaling": { + "datatype": "boolean", + "description": "Indicates if light is signaling or off. True = signaling. False = Off.", + "type": "actuator", + "uuid": "c53950205aa15dffa304390dcb761cc3" + } + }, + "description": "Hazard lights.", + "type": "branch", + "uuid": "803498c3be6253dfb074c0e0294be758" + }, + "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" + }, + "LicensePlate": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "4de6594de7815cec97e5b851d70e239b" + }, + "IsOn": { + "datatype": "boolean", + "description": "Indicates if light is on or off. True = On. False = Off.", + "type": "actuator", + "uuid": "afeace5d76ed53f989ae4251090ba069" + } + }, + "description": "License plate lights.", + "type": "branch", + "uuid": "7bb12e42a8c45c198f83bf41b19131fa" + }, + "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", + "uuid": "2feb14a3558256339442413783969f4f" + }, + "Parking": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "56761305eae559c7931f6ff5fee0dfa8" + }, + "IsOn": { + "datatype": "boolean", + "description": "Indicates if light is on or off. True = On. False = Off.", + "type": "actuator", + "uuid": "6ba0825427335408ad7d0f148d6250ea" + } + }, + "description": "Parking lights.", + "type": "branch", + "uuid": "dfb819be5cec5be09b9fb743829301c3" + }, + "Running": { + "children": { + "IsDefect": { + "datatype": "boolean", + "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", + "type": "sensor", + "uuid": "7cda127e6d45547681757e789c0b7a87" + }, + "IsOn": { + "datatype": "boolean", + "description": "Indicates if light is on or off. True = On. False = Off.", + "type": "actuator", + "uuid": "1c4e44f1e0275965b466ac674a5b8cac" + } + }, + "description": "Running lights.", + "type": "branch", + "uuid": "38868a9f1bda573595501302c1f0a1db" + } + }, + "description": "Exterior lights.", + "type": "branch", + "uuid": "399d1ec14d6f55bb825e078a801bde55" + }, + "Mirrors": { + "children": { + "DriverSide": { + "children": { + "IsHeatingOn": { + "datatype": "boolean", + "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", + "type": "actuator", + "uuid": "21262ce775a85abe9f6354f9c3ac9988" + }, + "Pan": { + "datatype": "int8", + "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" + }, + "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", + "uuid": "eafa81963c315aa78eda11eec8012d34" + } + }, + "description": "All mirrors.", + "type": "branch", + "uuid": "3c62705bbcf654489c8179b63118829f" + }, + "PassengerSide": { + "children": { + "IsHeatingOn": { + "datatype": "boolean", + "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", + "type": "actuator", + "uuid": "9d64ad38532658298e5f59a2f999ef57" + }, + "Pan": { + "datatype": "int8", + "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" + }, + "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", + "uuid": "0f3734b090065873a7feb40931c72a28" + } + }, + "description": "All mirrors.", + "type": "branch", + "uuid": "8025a1e06e9d5ddb96405cce1f1f38cb" + } + }, + "description": "All mirrors.", + "type": "branch", + "uuid": "a4ea618914885a239ef5fa62c671a800" + }, + "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", + "uuid": "2fe44a1c3bb155aca782b017efeb6175" + }, + "Raindetection": { + "children": { + "Intensity": { + "datatype": "uint8", + "description": "Rain intensity. 0 = Dry, No Rain. 100 = Covered.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "1ee0a2f22e8257d299425a4ff2652555" + } + }, + "description": "Rain sensor signals.", + "type": "branch", + "uuid": "f16759f3dcfb5be4832e962da29ebd6c" + }, + "RearMainSpoilerPosition": { + "datatype": "float", + "description": "Rear spoiler position, 0% = Spoiler fully stowed. 100% = Spoiler fully exposed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "6209a82390585b869cc3d00d069eade2" + }, + "RefuelPosition": { + "allowed": [ + "FRONT_LEFT", + "FRONT_RIGHT", + "MIDDLE_LEFT", + "MIDDLE_RIGHT", + "REAR_LEFT", + "REAR_RIGHT" + ], + "datatype": "string", + "description": "Location of the fuel cap or charge port.", + "type": "attribute", + "uuid": "53ef90a851fa57f0810d50238e852f02" + }, + "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", + "uuid": "43d7844934a45890bf2a287b676a994b" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "e0eabc210f07505fa1b66b67729d681b" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Trunk open or closed. True = Open. False = Closed.", + "type": "actuator", + "uuid": "2047de0896a352fcaf02baa06819a023" + } + }, + "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.", + "type": "branch", + "uuid": "a455aca5bae55c22b7949fd31a765a6c" + }, + "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", + "uuid": "a1065214515c5f7aa86f51eb7bf36664" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "8f9b55b002ed59d3ac2ef0b014abf4aa" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Trunk open or closed. True = Open. False = Closed.", + "type": "actuator", + "uuid": "3d3249e59306594698367b839b12c938" + } + }, + "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.", + "type": "branch", + "uuid": "a6170ff5e4325f38b5d57402e1d95e5a" + } + }, + "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.", + "type": "branch", + "uuid": "a584c6a5aa235cb88ac686f8d72a1dff" + }, + "Windshield": { + "children": { + "Front": { + "children": { + "IsHeatingOn": { + "datatype": "boolean", + "description": "Windshield heater status. False - off, True - on.", + "type": "actuator", + "uuid": "26e6a3b7e9bb58bebba29258faa6e300" + }, + "WasherFluid": { + "children": { + "IsLevelLow": { + "datatype": "boolean", + "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", + "type": "sensor", + "uuid": "8ca54695ad115f9bb6f56d7c450781a7" + }, + "Level": { + "datatype": "uint8", + "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "a36dfb91414f5792bd01d193dceff1f4" + } + }, + "description": "Windshield washer fluid signals", + "type": "branch", + "uuid": "2de24016515353289953de5ea81efd3c" + }, + "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", + "uuid": "7cdd36d1cc8f5f9a9f079f663190b588" + }, + "IsWipersWorn": { + "datatype": "boolean", + "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", + "type": "sensor", + "uuid": "b04ccc7daedb559c9bcdda6b00332be5" + }, + "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", + "uuid": "3ee6552c96e551c5b06b79ad30226767" + }, + "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", + "uuid": "026307b591465a8a99ffc0ebf262b393" + }, + "DriveCurrent": { + "comment": "May be negative in special situations.", + "datatype": "float", + "description": "Actual current used by wiper drive.", + "type": "sensor", + "unit": "A", + "uuid": "251e695821b758e7b7d459d5e2ab6ca4" + }, + "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", + "uuid": "7394c8b8d20d52638881161ec1b41fc0" + }, + "IsBlocked": { + "datatype": "boolean", + "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", + "type": "sensor", + "uuid": "4b526a2c781e56e386c82df226061f9e" + }, + "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" + }, + "IsOverheated": { + "datatype": "boolean", + "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", + "type": "sensor", + "uuid": "e05d376ec2525ba2b61039d55f93760f" + }, + "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" + }, + "IsWiperError": { + "datatype": "boolean", + "description": "Indicates system failure. True if wiping is disabled due to system failure.", + "type": "sensor", + "uuid": "5276055d973f57998e1b8d6e536de735" + }, + "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" + }, + "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", + "uuid": "d15518f5d1bc54a38718f43ef749dd34" + }, + "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", + "uuid": "7a4a3fdd2947596dbada6980c142f090" + } + }, + "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" + }, + "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", + "uuid": "92c879c11bc65e6da30d582a3928caac" + } + }, + "description": "Windshield wiper signals.", + "type": "branch", + "uuid": "2cffeccdc19a587cbe2264f426c6881a" + } + }, + "description": "Windshield signals.", + "type": "branch", + "uuid": "8f0c61e4e4f557d98729210fc3c74f72" + }, + "Rear": { + "children": { + "IsHeatingOn": { + "datatype": "boolean", + "description": "Windshield heater status. False - off, True - on.", + "type": "actuator", + "uuid": "76d811b4c4c356f4898dd6383e28bc6f" + }, + "WasherFluid": { + "children": { + "IsLevelLow": { + "datatype": "boolean", + "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", + "type": "sensor", + "uuid": "8ca0356548ae54e8af3aeace49e5ed71" + }, + "Level": { + "datatype": "uint8", + "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "c167e5b265895c108da1b9582de2dd91" + } + }, + "description": "Windshield washer fluid signals", + "type": "branch", + "uuid": "1ea4ac2370e1567b9b812c1e3020ddfb" + }, + "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", + "uuid": "f18b13b9d96b51c492c031d3d86d22da" + }, + "IsWipersWorn": { + "datatype": "boolean", + "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", + "type": "sensor", + "uuid": "0e8d5f7cb6295b908be3a03e8792cca8" + }, + "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", + "uuid": "8cc0b88ac8b45f5fa30bb7755ce22648" + }, + "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", + "uuid": "eddee2607a135582bbcf3d3afc845892" + }, + "DriveCurrent": { + "comment": "May be negative in special situations.", + "datatype": "float", + "description": "Actual current used by wiper drive.", + "type": "sensor", + "unit": "A", + "uuid": "7a254692329055dfb4089e2dcc1d4ef3" + }, + "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", + "uuid": "371171d971995c999585b028e19be461" + }, + "IsBlocked": { + "datatype": "boolean", + "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", + "type": "sensor", + "uuid": "046e818b4dd9595a8301503e9afe028b" + }, + "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" + }, + "IsOverheated": { + "datatype": "boolean", + "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", + "type": "sensor", + "uuid": "d30bc6f33b995ef491c252980a559ee2" + }, + "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" + }, + "IsWiperError": { + "datatype": "boolean", + "description": "Indicates system failure. True if wiping is disabled due to system failure.", + "type": "sensor", + "uuid": "ac5983deacbe59d7ba1312d44bfd9cd4" + }, + "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" + }, + "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", + "uuid": "f2f47522466d570baa7618fac5b0359c" + }, + "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", + "uuid": "c39bef0760185555904a92a305392080" + } + }, + "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" + }, + "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", + "uuid": "afd6a352230f5eeaa8ac5f1f188bfd33" + } + }, + "description": "Windshield wiper signals.", + "type": "branch", + "uuid": "f56e80a50fd75dbca48581aea4f012b7" + } + }, + "description": "Windshield signals.", + "type": "branch", + "uuid": "095ff58459b854aaa742e56447fe7a93" + } + }, + "description": "Windshield signals.", + "type": "branch", + "uuid": "73efba535dcb5032b9edc43406b050b8" + } + }, + "description": "All body components.", + "type": "branch", + "uuid": "bd2854e6a9165c5698ce8dd9f0438ecc" + }, + "Cabin": { + "children": { + "Convertible": { + "children": { + "Status": { + "allowed": [ + "UNDEFINED", + "CLOSED", + "OPEN", + "CLOSING", + "OPENING", + "STALLED" + ], + "datatype": "string", + "description": "Roof status on convertible vehicles.", + "type": "sensor", + "uuid": "c8812698198a56d7a1adcc8bbe87845f" + } + }, + "description": "Convertible roof.", + "type": "branch", + "uuid": "2aece85d39d6569e93cf842387a645d9" + }, + "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", + "uuid": "62a265895be0566694358eecab381a4c" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "9080712219dc57eaacf85d6630e01ca0" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "da3dccb4ab085fcabca24efd99435d87" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "7ec218dfc5855bfa88af947d7b06b1f4" + }, + "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", + "uuid": "fea7f9577a8456128c548daf3c548ea4" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "7220d013b9205e1b9e7ca6b95cb14058" + }, + "Window": { + "children": { + "IsOpen": { + "datatype": "boolean", + "description": "Is window open or closed?", + "type": "sensor", + "uuid": "ff58aae512475431bec02b5c4a36b6f9" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "83da2e0448465874bf2bff9aeff91793" + }, + "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", + "uuid": "5d3f802110a95653b4518b8f21836113" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "6ab9b77468d45cdfadebe124256aa910" + } + }, + "description": "All doors, including windows and switches.", + "type": "branch", + "uuid": "0fe04659010a505a9816a3a9457b3540" + }, + "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", + "uuid": "74a842786a73553ba3491975c2077ac7" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "48d4388ec67b519ab500ee424ce4b6cb" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "80aca3884840557db10f1314a27a5eeb" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "8f583d09021e51319aa6bdd0e29aefc8" + }, + "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", + "uuid": "c700d6a13a16522ead84b81314fd452b" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "dfe64259f26a54bda64b9aa24362c7eb" + }, + "Window": { + "children": { + "IsOpen": { + "datatype": "boolean", + "description": "Is window open or closed?", + "type": "sensor", + "uuid": "120e3b950fd657fabd90069e6e01f44e" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "ec293d2eb9e052e88d01927c811711ef" + }, + "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", + "uuid": "36efa23a161a5fe1b65e36f5656738fb" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "c588ac43d3945dc0a45994c4d298d9b0" + } + }, + "description": "All doors, including windows and switches.", + "type": "branch", + "uuid": "9ea0425fb2085ded9a393d4e999ae90a" + } + }, + "description": "All doors, including windows and switches.", + "type": "branch", + "uuid": "fd3fcb481cb953dc9a853125c6ca0453" + }, + "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", + "uuid": "707facc3d89052d8ae66675ffd8755a8" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "df98641aae1553a68b741826496d9d42" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "49c55921d1825bc1a82334a40eeb45f9" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "96227261fc205735adb031fb549de6bf" + }, + "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", + "uuid": "81f6196e909d590d858fe4da18c60590" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "9b08a5dc400253b8bf31776582f275fd" + }, + "Window": { + "children": { + "IsOpen": { + "datatype": "boolean", + "description": "Is window open or closed?", + "type": "sensor", + "uuid": "1fa3b2f43118575aa2f136fdd15ff61f" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "8a097ade895c5cd8afe9efeef79532fc" + }, + "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", + "uuid": "4dd1a3858c1b54cc94a8dc4d011ea307" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "bb6ac206a45b507f9f1fe5fdfcf82b31" + } + }, + "description": "All doors, including windows and switches.", + "type": "branch", + "uuid": "996c7ede1ac453ae9aed508c2835ae56" + }, + "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", + "uuid": "082f7e3633ab56d4a48817329cf46ef9" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "32fa3a8c0b2d5451a4a1976438417305" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "84cab77c9c1d59aba1565b3484c5e01f" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "aa5627291c29505b8d2f7d652cc4800d" + }, + "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", + "uuid": "0c33dd31375452d6ad0c531eac1637c6" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "8dc8133322a65057844f9b7eceee6ef9" + }, + "Window": { + "children": { + "IsOpen": { + "datatype": "boolean", + "description": "Is window open or closed?", + "type": "sensor", + "uuid": "13e37e2924115c73a36df78f09fad493" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "e3e3fa03f4e357ae8ac8f43799a99350" + }, + "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", + "uuid": "174b3bc145625a22b23a283c424c28b4" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "b64ba696bf7b5fdc8dba79ae5cb119d1" + } + }, + "description": "All doors, including windows and switches.", + "type": "branch", + "uuid": "16bc38dcd8055f50b54f87478f72f776" + } + }, + "description": "All doors, including windows and switches.", + "type": "branch", + "uuid": "74c8a76ad2545ceba474a85ae84eec8e" + } + }, + "description": "All doors, including windows and switches.", + "type": "branch", + "uuid": "fd7f4d16f8965419a9a69fd66b40c1d7" + }, + "DoorCount": { + "datatype": "uint8", + "default": 4, + "description": "Number of doors in vehicle.", + "type": "attribute", + "uuid": "c293fbef75725c57a9918dd5a34055c4" + }, + "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", + "uuid": "bca9ccd50358584d8d20865694b0d15f" + }, + "HVAC": { + "children": { + "AmbientAirTemperature": { + "datatype": "float", + "description": "Ambient air temperature inside the vehicle.", + "type": "sensor", + "unit": "celsius", + "uuid": "611868a24bc25eb9a837208c235e9491" + }, + "IsAirConditioningActive": { + "datatype": "boolean", + "description": "Is Air conditioning active.", + "type": "actuator", + "uuid": "dc4f79e4211c54a6b4eed0236aae84a6" + }, + "IsFrontDefrosterActive": { + "datatype": "boolean", + "description": "Is front defroster active.", + "type": "actuator", + "uuid": "afa678c87182544bb6ab81fa6a770791" + }, + "IsRearDefrosterActive": { + "datatype": "boolean", + "description": "Is rear defroster active.", + "type": "actuator", + "uuid": "d342a7939f2e5adeaeb5e68e3a314445" + }, + "IsRecirculationActive": { + "datatype": "boolean", + "description": "Is recirculation active.", + "type": "actuator", + "uuid": "7b80c41c63b35c9299a410166cd33c81" + }, + "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", + "uuid": "ee011a09ebc6519183177b05d7302ce8" + }, + "Station": { + "children": { + "Row1": { + "children": { + "Driver": { + "children": { + "AirDistribution": { + "allowed": [ + "UP", + "MIDDLE", + "DOWN" + ], + "datatype": "string", + "description": "Direction of airstream", + "type": "actuator", + "uuid": "8b7412018a6f5c0a8467bdddb53e76f7" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "3db004f9a2ee528099499d660bfa715f" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "type": "actuator", + "unit": "celsius", + "uuid": "1eae45dbda85581ca794b6b4513376cd" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "7480dcf1e7375c7491a4dc083a8a7d15" + }, + "Passenger": { + "children": { + "AirDistribution": { + "allowed": [ + "UP", + "MIDDLE", + "DOWN" + ], + "datatype": "string", + "description": "Direction of airstream", + "type": "actuator", + "uuid": "610facc5829f5d52a40e8b1e9706866c" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "2d00c3cf2f735a37b646d9a51e77ef9e" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "type": "actuator", + "unit": "celsius", + "uuid": "3a7a6b5f8c4756d4bcf540ee41c781e1" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "e536a7f5f6a05ff48f26f96ef5772455" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "80860491fba75babaf3c439d1d471a6d" + }, + "Row2": { + "children": { + "Driver": { + "children": { + "AirDistribution": { + "allowed": [ + "UP", + "MIDDLE", + "DOWN" + ], + "datatype": "string", + "description": "Direction of airstream", + "type": "actuator", + "uuid": "8a021c3941ee5fed99efb5b8c7e6882a" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "873e0193650f5f4a88bdb9777ead4df7" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "type": "actuator", + "unit": "celsius", + "uuid": "50d268809c555b82b275884f8c170825" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "d1dd7712867d51ec847afa67e6dd3c92" + }, + "Passenger": { + "children": { + "AirDistribution": { + "allowed": [ + "UP", + "MIDDLE", + "DOWN" + ], + "datatype": "string", + "description": "Direction of airstream", + "type": "actuator", + "uuid": "06105fb9e69755f38a02132b4b432351" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "a9d1c8e5a9e35e7ca924ec4871364de8" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "type": "actuator", + "unit": "celsius", + "uuid": "a83b6548c3c95d288072caa1a7dc2904" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "ed9c94346bd8511584c4d9a8e2d49ec0" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "d98e8f5f94da5acfbf428c635a8bcc0c" + }, + "Row3": { + "children": { + "Driver": { + "children": { + "AirDistribution": { + "allowed": [ + "UP", + "MIDDLE", + "DOWN" + ], + "datatype": "string", + "description": "Direction of airstream", + "type": "actuator", + "uuid": "ec927fbdee9e51c89ccba5c3752189cb" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "9c111ac7582752228e43bda739c0a26a" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "type": "actuator", + "unit": "celsius", + "uuid": "d16ac539f8035e209831c1f4c7c39c83" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "299b787af2fe56ab9721086824692e10" + }, + "Passenger": { + "children": { + "AirDistribution": { + "allowed": [ + "UP", + "MIDDLE", + "DOWN" + ], + "datatype": "string", + "description": "Direction of airstream", + "type": "actuator", + "uuid": "5cf67ab3c7d1500ab306c397b7dddb12" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "71f5693b021f52ca888335848535db51" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "type": "actuator", + "unit": "celsius", + "uuid": "1499ad96881c551886081c52d404d3e3" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "810eed3a9836574a886923f2ddf67dfd" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "6eb8d63b66c859d5b36ef52d264aed2b" + }, + "Row4": { + "children": { + "Driver": { + "children": { + "AirDistribution": { + "allowed": [ + "UP", + "MIDDLE", + "DOWN" + ], + "datatype": "string", + "description": "Direction of airstream", + "type": "actuator", + "uuid": "984add0704f850f2bb06a748c43211fb" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "fbd6ca78cdc557078f91b3d649866ec2" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "type": "actuator", + "unit": "celsius", + "uuid": "9db31f66a7575255864758d62a4e0185" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "7211e138449252378f1a6ffbece35753" + }, + "Passenger": { + "children": { + "AirDistribution": { + "allowed": [ + "UP", + "MIDDLE", + "DOWN" + ], + "datatype": "string", + "description": "Direction of airstream", + "type": "actuator", + "uuid": "2c829297b81e54cf85a04bde79f31f34" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "580538988d3f513c88612665621bba09" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "type": "actuator", + "unit": "celsius", + "uuid": "06b974ba5325558793b8a7dccb560bde" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "30fac3fdc3785d7fa8eb4298da45e95b" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "ff0c0fa26de7508dbe92a83bc087dff6" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "253e683e6f135b83b6302a30b6c0ec8d" + } + }, + "description": "Climate control", + "type": "branch", + "uuid": "f8ff34337cdf568e91ab406a365c3249" + }, + "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", + "uuid": "44147980dabd56b883ae4d2491383a17" + }, + "CurrentLanguage": { + "datatype": "string", + "description": "ISO 639-1 standard language code for the current HMI", + "type": "sensor", + "uuid": "dc29ee5b7f7154b4ab05a9771fe930b3" + }, + "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", + "uuid": "0f03c3955fe953e9893a1f52e964919e" + }, + "DayNightMode": { + "allowed": [ + "DAY", + "NIGHT" + ], + "datatype": "string", + "description": "Current display theme", + "type": "actuator", + "uuid": "a892039ba136588fa26b2670f839c0cc" + }, + "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", + "uuid": "130114ebf81f59718cf257e198b90e01" + }, + "DistanceUnit": { + "allowed": [ + "MILES", + "KILOMETERS" + ], + "datatype": "string", + "description": "Distance unit used in the current HMI", + "type": "actuator", + "uuid": "4b40e8bdb1a053ee9ee35338d8804e7b" + }, + "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", + "uuid": "914846f6804757ba81ca6bcfac8d2c48" + }, + "FontSize": { + "allowed": [ + "STANDARD", + "LARGE", + "EXTRA_LARGE" + ], + "datatype": "string", + "description": "Font size used in the current HMI", + "type": "actuator", + "uuid": "630bf4a73340503799e8d86889ffd863" + }, + "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", + "uuid": "0e6a43ce1aa45243b753545ffa1f0f8c" + }, + "FuelVolumeUnit": { + "allowed": [ + "LITER", + "GALLON_US", + "GALLON_UK" + ], + "datatype": "string", + "description": "Fuel volume unit used in the current HMI", + "type": "actuator", + "uuid": "aef80d0bd01d593082e41abf072dab9b" + }, + "IsScreenAlwaysOn": { + "datatype": "boolean", + "description": "Used to prevent the screen going black if no action placed.", + "type": "actuator", + "uuid": "f6f2bffbad7e5e9098b351bf99b71624" + }, + "LastActionTime": { + "datatype": "string", + "description": "Time for last hmi action, formatted according to ISO 8601 with UTC time zone.", + "type": "sensor", + "uuid": "19b4f7e950bc526f8c263b4cc5954960" + }, + "TemperatureUnit": { + "allowed": [ + "C", + "F" + ], + "datatype": "string", + "description": "Temperature unit used in the current HMI", + "type": "actuator", + "uuid": "a7d1533490bb52b6b4f650280e72543d" + }, + "TimeFormat": { + "allowed": [ + "HR_12", + "HR_24" + ], + "datatype": "string", + "description": "Time format used in the current HMI", + "type": "actuator", + "uuid": "73083b87a4e25c02aee672ea32e40005" + }, + "TirePressureUnit": { + "allowed": [ + "PSI", + "KPA", + "BAR" + ], + "datatype": "string", + "description": "Tire pressure unit used in the current HMI", + "type": "actuator", + "uuid": "e5ffaf58cc10523fa0858deafb61a8ce" + } + }, + "description": "HMI related signals", + "type": "branch", + "uuid": "271e3d9202825f37bd054820e5ea8141" + }, + "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", + "uuid": "0357aea525bf505981a14e4fc720094e" + }, + "DeclinedURI": { + "datatype": "string", + "description": "URI of suggested media that was declined", + "type": "sensor", + "uuid": "51b0d6227db55b92bc35eedd8277f4c4" + }, + "Played": { + "children": { + "Album": { + "datatype": "string", + "description": "Name of album being played", + "type": "sensor", + "uuid": "1d80b1e2c1085def92b3548b5db2786e" + }, + "Artist": { + "datatype": "string", + "description": "Name of artist being played", + "type": "sensor", + "uuid": "076af7ad8aff5110ab5a64d1f58ccdcb" + }, + "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" + }, + "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", + "uuid": "54fb88a7d7cf5e3aab63e8f52415c187" + }, + "Track": { + "datatype": "string", + "description": "Name of track being played", + "type": "sensor", + "uuid": "ee800d62a40351e6934649ca75927d69" + }, + "URI": { + "datatype": "string", + "description": "User Resource associated with the media", + "type": "sensor", + "uuid": "1ed22b9925c3502d8d1389c8e02d0f07" + } + }, + "description": "Collection of signals updated in concert when a new media is played", + "type": "branch", + "uuid": "6585e9d3b6ff596da72a5f8c98d2d47a" + }, + "SelectedURI": { + "datatype": "string", + "description": "URI of suggested media that was selected", + "type": "actuator", + "uuid": "4820f7a961c25e91af12d3417a145d32" + }, + "Volume": { + "datatype": "uint8", + "description": "Current Media Volume", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "8b344688816f5844ae5812bb136c8006" + } + }, + "description": "All Media actions", + "type": "branch", + "uuid": "3f324d13873e501a84daf2cfade24d0f" + }, + "Navigation": { + "children": { + "DestinationSet": { + "children": { + "Latitude": { + "datatype": "double", + "description": "Latitude of destination in WGS 84 geodetic coordinates.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "3e33f3252934565d86de5409c761262b" + }, + "Longitude": { + "datatype": "double", + "description": "Longitude of destination in WGS 84 geodetic coordinates.", + "max": 180, + "min": -180, + "type": "actuator", + "unit": "degrees", + "uuid": "e9bd511146ca51639c8d42c0702e22ee" + } + }, + "description": "A navigation has been selected.", + "type": "branch", + "uuid": "f51ce253dc5b58168ecca99297139455" + }, + "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", + "uuid": "f5404f515db05e518d7b74460cf83eee" + }, + "Mute": { + "allowed": [ + "MUTED", + "ALERT_ONLY", + "UNMUTED" + ], + "datatype": "string", + "description": "Navigation mute state that was selected.", + "type": "actuator", + "uuid": "d7ab68ec65aa5bafa95f042a60c91639" + }, + "Volume": { + "datatype": "uint8", + "description": "Current navigation volume", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "3609ff09d29d54d596068f978cbc0777" + } + }, + "description": "All navigation actions", + "type": "branch", + "uuid": "79bb0cc4acae5d1eb34fb214352d7863" + }, + "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", + "uuid": "7be907e3d9fd5c46a516f7cd07f050a3" + }, + "SmartphoneProjection": { + "children": { + "Active": { + "allowed": [ + "NONE", + "ACTIVE", + "INACTIVE" + ], + "comment": "NONE indicates that projection is not supported.", + "datatype": "string", + "description": "Projection activation info.", + "type": "actuator", + "uuid": "7156b00b47a8513c8e86f50f7d152614" + }, + "Source": { + "allowed": [ + "USB", + "BLUETOOTH", + "WIFI" + ], + "datatype": "string", + "description": "Connectivity source selected for projection.", + "type": "actuator", + "uuid": "1c2d1f379f5752ac802456a992b88156" + }, + "SupportedMode": { + "allowed": [ + "ANDROID_AUTO", + "APPLE_CARPLAY", + "MIRROR_LINK", + "OTHER" + ], + "datatype": "string[]", + "description": "Supportable list for projection.", + "type": "attribute", + "uuid": "80fa132703655d989386bc6711afed49" + } + }, + "description": "All smartphone projection actions.", + "type": "branch", + "uuid": "fd47f73b4d6b51679f4bed75f6d63518" + } + }, + "description": "Infotainment system.", + "type": "branch", + "uuid": "d88f92fbdda35012a2443b5e130d5eff" + }, + "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" + }, + "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", + "uuid": "c5717a5df33359959d1df3ae75dd687e" + }, + "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", + "uuid": "a9ddbecc501e5ad4b95b7197cd4d6edf" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "3b6d9d8d6acb55bc81022522cf2499a3" + } + }, + "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", + "type": "branch", + "uuid": "e42bfc0abac857f0a40f579cc0ced424" + }, + "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", + "uuid": "a58681f838a75596b6b64623803479cc" + }, + "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", + "uuid": "9d9096fdd737597b8423214633a97063" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "a52466424a9550868a5f6a1aa83f3dce" + } + }, + "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", + "type": "branch", + "uuid": "05a04fb5fb025049b9e9fbb109fef22a" + } + }, + "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", + "type": "branch", + "uuid": "b3447dca710f51e39ed1af3d240f8851" + }, + "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", + "uuid": "8eb7ad17cb3f546c96fb8f76a7ac09f6" + }, + "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", + "uuid": "93c3bf189e045a52b2134aa20cfcf2b2" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "c95376e9f63f5ae996907ab83fa40a0b" + } + }, + "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", + "type": "branch", + "uuid": "ddf477f1910e595f8c8055508cbdd808" + }, + "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", + "uuid": "6ed1d61f74155275bde970d8233f0f51" + }, + "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", + "uuid": "1e9bcef987795ad3a38bc76de810df19" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "e61968ff0fb15adf891efadc9181f78c" + } + }, + "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", + "type": "branch", + "uuid": "b9a621db27d75d56b377890d98222d53" + } + }, + "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", + "type": "branch", + "uuid": "f4462f76907e529fbcc7cc6761ca5cbe" + } + }, + "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", + "type": "branch", + "uuid": "c3983df208565cb78c8af970a57351fd" + }, + "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", + "uuid": "099955ec87a0528ba1a89cc3e439c806" + }, + "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" + }, + "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", + "uuid": "9c73159ff0db5341af2bd3aaffc183c5" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "7c858ba899585fd6bb65a981db056fd7" + } + }, + "description": "Decorative coloured light bar that supports effects, usually mounted on the dashboard (e.g. BMW i7 Interactive bar).", + "type": "branch", + "uuid": "de6062a1a9c05ff687128f748307e331" + }, + "IsDomeOn": { + "datatype": "boolean", + "description": "Is central dome light on", + "type": "actuator", + "uuid": "0dcbdddcc3bb59d292bd7a0cf3747c83" + }, + "IsGloveBoxOn": { + "datatype": "boolean", + "description": "Is glove box light on", + "type": "actuator", + "uuid": "9b4db6bf8cc95c7a855442b95e1e0e18" + }, + "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", + "uuid": "4d605e0e591a510d9613bdb412175729" + }, + "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", + "uuid": "838b3bc619d153d993ddfad96918ad7e" + }, + "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", + "uuid": "497ba6de557452829f1c3bbcad2c1386" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "dff99845cbdf54239f1cc36834434a91" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "39ac4414f40754e2ab28a6bb10b397bb" + }, + "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", + "uuid": "7643021f0af15edeba9e35f7e87a7bd5" + }, + "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", + "uuid": "a2d72853978f54379cd66a2c82cd63fa" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "834df09382ee509b898b2ff2652a3ea2" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "669fe375bd1151b497eab93492e41597" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "35f4c5574dbb5c5bafe82107b55377ec" + }, + "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", + "uuid": "fddcfd397c63530b8b7e6f3c5fd98b20" + }, + "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", + "uuid": "054dfd5255675357b090663df26c6370" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "d7cdb8c7fe305b99a482ac7f8025519b" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "92fe0ca17e39548d8681a0fdd4f2a035" + }, + "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", + "uuid": "bdc48b556b565f0e9fd4e68b814ee934" + }, + "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", + "uuid": "b5e5c87ee11c5f84a7d92dc7871f3241" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "ded8281b9520524ead6bc1a5c3cccd5d" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "1e9617c06a0b53eca745dcf96f8d5d70" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "259f6228620a532abbac5548c72b3c35" + }, + "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", + "uuid": "5394e601144f5d75ae66a1566d182c68" + }, + "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", + "uuid": "50376cb5f02750d599f3ae5932520952" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "fa58686f4c925907a17f40aded066a01" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "36bd0e114ba652b0919db771e3a0d946" + }, + "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", + "uuid": "b50787e8b3bf56ebb3e007ee21aa1f30" + }, + "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", + "uuid": "b8e1a7326abe538199f595555c4c0ca0" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "68eacf65617c56489f0c1f475576eaaa" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "69b6df651e9b5154b46c5709ce167fb6" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "7b6666a198e8514582f8c85525dccceb" + }, + "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", + "uuid": "6cc3fc21887c593a90d799209dcc40c0" + }, + "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", + "uuid": "5459910482cb507db1583252b26e62c7" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "ca9e9652c52757ce98744209c0d2344f" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "661dcc2f512159329fc272128a054b0b" + }, + "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", + "uuid": "fde4be32cd6f5fcf8997b01564eaadaf" + }, + "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", + "uuid": "8be53f681198503bb8f93d331e2315cd" + }, + "IsLightOn": { + "datatype": "boolean", + "description": "Indicates whether the light is turned on. True = On, False = Off.", + "type": "actuator", + "uuid": "c35925e7af4d5a929b153cb7f587ca5b" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "fbffb10dc86a523bb40f624c1ad385e7" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "41b0adb2cba85665824d3ad497b593a8" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "a03cd35849a05136ac8e16f4e96d866b" + } + }, + "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" + }, + "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", + "uuid": "728b62b170055bd8b1530ec423dd5a9a" + }, + "RearShade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "9e16fc53f2ec575dbf66c79f969949a9" + }, + "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", + "uuid": "da9f01e9baf35544842f1a7674c5172a" + } + }, + "description": "Rear window shade.", + "type": "branch", + "uuid": "8a0c86f4fc6f5ea8ac8cf8f327969dcc" + }, + "RearviewMirror": { + "children": { + "DimmingLevel": { + "datatype": "uint8", + "description": "Dimming level of rear-view mirror. 0 = Undimmed. 100 = Fully dimmed.", + "max": 100, + "type": "actuator", + "unit": "percent", + "uuid": "4e2bcbaa6dc1586d8282324b475e5dee" + } + }, + "description": "Rear-view mirror.", + "type": "branch", + "uuid": "e655b654ab9f55bbb04952a99755efae" + }, + "Seat": { + "children": { + "Row1": { + "children": { + "DriverSide": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "7308c4cd91025db3aad6dee3e4f9d2a1" + } + }, + "description": "Airbag signals.", + "type": "branch", + "uuid": "cf3eca19b11e5e3ea66a078bed805968" + }, + "Backrest": { + "children": { + "Lumbar": { + "children": { + "Height": { + "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": "637adce522d45075a064f3f94dc568ce" + }, + "Support": { + "datatype": "float", + "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "dc2da05595a151ada19e6d86037abaf0" + } + }, + "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", + "type": "branch", + "uuid": "2112602ef7ab5470b3e57b85d6ff903f" + }, + "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", + "uuid": "c58f21ae6ce150bc8f0b2cdd4698f958" + }, + "SideBolster": { + "children": { + "Support": { + "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": "c3bcf9587aac58af827a41364bc91b55" + } + }, + "description": "Backrest side bolster (lumbar side support) settings.", + "type": "branch", + "uuid": "bd36af767f2e582bae11c7a62b635789" + } + }, + "description": "Describes signals related to the backrest of the seat.", + "type": "branch", + "uuid": "876fb7f9209155749108c95bb268836b" + }, + "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", + "uuid": "55cf95c00d2056be859d330d0060a363" + }, + "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": "51de4b90534a5f089a9d81d53a663704" + } + }, + "description": "Headrest settings.", + "type": "branch", + "uuid": "4b193a02bffe52819b69d422d5e50042" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "efeb2be118bb5f5eb796a81d298ab560" + }, + "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", + "uuid": "f44c52884b5c58e4ae462656832c888b" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "db477d45def05e11a90689c9e655cad9" + }, + "IsOccupied": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "e8b805d0bd3e56be9258685f390a7a9c" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "6d333404bc155fd2afa57a6380ecfd5c" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", + "type": "sensor", + "uuid": "a48e731c91b55a2c9022b21774923b73" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", + "type": "sensor", + "uuid": "c4bb8a01fe8a5335b1c7c9288b9863c9" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "972f188af9425bc186a075224bbc3630" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "936f0c2fad4855d382e92393ec6223d7" + }, + "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", + "uuid": "b9587caa89dd50d2af7167c99c13bc85" + }, + "Seating": { + "children": { + "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": "b030abb632dc503aa313ba5c75ba36f1" + } + }, + "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": "1e49fb9d59d85494b290e53b7753dd72" + }, + "Switch": { + "children": { + "Backrest": { + "children": { + "IsReclineBackwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "7cc9aaaa51085baaa45be2ee7c7330bf" + }, + "IsReclineForwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "794645c172745cb0ba6b081d9903be78" + }, + "Lumbar": { + "children": { + "IsDownEngaged": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "e34e3c3330ac503a962eb076c7a05209" + }, + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "30ac7b216df9562abc6b7a2c6e0f665c" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "9645281792d65ada94160182c5ef2722" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "07e098c9c24c5500ac7054a75529187d" + } + }, + "description": "Switches for SingleSeat.Backrest.Lumbar.", + "type": "branch", + "uuid": "e69977f72c375925ac2817d8313a78e6" + }, + "SideBolster": { + "children": { + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "381639fd2a2751a9bb1429be5e0d5a99" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "056e7fa78a095b3e8c4e025ac7f69893" + } + }, + "description": "Switches for SingleSeat.Backrest.SideBolster.", + "type": "branch", + "uuid": "2702b44037a05092987a5da7a1b4e582" + } + }, + "description": "Describes switches related to the backrest of the seat.", + "type": "branch", + "uuid": "27ef6aedeefb5b288d191ca8e5306f55" + }, + "Headrest": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "5d2d997eaadc510fa7a0ff4f0422aa7e" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "14783a76b08953bca5d24ebc8d59b824" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "fe246f08a3ba5fe89703bf807c479528" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "31d5f0a7c65f51c4b7e67d1c8b45b9b8" + } + }, + "description": "Switches for SingleSeat.Headrest.", + "type": "branch", + "uuid": "2839bf77f2e95c17afd1a63e2d85249c" + }, + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "242ef7b872b25d9b94db1553e7f0cb0e" + }, + "IsCoolerEngaged": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "5e450517dd065464ac9a4927abc936a7" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "d982ff943e5e5e06a7984a2e7bfe2f45" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "3414b4d1e0ea5887b900171cb52e13b5" + }, + "IsTiltBackwardEngaged": { + "datatype": "boolean", + "description": "Tilt backward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "b3862480ad00587598d3f3f7c3468443" + }, + "IsTiltForwardEngaged": { + "datatype": "boolean", + "description": "Tilt forward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "abef0f196c08580f8b5e610071167e41" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "baef531919455c159b068c8ac8e2bca2" + }, + "IsWarmerEngaged": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "c7bd527be0fc59208eae631000d0ecf8" + }, + "Massage": { + "children": { + "IsDecreaseEngaged": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "dfcf5fbc84955377b1024600afdb6128" + }, + "IsIncreaseEngaged": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "f321c48d000a5cf88d144e6c8aaebf64" + } + }, + "description": "Switches for SingleSeat.Massage.", + "type": "branch", + "uuid": "6d9d54a7a13e57769cf6ec91e63b4190" + }, + "Seating": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "7f35a13f8af55631bc280df0fedf00be" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "ea6bcaed18645c6fa9110c68b0dcc8b1" + } + }, + "description": "Describes switches related to the seating of the seat.", + "type": "branch", + "uuid": "d71f5acd57365612bf06f4c372bcbc13" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "3eb5fc8b515e5a90baaeb10bed7d68ca" + }, + "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", + "uuid": "c4d3fb129999531a9b59ecff95cfc1c2" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "a8dd9e808a765a04874c2853c7926ed4" + }, + "Middle": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "41909de6e59a56f8b4d3d3a4296c4cb5" + } + }, + "description": "Airbag signals.", + "type": "branch", + "uuid": "278a7e2126435a46a04dec92fd50ff8a" + }, + "Backrest": { + "children": { + "Lumbar": { + "children": { + "Height": { + "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" + }, + "Support": { + "datatype": "float", + "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "22125fcec8aa5bc99fca8b86edbed2f0" + } + }, + "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", + "type": "branch", + "uuid": "03d5b5e01dcb54e5a3f3ce890cd27cee" + }, + "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", + "uuid": "f16a244ea7e2560db3991cb581149683" + }, + "SideBolster": { + "children": { + "Support": { + "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" + } + }, + "description": "Backrest side bolster (lumbar side support) settings.", + "type": "branch", + "uuid": "0c0b84957f8158d98f5a8c6d4f3265e5" + } + }, + "description": "Describes signals related to the backrest of the seat.", + "type": "branch", + "uuid": "5bef9412aeaf582284dc8f9cca5a5129" + }, + "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", + "uuid": "d5cc4a79f94f515aa8f5fa59184a5c35" + }, + "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": "520ec12b50515918a664ae6f2ac6b702" + } + }, + "description": "Headrest settings.", + "type": "branch", + "uuid": "a183fc37f47d55de8c5d2f2f27c779e0" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "85e4a1400e1455149687f608cd4a4d08" + }, + "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", + "uuid": "e9ada64ce4b454928de166adaa4344da" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "42a9c6f57d75550180138950e91e096e" + }, + "IsOccupied": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "decf460a32ce5f1a9f2d4b68329707eb" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "17936943738e57888f4c11a38570f25c" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", + "type": "sensor", + "uuid": "a22655ee843f5faf8c86daf55abad5f4" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", + "type": "sensor", + "uuid": "d3fda2f366ea5b60a284b945c21aeb17" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "acfb210c54605ebeb1d231aa09d98575" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "cd842b8d4e7359d3ac47e8b39ab25ea9" + }, + "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", + "uuid": "a9c61deb42ac5bb1b2c92fb5ee222db9" + }, + "Seating": { + "children": { + "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": "6fcbf711e9c852ba91f7d846f6066978" + } + }, + "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" + }, + "Switch": { + "children": { + "Backrest": { + "children": { + "IsReclineBackwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "a1b764756af559c0b850ee370d859c86" + }, + "IsReclineForwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "8bd7805b426b5e439abd732e9b503bb3" + }, + "Lumbar": { + "children": { + "IsDownEngaged": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "7f7face91df2506f9351f8c27915bc18" + }, + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "0f54dcace731576785322d02b68d2068" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "44923c7fe53c5fa39b632f999a6a951e" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "a947a1e52c3850e8ae81e12ef503c472" + } + }, + "description": "Switches for SingleSeat.Backrest.Lumbar.", + "type": "branch", + "uuid": "acb8e84f703d518dbf6c9c8b899766b0" + }, + "SideBolster": { + "children": { + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "a7d928b58dc152408e38fc7b6fdf6851" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "34016708d65655708157e432fad53f1f" + } + }, + "description": "Switches for SingleSeat.Backrest.SideBolster.", + "type": "branch", + "uuid": "b2617422a80e5d409d5e327bec8a5895" + } + }, + "description": "Describes switches related to the backrest of the seat.", + "type": "branch", + "uuid": "d386d2b7ca955caf8a4d2467d4c7603e" + }, + "Headrest": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "a7eee2a690c75ab7b7143d95b89d0678" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "90d5bb0917875c009a7ee80b61a00e24" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "cbecebd77ff953c5830fbab699a3e0b8" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "4abfea463f0359fcb387aa1538f12d52" + } + }, + "description": "Switches for SingleSeat.Headrest.", + "type": "branch", + "uuid": "ec7f8f340e005006bc966a96829f886d" + }, + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "3fdbbe5de45356d383be845b5deeceb8" + }, + "IsCoolerEngaged": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "4ad9208a44b555d5a80b819aaf97b2c8" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "f108af06fb3954d5a87fb97cfadba808" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "6ebb2556d17959ec9bfc1d796e1f34c6" + }, + "IsTiltBackwardEngaged": { + "datatype": "boolean", + "description": "Tilt backward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "c7ece3b4d7435fed910b23f7ea5360d1" + }, + "IsTiltForwardEngaged": { + "datatype": "boolean", + "description": "Tilt forward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "77dca23345a358fa99636c734b4de8ac" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "a5628090d3465668adb6f1bc32bd2329" + }, + "IsWarmerEngaged": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "874c7f1345975e67b6a691d541cf46f1" + }, + "Massage": { + "children": { + "IsDecreaseEngaged": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "cd3226582b7a5f6590d983a6ed661a7b" + }, + "IsIncreaseEngaged": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "932e55cb1ea154a0ac35170f8c63cf01" + } + }, + "description": "Switches for SingleSeat.Massage.", + "type": "branch", + "uuid": "d51481c8a5e05a1ca9481cd8fbaa6844" + }, + "Seating": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "c47a888b0ff85426a98fdcc6763abe10" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "e262f30a38285d7da365a42960f440e2" + } + }, + "description": "Describes switches related to the seating of the seat.", + "type": "branch", + "uuid": "965137f2801f50e292cfc673a3e145ed" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "85bc5781995852329c3f56ab07a00a39" + }, + "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", + "uuid": "a9931f9f76cd5c9aa7cac23c43d09e38" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "bb6213be75be5b33adf6ad5957bb64e9" + }, + "PassengerSide": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "31e4cea8ba6a5254bf1d1471402d0700" + } + }, + "description": "Airbag signals.", + "type": "branch", + "uuid": "c931d21b21005b5c9f0eb9a732f9b2ef" + }, + "Backrest": { + "children": { + "Lumbar": { + "children": { + "Height": { + "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": "0df596249cce5c77955e6938c0c9bea6" + }, + "Support": { + "datatype": "float", + "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "e8b52c64f1e957cbbbaf63b03c3dd9ef" + } + }, + "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", + "type": "branch", + "uuid": "c2fbe0340f245b4ab3b1269de65b4c2d" + }, + "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", + "uuid": "089f2ca3258e5f94871953539fe5acbc" + }, + "SideBolster": { + "children": { + "Support": { + "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": "bd9dfba052ab5b24aa0eaa35fa47914f" + } + }, + "description": "Backrest side bolster (lumbar side support) settings.", + "type": "branch", + "uuid": "4c48af687fd15c7785b9c4c075dc457c" + } + }, + "description": "Describes signals related to the backrest of the seat.", + "type": "branch", + "uuid": "999c7466ce1f5354b4695626f3a2e935" + }, + "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", + "uuid": "5456d8e86ecb5cdf91b2bc08fe696d19" + }, + "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": "2701bc81fcc059b2b4ddc938407a503a" + } + }, + "description": "Headrest settings.", + "type": "branch", + "uuid": "f13eb4ad4b7a51bbad88db50dae636d3" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "f62e56245db158508c9535a07474eed7" + }, + "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", + "uuid": "ae6a103cb748510e9383e2b72d6f2a00" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "ed71588a6ea1511cbd4578967a94f963" + }, + "IsOccupied": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "05a31ee58c97506485a19a2e0c213244" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "89f7a63fc4f65f05b7df4b74b232cc9f" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", + "type": "sensor", + "uuid": "bab527a608bd55d4b8a9d4b7d46c7037" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", + "type": "sensor", + "uuid": "121cb6ae3f4451df848f7809b313c392" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "c7156b61e1b45698ae98b5d30c31ade3" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "fd753377a2335b9fbda2cc2d29f826a6" + }, + "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", + "uuid": "3d09265704af56d59e5d80f92be3d66f" + }, + "Seating": { + "children": { + "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": "c4dfd494ffc95c4abdc49716a3b73c53" + } + }, + "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" + }, + "Switch": { + "children": { + "Backrest": { + "children": { + "IsReclineBackwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "8e0c8a7fbb8a5cee933b3b1b50d4cbf1" + }, + "IsReclineForwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "2a19419f5c355aff9a41ee8c8ec434a0" + }, + "Lumbar": { + "children": { + "IsDownEngaged": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "5e8dd9ae1001569388bb4da677bdb377" + }, + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "cb08d335fa245f34b616f9c56fc529e0" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "c688f60d0f0650868ac32cba3d0c526e" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "10c691cb05f0581b8a6c4e764d81404d" + } + }, + "description": "Switches for SingleSeat.Backrest.Lumbar.", + "type": "branch", + "uuid": "73c59cba46725637bfa725a042713d0b" + }, + "SideBolster": { + "children": { + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "0ef641f1e4e75200879330a5de3d3315" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "811d841212295f92a7d070dac262ef84" + } + }, + "description": "Switches for SingleSeat.Backrest.SideBolster.", + "type": "branch", + "uuid": "8dfa254cccc059e881af97bce032cea9" + } + }, + "description": "Describes switches related to the backrest of the seat.", + "type": "branch", + "uuid": "d035fd8a2e855edfb90e7955b3bd8065" + }, + "Headrest": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "e5b1e2a73c1d530298be5aa2b92ceb6a" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "2bd34fa3b02d54b0822890750a57eaae" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "5486d882309558cd95a5d0742d9eea2a" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "90a53f3c0a585c7cb5b1565092e62539" + } + }, + "description": "Switches for SingleSeat.Headrest.", + "type": "branch", + "uuid": "3d328ade9dbf52e1bf8002caed74253f" + }, + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "d1a57d3e62725e51871433889877eb3e" + }, + "IsCoolerEngaged": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "5861078e66285792a4c5caa3158c3b93" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "ec27034136cd5e728c88c7ac0b87cf04" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "012004eeaa2250758c2fea329aec9dc2" + }, + "IsTiltBackwardEngaged": { + "datatype": "boolean", + "description": "Tilt backward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "a49e3b4e3047525ab1034e04896f7a73" + }, + "IsTiltForwardEngaged": { + "datatype": "boolean", + "description": "Tilt forward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "1abb80c7ce615f73a2e0fb6583b09431" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "d4d0df3f6b5b51039847f748282d77ab" + }, + "IsWarmerEngaged": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "597dd13468fd5b57858c6bbbc911392e" + }, + "Massage": { + "children": { + "IsDecreaseEngaged": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "8044c9338f5e5df1a036c91cc4d91423" + }, + "IsIncreaseEngaged": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "1d7d951e97b45aa5824f4e959c68737b" + } + }, + "description": "Switches for SingleSeat.Massage.", + "type": "branch", + "uuid": "3739036112535b9cbdad726a5f6e17a4" + }, + "Seating": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "87edf3b9896659f6a87d05531c260a36" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "aaf6db1585b15365be9ac729c11688e3" + } + }, + "description": "Describes switches related to the seating of the seat.", + "type": "branch", + "uuid": "12458c0216335477882e669e98330a1a" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "d7c6f91f09425d619cb93542ea55bed4" + }, + "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", + "uuid": "086f231720875bb5b4d5e2b8ed0092df" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "c9eef94c5e075ce088020f8a568c0183" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "7a420ddeac6f538eb3939bb4a242d136" + }, + "Row2": { + "children": { + "DriverSide": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "1ec1956a54ae5107a802b9ec2b215b41" + } + }, + "description": "Airbag signals.", + "type": "branch", + "uuid": "215134942dea5de0bf542dc6b1f7aeb3" + }, + "Backrest": { + "children": { + "Lumbar": { + "children": { + "Height": { + "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": "eb67d32eadf15c0085f6314546e86e20" + }, + "Support": { + "datatype": "float", + "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "c8fec973719351b3b17f3824653d685a" + } + }, + "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", + "type": "branch", + "uuid": "5eb73ac74d6a56ba9155cf16e145b9b4" + }, + "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", + "uuid": "65cf20c7effb5d159fd1099869cd0ebe" + }, + "SideBolster": { + "children": { + "Support": { + "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": "04cc8929b0f0509495b512a77b48afef" + } + }, + "description": "Backrest side bolster (lumbar side support) settings.", + "type": "branch", + "uuid": "2e06cc24d15651a1a1616fc77a5ba23b" + } + }, + "description": "Describes signals related to the backrest of the seat.", + "type": "branch", + "uuid": "1b7a7b3e344d50cca118327668f35be5" + }, + "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", + "uuid": "b7ee83ec92ac5595b56557cecbce7fd2" + }, + "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": "916740f753715f3ea6c55b5284613f8e" + } + }, + "description": "Headrest settings.", + "type": "branch", + "uuid": "67f772d705af5fac95ec768cf2bfe557" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "7ae50ab2fea25798adc27814579bd33b" + }, + "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", + "uuid": "2bd4b50c13d7541db0a86a945c728849" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "ec3dc746a34752a1b55ac428579c3dfc" + }, + "IsOccupied": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "3752de2ef1d85781a6e0a20a6812b9fc" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "d7428179c70d576fb626a9a4bae4299e" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", + "type": "sensor", + "uuid": "a6b6158bc96c5ac98ad206193ff8b358" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", + "type": "sensor", + "uuid": "dfc0fb66d7c058b7925970667b284bea" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "a12121bc096c5224a14c2d8ab10ae88b" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "e4a46503b2945ab18ac1ad96f0517151" + }, + "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", + "uuid": "71b34d4141225b77bc232bd3a2efa86f" + }, + "Seating": { + "children": { + "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": "4a5bd16967c65dd88eacf3e4ef8c071f" + } + }, + "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" + }, + "Switch": { + "children": { + "Backrest": { + "children": { + "IsReclineBackwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "d45a563848b15928885bc7abb88a2d29" + }, + "IsReclineForwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "838457df1a415fd1a9575eda730a3fa0" + }, + "Lumbar": { + "children": { + "IsDownEngaged": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "802ef996df3850c299f5c88dff83ab13" + }, + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "9c6786e620f151a3a5eeb4b54395d2d8" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "eeaa79b8443c59c28ba4eed3d2cc1aa1" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "ebf3534d31615c55803dc8b48d92ca6f" + } + }, + "description": "Switches for SingleSeat.Backrest.Lumbar.", + "type": "branch", + "uuid": "7789f295ccf75ab2aa899d2b095bafd4" + }, + "SideBolster": { + "children": { + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "ed76c57d2d0c5a1d851a708fbc750a29" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "a5bcb578170d5442aad65c116302557c" + } + }, + "description": "Switches for SingleSeat.Backrest.SideBolster.", + "type": "branch", + "uuid": "a5e3d845386b51c7bd2b054b81025112" + } + }, + "description": "Describes switches related to the backrest of the seat.", + "type": "branch", + "uuid": "55b0756c450a5df2b1a4b0e54b27804b" + }, + "Headrest": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "c2654d9579905679b73ab44b6028b664" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "10092cdf11165ffdb1e5b616fa5f841a" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "aa341f93f6095298ba328a8f164452cd" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "bf7acae10ed55aa49a9579f7dd028a8d" + } + }, + "description": "Switches for SingleSeat.Headrest.", + "type": "branch", + "uuid": "bb516988089154dfaff8b5b376778d76" + }, + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "a313045c29195b9ab11141155dd7ce17" + }, + "IsCoolerEngaged": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "05e311e0669d5c128757475c8a83dc51" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "192b6f898aa35459baa670b58c59c48f" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "95928045f69d5bfe9ef1c3eb2afec32a" + }, + "IsTiltBackwardEngaged": { + "datatype": "boolean", + "description": "Tilt backward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "d4f3974ffcd75ba3a5f040f9e823fffe" + }, + "IsTiltForwardEngaged": { + "datatype": "boolean", + "description": "Tilt forward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "aa71ac6246895ec1b6c74fd76ceecdda" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "c2915c2c175c5a3a862b99d9d2a9cc9a" + }, + "IsWarmerEngaged": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "65c26ab3824b5208bb21d7b8e2dd0124" + }, + "Massage": { + "children": { + "IsDecreaseEngaged": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "854f8899693756e8840ee04c856dd12b" + }, + "IsIncreaseEngaged": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "a10a2542fdc85bd59286d62f5af32210" + } + }, + "description": "Switches for SingleSeat.Massage.", + "type": "branch", + "uuid": "e40ca46bfdeb5a82965c1d6b0fc06890" + }, + "Seating": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "5d6d6db128965724a9e6f236d9532377" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "9ec6de29b168513f823be11c8f348e8c" + } + }, + "description": "Describes switches related to the seating of the seat.", + "type": "branch", + "uuid": "f28ce1da77645fcd83aa72171ea172e8" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "7a5a1ffb9ab65c6a9ee4cb581077f015" + }, + "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", + "uuid": "68275a8560a95481a54b590ce458d0e9" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "a3956dd19f73577a9e118e5ee6f5a180" + }, + "Middle": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "cc06da5cab1e5b2e91d180c93c9e8eab" + } + }, + "description": "Airbag signals.", + "type": "branch", + "uuid": "aa6d77c09158565787a2e418a1c9ea98" + }, + "Backrest": { + "children": { + "Lumbar": { + "children": { + "Height": { + "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": "1a20e907d2515d669c8207a464685be8" + }, + "Support": { + "datatype": "float", + "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "c281162d58ed50ccbd90fa58a1478047" + } + }, + "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", + "type": "branch", + "uuid": "f675492be60e5a1f9e4ed760a2ee4c33" + }, + "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", + "uuid": "d24b223dcbb0534389c6c506126497e7" + }, + "SideBolster": { + "children": { + "Support": { + "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": "b391d00bfb8f5e699fa2332cb5991cdb" + } + }, + "description": "Backrest side bolster (lumbar side support) settings.", + "type": "branch", + "uuid": "10538af050535035a3a20e6f702ce99f" + } + }, + "description": "Describes signals related to the backrest of the seat.", + "type": "branch", + "uuid": "4f54b32f4c85549b88acbe7cd19dcb20" + }, + "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", + "uuid": "41f7b225f1485deaba50f489d58656da" + }, + "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": "987682ae6e7a539897bab4d96458fe15" + } + }, + "description": "Headrest settings.", + "type": "branch", + "uuid": "eb9a3ea623445fbab28e98ace9716f48" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "3b6a82f5f68f56bba88b7c5349e1a45d" + }, + "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", + "uuid": "5e2a819627075c7ea1a6fb2c6b7e550d" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "a4c37cf044a25eb9925b2278786b6cba" + }, + "IsOccupied": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "50e0eeee98e95db58b87aa11a9285492" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "d5c053d69d3457ecb3b87be15ccbfe1c" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", + "type": "sensor", + "uuid": "299d9f7fadef59859076cc783c2c6044" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", + "type": "sensor", + "uuid": "2b257368bdb556d087e8f13806003ab2" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "3216275b8b6e5ab2a5f739232945c139" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "6850b36bd23f57d682a3ef7bc4faab5d" + }, + "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", + "uuid": "c7e61a5fe6f35d0fb50a4cbb3c5d15e8" + }, + "Seating": { + "children": { + "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": "76071549a729587fbdebb78ef360cad9" + } + }, + "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": "8a5674259c805a498c827cc4341b20c7" + }, + "Switch": { + "children": { + "Backrest": { + "children": { + "IsReclineBackwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "28a3b3bd920c552b8079c52743f10c22" + }, + "IsReclineForwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "2f81fa98e09b5cbdb462747053b61fe0" + }, + "Lumbar": { + "children": { + "IsDownEngaged": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "fbb8355fefd151b58936c7adbde8edd2" + }, + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "03390dc0feb256f4977f5aadcdef1663" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "703ec67285de5b3799ebd2e4f090e2eb" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "24535eb7418f5bd4ac16900ea925c3ee" + } + }, + "description": "Switches for SingleSeat.Backrest.Lumbar.", + "type": "branch", + "uuid": "11adccdb44b15e26b22252dd75810422" + }, + "SideBolster": { + "children": { + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "c67fc3cb95bf54ef988ec24b76db4221" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "dfcaac526f3952e0aa29caacf9cd796e" + } + }, + "description": "Switches for SingleSeat.Backrest.SideBolster.", + "type": "branch", + "uuid": "0618172eae735abdb3c40ed24481cb68" + } + }, + "description": "Describes switches related to the backrest of the seat.", + "type": "branch", + "uuid": "ea42e74c9ee55a188af9e0728428a991" + }, + "Headrest": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "aec4843ad9435b9785f0d2485d457c56" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "e993d306024f5d5d8f1ffe8897d76a38" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "bbeb896cdb5059ea83add870abb45c69" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "2078f41ff0505639aab472a9793e0767" + } + }, + "description": "Switches for SingleSeat.Headrest.", + "type": "branch", + "uuid": "84788fd7b9215fa78374c9ca196e5d2d" + }, + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "f9b78ecd6f065a59918c8fea51464f7a" + }, + "IsCoolerEngaged": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "36969412c2325b81906fc4a327a22c84" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "7507db75bf2d541e8eba802db5108fa7" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "0075b9cb31ae5a0c8172e966e6b40954" + }, + "IsTiltBackwardEngaged": { + "datatype": "boolean", + "description": "Tilt backward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "974123228c7a5fc0bbbc8b13063eb76e" + }, + "IsTiltForwardEngaged": { + "datatype": "boolean", + "description": "Tilt forward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "736dd231351d54389a65e77e39e28816" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "f8ded34424025a93b04ee9d47f451b22" + }, + "IsWarmerEngaged": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "2cdec47cb7565df3934ed28acf1e05a3" + }, + "Massage": { + "children": { + "IsDecreaseEngaged": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "07e2a1c17a1854abb180fdf2038ece03" + }, + "IsIncreaseEngaged": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "9c2cd2dab1d65532b6b738966db8af41" + } + }, + "description": "Switches for SingleSeat.Massage.", + "type": "branch", + "uuid": "dc5720a01af45e78a562d12a93db0fbd" + }, + "Seating": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "fb25e00b59f1513eb66355fd254e3bbe" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "45ef8de577b55ff9b621aad08238edaf" + } + }, + "description": "Describes switches related to the seating of the seat.", + "type": "branch", + "uuid": "473086da2fc4501f9b3bdbc94133eb92" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "c634c8cf644d57098ae8b5337dec44a9" + }, + "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", + "uuid": "30d7caa224e6589a882751be94fb7a33" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "a27650921e1e5ee0bd56562364c7dd6f" + }, + "PassengerSide": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "a73fecde42375d07834a6670209228f4" + } + }, + "description": "Airbag signals.", + "type": "branch", + "uuid": "d16d61dc474f514fb10d1c8ecbeb9179" + }, + "Backrest": { + "children": { + "Lumbar": { + "children": { + "Height": { + "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" + }, + "Support": { + "datatype": "float", + "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "b29e1fd9898e5981807d74caa94dd16a" + } + }, + "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", + "type": "branch", + "uuid": "4eb3938a709f5e4dbdefeada15a4ddb9" + }, + "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", + "uuid": "6e3669fe31425539a49a2235c11bd5b5" + }, + "SideBolster": { + "children": { + "Support": { + "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" + } + }, + "description": "Backrest side bolster (lumbar side support) settings.", + "type": "branch", + "uuid": "7e9c0a02e46b57879a2e3a0e66f02137" + } + }, + "description": "Describes signals related to the backrest of the seat.", + "type": "branch", + "uuid": "ea5285b1124c527681e1a45c51429bdb" + }, + "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", + "uuid": "13f6bb21aa64545c97257c2b614622cb" + }, + "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": "a82bd9a0a9745ef68dae31474a095294" + } + }, + "description": "Headrest settings.", + "type": "branch", + "uuid": "a5449c4df2955aac981992fcbb581b84" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "4c0ab40eaf745f12a09dc2c5acbedae9" + }, + "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", + "uuid": "b1ca33bf7f4455ada6be941b92b824da" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "c7d63d6c97845df5b602791f700968f7" + }, + "IsOccupied": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "516d511279a75513a53ca57adade3a99" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "bd9ec382d92e52ae826cb532ba13e11f" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", + "type": "sensor", + "uuid": "3acca59e11b95e92945ac8ea568a3213" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", + "type": "sensor", + "uuid": "9fc55976f51c552fac70632a7e61b1f4" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "d18aded275a454068904eb5371a69f4d" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "0cd5c8c3bd3f55ee8cc4c876cad0b75f" + }, + "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", + "uuid": "07a8fe28cc1850dc96458e827a9ebeb5" + }, + "Seating": { + "children": { + "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" + } + }, + "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" + }, + "Switch": { + "children": { + "Backrest": { + "children": { + "IsReclineBackwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "e9591a8c0ef551dd8d2da760bf96045a" + }, + "IsReclineForwardEngaged": { + "datatype": "boolean", + "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", + "type": "actuator", + "uuid": "9fca194c445257049d2ba0bc5d134e12" + }, + "Lumbar": { + "children": { + "IsDownEngaged": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "32defc92edd159bc96939d399202d4ca" + }, + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "54dd7359d76f5caeb221807f3c9f05d6" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "bc763cfcd7fd511cbdc8ae2cc64a0ac7" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", + "type": "actuator", + "uuid": "8bc621f1041052c7abf17124cb6dc270" + } + }, + "description": "Switches for SingleSeat.Backrest.Lumbar.", + "type": "branch", + "uuid": "ee7310791c475bcb946bd7074fb375af" + }, + "SideBolster": { + "children": { + "IsLessSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "ccdd90ab2f3152be80c64b4500c78a8b" + }, + "IsMoreSupportEngaged": { + "datatype": "boolean", + "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", + "type": "actuator", + "uuid": "cd893883ea4857b8a42e02dccd7c48d6" + } + }, + "description": "Switches for SingleSeat.Backrest.SideBolster.", + "type": "branch", + "uuid": "a69bfc99fd21564b9d6e06504063f3f0" + } + }, + "description": "Describes switches related to the backrest of the seat.", + "type": "branch", + "uuid": "9417cfbf4a08528f9a6bb6de95dd53a3" + }, + "Headrest": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "0f6c3fada9695cfc89309bca1941d0f5" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "263c5edb7c7c515581a853327df34215" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", + "type": "actuator", + "uuid": "d86793d827f6545e97e03d1b8363236d" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", + "type": "actuator", + "uuid": "b77c09fbcec95c5fb04a6d14af5b9f94" + } + }, + "description": "Switches for SingleSeat.Headrest.", + "type": "branch", + "uuid": "0db2d43128845f65a029915777d30ac9" + }, + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "cefaab13d761577f86c35403460a83de" + }, + "IsCoolerEngaged": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "119275e2b8b9579fbaf45f419f01879b" + }, + "IsDownEngaged": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "00793becfbf35a1f9e22e62c0ee23382" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position).", + "type": "actuator", + "uuid": "6c4cb5e0ab59597db55b22918510c1a1" + }, + "IsTiltBackwardEngaged": { + "datatype": "boolean", + "description": "Tilt backward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "d6a316b6a3455e9da8769144aece2a74" + }, + "IsTiltForwardEngaged": { + "datatype": "boolean", + "description": "Tilt forward switch engaged (SingleSeat.Tilt).", + "type": "actuator", + "uuid": "b601c11e3b525dd19933adaf807bc5c1" + }, + "IsUpEngaged": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height).", + "type": "actuator", + "uuid": "0f1060fee7e05b2b91cc51d5a9b3da74" + }, + "IsWarmerEngaged": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating).", + "type": "actuator", + "uuid": "a6ae083174c65a9599901c00819694f8" + }, + "Massage": { + "children": { + "IsDecreaseEngaged": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "399c59f3d97151499a9005b329368baf" + }, + "IsIncreaseEngaged": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage).", + "type": "actuator", + "uuid": "ac7635aa2fc7578aae97d8a253e9a303" + } + }, + "description": "Switches for SingleSeat.Massage.", + "type": "branch", + "uuid": "bd644892090f5bd9a4b89281331cbe4d" + }, + "Seating": { + "children": { + "IsBackwardEngaged": { + "datatype": "boolean", + "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "ed70ebf0a7065894af1ac26e409d2408" + }, + "IsForwardEngaged": { + "datatype": "boolean", + "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", + "type": "actuator", + "uuid": "ef90f29f5ab65b0cbf271a7e06fa848d" + } + }, + "description": "Describes switches related to the seating of the seat.", + "type": "branch", + "uuid": "0b6331463cf65b44a5709705a1e55d7c" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "dc15316849e75f6d9995d428eee65421" + }, + "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", + "uuid": "646c179da57a59c39ca9777a4808980b" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "8cd32cb3e2d157b39af57d9cfe2e128c" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "8c3aaf015ef8595cb45d9461a9c1195f" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "b0b253106b2851e3bb5c71ae3b09f09d" + }, + "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", + "uuid": "8dd40ecd47ab51c79ed9c74ae4296d7e" + }, + "SeatRowCount": { + "comment": "Default value corresponds to two rows of seats.", + "datatype": "uint8", + "default": 2, + "description": "Number of seat rows in vehicle.", + "type": "attribute", + "uuid": "1002a7a4a954581b9cbc72fa438c5292" + }, + "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", + "uuid": "ab598697f1c852eda4df9ed62a956d17" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "5f78c2a631b75abc88744f9bad277f5a" + }, + "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", + "uuid": "3836077128c65381b01e74a1a8be1c40" + } + }, + "description": "Sun roof shade status.", + "type": "branch", + "uuid": "eeaae5977adb5683b16f405993405b2e" + }, + "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", + "uuid": "88c39afd45a25ea2b474ff581e1fb138" + } + }, + "description": "Sun roof status.", + "type": "branch", + "uuid": "8ff70db05c065e3eb530082a0b6983cf" + } + }, + "description": "All in-cabin components, including doors.", + "type": "branch", + "uuid": "1a94457b237f5e8eb3c77c0532ac88d7" + }, + "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", + "uuid": "789feabca2e8560ea3c1852371b4096e" + }, + "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", + "uuid": "2fabd8b61db45f62b4e97e7a612b4a73" + } + }, + "description": "Accelerator signals", + "type": "branch", + "uuid": "3b2b562086a45eb29c55186f3b710621" + }, + "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", + "uuid": "4458487c2a4e51efa3762349188ce2a1" + }, + "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", + "uuid": "91310e9ef88450c68791fbb07d83f104" + }, + "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" + }, + "TireDiameter": { + "datatype": "float", + "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "ed9f037c1b5d53c78c90b71179db1f4f" + }, + "TireWidth": { + "datatype": "uint16", + "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "mm", + "uuid": "3444d8773c215cd7a076d688eb7f1afc" + }, + "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", + "uuid": "d854bb9c72615e2896c1ed084db515fa" + }, + "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", + "uuid": "0851716e0b635392b6bb64cb478e82b0" + }, + "Wheel": { + "children": { + "Left": { + "children": { + "Brake": { + "children": { + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "63aa9c4973ef50b18bd7214c9f2634c5" + }, + "IsBrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "901771088eb35dec9e69b56a8cb3e8f5" + }, + "IsFluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "713da56818e55714ac441e10870b3753" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "b4ed36f8143d512fadaca3e641739ee2" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "162dab13d5815ec4bc22888b0bc59cbf" + }, + "Speed": { + "datatype": "float", + "description": "Rotational speed of a vehicle's wheel.", + "type": "sensor", + "unit": "km/h", + "uuid": "47897f20b2745b6aa2d0f76f1ecf824a" + }, + "Tire": { + "children": { + "IsPressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "4088315cfaa05c28b51c3d3462c65339" + }, + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal.", + "type": "sensor", + "unit": "kPa", + "uuid": "9fa3f176fd975d28a68f70c7d72e370f" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "093d8fb119755f6bafa979e4eae201a0" + } + }, + "description": "Tire signals for wheel.", + "type": "branch", + "uuid": "17c60ec3c02054b4951c975156375d9a" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "0cd478c6e72b55c6be6d3d9df9624545" + }, + "Right": { + "children": { + "Brake": { + "children": { + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "386bfddee4605e419d59755a51835650" + }, + "IsBrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "4c669b71c91e57dd8fd804ee68174b9c" + }, + "IsFluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "bb2057bc31c25beda1da0610ca62bd51" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "f3c53c8c5628527a8501e12778dae6c7" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "f334a45b92215f86b4ecadbd82c8b249" + }, + "Speed": { + "datatype": "float", + "description": "Rotational speed of a vehicle's wheel.", + "type": "sensor", + "unit": "km/h", + "uuid": "c288d064d56e53bfb94cef8670872587" + }, + "Tire": { + "children": { + "IsPressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "93fa1125894e53259af5b7e1d991c8da" + }, + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal.", + "type": "sensor", + "unit": "kPa", + "uuid": "ea8038b63e6650ffb1a20539e915064a" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "58d4cee188d353d7996e855d48bb92df" + } + }, + "description": "Tire signals for wheel.", + "type": "branch", + "uuid": "660f90ae8f14594cb6e97d000c1985a1" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "c7ae1f1787ec502d8aea41802dc9a203" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "8ed02c02eee0502ba6d94a5d5f1fb789" + }, + "WheelCount": { + "datatype": "uint8", + "description": "Number of wheels on the axle", + "type": "attribute", + "uuid": "7232effafb7d5c908a9bafe1cef2ff3e" + }, + "WheelDiameter": { + "datatype": "float", + "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "60d4b948ae8a5485bd77c45e1f648c13" + }, + "WheelWidth": { + "datatype": "float", + "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "5b92bdab1e035ff4ba000330e20f826b" + } + }, + "description": "Axle signals", + "type": "branch", + "uuid": "d7e93a94af0752aaab36819f6be4f67a" + }, + "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", + "uuid": "99860d78f2b25ae0b420660b76f933f0" + }, + "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", + "uuid": "bf1960525e725d2ca145ce12ba939ea3" + }, + "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" + }, + "TireDiameter": { + "datatype": "float", + "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "4dc46ee7fe0a5240a6eb67f9bf43a1ea" + }, + "TireWidth": { + "datatype": "uint16", + "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "mm", + "uuid": "76a9071697b25fb8ab42393dfb77f0ef" + }, + "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", + "uuid": "b6c5ba52f1985f179c9346edbabe2f9b" + }, + "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", + "uuid": "bdfd2fb7c3b25091a48f873462466f84" + }, + "Wheel": { + "children": { + "Left": { + "children": { + "Brake": { + "children": { + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "4b0d4f80b8855973a55ffee80fdfc4ba" + }, + "IsBrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "3d9bae5bf0705de99789ecea26b99a5c" + }, + "IsFluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "01f57161b0bf539fad1d2bfa9d9a9fc4" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "8eff72d583015e1e94eab98bf8f0497e" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "774d0a5771d35975872870cf71ea1487" + }, + "Speed": { + "datatype": "float", + "description": "Rotational speed of a vehicle's wheel.", + "type": "sensor", + "unit": "km/h", + "uuid": "427abdd04fc355769697d998a47d3f58" + }, + "Tire": { + "children": { + "IsPressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "d895b1e23a4f59ec92735fc317e44769" + }, + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal.", + "type": "sensor", + "unit": "kPa", + "uuid": "ea414012c36e54fc84ec1d421f370ddd" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "06ab6b3fe7bb5f7c9e2e104ee0e7cfd5" + } + }, + "description": "Tire signals for wheel.", + "type": "branch", + "uuid": "edfee87117dc5a6f9d970167f26ec090" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "4c32a1c722a45ea09a52c389e8a8a618" + }, + "Right": { + "children": { + "Brake": { + "children": { + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "83e5e261302d5ab38c9ee4dddc18c8ae" + }, + "IsBrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "9b5963e98a9c5b229a61df76ef5c86e0" + }, + "IsFluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "727823c7e0d551f48f26a5dd4f0578bd" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "63a564bca18a5b1fabd7d3cff1af0e6d" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "5c33ec4bd8a15d3590f59e7257bf4d25" + }, + "Speed": { + "datatype": "float", + "description": "Rotational speed of a vehicle's wheel.", + "type": "sensor", + "unit": "km/h", + "uuid": "85b41a82f4775fcea57dcc6218fb6d7b" + }, + "Tire": { + "children": { + "IsPressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "da2f63312a455d92abd5edc405f01903" + }, + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal.", + "type": "sensor", + "unit": "kPa", + "uuid": "0cd3dd4be36c5fcda49d6360556ba7c8" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "7c08b5778bc05265bb8d4e08fdca29cf" + } + }, + "description": "Tire signals for wheel.", + "type": "branch", + "uuid": "d855fe9ffb4e52be83ebfc7967c1c3ee" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "f59f6ce66b1454498f5dc71be581732a" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "87b119ed6de254159877b24047fd3026" + }, + "WheelCount": { + "datatype": "uint8", + "description": "Number of wheels on the axle", + "type": "attribute", + "uuid": "ac6fe103410153d382306426d14213ab" + }, + "WheelDiameter": { + "datatype": "float", + "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "af27b1d18a5455e593692a9929909bb9" + }, + "WheelWidth": { + "datatype": "float", + "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "889d279053c051979ebbe301bacac206" + } + }, + "description": "Axle signals", + "type": "branch", + "uuid": "8ef77768446659b6b5020a06c7b23c8b" + } + }, + "description": "Axle signals", + "type": "branch", + "uuid": "0a3ebde7efa85c04ac6c29b5676fec5d" + }, + "AxleCount": { + "datatype": "uint8", + "default": 2, + "description": "Number of axles on the vehicle", + "type": "attribute", + "uuid": "86d084c9148d5f22b5402a030413ed79" + }, + "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", + "uuid": "0d462892aeac5062a62ee7d07306f6a6" + }, + "PedalPosition": { + "datatype": "uint8", + "description": "Brake pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "0477d3a4a831564ea473976cf34374f2" + } + }, + "description": "Brake system signals", + "type": "branch", + "uuid": "38df972e5c6b558e93839a5e97238c5a" + }, + "ParkingBrake": { + "children": { + "IsAutoApplyEnabled": { + "datatype": "boolean", + "description": "Indicates if parking brake will be automatically engaged when the vehicle engine is turned off.", + "type": "actuator", + "uuid": "26c694c9a1c75b699cc8c1dd2986ab90" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.", + "type": "actuator", + "uuid": "faa7f94e6a5555c6b2d62e3328520ce0" + } + }, + "description": "Parking brake signals", + "type": "branch", + "uuid": "3849d42292f4551590fa4bf716fc90f7" + }, + "SteeringWheel": { + "children": { + "Angle": { + "datatype": "int16", + "description": "Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right.", + "type": "sensor", + "unit": "degrees", + "uuid": "92cd3b3d37585b2291806fe5127d9393" + }, + "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", + "uuid": "6a84cc3604fc5960a1fb384fe63fae72" + }, + "Tilt": { + "datatype": "uint8", + "description": "Steering wheel column tilt. 0 = Lowest position. 100 = Highest position.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "33e979769f91521d8080384447d06c00" + } + }, + "description": "Steering wheel signals", + "type": "branch", + "uuid": "8c759072791e5986ac4efe9df0c2b751" + }, + "Wheelbase": { + "datatype": "uint16", + "default": 0, + "description": "Overall wheelbase, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "11677e0433935dc7aa9c1806c96a8a6b" + } + }, + "description": "All data concerning steering, suspension, wheels, and brakes.", + "type": "branch", + "uuid": "87d260d635425da0a4ebd62bc4e5c313" + }, + "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", + "uuid": "b6d11be2a6565996b68ffb07a96595a7" + } + }, + "description": "Connectivity data.", + "type": "branch", + "uuid": "89c267fccea35f3da9871cca2b4dc4df" + }, + "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" + }, + "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", + "uuid": "d3ead98ab0b751c1a5b5dd5bc0e5e216" + }, + "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", + "uuid": "52853b33d4605608bd0ae50595c69309" + }, + "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", + "uuid": "f23d40f3556b5676a0d1e3def037197f" + }, + "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" + }, + "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" + } + }, + "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", + "uuid": "5c0887bce6fb5eb79402baaccb203e61" + } + }, + "description": "Information on the GNSS receiver used for determining current location.", + "type": "branch", + "uuid": "b1bea5d88662539a8cff6f8fe4974740" + }, + "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" + }, + "HorizontalAccuracy": { + "datatype": "double", + "description": "Accuracy of the latitude and longitude coordinates.", + "type": "sensor", + "unit": "m", + "uuid": "bf25ef243f0c5f839f7ef874f9c57fda" + }, + "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" + }, + "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", + "uuid": "5246f2ec5fea550cb1b36f110854cfbb" + }, + "Timestamp": { + "datatype": "string", + "description": "Timestamp from GNSS system for current location, formatted according to ISO 8601 with UTC time zone.", + "type": "sensor", + "uuid": "094aeff73be05c08905690be0e82a438" + }, + "VerticalAccuracy": { + "datatype": "double", + "description": "Accuracy of altitude.", + "type": "sensor", + "unit": "m", + "uuid": "8f54055bce9e5e8e97fb6051582707ab" + } + }, + "description": "The current latitude and longitude of the vehicle.", + "type": "branch", + "uuid": "24777bd485f15fb69550ae0520c40ad5" + }, + "CurrentOverallWeight": { + "datatype": "uint16", + "description": "Current overall Vehicle weight. Including passengers, cargo and other load inside the car.", + "type": "sensor", + "unit": "kg", + "uuid": "75599d7628bb5f35839055269d3ad205" + }, + "Driver": { + "children": { + "AttentiveProbability": { + "datatype": "float", + "description": "Probability of attentiveness of the driver.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "fcd202467afb533fbbf9e7da89cc1cee" + }, + "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", + "uuid": "cb35ec0b924e58979e1469146d65c3fa" + }, + "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", + "uuid": "49b1626295705a79ae20d8a270c48b6b" + }, + "HeartRate": { + "datatype": "uint16", + "description": "Heart rate of the driver.", + "type": "sensor", + "unit": "bpm", + "uuid": "d71516905f785c4da867a2f86e774d93" + }, + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", + "type": "sensor", + "uuid": "ee7988d26d7156d2a030ecc506ea97e7" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", + "type": "sensor", + "uuid": "b41ec688af265f10824bc9635989ac55" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "89705397069c5ec58d607318f2ff0ea8" + }, + "IsEyesOnRoad": { + "datatype": "boolean", + "description": "Has driver the eyes on road or not?", + "type": "sensor", + "uuid": "625e5009f1145aa0b797ee6c335ca2fe" + }, + "IsHandsOnWheel": { + "datatype": "boolean", + "description": "Are the driver's hands on the steering wheel or not?", + "type": "sensor", + "uuid": "90d7dc2c408c528d941829ff88075f24" + } + }, + "description": "Driver data.", + "type": "branch", + "uuid": "1cac57e7b7e756dc8a154eaacbce6426" + }, + "EmissionsCO2": { + "datatype": "int16", + "description": "The CO2 emissions.", + "type": "attribute", + "unit": "g/km", + "uuid": "b73e8f1ed17d584fad3f088c666dc2a5" + }, + "Exterior": { + "children": { + "AirTemperature": { + "datatype": "float", + "description": "Air temperature outside the vehicle.", + "type": "sensor", + "unit": "celsius", + "uuid": "a38d3f5dfeb35317aca8b90453dc1a75" + }, + "Humidity": { + "datatype": "float", + "description": "Relative humidity outside the vehicle. 0 = Dry, 100 = Air fully saturated.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "6c785ec5d9a5534f98be7ce198d25d6b" + }, + "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", + "uuid": "9b46b70490f853e891e1cc35dd08dddc" + } + }, + "description": "Information about exterior measured by vehicle.", + "type": "branch", + "uuid": "06c5def549f3580e8cdaffa3e0f5d25c" + }, + "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" + }, + "Height": { + "datatype": "uint16", + "default": 0, + "description": "Overall vehicle height.", + "type": "attribute", + "unit": "mm", + "uuid": "9784d39f68b8541f90c355178ded7d7c" + }, + "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", + "uuid": "469ebd2a76b45e5b97b799262a085330" + }, + "IsMoving": { + "datatype": "boolean", + "description": "Indicates whether the vehicle is stationary or moving.", + "type": "sensor", + "uuid": "db69549cc7375e919c2a2883b41cd19c" + }, + "Length": { + "datatype": "uint16", + "default": 0, + "description": "Overall vehicle length.", + "type": "attribute", + "unit": "mm", + "uuid": "885f1be6842a513582e52a42edb3176f" + }, + "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", + "uuid": "e1d76e489d505b03ace30771ba4291b1" + }, + "CurrentVoltage": { + "datatype": "float", + "description": "Current Voltage of the low voltage battery.", + "type": "sensor", + "unit": "V", + "uuid": "1394234e8b975a279959ae82e03df786" + }, + "NominalCapacity": { + "datatype": "uint16", + "description": "Nominal capacity of the low voltage battery.", + "type": "attribute", + "unit": "Ah", + "uuid": "d9f32612cb2f58d3b863a0dae21ff7af" + }, + "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" + } + }, + "description": "Signals related to low voltage battery.", + "type": "branch", + "uuid": "ab8c5816d44f55b68f6e1d6d9e5acb0b" + }, + "LowVoltageSystemState": { + "allowed": [ + "UNDEFINED", + "LOCK", + "OFF", + "ACC", + "ON", + "START" + ], + "datatype": "string", + "description": "State of the supply voltage of the control units (usually 12V).", + "type": "sensor", + "uuid": "d7391ceb132e5519b02d4c13d5513d99" + }, + "MaxTowBallWeight": { + "datatype": "uint16", + "default": 0, + "description": "Maximum vertical weight on the tow ball of a trailer.", + "type": "attribute", + "unit": "kg", + "uuid": "fec550f2064750e8b65b54fbf1368d68" + }, + "MaxTowWeight": { + "datatype": "uint16", + "default": 0, + "description": "Maximum weight of trailer.", + "type": "attribute", + "unit": "kg", + "uuid": "a1b8fd65897654aa8a418bccf443f1f3" + }, + "OBD": { + "children": { + "AbsoluteLoad": { + "datatype": "float", + "description": "PID 43 - Absolute load value", + "type": "sensor", + "unit": "percent", + "uuid": "b3dd889a42ce5de9a7904b7196ae325c" + }, + "AcceleratorPositionD": { + "datatype": "float", + "description": "PID 49 - Accelerator pedal position D", + "type": "sensor", + "unit": "percent", + "uuid": "7e63256081ac5a7b8a28a6fa3c2c2ff9" + }, + "AcceleratorPositionE": { + "datatype": "float", + "description": "PID 4A - Accelerator pedal position E", + "type": "sensor", + "unit": "percent", + "uuid": "4104e7fc25355e25b4522d233565d84b" + }, + "AcceleratorPositionF": { + "datatype": "float", + "description": "PID 4B - Accelerator pedal position F", + "type": "sensor", + "unit": "percent", + "uuid": "95f5c2a209a857ff930e2f8e32ac2d3f" + }, + "AirStatus": { + "datatype": "string", + "description": "PID 12 - Secondary air status", + "type": "sensor", + "uuid": "548f65bf59ed505a86dfaa1c33342e4d" + }, + "AmbientAirTemperature": { + "datatype": "float", + "description": "PID 46 - Ambient air temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "220a90f183c5583ea8b8b6454d774517" + }, + "BarometricPressure": { + "datatype": "float", + "description": "PID 33 - Barometric pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "1966bfff4d235767bfd9a21afb445ac7" + }, + "Catalyst": { + "children": { + "Bank1": { + "children": { + "Temperature1": { + "datatype": "float", + "description": "PID 3C - Catalyst temperature from bank 1, sensor 1", + "type": "sensor", + "unit": "celsius", + "uuid": "5a770f13939e5d069682d408f160a895" + }, + "Temperature2": { + "datatype": "float", + "description": "PID 3E - Catalyst temperature from bank 1, sensor 2", + "type": "sensor", + "unit": "celsius", + "uuid": "ca9419a5d23b5937af23b51d823722fa" + } + }, + "description": "Catalyst bank 1 signals", + "type": "branch", + "uuid": "0c3aaf014ba95b938b639d4202ef8b25" + }, + "Bank2": { + "children": { + "Temperature1": { + "datatype": "float", + "description": "PID 3D - Catalyst temperature from bank 2, sensor 1", + "type": "sensor", + "unit": "celsius", + "uuid": "011658e4ee89502c9a33877c92dbf888" + }, + "Temperature2": { + "datatype": "float", + "description": "PID 3F - Catalyst temperature from bank 2, sensor 2", + "type": "sensor", + "unit": "celsius", + "uuid": "f60c68f0ebca5fcf97086ce04e16d661" + } + }, + "description": "Catalyst bank 2 signals", + "type": "branch", + "uuid": "9a20459754755146a3b9608bf6384835" + } + }, + "description": "Catalyst signals", + "type": "branch", + "uuid": "4eb0b191d6445de081f3f3f759af31c2" + }, + "CommandedEGR": { + "datatype": "float", + "description": "PID 2C - Commanded exhaust gas recirculation (EGR)", + "type": "sensor", + "unit": "percent", + "uuid": "0265890a4a695ee6952c9b9f565ddaa5" + }, + "CommandedEVAP": { + "datatype": "float", + "description": "PID 2E - Commanded evaporative purge (EVAP) valve", + "type": "sensor", + "unit": "percent", + "uuid": "5e6295d04a9159b88f4698b561b86842" + }, + "CommandedEquivalenceRatio": { + "datatype": "float", + "description": "PID 44 - Commanded equivalence ratio", + "type": "sensor", + "unit": "ratio", + "uuid": "104e39e816f65fa791d0afa24603292b" + }, + "ControlModuleVoltage": { + "datatype": "float", + "description": "PID 42 - Control module voltage", + "type": "sensor", + "unit": "V", + "uuid": "59e072b932605ffc88a299c874d885c4" + }, + "CoolantTemperature": { + "datatype": "float", + "description": "PID 05 - Coolant temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "824892cdc72d5f92a38ef3136576edc8" + }, + "DTCList": { + "datatype": "string[]", + "description": "List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX )", + "type": "sensor", + "uuid": "eee1b64e69845d5ab5e793b74631f9dc" + }, + "DistanceSinceDTCClear": { + "datatype": "float", + "description": "PID 31 - Distance traveled since codes cleared", + "type": "sensor", + "unit": "km", + "uuid": "0da628e2c69d561eb86216ddcb6e7b2a" + }, + "DistanceWithMIL": { + "datatype": "float", + "description": "PID 21 - Distance traveled with MIL on", + "type": "sensor", + "unit": "km", + "uuid": "a9a522e343f25522b08f11e81bb91349" + }, + "DriveCycleStatus": { + "children": { + "DTCCount": { + "datatype": "uint8", + "description": "Number of sensor Trouble Codes (DTC)", + "type": "sensor", + "uuid": "312856f746ff560e8098c19196964d3b" + }, + "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" + }, + "IsMILOn": { + "datatype": "boolean", + "description": "Malfunction Indicator Light (MIL) - False = Off, True = On", + "type": "sensor", + "uuid": "e367394c9a075eef8fd66499e3d9cf14" + } + }, + "description": "PID 41 - OBD status for the current drive cycle", + "type": "branch", + "uuid": "5215e28062f75154822789b8a5f30630" + }, + "EGRError": { + "datatype": "float", + "description": "PID 2D - Exhaust gas recirculation (EGR) error", + "type": "sensor", + "unit": "percent", + "uuid": "80a7000c5c7b5444b5571a26264061e5" + }, + "EVAPVaporPressure": { + "datatype": "float", + "description": "PID 32 - Evaporative purge (EVAP) system pressure", + "type": "sensor", + "unit": "Pa", + "uuid": "70b5dae2ffd0561eab73efed8ad2f0ad" + }, + "EVAPVaporPressureAbsolute": { + "datatype": "float", + "description": "PID 53 - Absolute evaporative purge (EVAP) system pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "ef188a1e1a1356f7bc425081e3e00805" + }, + "EVAPVaporPressureAlternate": { + "datatype": "float", + "description": "PID 54 - Alternate evaporative purge (EVAP) system pressure", + "type": "sensor", + "unit": "Pa", + "uuid": "68eaba3c79975d61bc35b92cd3e5e8d0" + }, + "EngineLoad": { + "datatype": "float", + "description": "PID 04 - Engine load in percent - 0 = no load, 100 = full load", + "type": "sensor", + "unit": "percent", + "uuid": "a8fda8a1b4c6534aa49c447bafc1c700" + }, + "EngineSpeed": { + "datatype": "float", + "description": "PID 0C - Engine speed measured as rotations per minute", + "type": "sensor", + "unit": "rpm", + "uuid": "b682eea93b3e5874ab3b52e95a1fad37" + }, + "EthanolPercent": { + "datatype": "float", + "description": "PID 52 - Percentage of ethanol in the fuel", + "type": "sensor", + "unit": "percent", + "uuid": "a207e7de17e1520c894b412af6f2522c" + }, + "FreezeDTC": { + "datatype": "string", + "description": "PID 02 - DTC that triggered the freeze frame", + "type": "sensor", + "uuid": "5b87fae8dda4522aae209ae528960782" + }, + "FuelInjectionTiming": { + "datatype": "float", + "description": "PID 5D - Fuel injection timing", + "type": "sensor", + "unit": "degrees", + "uuid": "ab4869446f5357d6936838983e1b8949" + }, + "FuelLevel": { + "datatype": "float", + "description": "PID 2F - Fuel level in the fuel tank", + "type": "sensor", + "unit": "percent", + "uuid": "fd39813424ee5cd08c44714b35697287" + }, + "FuelPressure": { + "datatype": "float", + "description": "PID 0A - Fuel pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "34e6b0689f025d7b9bfa1fc49bb30c0f" + }, + "FuelRailPressureAbsolute": { + "datatype": "float", + "description": "PID 59 - Absolute fuel rail pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "83c88b13d30153949eeca1b1180a9061" + }, + "FuelRailPressureDirect": { + "datatype": "float", + "description": "PID 23 - Fuel rail pressure direct inject", + "type": "sensor", + "unit": "kPa", + "uuid": "039cb7bf1a8356a98d09eaf4fc029fe9" + }, + "FuelRailPressureVac": { + "datatype": "float", + "description": "PID 22 - Fuel rail pressure relative to vacuum", + "type": "sensor", + "unit": "kPa", + "uuid": "b3b0adf44aa3572fa07e7434993e6458" + }, + "FuelRate": { + "datatype": "float", + "description": "PID 5E - Engine fuel rate", + "type": "sensor", + "unit": "l/h", + "uuid": "4ab7c2b710f95ceb9c7d01d19dabac38" + }, + "FuelStatus": { + "datatype": "string", + "description": "PID 03 - Fuel status", + "type": "sensor", + "uuid": "15fa2f3f667a5f5786eda5c83435ef16" + }, + "FuelType": { + "datatype": "uint8", + "description": "PID 51 - Fuel type", + "max": 23, + "min": 0, + "type": "attribute", + "uuid": "aefb45bdd8035904b0c8f3ffcedc53a9" + }, + "HybridBatteryRemaining": { + "datatype": "float", + "description": "PID 5B - Remaining life of hybrid battery", + "type": "sensor", + "unit": "percent", + "uuid": "c9517b6243df5e8d8f3aa3e57f71ec37" + }, + "IntakeTemp": { + "datatype": "float", + "description": "PID 0F - Intake temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "7c108305178b5854b430a23e125588bd" + }, + "IsPTOActive": { + "datatype": "boolean", + "description": "PID 1E - Auxiliary input status (power take off)", + "type": "sensor", + "uuid": "ce291dc40bba5a969e57b17f11ae23a9" + }, + "LongTermFuelTrim1": { + "datatype": "float", + "description": "PID 07 - Long Term (learned) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "1c203b11667150f0b4ee1be26a60c084" + }, + "LongTermFuelTrim2": { + "datatype": "float", + "description": "PID 09 - Long Term (learned) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "b02aff2efce05632b5694a256e5b9ec7" + }, + "LongTermO2Trim1": { + "datatype": "float", + "description": "PID 56 (byte A) - Long term secondary O2 trim - Bank 1", + "type": "sensor", + "unit": "percent", + "uuid": "9a9586e29a02567e9920cb9b0aa2e3f5" + }, + "LongTermO2Trim2": { + "datatype": "float", + "description": "PID 58 (byte A) - Long term secondary O2 trim - Bank 2", + "type": "sensor", + "unit": "percent", + "uuid": "e579f6c930605b389e8ce2d7edd92999" + }, + "LongTermO2Trim3": { + "datatype": "float", + "description": "PID 56 (byte B) - Long term secondary O2 trim - Bank 3", + "type": "sensor", + "unit": "percent", + "uuid": "50ea51ad343a5e59b1d214053e522a45" + }, + "LongTermO2Trim4": { + "datatype": "float", + "description": "PID 58 (byte B) - Long term secondary O2 trim - Bank 4", + "type": "sensor", + "unit": "percent", + "uuid": "f9c20edd12f456e5ace21581cea484bd" + }, + "MAF": { + "datatype": "float", + "description": "PID 10 - Grams of air drawn into engine per second", + "type": "sensor", + "unit": "g/s", + "uuid": "f3acdf89fb865313883d5d3126f15518" + }, + "MAP": { + "datatype": "float", + "description": "PID 0B - Intake manifold pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "335991b1b53f56f097fea7b05d4db83b" + }, + "MaxMAF": { + "datatype": "float", + "description": "PID 50 - Maximum flow for mass air flow sensor", + "type": "sensor", + "unit": "g/s", + "uuid": "e21826479f715ee7afe8dc485f109b11" + }, + "O2": { + "children": { + "Sensor1": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "ee366d40132456c0bce8cac3a837f16a" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "e95f4ea667265ee3a68ab57b86ecbf66" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "3aa8859203d4545083196a9690d72627" + }, + "Sensor2": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "92e6e172777457a9866ca045d0d79853" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "5f1781bde96b53ce9b810a5a56b7c8ed" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "efcb337cf94056c8a724e76bcfee6765" + }, + "Sensor3": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "66c300d35eb85e7387dc42528cca48d9" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "a86a1986f0fe5d25b6c438a00438ff60" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "b8c145402b7a5cffaa2699ed61b056fa" + }, + "Sensor4": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "b71dcf9d850c5d5686f14ad46cd2cae3" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "772cbfab91be59f7bbf3ec4140ffbcc4" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "853945bce86c5c4f95081075ae32261c" + }, + "Sensor5": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "7604de26198b51e28a441f79b1d84242" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "155a0816093b5aee8012ed2a8d532b7f" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "f48c76c9c7ec5ddcb6838ced0bd7517b" + }, + "Sensor6": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "2fb034769cab5089986d90bf7f9000ca" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "85430592fb795e848d7bb91e6b9f1e00" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "5269c1877ded507b87d7d1d7bec10605" + }, + "Sensor7": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "81f34b16b5e05d1ab159de9474eaf5bc" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "23984a68e63f532bab18679e1174130d" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "4b565102e4a052aa8aa64f27dc678ce3" + }, + "Sensor8": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "1699eb2267615e258259e480be0fa606" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "23e057b3629a5136bb585638725fe0a2" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "d5eef24c35f1561982127404b50ece11" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "31f007df72af50f0925d2b4647682a4d" + }, + "O2WR": { + "children": { + "Sensor1": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "bb4c70d9d2ae56c8a9a3be446db6f54c" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "b809083454a5516f995477c59bf4d3c6" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "396251cbfa5a57ffb1dd743298dfcdf9" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "496074cec04a5260b60fd39bb7ed1479" + }, + "Sensor2": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "442ab33180ca5028a37a487056ba4a51" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "ce55aed0e8705a49970566db71ebcf90" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "a784675c3b765d42ad023d8ee412be26" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "079f9960f75d5f399df7ff86fcea8f0c" + }, + "Sensor3": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "c942468e349e5aaebde4d90ee0bc3814" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "f2ae7c781b0a5dcf8db91558e3cf4c13" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "a78f7621a3f75df2adc1dc940219834a" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "a8a83d3e33f9584b824088e830bcbaec" + }, + "Sensor4": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "f16b31fde63a516db04cb44feaa7c27b" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "be09013f423c588eae9c06da9ddf290f" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "abeca90ba22d5c32a34ee907cedf3192" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "bb67047ddad158ba98876a6a87d02e97" + }, + "Sensor5": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "40494cb5826554929f5ecadd5b9173fd" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "16a957200f5c51f89824bbb76a23b9c0" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "699c4db2439f51af8465e823687018b8" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "01c4160d39af5db59c66db844646195e" + }, + "Sensor6": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "06a38b6b4784545bb637279e96d48eb5" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "fdae9bb9a3a45b4680450f0347cf6d66" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "304c181c76d55c3abe75382a935c7bde" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "cff12c30bde957798daaa3a91758b48b" + }, + "Sensor7": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "6ed46315325d540eb95c86ec61eef8e4" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "9221a5289157538b9dcaa0d961c335fa" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "0ad1d79dcce65c00ac48421b5b54ca0e" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "44459df1f25f5d43a07b00f2bad65ef5" + }, + "Sensor8": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "96de3c3b036c50c2978ab2aa490d4d9e" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "c56db1195fa3519ab6718ab57d2cd543" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "ab7d6c739f025782bba640e58123f0c8" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "b8865e72055d52a086f6935d5c188cc1" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "a439f2bc16575318afe20d0bc6a8cacf" + }, + "OBDStandards": { + "datatype": "uint8", + "description": "PID 1C - OBD standards this vehicle conforms to", + "type": "attribute", + "uuid": "1aa8d7d055cf5a29a31b04a12124f673" + }, + "OilTemperature": { + "datatype": "float", + "description": "PID 5C - Engine oil temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "ef3dfc11085d5077b363b1a4e8e4a84e" + }, + "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", + "type": "sensor", + "uuid": "0a9ba3f0a9b256d78bafd62ee8ce73cd" + }, + "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]", + "type": "sensor", + "uuid": "41d3377813d651aa9b9344ba9fd2f880" + }, + "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" + }, + "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" + }, + "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" + }, + "RelativeAcceleratorPosition": { + "datatype": "float", + "description": "PID 5A - Relative accelerator pedal position", + "type": "sensor", + "unit": "percent", + "uuid": "e25de9aacad3549285b4fb234f10be8f" + }, + "RelativeThrottlePosition": { + "datatype": "float", + "description": "PID 45 - Relative throttle position", + "type": "sensor", + "unit": "percent", + "uuid": "54ecf7dd671c5053aac4bc1bb061d64b" + }, + "RunTime": { + "datatype": "float", + "description": "PID 1F - Engine run time", + "type": "sensor", + "unit": "s", + "uuid": "acf70773752256d1a227ab48257624b5" + }, + "RunTimeMIL": { + "datatype": "float", + "description": "PID 4D - Run time with MIL on", + "type": "sensor", + "unit": "min", + "uuid": "555604a484535f60adf8894a6bd895b6" + }, + "ShortTermFuelTrim1": { + "datatype": "float", + "description": "PID 06 - Short Term (immediate) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "569c983874335fb392d4e82a002654cb" + }, + "ShortTermFuelTrim2": { + "datatype": "float", + "description": "PID 08 - Short Term (immediate) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "53a39620773a523a8182169027169ec2" + }, + "ShortTermO2Trim1": { + "datatype": "float", + "description": "PID 55 (byte A) - Short term secondary O2 trim - Bank 1", + "type": "sensor", + "unit": "percent", + "uuid": "be7ed33a854557ba802da0c51f9f4564" + }, + "ShortTermO2Trim2": { + "datatype": "float", + "description": "PID 57 (byte A) - Short term secondary O2 trim - Bank 2", + "type": "sensor", + "unit": "percent", + "uuid": "c8b962f8990e51d294621408ceaa21d9" + }, + "ShortTermO2Trim3": { + "datatype": "float", + "description": "PID 55 (byte B) - Short term secondary O2 trim - Bank 3", + "type": "sensor", + "unit": "percent", + "uuid": "af58212df970568b9edcc5e58fa36f8d" + }, + "ShortTermO2Trim4": { + "datatype": "float", + "description": "PID 57 (byte B) - Short term secondary O2 trim - Bank 4", + "type": "sensor", + "unit": "percent", + "uuid": "8ef0516c0c965fd6aecbacd6b9120a5b" + }, + "Speed": { + "datatype": "float", + "description": "PID 0D - Vehicle speed", + "type": "sensor", + "unit": "km/h", + "uuid": "91ed0bb43eb054759813cd784b071764" + }, + "Status": { + "children": { + "DTCCount": { + "datatype": "uint8", + "description": "Number of Diagnostic Trouble Codes (DTC)", + "type": "sensor", + "uuid": "4afdf65e788c5f69baf682597e69fb67" + }, + "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" + }, + "IsMILOn": { + "datatype": "boolean", + "description": "Malfunction Indicator Light (MIL) False = Off, True = On", + "type": "sensor", + "uuid": "8744bcb275205630932320b66185502c" + } + }, + "description": "PID 01 - OBD status", + "type": "branch", + "uuid": "474f58e593ee5bfebbb9c6ce4a453f96" + }, + "ThrottleActuator": { + "datatype": "float", + "description": "PID 4C - Commanded throttle actuator", + "type": "sensor", + "unit": "percent", + "uuid": "49a19905a1005ee3abe0c0a84d7112d1" + }, + "ThrottlePosition": { + "datatype": "float", + "description": "PID 11 - Throttle position - 0 = closed throttle, 100 = open throttle", + "type": "sensor", + "unit": "percent", + "uuid": "ec1d372020205bb4a846a014b33801e1" + }, + "ThrottlePositionB": { + "datatype": "float", + "description": "PID 47 - Absolute throttle position B", + "type": "sensor", + "unit": "percent", + "uuid": "701712a565ed5bf8b6630487a7152c87" + }, + "ThrottlePositionC": { + "datatype": "float", + "description": "PID 48 - Absolute throttle position C", + "type": "sensor", + "unit": "percent", + "uuid": "06f162dc00a85f628f9d5d1bc952665c" + }, + "TimeSinceDTCCleared": { + "datatype": "float", + "description": "PID 4E - Time since trouble codes cleared", + "type": "sensor", + "unit": "min", + "uuid": "66ea3984a2585dcdaaf6452eef835c0d" + }, + "TimingAdvance": { + "datatype": "float", + "description": "PID 0E - Time advance", + "type": "sensor", + "unit": "degrees", + "uuid": "35533b7e327d5f839b17c932b630767c" + }, + "WarmupsSinceDTCClear": { + "datatype": "uint8", + "description": "PID 30 - Number of warm-ups since codes cleared", + "type": "sensor", + "uuid": "a63ba60721785fc591e3dd067c4dc2ae" + } + }, + "description": "OBD data.", + "type": "branch", + "uuid": "7ad7c512ed5d52c8b31944d2d47a4bc3" + }, + "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", + "uuid": "add77f60f7885e39a84baae200569077" + }, + "Powertrain": { + "children": { + "AccumulatedBrakingEnergy": { + "datatype": "float", + "description": "The accumulated energy from regenerative braking over lifetime.", + "type": "sensor", + "unit": "kWh", + "uuid": "0dd466d28d3d5ad094f2015adafb91a5" + }, + "CombustionEngine": { + "children": { + "AspirationType": { + "allowed": [ + "UNKNOWN", + "NATURAL", + "SUPERCHARGER", + "TURBOCHARGER" + ], + "datatype": "string", + "default": "UNKNOWN", + "description": "Type of aspiration (natural, turbocharger, supercharger etc).", + "type": "attribute", + "uuid": "3ca6a8ff30275c20a9d8d6d6829574eb" + }, + "Bore": { + "datatype": "float", + "description": "Bore in millimetres.", + "type": "attribute", + "unit": "mm", + "uuid": "1618fb16035b5464961570cc1afd934e" + }, + "CompressionRatio": { + "datatype": "string", + "description": "Engine compression ratio, specified in the format 'X:1', e.g. '9.2:1'.", + "type": "attribute", + "uuid": "ead42922511051a0a0a1b634781f3c09" + }, + "Configuration": { + "allowed": [ + "UNKNOWN", + "STRAIGHT", + "V", + "BOXER", + "W", + "ROTARY", + "RADIAL", + "SQUARE", + "H", + "U", + "OPPOSED", + "X" + ], + "datatype": "string", + "default": "UNKNOWN", + "description": "Engine configuration.", + "type": "attribute", + "uuid": "586be4567fe059ee9e6cf42901c2e773" + }, + "DieselExhaustFluid": { + "children": { + "Capacity": { + "datatype": "float", + "description": "Capacity in liters of the Diesel Exhaust Fluid Tank.", + "type": "attribute", + "unit": "l", + "uuid": "863c16ad452b5cf5b7a37f58bdda14c3" + }, + "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" + }, + "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", + "uuid": "f5b0269b58ff5a8e8399f6d96963a3b6" + }, + "Range": { + "datatype": "uint32", + "description": "Remaining range in meters of the Diesel Exhaust Fluid present in the vehicle.", + "type": "sensor", + "unit": "m", + "uuid": "124afbee975c5a67b316413f7b805eac" + } + }, + "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" + }, + "DieselParticulateFilter": { + "children": { + "DeltaPressure": { + "datatype": "float", + "description": "Delta Pressure of Diesel Particulate Filter.", + "type": "sensor", + "unit": "Pa", + "uuid": "a6f476775c60531b93acb835e0bc6ab6" + }, + "InletTemperature": { + "datatype": "float", + "description": "Inlet temperature of Diesel Particulate Filter.", + "type": "sensor", + "unit": "celsius", + "uuid": "70e90d202d3054bd967e67dce95c8ef2" + }, + "OutletTemperature": { + "datatype": "float", + "description": "Outlet temperature of Diesel Particulate Filter.", + "type": "sensor", + "unit": "celsius", + "uuid": "e2b7f9d97bec5c0d94ade71a5e2f6518" + } + }, + "description": "Diesel Particulate Filter signals.", + "type": "branch", + "uuid": "eeddd99ad6475b1a92b9ec7bd7cefdbd" + }, + "Displacement": { + "datatype": "uint16", + "description": "Displacement in cubic centimetres.", + "type": "attribute", + "unit": "cm^3", + "uuid": "94dbd928847150ab842c00fa5caaf272" + }, + "ECT": { + "datatype": "int16", + "description": "Engine coolant temperature.", + "type": "sensor", + "unit": "celsius", + "uuid": "fff3cad23cac5b189a1a075c3ab562cd" + }, + "EOP": { + "datatype": "uint16", + "description": "Engine oil pressure.", + "type": "sensor", + "unit": "kPa", + "uuid": "76c7039dc7975ec3a003f0f4a04895ec" + }, + "EOT": { + "datatype": "int16", + "description": "Engine oil temperature.", + "type": "sensor", + "unit": "celsius", + "uuid": "eae6f5eae04f530e80f6b024f95b767d" + }, + "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" + }, + "EngineCoolantCapacity": { + "datatype": "float", + "description": "Engine coolant capacity in liters.", + "type": "attribute", + "unit": "l", + "uuid": "90b5b64808ea5f4fa2798d96143b0d60" + }, + "EngineHours": { + "datatype": "float", + "description": "Accumulated time during engine lifetime with 'engine speed (rpm) > 0'.", + "type": "sensor", + "unit": "h", + "uuid": "a23a62e24f58514d961890f53262e4e0" + }, + "EngineOilCapacity": { + "datatype": "float", + "description": "Engine oil capacity in liters.", + "type": "attribute", + "unit": "l", + "uuid": "2ca7af6facb55a13885989faa9bc6ca7" + }, + "EngineOilLevel": { + "allowed": [ + "CRITICALLY_LOW", + "LOW", + "NORMAL", + "HIGH", + "CRITICALLY_HIGH" + ], + "datatype": "string", + "description": "Engine oil level.", + "type": "sensor", + "uuid": "e3813f59e94b509eb865fd97255a8a4f" + }, + "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", + "uuid": "6caa3d7e669c5cc6aecd4a6be9a302d4" + }, + "IsRunning": { + "datatype": "boolean", + "description": "Engine Running. True if engine is rotating (Speed > 0).", + "type": "sensor", + "uuid": "57652c27679757398c44d56af7a044d3" + }, + "MAF": { + "datatype": "uint16", + "description": "Grams of air drawn into engine per second.", + "type": "sensor", + "unit": "g/s", + "uuid": "1e222ed8c48b5dcea60e43ac8af7d6df" + }, + "MAP": { + "datatype": "uint16", + "description": "Manifold absolute pressure possibly boosted using forced induction.", + "type": "sensor", + "unit": "kPa", + "uuid": "28d4354fa34056369acb857aa7cc76ac" + }, + "MaxPower": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in kilowatts, that engine can generate.", + "type": "attribute", + "unit": "kW", + "uuid": "81fbdd5e90f557a38b96578a38dc137d" + }, + "MaxTorque": { + "datatype": "uint16", + "default": 0, + "description": "Peak torque, in newton meter, that the engine can generate.", + "type": "attribute", + "unit": "Nm", + "uuid": "471cd478c1e8597f8e97c85b4e4ebe26" + }, + "NumberOfCylinders": { + "datatype": "uint16", + "description": "Number of cylinders.", + "type": "attribute", + "uuid": "b2cd342c218257e88d214cdb511df82b" + }, + "NumberOfValvesPerCylinder": { + "datatype": "uint16", + "description": "Number of valves per cylinder.", + "type": "attribute", + "uuid": "44633204726e561ca21beff31f3fef80" + }, + "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" + }, + "Power": { + "datatype": "uint16", + "description": "Current engine power output. Shall be reported as 0 during engine breaking.", + "type": "sensor", + "unit": "kW", + "uuid": "20e8b5d2187758c2848ed421248c180d" + }, + "Speed": { + "datatype": "uint16", + "description": "Engine speed measured as rotations per minute.", + "type": "sensor", + "unit": "rpm", + "uuid": "557ce24c5a4d51cc825059c948ac9e29" + }, + "StrokeLength": { + "datatype": "float", + "description": "Stroke length in millimetres.", + "type": "attribute", + "unit": "mm", + "uuid": "1bdfdab7904d51ed93e101b84ea54ddf" + }, + "TPS": { + "datatype": "uint8", + "description": "Current throttle position.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "1ddb77860de558b4876ffb399a442bda" + }, + "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.", + "type": "sensor", + "unit": "Nm", + "uuid": "b81f504bdb57513299ae6e9402ec7bcd" + } + }, + "description": "Engine-specific data, stopping at the bell housing.", + "type": "branch", + "uuid": "159e2e3e75f0590f95b4d2f6cfae54b5" + }, + "ElectricMotor": { + "children": { + "CoolantTemperature": { + "datatype": "int16", + "description": "Motor coolant temperature (if applicable).", + "type": "sensor", + "unit": "celsius", + "uuid": "3c5ea8c7700956518f2ae7a2a0f34f1c" + }, + "EngineCode": { + "datatype": "string", + "description": "Engine code designation, as specified by vehicle manufacturer.", + "type": "attribute", + "uuid": "e4102a5142ed501495e5edafd3d36dfb" + }, + "MaxPower": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in kilowatts, that motor(s) can generate.", + "type": "attribute", + "unit": "kW", + "uuid": "825ec7911ee958abb199b9f7903df3a6" + }, + "MaxRegenPower": { + "datatype": "uint16", + "default": 0, + "description": "Peak regen/brake power, in kilowatts, that motor(s) can generate.", + "type": "attribute", + "unit": "kW", + "uuid": "7f2cb2650ba95485b7156ffe76e27366" + }, + "MaxRegenTorque": { + "datatype": "uint16", + "default": 0, + "description": "Peak regen/brake torque, in newton meter, that the motor(s) can generate.", + "type": "attribute", + "unit": "Nm", + "uuid": "0e5190c2517b55aa80fcb9bf698e02d6" + }, + "MaxTorque": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in newton meter, that the motor(s) can generate.", + "type": "attribute", + "unit": "Nm", + "uuid": "cf31eabcde5151f589e9b0f7a6090512" + }, + "Power": { + "datatype": "int16", + "description": "Current motor power output. Negative values indicate regen mode.", + "type": "sensor", + "unit": "kW", + "uuid": "46b86286fba059349a733fed9a0e3232" + }, + "Speed": { + "datatype": "int32", + "description": "Motor rotational speed measured as rotations per minute. Negative values indicate reverse driving mode.", + "type": "sensor", + "unit": "rpm", + "uuid": "ca961aa6ca435095a89f9d404a5d849d" + }, + "Temperature": { + "datatype": "int16", + "description": "Motor temperature.", + "type": "sensor", + "unit": "celsius", + "uuid": "1b7c15e5341052139995bfacea2c05b2" + }, + "Torque": { + "datatype": "int16", + "description": "Current motor torque. Negative values indicate regen mode.", + "type": "sensor", + "unit": "Nm", + "uuid": "aceffe768ddf5b828fff0975349d2433" + } + }, + "description": "Electric Motor specific data.", + "type": "branch", + "uuid": "1ade64f6b0d05f6c9340e7a667555ae2" + }, + "FuelSystem": { + "children": { + "AbsoluteLevel": { + "datatype": "float", + "description": "Current available fuel in the fuel tank expressed in liters.", + "type": "sensor", + "unit": "l", + "uuid": "00a1399655ee5d9188022f3d55d8f05e" + }, + "AverageConsumption": { + "datatype": "float", + "description": "Average consumption in liters per 100 km.", + "min": 0, + "type": "sensor", + "unit": "l/100km", + "uuid": "e2252108125a54dcab34e1bad0fe8bdc" + }, + "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", + "uuid": "adf0a40964ff556f92b10275ad918883" + }, + "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", + "uuid": "f0f72012f5e453c1935ff8c3a5aff696" + }, + "InstantConsumption": { + "datatype": "float", + "description": "Current consumption in liters per 100 km.", + "min": 0, + "type": "sensor", + "unit": "l/100km", + "uuid": "cf65767ec8ad56ffadfdccd831e4b562" + }, + "IsEngineStopStartEnabled": { + "datatype": "boolean", + "description": "Indicates whether eco start stop is currently enabled.", + "type": "sensor", + "uuid": "176eed5bb0da582a9ee56f1c70e12075" + }, + "IsFuelLevelLow": { + "datatype": "boolean", + "description": "Indicates that the fuel level is low (e.g. <50km range).", + "type": "sensor", + "uuid": "65f18ee3b04f5d4c8bb76083227dd9fe" + }, + "Range": { + "datatype": "uint32", + "description": "Remaining range in meters using only liquid fuel.", + "type": "sensor", + "unit": "m", + "uuid": "c5a0dbe5e754553897f0aed0069af57a" + }, + "RelativeLevel": { + "datatype": "uint8", + "description": "Level in fuel tank as percent of capacity. 0 = empty. 100 = full.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "e90e3daa1dcd5165a9d78b09e890fb22" + }, + "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", + "uuid": "7fd3bf2ef0c650e69ff2037875ec59ee" + }, + "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", + "uuid": "80edc3002aa25097aba6455fe459fa6c" + }, + "TankCapacity": { + "datatype": "float", + "description": "Capacity of the fuel tank in liters.", + "type": "attribute", + "unit": "l", + "uuid": "362643b866c55d5386fdbdf383464e90" + } + }, + "description": "Fuel system data.", + "type": "branch", + "uuid": "dbc194a7f97d5a56bc8942c17c2db22e" + }, + "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", + "uuid": "d740b02e2fb35c07bf88a6e5ebe2f6e4" + }, + "Range": { + "datatype": "uint32", + "description": "Remaining range in meters using all energy sources available in the vehicle.", + "type": "sensor", + "unit": "m", + "uuid": "ea4b6de772d65d20b1fa611f997aa7b8" + }, + "TractionBattery": { + "children": { + "AccumulatedChargedEnergy": { + "datatype": "float", + "description": "The accumulated energy delivered to the battery during charging over lifetime of the battery.", + "type": "sensor", + "unit": "kWh", + "uuid": "739d06021d795da0877bc0ef3c107de1" + }, + "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" + }, + "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" + }, + "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" + }, + "CellVoltage": { + "children": { + "Max": { + "datatype": "float", + "description": "Current voltage of the battery cell with highest voltage.", + "type": "sensor", + "unit": "V", + "uuid": "bde40aa6b442580db3c0d4c1efed8a09" + }, + "Min": { + "datatype": "float", + "description": "Current voltage of the battery cell with lowest voltage.", + "type": "sensor", + "unit": "V", + "uuid": "b868f28cc42a5ba28a127647cd16cb93" + } + }, + "description": "Voltage information for cells in the battery pack.", + "type": "branch", + "uuid": "0070210b80125f1a8e9473f8875fe3d1" + }, + "Charging": { + "children": { + "ChargeCurrent": { + "children": { + "DC": { + "datatype": "float", + "description": "Current DC charging current at inlet. Negative if returning energy to grid.", + "type": "sensor", + "unit": "A", + "uuid": "44204d7ae6fd5f8e954d0670a739bdf2" + }, + "Phase1": { + "datatype": "float", + "description": "Current AC charging current (rms) at inlet for Phase 1. Negative if returning energy to grid.", + "type": "sensor", + "unit": "A", + "uuid": "400dca50fcde52a6bb605d7e86f49776" + }, + "Phase2": { + "datatype": "float", + "description": "Current AC charging current (rms) at inlet for Phase 2. Negative if returning energy to grid.", + "type": "sensor", + "unit": "A", + "uuid": "32cb24d1c495503a9087d6f55997cf57" + }, + "Phase3": { + "datatype": "float", + "description": "Current AC charging current (rms) at inlet for Phase 3. Negative if returning energy to grid.", + "type": "sensor", + "unit": "A", + "uuid": "55fb7fb7ff4a5df9b6a3af435eac868e" + } + }, + "description": "Current charging current.", + "type": "branch", + "uuid": "94739cf563735b438878ac0f85601f27" + }, + "ChargeLimit": { + "datatype": "uint8", + "default": 100, + "description": "Target charge limit (state of charge) for battery.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "62360a4ed1095275a7052d65112aaef1" + }, + "ChargePlugType": { + "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 inlets. 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.", + "datatype": "string[]", + "description": "Type of charge plug (charging inlet) available on the vehicle. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", + "type": "attribute", + "uuid": "4c56357a6f1d586395215a9beeb26d91" + }, + "ChargePortFlap": { + "allowed": [ + "OPEN", + "CLOSED" + ], + "datatype": "string", + "description": "Status of the charge port cover, can potentially be controlled manually.", + "type": "actuator", + "uuid": "71bdd2145bb55c3393df194bfc2e03e5" + }, + "ChargeRate": { + "datatype": "float", + "description": "Current charging rate, as in kilometers of range added per hour.", + "type": "sensor", + "unit": "km/h", + "uuid": "a287cea3fdaa533180c8e349343a7851" + }, + "ChargeVoltage": { + "children": { + "DC": { + "datatype": "float", + "description": "Current DC charging voltage at charging inlet.", + "type": "sensor", + "unit": "V", + "uuid": "701c21d1a4815b35ba061415789ec911" + }, + "Phase1": { + "datatype": "float", + "description": "Current AC charging voltage (rms) at inlet for Phase 1.", + "type": "sensor", + "unit": "V", + "uuid": "15991c8316585816815d6f4fb6b06776" + }, + "Phase2": { + "datatype": "float", + "description": "Current AC charging voltage (rms) at inlet for Phase 2.", + "type": "sensor", + "unit": "V", + "uuid": "6c0dcf98169d5a5190736a6dd81291a4" + }, + "Phase3": { + "datatype": "float", + "description": "Current AC charging voltage (rms) at inlet for Phase 3.", + "type": "sensor", + "unit": "V", + "uuid": "1ab06b48231e54e2ac27e543508c84f0" + } + }, + "description": "Current charging voltage, as measured at the charging inlet.", + "type": "branch", + "uuid": "7170151d653b52c6bb5e75cb0a14d1c5" + }, + "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", + "uuid": "d28244c9e3365899954bd3e38ef46bb9" + }, + "IsChargingCableConnected": { + "datatype": "boolean", + "description": "Indicates if a charging cable is physically connected to the vehicle or not.", + "type": "sensor", + "uuid": "a1c8e2f662b95a54a9933a1b163fff84" + }, + "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" + }, + "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" + }, + "MaximumChargingCurrent": { + "children": { + "DC": { + "datatype": "float", + "description": "Maximum DC charging current at inlet that can be accepted by the system.", + "type": "sensor", + "unit": "A", + "uuid": "5a70acfd3c8959898b43738151ab36e1" + }, + "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" + }, + "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" + }, + "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" + } + }, + "description": "Maximum charging current that can be accepted by the system, as measured at the charging inlet.", + "type": "branch", + "uuid": "e3f2e57e7a395d9ca9931d429e540a34" + }, + "Mode": { + "allowed": [ + "MANUAL", + "TIMER", + "GRID", + "PROFILE" + ], + "comment": "The mechanism to provide a profile to the vehicle is currently not covered by VSS.", + "datatype": "string", + "description": "Control of the charge process. MANUAL means manually initiated (plug-in event, companion app, etc). TIMER means timer-based. GRID means grid-controlled (e.g. ISO 15118). PROFILE means controlled by profile download to vehicle.", + "type": "actuator", + "uuid": "1e4be3280b265873945531f6f6d0ec6b" + }, + "PowerLoss": { + "datatype": "float", + "description": "Electrical energy lost by power dissipation to heat inside the AC/DC converter.", + "type": "sensor", + "unit": "W", + "uuid": "88f40bbeb80b5dfb97ceba13269665c5" + }, + "StartStopCharging": { + "allowed": [ + "START", + "STOP" + ], + "datatype": "string", + "description": "Start or stop the charging process.", + "type": "actuator", + "uuid": "80506d3e9a2557c2b52f74a50d89593f" + }, + "Temperature": { + "datatype": "float", + "description": "Current temperature of AC/DC converter converting grid voltage to battery voltage.", + "type": "sensor", + "unit": "celsius", + "uuid": "c3c0ef3a41db5df1bab659803adbc7ba" + }, + "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", + "uuid": "c6439c2e068652b08383b9654e2e784a" + }, + "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", + "uuid": "b09fb52261735977af275dda1904a7a1" + }, + "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", + "uuid": "c08dcaeda02b5e26aacd7e2542f0fc90" + } + }, + "description": "Properties related to timing of battery charging sessions.", + "type": "branch", + "uuid": "cd5b57ada627510e83f90832efed9d5a" + } + }, + "description": "Properties related to battery charging.", + "type": "branch", + "uuid": "49b9ef0c8b145a36afdf17d0cb44131b" + }, + "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" + }, + "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" + }, + "CurrentVoltage": { + "datatype": "float", + "description": "Current Voltage of the battery.", + "type": "sensor", + "unit": "V", + "uuid": "7b54ea22ee7d5f559da552aefcc07222" + }, + "DCDC": { + "children": { + "PowerLoss": { + "datatype": "float", + "description": "Electrical energy lost by power dissipation to heat inside DC/DC converter.", + "type": "sensor", + "unit": "W", + "uuid": "f29e37087cdf57ca998188c7b945a77b" + }, + "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" + } + }, + "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" + }, + "GrossCapacity": { + "datatype": "uint16", + "description": "Gross capacity of the battery.", + "type": "attribute", + "unit": "kWh", + "uuid": "5460530488435dc8bfa1298bf47a993d" + }, + "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" + }, + "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" + }, + "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" + }, + "MaxVoltage": { + "datatype": "uint16", + "description": "Max allowed voltage of the battery, e.g. during charging.", + "type": "attribute", + "unit": "V", + "uuid": "a81264a0ef0c55d288671cfc62c4add5" + }, + "NetCapacity": { + "datatype": "uint16", + "description": "Total net capacity of the battery considering aging.", + "type": "sensor", + "unit": "kWh", + "uuid": "9c68fe42cb81501eb6349f8c9b0b6899" + }, + "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": "3eccae5633185b998d5bdb6ea33cd926" + }, + "PowerLoss": { + "datatype": "float", + "description": "Electrical energy lost by power dissipation to heat inside the battery.", + "type": "sensor", + "unit": "W", + "uuid": "880082aafe025cb3a5776b623f9a48b5" + }, + "ProductionDate": { + "datatype": "string", + "description": "Production date of battery in ISO8601 format, e.g. YYYY-MM-DD.", + "type": "attribute", + "uuid": "c9509ba4d76c56d9a8c1d6e2280ae02f" + }, + "Range": { + "datatype": "uint32", + "description": "Remaining range in meters using only battery.", + "type": "sensor", + "unit": "m", + "uuid": "c0376a425e5d578d9d86ae0dc2ad9778" + }, + "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", + "uuid": "2e647ca3a1ff5e52af137aab240642da" + }, + "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", + "uuid": "435ef8dbe4425450ae1ff6215fc9e40b" + }, + "Displayed": { + "datatype": "float", + "description": "State of charge displayed to the customer.", + "max": 100.0, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "1bfcc228293b5512aafe2508ab0500d2" + } + }, + "description": "Information on the state of charge of the vehicle's high voltage battery.", + "type": "branch", + "uuid": "26bae2ce7c4d5e2a951915ef2f5d8b7d" + }, + "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", + "uuid": "4d982c47f3245048bcfec1190973a3ed" + }, + "Temperature": { + "children": { + "Average": { + "datatype": "float", + "description": "Current average temperature of the battery cells.", + "type": "sensor", + "unit": "celsius", + "uuid": "ae28e502137f56b9a037ed9b32bc04e1" + }, + "Max": { + "datatype": "float", + "description": "Current maximum temperature of the battery cells, i.e. temperature of the hottest cell.", + "type": "sensor", + "unit": "celsius", + "uuid": "07aa7c8ba1d355398d7469c2b337152a" + }, + "Min": { + "datatype": "float", + "description": "Current minimum temperature of the battery cells, i.e. temperature of the coldest cell.", + "type": "sensor", + "unit": "celsius", + "uuid": "4e3f630fefa7558fa302b175bc7eb5c7" + } + }, + "description": "Temperature Information for the battery pack.", + "type": "branch", + "uuid": "1cfbcf8c152959dcb3eb2c54fc42e623" + } + }, + "description": "Battery Management data.", + "type": "branch", + "uuid": "1a2515d1a8875d86873431194ade2b50" + }, + "Transmission": { + "children": { + "ClutchEngagement": { + "datatype": "float", + "description": "Clutch engagement. 0% = Clutch fully disengaged. 100% = Clutch fully engaged.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "2890bd4a2b6a56c19b62d7bd95151fc6" + }, + "ClutchWear": { + "datatype": "uint8", + "description": "Clutch wear as a percent. 0 = no wear. 100 = worn.", + "max": 100, + "type": "sensor", + "unit": "percent", + "uuid": "c113405ad165571a9d53ae4cf55dc929" + }, + "CurrentGear": { + "datatype": "int8", + "description": "The current gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse.", + "type": "sensor", + "uuid": "cd0ba1d772565e16bff46cbd5c9361da" + }, + "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", + "uuid": "5149afe37fbd5c24847b5820821abc02" + }, + "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", + "uuid": "197c939bd1405613b80179becec6db83" + }, + "DriveType": { + "allowed": [ + "UNKNOWN", + "FORWARD_WHEEL_DRIVE", + "REAR_WHEEL_DRIVE", + "ALL_WHEEL_DRIVE" + ], + "datatype": "string", + "default": "UNKNOWN", + "description": "Drive type.", + "type": "attribute", + "uuid": "0e480b76fb2d5f8bb08fb586f90ee6ae" + }, + "GearChangeMode": { + "allowed": [ + "MANUAL", + "AUTOMATIC" + ], + "datatype": "string", + "description": "Is the gearbox in automatic or manual (paddle) mode.", + "type": "actuator", + "uuid": "ff3c69378c2f598286e51f7dac13adaa" + }, + "GearCount": { + "datatype": "int8", + "default": 0, + "description": "Number of forward gears in the transmission. -1 = CVT.", + "type": "attribute", + "uuid": "84293f40d3ed57f1a08992d97b1a9ccd" + }, + "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" + }, + "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" + }, + "IsParkLockEngaged": { + "datatype": "boolean", + "description": "Is the transmission park lock engaged or not. False = Disengaged. True = Engaged.", + "type": "actuator", + "uuid": "1578da3f925e54ac9df978abd0195408" + }, + "PerformanceMode": { + "allowed": [ + "NORMAL", + "SPORT", + "ECONOMY", + "SNOW", + "RAIN" + ], + "datatype": "string", + "description": "Current gearbox performance mode.", + "type": "actuator", + "uuid": "6b5cfd85cb595e559503ccf993be04dd" + }, + "SelectedGear": { + "datatype": "int8", + "description": "The selected gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse, 126=Park, 127=Drive.", + "type": "actuator", + "uuid": "490fd99b9d5f562eb180c19e8cef5e12" + }, + "Temperature": { + "datatype": "int16", + "description": "The current gearbox temperature.", + "type": "sensor", + "unit": "celsius", + "uuid": "4f5e48c3511b5e1abff11aa7ec62dd18" + }, + "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", + "uuid": "d3bcaaf973d3512287817049db9bd677" + }, + "TravelledDistance": { + "datatype": "float", + "description": "Odometer reading, total distance travelled during the lifetime of the transmission.", + "type": "sensor", + "unit": "km", + "uuid": "b9dd66f20c7f5b12a046766b94dc20c1" + }, + "Type": { + "allowed": [ + "UNKNOWN", + "SEQUENTIAL", + "H", + "AUTOMATIC", + "DSG", + "CVT" + ], + "datatype": "string", + "default": "UNKNOWN", + "description": "Transmission type.", + "type": "attribute", + "uuid": "f83b9e5464d85a0288fcb32c164d3c63" + } + }, + "description": "Transmission-specific data, stopping at the drive shafts.", + "type": "branch", + "uuid": "6b71e284b63a527caa6296a66e9fdd0c" + }, + "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", + "uuid": "2a000da4204658a4a6e3ecd5176bdfba" + } + }, + "description": "Powertrain data for battery management, etc.", + "type": "branch", + "uuid": "12f35ec7bd1c58d1a329565ce3d053d5" + }, + "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" + }, + "Service": { + "children": { + "DistanceToService": { + "datatype": "float", + "description": "Remaining distance to service (of any kind). Negative values indicate service overdue.", + "type": "sensor", + "unit": "km", + "uuid": "6f4347ce149759819572c8c3a17e8d93" + }, + "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" + }, + "TimeToService": { + "datatype": "int32", + "description": "Remaining time to service (of any kind). Negative values indicate service overdue.", + "type": "sensor", + "unit": "s", + "uuid": "c968be91a5685fa9ae30b84a0f91934e" + } + }, + "description": "Service data.", + "type": "branch", + "uuid": "b6463772705b56a7a993e23601bd3d47" + }, + "Speed": { + "datatype": "float", + "description": "Vehicle speed.", + "type": "sensor", + "unit": "km/h", + "uuid": "efe50798638d55fab18ab7d43cc490e9" + }, + "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", + "uuid": "3790b5f4513c5a3d90a0503a965bbbe0" + }, + "Trailer": { + "children": { + "IsConnected": { + "datatype": "boolean", + "description": "Signal indicating if trailer is connected or not.", + "type": "sensor", + "uuid": "77f28ed03c125ac9a19d22e9436b0ec4" + } + }, + "description": "Trailer signals.", + "type": "branch", + "uuid": "66206ee5c25a5817bef214c0c8ae8013" + }, + "TraveledDistance": { + "datatype": "float", + "description": "Odometer reading, total distance traveled during the lifetime of the vehicle.", + "type": "sensor", + "unit": "km", + "uuid": "32c3c3585f105d8aa5566ef5a038a741" + }, + "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", + "description": "Distance traveled since start of current trip.", + "type": "sensor", + "unit": "km", + "uuid": "cfc6efd2793152e487f9fe3f4e03fd5d" + }, + "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", + "uuid": "84b9558ad33555389791b57d505f27a8" + }, + "TripMeterReading": { + "comment": "The trip meter is an odometer that can be manually reset by the driver", + "datatype": "float", + "description": "Trip meter reading.", + "type": "actuator", + "unit": "km", + "uuid": "81f51ebfe29c591190171d7b96e1c948" + }, + "VehicleIdentification": { + "children": { + "AcrissCode": { + "datatype": "string", + "description": "The ACRISS Car Classification Code is a code used by many car rental companies.", + "type": "attribute", + "uuid": "115a821e8e0b57f08e4b9e61e85d7156" + }, + "BodyType": { + "datatype": "string", + "description": "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.).", + "type": "attribute", + "uuid": "e6d5c71ecec95d68b0b59bb7e93af759" + }, + "Brand": { + "datatype": "string", + "description": "Vehicle brand or manufacturer.", + "type": "attribute", + "uuid": "19fd645ff5385767bcdbf5dd4313483f" + }, + "DateVehicleFirstRegistered": { + "datatype": "string", + "description": "The date in ISO 8601 format of the first registration of the vehicle with the respective public authorities.", + "type": "attribute", + "uuid": "046f47acf62e50bd863d6568d73743d7" + }, + "KnownVehicleDamages": { + "datatype": "string", + "description": "A textual description of known damages, both repaired and unrepaired.", + "type": "attribute", + "uuid": "e87f352cddb15e94b340506b17207586" + }, + "MeetsEmissionStandard": { + "datatype": "string", + "description": "Indicates that the vehicle meets the respective emission standard.", + "type": "attribute", + "uuid": "d75dedbfadca54d8b6c7261c37ad5d83" + }, + "Model": { + "datatype": "string", + "description": "Vehicle model.", + "type": "attribute", + "uuid": "dd3d3b72e6a85b3695ba25f829255403" + }, + "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" + }, + "ProductionDate": { + "datatype": "string", + "description": "The date in ISO 8601 format of production of the item, e.g. vehicle.", + "type": "attribute", + "uuid": "5683877c4bac504d915b268c9476c190" + }, + "PurchaseDate": { + "datatype": "string", + "description": "The date in ISO 8601 format of the item e.g. vehicle was purchased by the current owner.", + "type": "attribute", + "uuid": "31302f8b57e85c4197afda3e3201fce8" + }, + "VIN": { + "datatype": "string", + "description": "17-character Vehicle Identification Number (VIN) as defined by ISO 3779.", + "type": "attribute", + "uuid": "6f0b6fa8c34f589baa92e565bc9df5bd" + }, + "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" + }, + "VehicleInteriorColor": { + "datatype": "string", + "description": "The color or color combination of the interior of the vehicle.", + "type": "attribute", + "uuid": "67a8b069b8bf573993d51959c24f04e2" + }, + "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" + }, + "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", + "uuid": "c71b63f83dea536bac58e62bbe537f11" + }, + "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" + }, + "VehicleSpecialUsage": { + "datatype": "string", + "description": "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school.", + "type": "attribute", + "uuid": "7e6e8a48f54a5549a8f6af8f1dc5eb8d" + }, + "WMI": { + "datatype": "string", + "description": "3-character World Manufacturer Identification (WMI) as defined by ISO 3780.", + "type": "attribute", + "uuid": "e7c86defbcd554a79f90ba85de58e133" + }, + "Year": { + "datatype": "uint16", + "description": "Model year of the vehicle.", + "type": "attribute", + "uuid": "9a76b0aca8e45f6fb33dbaf5b976b8b5" + } + }, + "description": "Attributes that identify a vehicle.", + "type": "branch", + "uuid": "c33861c3e9125208b05f23fe922bf08e" + }, + "VersionVSS": { + "children": { + "Label": { + "datatype": "string", + "description": "Label to further describe the version.", + "type": "attribute", + "uuid": "7c92cd50d24b5662922b27cb9a327e53" + }, + "Major": { + "datatype": "uint32", + "default": 4, + "description": "Supported Version of VSS - Major version.", + "type": "attribute", + "uuid": "5edf1a338c975cbb84d4ce3cfe1aa4b4" + }, + "Minor": { + "datatype": "uint32", + "default": 0, + "description": "Supported Version of VSS - Minor version.", + "type": "attribute", + "uuid": "6e70a598dbc7534c96c58c18e9888cfd" + }, + "Patch": { + "datatype": "uint32", + "default": 0, + "description": "Supported Version of VSS - Patch version.", + "type": "attribute", + "uuid": "69858f224af459338b9bfbff436dda45" + } + }, + "description": "Supported Version of VSS.", + "type": "branch", + "uuid": "9a687e56f1305eedb20f6a021ea58f48" + }, + "Width": { + "datatype": "uint16", + "default": 0, + "description": "Overall vehicle width.", + "type": "attribute", + "unit": "mm", + "uuid": "b4aabe144e3259adb1459a2e25fec9bd" + } + }, + "description": "High-level vehicle data.", + "type": "branch", + "uuid": "ccc825f94139544dbb5f4bfd033bece6" + } +} From 3b0b3df6dd685ef3fea6f5026210d9cd3af24d92 Mon Sep 17 00:00:00 2001 From: Andre Weber Date: Mon, 4 Mar 2024 14:39:43 +0100 Subject: [PATCH 2/6] chore: Add TestResourceFile --- .../DataBrokerConnectorAuthenticationTest.kt | 4 ++- .../kuksa/DataBrokerConnectorSecureTest.kt | 6 ++-- test/build.gradle.kts | 23 +-------------- .../eclipse/kuksa/test/TestResourceFile.kt | 28 +++++++++++++++++++ vss-processor/build.gradle.kts | 2 ++ .../parser/json/JsonDefinitionParserTest.kt | 23 ++++++--------- .../parser/yaml/YamlDefinitionParserTest.kt | 14 ++++------ 7 files changed, 52 insertions(+), 48 deletions(-) create mode 100644 test/src/main/java/org/eclipse/kuksa/test/TestResourceFile.kt diff --git a/kuksa-sdk/src/test/kotlin/org/eclipse/kuksa/DataBrokerConnectorAuthenticationTest.kt b/kuksa-sdk/src/test/kotlin/org/eclipse/kuksa/DataBrokerConnectorAuthenticationTest.kt index 74455579..bcf7c653 100644 --- a/kuksa-sdk/src/test/kotlin/org/eclipse/kuksa/DataBrokerConnectorAuthenticationTest.kt +++ b/kuksa-sdk/src/test/kotlin/org/eclipse/kuksa/DataBrokerConnectorAuthenticationTest.kt @@ -24,6 +24,7 @@ import io.kotest.matchers.shouldBe import org.eclipse.kuksa.databroker.DataBrokerConnectorProvider import org.eclipse.kuksa.model.Property import org.eclipse.kuksa.proto.v1.Types +import org.eclipse.kuksa.test.TestResourceFile import org.eclipse.kuksa.test.kotest.Authentication import org.eclipse.kuksa.test.kotest.CustomDatabroker import org.eclipse.kuksa.test.kotest.Insecure @@ -170,6 +171,7 @@ enum class JwtType(private val fileName: String) { ; fun asInputStream(): InputStream { - return DataBrokerConnectionTest::class.java.classLoader?.getResourceAsStream(fileName)!! + val resourceFile = TestResourceFile(fileName) + return resourceFile.inputStream() } } diff --git a/kuksa-sdk/src/test/kotlin/org/eclipse/kuksa/DataBrokerConnectorSecureTest.kt b/kuksa-sdk/src/test/kotlin/org/eclipse/kuksa/DataBrokerConnectorSecureTest.kt index db185bca..f9d7b073 100644 --- a/kuksa-sdk/src/test/kotlin/org/eclipse/kuksa/DataBrokerConnectorSecureTest.kt +++ b/kuksa-sdk/src/test/kotlin/org/eclipse/kuksa/DataBrokerConnectorSecureTest.kt @@ -21,6 +21,7 @@ package org.eclipse.kuksa import io.kotest.core.spec.style.BehaviorSpec import org.eclipse.kuksa.databroker.DataBrokerConnectorProvider +import org.eclipse.kuksa.test.TestResourceFile import org.eclipse.kuksa.test.kotest.CustomDatabroker import org.eclipse.kuksa.test.kotest.Integration import org.eclipse.kuksa.test.kotest.Secure @@ -37,8 +38,9 @@ class DataBrokerConnectorSecureTest : BehaviorSpec({ val dataBrokerConnectorProvider = DataBrokerConnectorProvider() and("a secure DataBrokerConnector with valid Host, Port and TLS certificate") { - val certificate = DataBrokerConnectionTest::class.java.classLoader?.getResourceAsStream("CA.pem")!! - val dataBrokerConnector = dataBrokerConnectorProvider.createSecure(rootCertFileStream = certificate) + val certificate = TestResourceFile("CA.pem") + val dataBrokerConnector = + dataBrokerConnectorProvider.createSecure(rootCertFileStream = certificate.inputStream()) `when`("Trying to establish a secure connection") { val connection = dataBrokerConnector.connect() diff --git a/test/build.gradle.kts b/test/build.gradle.kts index 02924137..9862289d 100644 --- a/test/build.gradle.kts +++ b/test/build.gradle.kts @@ -16,29 +16,8 @@ * SPDX-License-Identifier: Apache-2.0 * */ - -@Suppress("DSL_SCOPE_VIOLATION") // Remove once KTIJ-19369 is fixed plugins { - id("com.android.library") - kotlin("android") -} - -android { - namespace = "org.eclipse.kuksa.test" - compileSdk = 33 - - defaultConfig { - minSdk = 24 - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_1_8 - targetCompatibility = JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = "1.8" - } + kotlin("jvm") } dependencies { diff --git a/test/src/main/java/org/eclipse/kuksa/test/TestResourceFile.kt b/test/src/main/java/org/eclipse/kuksa/test/TestResourceFile.kt new file mode 100644 index 00000000..1e251be9 --- /dev/null +++ b/test/src/main/java/org/eclipse/kuksa/test/TestResourceFile.kt @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2023 - 2024 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.test + +import java.io.File + +private val classLoader: ClassLoader? = TestResourceFile::class.java.classLoader + +class TestResourceFile(path: String) : File( + classLoader!!.getResource(path)?.file ?: error("File does not exist: '$path'"), +) diff --git a/vss-processor/build.gradle.kts b/vss-processor/build.gradle.kts index 65e394b9..8e708c3f 100644 --- a/vss-processor/build.gradle.kts +++ b/vss-processor/build.gradle.kts @@ -43,6 +43,8 @@ dependencies { implementation(libs.kotlinpoet.ksp) implementation(libs.symbol.processing.api) + testImplementation(project(":test")) + testImplementation(libs.kotest) testImplementation(libs.mockk) } diff --git a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt index 96f22868..bb607f95 100644 --- a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt +++ b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt @@ -23,19 +23,17 @@ import io.kotest.assertions.fail import io.kotest.core.spec.style.BehaviorSpec import io.kotest.matchers.shouldBe import io.kotest.matchers.types.instanceOf -import java.io.File +import org.eclipse.kuksa.test.TestResourceFile import java.io.IOException class JsonDefinitionParserTest : BehaviorSpec({ given("A JsonDefinitionParser") { val classUnderTest = JsonDefinitionParser() - val classLoader = JsonDefinitionParserTest::class.java.classLoader `when`("Parsing the SpecModels of vss_rel_4.0.partial.json") { - val urlToPartialSpec = classLoader.getResource("json/vss_rel_4.0.partial.json")!! - val file = File(urlToPartialSpec.path) - val specModels = classUnderTest.parseSpecifications(file) + val partialSpecFile = TestResourceFile("json/vss_rel_4.0.partial.json") + val specModels = classUnderTest.parseSpecifications(partialSpecFile) then("The following SpecModels should be parsed") { val validVssPaths = listOf( @@ -89,9 +87,8 @@ class JsonDefinitionParserTest : BehaviorSpec({ } `when`("Parsing the SpecModels of vss_rel_4.0.json") { - val urlToFullSpec = classLoader.getResource("json/vss_rel_4.0.json")!! - val file = File(urlToFullSpec.path) - val specModels = classUnderTest.parseSpecifications(file) + val fullSpecFile = TestResourceFile("json/vss_rel_4.0.json") + val specModels = classUnderTest.parseSpecifications(fullSpecFile) then("the correct number of specification models should be parsed") { specModels.size shouldBe 1197 // counted occurrences of '"uuid":' in specFile @@ -99,11 +96,10 @@ class JsonDefinitionParserTest : BehaviorSpec({ } `when`("Parsing an incompatible / non-vss json file") { - val urlToFullSpec = classLoader.getResource("json/incompatible.json")!! - val file = File(urlToFullSpec.path) + val incompatibleFile = TestResourceFile("json/incompatible.json") val result = runCatching { - classUnderTest.parseSpecifications(file) + classUnderTest.parseSpecifications(incompatibleFile) } then("An IOException is thrown") { @@ -112,11 +108,10 @@ class JsonDefinitionParserTest : BehaviorSpec({ } `when`("Parsing a non-json file") { - val urlToFullSpec = classLoader.getResource("yaml/vss_rel_4.0.yaml")!! - val file = File(urlToFullSpec.path) + val nonJsonFile = TestResourceFile("yaml/vss_rel_4.0.yaml") val result = runCatching { - classUnderTest.parseSpecifications(file) + classUnderTest.parseSpecifications(nonJsonFile) } then("An IOException is thrown") { diff --git a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParserTest.kt b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParserTest.kt index e41946fc..98f7ab1b 100644 --- a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParserTest.kt +++ b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParserTest.kt @@ -21,19 +21,17 @@ package org.eclipse.kuksa.vssprocessor.parser.yaml import io.kotest.core.spec.style.BehaviorSpec import io.kotest.matchers.shouldBe -import java.io.File +import org.eclipse.kuksa.test.TestResourceFile class YamlDefinitionParserTest : BehaviorSpec({ given("A parser for yaml files") { val parser = YamlDefinitionParser() - val classLoader = parser::class.java.classLoader!! and("a specification file of version 4") { - val resourceUrl = classLoader.getResource("yaml/vss_rel_4.0.yaml")!! - val specificationFile = File(resourceUrl.path) + val fullSpecificationFile = TestResourceFile("yaml/vss_rel_4.0.yaml") `when`("parsing the file") { - val parsedSpecifications = parser.parseSpecifications(specificationFile) + val parsedSpecifications = parser.parseSpecifications(fullSpecificationFile) then("the correct number of specification models should be parsed") { parsedSpecifications.size shouldBe 1197 // counted occurrences of '"uuid":' in specFile @@ -41,8 +39,7 @@ class YamlDefinitionParserTest : BehaviorSpec({ } } and("an incompatible yaml file") { - val incompatibleResourceUrl = classLoader.getResource("yaml/incompatible.yaml")!! - val incompatibleFile = File(incompatibleResourceUrl.path) + val incompatibleFile = TestResourceFile("yaml/incompatible.yaml") `when`("parsing the file") { val parsedSpecifications = parser.parseSpecifications(incompatibleFile) @@ -53,8 +50,7 @@ class YamlDefinitionParserTest : BehaviorSpec({ } } and("an invalid yaml file") { - val invalidResourceUrl = classLoader.getResource("yaml/invalid.yaml")!! - val invalidFile = File(invalidResourceUrl.path) + val invalidFile = TestResourceFile("yaml/invalid.yaml") `when`("parsing the file") { val parsedSpecifications = parser.parseSpecifications(invalidFile) From c5506d6383c6354809278ef448f30181ee00b819 Mon Sep 17 00:00:00 2001 From: Andre Weber Date: Tue, 5 Mar 2024 08:51:09 +0100 Subject: [PATCH 3/6] chore: Add Compatibility Tests for old VSS Specs --- .../parser/json/JsonDefinitionParserTest.kt | 74 +- .../src/test/resources/json/vss_rel_2.0.json | 12124 ++++++++++++++++ .../src/test/resources/json/vss_rel_2.1.json | 7023 +++++++++ .../src/test/resources/json/vss_rel_2.2.json | 7041 +++++++++ .../src/test/resources/json/vss_rel_3.0.json | 1 + .../test/resources/json/vss_rel_3.1.1.json | 1 + 6 files changed, 26261 insertions(+), 3 deletions(-) create mode 100644 vss-processor/src/test/resources/json/vss_rel_2.0.json create mode 100644 vss-processor/src/test/resources/json/vss_rel_2.1.json create mode 100644 vss-processor/src/test/resources/json/vss_rel_2.2.json create mode 100644 vss-processor/src/test/resources/json/vss_rel_3.0.json create mode 100644 vss-processor/src/test/resources/json/vss_rel_3.1.1.json diff --git a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt index bb607f95..3aacad60 100644 --- a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt +++ b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt @@ -86,7 +86,7 @@ class JsonDefinitionParserTest : BehaviorSpec({ } } - `when`("Parsing the SpecModels of vss_rel_4.0.json") { + `when`("Parsing vss_rel_4.0.json") { val fullSpecFile = TestResourceFile("json/vss_rel_4.0.json") val specModels = classUnderTest.parseSpecifications(fullSpecFile) @@ -95,9 +95,78 @@ class JsonDefinitionParserTest : BehaviorSpec({ } } + `when`("Parsing vss_rel_3.1.1.json") { + val fullSpecFile = TestResourceFile("json/vss_rel_3.1.1.json") + val result = runCatching { + classUnderTest.parseSpecifications(fullSpecFile) + } + + then("No Exception should be thrown") { + result.exceptionOrNull() shouldBe null + } + then("The correct number of results should be parsed") { + result.getOrNull()?.size shouldBe 1138 // counted occurrences of '"uuid":' in specFile + } + } + + `when`("Parsing vss_rel_3.0.json") { + val fullSpecFile = TestResourceFile("json/vss_rel_3.0.json") + val result = runCatching { + classUnderTest.parseSpecifications(fullSpecFile) + } + + then("No Exception should be thrown") { + result.exceptionOrNull() shouldBe null + } + then("The correct number of results should be parsed") { + result.getOrNull()?.size shouldBe 1079 // counted occurrences of '"uuid":' in specFile + } + } + + `when`("Parsing vss_rel_2.2.json") { + val fullSpecFile = TestResourceFile("json/vss_rel_2.2.json") + val result = runCatching { + classUnderTest.parseSpecifications(fullSpecFile) + } + + then("No Exception should be thrown") { + result.exceptionOrNull() shouldBe null + } + then("The correct number of results should be parsed") { + result.getOrNull()?.size shouldBe 968 // counted occurrences of '"uuid":' in specFile + } + } + + `when`("Parsing vss_rel_2.1.json") { + val fullSpecFile = TestResourceFile("json/vss_rel_2.1.json") + val result = runCatching { + classUnderTest.parseSpecifications(fullSpecFile) + } + + then("No Exception should be thrown") { + result.exceptionOrNull() shouldBe null + } + then("The correct number of results should be parsed") { + result.getOrNull()?.size shouldBe 967 // counted occurrences of '"uuid":' in specFile + } + } + + `when`("Parsing vss_rel_2.0.json") { + val fullSpecFile = TestResourceFile("json/vss_rel_2.0.json") + val result = runCatching { + classUnderTest.parseSpecifications(fullSpecFile) + } + + then("No Exception should be thrown") { + result.exceptionOrNull() shouldBe null + } + then("The correct number of results should be parsed") { + result.getOrNull()?.size shouldBe 1712 // counted occurrences of '"uuid":' in specFile + } + } + `when`("Parsing an incompatible / non-vss json file") { val incompatibleFile = TestResourceFile("json/incompatible.json") - val result = runCatching { classUnderTest.parseSpecifications(incompatibleFile) } @@ -109,7 +178,6 @@ class JsonDefinitionParserTest : BehaviorSpec({ `when`("Parsing a non-json file") { val nonJsonFile = TestResourceFile("yaml/vss_rel_4.0.yaml") - val result = runCatching { classUnderTest.parseSpecifications(nonJsonFile) } diff --git a/vss-processor/src/test/resources/json/vss_rel_2.0.json b/vss-processor/src/test/resources/json/vss_rel_2.0.json new file mode 100644 index 00000000..ccf3430c --- /dev/null +++ b/vss-processor/src/test/resources/json/vss_rel_2.0.json @@ -0,0 +1,12124 @@ +{ + "Vehicle": { + "type": "branch", + "description": "High-level vehicle data.", + "uuid": "ccc825f94139544dbb5f4bfd033bece6", + "children": { + "VersionVSS": { + "type": "branch", + "description": "Supported Version of VSS", + "uuid": "9a687e56f1305eedb20f6a021ea58f48", + "children": { + "Major": { + "datatype": "uint32", + "type": "attribute", + "description": "Supported Version of VSS - Major version", + "uuid": "5edf1a338c975cbb84d4ce3cfe1aa4b4" + }, + "Minor": { + "datatype": "uint32", + "type": "attribute", + "description": "Supported Version of VSS - Minor version", + "uuid": "6e70a598dbc7534c96c58c18e9888cfd" + }, + "Patch": { + "datatype": "uint32", + "type": "attribute", + "description": "Supported Version of VSS - Patch version", + "uuid": "69858f224af459338b9bfbff436dda45" + }, + "Label": { + "datatype": "string", + "type": "attribute", + "description": "Label to further describe the version", + "uuid": "7c92cd50d24b5662922b27cb9a327e53" + } + } + }, + "VehicleIdentification": { + "type": "branch", + "description": "Attributes that identify a vehicle", + "uuid": "c33861c3e9125208b05f23fe922bf08e", + "children": { + "VIN": { + "datatype": "string", + "type": "attribute", + "description": "17-character Vehicle Identification Number (VIN) as defined by ISO 3779", + "uuid": "6f0b6fa8c34f589baa92e565bc9df5bd" + }, + "WMI": { + "datatype": "string", + "type": "attribute", + "description": "3-character World Manufacturer Identification (WMI) as defined by ISO 3780", + "uuid": "e7c86defbcd554a79f90ba85de58e133" + }, + "Brand": { + "datatype": "string", + "type": "attribute", + "description": "Vehicle brand or manufacturer", + "uuid": "19fd645ff5385767bcdbf5dd4313483f" + }, + "Model": { + "datatype": "string", + "type": "attribute", + "description": "Vehicle model", + "uuid": "dd3d3b72e6a85b3695ba25f829255403" + }, + "Year": { + "datatype": "uint16", + "type": "attribute", + "description": "Model year of the vehicle", + "uuid": "9a76b0aca8e45f6fb33dbaf5b976b8b5" + }, + "ACRISSCode": { + "datatype": "string", + "type": "attribute", + "description": "The ACRISS Car Classification Code is a code used by many car rental companies.", + "uuid": "de98b9de86f359b4bd703b2e3d48f25a" + }, + "bodyType": { + "datatype": "string", + "type": "attribute", + "description": "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.).", + "uuid": "3f6910e6773c532e986240e3d45f623b" + }, + "dateVehicleFirstRegistered": { + "datatype": "string", + "type": "attribute", + "description": "The date of the first registration of the vehicle with the respective public authorities.", + "uuid": "a48af4a5ef28520090255ca1ea2610f1" + }, + "meetsEmissionStandard": { + "datatype": "string", + "type": "attribute", + "description": "Indicates that the vehicle meets the respective emission standard.", + "uuid": "4324b78dfb865164ba91345564d88f39" + }, + "productionDate": { + "datatype": "string", + "type": "attribute", + "description": "The date of production of the item, e.g. vehicle.", + "uuid": "fc755d9de42d5286bfd6b35e4dca6bcb" + }, + "purchaseDate": { + "datatype": "string", + "type": "attribute", + "description": "The date the item e.g. vehicle was purchased by the current owner.", + "uuid": "07ac6595c60a57318b627a05775d696a" + }, + "vehicleModelDate": { + "datatype": "string", + "type": "attribute", + "description": "The release date of a vehicle model (often used to differentiate versions of the same make and model).", + "uuid": "8292d5c6e0b15a92b97d301b31a6f27b" + }, + "vehicleConfiguration": { + "datatype": "string", + "type": "attribute", + "description": "A short text indicating the configuration of the vehicle, e.g. '5dr hatchback ST 2.5 MT 225 hp' or 'limited edition'.", + "uuid": "d5efd9741e5f582f8a8da0d93811347f" + }, + "vehicleSeatingCapacity": { + "datatype": "uint16", + "type": "attribute", + "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.", + "uuid": "0d00e8ecfccf52d9aed6abbe5938df5d" + }, + "vehicleSpecialUsage": { + "datatype": "string", + "type": "attribute", + "description": "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school.", + "uuid": "5d4264def1fd5328a45108a62a4770b1" + }, + "vehicleinteriorColor": { + "datatype": "string", + "type": "attribute", + "description": "A short text indicating the configuration of the vehicle, e.g. '5dr hatchback ST 2.5 MT 225 hp' or 'limited edition'.", + "uuid": "aea3643341d650959293617972a9405e" + }, + "vehicleinteriorType": { + "datatype": "string", + "type": "attribute", + "description": "The type or material of the interior of the vehicle (e.g. synthetic fabric, leather, wood, etc.).", + "uuid": "a2466d9fa9b05409ba53ed46660b7147" + }, + "knownVehicleDamages": { + "datatype": "string", + "type": "attribute", + "description": "A textual description of known damages, both repaired and unrepaired.", + "uuid": "60f32d73afff58d0ac80c1c09b98dfb9" + } + } + }, + "IgnitionOn": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates whether the vehicle ignition is on or off.", + "uuid": "6de19e6839af5f62acab3fbbd8077a98" + }, + "IgnitionOnTime": { + "datatype": "uint32", + "type": "sensor", + "unit": "s", + "description": "Accumulated ignition on time in seconds.", + "uuid": "ffae3b559998574ba58ee66dd0ac5d39" + }, + "IgnitionOffTime": { + "datatype": "uint32", + "type": "sensor", + "unit": "s", + "description": "Accumulated ignition off time in seconds.", + "uuid": "c0c4467bb00d5c0683c5bb81bcfdcb3e" + }, + "DriveTime": { + "datatype": "uint32", + "type": "sensor", + "unit": "s", + "description": "Accumulated drive time in seconds.", + "uuid": "f707495fbe155b7fa109dbb69c021850" + }, + "IdleTime": { + "datatype": "uint32", + "type": "sensor", + "unit": "s", + "description": "Accumulated idle time in seconds.", + "uuid": "97be8abc404f5c15a78e7edc6296ab04" + }, + "Speed": { + "datatype": "int32", + "type": "sensor", + "min": -250, + "max": 250, + "unit": "km/h", + "description": "Vehicle speed, as sensed by the gearbox.", + "uuid": "efe50798638d55fab18ab7d43cc490e9" + }, + "TravelledDistance": { + "datatype": "float", + "type": "sensor", + "unit": "km", + "description": "Odometer reading", + "uuid": "90be9d7b0ac15b75a83027ea3b73b65b" + }, + "TripMeterReading": { + "datatype": "float", + "type": "sensor", + "unit": "km", + "description": "Current trip meter reading", + "uuid": "81f51ebfe29c591190171d7b96e1c948" + }, + "AmbientAirTemperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "Ambient air temperature", + "uuid": "2ffcbc2e6ea75dd991e3ae80b29a1d85" + }, + "IsMoving": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates whether the vehicle is stationary or moving", + "uuid": "db69549cc7375e919c2a2883b41cd19c" + }, + "AverageSpeed": { + "datatype": "int32", + "type": "sensor", + "min": -250, + "max": 250, + "unit": "km/h", + "description": "Average speed for the current trip", + "uuid": "43a489636a665c3abb99b63174eb552b" + }, + "Acceleration": { + "type": "branch", + "description": "Spatial acceleration", + "uuid": "6c490e6a798c5abc8f0178ed6deae0a8", + "children": { + "Longitudinal": { + "datatype": "int32", + "type": "sensor", + "unit": "m/s^2", + "description": "Vehicle acceleration in X (longitudinal acceleration).", + "uuid": "3d511fe7232b5841be311b37f322de5a" + }, + "Lateral": { + "datatype": "int32", + "type": "sensor", + "unit": "m/s^2", + "description": "Vehicle acceleration in Y (lateral acceleration).", + "uuid": "7522c5d6b7665b16a099643b2700e93c" + }, + "Vertical": { + "datatype": "int32", + "type": "sensor", + "unit": "m/s^2", + "description": "Vehicle acceleration in Z (vertical acceleration).", + "uuid": "a4a8a7c4ac5b52deb0b3ee4ed8787c59" + } + } + }, + "AngularVelocity": { + "type": "branch", + "description": "Spatial rotation", + "uuid": "1eef530a43de56aab665d2766483cde2", + "children": { + "Roll": { + "datatype": "int16", + "type": "sensor", + "unit": "degrees/s", + "description": "Vehicle rotation rate along X (longitudinal).", + "uuid": "221e6b93881e5771bcbd03e0849e0075" + }, + "Pitch": { + "datatype": "int16", + "type": "sensor", + "unit": "degrees/s", + "description": "Vehicle rotation rate along Y (lateral).", + "uuid": "42236f4a01f45313a97fdd9b6848ce4f" + }, + "Yaw": { + "datatype": "int16", + "type": "sensor", + "unit": "degrees/s", + "description": "Vehicle rotation rate along Z (vertical).", + "uuid": "4114c41552565c1f9035670cabe2a611" + } + } + }, + "RoofLoad": { + "datatype": "int16", + "type": "attribute", + "unit": "kg", + "description": "The permitted total weight of cargo and installations (e.g. a roof rack) on top of the vehicle.", + "uuid": "97dc98269a19591d9efa455a8d943c16" + }, + "accelerationTime": { + "datatype": "int16", + "type": "attribute", + "unit": "s", + "description": "The time needed to accelerate the vehicle from a given start velocity to a given target velocity.", + "uuid": "a0dfbb5fa9c052018addeb48d64d4c6a" + }, + "cargoVolume": { + "datatype": "int16", + "type": "attribute", + "unit": "l", + "description": "The available volume for cargo or luggage. For automobiles, this is usually the trunk volume.", + "min": 0, + "max": 100, + "uuid": "1b7c5f7c8ac952168cd2e89b3e9cd841" + }, + "emissionsCO2": { + "datatype": "int16", + "type": "attribute", + "description": "The CO2 emissions in g/km.", + "unit": "g/km", + "uuid": "5dc70045865b5bba9260945b28f737ff" + }, + "Private": { + "type": "branch", + "description": "Uncontrolled branch where non-public signals can be defined.", + "uuid": "4161866b048a5b76aa3124dec82e0260", + "children": {} + }, + "Media": { + "type": "branch", + "description": "Media service data.", + "uuid": "b778b6c07b055eae9f0a51d64c5b3bf3", + "children": {} + }, + "Powertrain": { + "type": "branch", + "description": "Powertrain data for battery management, etc.", + "uuid": "12f35ec7bd1c58d1a329565ce3d053d5", + "children": { + "AccumulatedBrakingEnergy": { + "datatype": "float", + "type": "sensor", + "unit": "kWh", + "description": "The accumulated energy from regenerative braking over lifetime.", + "uuid": "0dd466d28d3d5ad094f2015adafb91a5" + }, + "CombustionEngine": { + "type": "branch", + "description": "Engine-specific data, stopping at the bell housing.", + "uuid": "159e2e3e75f0590f95b4d2f6cfae54b5", + "children": { + "Displacement": { + "datatype": "uint16", + "type": "attribute", + "description": "Displacement in cubic centimetres.", + "unit": "cm^3", + "uuid": "94dbd928847150ab842c00fa5caaf272" + }, + "StrokeLength": { + "datatype": "uint16", + "type": "attribute", + "description": "Stroke length in centimetres.", + "unit": "cm", + "uuid": "1bdfdab7904d51ed93e101b84ea54ddf" + }, + "Bore": { + "datatype": "uint16", + "type": "attribute", + "description": "Bore in centimetres.", + "unit": "cm", + "uuid": "1618fb16035b5464961570cc1afd934e" + }, + "Configuration": { + "datatype": "string", + "type": "attribute", + "enum": [ + "unknown", + "straight", + "V", + "boxer", + "W", + "rotary", + "radial", + "square", + "H", + "U", + "opposed", + "X" + ], + "description": "Engine configuration.", + "default": "unknown", + "uuid": "586be4567fe059ee9e6cf42901c2e773" + }, + "NumberOfCylinders": { + "datatype": "uint16", + "type": "attribute", + "description": "Number of cylinders.", + "uuid": "b2cd342c218257e88d214cdb511df82b" + }, + "NumberOfValvesPerCylinder": { + "datatype": "uint16", + "type": "attribute", + "description": "Number of valves per cylinder.", + "uuid": "44633204726e561ca21beff31f3fef80" + }, + "CompressionRatio": { + "datatype": "string", + "type": "attribute", + "description": "Engine compression ratio.", + "uuid": "ead42922511051a0a0a1b634781f3c09" + }, + "OilLifeRemaining": { + "datatype": "uint32", + "type": "attribute", + "description": "Remaining engine oil life in seconds.", + "unit": "s", + "uuid": "94303734c68c5353a02625f652103918" + }, + "EngineOilCapacity": { + "datatype": "uint16", + "type": "attribute", + "description": "Engine oil capacity in liters.", + "unit": "l", + "uuid": "2ca7af6facb55a13885989faa9bc6ca7" + }, + "EngineCoolantCapacity": { + "datatype": "uint16", + "type": "attribute", + "description": "Engine coolant capacity in liters.", + "unit": "l", + "uuid": "90b5b64808ea5f4fa2798d96143b0d60" + }, + "MaxPower": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "kW", + "description": "Peak power, in kilowatts, that engine can generate.", + "uuid": "81fbdd5e90f557a38b96578a38dc137d" + }, + "MaxTorque": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "Nm", + "description": "Peak power, in newton meter, that the engine can generate.", + "uuid": "471cd478c1e8597f8e97c85b4e4ebe26" + }, + "AspirationType": { + "datatype": "string", + "type": "attribute", + "enum": [ + "unknown", + "natural", + "supercharger", + "turbocharger" + ], + "default": "unknown", + "description": "Type of aspiration (natural, turbocharger, supercharger etc).", + "uuid": "3ca6a8ff30275c20a9d8d6d6829574eb" + }, + "FuelType": { + "datatype": "string", + "type": "attribute", + "enum": [ + "unknown", + "gasoline", + "diesel", + "E85", + "CNG" + ], + "default": "unknown", + "description": "Type of fuel that the engine runs on.", + "uuid": "d0f8c79131c850bab8159eaefc7e23e5" + }, + "Engine": { + "type": "branch", + "description": "Engine signals", + "uuid": "96a96cd4f18b519eb4b00566b4e6308f", + "children": { + "Speed": { + "datatype": "uint16", + "type": "sensor", + "unit": "rpm", + "min": 0, + "max": 20000, + "description": "Engine speed measured as rotations per minute.", + "uuid": "c145005246125d1eb6531052f46eec94" + }, + "ECT": { + "datatype": "int16", + "type": "sensor", + "unit": "celsius", + "min": -50, + "max": 200, + "description": "Engine coolant temperature.", + "uuid": "de032ac3cc2858f2a1ef0a4b6f945098" + }, + "EOT": { + "datatype": "int16", + "type": "sensor", + "unit": "celsius", + "min": -50, + "max": 300, + "description": "Engine oil temperature.", + "uuid": "7fcbd0abd829530ca022e69a224f1845" + }, + "MAP": { + "datatype": "int16", + "type": "sensor", + "unit": "kPa", + "min": 0, + "max": 1000, + "description": "Manifold air pressure possibly boosted using forced induction.", + "uuid": "6269b87f545f5466a0c5ba13432810da" + }, + "MAF": { + "datatype": "int16", + "type": "sensor", + "unit": "g/s", + "min": 0, + "max": 3000, + "description": "Grams of air drawn into engine per second.", + "uuid": "944823218c565afa86adc3ebdf8b77c5" + }, + "TPS": { + "datatype": "int8", + "type": "sensor", + "unit": "percent", + "min": 0, + "max": 100, + "description": "Current throttle position.", + "uuid": "5ab79d75e2af52dda3d61f3a2bf41462" + }, + "EOP": { + "datatype": "int16", + "type": "sensor", + "unit": "kPa", + "min": 0, + "max": 1000, + "description": "Engine oil pressure.", + "uuid": "054dacf5e59a5688981834690c5d449e" + }, + "Power": { + "datatype": "int16", + "type": "sensor", + "unit": "kW", + "min": 0, + "max": 2000, + "description": "Current engine power output.", + "uuid": "6de515320e3257c7842923c88d11a09f" + }, + "Torque": { + "datatype": "int16", + "type": "sensor", + "unit": "Nm", + "min": 0, + "max": 3000, + "description": "Current engine torque.", + "uuid": "b0295cd26bfc586ca3a42f9296a26ceb" + } + } + }, + "DieselParticulateFilter": { + "type": "branch", + "description": "Diesel Particulate Filter signals", + "uuid": "eeddd99ad6475b1a92b9ec7bd7cefdbd", + "children": { + "InletTemperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "Inlet temperature of Diesel Particulate Filter.", + "uuid": "70e90d202d3054bd967e67dce95c8ef2" + }, + "OutletTemperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "Outlet temperature of Diesel Particulate Filter.", + "uuid": "e2b7f9d97bec5c0d94ade71a5e2f6518" + }, + "DeltaPressure": { + "datatype": "float", + "type": "sensor", + "unit": "Pa", + "description": "Delta Pressure of Diesel Particulate Filter.", + "uuid": "a6f476775c60531b93acb835e0bc6ab6" + } + } + } + } + }, + "Transmission": { + "type": "branch", + "description": "Transmission-specific data, stopping at the drive shafts.", + "uuid": "6b71e284b63a527caa6296a66e9fdd0c", + "children": { + "Type": { + "datatype": "string", + "type": "attribute", + "enum": [ + "unknown", + "sequential", + "H", + "automatic", + "DSG", + "CVT" + ], + "default": "unknown", + "description": "Transmission type.", + "uuid": "f83b9e5464d85a0288fcb32c164d3c63" + }, + "GearCount": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "Number of forward gears in the transmission. -1 = CVT.", + "uuid": "84293f40d3ed57f1a08992d97b1a9ccd" + }, + "DriveType": { + "datatype": "string", + "type": "attribute", + "enum": [ + "unknown", + "forward wheel drive", + "rear wheel drive", + "all wheel drive" + ], + "default": "unknown", + "description": "Drive type.", + "uuid": "0e480b76fb2d5f8bb08fb586f90ee6ae" + }, + "Speed": { + "datatype": "int32", + "type": "sensor", + "min": -250, + "max": 250, + "unit": "km/h", + "description": "Vehicle speed, as sensed by the gearbox.", + "uuid": "080c5c7a7a8f512a858f84cd678d09cb" + }, + "TravelledDistance": { + "datatype": "float", + "type": "sensor", + "unit": "km", + "description": "Odometer reading", + "uuid": "b9dd66f20c7f5b12a046766b94dc20c1" + }, + "Gear": { + "datatype": "int8", + "type": "actuator", + "min": -1, + "max": 16, + "description": "Current gear. 0=Neutral. -1=Reverse", + "uuid": "d72df16818e75f71b9fffdff8250e9b9" + }, + "PerformanceMode": { + "datatype": "string", + "type": "actuator", + "enum": [ + "normal", + "sport", + "economy", + "snow", + "rain" + ], + "description": "Current gearbox performance mode.", + "uuid": "6b5cfd85cb595e559503ccf993be04dd" + }, + "GearChangeMode": { + "datatype": "string", + "type": "actuator", + "enum": [ + "manual", + "automatic" + ], + "description": "Is the gearbox in automatic or manual (paddle) mode.", + "uuid": "ff3c69378c2f598286e51f7dac13adaa" + }, + "Temperature": { + "datatype": "int16", + "type": "sensor", + "min": -50, + "max": 200, + "unit": "celsius", + "description": "The current gearbox temperature", + "uuid": "4f5e48c3511b5e1abff11aa7ec62dd18" + }, + "ClutchWear": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "Clutch wear as a percent. 0 = no wear. 100 = worn.", + "uuid": "c113405ad165571a9d53ae4cf55dc929" + } + } + }, + "ElectricMotor": { + "type": "branch", + "description": "Electric Motor specific data.", + "uuid": "1ade64f6b0d05f6c9340e7a667555ae2", + "children": { + "MaxPower": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "kW", + "description": "Peak power, in kilowatts, that motor(s) can generate.", + "uuid": "825ec7911ee958abb199b9f7903df3a6" + }, + "MaxTorque": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "Nm", + "description": "Peak power, in newton meter, that the motor(s) can generate.", + "uuid": "cf31eabcde5151f589e9b0f7a6090512" + }, + "MaxRegenPower": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "kW", + "description": "Peak regen/brake power, in kilowatts, that motor(s) can generate.", + "uuid": "7f2cb2650ba95485b7156ffe76e27366" + }, + "MaxRegenTorque": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "Nm", + "description": "Peak regen/brake torque, in newton meter, that the motor(s) can generate.", + "uuid": "0e5190c2517b55aa80fcb9bf698e02d6" + }, + "Motor": { + "type": "branch", + "description": "motor signals", + "uuid": "af1521cbe56b599fa9fff8c6171e645c", + "children": { + "Rpm": { + "datatype": "uint32", + "type": "sensor", + "unit": "rpm", + "min": -100000, + "max": 100000, + "description": "Motor rotational speed measured as rotations per minute. Negative values indicate reverse driving mode.", + "uuid": "96259c99dc105266bbe7aba70e16f1ef" + }, + "Temperature": { + "datatype": "int16", + "type": "sensor", + "unit": "celsius", + "min": -50, + "max": 200, + "description": "Motor temperature.", + "uuid": "6ae826db62d552c5b9fe2701f5655455" + }, + "CoolantTemperature": { + "datatype": "int16", + "type": "sensor", + "unit": "celsius", + "min": -50, + "max": 200, + "description": "Motor coolant temperature (if applicable).", + "uuid": "ff978ffe8e615fada4b6423d5ba25e25" + }, + "Power": { + "datatype": "int16", + "type": "sensor", + "unit": "kW", + "min": -2000, + "max": 2000, + "description": "Current motor power output. Negative values indicate regen mode.", + "uuid": "630a478781b95ad8b012ce52f745f3e8" + }, + "Torque": { + "datatype": "int16", + "type": "sensor", + "unit": "Nm", + "min": -5000, + "max": 5000, + "description": "Current motor torque. Negative values indicate regen mode.", + "uuid": "0d07c1c502a1557a91b4ed564e024a19" + } + } + } + } + }, + "Battery": { + "type": "branch", + "description": "Battery Management data.", + "uuid": "3e92d75e0cbc5765a459308f71873ae0", + "children": { + "Temperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "Temperature of the battery pack", + "uuid": "2b9d90f1d87c57dcbbd6a72807f8d412" + }, + "StateOfCharge": { + "type": "branch", + "description": "Information on the state of charge of the vehicle's high voltage battery.", + "uuid": "74249091cd7653078b6c1e87ac6fbe5b", + "children": { + "Current": { + "type": "sensor", + "unit": "percent", + "datatype": "float", + "min": 0, + "max": 100.0, + "description": "Physical state of charge of the high voltage battery. This is not necessarily the state of charge being displayed to the customer.", + "uuid": "e0628947864a5c14986b2ae1487f550f" + }, + "Displayed": { + "type": "sensor", + "datatype": "float", + "unit": "percent", + "min": 0, + "max": 100.0, + "description": "State of charge displayed to the customer.", + "uuid": "13190cf240665e4db38780ad39051784" + }, + "Target": { + "type": "actuator", + "datatype": "uint8", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Target state of charge set (eg. by customer).", + "uuid": "864039c9295a50f9b7087e3fa8c5ce28" + } + } + }, + "GrossCapacity": { + "datatype": "uint16", + "type": "attribute", + "unit": "kWh", + "description": "Gross capacity of the battery", + "uuid": "7b5402cc647454b49ee019e8689d3737" + }, + "NetCapacity": { + "datatype": "uint16", + "type": "attribute", + "unit": "kWh", + "description": "Net capacity of the battery", + "uuid": "7b037dd1cab553b18a87456a3d764714" + }, + "NominalVoltage": { + "datatype": "uint16", + "type": "attribute", + "unit": "V", + "description": "Nominal Voltage of the battery", + "uuid": "77d38e4890ea55cca3798616968384ed" + }, + "ReferentVoltage": { + "datatype": "uint16", + "type": "attribute", + "unit": "V", + "description": "Referent Voltage of the battery", + "uuid": "bceafc8cc7a852319d5e453312cf6949" + }, + "AccumulatedChargedEnergy": { + "datatype": "float", + "type": "sensor", + "unit": "kWh", + "description": "The accumulated energy delivered to the battery during charging over lifetime.", + "uuid": "d2abf26b03f5519d878a7f4b5891519b" + }, + "AccumulatedConsumedEnergy": { + "datatype": "float", + "type": "sensor", + "unit": "kWh", + "description": "The accumulated energy leaving HV battery for propulsion and auxiliary loads over lifetime.", + "uuid": "c96530e0b22c56779cea2645823e87be" + }, + "Charging": { + "type": "branch", + "description": "Properties related to battery charging", + "uuid": "14b2e022987d5cf383ee6ea0c6919195", + "children": { + "ChargeLimit": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Maximum charge level for battery, can potentially be set manually.", + "uuid": "6a44522726625d42b0fbdf3f36fb1c87" + }, + "MaximumChargingCurrent": { + "datatype": "float", + "type": "sensor", + "unit": "A", + "description": "Maximum charging current that can be accepted by the system.", + "uuid": "36e8aee0ff4c52f5af271ef610523e88" + }, + "ChargePortFlap": { + "datatype": "string", + "type": "actuator", + "value": "closed", + "enum": [ + "open", + "closed" + ], + "description": "Signal indicating if charge port cover is open or closed, can potentially be controlled manually.", + "uuid": "528e53ad98c1546b90bb48f24f04815a" + }, + "ChargePlugStatus": { + "datatype": "boolean", + "type": "sensor", + "description": "Signal indicating if charge plug is connected or not.", + "uuid": "9be742dcbf2f526bb67b538fd801edc3" + }, + "ChargePlugType": { + "datatype": "string", + "type": "attribute", + "value": "ccs", + "enum": [ + "type 1", + "type 2", + "ccs", + "chademo" + ], + "description": "Type of charge plug available on the vehicle (CSS includes Type2).", + "uuid": "0c4cf2b3979456928967e73b646bda05" + }, + "Mode": { + "datatype": "string", + "type": "actuator", + "value": "manual", + "enum": [ + "manual", + "timer", + "grid" + ], + "description": "Control of the charge process - manually initiated (plug-in event, companion app, etc), timer-based or grid-controlled (eg ISO 15118).", + "uuid": "d50906b9d2525e8581fc01f900c1c096" + }, + "Status": { + "datatype": "boolean", + "type": "sensor", + "description": "State of charging process.", + "uuid": "b772427703c05e7ba81b11424be20540" + }, + "StartStopCharging": { + "datatype": "string", + "type": "actuator", + "value": "stop", + "enum": [ + "start", + "stop" + ], + "description": "Start or stop the charging process.", + "uuid": "e754c34897b4594587b93d8e7e89e280" + }, + "ChargeCurrent": { + "datatype": "float", + "type": "sensor", + "unit": "A", + "description": "Current charging current.", + "uuid": "a98b14e0d52d51a09d74c85d599738ea" + }, + "ChargeVoltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "Current charging voltage.", + "uuid": "1be74bd9d81d510b9d65cc1f83cb904e" + }, + "ChargeRate": { + "datatype": "float", + "type": "sensor", + "unit": "km/h", + "description": "Current charging rate, as in kilometers of range added per hour.", + "uuid": "382fa50af6a25d64b56979e1306f564e" + }, + "TimeToComplete": { + "datatype": "uint32", + "type": "sensor", + "unit": "s", + "description": "The time needed to complete the current charging process to the set charge limit. 0 if charging is complete, negative number if no charging process is active.", + "uuid": "519e70bc8a985e1b984c472a1cd7d3cf" + }, + "Timer": { + "type": "branch", + "description": "Properties related to timing of battery charging sessions.", + "uuid": "4d632fd461e550b4b3af46e21e507457", + "children": { + "Time": { + "datatype": "uint32", + "type": "actuator", + "unit": "s", + "description": "Time value for next charging-related action (Unix timestamp, seconds).", + "uuid": "d9cb0f458c255c33830409a3e313f781" + }, + "Mode": { + "datatype": "string", + "type": "actuator", + "value": "starttime", + "enum": [ + "starttime", + "endtime", + "depaturetime" + ], + "description": "Defines whether Timer.Time is defining start- or endtime of a charging action; departuretime denotes that target time should be taken from vehicle-level desired departure-time setting.", + "uuid": "af3d94c767aa5cb483d2361289c72abc" + } + } + } + } + } + } + }, + "FuelSystem": { + "type": "branch", + "description": "Fuel system data.", + "uuid": "dbc194a7f97d5a56bc8942c17c2db22e", + "children": { + "FuelType": { + "datatype": "string", + "type": "attribute", + "enum": [ + "unknown", + "gasoline", + "diesel", + "electric", + "hybrid", + "E85", + "CNG", + "LPG" + ], + "default": "unknown", + "description": "Defines the fuel type of the vehicle", + "uuid": "76442e696df5540b8b747373b29895d9" + }, + "HybridType": { + "datatype": "string", + "type": "attribute", + "enum": [ + "unknown", + "not_applicable", + "stop_start", + "belt_ISG", + "CIMG", + "PHEV" + ], + "default": "unknown", + "description": "Defines the hybrid type of the vehicle", + "uuid": "f0f72012f5e453c1935ff8c3a5aff696" + }, + "TankCapacity": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "l", + "description": "Capacity of the fuel tank in liters", + "uuid": "362643b866c55d5386fdbdf383464e90" + }, + "Level": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "min": 0, + "max": 100, + "description": "Level in fuel tank as percent of capacity. 0 = empty. 100 = full.", + "uuid": "902bd295a662573088291e8b6a6b7943" + }, + "Range": { + "datatype": "uint32", + "type": "sensor", + "unit": "m", + "description": "Range in meters.", + "uuid": "c5a0dbe5e754553897f0aed0069af57a" + }, + "InstantConsumption": { + "datatype": "float", + "type": "sensor", + "unit": "l/100km", + "min": 0, + "description": "Current consumption in liters per 100 km.", + "uuid": "cf65767ec8ad56ffadfdccd831e4b562" + }, + "AverageConsumption": { + "datatype": "float", + "type": "sensor", + "unit": "l/100km", + "min": 0, + "description": "Average consumption in liters per 100 km.", + "uuid": "e2252108125a54dcab34e1bad0fe8bdc" + }, + "ConsumptionSinceStart": { + "datatype": "float", + "type": "sensor", + "unit": "l", + "description": "Fuel amount consumed since start in liters.", + "uuid": "adf0a40964ff556f92b10275ad918883" + }, + "TimeSinceStart": { + "datatype": "uint32", + "type": "sensor", + "unit": "s", + "description": "Time elapsed since start in seconds.", + "uuid": "1a8dbc5107b3522fad852e63aa85aef9" + }, + "EngineStopStartEnabled": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates whether eco start stop is currently enabled", + "uuid": "901f8977c24855fd95aa8e4cf166d3e9" + }, + "LowFuelLevel": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates that the fuel level is low (e.g. <50km range)", + "uuid": "7f5fd2d9ca465d80af8e4bc0f8901b3b" + } + } + }, + "FuelCell": { + "type": "branch", + "description": "Fuel Cell data.", + "uuid": "63a881bcc20b5666b97d1c0575f2d484", + "children": {} + } + } + }, + "Body": { + "type": "branch", + "description": "All body components.", + "uuid": "bd2854e6a9165c5698ce8dd9f0438ecc", + "children": { + "BodyType": { + "datatype": "string", + "type": "attribute", + "description": "Body type code as defined by ISO 3779", + "uuid": "6253412513105deea63b1d424117fd88" + }, + "RefuelPosition": { + "datatype": "string", + "type": "attribute", + "enum": [ + "front_left", + "front_right", + "middle_left", + "middle_right", + "rear_left", + "rear_right" + ], + "description": "Location of the fuel cap or charge port", + "uuid": "53ef90a851fa57f0810d50238e852f02" + }, + "Hood": { + "type": "branch", + "description": "Hood status", + "uuid": "84510652bf915bbe8bf5f477aab2b44a", + "children": { + "IsOpen": { + "datatype": "boolean", + "type": "actuator", + "description": "hood open or closed. True = Open. False = Closed", + "uuid": "890aa3359e1a579288af1cf8e6b5b71f" + } + } + }, + "Trunk": { + "type": "branch", + "description": "Trunk status", + "uuid": "a584c6a5aa235cb88ac686f8d72a1dff", + "children": { + "IsOpen": { + "datatype": "boolean", + "type": "actuator", + "description": "Trunk open or closed. True = Open. False = Closed", + "uuid": "58c8eb023b4b5db794705d7ce63e2d75" + }, + "IsLocked": { + "datatype": "boolean", + "type": "actuator", + "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", + "uuid": "d89db9a83c0955c3a049c529072d397f" + } + } + }, + "Horn": { + "type": "branch", + "description": "Horn signals", + "uuid": "09c76633887f52268b960740eb969c89", + "children": { + "IsActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Horn active or inactive. True = Active. False = Inactive.", + "uuid": "ba20deed9314525bb9d552a2b787fb20" + } + } + }, + "Raindetection": { + "type": "branch", + "description": "Rainsensor signals", + "uuid": "f16759f3dcfb5be4832e962da29ebd6c", + "children": { + "intensity": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "Rain intensity. 0 = Dry, No Rain. 100 = Covered.", + "uuid": "02828e9e5f7b593fa2160e7b6dbad157" + } + } + }, + "Windshield": { + "type": "branch", + "description": "Windshield signals", + "uuid": "73efba535dcb5032b9edc43406b050b8", + "children": { + "Front": { + "type": "branch", + "description": "Windshield signals", + "uuid": "8f0c61e4e4f557d98729210fc3c74f72", + "children": { + "Wiping": { + "type": "branch", + "description": "Front windshield wiper signals", + "uuid": "2cffeccdc19a587cbe2264f426c6881a", + "children": { + "Status": { + "datatype": "string", + "type": "actuator", + "enum": [ + "off", + "slow", + "medium", + "fast", + "interval", + "rainsensor" + ], + "description": "Front wiper status", + "uuid": "2d5509513e4b52e0a337ade730166aec" + } + } + }, + "Heating": { + "type": "branch", + "description": "Front windshield heater signals", + "uuid": "ef705cd881885ebdbef876e8624a403a", + "children": { + "Status": { + "datatype": "boolean", + "type": "actuator", + "description": "Front windshield heater status. 0 - off, 1 - on", + "uuid": "3f91b8feb415579c9dc8dc82c12f63a6" + } + } + }, + "WasherFluid": { + "type": "branch", + "description": "Front windshield washer fluid signals", + "uuid": "2de24016515353289953de5ea81efd3c", + "children": { + "LevelLow": { + "datatype": "boolean", + "type": "sensor", + "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", + "uuid": "ef1ff301178c5ef2841964b23c340151" + }, + "Level": { + "datatype": "uint8", + "unit": "percent", + "type": "sensor", + "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", + "uuid": "a36dfb91414f5792bd01d193dceff1f4" + } + } + } + } + }, + "Rear": { + "type": "branch", + "description": "Windshield signals", + "uuid": "095ff58459b854aaa742e56447fe7a93", + "children": { + "Wiping": { + "type": "branch", + "description": "Front windshield wiper signals", + "uuid": "f56e80a50fd75dbca48581aea4f012b7", + "children": { + "Status": { + "datatype": "string", + "type": "actuator", + "enum": [ + "off", + "slow", + "medium", + "fast", + "interval", + "rainsensor" + ], + "description": "Front wiper status", + "uuid": "1aca19889d375a699bc3750993777b08" + } + } + }, + "Heating": { + "type": "branch", + "description": "Front windshield heater signals", + "uuid": "61af3a08a6895826ae04055c25b30817", + "children": { + "Status": { + "datatype": "boolean", + "type": "actuator", + "description": "Front windshield heater status. 0 - off, 1 - on", + "uuid": "fac9f35307f85e8186cf142f9c2aa643" + } + } + }, + "WasherFluid": { + "type": "branch", + "description": "Front windshield washer fluid signals", + "uuid": "1ea4ac2370e1567b9b812c1e3020ddfb", + "children": { + "LevelLow": { + "datatype": "boolean", + "type": "sensor", + "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", + "uuid": "caf770b8607851719983831490b3403e" + }, + "Level": { + "datatype": "uint8", + "unit": "percent", + "type": "sensor", + "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", + "uuid": "c167e5b265895c108da1b9582de2dd91" + } + } + } + } + } + } + }, + "Lights": { + "type": "branch", + "description": "All lights", + "uuid": "399d1ec14d6f55bb825e078a801bde55", + "children": { + "IsHighBeamOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is high beam on", + "uuid": "80a627e5b81356dabe557ff4102f634f" + }, + "IsLowBeamOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is low beam on", + "uuid": "917d51175b675ad89cf86e07e33b44ec" + }, + "IsRunningOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Are running lights on", + "uuid": "cd28479b1a5c5088a52e8d9cd7f22dcf" + }, + "IsBackupOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is backup (reverse) light on", + "uuid": "48c0a466b59555f6bf0c01fcf7a3c42c" + }, + "IsParkingOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is parking light on", + "uuid": "510402bd9355529dbddc2b9724db6957" + }, + "IsBrakeOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is brake light on", + "uuid": "7b8b136ec8aa59cb8773aa3c455611a4" + }, + "IsRearFogOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is rear fog light on", + "uuid": "54818024ac4853d49003e8e10bd8f4f6" + }, + "IsFrontFogOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is front fog light on", + "uuid": "9ad70db68408503a8506d09c7c92a13f" + }, + "IsHazardOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Are hazards on", + "uuid": "148eee65b2de53fab88fc261246d6639" + }, + "IsLeftIndicatorOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is left indicator flashing", + "uuid": "98c6f3d400d65a6da5fef8e22c16133a" + }, + "IsRightIndicatorOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is right indicator flashing", + "uuid": "df301b25233e5f20b039bc9304c148d2" + } + } + }, + "Mirrors": { + "type": "branch", + "description": "All mirrors", + "uuid": "a4ea618914885a239ef5fa62c671a800", + "children": { + "Left": { + "type": "branch", + "description": "All mirrors", + "uuid": "22609e45a09d58fc85cb77959a686abc", + "children": { + "Tilt": { + "datatype": "int8", + "unit": "percent", + "type": "actuator", + "description": "Mirror tilt as a percent. 0 = Center Position. 100 = Fully Upward Position. -100 = Fully Downward Position.", + "uuid": "698fee82cc115f3cba54825a298b46ab" + }, + "Pan": { + "datatype": "int8", + "type": "actuator", + "unit": "percent", + "description": "Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position.", + "uuid": "9dae4bc33a28531199fce500e0562f82" + }, + "Heating": { + "type": "branch", + "description": "Mirror heater signals", + "uuid": "7e9eb0fa1976523fa2162d636ec37693", + "children": { + "Status": { + "datatype": "boolean", + "type": "actuator", + "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", + "uuid": "d6b66f3c465b5489a327c1a7a678ce62" + } + } + } + } + }, + "Right": { + "type": "branch", + "description": "All mirrors", + "uuid": "64291c99f7e752c2b035262c17dc85dd", + "children": { + "Tilt": { + "datatype": "int8", + "unit": "percent", + "type": "actuator", + "description": "Mirror tilt as a percent. 0 = Center Position. 100 = Fully Upward Position. -100 = Fully Downward Position.", + "uuid": "9a28a6ec824c57408881b916a1a0e32b" + }, + "Pan": { + "datatype": "int8", + "type": "actuator", + "unit": "percent", + "description": "Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position.", + "uuid": "26088f96804d5d7e811ba50bfb1113eb" + }, + "Heating": { + "type": "branch", + "description": "Mirror heater signals", + "uuid": "4399f515de54556085f9f71dfee16dbe", + "children": { + "Status": { + "datatype": "boolean", + "type": "actuator", + "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", + "uuid": "3574929e068e5ecb88a90819ad2a9a8d" + } + } + } + } + } + } + }, + "ChargingPort": { + "type": "branch", + "description": "Collects Information about the charging port", + "uuid": "187537d025a358db843f7e92765ff4b9", + "children": { + "Type": { + "datatype": "string", + "type": "attribute", + "enum": [ + "unknown", + "Not_Fitted", + "AC_Type_1", + "AC_Type_2", + "AC_GBT", + "AC_DC_Type_1_Combo", + "AC_DC_Type_2_Combo", + "DC_GBT", + "DC_Chademo" + ], + "default": "unknown", + "description": "Indicates the primary charging type fitted to the vehicle", + "uuid": "fffa718e15fb50c285fb33e99116eddc" + } + } + } + } + }, + "Cabin": { + "type": "branch", + "description": "All in-cabin components, including doors.", + "uuid": "1a94457b237f5e8eb3c77c0532ac88d7", + "children": { + "RearShade": { + "type": "branch", + "description": "Rear window shade.", + "uuid": "8a0c86f4fc6f5ea8ac8cf8f327969dcc", + "children": { + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "da9f01e9baf35544842f1a7674c5172a" + }, + "Position": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Position of side window blind. 0 = Fully retracted. 100 = Fully deployed.", + "uuid": "9e16fc53f2ec575dbf66c79f969949a9" + } + } + }, + "HVAC": { + "type": "branch", + "description": "Climate control", + "uuid": "f8ff34337cdf568e91ab406a365c3249", + "children": { + "Station": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "253e683e6f135b83b6302a30b6c0ec8d", + "children": { + "Row1": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "80860491fba75babaf3c439d1d471a6d", + "children": { + "Left": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "7cc0977f55f15f2c884e19a25d07a8b4", + "children": { + "FanSpeed": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Fan Speed, 0 = off. 100 = max", + "uuid": "483bcf787a715f10a1c936464fcb18a2" + }, + "Temperature": { + "datatype": "int8", + "type": "actuator", + "min": -50, + "max": 50, + "unit": "celsius", + "description": "Temperature", + "uuid": "347c13ff2a735d54a5f011d4573694cd" + }, + "AirDistribution": { + "datatype": "string", + "type": "actuator", + "enum": [ + "up", + "middle", + "down" + ], + "description": "Direction of airstream", + "uuid": "33ca2e1ed1b1533b8e1309320074c07b" + } + } + }, + "Right": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "84b84df901075e8a8ac4837fe4af6a8e", + "children": { + "FanSpeed": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Fan Speed, 0 = off. 100 = max", + "uuid": "4b15871631c35ca583a1fc64524676ef" + }, + "Temperature": { + "datatype": "int8", + "type": "actuator", + "min": -50, + "max": 50, + "unit": "celsius", + "description": "Temperature", + "uuid": "592dc63c45145f739edbc5677196eb85" + }, + "AirDistribution": { + "datatype": "string", + "type": "actuator", + "enum": [ + "up", + "middle", + "down" + ], + "description": "Direction of airstream", + "uuid": "00e25d807a755c4cb978a40ebfc0e8d0" + } + } + } + } + }, + "Row2": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "d98e8f5f94da5acfbf428c635a8bcc0c", + "children": { + "Left": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "48fcecce8d925121b116ed3ecc3157bb", + "children": { + "FanSpeed": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Fan Speed, 0 = off. 100 = max", + "uuid": "3eb6e8979cb25efe9f33bc89c6b9e364" + }, + "Temperature": { + "datatype": "int8", + "type": "actuator", + "min": -50, + "max": 50, + "unit": "celsius", + "description": "Temperature", + "uuid": "7185fb43728f53f3960e1284b89a6f66" + }, + "AirDistribution": { + "datatype": "string", + "type": "actuator", + "enum": [ + "up", + "middle", + "down" + ], + "description": "Direction of airstream", + "uuid": "3c22cd8ac56b59978927fc815ee79104" + } + } + }, + "Right": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "028e4f674c725c009af8eaf77a79d9e7", + "children": { + "FanSpeed": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Fan Speed, 0 = off. 100 = max", + "uuid": "b83d6d979cbc5507b1c43e988024c0af" + }, + "Temperature": { + "datatype": "int8", + "type": "actuator", + "min": -50, + "max": 50, + "unit": "celsius", + "description": "Temperature", + "uuid": "c6822e4c0eae59cab832057bac327c67" + }, + "AirDistribution": { + "datatype": "string", + "type": "actuator", + "enum": [ + "up", + "middle", + "down" + ], + "description": "Direction of airstream", + "uuid": "10d42dd4337450e2af1c0dd2c9dcb3a7" + } + } + } + } + }, + "Row3": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "6eb8d63b66c859d5b36ef52d264aed2b", + "children": { + "Left": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "e4d100e0bcb75fedb4ab0761d92bcf0e", + "children": { + "FanSpeed": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Fan Speed, 0 = off. 100 = max", + "uuid": "13170d23934e5a4ab97174ddee4dc180" + }, + "Temperature": { + "datatype": "int8", + "type": "actuator", + "min": -50, + "max": 50, + "unit": "celsius", + "description": "Temperature", + "uuid": "b12b9565bd4e5c8e974ac0ff97223af4" + }, + "AirDistribution": { + "datatype": "string", + "type": "actuator", + "enum": [ + "up", + "middle", + "down" + ], + "description": "Direction of airstream", + "uuid": "f1e2dc36082b5980920c5fe3ee875659" + } + } + }, + "Right": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "a14449b5c1345feb90c2e4fbefd4ecef", + "children": { + "FanSpeed": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Fan Speed, 0 = off. 100 = max", + "uuid": "9d5312c0ccc15f578b2c5e5512d34cb3" + }, + "Temperature": { + "datatype": "int8", + "type": "actuator", + "min": -50, + "max": 50, + "unit": "celsius", + "description": "Temperature", + "uuid": "a76ea2c628df5099b0dca839aac84e63" + }, + "AirDistribution": { + "datatype": "string", + "type": "actuator", + "enum": [ + "up", + "middle", + "down" + ], + "description": "Direction of airstream", + "uuid": "1b6c21042e3b5ac9ae351f807722795a" + } + } + } + } + }, + "Row4": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "ff0c0fa26de7508dbe92a83bc087dff6", + "children": { + "Left": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "4adb4059a21757bdabd902998ffb7da5", + "children": { + "FanSpeed": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Fan Speed, 0 = off. 100 = max", + "uuid": "afd89e90044e5d5fa99e9c627742adb0" + }, + "Temperature": { + "datatype": "int8", + "type": "actuator", + "min": -50, + "max": 50, + "unit": "celsius", + "description": "Temperature", + "uuid": "accc4bb43c775735843e87b545af08b2" + }, + "AirDistribution": { + "datatype": "string", + "type": "actuator", + "enum": [ + "up", + "middle", + "down" + ], + "description": "Direction of airstream", + "uuid": "ee591723296a580ea4ce9fc6ddbb5cf5" + } + } + }, + "Right": { + "type": "branch", + "description": "HVAC for single station in the vehicle", + "uuid": "b4bf2c99c2af580cbb92e0bbd0a40730", + "children": { + "FanSpeed": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Fan Speed, 0 = off. 100 = max", + "uuid": "b3cc73b02e5c5254b691373caacd7d21" + }, + "Temperature": { + "datatype": "int8", + "type": "actuator", + "min": -50, + "max": 50, + "unit": "celsius", + "description": "Temperature", + "uuid": "49c59496aa7356cf86c275a0eb93ba28" + }, + "AirDistribution": { + "datatype": "string", + "type": "actuator", + "enum": [ + "up", + "middle", + "down" + ], + "description": "Direction of airstream", + "uuid": "7d8b7cbfe68156d4a190a0a7525ee26c" + } + } + } + } + } + } + }, + "IsRecirculationActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Is recirculation active.", + "uuid": "7b80c41c63b35c9299a410166cd33c81" + }, + "IsFrontDefrosterActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Is front defroster active.", + "uuid": "afa678c87182544bb6ab81fa6a770791" + }, + "IsRearDefrosterActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Is rear defroster active.", + "uuid": "d342a7939f2e5adeaeb5e68e3a314445" + }, + "IsAirConditioningActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Is Air conditioning active.", + "uuid": "dc4f79e4211c54a6b4eed0236aae84a6" + }, + "AmbientAirTemperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "Ambient air temperature", + "uuid": "611868a24bc25eb9a837208c235e9491" + } + } + }, + "Infotainment": { + "type": "branch", + "description": "Infotainment system", + "uuid": "d88f92fbdda35012a2443b5e130d5eff", + "children": { + "Media": { + "type": "branch", + "description": "All Media actions", + "uuid": "3f324d13873e501a84daf2cfade24d0f", + "children": { + "Action": { + "datatype": "string", + "type": "actuator", + "enum": [ + "unknown", + "Stop", + "Play", + "FastForward", + "FastBackward", + "SkipForward", + "SkipBackward" + ], + "description": "Tells if the media was", + "uuid": "0357aea525bf505981a14e4fc720094e" + }, + "Played": { + "type": "branch", + "aggregate": true, + "description": "Collection of signals updated in concert when a new media is played", + "uuid": "6585e9d3b6ff596da72a5f8c98d2d47a", + "children": { + "Source": { + "datatype": "string", + "type": "actuator", + "enum": [ + "unknown", + "SiriusXM", + "AM", + "FM", + "DAB", + "TV", + "CD", + "DVD", + "AUX", + "USB", + "Disk", + "Bluetooth", + "Internet", + "Voice", + "Beep" + ], + "description": "Media selected for playback", + "uuid": "54fb88a7d7cf5e3aab63e8f52415c187" + }, + "Artist": { + "datatype": "string", + "type": "sensor", + "description": "Name of artist being played", + "uuid": "076af7ad8aff5110ab5a64d1f58ccdcb" + }, + "Album": { + "datatype": "string", + "type": "sensor", + "description": "Name of album being played", + "uuid": "1d80b1e2c1085def92b3548b5db2786e" + }, + "Track": { + "datatype": "string", + "type": "sensor", + "description": "Name of track being played", + "uuid": "ee800d62a40351e6934649ca75927d69" + }, + "URI": { + "datatype": "string", + "type": "sensor", + "description": "User Resource associated with the media", + "uuid": "1ed22b9925c3502d8d1389c8e02d0f07" + } + } + }, + "DeclinedURI": { + "datatype": "string", + "type": "sensor", + "description": "URI of suggested media that was declined", + "uuid": "51b0d6227db55b92bc35eedd8277f4c4" + }, + "SelectedURI": { + "datatype": "string", + "type": "actuator", + "description": "URI of suggested media that was selected", + "uuid": "4820f7a961c25e91af12d3417a145d32" + }, + "Volume": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "description": "Current Media Volume", + "uuid": "8b344688816f5844ae5812bb136c8006" + } + } + }, + "Navigation": { + "type": "branch", + "description": "All navigation actions", + "uuid": "79bb0cc4acae5d1eb34fb214352d7863", + "children": { + "DestinationSet": { + "type": "branch", + "aggregate": true, + "description": "A navigation has been selected.", + "uuid": "f51ce253dc5b58168ecca99297139455", + "children": { + "Latitude": { + "datatype": "double", + "type": "actuator", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Latitude of destination", + "uuid": "3e33f3252934565d86de5409c761262b" + }, + "Longitude": { + "datatype": "double", + "type": "actuator", + "min": -180, + "max": 180, + "unit": "degrees", + "description": "Longitude of destination", + "uuid": "e9bd511146ca51639c8d42c0702e22ee" + } + } + }, + "CurrentLocation": { + "type": "branch", + "aggregate": true, + "description": "The current latitude and longitude of the vehicle.", + "uuid": "12f930405e815048bf5b77db90c7d6e4", + "children": { + "Latitude": { + "datatype": "double", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Current latitude of vehicle, as reported by GPS.", + "uuid": "dceb455713ac56a59e79c0fd25c01a08" + }, + "Longitude": { + "datatype": "double", + "type": "sensor", + "min": -180, + "max": 180, + "unit": "degrees", + "description": "Current longitude of vehicle, as reported by GPS.", + "uuid": "1a9be9c36a9a5ddc945bfb1e8c1f4384" + }, + "Heading": { + "datatype": "double", + "type": "sensor", + "min": 0, + "max": 360, + "unit": "degrees", + "description": "Current magnetic compass heading, in degrees.", + "uuid": "67cd26aaf82e5e9f8a127aabba993003" + }, + "Accuracy": { + "datatype": "double", + "type": "sensor", + "unit": "m", + "description": "Accuracy level of the latitude and longitude coordinates in meters.", + "uuid": "eb9218c66b1451fcac5cfcf39d36f5da" + }, + "Altitude": { + "datatype": "double", + "type": "sensor", + "unit": "m", + "description": "Current elevation of the position in meters.", + "uuid": "66e2f3fdf1f15b0a9925b674820f19fd" + }, + "Speed": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 250, + "unit": "km/h", + "description": "Vehicle speed, as sensed by the GPS receiver.", + "uuid": "e72a72f3d6dc550f824cb03add1ada3b" + } + } + } + } + }, + "HMI": { + "type": "branch", + "description": "HMI related signals", + "uuid": "271e3d9202825f37bd054820e5ea8141", + "children": { + "CurrentLanguage": { + "datatype": "string", + "type": "sensor", + "description": "ISO 639-1 standard language code for the current HMI", + "uuid": "dc29ee5b7f7154b4ab05a9771fe930b3" + }, + "DateFormat": { + "datatype": "string", + "type": "actuator", + "enum": [ + "YYYY MM DD", + "DD MM YYYY", + "MM DD YYYY", + "YY MM DD", + "DD MM YY", + "MM DD YY" + ], + "description": "Date format used in the current HMI", + "uuid": "0f03c3955fe953e9893a1f52e964919e" + }, + "TimeFormat": { + "datatype": "string", + "type": "actuator", + "enum": [ + "12HR", + "24HR" + ], + "description": "Time format used in the current HMI", + "uuid": "73083b87a4e25c02aee672ea32e40005" + }, + "DistanceUnit": { + "datatype": "string", + "type": "actuator", + "enum": [ + "mi", + "km" + ], + "description": "Distance unit used in the current HMI", + "uuid": "4b40e8bdb1a053ee9ee35338d8804e7b" + }, + "FuelEconomyUnits": { + "datatype": "string", + "type": "actuator", + "enum": [ + "mpg_UK", + "mpg_US", + "mpl", + "km/l", + "l/100km" + ], + "description": "Fuel economy unit used in the current HMI", + "uuid": "0e6a43ce1aa45243b753545ffa1f0f8c" + }, + "EVEconomyUnits": { + "datatype": "string", + "type": "actuator", + "enum": [ + "mi/kWh", + "km/kWh", + "kWh/100mi", + "kWh/100km", + "Wh/mi", + "Wh/km" + ], + "description": "EV fuel economy unit used in the current HMI", + "uuid": "914846f6804757ba81ca6bcfac8d2c48" + }, + "TemperatureUnit": { + "datatype": "string", + "type": "actuator", + "enum": [ + "C", + "F" + ], + "description": "Temperature unit used in the current HMI", + "uuid": "a7d1533490bb52b6b4f650280e72543d" + }, + "DayNightMode": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Day", + "Night" + ], + "description": "Current display theme", + "uuid": "a892039ba136588fa26b2670f839c0cc" + } + } + } + } + }, + "Sunroof": { + "type": "branch", + "description": "Sun roof status.", + "uuid": "8ff70db05c065e3eb530082a0b6983cf", + "children": { + "Position": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "description": "Sunroof position. 0 = Fully closed 100 = Fully opened. -100 = Fully tilted", + "uuid": "ab598697f1c852eda4df9ed62a956d17" + }, + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen", + "TiltUp", + "TiltDown" + ], + "description": "Switch controlling sliding action such as window, sunroof, or shade.", + "uuid": "88c39afd45a25ea2b474ff581e1fb138" + }, + "Shade": { + "type": "branch", + "description": "Sun roof shade status", + "uuid": "eeaae5977adb5683b16f405993405b2e", + "children": { + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "3836077128c65381b01e74a1a8be1c40" + }, + "Position": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Position of side window blind. 0 = Fully retracted. 100 = Fully deployed.", + "uuid": "5f78c2a631b75abc88744f9bad277f5a" + } + } + } + } + }, + "RearviewMirror": { + "type": "branch", + "description": "Rearview mirror", + "uuid": "e655b654ab9f55bbb04952a99755efae", + "children": { + "DimmingLevel": { + "datatype": "uint8", + "type": "actuator", + "unit": "percent", + "description": "Dimming level of rearview mirror. 0 = undimmed. 100 = fully dimmed", + "uuid": "4e2bcbaa6dc1586d8282324b475e5dee" + } + } + }, + "Lights": { + "type": "branch", + "description": "Interior lights signals and sensors", + "uuid": "8b5cd8c4d1e752b38c65a5966c870ccb", + "children": { + "IsGloveBoxOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is glove box light on", + "uuid": "f7281175fbc85b4a937b2606e4300f9a" + }, + "IsTrunkOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is trunk light light on", + "uuid": "3697df4cddc751df847fac74bd32390f" + }, + "IsDomeOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is central dome light light on", + "uuid": "cc100f4cd2ff5e0593a557a74ebf5d9a" + }, + "AmbientLight": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "min": 0, + "max": 100, + "description": "How much ambient light is detected in cabin. 0 = No ambient light. 100 = Full brightness", + "uuid": "cf7bf6bc25c2564383e72ef840e4b47d" + }, + "LightIntensity": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "min": 0, + "max": 100, + "description": "Intensity of the interior lights. 0 = Off. 100 = Full brightness.", + "uuid": "a66eba0bae225a56babf3f9ceb65fc76" + }, + "Spotlight": { + "type": "branch", + "description": "Spotlight for a specific area in the vehicle.", + "uuid": "8528c64a4c775da3ab01617bbff2e3c9", + "children": { + "Row1": { + "type": "branch", + "description": "Spotlight for a specific area in the vehicle.", + "uuid": "ea2b102268735567b3d7d6c36b34e480", + "children": { + "IsSharedOn": { + "datatype": "boolean", + "type": "sensor", + "description": "Is a shared light across a specific row on", + "uuid": "99614d03c27f50a6a32b99b68814e6d7" + }, + "IsLeftOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is light on the left side switched on", + "uuid": "c6a9c6b14d725113a087ce7e58a9c90b" + }, + "IsRightOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is light on the right side switched on", + "uuid": "7c08ddd9067f5905855cec9f30546fc9" + } + } + }, + "Row2": { + "type": "branch", + "description": "Spotlight for a specific area in the vehicle.", + "uuid": "504e514166d255439fd3f61acd3d412b", + "children": { + "IsSharedOn": { + "datatype": "boolean", + "type": "sensor", + "description": "Is a shared light across a specific row on", + "uuid": "087dd02860965a61a5cba8c66f8dbd36" + }, + "IsLeftOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is light on the left side switched on", + "uuid": "15534d254ce851509a8dfae763a9d709" + }, + "IsRightOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is light on the right side switched on", + "uuid": "06e866363b5c589db5b446eca0b68c8b" + } + } + }, + "Row3": { + "type": "branch", + "description": "Spotlight for a specific area in the vehicle.", + "uuid": "c0352a193354597692626b6f0b6d9537", + "children": { + "IsSharedOn": { + "datatype": "boolean", + "type": "sensor", + "description": "Is a shared light across a specific row on", + "uuid": "87f00a029ec854d39702ef86e030c00c" + }, + "IsLeftOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is light on the left side switched on", + "uuid": "f32530172b1a535cba376e660a3a630a" + }, + "IsRightOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is light on the right side switched on", + "uuid": "20424c00cf1d5e49b4287efe186cd263" + } + } + }, + "Row4": { + "type": "branch", + "description": "Spotlight for a specific area in the vehicle.", + "uuid": "42c09d108927563293adcb93738895a0", + "children": { + "IsSharedOn": { + "datatype": "boolean", + "type": "sensor", + "description": "Is a shared light across a specific row on", + "uuid": "8f8de6d5b18f5cc69c9ecd556ce6b6ed" + }, + "IsLeftOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is light on the left side switched on", + "uuid": "643c07780d2453e98b5091a39516f7ec" + }, + "IsRightOn": { + "datatype": "boolean", + "type": "actuator", + "description": "Is light on the right side switched on", + "uuid": "f012d37429aa53d1bf8648d686a804ef" + } + } + } + } + } + } + }, + "Door": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "fd7f4d16f8965419a9a69fd66b40c1d7", + "children": { + "Row1": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "fd3fcb481cb953dc9a853125c6ca0453", + "children": { + "Left": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "ee74ca8275485ea89f70931d3b3e4bed", + "children": { + "IsOpen": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door open or closed", + "uuid": "a5560fa546985678be670c13a0467545" + }, + "IsLocked": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "uuid": "859b44ab75de5d67a8beedff883a72d0" + }, + "Window": { + "type": "branch", + "description": "Door window status", + "uuid": "abbf75f4e6b9581db4aacda0f1e2789c", + "children": { + "isOpen": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door open or closed", + "uuid": "d21b53d7aa0c5d96adeb9fdf280ba071" + }, + "Position": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "uuid": "63137367f94856acbb900a0dcdc7e495" + }, + "ChildLock": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "58dbf7e3a85d55ae94750a77cf653110" + }, + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "e276bf971dae507f99b463f7fe574969" + } + } + }, + "IsChildLockActive": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "194a1dd29e245ff8a19dee7e022bad02" + }, + "Shade": { + "type": "branch", + "description": "Side window shade", + "uuid": "f1a8db725cfd54c5b22594c456bcb05a", + "children": { + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "15c012ed31a054ecb2b9b2b1cf57e825" + }, + "Position": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Position of side window blind. 0 = Fully retracted. 100 = Fully deployed.", + "uuid": "a4c73477293156999f74416245d4f858" + } + } + } + } + }, + "LeftCount": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "Number of doors in vehicle", + "uuid": "7df7bed67d0f5b1384d7d28315407eff" + }, + "Right": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "f1140cf0720157a1a2ffb62745a82916", + "children": { + "IsOpen": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door open or closed", + "uuid": "055c01ebe86f507b97d15cfba82482a9" + }, + "IsLocked": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "uuid": "7e5cf60543505205922b714cee2a3246" + }, + "Window": { + "type": "branch", + "description": "Door window status", + "uuid": "12e8cf5eb1c65954bb92f5144e2b22f9", + "children": { + "isOpen": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door open or closed", + "uuid": "777ebd3cc5e35e818029bf8b95ba74d6" + }, + "Position": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "uuid": "e7ef528471eb585a937664abab9fbc68" + }, + "ChildLock": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "92daa968de5956cfaef588b9cf41d608" + }, + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "fcb9ede77f065479a10740324c0efdc6" + } + } + }, + "IsChildLockActive": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "2eedf9e01c225ff39ee62a7c11395d6c" + }, + "Shade": { + "type": "branch", + "description": "Side window shade", + "uuid": "f8f91480eb7c59d6ad697f2f9b2f46f1", + "children": { + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "763aea099a515fc998fde10d936b0b38" + }, + "Position": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Position of side window blind. 0 = Fully retracted. 100 = Fully deployed.", + "uuid": "22944f205eb45c6f804e481b8dd783c5" + } + } + } + } + }, + "RightCount": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "Number of doors in vehicle", + "uuid": "49a445e112f35283b4be6ec82812b29b" + } + } + }, + "Row2": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "74c8a76ad2545ceba474a85ae84eec8e", + "children": { + "Left": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "20c6ae3bdb9b5fc8b8098d87f06c9069", + "children": { + "IsOpen": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door open or closed", + "uuid": "0143c6028c355f29ae5b3ee2d31869a8" + }, + "IsLocked": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "uuid": "5fb9d9707cd85925ab6658d90f044b45" + }, + "Window": { + "type": "branch", + "description": "Door window status", + "uuid": "424d04d0ae8351af8c7115b131f1fe2e", + "children": { + "isOpen": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door open or closed", + "uuid": "d2aea63f1e145bcaaa2cfb016972db92" + }, + "Position": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "uuid": "6eeda05cd5d357958a0b0649b1b406f8" + }, + "ChildLock": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "78aec9d9dfbb53a38b1b06f6ebb6f48c" + }, + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "1a5d1c57f46e576a8a94853e2a44d3f8" + } + } + }, + "IsChildLockActive": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "1c08760700ca5814a62bac4e64628f8e" + }, + "Shade": { + "type": "branch", + "description": "Side window shade", + "uuid": "beed1cdec4fb502390041087feaaa1bd", + "children": { + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "41f6f14bbb595dcf8e51d1696e877114" + }, + "Position": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Position of side window blind. 0 = Fully retracted. 100 = Fully deployed.", + "uuid": "33d7bdce5c915c3ea9633851f4f79cfb" + } + } + } + } + }, + "LeftCount": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "Number of doors in vehicle", + "uuid": "90546a0f69f2504287a8ba0d302a5c1a" + }, + "Right": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "e40a30e4838f5aaa970888d2865bc19e", + "children": { + "IsOpen": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door open or closed", + "uuid": "06f3b61e354f5db7b5b0e7f551fac582" + }, + "IsLocked": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "uuid": "51e82637cc1a5c6994e1928402a29419" + }, + "Window": { + "type": "branch", + "description": "Door window status", + "uuid": "18950f3ff3a1598585a603c4224ad7bd", + "children": { + "isOpen": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door open or closed", + "uuid": "d7ac920fde8052a4910fe37d5e1c7e4a" + }, + "Position": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "uuid": "f6323b78eecc58e5a9bc5d66f2548ce3" + }, + "ChildLock": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "f8b7ee44a4bd51fa9de1916382a0ba5b" + }, + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "364c0a712fa854b4b1b332eae1be179b" + } + } + }, + "IsChildLockActive": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "c3747fdce0835d9abf8030917f3a6d3c" + }, + "Shade": { + "type": "branch", + "description": "Side window shade", + "uuid": "092479bc8da55730827f3365828c89b2", + "children": { + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "5b94a0c4e30a575c93942f0566be8be7" + }, + "Position": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Position of side window blind. 0 = Fully retracted. 100 = Fully deployed.", + "uuid": "fa705739512a54e9a103ff356be14df7" + } + } + } + } + }, + "RightCount": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "Number of doors in vehicle", + "uuid": "95df34b3d10853bf93bfe5ff587c858b" + } + } + }, + "Row3": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "9bd34029c3aa5f6a9d8f1762575c870a", + "children": { + "Left": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "81df92fa3f7954dbb7c282107d09d5ff", + "children": { + "IsOpen": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door open or closed", + "uuid": "090fec1c1b7751d7a2c5c080e3248813" + }, + "IsLocked": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "uuid": "eae24396e5485615b056903470437581" + }, + "Window": { + "type": "branch", + "description": "Door window status", + "uuid": "9437a3e97ac458faaf846c2137d4e364", + "children": { + "isOpen": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door open or closed", + "uuid": "457de201470e5f7196af4cfff8784028" + }, + "Position": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "uuid": "ce03332ee75550c98eb6f0f9aa7048de" + }, + "ChildLock": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "a2b7f69b204f52fd8a3cc5327d37d486" + }, + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "af1eddd0ab095bbd9b09420ff8755274" + } + } + }, + "IsChildLockActive": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "ba309e9ad67e50feb87fc567407587d9" + }, + "Shade": { + "type": "branch", + "description": "Side window shade", + "uuid": "d7d62d632d655b3f89c58190f3ed49a0", + "children": { + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "9e628babb6a75b839dbbc7018adb343d" + }, + "Position": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Position of side window blind. 0 = Fully retracted. 100 = Fully deployed.", + "uuid": "5f5a361aa7b35313a5f050570077b7ed" + } + } + } + } + }, + "LeftCount": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "Number of doors in vehicle", + "uuid": "81775fd49ba6537cb7487c9502d27a23" + }, + "Right": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "306fe09c36bd52498d61d4a5c9bd6332", + "children": { + "IsOpen": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door open or closed", + "uuid": "b0947567c53557a787aac28c33c144ad" + }, + "IsLocked": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "uuid": "5ca204c8d57d5a7199899daa23427796" + }, + "Window": { + "type": "branch", + "description": "Door window status", + "uuid": "ba09e8bcbcff52b887a7254e01e440c0", + "children": { + "isOpen": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door open or closed", + "uuid": "46270435851d51f5a9ff6fc72f92329b" + }, + "Position": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "uuid": "6014bfdd3acf51a7923bfe91ad9f59e3" + }, + "ChildLock": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "89f0d1cbc4275b4f81769e52d126ed40" + }, + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "df1e26d4fa8f59e08f7534c75c04e92b" + } + } + }, + "IsChildLockActive": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "7c32cebd35515583973213af366c82d3" + }, + "Shade": { + "type": "branch", + "description": "Side window shade", + "uuid": "66a8f457594554a38ffa76595f403c3e", + "children": { + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "1a208a1e73a45193bd8ef35f1ad16629" + }, + "Position": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Position of side window blind. 0 = Fully retracted. 100 = Fully deployed.", + "uuid": "fba27a31b8755fc3be749268ba673c6a" + } + } + } + } + }, + "RightCount": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "Number of doors in vehicle", + "uuid": "7ae4ed84e2cc54acb5f6738fcc710a98" + } + } + }, + "Row4": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "de168db7de0c5081b53190ef43ff63da", + "children": { + "Left": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "ebe3821a88a756fc8b24a3aa1efe2b97", + "children": { + "IsOpen": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door open or closed", + "uuid": "7d284904b4325dd9b0c581546fb477ca" + }, + "IsLocked": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "uuid": "31e785ff9529565db891c781c68d09c6" + }, + "Window": { + "type": "branch", + "description": "Door window status", + "uuid": "32b297ac4e645c719a8227dbf063fc47", + "children": { + "isOpen": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door open or closed", + "uuid": "8cf92e7406c15113a5ddc7ea27fa481a" + }, + "Position": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "uuid": "71a140b91c2e5ae98f862023e56fe79c" + }, + "ChildLock": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "1b68c0a013a55056b8e2970b3747be60" + }, + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "a1a1d21972425886a3201ceb26024569" + } + } + }, + "IsChildLockActive": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "7552b5304b14599a990b11bf3966d196" + }, + "Shade": { + "type": "branch", + "description": "Side window shade", + "uuid": "1e45e7e7984853389bbbef5d901dc9ba", + "children": { + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "7932c7c3c9f3580b8ca063f7cb173153" + }, + "Position": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Position of side window blind. 0 = Fully retracted. 100 = Fully deployed.", + "uuid": "483fcd6347e256dda1423406da5ad629" + } + } + } + } + }, + "LeftCount": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "Number of doors in vehicle", + "uuid": "1f96ea7a15625468b2fc99e029e33209" + }, + "Right": { + "type": "branch", + "description": "All doors, including windows and switches", + "uuid": "13a9301d61c55d94ab4e7c2c9e679b95", + "children": { + "IsOpen": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door open or closed", + "uuid": "f21754a4e30851f79beaf8081dd69548" + }, + "IsLocked": { + "datatype": "boolean", + "type": "actuator", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "uuid": "9e8d9e8654425a568f90d37a876e7d55" + }, + "Window": { + "type": "branch", + "description": "Door window status", + "uuid": "fa87a014fc515378a5a65417861cfab3", + "children": { + "isOpen": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door open or closed", + "uuid": "b82f30ba5cba5ff6b9102f1b442dc1ac" + }, + "Position": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "uuid": "6f527bcf3e435b188f9923a1477eb268" + }, + "ChildLock": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "52a832c36ce157758de81266aafe05e4" + }, + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "73f5c0b1a4865c7ba597ca0956ba828b" + } + } + }, + "IsChildLockActive": { + "datatype": "boolean", + "type": "sensor", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "uuid": "dea663d623225f319836dbcdc647b493" + }, + "Shade": { + "type": "branch", + "description": "Side window shade", + "uuid": "2497c5c27fd85679a4db328b1f1f0ed5", + "children": { + "Switch": { + "datatype": "string", + "type": "actuator", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "uuid": "186315850fa752c5838f38883ec78acd" + }, + "Position": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Position of side window blind. 0 = Fully retracted. 100 = Fully deployed.", + "uuid": "e998932b8f0a503287cf4af078cdde29" + } + } + } + } + }, + "RightCount": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "Number of doors in vehicle", + "uuid": "40341a99eee35e708eaee435ca4befa7" + } + } + } + } + }, + "Seat": { + "type": "branch", + "description": "All seats.", + "uuid": "b0b253106b2851e3bb5c71ae3b09f09d", + "children": { + "Row1": { + "type": "branch", + "description": "All seats.", + "uuid": "7a420ddeac6f538eb3939bb4a242d136", + "children": { + "Pos1": { + "type": "branch", + "description": "All seats.", + "uuid": "9f570421f00a53f19f3741bd4e53303b", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "83985fb2f68a53f69aafc93fb1c4abaf" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "e2303f18abb35b25932e97165858fa2e", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "473c3f152df7564589d0e09947ae428f", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "8df99b3fedff5a219eacf254fb299ffb" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "c631b08751b851ec9b12ade8332ba5e6" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "6bd16a2258d152919db77e9592ac837a" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "6055f646e52c58959fe7c89e7e5e77df" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "0e668142a0855c31845050e3535ff1b3" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "154be9f434bd5e40acf6294f30e9c756" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "78283eb5efee58f8bce8b5fa3760df54" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "744e2e5b42e155e5b7b32ce5ff58ab30", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "7fcca1759439553da9ba96f6b8e5ab0c" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "2e82eb84c2315844a31c3799917302c8" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "4339464b5f335361bbb6501c7c535661", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "f9516c169c885f3e888efb60f33df03e" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "88cd5a9e251f5c1b8fd1fca9eef93652" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "2de687c7c868555a8abbf3e2898a6468", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "cec6036c545754a2b98375049abab7c2" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "8dfb0fa68c1459b190ce70bf38e675fe", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "cf523dc17f9451b08be069c5ea7be059" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "51c12c552b745ead85e10392cd42791f", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "49cc2754a4385ef8bdd8ba4e81ae91f6" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "6aeff0a2d48f5f28995f83cc5ada057d", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "3b6a1804d0385d29ac094468ef279100" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "ae775abc1c3d52f9926c1964254eaed0" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "c958f878a80256b8837437501854ad29" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "09ac410884135f7db0bc159b56a6ca80" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "6fdc2b91da6c5a38ae41465d94e89f9d" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "0dbd1b52b69359a58aa80c59932c1579" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "9411da84bae25d05b0a496d973d3f942", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "425d5a4817f754f2b0b650df3ea99949" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "a2d03b4aa4ec5f829c666c14d79508d8" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "46a23e294875537d9ce222d748dd43ef", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "3eb37a1d6aa3581d8daa6c32ac631629" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "205d334c99a1527e9e0ad193d14fe146" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "9153acbc0eae569b9ec30da267a46b01", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "4852285a3ec05fd3841431a0c425ac1f" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "fabd3e12e63d5a60a23b17dab032752e" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "75599c7abaf75e3685ee431c73499c21", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "063ead2b6428542197fad4d5e1e6f1a8" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "312e6a5f4849517bb6c074f4c9d72f7b" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "06ccb05626245b08a420c8f4059b8741" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "7322c0c5290959fd8edf8b50fc69e9a4" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "c77197a72ace5fb9901afa191d480fa3", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "012ff0edf15155339ec6070d6ea1c377" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "bd4287a0141b5e09bf1c28444ca6768c" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "9aebda3a28e250d1b820ad2db329b50f" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "d95e7c7ce3075730a5841cee70912ffa" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "8ed4d123819f53c3a5aa19482aeacf63", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "2d3dc48a7ecf5f2a99b600f221faa770" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "056d14d430e65211960602d5ab074824" + } + } + } + } + } + } + }, + "Pos2": { + "type": "branch", + "description": "All seats.", + "uuid": "614cecf6380d5c23989d2c8bf20bd8c3", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "0188a85fd4f15ddcb9b246976bc453c3" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "d85baab0f292585b912fd8ba8eae234f", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "ac22e6c5d43053b383f14c6b712b0698", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "f8f67096b9e35197a3e199e9171c4872" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "f88bffa4714d57f8b61b1034c57190ff" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "ee2919e0ffdd5a939a1b86b570c14112" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "eae672cc71dc5046bf1bdef59b8cd980" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "c1935863d503574fb5d20b703974399c" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "236d7a25e16954b7b4cba45f44114f93" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "f14a3e9eaaf35012a8be3782b6a53f55" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "12ec5f0bc43c57059ecc5c4bb65f65b9", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "729a4a9cc12f5f0da260406967b48f1f" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "7bea75eec2565b7e9e2bb45e83b0e11a" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "7a482ec0a8c359e28af203e011ea4906", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "bef37560403a5ab2a44d9f5f252c4e3b" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "b416d0e40df55cbf8055d7f5245993c4" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "5369d75b449a52dd8f30fe5cfc1e68df", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "2d17c6afb5b758e8bd3021a6c9211817" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "c9db01df64cc5e258f05c053dfe78b45", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "54d2ecd1932f507398273dcbfc6e914d" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "8150bc56e95453f4be691ee05241fa1a", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "d65c423837db53ebbfd462ead6c92687" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "dd54a1a61c7c5d79a420edb7b1755aa1", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "8bd64d992c2e5fd9b41754c46f9e5ee7" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "1631bc34f24651ef8b6d0952bc6fe149" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "4bcd6bb369d75c66ab2bb0d3e34fdb93" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "760de3ddab1d5b98a411cd0431ffaf4a" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "d1e916470f5f59dea9a8cd003fddcde9" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "64339d7dbb775b8bbae32a21d877593d" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "38d63b12489a51c7b3d67fc4ad6a1398", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "7a86ead63d045874ae1c529b15ca4aac" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "ffd28515ab8a57ec89ae6f621dc11a31" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "82f1b4ee3b9c58998115117f6e8c39a7", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "f12523c53b4a5166a8a5d532e1c20e54" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "4715e0ba6d8353ceb210ecdc6aa38660" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "7c18fe7b9d2b59229fa720942e4d2adf", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "78043316bc4b557ca3e4a3b6747ca8b4" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "ec8cd7718709534ba992d6ec64f99f80" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "afd7711874855750badc9d138ea55741", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "5d8c7386f77f532390b126f61f63df3c" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "03ae5745c0af5c448281fd87344bbf5c" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "5043851e11b158aa8c047d5224639f68" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "252da1baa1e653f18d262fd996b3ab50" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "248f01a92c695ce59c6adb9eb111ff21", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "c81cd9c72b435bf99c1d27ed3d92491a" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "184f2feb4f1b541b92b5830bee2caf71" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "a1b842b30e155b81852d420bd0814bf0" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "45e331a87e005ed3863099d72f010114" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "a82fc40ef7b1527cbd85f4297448e33e", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "987c9053b13f5e96b3560fbd95cbed46" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "c06a95a4c9355c3ab03b1a6937e40212" + } + } + } + } + } + } + }, + "Pos3": { + "type": "branch", + "description": "All seats.", + "uuid": "add6f181ffd35d03b57d9833e7e22f4f", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "d2f6bfd24cf1589398ef591866c5affd" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "4e68d3feef825f6f99c44cec9f7c1217", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "f59d9531974256cab958e5e31588565d", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "a7306a24de2155f2a1de070bc8f1bd60" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "0d29fa2a1b97563c8e1ba31b8571f328" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "975fe66f9fa05d8ca7fb9d334641bb97" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "4af67468dd7a55a58195d9b61997d077" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "d63d68381ec65f50a8dd6dfbc0bd751d" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "ef8175b8cfe453eab68065548b85a822" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "2a2ba0e42dcc563cba80cc491b66c45f" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "893a1124c2465d46bf405ef9fd199887", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "4c82794acd9553dbb2ec735379c0e517" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "c686c30c88145df9b690649fa0849ccb" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "4049a18494395cabae62b8878c9e241e", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "b1a4cb8658b75795936826b0469bf609" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "98b4873c63e354ba9280dcd27e2aae66" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "baf5756c60da53e0a30538dd95f704e6", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "fcaaac4cd4c35c6a9b4e399e3cd0a29b" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "55e12cda54fe5d43a2f863b08948798b", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "ca45741cffe153c68e8cd62ceff7a82c" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "243d103c16055180abef52fef071ad22", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "c4e9b66d938d5e188ac577094daaf37e" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "1eda245135ce5788bfcbc75b082af947", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "12955068421a511388f962ee8c190c68" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "7f58e1a1f05450c4bc7ac98090c19d82" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "5633fdc1466d5484bcc169c39a7bc99c" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "abc7e9e31d855116a568ca4eb0a49d0d" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "f8ddfb9e5fad5596be9c15a94c3bd8b0" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "ad10d38481715875abfb88810cabb11d" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "38813c08d6175427ab06b1f9f665cc53", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "62b9b072512f5e2aa13073b0c9714ab7" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "d6588e889ca15820aac1c0dd7771ea01" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "a2c4a3a39758594d9e89a635bab499cb", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "fc30397e57d95945ab81263e2ef7a42a" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "72cf00bb1c895bb7bb2ae9240ec6312c" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "dd7b384b83f05a069d2bdf770ac7982a", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "ff4e4e9b5f2f5915b8aa9d7086ea0c62" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "918376c5dbb25a879412c6d35362e3ec" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "eb721f72d8a55fd69cfaad94dbcb3d3c", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "a31736d742cd540ea07aa03615b0ce3d" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "54a75893acaa5460a3fc620728699cc8" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "e549c98581795288add98c88c4369df2" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "1476f6af2b7456f181ca5c3703e2836c" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "0583ae0b3cb75e8ea4019492a929badb", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "80bef0d120455d79a158a88760e57fe6" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "f8a6ee14aaec5a2994bb46cfa8fae6b3" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "1801183f58015e82993da0ea3445be02" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "28dddcbedffc5876ba552b9bbaf842f1" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "6cb5ddb991c255e5b961b6724fbee6c6", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "0d0cda55ff9853639ae089af46d7219a" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "91b96dbb20a35da6821c445f20cc2b1f" + } + } + } + } + } + } + }, + "Pos4": { + "type": "branch", + "description": "All seats.", + "uuid": "e3d32be52dbe5336a5ea6f7eea2d7fc2", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "b76c7023391755d4bc1a68db099ab42f" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "069fc61980e551f8bc921f61581290ea", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "345c57e6a8b55c3aac5038c9908b2c09", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "e25464883a8f5b99a13a01d08e8c416c" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "2f3a42b75dbc5bcf8250bb852b6e6a40" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "f87e82c54f9454dbb4698cf6584472d1" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "f2a573b7ea6a58c68fb6efe53a01fe46" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "3d73dc051f285f26b5df0c41ebec8b1d" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "1a80efb2382e56d5b3dcb22c8db828c3" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "dba35819d090509282807688d200436e" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "7ec4dc5fb6aa581ea5d58865c8df6587", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "422b00bb67325bfc81d4dfd214d64018" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "dd69cf26835b550d8e9c0ad168b39f85" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "fc15075ed9a85064b9148d42a08f6aee", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "bf3667c830a159509ed6b9a7c3c18ee2" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "51731662d21b532295a51b8333de63fc" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "38620e4eb7745ca9867513191dd727e8", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "bc6c029686bf530ea82560c47733d3a4" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "21c5e0ec0faa5c0e8b4aab59d69d4296", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "56e7bdbb0f445a828112c743af52cc73" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "c6fa9ea5b1dd56df99d2076ebf159a1a", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "f90145cee33e591791f3ed074f005761" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "6f987a796a0456a88f27632a868cd934", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "922057dfe9dc5727965d7f1377c62067" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "1bd83e8e97dd577687f0f726310e918c" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "ff4c3fc6597b59c99db2860349ede25d" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "a21a87ddb5e35be4a0b2a63d37c48525" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "9ea72f2d177e5cb581eb12c41ff7167b" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "03672e92f3b05e5aae22803077569f32" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "b15ccf0892dd5f1c89b388bb15f0302c", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "acbec40eed7958808338738ac38ea477" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "de0cf4c4200356178505f56585b301a0" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "53ea398c19c150189038e970578f04ad", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "6d1ff8016122572895cb43020f862b23" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "00381d412725512890bc7c9194cba98c" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "042ae2efb0d95c979722350c8fd31925", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "629889de6320561d91d66f66d8a9c39a" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "81e7f34524505ec59384a92dbb56dc8b" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "b933d9c2208259d083d3f78e66b5dfe6", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "f673cd59b86a593988948a3b09e95bea" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "5d4fcb0363df5934af07647c858f5c14" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "e96601a33d70583d8c8f998c065f6083" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "9408ca9a1788554592a350eb9a07fded" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "7a2cce699e00513d9b8a1b74c7c1a4d7", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "3d5aea9731fc563e9e4f4385a0b94a1c" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "b6561c027d155964b1bc4ed741c2a698" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "5bf5b33a19cf51a3b780abc098fa4262" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "438406597de250deb5bc25cf30c875dd" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "37054cfdc79e5315a431b620c6ff5616", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "f1e112150008523ca7513625b5ffc626" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "066556836ccf5f3da646bcafd88f01a8" + } + } + } + } + } + } + }, + "Pos5": { + "type": "branch", + "description": "All seats.", + "uuid": "9035f2d2b8185963ac12491e152a547f", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "7be9cd29db38535ca3b0d10289699e5c" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "2195aa2665015a40921df60580e0ea9a", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "01b574a62ae35c1182906b4d5e06ef60", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "45f11291c9f7535f993be32949a277de" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "d02aa0501a025df2984ef8e4adb14ae5" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "94e06573b76d5d39aea996411a8b97a2" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "50a38543994f53d4a159d746ba9d05d0" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "efae66b35a355bf09d5c5fcac343bc47" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "d461daff15845299916175335671105e" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "b7492d2a7d9c5e2b859a3644436acfa4" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "fdaebf094f29575f9170f4d17f6161b8", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "fdb272dca4b056bfa8c2a2df1c3c305a" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "62151a78296b58efa61ac380a3a288f8" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "cbea86333cc1598089de6a7c79d81d4a", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "0a7ed16602bc5bf693e7946cda72b3a1" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "d468b501a72f56afa85cedd17f2ec01d" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "860416bd74395ce8bc9f90a488556b84", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "6a4fcff1fa86583cba885dba282a518d" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "014665e502f75ac294f542daa8678a54", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "6e0640038cc45cb1a26f5b7964870ec4" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "9d888ff0d64558fd856eb2fdc5a11ab1", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "50ccc0b1eae65536bdbc1f64ce81412c" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "86e056e913ac5ebfb1f22a377f03a33e", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "ba3d0c9639f455c6b058cc87314c2a53" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "6905227d11cf5dd79072f631b916b7f6" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "6e1d6e907449529bbbbeea07410df8e2" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "8c8328df683f5ce38f461ccb039617a1" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "f1917a9913cb50088d6a8a11c9f232ba" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "1f4f9d6ee72654f9a8daaf00551a745e" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "c5ecfd7a2982575dabaf9eb0b10b9215", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "bc828ead18fc5277a5f10188700d6a14" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "41d52dec80915e8a877322c86c201d85" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "304ab8552b865ddeb1d9a14a065a7a97", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "97fbc713f161501786d7252b9247bfc4" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "9313f1cd803757aeb49f06e8cfe407d0" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "df2f705e57eb5dff9b9a972803dee8a8", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "e2e977dea76250ecb8d1698a31e63604" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "ba61691699ae53f2968052efd6e5f97e" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "202751e26d695eb2ba057234c1d33db8", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "ab8f56f149b553a0ac8471619bcf4e51" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "4432ecede3ab5e30a87bf444642826d6" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "924f19b8921b57e8a27a28ba7314a6e2" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "13bfa8294c2d53018e509a1d1bceedbe" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "58e0aa3049555cebaf605db3b3ae243e", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "3965566a438656c38484597c75239d13" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "2570faa803db50fcbff73b80d4469b6e" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "0ef70800fd465c049db93e60e036d901" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "b8a29f8ac9c451f5be16aa94b6f60200" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "3a5df3973b2050c1ad295e9af3a50380", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "73d478fe21e15ba5a01a23834b37cc1d" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "de9f1e99c11e5270a4b07bd1e80fad29" + } + } + } + } + } + } + } + } + }, + "Row2": { + "type": "branch", + "description": "All seats.", + "uuid": "8c3aaf015ef8595cb45d9461a9c1195f", + "children": { + "Pos1": { + "type": "branch", + "description": "All seats.", + "uuid": "ba975a6536f15545851d27972ab1fffe", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "a346c9a5fe05579d8cb4dd0c39ae3cfd" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "e7ab950f55b45b1a985f1a9d132aad02", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "aba17bf3b5175e56bf047839f2a0f880", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "159e7daad966588ca48997859b811b72" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "188458a15b30577d8fb01d0f15641a6e" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "ad65078f81075a67babb66ecd2c902f7" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "0f61ef421bcd5c8dbe6a5b477cb10a49" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "406607948a235d829c5da212594813b1" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "9e26bb850e0b505abd3b034cd32db946" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "3dd247aae2555a1ebaf76ae4017f23bb" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "81008903a21e534890a6d6e6c68c2bc3", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "af1c06009f2f51a8a9691dc76f67daf5" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "da1627d60d1855e481585118413545c4" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "03ba74b039d05d1ab5326d50ff7a5069", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "a6c4ac06f229582ea1066482d6a0464f" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "41c8cc38221a52649a923f533eb74233" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "231094f2616d5f91af405e8528135328", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "8091f6615e6352549cd82be89b3794c7" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "73020e8418ff5526b6f7ca102904287b", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "860c83873c885e468f376ed62fa1ad5a" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "ccfadedface05d54bcc00b30082b30d6", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "fea5a0ef57385df68e486ece13546bdf" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "1c4b708222de55aabddb3697308253ee", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "765453ae7cde52ea83a6dafca07a855e" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "9c4aaff0cb08576e8dfc9575bdf4188c" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "b8d138f11e5c5af09044aeda5af787af" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "af1b567b19225b48a35c432f52de4b0f" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "41c1925090a25472b3e35e720c775d29" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "fabe59aababc5f73b326821ab453d86e" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "3e225e7e11f35f918ba30e8c7a7e6c33", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "61ef1160c2c45fe78d971548828b1057" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "16737cc9bdb65d64b85562fcd48a55fd" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "4857aac12637502da76202384a151715", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "2a9a5c9ceeac503aac475fc1c22ba78c" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "0490a69e1d375ac39b6625319a6a0988" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "e2e1a9415014540f91921c9b59731371", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "d9b7a4e69470596bb9883bdebc83992c" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "17e15fd8647854f196ab26103d065c41" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "cb3caac06fe85e56b67516d78f8f65d1", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "c257793dc4705c9ab6276da5d4651d95" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "9fdd5c24868e5a64bcfd461b3d848283" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "53a50be4deed54789b913c8939fa975b" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "989b7125efd05224908240901aad22a3" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "d5f17aff2b3a53fe891ff80cdb5cd04c", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "43f98ce5ef6453769476edc209d42fc5" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "a64671e5f4bf534ba60a548c5e68923d" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "2b0aa04fb4385ca8ad549c18e7b541b4" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "e0fe867a41805e73944b39fd6907cef9" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "75f78203a2f152f38ed872dfa6a64cd5", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "57a9eeed1ad75133841b9ee8a1d87a90" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "52e2279ca81b5a038bdb8bf92038ccab" + } + } + } + } + } + } + }, + "Pos2": { + "type": "branch", + "description": "All seats.", + "uuid": "e8afa112abe75fda9ce3e1f0d712713d", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "d1097dd0e0685ce8838fa83e3791b233" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "30e72777238850ff8a01c3a8f85b663e", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "24c23b9f5adb549483cb52acbd81a980", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "ae49d70515d55aad9b4719d8162b43c9" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "6f4e6a9f8008536eae03197601a6366a" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "f2c9c2d624bb5cf4bf9aba5842eb96eb" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "c7eb6ca24426596dab519386d231a9d1" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "77e8a4d481315520927fc0828158772e" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "4026cce78c465486a8d6033a18d1728a" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "7c24fa880576550da14bae1e5eed26b9" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "0c918c7253a45f40bb8ba0633b24e122", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "330a944fd2005b53a4d546744d21e591" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "203d653612605d988c639c0f6c728906" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "666d60b9c4be5a5fa236b13d7c1dbc40", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "f4738d07c7eb5ae583f915341986e4bd" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "95bf0522c35653588932404e7e49f603" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "85135f2df03658dfaceaccd58a478a63", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "94e4f77b1714550cb750c599a56ee624" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "4dd4e81df9b45c788ea30eeb96db1082", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "4214c90aad0e538fae2d16f9cb4a8a62" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "07f9f55e33055cf7bebdc06e7d5a6a14", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "668f397bc95358989119fb1cfdfa8a01" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "f3fdef2159cb5cda985cbc04220c3593", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "84462c894cff5eb080f4020fcb114d22" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "cb3cfa2c97365da1a8fca053a65b3f2e" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "822d46ed8df65a2f954ac7e515a9c260" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "bdac3b5e7d365e229f2826ae2c605239" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "f6e2a08b8fc855968c6b194f2d55a72e" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "cbbc30fd57b05354b05887435c1407e4" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "9bccb182622c5e3b8e0a94f8dfe41be8", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "8835129127335ddd952dd947f83fb8e3" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "67d2c79495fb536db65b1bcb20f734c2" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "1fabf329e8715f28b90b72a8a5b6c3de", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "8bf96bfc4af556ff83c2622617a51b2a" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "346c0825d99f536e95312b026a4f2118" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "063cec57ef47568aaf3d1070df74a63b", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "b8670833dfc85c6bace3b9da8c1dbf95" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "7a0563d5b2cf58db820e85dd08ad9bc4" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "741fffa36829573f8124659ebfc1c6a6", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "d0086699030753a98aaf9bf44557dc16" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "62ec09fe2ba051c5810a43b377eda1ec" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "f4df41ff19ea5d68a2ddec478d2fb50b" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "8ccfc2c9fc455ca99f857dab20d5312d" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "5999c5a87c1057e893dd9d4113c5f2ab", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "edc261f4f51c563bb9da356e53354011" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "6f17db239c0e5794a3b17579105eecd9" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "72eb5dc4bc29520ab3bc77542b94bc2a" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "d6c9abeefabf58f9b44ac3cc2988aff5" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "7ed2d8c4de215c7a9783243b0cbcd6ea", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "4f0d4d8a90ca5a90b773173c953a0191" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "4e433a05a54456e69ac7357b0af56d76" + } + } + } + } + } + } + }, + "Pos3": { + "type": "branch", + "description": "All seats.", + "uuid": "a40aa679981551e7a92b8438533911d4", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "eb7db74c722e5ea5a8e66bbc26d5e1c5" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "a8df9afde2335f8ab7cf4b185148f20e", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "296e51d414a65cea96e1eea27dc3e1dd", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "ea36896f5572580b9d8379a6256f61b5" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "d96b225635b959a1aea0d6febb955ae8" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "815f9e1dc05b5078aaefc3868319b18b" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "2a175561eed05247b3048263c0122fa1" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "fffccf6ae6365b83ab093031f573e452" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "8ecc3958a2175b0f9ad58de386822df7" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "64eb763cc10358b49968797fbf50c092" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "32e678fb513e5a0bb42bd39a27627d8d", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "859ea2de83275a4ca91c59e248e9b159" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "ddf566c0b12256df94fcd72bcaa3f570" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "07ddd96920595e66a7762532ae1b685c", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "c7f75035848554e0b7b22b0486d2dc9c" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "c2d250c021aa531cb364f52a80ae1131" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "5d3abbb4cc305e9e83fc06939c715767", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "127bf41b7b055407b3405787db308dc5" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "a945800a6ad95970b01110b86a5d204b", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "dbaefb0c59505e83b1f87b4010f3049a" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "e1d14ad055955eac914a47ee180a6e78", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "6802243fcb3155b196cca3a825c12bcb" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "e0cfa7aceac75980b33075ceef5c9125", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "32fe3de3adbd51c280b13e26cb23dce8" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "c2137be8528b5f5da942fd1b6b8bfe9e" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "570ed0643f3d54edbecafbaabfa63676" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "9035b32f9ee95d1db6c22f50effc7c7f" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "028248cc18315659a533c409180b577a" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "e2dbef15271959f9859c730beb6a279f" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "68549d6e81075fe99a524d97b97334ca", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "c76b4aee310057d681ce841a43f275b0" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "acf77df0899557ea98b9b73411a785fd" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "ac2bb22d6acf56988582353a1453cbe3", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "ac801efd6a6456a2b88417a50c625f57" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "d91ab3177bf35a52b02bab237eb43e29" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "216444ab659152b6ab8daed75500d388", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "1db535f68ddf5d449a19d12a208140c8" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "2a56d160cce15feca287e088e716650d" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "45febb136cc9513aadf5ac81c444c50f", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "51b1d279db7e540ab06c61da49d345eb" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "2f278d0e725a5f24aa77e2215cbb9aa8" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "0e5094c2a3225e3bb4b0cb9cfb512ead" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "867fde470237512399c100a3377863aa" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "7837dca1dd445a49b01ff126545e96d1", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "e53c8a74034b5def83a9c2e41ffbf686" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "9b37d65e49ba518aacb15176ee035f85" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "e71ff6bd33f2583d964ae9c074265ce1" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "0be514b4224f57e3b95d748ace1d09f3" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "a06fd6dfd4ad5b468213337d6f2f9d07", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "0e7ee36cd3d75f05a7f49722b82017fe" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "5f97a254d1b654bf99203d1d0e3b6739" + } + } + } + } + } + } + }, + "Pos4": { + "type": "branch", + "description": "All seats.", + "uuid": "793eb31156b45839b7498b05a09bd531", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "150f507220a95dcca7932edbf3a7d76a" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "1f5d0aa027fe582681ca867f68f5c0ed", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "489e59812c735a5d849c2c95c59496d2", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "f49dd0db63dd5042aca14d74f33d1d23" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "da19d3ae12bc50ffb21aebe765c2e8fb" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "decd38c228345d06908d631038df274b" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "f59966a48c365bc2aef0d00cac5ca6f2" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "d53258ce512b53e9bd50bb73f6e07394" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "c4e32a72bb8151bf8f52a5af3cee9e4f" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "8fc50509dddf5eaf9aa1de19af1486ab" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "1c4989d7af5f5165997036aa18c0bbed", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "0c332fc96dee5a588901e72199dbbb72" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "34a168fae13756daacb942c773d82937" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "a6b5131d83685c86b9e24bc3803f2a6b", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "efbfd3a02b0b5861afc9774360522fb1" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "3bff26018f765acb9cfbb0ab6f5cbd88" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "973c72e6fc50553495e5d39eb32dbbbd", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "66227290ee115179856aa84f78f612a9" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "ab57c5f3a6505b4caff11768c68b4f1c", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "3e5db9a088bb5c8595bbb1768374cb45" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "d64e8373849b5a13ba68f0bbceb92ed5", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "998d17bfd1625116acd8c1b7cc6220bc" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "bb9c6e7cd579514fb1b22b9f6dfbf7f2", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "330b87529f1f5cb3bd47ce767ebd6ce5" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "8ca112679780511b919008a4045e2790" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "9781a16434c959ceaff4b271b8ab9808" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "d493227f7a325a3b970205dd134ca7c2" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "85668a959d4051b5b35af79d46d507af" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "970967e60753547da3c5dfa1e3f488f1" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "a21f522262bf5f0d995d21b53648ccf4", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "d03f345ca89a5c9cb84d02f57f974e5c" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "dfaf7c913c5e5f0daf630de51d8776d8" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "5de1c8aeff555dbabb167905c5acdb6d", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "0b357e3281935a0daac22dfbdebb27c6" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "3b78aca94a5e5d5dbc755af40e050fd9" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "adee898809a05c7995c781f53cc001b0", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "c7d14cdf57df5b108150b2dc22c40cee" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "b7aa758a58755b3089a5489d3b213de9" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "7c2181c1a794519097f17e12929ca27d", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "8b7f6f53d7fb5073a7a575e6e9ba3411" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "81318d7ddaef5cb6a41e8cdb38ad32c5" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "36f7e220b315552e8556800ecc28cabb" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "673c8b03f6375dae86b72d696a284629" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "5c939b11ef97515597b333925810baa1", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "b89872f092745d7eaef96c4493727255" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "048364c427be54159cc81d895b1b8f06" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "a8cc660d5f115b1183de0f1a4b49d36d" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "92e6eb1a1a6651bfb3107514282d3f66" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "f5a3f717844e569cb5f79cc242b8cd46", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "0d21802e2ab95f4fb5a31f8fd7fa9d5b" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "19916ae489a15d7892c08e29c3e064eb" + } + } + } + } + } + } + }, + "Pos5": { + "type": "branch", + "description": "All seats.", + "uuid": "d1f09bff1504593e846df5b32935475b", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "fc703629e3155ddca1b2c090da3bc4c5" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "1d9b87f56aad5deebe52c8651a1d4b19", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "ae24f343a28655ae8da74f7de4b376f2", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "94d12faa079655a8a58dff377e094b2c" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "cfef73cc63b756abb01ef7dd3aab8b6c" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "b7e31917ddfa5cfd897ba5b3c540a10a" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "4a2d57f90b7950b395e2307909fb1798" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "cc7e8fb929bd5cea89fe66d6849197b8" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "f16b0e6179365c8e8c51f00b712c0959" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "260ed6c22e20578c8c4c9ae163423ccf" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "7ed9ce2328aa5416b0e3f362545c6e98", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "3a7faa0003645b06a223b5f890af6039" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "0ed096fc145c5bc1b88207bc392def33" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "feb75b2ff1225b25be0b96e1376ae643", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "34ac51dc18f25130815dc024f7ca7ff3" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "53e3785ab9b659d5a39a736dc2a29cc2" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "077bc4e6d25758f6b0aacffaa7e58e9d", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "bebc5ed952ba55cbafe7ae7b6c404cf7" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "5cae91109de651f698d292bec83f48ff", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "80a08b71255f59bd82afe855a4d8525d" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "a5123a35509b596796bc99ec87b9a81a", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "bed309611a2f588b9c64ff2682a6eaa2" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "2756a79b343d583ba76783bc396e39e3", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "c3836d25bc6055018d2355d054affe29" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "6c1b6db441cf5cbdb81d7a8a183374ea" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "188fbe677edf538ab4c02f36af5ef13f" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "2d6100b9b8ca5d7ab5cb8ff58f4719a4" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "68d9e54198f557539610a46f173d088a" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "1d013294c5f958d4ac750f1e4f1ca203" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "3b85f84f867255ed987fca542d7954a4", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "cf447e50b48b5eea9e44729253198959" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "9dfe1f84589654a8939a73c6c31dd987" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "a2fc614aa73c57adaad1974cbc8ff71d", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "a5357d97a19b5a09bb79e359b3fdc59a" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "72190e0266695b43b4257294d5d5cfff" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "3e16419db5975588a299eb163dd2af33", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "eb14571738e556c5b27b177983f5db52" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "72eb3c5cec665493a587bed03185904a" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "870b6cd7d0295b6ea8ae0ef603351a5a", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "053006bc760f5b81844f3f4660434bbc" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "898b584a511c53d0bb4a160fc2ea6e59" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "1285082f30b854639180c81e10d0fc94" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "6cd6d0b41ba956519eeec3bf55501296" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "b801d696efbb5babbad4653339a1b132", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "c53ecc336d635d0a9de9ab1be9876d10" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "9d3eabce73b15604be734cbb66c7d6bb" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "c185c1e62e7651ed894982fc9d468251" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "ff2f5c35159e58acb0228f6c0150c314" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "be044238d3ae5c16843a96f4d787c416", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "33f725544e4f560cb31da0eceb468eab" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "d1c716046e585015bccee6c042e45bda" + } + } + } + } + } + } + } + } + }, + "Row3": { + "type": "branch", + "description": "All seats.", + "uuid": "ae8ca97951fd58a79eb2dc4896286d30", + "children": { + "Pos1": { + "type": "branch", + "description": "All seats.", + "uuid": "c989ec8c3d325c6e872411f7d87af3a2", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "b23d3b25235d5e75a8c6c8e87be9f1ac" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "a9b697dbf5c65543aa92b43bbeb0c2da", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "650e38557e2756b1ba1adcf90efc36a8", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "05c13878734150038595618ea907fc61" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "5ed5728dd1f352798de96de0e6479be4" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "ccbec8f3c29a50f5986620aa8c57495e" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "36329e06aa485008b8d10800a384b2ac" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "6fe09492db91588381478ee2e3041895" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "d67491430ea85d4a9db3cd27dc7e0ef9" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "b3fe0e11e97e57c2a9cb0b80e8a37a85" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "077ba4e4183b5fefb0e23b5447293552", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "f4e62205ac1d5d38abdef488a945c209" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "b3c95c1fa65f56cb9d1932bb69706f6d" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "ae459de9873c501282503e9f7349c3b0", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "5b92b710434555998f630bfa6b5acb79" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "f7453c8e57bf5d66b46fe9a1d8fc2416" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "727cffeec6265c4788a5affea724e49e", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "735588ba73f159a6abb0509378fe8367" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "7ecab5f4d2f857b78aa11e305a6143c3", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "c4de70157741565ba9c5b453a4e2718c" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "32bb9663b2c8542583dd8f96f5d7ddfa", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "b211b42102d558a68ffb5a3a2644ac2b" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "1c187426cc6c5f27b32570f55055d8e6", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "f1e62c8c0461551da1e8539cfc49e47c" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "b467b74a001e55ed95e7756c8b348910" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "563b72fa65da52d19e1283e172d2d0a6" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "34c6056f992855b1bb2d019ce5d358db" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "f5456d2c12ea5c11adce4b44dd584536" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "d72e92629f0d5a5f9478f561471197a3" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "9012c2e663e75b0e884cd256fffaf6b6", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "1b2f08d123905b3b81ab9d98965d1a85" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "093b684bd18c5282b15b5234e6daa3ee" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "62d53af92b1055f59027100c4fe95385", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "2a0244749f73524684452afb80ec5231" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "620039f8676e502c99a6dceace70a50d" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "8563c16e8a0f591b9ed88354c5bc3500", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "977107bd4357517b873675edfff2f539" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "b00f0373a90351b5894edeb787837756" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "39d382135809538fa38139aa18c02dab", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "14c51b7a2ae75b9788bcf45dc6bf2470" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "bae39c89dafc5ed98e0bc23d297a0efe" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "52c20d7ac82e53a7967631a2c9c5ade8" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "b1542055a8535240ad8d4c778bbc1363" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "d289de209ea9519da9b44895572bd141", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "b6e95d332d17599bac646d818857e94d" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "4f9fda11917b5d1bac57c74cf3487c0e" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "7ddde3ba499b5d5b9566cc36378e86b1" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "d4db2e5c909c5c2f9945f4c00e2898d2" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "8de75fe3175f5c348bf91e8a3b27ae0d", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "6cc989e9c61e5f308ed416cf63271cbf" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "016c965c846a5447944e1dadd27f5b9d" + } + } + } + } + } + } + }, + "Pos2": { + "type": "branch", + "description": "All seats.", + "uuid": "627ea347e73f52fca487669c19383efd", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "93bc83b5bb9959afa03b40d1b95ed132" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "593a4ff7b6595d78b6ea5f0085ca3ff1", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "87789d77780955b084bb9c5ed5febfa0", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "8667ecdbb5ce5fea857662f483d24190" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "bde8a250bace548e8e57642bf8ee3e82" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "ffc0b8fde0c055a5b2c892146c266c41" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "fccbe3a495d45491b9c8f7c2fad1f00c" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "b0ac94bd4ca35588ab1cc44cfcd38408" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "5408aff91f065a3b8d241a267f3e2c4a" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "617ee6c1af2154dfbbbc94bac3da0eb6" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "cd9c9441c4ad53baa72cf68b1322b961", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "6843a84b486f52ba941b563644e0b221" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "0fea0974848b5fd5b44b67d1bf79a066" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "4135e03eab7e52c9bdbbfc7623d6596f", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "274663871d725688b0bf5ce8a49ceb2e" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "d58ee06ac8a758fb911a15e821ebf695" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "fe4e78c1602c5728b1cff16f3e17ccef", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "96c9a629c345567c8e7f48381d2e8925" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "9f55c1ec22105cd3a8d6e5c489da4687", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "d1e2c350df7e55fa81626feeaa8bd13e" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "62ce7e2501975664a82d128eff12474e", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "591d68475ad35b65bece63753345d0f2" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "81d9c55a17b45469b79b7ddd21c40e00", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "aeeea5dc77b75ccc8542b750761fec55" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "8b0ea2a51b89507cb2515b24c4256dc0" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "adb5e184938f504e9a30f46baae71dfd" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "47daa697085252c5a5f487e19db30855" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "5b7d6798d0f15ba99df4a5493ad430c7" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "4c6bbadf57c350fa87fdb9fedba30747" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "243cdfaae02957daa9a249b835fd7870", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "7841db01ad3e5f8990235313069be349" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "2ca1a0bd12f1528990d534dbb341dc47" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "5786dbfd0b15532bad23daf528e9f9ee", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "ebcae1f8c0d8594693b1b6cf4adcd1b4" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "b37c4f7d96d45b15954838ec43f7c660" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "fbd977f9ade65d50819fb2bc17f6d0a0", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "cdfdfe674ff2519288b82440b2922d8a" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "65dc1cf2c5975708abfd90764d32070f" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "4655fe7df8a25db7bb10403b20b619ae", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "f9429b1dae005407bb1cd7741821266b" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "3e3cfde9ed9b589d885daa114567736c" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "73480eac01d8515f8d65c37c2f608bee" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "6022bc16f8335ac0979d290250a177dd" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "bc2c744b72b55bdf82c8027041d95930", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "cc25a7c0417f56558d09a5bec605f601" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "20cc028518c65b17854a9bfdcf4b94e2" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "20b844e9ec9758f18aa62c1fb7d797b3" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "a4a8e647f25852f7bb2ad249e62e3609" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "487229f206c95415a8061c40c6ae3818", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "8ce3e895bbc05962ad5e390c7c484d0d" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "b62cc6bad7e05a97a15e92a41644466b" + } + } + } + } + } + } + }, + "Pos3": { + "type": "branch", + "description": "All seats.", + "uuid": "bc2ab5356fdb5932a61102b0058214a8", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "550410829a435de5923455de5c45632c" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "a21abc3604465511bc31e0aed9beccfa", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "db6e1be561a453f3add1c2c687ac2d4a", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "53d7e36a97eb573fa2e5e4d7a5a047a7" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "504f1d85bc1b587c9d625a371791d83b" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "61ac78ee85325844a8537bdca9bf5746" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "f7af6839e61f51768d54e94381374df9" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "045b283ffbf7575fb6195709c7612c2b" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "eea86c16b8135007838092af0f5d1282" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "1dd535f34a9159848e10570d42352763" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "a151a81b13b1575c883f57b321421cd3", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "fce0b1717b785d238899169d56ef9d74" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "47c506eed2135abba36dc06cd2eb7a0f" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "0f106d06c9f75318b6bde6bfaf49d57d", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "f3df008dd99c553c95d636e30d00d0d3" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "76141125dffb5d9f83d3346fff3bbfd8" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "ed26fc41c4105aecb50e34afdff0998f", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "766f78815bf559b8888c7b3cdee6ea34" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "34d3424effed58eba6a6181cfda25c8f", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "d2d260671f0b524f8701e34919da0b52" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "0f9b76e9ffff56b2b52fb1098c4322cb", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "409893dd0bc15ffc875528bc88b2e483" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "924daa0fd4a15035b681d8899142a6ee", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "d0569a7f83f55f4bb12769094dc74be7" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "18d2dbaf6532528e9440304786948e26" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "803886eeaf9c580ebce193992166f088" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "9fe9b1102df855e581f904493576756a" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "cda5752d664e5632981348705aabcdda" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "2842ea8ab57555f3ba05f09e4ce711ad" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "8c39b5b4942b561da41c993c907c48f4", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "b655a923e37a58c9ab1e9bf1394507cc" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "554a53fe600055e385f6026abe638471" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "b46d7dfa053258f5aa433e933ae9e4f6", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "9f694753a2ef5456b184f7acbeda298e" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "23b3bf6aa366570d9dc20449e9be020f" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "0bb0b5aef78258d7a6c136659ce7c363", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "8a534349f605575ca2cd754f505a4fda" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "9058f06dedbb5e11a40812edd51ccc97" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "214aa1b4caa65bf2be5eebfbce538e43", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "ec02c10a6cf15d3292fb2769bff8c0f0" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "c6ff414ac8e3575e984f1a044d66449b" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "9b97bc6d12a958fd910f66ad9ac30ac5" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "2c202394f65e5f83b1d63d3c1d7d13aa" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "ae80b01b79715759b2ced44e4f4c3172", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "efeeab610f8c502998140227376ff734" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "708362a157d9557e9ca20e8c29e56476" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "a2a4e67067bf5c89ad088910629b0d97" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "41c7a139f1da5c7cab7725d8206ba3d7" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "fbe9b7fdc2815b019cd8b7f08930bdaf", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "c945847cef015fc1933f7426d9eebd2c" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "25564c2906335edd8bda4b3d33a8d04d" + } + } + } + } + } + } + }, + "Pos4": { + "type": "branch", + "description": "All seats.", + "uuid": "eb5c761820e85e40821abeadf8e84fc2", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "cc761a59ba425694b7af967d92a8b61e" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "dc0cf9af53585f538b4104a156b2d8dc", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "cdd6bf339d015d17b4b45b80178b737d", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "3a2ea604944a5c15a755eb343f63aeec" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "d635c9b8e2f85a40902e14f7f1ae7b4f" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "cb2e6acd11405d6bb2422094bcd29ba9" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "c07b2b98248b521b96b5591766713a09" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "6654a5c20cdd5b37aea8107d0e43e2fc" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "0f58ec6fd6c252ed820d138822c20dcf" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "b72a808504f85a4d8b27056994c33395" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "dc8c8f7df23251f794f60e02b64084d4", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "0c192f0f8bc2556ea99d90203dc74993" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "004b42c2327a5494b18379ff0179a572" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "ef3af672587d570f9540539560ce1eac", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "6aaf54ad46e65d3f90710b420da5410d" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "3f4a6ca4fb5f5c079dad748abcd53fc2" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "9f9c47b07374556f970e8311f97fc0f4", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "40c0ce85ec3a53f382d0717c882b98f3" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "82de7b6760e65a6c96fcd9f0edc0b5df", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "1d2e6a0b9b9a54628525a6b219783c1b" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "d5aa5606ab8e5de6b14faabde2711e2f", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "3ad8538dfb3b504495536e4afb1fdefb" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "a1b9084dd1fd5088a9fe84a40b1e2e98", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "5c3dc4a866135dbf876e5bcfdc8ff2fa" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "5f88651a819f5c4782763cd920908485" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "fde01cac0e925281a508d81e1eb726d7" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "946e4ed7492451e9878a230b8e4d76f9" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "095959c18dae5b2b8657dc6dae0920f7" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "5200f71d33245a06b97ab639cf369c9e" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "40f5dedbec8658f7afffa4ea681c819c", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "dfafe59725ef5553845e5fc9dbf5df03" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "5247d5aa1c6b5f21a82d020944148ead" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "7a6640e1c805579ba84796556e28f03d", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "7c9ad1a264f2565bbbadc6256e3f396e" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "e14a122bc926501d80559a6c8c6d9d4c" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "3217516a85455473a3c80b55be58a64a", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "6d98e9b9b0435760806bb4c59e9d6468" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "e7b2e14ddc9d511abd3704ff9ae5a599" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "98b33e2c7de155cf8a4e0fc3203d6373", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "50f0c3104ca453eb98a9d8f876eeb607" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "7e7d04c189f150138ad1dc930fdc66e4" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "56d7e4dc37695bfc8ae3505c203ff586" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "a5f7f8166096517e8f6af6e1515ccd65" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "0a608d7faa5f569ab1bd9a19bc6300f5", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "f1f6f6335fa65dddb0bdf74d448f78af" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "7a8caaf945d35162a727b12bad0e5709" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "96f2b430a95351cca2c41129bd69e198" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "9850602e018457709cf1c56d18fea870" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "dd67e6a1cabf542fb60de775cc1a3c52", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "0558f6e79ffc5d5b85e5f794496df877" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "1353ac577c3a5152a230fd2dd886daef" + } + } + } + } + } + } + }, + "Pos5": { + "type": "branch", + "description": "All seats.", + "uuid": "516135fba9aa5fa8a79809f9bed4f1f9", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "65d91e86f02a5fcba9bd67c9747bb213" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "90327a55380f5d32b2c3bc0ab171dc67", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "a7d1f749d6235ca9905d4d201f3d02bc", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "2fa3e6ce056155eb96fc4e018f5c9b24" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "9fab3c4291ad5027a3795d2f756abbd7" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "23ed4703d79a562697ec9a4a20aec1a9" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "b3536a94d7ba560fbfc39c58bd336efa" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "706123f020bb52edb223719a4ff130b8" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "d1c6ab68bae25aa7b166d66c6a668d58" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "e00b285c87225e488d41b68785d48add" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "3c64dfc9a226528096c41a0eaa1476a5", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "d04600153588558faa43c549e5606ec7" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "852ce672c480566bbe0a1dbc25bb7182" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "11ae3ea8d492555d9098e6df11d3821f", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "93b0756cfa9f571a826196097f062bf6" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "5718a6b4d14a553dac33dabfdbf79fea" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "b82dc14bf6855c38b9ab30ea85ee0db2", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "dbaab839ce665ff7b7027c3290478cf2" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "1d8b072ed038571bbfcd8d1c2dc61220", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "1180b32128035b3daf166efd3603d934" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "0f77b5b58a645186893dea3c2764af10", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "e0c8ab5dc3db5b82bb776cbda7bbbebf" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "bab9b1f0282b520683c19beb8bf34831", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "59ec180b88f150fd8199cd010c517b54" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "17c4de4015975336bf943efedd9c399c" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "fc180775ab5f5c85aafd0d3f4b9e9944" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "72ed0dc1cebe5c2b9915dadea86de041" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "a93c73f889635606b188449da05ef810" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "112f561e987351d09b5e266f1cbf20d6" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "b132eeae15605f81845674e751117c8d", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "90f2594afd495490bb03c9ab19ef2650" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "2cc1fbbf01bd56cdbc04c412a70b1a48" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "c289c4f261cb584e9f1f843a4fb3ec62", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "0efab7bd68c3574d818bec1a5341e8a6" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "8b3b8818268b59129fa09a0e73844d08" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "141ee0b821f3546389abcf3372990c34", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "76767bb6ef1553e498497c82eb942523" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "72538cba089c5cec9f1463ba6cb5e552" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "5070362dca1c59be9bcdcd1029de0582", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "79c3c8776fb7544b92f229f124b1dba8" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "123a39c7bbd1514b980b91e25f68d4bc" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "d961fa46bdea5cb0aff277d0d07e388f" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "adb18e5168e35aeda4b29499e58f47cc" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "185e7c8f528d5e9fbf14e388dbe94571", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "178ac36be9ff5134a2c3fefb87353948" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "d323b334092253208f39d3c66142b35a" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "516270b46d3a51edbaf5b75ade824888" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "df3448f6f38a5d12a72f546ad2f2d9d7" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "656a3378317f586f8da2ab023216165f", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "ae66a09742ae5e72a77f7e1f56739b56" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "f8435bc72b1b53a384dbbbdab7483210" + } + } + } + } + } + } + } + } + }, + "Row4": { + "type": "branch", + "description": "All seats.", + "uuid": "278b0d4c2826538c8ffce6029313abd1", + "children": { + "Pos1": { + "type": "branch", + "description": "All seats.", + "uuid": "c6433731ae4b5a7ea0575402cb381c65", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "1ab7b5bc740558d78525ba8235016dfc" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "61475f046dc05998944d35702b987c7d", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "71c7661d90fb5aefadfdc0871a6e993a", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "d277800ea64f5a9aa2a1b97d466d39de" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "379d86ba70995fb39c7acaf5ede4df51" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "ab81f8fd63b1576aa0585d9e99d3453c" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "935ab599584155d5bbaacca335253ef9" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "934aa8c818085e50b73131093f1b19f0" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "8c1c2221f3fb5fcd9d34ffc98d8aa082" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "728cbd56c8cd55d6bbe6b0ed48f9398b" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "e85d2f0ee7cc5d23bed43481d80288bf", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "31fc37aa04f95ee1a57b7c4f101484dd" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "dadb098e1f485e948c5717a8494e8fd1" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "9619fafd665b5c51b8d8fe9b3e4004dc", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "48a79e18cd295031b8cc50bb2037bd93" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "168b5ba142ef53b8a6f0f9b01024bfa5" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "e2e6adec16a55e0e95e44b0a1015dadb", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "18d9bb10df4a5707ac51682a7346e593" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "85b33d712f9d5dfba115157f17cfeb3f", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "0591ac5d33b95f47835f3e6e8f0fa671" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "f61cad3040575f2492dd0fd40bb31f67", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "8e8e742007f451c5ac9b4bc2a699a7e5" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "52103957fbc158eca9fc3dc59ab01f22", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "96b77740fed8523bb1fa67652c493b6b" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "5f27f9c7592a5fbe81ad2ce2e30f72c2" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "da8bc2e635a55037b5907b0b9e94d2a3" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "a861e2ec59135000b12f014dae7755b9" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "16392c382dcc536d8d0c4ab329a08d43" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "e0ec1da34c6d5ad7b3671256612f9eba" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "7d11cd8518ac58069f1b2a3e89949d9d", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "b6ebaf716148582dac103710c6d7515b" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "c9c8f94f08d35b998c5a9d221aed57a1" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "7a729be9c8f45176805ca87d1d4c3705", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "7665927a6c9f52afb29371c8f47defc7" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "5208286492d3592ab5c2356e761767f0" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "876dd5145935507faf391fd24e16cf61", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "54513fa30ad25403aaaf13ec1985bf6d" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "d8deffbdfffd5809babce06f5a1d8a25" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "f58af4aa600457d5a9e4535668552248", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "d27bf6734d9d5aff948b1e68669d0cf8" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "ecda6d5b91fe50d5bf710df68597484e" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "9ec58a20c5715a828be4b65969a9c923" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "7bc7d32a80fd5747a0bcb8fc5a116cc7" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "3eda8f6df4ff5496b2a6e1a40f51b408", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "3c9319f5a21f5b06b49275afa5092d6d" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "01c61651a5525bc995c4eae5f65ee952" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "26531ff72b72545ba8f7414f2479a213" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "d87a13f2acb95f7c9012a41ae0a40736" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "99af3963e3d953ab8763369fafc141fd", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "2f1ab29d17285dc0a285d139655549c8" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "15071ac7e45b52f685c86dbf6e1b7815" + } + } + } + } + } + } + }, + "Pos2": { + "type": "branch", + "description": "All seats.", + "uuid": "2210526e7a01588c93f0ca0804020ded", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "d36c81a432da5a3c9e246e7399a3a559" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "be6a3584b79453bc9baa5b3f27eef009", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "7bb58c8717fc50f0a6ca9804c9188a21", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "5e345518238553a7a66dfaaaa28688f9" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "d797ec9d4b985ace8c47d4d036738abe" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "122baa5713d0567082b11b9b82f51dae" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "9dc4e33abc4b5558adaca0fb6a09accf" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "ea88a1833f0151f899504821c2c4fd61" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "48d8c05d5ab25739a973f154f6d27696" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "39e515efca9e5f3791201b956312e6f2" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "7fcbb9e146a3592d8334ceb9a4e1b40c", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "1e6e72906daa5e899eea1fc91373f1c0" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "222996fafa185967b42c61e54b33a766" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "05ec3804cc2f5947ac30102774b35e08", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "79248655052053fea2d20a12dfdf782c" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "78f28f8b004b5ca9b089f75c8b234133" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "4e0a65f06a255e168533afc4f7182d57", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "154cb44d93085361a546c66977bc6dcd" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "6cb3159a15b0547ea6cc8a2d9cab4623", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "c2842e4e7d265fea89a37e05d72eec3e" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "5b9269f0b1f75b879cb20c1bd5cbc17e", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "deb86df5697152f089b4f994c7f9e87c" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "a729bebc0fc45f08af05d216d1c08620", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "db28f52e292f53039174be584be8be70" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "80ff39f9e3b25d3b97687406e724085d" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "8faeaae78dc8532cb29f0e43f5bead60" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "76bcca083e895157a649f1ac74651498" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "04b6bdd984855eb8b11e1b57ba7a2959" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "ce5115b5bbad5122a68ba3dfdf35a4b2" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "2b940fbce5795a9a89c602eee1fa4a9f", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "421141d416af5bbc989bc1abf02a5031" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "371b954b71dc51819d977a4da53ebf84" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "637c8f5f56a15e35b81b183c2b363d2a", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "ec65752050a65aa7b6443b16af124649" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "1b3bbc64e0d755d289ce959f934ef386" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "3820fc8dcd515003bd037e26fbb29125", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "cc0d53d2917e5e0f894e5defc2598fa9" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "5eef304cb25b5984a25397ce04d63c84" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "167ae548c70c5765a211c3609cfaa8dd", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "6122c7c845c4530db3ed8fdd1ef348b3" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "26a4a1e522555da8b8d7436db462bb1c" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "413fa035a5ac5bdd86e0893d38083262" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "ec76ac8c69c35d1fb1a002c31fe4f236" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "e1c02876b6935029a9181114fd684c38", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "f938fcdc9cad502b98a09e0cbd53946b" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "1e5cf9cda67158bdb56e58383cce2348" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "2d399e94961f5b43842e99d3c155f317" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "7446988bcdfb5f9e9e70e1f764139ac8" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "68582daa591754cfa14e794e562ee74e", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "cf57a51db5bd5cb1a9fc734378718765" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "88c4cdb4710b59958be9a37e52393886" + } + } + } + } + } + } + }, + "Pos3": { + "type": "branch", + "description": "All seats.", + "uuid": "97f4eb920b5a58df930e02df6077eac6", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "a0d0219eadd2514aa4fdb5a8782458e3" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "89bbab4bf8a757b49c789108d0bc73ce", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "8edc38f184ca57e484ccb894640aaa51", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "b8e4c62a1f2b574db561acbd42eac4fa" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "f5b2c9fb7d7556a7959f87202e3705d7" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "afe2bb37e2055e6fa32725cc8ac9281f" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "746b83af1ac45f86af62118296d9fba9" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "c9534ae1736054eb87405205d9583740" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "8dd067f2527a5037b58c5feb99cca37b" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "2cb257c74dbb5cfaa18428721086a8e4" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "b9f3b9658b455009be147bb0824ad552", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "21f6710b033b5439910c6a90cdef5391" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "37aec9f1995d53e69dc596e88706f082" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "7cbf756370dd5b0a9748218d72c3f0a2", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "f2a092738308526fb432255847238545" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "4e01b2b3613357078e5107a4a7cea338" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "ae2b4e1252ce52e6bdddf2fedf893727", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "b45f8f471d555029a87c37e9543c319b" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "ae75355dd86e57dfb1610f1adb1a8063", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "ccf0ab7746b3594daa415cbcd846bed2" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "9f327ce935175ce0882d41dbf962fd22", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "c6c2d9dd4e085b1b8a803ad1efbd1d3b" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "1bc599ee3d3c55ea85e7d0f0dd665566", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "4eaba56c0e085607a797fb0c1af1890c" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "ff823baa375158d9ab70772574cf81f6" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "e3cf98fa85a75a0b8e29039b5e507273" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "95a104baeef2548296ade37bef6e8adf" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "e98312fdfc295b568422d0a1cb9a5bf9" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "a34bd1e9eb635f9caca800f7247b8a14" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "28131488041b5ca8832ec954c7980a57", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "4970afc727975a7f82efa5b98bcaef20" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "f64bffbbe97c576abc6e8d9714cce778" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "7aa143d1a69a5d76ae966bc84eafbf05", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "0d53169cd64553f4b35d90b188e4e31a" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "4d490e1f7aa4503da8e7f0b58d8cb7f0" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "4eede6035e315cb3a49e31a79083d2d6", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "5f7b22a3f653589488a073508a9eb8b1" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "293f9b42a7905c4bb720dbb61ecb3ae2" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "76c259e34a1454c1907945933154f75a", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "acf7b61a1c475483a71d62deeb577375" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "bdadaffa8d0d5ceca1358fcc83f0b163" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "0d19ee02d09d53d9b16651fdc9df9948" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "6d1b17807ff751778ac07b63f6a7d1fc" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "9be20fdb7b47569da901cbbafc0d14ad", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "4aa4e54ff29f564ba46e3befff74adeb" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "baa326f37f8459b3a0cc6035b1243ba6" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "03006f057a6f52368f352676b36759f6" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "510c3e175aee5e2983b5ad30d31d407c" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "da5e7e45ab4b5c3591f753500bc572af", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "48fa678302e15af4ab7dafc1d3d8523f" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "af56cae4b5e45e628950666a0fc93fad" + } + } + } + } + } + } + }, + "Pos4": { + "type": "branch", + "description": "All seats.", + "uuid": "c9948fa679fb55fcb0bd9ba3ab226f86", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "05f6eb4d2e0a5e76b51a76f898d8c566" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "1f1b429908cb57ad88fa3c456cdac21f", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "5d485a165bc0506e9005b4c4a14150a4", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "eff4c8b63f0652b5bf43c1b4764cc1c4" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "aa0a4e039846542ca490b54758ec675b" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "86691c26f6cf5bcf93a7c5a84c2b26e0" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "51aed885093458cd999977b8273ad224" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "380c135b4fd4503fbdedbc5264df5bab" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "d333514f0f8b5761badb876e2d35bf3f" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "42a24e9ac6b4538d9541fcaca5c39807" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "5b43bc6380a25ae584b4d63e8a621a47", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "3828b11adfd752f8acf64876b7193c35" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "6679ca4dcb255ef7bd6ac3e08a653e92" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "202ab952dadb53388ea02a9c6231f4b4", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "e51119736f1157758d2cd9ca7f42a7ce" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "2700ef0693e85b5aaf40608b93847565" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "ce5f0caafcea53d5b047d9502696b250", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "b59005fc0dec52e8b9612e8137ea9b41" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "6dd2c4e1ccc8513e862565418238d387", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "96bb71d09b7c59d9a626d19fa480cfad" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "73f0ee92cb6a5b8a878b46e6bda622af", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "6af12c6538a75aaa8ca54ee6a7bf2157" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "d424aed5814d5055ba20b16bbe9e60ec", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "c0fa909b997455b58d3aea356bb8ed61" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "94743332fa0051448aa2445f952752e6" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "b4e8d667b6995e31a053258b73acfa9e" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "412b04edd54759cabff4dec6f255d9ee" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "ea9270697046510ba97d09686a7dce5f" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "485391c4f3475714a1e6334b6ccf7a8e" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "aefbd6481469586db676942f389753df", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "4da8d3dffeec55689cec471fe44f44d2" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "3670fcb689b65c54b87ecaf500d75566" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "ba5fbdb53d4e5cfebced0770890d4da0", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "8bca17a27fe15e3f89ac0427676ba8b5" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "a03b6c49de3d555db304794b8dc9dba4" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "a1f7f456c9045cdc914f04c87d6215c1", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "279648f4ddea5d8ba8f40fa2e9d7509d" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "f9eceedeb5e958fb85b899cfe6435eb2" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "272f0e4c1f4858caaa4cc8ae3d6008e3", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "4431d5a39d2850cdb089d8206cb3a729" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "e2ccf418460d5ac690c744ea2defe293" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "5c767cd910455a3db149a9bdf6d5e798" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "308a5785a3ed5cfb9e8ea02dfd4d9018" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "a567b1f4e178573590e6aaed192c60a2", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "4684b62d6cb85153b2a589572aa6b1eb" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "fd9cfc0d509d54e4a285bb5a5e43bca9" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "7635fde28ec05d18be4d5e163a1d5cbf" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "f1601d11be32540b9bbcd2bf3d02577f" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "9eab29f2248550aa97f86ae1dcf674a3", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "be9f4ef481d35d37a7401a2d6d917539" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "8f5559fe801358b7bc342a8729c4e139" + } + } + } + } + } + } + }, + "Pos5": { + "type": "branch", + "description": "All seats.", + "uuid": "2fc8c801c8065813839ab61cd7d3b9c3", + "children": { + "HasPassenger": { + "datatype": "boolean", + "type": "sensor", + "description": "Does the seat have a passenger in it.", + "uuid": "5ecf909c5e895659988ebc94f44cc9c7" + }, + "Occupant": { + "type": "branch", + "description": "Occupant data.", + "uuid": "3f92285a7fa35a3695061678e7662889", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "b73f5b3267c8571c97d29a10482ad297", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "81dddc1bd92e535eb1270ba62242daef" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "237e4fca2ff35ee1a20fc91a7e390f58" + } + } + } + } + }, + "IsBelted": { + "datatype": "boolean", + "type": "sensor", + "description": "Is the belt engaged.", + "uuid": "7fe5dacda6935f25b83d1e268138249a" + }, + "Heating": { + "datatype": "int8", + "type": "sensor", + "min": -100, + "max": 100, + "unit": "percent", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat", + "uuid": "9b7821d801385a60acc226bec9bcee9a" + }, + "Massage": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "uuid": "060c88168c955bccb13aeaf50e19ffdb" + }, + "Recline": { + "datatype": "int8", + "type": "sensor", + "min": -90, + "max": 90, + "unit": "degrees", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline", + "uuid": "b867b5d87e1950998afeee8e2c6ebe20" + }, + "Position": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 1000, + "unit": "mm", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost", + "uuid": "573a386f90885e2d92cc7c97e72511f4" + }, + "Cushion": { + "type": "branch", + "description": "Cushion signals.", + "uuid": "bca5915bf1e05499be697084c94456ff", + "children": { + "Height": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Height of the seat front. 0 = Lowermost. 500 = Uppermost.", + "uuid": "8620b49b7a2656a1b802b749f959eb94" + }, + "Length": { + "datatype": "uint16", + "type": "sensor", + "min": 0, + "max": 500, + "unit": "mm", + "description": "Forward length of cushion (leg support). 0 = Rearmost. 500 = Forwardmost.", + "uuid": "bbcbcaf340fe58969f4b06856a7e0898" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar signals", + "uuid": "17bc6d7c938a52f8a13e33dccf9d7b40", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "94aba5edb15e5341a2b66c48cf0653a0" + }, + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "uuid": "a7d3d00239da58aa8cd7a756bb6a486c" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster settings", + "uuid": "64e3b2d43be2550ab225fbb9321706ce", + "children": { + "Inflation": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "uuid": "39f7227e1a645d188626e9c4dbc1c87e" + } + } + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint settings", + "uuid": "d2e23499aa375b5188d720d6343bf606", + "children": { + "Height": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 255, + "unit": "mm", + "description": "Height of head restraint. 0 = Bottommost. 255 = Topmost.", + "uuid": "96bce1dac8895b7cb35a853a07001faf" + } + } + }, + "Airbag": { + "type": "branch", + "description": "Airbag signals", + "uuid": "8d3740590402509582ac2df0267797ca", + "children": { + "IsDeployed": { + "datatype": "boolean", + "type": "sensor", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "uuid": "8bcb8800307c501da59bae1d46c56ade" + } + } + }, + "Switch": { + "type": "branch", + "description": "Seat switch signals", + "uuid": "e9f2ff4dca2554d9bdfaf33e63d866a6", + "children": { + "Warmer": { + "datatype": "boolean", + "type": "actuator", + "description": "Warmer switch for Seat heater", + "uuid": "4b4f801f348b5f749b45a99fd4df9ddf" + }, + "Cooler": { + "datatype": "boolean", + "type": "actuator", + "description": "Cooler switch for Seat heater", + "uuid": "7b02caf363db5b749770511d019a4b75" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "ec22ed9cb7c8589182f27d7ae683e49a" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat forward switch engaged", + "uuid": "ce46f11ab46659b1b747d5bf940159d2" + }, + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat up switch engaged", + "uuid": "a30f9d2416c95c91ac5852d438785e27" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat down switch engaged", + "uuid": "54dc590307b35e9bb98b0197b597d681" + }, + "HeadRestraint": { + "type": "branch", + "description": "Head restraint switches", + "uuid": "6d949f20e3ab53428baf8ca13fe0161f", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint up switch engaged", + "uuid": "f9325a21797b5c91851f7d11bbcf413e" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Head restraint down switch engaged", + "uuid": "01c0047065df56e3a4b1cce03d1c65c0" + } + } + }, + "Massage": { + "type": "branch", + "description": "Massage switches", + "uuid": "021c7125477b5f028113085f7fc2e047", + "children": { + "Increase": { + "datatype": "boolean", + "type": "actuator", + "description": "Increase massage level switch engaged", + "uuid": "cf743bdc3b9056a8984594eda1b92713" + }, + "Decrease": { + "datatype": "boolean", + "type": "actuator", + "description": "Decrease massage level switch engaged", + "uuid": "7fb4869be6905af2a13d0e31a352b93a" + } + } + }, + "Recline": { + "type": "branch", + "description": "Recline switches", + "uuid": "5cd4e01baba05416849e01430814b308", + "children": { + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline backward switch engaged", + "uuid": "ae647e32597e5b7f801fef66d4da6c75" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seatback recline forward switch engaged", + "uuid": "15dc6ad4c64657129623abbe3483d3f5" + } + } + }, + "Cushion": { + "type": "branch", + "description": "Cushion switches", + "uuid": "662e791e2aad5ea8b58acaee8e7e7986", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion up switch engaged", + "uuid": "58724af988135202a35ab3e9b57bfba4" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion down switch engaged", + "uuid": "eb272b8294825399b3a0c02f6b5d9cf8" + }, + "Forward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion forward/lengthen switch engaged", + "uuid": "d4a62201d29557fc8f5f1f7192fa38c3" + }, + "Backward": { + "datatype": "boolean", + "type": "actuator", + "description": "Seat cushion backward/shorten switch engaged", + "uuid": "cf10c7ff875f52038c41e52bf8a762d3" + } + } + }, + "Lumbar": { + "type": "branch", + "description": "Lumbar switches", + "uuid": "ae8c6f1c22755a8bb179defe39acddb8", + "children": { + "Up": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar up switch engaged", + "uuid": "9e835e91089a595786b5112e16cf402e" + }, + "Down": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar down switch engaged", + "uuid": "20424f7bb2ad5e65b755c52da111801a" + }, + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "4989f93f5158517898ee1ed4e7f06e2f" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "37f321034d9d5364be542879d73e9c43" + } + } + }, + "SideBolster": { + "type": "branch", + "description": "Side bolster switches", + "uuid": "1a9d36b3a09c50858f35ed246e007c41", + "children": { + "Inflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar inflation switch engaged", + "uuid": "2b77392f4f065f488e3351b03a5a003a" + }, + "Deflate": { + "datatype": "boolean", + "type": "actuator", + "description": "Lumbar deflation switch engaged", + "uuid": "d8588aa2c3a155e5a1fc0e79ac3d0eba" + } + } + } + } + } + } + } + } + } + } + }, + "DriverPosition": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "The position of the driver seat in row 1. (1-5)", + "uuid": "bca9ccd50358584d8d20865694b0d15f" + }, + "SeatRowCount": { + "datatype": "uint8", + "type": "attribute", + "default": 0, + "description": "Number of seat rows in vehicle", + "uuid": "1002a7a4a954581b9cbc72fa438c5292" + }, + "SeatPosCount": { + "datatype": "uint8[]", + "type": "attribute", + "default": 0, + "description": "Number of seats across each row from the front to the rear", + "uuid": "8dd40ecd47ab51c79ed9c74ae4296d7e" + }, + "Convertible": { + "type": "branch", + "description": "Convertible roof", + "uuid": "2aece85d39d6569e93cf842387a645d9", + "children": { + "Status": { + "datatype": "string", + "type": "sensor", + "enum": [ + "undefined", + "closed", + "open", + "closing", + "opening", + "stalled" + ], + "description": "Roof status on convertible vehicles", + "uuid": "c8812698198a56d7a1adcc8bbe87845f" + } + } + } + } + }, + "ADAS": { + "type": "branch", + "description": "All Advanced Driver Assist Systems data.", + "uuid": "14c2b2e1297b513197d320a5ce58f42e", + "children": { + "CruiseControl": { + "type": "branch", + "description": "Signals from Cruise Control system", + "uuid": "c4d751cf74f9576dbba3cc820991c1fb", + "children": { + "IsActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Indicates if cruise control system is enabled. True = Enabled. False = Disabled.", + "uuid": "78ab5ce923dc5aa1a6622bcb948e1561" + }, + "SpeedSet": { + "datatype": "int32", + "type": "actuator", + "unit": "km/h", + "description": "Set cruise control speed in kilometers per hour", + "uuid": "b3f3a53ccd825e4da5cb1226f94dc005" + }, + "Error": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates if cruise control system incurred and error condition. True = Error. False = NoError.", + "uuid": "586d4d35a28956c794c7d56a9cedf544" + } + } + }, + "LaneDepartureDetection": { + "type": "branch", + "description": "Signals from Land Departure Detection System", + "uuid": "e45f33fdcf245f11981b2f201ee8281a", + "children": { + "IsActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Indicates if lane departure detection system is enabled. True = Enabled. False = Disabled.", + "uuid": "ba683882dbea575b9540118aa914acd8" + }, + "Warning": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates if lane departure detection registered a lane departure", + "uuid": "06ba0445af5258d8a9c953979afb7c05" + }, + "Error": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates if lane departure system incurred an error condition. True = Error. False = No Error.", + "uuid": "92e47dedb3d354779352d83ba3de96be" + } + } + }, + "ObstacleDetection": { + "type": "branch", + "description": "Signals form Obstacle Sensor System", + "uuid": "e7b6d81631cc5ac584d027d4c1a66cb5", + "children": { + "IsActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Indicates if obstacle sensor system is enabled. True = Enabled. False = Disabled.", + "uuid": "7262cd48bdad59f3a0d93d9cb592d4f8" + }, + "Error": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", + "uuid": "2a68c1f1f290510097b6aac71a23f305" + } + } + }, + "ABS": { + "type": "branch", + "description": "Antilock Braking System signals", + "uuid": "219270ef27c4531f874bbda63743b330", + "children": { + "IsActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Indicates if ABS is enabled. True = Enabled. False = Disabled.", + "uuid": "433b7039199357178688197d6e264725" + }, + "Error": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates if ABS incurred an error condition. True = Error. False = No Error.", + "uuid": "cd2b0e86aa1f5021a9bb7f6bda1cbe0f" + }, + "IsEngaged": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged.", + "uuid": "6dd21979a2225e31940dc2ece1aa9a04" + } + } + }, + "TCS": { + "type": "branch", + "description": "Traction Control System signals", + "uuid": "0572e9f6b1aa5fb5b2f68086aff05073", + "children": { + "IsActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Indicates if TCS is enabled. True = Enabled. False = Disabled.", + "uuid": "6789de7a67515e7f9bcdd18623954074" + }, + "Error": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates if TCS incurred an error condition. True = Error. False = No Error.", + "uuid": "44910b2e5ce75a768d79a01ee3d0723f" + }, + "IsEngaged": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates if TCS is currently regulating traction. True = Engaged. False = Not Engaged.", + "uuid": "b33d70009ad5589fbffe17fa7e827242" + } + } + }, + "ESC": { + "type": "branch", + "description": "Electronic Stability Control System signals", + "uuid": "636b4586ce7854b4b270a2f3b6c0af4f", + "children": { + "IsActive": { + "datatype": "boolean", + "type": "actuator", + "description": "Indicates if ECS is enabled. True = Enabled. False = Disabled.", + "uuid": "70b769baed285c3897979639d13bafd3" + }, + "Error": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates if ESC incurred an error condition. True = Error. False = No Error.", + "uuid": "c3852de5d6305918b8de1fb11a1a5da5" + }, + "IsEngaged": { + "datatype": "boolean", + "type": "sensor", + "description": "Indicates if ESC is currently regulating vehicle stability. True = Engaged. False = Not Engaged.", + "uuid": "2088953a28385353a9d46b3a3dc11cac" + } + } + } + } + }, + "Chassis": { + "type": "branch", + "description": "All data concerning steering, suspension, wheels, and brakes.", + "uuid": "87d260d635425da0a4ebd62bc4e5c313", + "children": { + "CurbWeight": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "kg", + "description": "Vehicle curb weight, in kg, including all liquids and full tank of fuel, but no cargo or passengers.", + "uuid": "ffe3fe9067b15475bb02865ba51cc972" + }, + "GrossWeight": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "kg", + "description": "Curb weight of vehicle, including all liquids and full tank of fuel and full load of cargo and passengers.", + "uuid": "1488a8a670535ea2b3ce2ec5b7016175" + }, + "TowWeight": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "kg", + "description": "Maximum weight, in kilos, of trailer.", + "uuid": "ff8fc44fac735c278bf18291790cc9db" + }, + "Length": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "mm", + "description": "Overall vehicle length, in mm.", + "uuid": "ace9409dc191589faf79edd42a3218d3" + }, + "Height": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "mm", + "description": "Overall vehicle height, in mm.", + "uuid": "63e6660d8f635f4db977c23ee411f0cc" + }, + "Width": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "mm", + "description": "Overall vehicle width, in mm.", + "uuid": "abd0c2786e275dc1b9669dd337ba6c65" + }, + "Wheelbase": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "mm", + "description": "Overall wheel base, in mm.", + "uuid": "11677e0433935dc7aa9c1806c96a8a6b" + }, + "Track": { + "datatype": "uint16", + "type": "attribute", + "default": 0, + "unit": "mm", + "description": "Overall wheel tracking, in mm.", + "uuid": "f66cc4e6d7cf5e1da0d58af902dbb36b" + }, + "Axle": { + "type": "branch", + "description": "Axle signals", + "uuid": "0a3ebde7efa85c04ac6c29b5676fec5d", + "children": { + "Row1": { + "type": "branch", + "description": "Axle signals", + "uuid": "d7e93a94af0752aaab36819f6be4f67a", + "children": { + "WheelCount": { + "datatype": "uint8", + "type": "attribute", + "description": "Number of wheels on the first axle", + "uuid": "7232effafb7d5c908a9bafe1cef2ff3e" + }, + "WheelDiameter": { + "datatype": "uint8", + "type": "attribute", + "unit": "inch", + "description": "Diameter of wheels (without tires), in inches, as per ETRO / TRA standard.", + "uuid": "60d4b948ae8a5485bd77c45e1f648c13" + }, + "WheelWidth": { + "datatype": "uint8", + "type": "attribute", + "unit": "inch", + "description": "Width of wheels (without tires), in inches, as per ETRO / TRA standard.", + "uuid": "5b92bdab1e035ff4ba000330e20f826b" + }, + "TireDiameter": { + "datatype": "uint8", + "type": "attribute", + "unit": "inch", + "description": "Diameter of tires, in inches, as per ETRO / TRA standard.", + "uuid": "ed9f037c1b5d53c78c90b71179db1f4f" + }, + "TireWidth": { + "datatype": "uint8", + "type": "attribute", + "unit": "inch", + "description": "Width of tires, in inches, as per ETRO / TRA standard.", + "uuid": "3444d8773c215cd7a076d688eb7f1afc" + }, + "Wheel": { + "type": "branch", + "description": "Brake signals for first row", + "uuid": "8ed02c02eee0502ba6d94a5d5f1fb789", + "children": { + "Left": { + "type": "branch", + "description": "Brake signals for first row", + "uuid": "0cd478c6e72b55c6be6d3d9df9624545", + "children": { + "Brake": { + "type": "branch", + "description": "Brake signals for wheel", + "uuid": "162dab13d5815ec4bc22888b0bc59cbf", + "children": { + "FluidLevel": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "uuid": "63aa9c4973ef50b18bd7214c9f2634c5" + }, + "FluidLevelLow": { + "datatype": "boolean", + "type": "sensor", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "uuid": "53a75af3ab945f3f8546a84136369ec1" + }, + "PadWear": { + "datatype": "uint8", + "type": "sensor", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "uuid": "b4ed36f8143d512fadaca3e641739ee2" + }, + "BrakesWorn": { + "datatype": "boolean", + "type": "sensor", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "uuid": "2f7c8029bfe759748592ef5e729cc845" + } + } + }, + "Tire": { + "type": "branch", + "description": "Tire signals for wheel", + "uuid": "17c60ec3c02054b4951c975156375d9a", + "children": { + "Pressure": { + "datatype": "uint8", + "type": "sensor", + "unit": "kPa", + "description": "Tire pressure in kilo-Pascal", + "uuid": "9fa3f176fd975d28a68f70c7d72e370f" + }, + "PressureLow": { + "datatype": "boolean", + "type": "sensor", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "uuid": "82de2a68098455eba786f8ed2d7468c0" + }, + "Temperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "Tire temperature in Celsius.", + "uuid": "093d8fb119755f6bafa979e4eae201a0" + } + } + } + } + }, + "Right": { + "type": "branch", + "description": "Brake signals for first row", + "uuid": "c7ae1f1787ec502d8aea41802dc9a203", + "children": { + "Brake": { + "type": "branch", + "description": "Brake signals for wheel", + "uuid": "f334a45b92215f86b4ecadbd82c8b249", + "children": { + "FluidLevel": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "uuid": "386bfddee4605e419d59755a51835650" + }, + "FluidLevelLow": { + "datatype": "boolean", + "type": "sensor", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "uuid": "0311e746d19358c8a3236cefeca84ef1" + }, + "PadWear": { + "datatype": "uint8", + "type": "sensor", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "uuid": "f3c53c8c5628527a8501e12778dae6c7" + }, + "BrakesWorn": { + "datatype": "boolean", + "type": "sensor", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "uuid": "1a55f7262b565bf4a5181a55c19d204d" + } + } + }, + "Tire": { + "type": "branch", + "description": "Tire signals for wheel", + "uuid": "660f90ae8f14594cb6e97d000c1985a1", + "children": { + "Pressure": { + "datatype": "uint8", + "type": "sensor", + "unit": "kPa", + "description": "Tire pressure in kilo-Pascal", + "uuid": "ea8038b63e6650ffb1a20539e915064a" + }, + "PressureLow": { + "datatype": "boolean", + "type": "sensor", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "uuid": "1634d42e20bc5cb4b3d6d4735821d477" + }, + "Temperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "Tire temperature in Celsius.", + "uuid": "58d4cee188d353d7996e855d48bb92df" + } + } + } + } + } + } + } + } + }, + "Row1Count": { + "datatype": "uint8", + "type": "attribute", + "default": 2, + "description": "Number of axles on the vehicle", + "uuid": "f5d7402c65bd5d29b8167fe480c76042" + }, + "Row2": { + "type": "branch", + "description": "Axle signals", + "uuid": "8ef77768446659b6b5020a06c7b23c8b", + "children": { + "WheelCount": { + "datatype": "uint8", + "type": "attribute", + "description": "Number of wheels on the first axle", + "uuid": "ac6fe103410153d382306426d14213ab" + }, + "WheelDiameter": { + "datatype": "uint8", + "type": "attribute", + "unit": "inch", + "description": "Diameter of wheels (without tires), in inches, as per ETRO / TRA standard.", + "uuid": "af27b1d18a5455e593692a9929909bb9" + }, + "WheelWidth": { + "datatype": "uint8", + "type": "attribute", + "unit": "inch", + "description": "Width of wheels (without tires), in inches, as per ETRO / TRA standard.", + "uuid": "889d279053c051979ebbe301bacac206" + }, + "TireDiameter": { + "datatype": "uint8", + "type": "attribute", + "unit": "inch", + "description": "Diameter of tires, in inches, as per ETRO / TRA standard.", + "uuid": "4dc46ee7fe0a5240a6eb67f9bf43a1ea" + }, + "TireWidth": { + "datatype": "uint8", + "type": "attribute", + "unit": "inch", + "description": "Width of tires, in inches, as per ETRO / TRA standard.", + "uuid": "76a9071697b25fb8ab42393dfb77f0ef" + }, + "Wheel": { + "type": "branch", + "description": "Brake signals for first row", + "uuid": "87b119ed6de254159877b24047fd3026", + "children": { + "Left": { + "type": "branch", + "description": "Brake signals for first row", + "uuid": "4c32a1c722a45ea09a52c389e8a8a618", + "children": { + "Brake": { + "type": "branch", + "description": "Brake signals for wheel", + "uuid": "774d0a5771d35975872870cf71ea1487", + "children": { + "FluidLevel": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "uuid": "4b0d4f80b8855973a55ffee80fdfc4ba" + }, + "FluidLevelLow": { + "datatype": "boolean", + "type": "sensor", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "uuid": "68e832cbce705af0bf0d6e0f9ba7acac" + }, + "PadWear": { + "datatype": "uint8", + "type": "sensor", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "uuid": "8eff72d583015e1e94eab98bf8f0497e" + }, + "BrakesWorn": { + "datatype": "boolean", + "type": "sensor", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "uuid": "ccae6b64f123544fa6982d224d987852" + } + } + }, + "Tire": { + "type": "branch", + "description": "Tire signals for wheel", + "uuid": "edfee87117dc5a6f9d970167f26ec090", + "children": { + "Pressure": { + "datatype": "uint8", + "type": "sensor", + "unit": "kPa", + "description": "Tire pressure in kilo-Pascal", + "uuid": "ea414012c36e54fc84ec1d421f370ddd" + }, + "PressureLow": { + "datatype": "boolean", + "type": "sensor", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "uuid": "24bc9ee216275e4d8c7f388853e80975" + }, + "Temperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "Tire temperature in Celsius.", + "uuid": "06ab6b3fe7bb5f7c9e2e104ee0e7cfd5" + } + } + } + } + }, + "Right": { + "type": "branch", + "description": "Brake signals for first row", + "uuid": "f59f6ce66b1454498f5dc71be581732a", + "children": { + "Brake": { + "type": "branch", + "description": "Brake signals for wheel", + "uuid": "5c33ec4bd8a15d3590f59e7257bf4d25", + "children": { + "FluidLevel": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "uuid": "83e5e261302d5ab38c9ee4dddc18c8ae" + }, + "FluidLevelLow": { + "datatype": "boolean", + "type": "sensor", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "uuid": "c8660a7144055afa8ffc1ffb092ce6cc" + }, + "PadWear": { + "datatype": "uint8", + "type": "sensor", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "uuid": "63a564bca18a5b1fabd7d3cff1af0e6d" + }, + "BrakesWorn": { + "datatype": "boolean", + "type": "sensor", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "uuid": "4f1e06c6edbd57e6b0d55e413481633f" + } + } + }, + "Tire": { + "type": "branch", + "description": "Tire signals for wheel", + "uuid": "d855fe9ffb4e52be83ebfc7967c1c3ee", + "children": { + "Pressure": { + "datatype": "uint8", + "type": "sensor", + "unit": "kPa", + "description": "Tire pressure in kilo-Pascal", + "uuid": "0cd3dd4be36c5fcda49d6360556ba7c8" + }, + "PressureLow": { + "datatype": "boolean", + "type": "sensor", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "uuid": "86bfb761f970543399f4232ca0915a70" + }, + "Temperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "Tire temperature in Celsius.", + "uuid": "7c08b5778bc05265bb8d4e08fdca29cf" + } + } + } + } + } + } + } + } + }, + "Row2Count": { + "datatype": "uint8", + "type": "attribute", + "default": 2, + "description": "Number of axles on the vehicle", + "uuid": "0813a2a434ae5dc5805a0c6c2fb6200e" + } + } + }, + "ParkingBrake": { + "type": "branch", + "description": "Parking brake signals", + "uuid": "3849d42292f4551590fa4bf716fc90f7", + "children": { + "IsEngaged": { + "datatype": "boolean", + "type": "actuator", + "description": "Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.", + "uuid": "faa7f94e6a5555c6b2d62e3328520ce0" + } + } + }, + "SteeringWheel": { + "type": "branch", + "description": "Steering wheel signals", + "uuid": "8c759072791e5986ac4efe9df0c2b751", + "children": { + "Angle": { + "datatype": "int16", + "type": "sensor", + "unit": "degrees", + "description": "Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right.", + "uuid": "92cd3b3d37585b2291806fe5127d9393" + }, + "Tilt": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Steering wheel column tilt. 0 = Lowest position. 100 = Highest position.", + "uuid": "33e979769f91521d8080384447d06c00" + }, + "Extension": { + "datatype": "uint8", + "type": "actuator", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Steering wheel column extension from dashboard. 0 = Closest to dashboard. 100 = Furthest from dashboard.", + "uuid": "6a84cc3604fc5960a1fb384fe63fae72" + }, + "Position": { + "datatype": "string", + "type": "attribute", + "default": "front_left", + "enum": [ + "front_left", + "front_right" + ], + "description": "Position of the steering wheel on the left or right side of the vehicle.", + "uuid": "314d6eeeba195098b36ae7f476d27824" + } + } + }, + "Accelerator": { + "type": "branch", + "description": "Accelerator signals", + "uuid": "3b2b562086a45eb29c55186f3b710621", + "children": { + "PedalPosition": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Accelerator pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", + "uuid": "2fabd8b61db45f62b4e97e7a612b4a73" + } + } + }, + "Brake": { + "type": "branch", + "description": "Brake system signals", + "uuid": "38df972e5c6b558e93839a5e97238c5a", + "children": { + "PedalPosition": { + "datatype": "uint8", + "type": "sensor", + "min": 0, + "max": 100, + "unit": "percent", + "description": "Brake pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", + "uuid": "0477d3a4a831564ea473976cf34374f2" + } + } + }, + "Trailer": { + "type": "branch", + "description": "Trailer signals", + "uuid": "228ce19986db5ce383fa5725fcb6b01b", + "children": { + "Connected": { + "datatype": "boolean", + "type": "sensor", + "description": "Signal indicating if trailer is connected or not.", + "uuid": "00894266101c534fbcc4a6fb6d3a497a" + } + } + } + } + }, + "OBD": { + "type": "branch", + "description": "OBD data.", + "uuid": "7ad7c512ed5d52c8b31944d2d47a4bc3", + "children": { + "PidsA": { + "datatype": "uint32", + "type": "sensor", + "description": "PID 00 - Bit array of the supported pids 01 to 20", + "uuid": "ba1c1b9034955d2d97249c3b4516beef" + }, + "Status": { + "type": "branch", + "description": "PID 01 - OBD status", + "uuid": "474f58e593ee5bfebbb9c6ce4a453f96", + "children": { + "MIL": { + "datatype": "boolean", + "type": "sensor", + "description": "Malfunction Indicator Light (MIL) False = Off, True = On", + "uuid": "5cfe08ba057c56b18ea55978d33f2390" + }, + "DTCCount": { + "datatype": "uint32", + "type": "sensor", + "description": "Number of sensor Trouble Codes (DTC)", + "uuid": "4afdf65e788c5f69baf682597e69fb67" + }, + "IgnitionType": { + "datatype": "string", + "type": "sensor", + "enum": [ + "spark", + "compression" + ], + "description": "Type of the ignition for ICE - spark = spark plug ignition, compression = self-igniting (Diesel engines)", + "uuid": "7ffd71caac8e5bd18f93366afdfe534d" + } + } + }, + "DTCList": { + "datatype": "string[]", + "type": "sensor", + "description": "List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX )", + "uuid": "eee1b64e69845d5ab5e793b74631f9dc" + }, + "FreezeDTC": { + "datatype": "string", + "type": "sensor", + "description": "PID 02 - DTC that triggered the freeze frame", + "uuid": "5b87fae8dda4522aae209ae528960782" + }, + "FuelStatus": { + "datatype": "string", + "type": "sensor", + "description": "PID 03 - Fuel status", + "uuid": "15fa2f3f667a5f5786eda5c83435ef16" + }, + "EngineLoad": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "min": 0, + "max": 100, + "description": "PID 04 - Engine load in percent - 0 = no load, 100 = full load", + "uuid": "a8fda8a1b4c6534aa49c447bafc1c700" + }, + "CoolantTemperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "PID 05 - Coolant temperature", + "uuid": "824892cdc72d5f92a38ef3136576edc8" + }, + "ShortTermFuelTrim1": { + "datatype": "int8", + "type": "sensor", + "unit": "percent", + "min": -100, + "max": 100, + "description": "PID 06 - Short Term (immediate) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", + "uuid": "569c983874335fb392d4e82a002654cb" + }, + "LongTermFuelTrim1": { + "datatype": "int8", + "type": "sensor", + "unit": "percent", + "min": -100, + "max": 100, + "description": "PID 07 - Long Term (learned) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", + "uuid": "1c203b11667150f0b4ee1be26a60c084" + }, + "ShortTermFuelTrim2": { + "datatype": "int8", + "type": "sensor", + "unit": "percent", + "min": -100, + "max": 100, + "description": "PID 08 - Short Term (immediate) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", + "uuid": "53a39620773a523a8182169027169ec2" + }, + "LongTermFuelTrim2": { + "datatype": "int8", + "type": "sensor", + "unit": "percent", + "min": -100, + "max": 100, + "description": "PID 09 - Long Term (learned) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", + "uuid": "b02aff2efce05632b5694a256e5b9ec7" + }, + "FuelPressure": { + "datatype": "float", + "type": "sensor", + "unit": "kPa", + "min": 0, + "description": "PID 0A - Fuel pressure", + "uuid": "34e6b0689f025d7b9bfa1fc49bb30c0f" + }, + "MAP": { + "datatype": "float", + "type": "sensor", + "unit": "kPa", + "min": 0, + "description": "PID 0B - Intake manifold pressure", + "uuid": "335991b1b53f56f097fea7b05d4db83b" + }, + "EngineSpeed": { + "datatype": "float", + "type": "sensor", + "unit": "rpm", + "description": "PID 0C - Engine speed measured as rotations per minute", + "uuid": "b682eea93b3e5874ab3b52e95a1fad37" + }, + "Speed": { + "datatype": "float", + "type": "sensor", + "unit": "km/h", + "description": "PID 0D - Vehicle speed", + "uuid": "91ed0bb43eb054759813cd784b071764" + }, + "TimingAdvance": { + "datatype": "float", + "type": "sensor", + "unit": "degrees", + "description": "PID 0E - Time advance", + "uuid": "35533b7e327d5f839b17c932b630767c" + }, + "IntakeTemp": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "PID 0F - Intake temperature", + "uuid": "7c108305178b5854b430a23e125588bd" + }, + "MAF": { + "datatype": "int16", + "type": "sensor", + "unit": "g/s", + "description": "PID 10 - Grams of air drawn into engine per second", + "uuid": "f3acdf89fb865313883d5d3126f15518" + }, + "ThrottlePosition": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "min": 0, + "max": 100, + "description": "PID 11 - Throttle position - 0 = closed throttle, 100 = open throttle", + "uuid": "ec1d372020205bb4a846a014b33801e1" + }, + "AirStatus": { + "datatype": "string", + "type": "sensor", + "description": "PID 12 - Secondary air status", + "uuid": "548f65bf59ed505a86dfaa1c33342e4d" + }, + "O2": { + "type": "branch", + "description": "PID 13 - Presence of oxygen sensors for the banks", + "uuid": "31f007df72af50f0925d2b4647682a4d", + "children": { + "Bank1": { + "type": "branch", + "description": "Oxygen sensors on bank 1, at most 4 sensors per bank", + "uuid": "6371b791e2905d57ad4591c1d542cefd", + "children": { + "Sensor1": { + "type": "branch", + "description": "Oxygen sensor", + "uuid": "40e2cdba61b15e1e99405857e4d32b6e", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 14 - Sensor voltage", + "uuid": "3d9d4bfdf5bb506891612b7dbc044b81" + } + } + }, + "Sensor2": { + "type": "branch", + "description": "Oxygen sensor", + "uuid": "32311bd7b77158a2b3622ca3075ce34a", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 15 - Sensor voltage", + "uuid": "2bb19dbdf64d5d438e19d220606565cf" + } + } + }, + "Sensor3": { + "type": "branch", + "description": "Oxygen sensor", + "uuid": "4640f8cb80de54bab3036cf51af9a8f8", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 16 - Sensor voltage", + "uuid": "7749913f77ec5f84942e5d4bad97b398" + } + } + }, + "Sensor4": { + "type": "branch", + "description": "Oxygen sensor", + "uuid": "0596ec385da658578217391e0ecaa5af", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 17 - Sensor voltage", + "uuid": "3ddcc11605bd57958a6ab7040980388b" + } + } + } + } + }, + "Bank2": { + "type": "branch", + "description": "Oxygen sensors on bank 2, at most 4 sensors per bank", + "uuid": "9bfda6c2db5b59a0930a8685c74c29ba", + "children": { + "Sensor1": { + "type": "branch", + "description": "Oxygen sensor", + "uuid": "22a8aa72fd70503f82bd0c14a35770fc", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 18 - Sensor voltage", + "uuid": "ff69ddba35d9527b91ee1f02f8e547e7" + } + } + }, + "Sensor2": { + "type": "branch", + "description": "Oxygen sensor", + "uuid": "75bb1896ea305fc89d9b05021c3cadbd", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 19 - Sensor voltage", + "uuid": "8b621b72cff35ece97b9b0b1918f4c82" + } + } + }, + "Sensor3": { + "type": "branch", + "description": "Oxygen sensor", + "uuid": "e6839701a84c59a3ae377abee2890567", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 1A - Sensor voltage", + "uuid": "5b2ccfaf65265ce6a81dcd9d76e42224" + } + } + }, + "Sensor4": { + "type": "branch", + "description": "Oxygen sensor", + "uuid": "a09790dbb4485a6e8ed737b1357878a8", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 1B - Sensor voltage", + "uuid": "3ec914477d23598f9f5915d14db5852e" + } + } + } + } + } + } + }, + "O2Alt": { + "type": "branch", + "description": "PID 1D - Presence of alternate oxygen sensors for the banks", + "uuid": "f8c067bfefd65a5fbb0cd7c7525eb430", + "children": { + "Bank1": { + "type": "branch", + "description": "Alternate oxygen sensors on bank 1, at most 4 sensors per bank", + "uuid": "788b4a8ac02457eab7beb1036eedc388", + "children": { + "Sensor1": { + "type": "branch", + "description": "Alternate oxygen sensor", + "uuid": "340eb17fd0445c8486f9b3bc20bb0946", + "children": {} + }, + "Sensor2": { + "type": "branch", + "description": "Alternate oxygen sensor", + "uuid": "d80aedb9fbdb538aa3dddce56258c960", + "children": {} + }, + "Sensor3": { + "type": "branch", + "description": "Alternate oxygen sensor", + "uuid": "e13e1993d48c5d6e8897b1c27311ae7f", + "children": {} + }, + "Sensor4": { + "type": "branch", + "description": "Alternate oxygen sensor", + "uuid": "cf55906c0eb9588fa33298e10ca1ca9b", + "children": {} + } + } + }, + "Bank2": { + "type": "branch", + "description": "Alternate oxygen sensors on bank 2, at most 4 sensors per bank", + "uuid": "63ebe2202700525a926f5a1457b4fdb8", + "children": { + "Sensor1": { + "type": "branch", + "description": "Alternate oxygen sensor", + "uuid": "58d80358757859bda05da760c28a1706", + "children": {} + }, + "Sensor2": { + "type": "branch", + "description": "Alternate oxygen sensor", + "uuid": "6b4b0c27cf9e5c999ef973578175cc25", + "children": {} + }, + "Sensor3": { + "type": "branch", + "description": "Alternate oxygen sensor", + "uuid": "0e8d6a2dd18554e89cfa73fb4c302c9d", + "children": {} + }, + "Sensor4": { + "type": "branch", + "description": "Alternate oxygen sensor", + "uuid": "513c442582515c2d85b1f7e33d891d41", + "children": {} + } + } + } + } + }, + "AuxInputStatus": { + "datatype": "boolean", + "type": "sensor", + "description": "PID 1E - Auxiliary input status (power take off)", + "uuid": "6e0b531c320e50d59fb46e98df17620a" + }, + "RunTime": { + "datatype": "uint32", + "type": "sensor", + "unit": "s", + "description": "PID 1F - Engine run time", + "uuid": "acf70773752256d1a227ab48257624b5" + }, + "PidsB": { + "datatype": "uint32", + "type": "sensor", + "description": "PID 20 - Bit array of the supported pids 21 to 40", + "uuid": "00193c560a0a5525baa45681e07b50f6" + }, + "DistanceWithMIL": { + "datatype": "uint32", + "type": "sensor", + "unit": "km", + "description": "PID 21 - Distance traveled with MIL on", + "uuid": "a9a522e343f25522b08f11e81bb91349" + }, + "FuelRailPressureVac": { + "datatype": "float", + "type": "sensor", + "unit": "kPa", + "description": "PID 22 - Fuel rail pressure relative to vacuum", + "uuid": "b3b0adf44aa3572fa07e7434993e6458" + }, + "FuelRailPressureDirect": { + "datatype": "float", + "type": "sensor", + "unit": "kPa", + "description": "PID 23 - Fuel rail pressure direct inject", + "uuid": "039cb7bf1a8356a98d09eaf4fc029fe9" + }, + "O2WR": { + "type": "branch", + "description": "Wide range/band oxygen sensors", + "uuid": "a439f2bc16575318afe20d0bc6a8cacf", + "children": { + "Sensor1": { + "type": "branch", + "description": "Wide range/band oxygen senor 1", + "uuid": "496074cec04a5260b60fd39bb7ed1479", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 24 - Lambda voltage for wide range/band oxygen sensor 1", + "uuid": "396251cbfa5a57ffb1dd743298dfcdf9" + }, + "Current": { + "datatype": "float", + "type": "sensor", + "unit": "A", + "description": "PID 34 - Lambda current for wide range/band oxygen sensor 1", + "uuid": "bb4c70d9d2ae56c8a9a3be446db6f54c" + } + } + }, + "Sensor2": { + "type": "branch", + "description": "Wide range/band oxygen senor 2", + "uuid": "079f9960f75d5f399df7ff86fcea8f0c", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 25 - Lambda voltage for wide range/band oxygen sensor 2", + "uuid": "a784675c3b765d42ad023d8ee412be26" + }, + "Current": { + "datatype": "float", + "type": "sensor", + "unit": "A", + "description": "PID 35 - Lambda current for wide range/band oxygen sensor 2", + "uuid": "442ab33180ca5028a37a487056ba4a51" + } + } + }, + "Sensor3": { + "type": "branch", + "description": "Wide range/band oxygen senor 3", + "uuid": "a8a83d3e33f9584b824088e830bcbaec", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 26 - Lambda voltage for wide range/band oxygen sensor 3", + "uuid": "a78f7621a3f75df2adc1dc940219834a" + }, + "Current": { + "datatype": "float", + "type": "sensor", + "unit": "A", + "description": "PID 36 - Lambda current for wide range/band oxygen sensor 4", + "uuid": "c942468e349e5aaebde4d90ee0bc3814" + } + } + }, + "Sensor4": { + "type": "branch", + "description": "Wide range/band oxygen senor 4", + "uuid": "bb67047ddad158ba98876a6a87d02e97", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 27 - Lambda voltage for wide range/band oxygen sensor 4", + "uuid": "abeca90ba22d5c32a34ee907cedf3192" + }, + "Current": { + "datatype": "float", + "type": "sensor", + "unit": "A", + "description": "PID 37 - Lambda current for wide range/band oxygen sensor 4", + "uuid": "f16b31fde63a516db04cb44feaa7c27b" + } + } + }, + "Sensor5": { + "type": "branch", + "description": "Wide range/band oxygen senor 5", + "uuid": "01c4160d39af5db59c66db844646195e", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 28 - Lambda voltage for wide range/band oxygen sensor 5", + "uuid": "699c4db2439f51af8465e823687018b8" + }, + "Current": { + "datatype": "float", + "type": "sensor", + "unit": "A", + "description": "PID 38 - Lambda current for wide range/band oxygen sensor 5", + "uuid": "40494cb5826554929f5ecadd5b9173fd" + } + } + }, + "Sensor6": { + "type": "branch", + "description": "Wide range/band oxygen senor 6", + "uuid": "cff12c30bde957798daaa3a91758b48b", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 29 - Lambda voltage for wide range/band oxygen sensor 6", + "uuid": "304c181c76d55c3abe75382a935c7bde" + }, + "Current": { + "datatype": "float", + "type": "sensor", + "unit": "A", + "description": "PID 39 - Lambda current for wide range/band oxygen sensor 6", + "uuid": "06a38b6b4784545bb637279e96d48eb5" + } + } + }, + "Sensor7": { + "type": "branch", + "description": "Wide range/band oxygen senor 7", + "uuid": "44459df1f25f5d43a07b00f2bad65ef5", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 2A - Lambda voltage for wide range/band oxygen sensor 7", + "uuid": "0ad1d79dcce65c00ac48421b5b54ca0e" + }, + "Current": { + "datatype": "float", + "type": "sensor", + "unit": "A", + "description": "PID 3A - Lambda current for wide range/band oxygen sensor 7", + "uuid": "6ed46315325d540eb95c86ec61eef8e4" + } + } + }, + "Sensor8": { + "type": "branch", + "description": "Wide range/band oxygen senor 8", + "uuid": "b8865e72055d52a086f6935d5c188cc1", + "children": { + "Voltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 2B - Lambda voltage for wide range/band oxygen sensor 8", + "uuid": "ab7d6c739f025782bba640e58123f0c8" + }, + "Current": { + "datatype": "float", + "type": "sensor", + "unit": "A", + "description": "PID 3B - Lambda current for wide range/band oxygen sensor 8", + "uuid": "96de3c3b036c50c2978ab2aa490d4d9e" + } + } + } + } + }, + "CommandedEGR": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 2C - Commanded exhaust gas recirculation (EGR)", + "uuid": "0265890a4a695ee6952c9b9f565ddaa5" + }, + "EGRError": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 2D - Exhaust gas recirculation (EGR) error", + "uuid": "80a7000c5c7b5444b5571a26264061e5" + }, + "CommandedEVAP": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 2E - Commanded evaporative purge (EVAP) valve", + "uuid": "5e6295d04a9159b88f4698b561b86842" + }, + "FuelLevel": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 2F - Fuel level in the fuel tank", + "uuid": "fd39813424ee5cd08c44714b35697287" + }, + "WarmupsSinceDTCClear": { + "datatype": "uint16", + "type": "sensor", + "description": "PID 30 - Number of warm-ups since codes cleared", + "uuid": "a63ba60721785fc591e3dd067c4dc2ae" + }, + "DistanceSinceDTCClear": { + "datatype": "float", + "type": "sensor", + "unit": "km", + "description": "PID 31 - Distance traveled since codes cleared", + "uuid": "0da628e2c69d561eb86216ddcb6e7b2a" + }, + "EVAPVaporPressure": { + "datatype": "float", + "type": "sensor", + "unit": "Pa", + "description": "PID 32 - Evaporative purge (EVAP) system pressure", + "uuid": "70b5dae2ffd0561eab73efed8ad2f0ad" + }, + "BarometricPressure": { + "datatype": "float", + "type": "sensor", + "unit": "kPa", + "description": "PID 33 - Barometric pressure", + "uuid": "1966bfff4d235767bfd9a21afb445ac7" + }, + "Catalyst": { + "type": "branch", + "description": "Catalyst signals", + "uuid": "4eb0b191d6445de081f3f3f759af31c2", + "children": { + "Bank1": { + "type": "branch", + "description": "Catalyst bank 1 signals", + "uuid": "0c3aaf014ba95b938b639d4202ef8b25", + "children": { + "Temperature1": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "PID 3C - Catalyst temperature from bank 1, sensor 1", + "uuid": "5a770f13939e5d069682d408f160a895" + }, + "Temperature2": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "PID 3E - Catalyst temperature from bank 1, sensor 2", + "uuid": "ca9419a5d23b5937af23b51d823722fa" + } + } + }, + "Bank2": { + "type": "branch", + "description": "Catalyst bank 2 signals", + "uuid": "9a20459754755146a3b9608bf6384835", + "children": { + "Temperature1": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "PID 3D - Catalyst temperature from bank 2, sensor 1", + "uuid": "011658e4ee89502c9a33877c92dbf888" + }, + "Temperature2": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "PID 3F - Catalyst temperature from bank 2, sensor 2", + "uuid": "f60c68f0ebca5fcf97086ce04e16d661" + } + } + } + } + }, + "PidsC": { + "datatype": "uint32", + "type": "sensor", + "description": "PID 40 - Bit array of the supported pids 41 to 60", + "uuid": "7c3a3f0ecc5d593aa996892668afe4b0" + }, + "DriveCycleStatus": { + "type": "branch", + "description": "PID 41 - OBD status for the current drive cycle", + "uuid": "5215e28062f75154822789b8a5f30630", + "children": { + "MIL": { + "datatype": "boolean", + "type": "sensor", + "description": "Malfunction Indicator Light (MIL) - False = Off, True = On", + "uuid": "7ce9859f21205e7f8876a10331fe6be7" + }, + "DTCCount": { + "datatype": "uint32", + "type": "sensor", + "description": "Number of sensor Trouble Codes (DTC)", + "uuid": "312856f746ff560e8098c19196964d3b" + }, + "IgnitionType": { + "datatype": "string", + "type": "sensor", + "enum": [ + "spark", + "compression" + ], + "description": "Type of the ignition for ICE - spark = spark plug ignition, compression = self-igniting (Diesel engines)", + "uuid": "1aeb7b6d025f5a8693104824abaa1c49" + } + } + }, + "ControlModuleVoltage": { + "datatype": "float", + "type": "sensor", + "unit": "V", + "description": "PID 42 - Control module voltage", + "uuid": "59e072b932605ffc88a299c874d885c4" + }, + "AbsoluteLoad": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 43 - Absolute load value", + "uuid": "b3dd889a42ce5de9a7904b7196ae325c" + }, + "CommandedEquivalenceRatio": { + "datatype": "float", + "type": "sensor", + "unit": "ratio", + "description": "PID 44 - Commanded equivalence ratio", + "uuid": "104e39e816f65fa791d0afa24603292b" + }, + "RelativeThrottlePosition": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 45 - Relative throttle position", + "uuid": "54ecf7dd671c5053aac4bc1bb061d64b" + }, + "AmbientAirTemperature": { + "datatype": "float", + "type": "sensor", + "unit": "celsius", + "description": "PID 46 - Ambient air temperature", + "uuid": "220a90f183c5583ea8b8b6454d774517" + }, + "ThrottlePositionB": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 47 - Absolute throttle position B", + "uuid": "701712a565ed5bf8b6630487a7152c87" + }, + "ThrottlePositionC": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 48 - Absolute throttle position C", + "uuid": "06f162dc00a85f628f9d5d1bc952665c" + }, + "AcceleratorPositionD": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 49 - Accelerator pedal position D", + "uuid": "7e63256081ac5a7b8a28a6fa3c2c2ff9" + }, + "AcceleratorPositionE": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 4A - Accelerator pedal position E", + "uuid": "4104e7fc25355e25b4522d233565d84b" + }, + "AcceleratorPositionF": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 4B - Accelerator pedal position F", + "uuid": "95f5c2a209a857ff930e2f8e32ac2d3f" + }, + "ThrottleActuator": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 4C - Commanded throttle actuator", + "uuid": "49a19905a1005ee3abe0c0a84d7112d1" + }, + "RunTimeMIL": { + "datatype": "uint32", + "type": "sensor", + "unit": "min", + "description": "PID 4D - Run time with MIL on", + "uuid": "555604a484535f60adf8894a6bd895b6" + }, + "TimeSinceDTCCleared": { + "datatype": "uint32", + "type": "sensor", + "unit": "min", + "description": "PID 4E - Time since trouble codes cleared", + "uuid": "66ea3984a2585dcdaaf6452eef835c0d" + }, + "MaxMAF": { + "datatype": "float", + "type": "sensor", + "unit": "g/s", + "description": "PID 50 - Maximum flow for mass air flow sensor", + "uuid": "e21826479f715ee7afe8dc485f109b11" + }, + "FuelType": { + "datatype": "string", + "type": "sensor", + "description": "PID 51 - Fuel type", + "uuid": "aefb45bdd8035904b0c8f3ffcedc53a9" + }, + "EthanolPercent": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 52 - Percentage of ethanol in the fuel", + "uuid": "a207e7de17e1520c894b412af6f2522c" + }, + "EVAPVaporPressureAbsolute": { + "datatype": "float", + "type": "sensor", + "unit": "kPa", + "description": "PID 53 - Absolute evaporative purge (EVAP) system pressure", + "uuid": "ef188a1e1a1356f7bc425081e3e00805" + }, + "EVAPVaporPressureAlternate": { + "datatype": "float", + "type": "sensor", + "unit": "Pa", + "description": "PID 54 - Alternate evaporative purge (EVAP) system pressure", + "uuid": "68eaba3c79975d61bc35b92cd3e5e8d0" + }, + "ShortTermO2Trim1": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 55 - Short term secondary O2 trim - Bank 1", + "uuid": "be7ed33a854557ba802da0c51f9f4564" + }, + "LongTermO2Trim1": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 56 - Long term secondary O2 trim - Bank 1", + "uuid": "9a9586e29a02567e9920cb9b0aa2e3f5" + }, + "ShortTermO2Trim2": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 57 - Short term secondary O2 trim - Bank 2", + "uuid": "c8b962f8990e51d294621408ceaa21d9" + }, + "LongTermO2Trim2": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 58 - Long term secondary O2 trim - Bank 2", + "uuid": "e579f6c930605b389e8ce2d7edd92999" + }, + "FuelRailPressureAbsolute": { + "datatype": "float", + "type": "sensor", + "unit": "kPa", + "description": "PID 59 - Absolute fuel rail pressure", + "uuid": "83c88b13d30153949eeca1b1180a9061" + }, + "RelativeAcceleratorPosition": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 5A - Relative accelerator pedal position", + "uuid": "e25de9aacad3549285b4fb234f10be8f" + }, + "HybridBatteryRemaining": { + "datatype": "uint8", + "type": "sensor", + "unit": "percent", + "description": "PID 5B - Remaining life of hybrid battery", + "uuid": "c9517b6243df5e8d8f3aa3e57f71ec37" + }, + "OilTemperature": { + "datatype": "uint8", + "type": "sensor", + "unit": "celsius", + "description": "PID 5C - Engine oil temperature", + "uuid": "ef3dfc11085d5077b363b1a4e8e4a84e" + }, + "FuelInjectionTiming": { + "datatype": "int16", + "type": "sensor", + "unit": "degrees", + "description": "PID 5D - Fuel injection timing", + "uuid": "ab4869446f5357d6936838983e1b8949" + }, + "FuelRate": { + "datatype": "float", + "type": "sensor", + "unit": "l/h", + "description": "PID 5E - Engine fuel rate", + "uuid": "4ab7c2b710f95ceb9c7d01d19dabac38" + } + } + }, + "Driver": { + "type": "branch", + "description": "Driver data.", + "uuid": "1cac57e7b7e756dc8a154eaacbce6426", + "children": { + "Identifier": { + "type": "branch", + "description": "Identifier attributes based on OAuth 2.0.", + "uuid": "89705397069c5ec58d607318f2ff0ea8", + "children": { + "Subject": { + "datatype": "string", + "type": "sensor", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "uuid": "b41ec688af265f10824bc9635989ac55" + }, + "Issuer": { + "datatype": "string", + "type": "sensor", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "uuid": "ee7988d26d7156d2a030ecc506ea97e7" + } + } + }, + "DistractionLevel": { + "datatype": "float", + "type": "sensor", + "unit": "percent", + "description": "Distraction level of the driver will be the level how much the driver is distracted, by multiple factors. E.g. Driving situation, acustical or optical signales inside the cockpit, phone calls", + "uuid": "cb35ec0b924e58979e1469146d65c3fa" + }, + "EyesOnRoad": { + "datatype": "boolean", + "type": "sensor", + "description": "Has driver the eyes on road or not?", + "uuid": "52003ac6512e594a87a378e3edf4c5e6" + }, + "AttentiveProbability": { + "datatype": "float", + "type": "sensor", + "unit": "percent", + "description": "Probability of attentiveness of the driver.", + "uuid": "fcd202467afb533fbbf9e7da89cc1cee" + }, + "FatigueLevel": { + "datatype": "float", + "type": "sensor", + "unit": "percent", + "description": "Fatigueness level of driver. Evaluated by multiple factors like trip time, behaviour of steering, eye status.", + "uuid": "49b1626295705a79ae20d8a270c48b6b" + }, + "HeartRate": { + "datatype": "uint16", + "type": "sensor", + "description": "Heart rate of the driver.", + "uuid": "d71516905f785c4da867a2f86e774d93" + } + } + } + } + } +} diff --git a/vss-processor/src/test/resources/json/vss_rel_2.1.json b/vss-processor/src/test/resources/json/vss_rel_2.1.json new file mode 100644 index 00000000..a6d838e8 --- /dev/null +++ b/vss-processor/src/test/resources/json/vss_rel_2.1.json @@ -0,0 +1,7023 @@ +{ + "Vehicle": { + "children": { + "ADAS": { + "children": { + "ABS": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if ABS incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "cd2b0e86aa1f5021a9bb7f6bda1cbe0f" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if ABS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "433b7039199357178688197d6e264725" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "6dd21979a2225e31940dc2ece1aa9a04" + } + }, + "description": "Antilock Braking System signals", + "type": "branch", + "uuid": "219270ef27c4531f874bbda63743b330" + }, + "CruiseControl": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if cruise control system incurred and error condition. True = Error. False = NoError.", + "type": "sensor", + "uuid": "586d4d35a28956c794c7d56a9cedf544" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if cruise control system is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "78ab5ce923dc5aa1a6622bcb948e1561" + }, + "SpeedSet": { + "datatype": "float", + "description": "Set cruise control speed in kilometers per hour", + "type": "actuator", + "unit": "km/h", + "uuid": "b3f3a53ccd825e4da5cb1226f94dc005" + } + }, + "description": "Signals from Cruise Control system", + "type": "branch", + "uuid": "c4d751cf74f9576dbba3cc820991c1fb" + }, + "ESC": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if ESC incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "c3852de5d6305918b8de1fb11a1a5da5" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if ECS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "70b769baed285c3897979639d13bafd3" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if ESC is currently regulating vehicle stability. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "2088953a28385353a9d46b3a3dc11cac" + } + }, + "description": "Electronic Stability Control System signals", + "type": "branch", + "uuid": "636b4586ce7854b4b270a2f3b6c0af4f" + }, + "LaneDepartureDetection": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if lane departure system incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "92e47dedb3d354779352d83ba3de96be" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if lane departure detection system is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "ba683882dbea575b9540118aa914acd8" + }, + "Warning": { + "datatype": "boolean", + "description": "Indicates if lane departure detection registered a lane departure", + "type": "sensor", + "uuid": "06ba0445af5258d8a9c953979afb7c05" + } + }, + "description": "Signals from Land Departure Detection System", + "type": "branch", + "uuid": "e45f33fdcf245f11981b2f201ee8281a" + }, + "ObstacleDetection": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "2a68c1f1f290510097b6aac71a23f305" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if obstacle sensor system is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "7262cd48bdad59f3a0d93d9cb592d4f8" + } + }, + "description": "Signals form Obstacle Sensor System", + "type": "branch", + "uuid": "e7b6d81631cc5ac584d027d4c1a66cb5" + }, + "TCS": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if TCS incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "44910b2e5ce75a768d79a01ee3d0723f" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if TCS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "6789de7a67515e7f9bcdd18623954074" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if TCS is currently regulating traction. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "b33d70009ad5589fbffe17fa7e827242" + } + }, + "description": "Traction Control System signals", + "type": "branch", + "uuid": "0572e9f6b1aa5fb5b2f68086aff05073" + } + }, + "description": "All Advanced Driver Assist Systems data.", + "type": "branch", + "uuid": "14c2b2e1297b513197d320a5ce58f42e" + }, + "Acceleration": { + "children": { + "Lateral": { + "datatype": "float", + "description": "Vehicle acceleration in Y (lateral acceleration).", + "type": "sensor", + "unit": "m/s^2", + "uuid": "7522c5d6b7665b16a099643b2700e93c" + }, + "Longitudinal": { + "datatype": "float", + "description": "Vehicle acceleration in X (longitudinal acceleration).", + "type": "sensor", + "unit": "m/s^2", + "uuid": "3d511fe7232b5841be311b37f322de5a" + }, + "Vertical": { + "datatype": "float", + "description": "Vehicle acceleration in Z (vertical acceleration).", + "type": "sensor", + "unit": "m/s^2", + "uuid": "a4a8a7c4ac5b52deb0b3ee4ed8787c59" + } + }, + "description": "Spatial acceleration", + "type": "branch", + "uuid": "6c490e6a798c5abc8f0178ed6deae0a8" + }, + "AmbientAirTemperature": { + "datatype": "float", + "description": "Ambient air temperature outside the vehicle.", + "type": "sensor", + "unit": "celsius", + "uuid": "2ffcbc2e6ea75dd991e3ae80b29a1d85" + }, + "AngularVelocity": { + "children": { + "Pitch": { + "datatype": "int16", + "description": "Vehicle rotation rate along Y (lateral).", + "type": "sensor", + "unit": "degrees/s", + "uuid": "42236f4a01f45313a97fdd9b6848ce4f" + }, + "Roll": { + "datatype": "int16", + "description": "Vehicle rotation rate along X (longitudinal).", + "type": "sensor", + "unit": "degrees/s", + "uuid": "221e6b93881e5771bcbd03e0849e0075" + }, + "Yaw": { + "datatype": "int16", + "description": "Vehicle rotation rate along Z (vertical).", + "type": "sensor", + "unit": "degrees/s", + "uuid": "4114c41552565c1f9035670cabe2a611" + } + }, + "description": "Spatial rotation", + "type": "branch", + "uuid": "1eef530a43de56aab665d2766483cde2" + }, + "AverageSpeed": { + "datatype": "float", + "description": "Average speed for the current trip", + "type": "sensor", + "unit": "km/h", + "uuid": "43a489636a665c3abb99b63174eb552b" + }, + "Body": { + "children": { + "BodyType": { + "datatype": "string", + "description": "Body type code as defined by ISO 3779", + "type": "attribute", + "uuid": "6253412513105deea63b1d424117fd88" + }, + "ChargingPort": { + "children": { + "Type": { + "datatype": "string", + "default": "unknown", + "description": "Indicates the primary charging type fitted to the vehicle", + "enum": [ + "unknown", + "Not_Fitted", + "AC_Type_1", + "AC_Type_2", + "AC_GBT", + "AC_DC_Type_1_Combo", + "AC_DC_Type_2_Combo", + "DC_GBT", + "DC_Chademo" + ], + "type": "attribute", + "uuid": "fffa718e15fb50c285fb33e99116eddc" + } + }, + "description": "Collects Information about the charging port", + "type": "branch", + "uuid": "187537d025a358db843f7e92765ff4b9" + }, + "Hood": { + "children": { + "IsOpen": { + "datatype": "boolean", + "description": "hood open or closed. True = Open. False = Closed", + "type": "actuator", + "uuid": "890aa3359e1a579288af1cf8e6b5b71f" + } + }, + "description": "Hood status", + "type": "branch", + "uuid": "84510652bf915bbe8bf5f477aab2b44a" + }, + "Horn": { + "children": { + "IsActive": { + "datatype": "boolean", + "description": "Horn active or inactive. True = Active. False = Inactive.", + "type": "actuator", + "uuid": "ba20deed9314525bb9d552a2b787fb20" + } + }, + "description": "Horn signals", + "type": "branch", + "uuid": "09c76633887f52268b960740eb969c89" + }, + "Lights": { + "children": { + "IsBackupOn": { + "datatype": "boolean", + "description": "Is backup (reverse) light on", + "type": "actuator", + "uuid": "48c0a466b59555f6bf0c01fcf7a3c42c" + }, + "IsBrakeOn": { + "datatype": "boolean", + "description": "Is brake light on", + "type": "actuator", + "uuid": "7b8b136ec8aa59cb8773aa3c455611a4" + }, + "IsFrontFogOn": { + "datatype": "boolean", + "description": "Is front fog light on", + "type": "actuator", + "uuid": "9ad70db68408503a8506d09c7c92a13f" + }, + "IsHazardOn": { + "datatype": "boolean", + "description": "Are hazards on", + "type": "actuator", + "uuid": "148eee65b2de53fab88fc261246d6639" + }, + "IsHighBeamOn": { + "datatype": "boolean", + "description": "Is high beam on", + "type": "actuator", + "uuid": "80a627e5b81356dabe557ff4102f634f" + }, + "IsLeftIndicatorOn": { + "datatype": "boolean", + "description": "Is left indicator flashing", + "type": "actuator", + "uuid": "98c6f3d400d65a6da5fef8e22c16133a" + }, + "IsLowBeamOn": { + "datatype": "boolean", + "description": "Is low beam on", + "type": "actuator", + "uuid": "917d51175b675ad89cf86e07e33b44ec" + }, + "IsParkingOn": { + "datatype": "boolean", + "description": "Is parking light on", + "type": "actuator", + "uuid": "510402bd9355529dbddc2b9724db6957" + }, + "IsRearFogOn": { + "datatype": "boolean", + "description": "Is rear fog light on", + "type": "actuator", + "uuid": "54818024ac4853d49003e8e10bd8f4f6" + }, + "IsRightIndicatorOn": { + "datatype": "boolean", + "description": "Is right indicator flashing", + "type": "actuator", + "uuid": "df301b25233e5f20b039bc9304c148d2" + }, + "IsRunningOn": { + "datatype": "boolean", + "description": "Are running lights on", + "type": "actuator", + "uuid": "cd28479b1a5c5088a52e8d9cd7f22dcf" + } + }, + "description": "All lights", + "type": "branch", + "uuid": "399d1ec14d6f55bb825e078a801bde55" + }, + "Mirrors": { + "children": { + "Left": { + "children": { + "Heating": { + "children": { + "Status": { + "datatype": "boolean", + "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", + "type": "actuator", + "uuid": "d6b66f3c465b5489a327c1a7a678ce62" + } + }, + "description": "Mirror heater signals", + "type": "branch", + "uuid": "7e9eb0fa1976523fa2162d636ec37693" + }, + "Pan": { + "datatype": "int8", + "description": "Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position.", + "type": "actuator", + "unit": "percent", + "uuid": "9dae4bc33a28531199fce500e0562f82" + }, + "Tilt": { + "datatype": "int8", + "description": "Mirror tilt as a percent. 0 = Center Position. 100 = Fully Upward Position. -100 = Fully Downward Position.", + "type": "actuator", + "unit": "percent", + "uuid": "698fee82cc115f3cba54825a298b46ab" + } + }, + "description": "All mirrors", + "type": "branch", + "uuid": "22609e45a09d58fc85cb77959a686abc" + }, + "Right": { + "children": { + "Heating": { + "children": { + "Status": { + "datatype": "boolean", + "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", + "type": "actuator", + "uuid": "3574929e068e5ecb88a90819ad2a9a8d" + } + }, + "description": "Mirror heater signals", + "type": "branch", + "uuid": "4399f515de54556085f9f71dfee16dbe" + }, + "Pan": { + "datatype": "int8", + "description": "Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position.", + "type": "actuator", + "unit": "percent", + "uuid": "26088f96804d5d7e811ba50bfb1113eb" + }, + "Tilt": { + "datatype": "int8", + "description": "Mirror tilt as a percent. 0 = Center Position. 100 = Fully Upward Position. -100 = Fully Downward Position.", + "type": "actuator", + "unit": "percent", + "uuid": "9a28a6ec824c57408881b916a1a0e32b" + } + }, + "description": "All mirrors", + "type": "branch", + "uuid": "64291c99f7e752c2b035262c17dc85dd" + } + }, + "description": "All mirrors", + "type": "branch", + "uuid": "a4ea618914885a239ef5fa62c671a800" + }, + "Raindetection": { + "children": { + "intensity": { + "datatype": "uint8", + "description": "Rain intensity. 0 = Dry, No Rain. 100 = Covered.", + "type": "sensor", + "unit": "percent", + "uuid": "02828e9e5f7b593fa2160e7b6dbad157" + } + }, + "description": "Rainsensor signals", + "type": "branch", + "uuid": "f16759f3dcfb5be4832e962da29ebd6c" + }, + "RefuelPosition": { + "datatype": "string", + "description": "Location of the fuel cap or charge port", + "enum": [ + "front_left", + "front_right", + "middle_left", + "middle_right", + "rear_left", + "rear_right" + ], + "type": "attribute", + "uuid": "53ef90a851fa57f0810d50238e852f02" + }, + "Trunk": { + "children": { + "IsLocked": { + "datatype": "boolean", + "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "d89db9a83c0955c3a049c529072d397f" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Trunk open or closed. True = Open. False = Closed", + "type": "actuator", + "uuid": "58c8eb023b4b5db794705d7ce63e2d75" + } + }, + "description": "Trunk status", + "type": "branch", + "uuid": "a584c6a5aa235cb88ac686f8d72a1dff" + }, + "Windshield": { + "children": { + "Front": { + "children": { + "Heating": { + "children": { + "Status": { + "datatype": "boolean", + "description": "Windshield heater status. 0 - off, 1 - on", + "type": "actuator", + "uuid": "3f91b8feb415579c9dc8dc82c12f63a6" + } + }, + "description": "Windshield heater signals", + "type": "branch", + "uuid": "ef705cd881885ebdbef876e8624a403a" + }, + "WasherFluid": { + "children": { + "Level": { + "datatype": "uint8", + "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "a36dfb91414f5792bd01d193dceff1f4" + }, + "LevelLow": { + "datatype": "boolean", + "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", + "type": "sensor", + "uuid": "ef1ff301178c5ef2841964b23c340151" + } + }, + "description": "Windshield washer fluid signals", + "type": "branch", + "uuid": "2de24016515353289953de5ea81efd3c" + }, + "Wiping": { + "children": { + "Status": { + "datatype": "string", + "description": "Wiper status", + "enum": [ + "off", + "slow", + "medium", + "fast", + "interval", + "rainsensor" + ], + "type": "actuator", + "uuid": "2d5509513e4b52e0a337ade730166aec" + } + }, + "description": "Windshield wiper signals", + "type": "branch", + "uuid": "2cffeccdc19a587cbe2264f426c6881a" + } + }, + "description": "Windshield signals", + "type": "branch", + "uuid": "8f0c61e4e4f557d98729210fc3c74f72" + }, + "Rear": { + "children": { + "Heating": { + "children": { + "Status": { + "datatype": "boolean", + "description": "Windshield heater status. 0 - off, 1 - on", + "type": "actuator", + "uuid": "fac9f35307f85e8186cf142f9c2aa643" + } + }, + "description": "Windshield heater signals", + "type": "branch", + "uuid": "61af3a08a6895826ae04055c25b30817" + }, + "WasherFluid": { + "children": { + "Level": { + "datatype": "uint8", + "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "c167e5b265895c108da1b9582de2dd91" + }, + "LevelLow": { + "datatype": "boolean", + "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", + "type": "sensor", + "uuid": "caf770b8607851719983831490b3403e" + } + }, + "description": "Windshield washer fluid signals", + "type": "branch", + "uuid": "1ea4ac2370e1567b9b812c1e3020ddfb" + }, + "Wiping": { + "children": { + "Status": { + "datatype": "string", + "description": "Wiper status", + "enum": [ + "off", + "slow", + "medium", + "fast", + "interval", + "rainsensor" + ], + "type": "actuator", + "uuid": "1aca19889d375a699bc3750993777b08" + } + }, + "description": "Windshield wiper signals", + "type": "branch", + "uuid": "f56e80a50fd75dbca48581aea4f012b7" + } + }, + "description": "Windshield signals", + "type": "branch", + "uuid": "095ff58459b854aaa742e56447fe7a93" + } + }, + "description": "Windshield signals", + "type": "branch", + "uuid": "73efba535dcb5032b9edc43406b050b8" + } + }, + "description": "All body components.", + "type": "branch", + "uuid": "bd2854e6a9165c5698ce8dd9f0438ecc" + }, + "Cabin": { + "children": { + "Convertible": { + "children": { + "Status": { + "datatype": "string", + "description": "Roof status on convertible vehicles", + "enum": [ + "undefined", + "closed", + "open", + "closing", + "opening", + "stalled" + ], + "type": "sensor", + "uuid": "c8812698198a56d7a1adcc8bbe87845f" + } + }, + "description": "Convertible roof", + "type": "branch", + "uuid": "2aece85d39d6569e93cf842387a645d9" + }, + "Door": { + "children": { + "Row1": { + "children": { + "Left": { + "children": { + "IsChildLockActive": { + "datatype": "boolean", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "194a1dd29e245ff8a19dee7e022bad02" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "859b44ab75de5d67a8beedff883a72d0" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "a5560fa546985678be670c13a0467545" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "a4c73477293156999f74416245d4f858" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "15c012ed31a054ecb2b9b2b1cf57e825" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "f1a8db725cfd54c5b22594c456bcb05a" + }, + "Window": { + "children": { + "ChildLock": { + "datatype": "boolean", + "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "58dbf7e3a85d55ae94750a77cf653110" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "63137367f94856acbb900a0dcdc7e495" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "e276bf971dae507f99b463f7fe574969" + }, + "isOpen": { + "datatype": "boolean", + "description": "Is window open or closed", + "type": "sensor", + "uuid": "d21b53d7aa0c5d96adeb9fdf280ba071" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "abbf75f4e6b9581db4aacda0f1e2789c" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "ee74ca8275485ea89f70931d3b3e4bed" + }, + "Right": { + "children": { + "IsChildLockActive": { + "datatype": "boolean", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "2eedf9e01c225ff39ee62a7c11395d6c" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "7e5cf60543505205922b714cee2a3246" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "055c01ebe86f507b97d15cfba82482a9" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "22944f205eb45c6f804e481b8dd783c5" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "763aea099a515fc998fde10d936b0b38" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "f8f91480eb7c59d6ad697f2f9b2f46f1" + }, + "Window": { + "children": { + "ChildLock": { + "datatype": "boolean", + "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "92daa968de5956cfaef588b9cf41d608" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "e7ef528471eb585a937664abab9fbc68" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "fcb9ede77f065479a10740324c0efdc6" + }, + "isOpen": { + "datatype": "boolean", + "description": "Is window open or closed", + "type": "sensor", + "uuid": "777ebd3cc5e35e818029bf8b95ba74d6" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "12e8cf5eb1c65954bb92f5144e2b22f9" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "f1140cf0720157a1a2ffb62745a82916" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "fd3fcb481cb953dc9a853125c6ca0453" + }, + "Row2": { + "children": { + "Left": { + "children": { + "IsChildLockActive": { + "datatype": "boolean", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "1c08760700ca5814a62bac4e64628f8e" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "5fb9d9707cd85925ab6658d90f044b45" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "0143c6028c355f29ae5b3ee2d31869a8" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "33d7bdce5c915c3ea9633851f4f79cfb" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "41f6f14bbb595dcf8e51d1696e877114" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "beed1cdec4fb502390041087feaaa1bd" + }, + "Window": { + "children": { + "ChildLock": { + "datatype": "boolean", + "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "78aec9d9dfbb53a38b1b06f6ebb6f48c" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "6eeda05cd5d357958a0b0649b1b406f8" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "1a5d1c57f46e576a8a94853e2a44d3f8" + }, + "isOpen": { + "datatype": "boolean", + "description": "Is window open or closed", + "type": "sensor", + "uuid": "d2aea63f1e145bcaaa2cfb016972db92" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "424d04d0ae8351af8c7115b131f1fe2e" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "20c6ae3bdb9b5fc8b8098d87f06c9069" + }, + "Right": { + "children": { + "IsChildLockActive": { + "datatype": "boolean", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "c3747fdce0835d9abf8030917f3a6d3c" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "51e82637cc1a5c6994e1928402a29419" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "06f3b61e354f5db7b5b0e7f551fac582" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "fa705739512a54e9a103ff356be14df7" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "5b94a0c4e30a575c93942f0566be8be7" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "092479bc8da55730827f3365828c89b2" + }, + "Window": { + "children": { + "ChildLock": { + "datatype": "boolean", + "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "f8b7ee44a4bd51fa9de1916382a0ba5b" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "f6323b78eecc58e5a9bc5d66f2548ce3" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "364c0a712fa854b4b1b332eae1be179b" + }, + "isOpen": { + "datatype": "boolean", + "description": "Is window open or closed", + "type": "sensor", + "uuid": "d7ac920fde8052a4910fe37d5e1c7e4a" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "18950f3ff3a1598585a603c4224ad7bd" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "e40a30e4838f5aaa970888d2865bc19e" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "74c8a76ad2545ceba474a85ae84eec8e" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "fd7f4d16f8965419a9a69fd66b40c1d7" + }, + "DoorCount": { + "datatype": "uint8", + "default": 4, + "description": "Number of doors in vehicle", + "type": "attribute", + "uuid": "c293fbef75725c57a9918dd5a34055c4" + }, + "DriverPosition": { + "datatype": "uint8", + "default": 1, + "description": "The position of the driver seat in row 1.", + "type": "attribute", + "uuid": "bca9ccd50358584d8d20865694b0d15f" + }, + "HVAC": { + "children": { + "AmbientAirTemperature": { + "datatype": "float", + "description": "Ambient air temperature inside the vehicle.", + "type": "sensor", + "unit": "celsius", + "uuid": "611868a24bc25eb9a837208c235e9491" + }, + "IsAirConditioningActive": { + "datatype": "boolean", + "description": "Is Air conditioning active.", + "type": "actuator", + "uuid": "dc4f79e4211c54a6b4eed0236aae84a6" + }, + "IsFrontDefrosterActive": { + "datatype": "boolean", + "description": "Is front defroster active.", + "type": "actuator", + "uuid": "afa678c87182544bb6ab81fa6a770791" + }, + "IsRearDefrosterActive": { + "datatype": "boolean", + "description": "Is rear defroster active.", + "type": "actuator", + "uuid": "d342a7939f2e5adeaeb5e68e3a314445" + }, + "IsRecirculationActive": { + "datatype": "boolean", + "description": "Is recirculation active.", + "type": "actuator", + "uuid": "7b80c41c63b35c9299a410166cd33c81" + }, + "Station": { + "children": { + "Row1": { + "children": { + "Left": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "33ca2e1ed1b1533b8e1309320074c07b" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "483bcf787a715f10a1c936464fcb18a2" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "347c13ff2a735d54a5f011d4573694cd" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "7cc0977f55f15f2c884e19a25d07a8b4" + }, + "Right": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "00e25d807a755c4cb978a40ebfc0e8d0" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "4b15871631c35ca583a1fc64524676ef" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "592dc63c45145f739edbc5677196eb85" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "84b84df901075e8a8ac4837fe4af6a8e" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "80860491fba75babaf3c439d1d471a6d" + }, + "Row2": { + "children": { + "Left": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "3c22cd8ac56b59978927fc815ee79104" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "3eb6e8979cb25efe9f33bc89c6b9e364" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "7185fb43728f53f3960e1284b89a6f66" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "48fcecce8d925121b116ed3ecc3157bb" + }, + "Right": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "10d42dd4337450e2af1c0dd2c9dcb3a7" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "b83d6d979cbc5507b1c43e988024c0af" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "c6822e4c0eae59cab832057bac327c67" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "028e4f674c725c009af8eaf77a79d9e7" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "d98e8f5f94da5acfbf428c635a8bcc0c" + }, + "Row3": { + "children": { + "Left": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "f1e2dc36082b5980920c5fe3ee875659" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "13170d23934e5a4ab97174ddee4dc180" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "b12b9565bd4e5c8e974ac0ff97223af4" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "e4d100e0bcb75fedb4ab0761d92bcf0e" + }, + "Right": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "1b6c21042e3b5ac9ae351f807722795a" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "9d5312c0ccc15f578b2c5e5512d34cb3" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "a76ea2c628df5099b0dca839aac84e63" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "a14449b5c1345feb90c2e4fbefd4ecef" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "6eb8d63b66c859d5b36ef52d264aed2b" + }, + "Row4": { + "children": { + "Left": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "ee591723296a580ea4ce9fc6ddbb5cf5" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "afd89e90044e5d5fa99e9c627742adb0" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "accc4bb43c775735843e87b545af08b2" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "4adb4059a21757bdabd902998ffb7da5" + }, + "Right": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "7d8b7cbfe68156d4a190a0a7525ee26c" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "b3cc73b02e5c5254b691373caacd7d21" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "49c59496aa7356cf86c275a0eb93ba28" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "b4bf2c99c2af580cbb92e0bbd0a40730" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "ff0c0fa26de7508dbe92a83bc087dff6" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "253e683e6f135b83b6302a30b6c0ec8d" + } + }, + "description": "Climate control", + "type": "branch", + "uuid": "f8ff34337cdf568e91ab406a365c3249" + }, + "Infotainment": { + "children": { + "HMI": { + "children": { + "CurrentLanguage": { + "datatype": "string", + "description": "ISO 639-1 standard language code for the current HMI", + "type": "sensor", + "uuid": "dc29ee5b7f7154b4ab05a9771fe930b3" + }, + "DateFormat": { + "datatype": "string", + "description": "Date format used in the current HMI", + "enum": [ + "YYYY MM DD", + "DD MM YYYY", + "MM DD YYYY", + "YY MM DD", + "DD MM YY", + "MM DD YY" + ], + "type": "actuator", + "uuid": "0f03c3955fe953e9893a1f52e964919e" + }, + "DayNightMode": { + "datatype": "string", + "description": "Current display theme", + "enum": [ + "Day", + "Night" + ], + "type": "actuator", + "uuid": "a892039ba136588fa26b2670f839c0cc" + }, + "DistanceUnit": { + "datatype": "string", + "description": "Distance unit used in the current HMI", + "enum": [ + "mi", + "km" + ], + "type": "actuator", + "uuid": "4b40e8bdb1a053ee9ee35338d8804e7b" + }, + "EVEconomyUnits": { + "datatype": "string", + "description": "EV fuel economy unit used in the current HMI", + "enum": [ + "mi/kWh", + "km/kWh", + "kWh/100mi", + "kWh/100km", + "Wh/mi", + "Wh/km" + ], + "type": "actuator", + "uuid": "914846f6804757ba81ca6bcfac8d2c48" + }, + "FuelEconomyUnits": { + "datatype": "string", + "description": "Fuel economy unit used in the current HMI", + "enum": [ + "mpg_UK", + "mpg_US", + "mpl", + "km/l", + "l/100km" + ], + "type": "actuator", + "uuid": "0e6a43ce1aa45243b753545ffa1f0f8c" + }, + "TemperatureUnit": { + "datatype": "string", + "description": "Temperature unit used in the current HMI", + "enum": [ + "C", + "F" + ], + "type": "actuator", + "uuid": "a7d1533490bb52b6b4f650280e72543d" + }, + "TimeFormat": { + "datatype": "string", + "description": "Time format used in the current HMI", + "enum": [ + "12HR", + "24HR" + ], + "type": "actuator", + "uuid": "73083b87a4e25c02aee672ea32e40005" + } + }, + "description": "HMI related signals", + "type": "branch", + "uuid": "271e3d9202825f37bd054820e5ea8141" + }, + "Media": { + "children": { + "Action": { + "datatype": "string", + "description": "Tells if the media was", + "enum": [ + "unknown", + "Stop", + "Play", + "FastForward", + "FastBackward", + "SkipForward", + "SkipBackward" + ], + "type": "actuator", + "uuid": "0357aea525bf505981a14e4fc720094e" + }, + "DeclinedURI": { + "datatype": "string", + "description": "URI of suggested media that was declined", + "type": "sensor", + "uuid": "51b0d6227db55b92bc35eedd8277f4c4" + }, + "Played": { + "children": { + "Album": { + "datatype": "string", + "description": "Name of album being played", + "type": "sensor", + "uuid": "1d80b1e2c1085def92b3548b5db2786e" + }, + "Artist": { + "datatype": "string", + "description": "Name of artist being played", + "type": "sensor", + "uuid": "076af7ad8aff5110ab5a64d1f58ccdcb" + }, + "Source": { + "datatype": "string", + "description": "Media selected for playback", + "enum": [ + "unknown", + "SiriusXM", + "AM", + "FM", + "DAB", + "TV", + "CD", + "DVD", + "AUX", + "USB", + "Disk", + "Bluetooth", + "Internet", + "Voice", + "Beep" + ], + "type": "actuator", + "uuid": "54fb88a7d7cf5e3aab63e8f52415c187" + }, + "Track": { + "datatype": "string", + "description": "Name of track being played", + "type": "sensor", + "uuid": "ee800d62a40351e6934649ca75927d69" + }, + "URI": { + "datatype": "string", + "description": "User Resource associated with the media", + "type": "sensor", + "uuid": "1ed22b9925c3502d8d1389c8e02d0f07" + } + }, + "description": "Collection of signals updated in concert when a new media is played", + "type": "branch", + "uuid": "6585e9d3b6ff596da72a5f8c98d2d47a" + }, + "SelectedURI": { + "datatype": "string", + "description": "URI of suggested media that was selected", + "type": "actuator", + "uuid": "4820f7a961c25e91af12d3417a145d32" + }, + "Volume": { + "datatype": "uint8", + "description": "Current Media Volume", + "max": 100, + "min": 0, + "type": "actuator", + "uuid": "8b344688816f5844ae5812bb136c8006" + } + }, + "description": "All Media actions", + "type": "branch", + "uuid": "3f324d13873e501a84daf2cfade24d0f" + }, + "Navigation": { + "children": { + "CurrentLocation": { + "children": { + "Accuracy": { + "datatype": "double", + "deprecation": "V2.1 moved to Vehicle.CurrentLocation.Accuracy", + "description": "Accuracy level of the latitude and longitude coordinates in meters.", + "type": "sensor", + "unit": "m", + "uuid": "eb9218c66b1451fcac5cfcf39d36f5da" + }, + "Altitude": { + "datatype": "double", + "deprecation": "V2.1 moved to Vehicle.CurrentLocation.Altitude", + "description": "Current elevation of the position in meters.", + "type": "sensor", + "unit": "m", + "uuid": "66e2f3fdf1f15b0a9925b674820f19fd" + }, + "Heading": { + "datatype": "double", + "deprecation": "V2.1 moved to Vehicle.CurrentLocation.Heading", + "description": "Current magnetic compass heading, in degrees.", + "max": 360, + "min": 0, + "type": "sensor", + "unit": "degrees", + "uuid": "67cd26aaf82e5e9f8a127aabba993003" + }, + "Latitude": { + "datatype": "double", + "deprecation": "V2.1 moved to Vehicle.CurrentLocation.Latitude", + "description": "Current latitude of vehicle, as reported by GPS.", + "max": 90, + "min": -90, + "type": "sensor", + "unit": "degrees", + "uuid": "dceb455713ac56a59e79c0fd25c01a08" + }, + "Longitude": { + "datatype": "double", + "deprecation": "V2.1 moved to Vehicle.CurrentLocation.Longitude", + "description": "Current longitude of vehicle, as reported by GPS.", + "max": 180, + "min": -180, + "type": "sensor", + "unit": "degrees", + "uuid": "1a9be9c36a9a5ddc945bfb1e8c1f4384" + }, + "Speed": { + "datatype": "uint16", + "deprecation": "V2.1 removed because doubled with Vehicle.Speed", + "description": "Vehicle speed, as sensed by the GPS receiver.", + "max": 250, + "min": 0, + "type": "sensor", + "unit": "km/h", + "uuid": "e72a72f3d6dc550f824cb03add1ada3b" + } + }, + "deprecation": "V2.1 moved to Vehicle.CurrentLocation", + "description": "The current latitude and longitude of the vehicle.", + "type": "branch", + "uuid": "12f930405e815048bf5b77db90c7d6e4" + }, + "DestinationSet": { + "children": { + "Latitude": { + "datatype": "double", + "description": "Latitude of destination", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "3e33f3252934565d86de5409c761262b" + }, + "Longitude": { + "datatype": "double", + "description": "Longitude of destination", + "max": 180, + "min": -180, + "type": "actuator", + "unit": "degrees", + "uuid": "e9bd511146ca51639c8d42c0702e22ee" + } + }, + "description": "A navigation has been selected.", + "type": "branch", + "uuid": "f51ce253dc5b58168ecca99297139455" + } + }, + "description": "All navigation actions", + "type": "branch", + "uuid": "79bb0cc4acae5d1eb34fb214352d7863" + } + }, + "description": "Infotainment system", + "type": "branch", + "uuid": "d88f92fbdda35012a2443b5e130d5eff" + }, + "Lights": { + "children": { + "AmbientLight": { + "datatype": "uint8", + "description": "How much ambient light is detected in cabin. 0 = No ambient light. 100 = Full brightness", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "cf7bf6bc25c2564383e72ef840e4b47d" + }, + "IsDomeOn": { + "datatype": "boolean", + "description": "Is central dome light light on", + "type": "actuator", + "uuid": "cc100f4cd2ff5e0593a557a74ebf5d9a" + }, + "IsGloveBoxOn": { + "datatype": "boolean", + "description": "Is glove box light on", + "type": "actuator", + "uuid": "f7281175fbc85b4a937b2606e4300f9a" + }, + "IsTrunkOn": { + "datatype": "boolean", + "description": "Is trunk light light on", + "type": "actuator", + "uuid": "3697df4cddc751df847fac74bd32390f" + }, + "LightIntensity": { + "datatype": "uint8", + "description": "Intensity of the interior lights. 0 = Off. 100 = Full brightness.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "a66eba0bae225a56babf3f9ceb65fc76" + }, + "Spotlight": { + "children": { + "Row1": { + "children": { + "IsLeftOn": { + "datatype": "boolean", + "description": "Is light on the left side switched on", + "type": "actuator", + "uuid": "c6a9c6b14d725113a087ce7e58a9c90b" + }, + "IsRightOn": { + "datatype": "boolean", + "description": "Is light on the right side switched on", + "type": "actuator", + "uuid": "7c08ddd9067f5905855cec9f30546fc9" + }, + "IsSharedOn": { + "datatype": "boolean", + "description": "Is a shared light across a specific row on", + "type": "sensor", + "uuid": "99614d03c27f50a6a32b99b68814e6d7" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "ea2b102268735567b3d7d6c36b34e480" + }, + "Row2": { + "children": { + "IsLeftOn": { + "datatype": "boolean", + "description": "Is light on the left side switched on", + "type": "actuator", + "uuid": "15534d254ce851509a8dfae763a9d709" + }, + "IsRightOn": { + "datatype": "boolean", + "description": "Is light on the right side switched on", + "type": "actuator", + "uuid": "06e866363b5c589db5b446eca0b68c8b" + }, + "IsSharedOn": { + "datatype": "boolean", + "description": "Is a shared light across a specific row on", + "type": "sensor", + "uuid": "087dd02860965a61a5cba8c66f8dbd36" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "504e514166d255439fd3f61acd3d412b" + }, + "Row3": { + "children": { + "IsLeftOn": { + "datatype": "boolean", + "description": "Is light on the left side switched on", + "type": "actuator", + "uuid": "f32530172b1a535cba376e660a3a630a" + }, + "IsRightOn": { + "datatype": "boolean", + "description": "Is light on the right side switched on", + "type": "actuator", + "uuid": "20424c00cf1d5e49b4287efe186cd263" + }, + "IsSharedOn": { + "datatype": "boolean", + "description": "Is a shared light across a specific row on", + "type": "sensor", + "uuid": "87f00a029ec854d39702ef86e030c00c" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "c0352a193354597692626b6f0b6d9537" + }, + "Row4": { + "children": { + "IsLeftOn": { + "datatype": "boolean", + "description": "Is light on the left side switched on", + "type": "actuator", + "uuid": "643c07780d2453e98b5091a39516f7ec" + }, + "IsRightOn": { + "datatype": "boolean", + "description": "Is light on the right side switched on", + "type": "actuator", + "uuid": "f012d37429aa53d1bf8648d686a804ef" + }, + "IsSharedOn": { + "datatype": "boolean", + "description": "Is a shared light across a specific row on", + "type": "sensor", + "uuid": "8f8de6d5b18f5cc69c9ecd556ce6b6ed" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "42c09d108927563293adcb93738895a0" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "8528c64a4c775da3ab01617bbff2e3c9" + } + }, + "description": "Interior lights signals and sensors", + "type": "branch", + "uuid": "8b5cd8c4d1e752b38c65a5966c870ccb" + }, + "RearShade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "9e16fc53f2ec575dbf66c79f969949a9" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "da9f01e9baf35544842f1a7674c5172a" + } + }, + "description": "Rear window shade.", + "type": "branch", + "uuid": "8a0c86f4fc6f5ea8ac8cf8f327969dcc" + }, + "RearviewMirror": { + "children": { + "DimmingLevel": { + "datatype": "uint8", + "description": "Dimming level of rearview mirror. 0 = undimmed. 100 = fully dimmed", + "type": "actuator", + "unit": "percent", + "uuid": "4e2bcbaa6dc1586d8282324b475e5dee" + } + }, + "description": "Rearview mirror", + "type": "branch", + "uuid": "e655b654ab9f55bbb04952a99755efae" + }, + "Seat": { + "children": { + "Row1": { + "children": { + "Pos1": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "49cc2754a4385ef8bdd8ba4e81ae91f6" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "51c12c552b745ead85e10392cd42791f" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "7fcca1759439553da9ba96f6b8e5ab0c" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "2e82eb84c2315844a31c3799917302c8" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "744e2e5b42e155e5b7b32ce5ff58ab30" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "83985fb2f68a53f69aafc93fb1c4abaf" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "cf523dc17f9451b08be069c5ea7be059" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "8dfb0fa68c1459b190ce70bf38e675fe" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "6055f646e52c58959fe7c89e7e5e77df" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "a28e02777f0652c09282c639b2ab0a63" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "6bd16a2258d152919db77e9592ac837a" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "88cd5a9e251f5c1b8fd1fca9eef93652" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "f9516c169c885f3e888efb60f33df03e" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "4339464b5f335361bbb6501c7c535661" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "0e668142a0855c31845050e3535ff1b3" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "c631b08751b851ec9b12ade8332ba5e6" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "8df99b3fedff5a219eacf254fb299ffb" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "473c3f152df7564589d0e09947ae428f" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "e2303f18abb35b25932e97165858fa2e" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "78283eb5efee58f8bce8b5fa3760df54" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "154be9f434bd5e40acf6294f30e9c756" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "cec6036c545754a2b98375049abab7c2" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "2de687c7c868555a8abbf3e2898a6468" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "09ac410884135f7db0bc159b56a6ca80" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "ae775abc1c3d52f9926c1964254eaed0" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "7322c0c5290959fd8edf8b50fc69e9a4" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "312e6a5f4849517bb6c074f4c9d72f7b" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "06ccb05626245b08a420c8f4059b8741" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "063ead2b6428542197fad4d5e1e6f1a8" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "75599c7abaf75e3685ee431c73499c21" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "0dbd1b52b69359a58aa80c59932c1579" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "c958f878a80256b8837437501854ad29" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "a2d03b4aa4ec5f829c666c14d79508d8" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "425d5a4817f754f2b0b650df3ea99949" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "9411da84bae25d05b0a496d973d3f942" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "d95e7c7ce3075730a5841cee70912ffa" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "bd4287a0141b5e09bf1c28444ca6768c" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "9aebda3a28e250d1b820ad2db329b50f" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "012ff0edf15155339ec6070d6ea1c377" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "c77197a72ace5fb9901afa191d480fa3" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "205d334c99a1527e9e0ad193d14fe146" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "3eb37a1d6aa3581d8daa6c32ac631629" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "46a23e294875537d9ce222d748dd43ef" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "4852285a3ec05fd3841431a0c425ac1f" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "fabd3e12e63d5a60a23b17dab032752e" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "9153acbc0eae569b9ec30da267a46b01" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "056d14d430e65211960602d5ab074824" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "2d3dc48a7ecf5f2a99b600f221faa770" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "8ed4d123819f53c3a5aa19482aeacf63" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "6fdc2b91da6c5a38ae41465d94e89f9d" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "3b6a1804d0385d29ac094468ef279100" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "6aeff0a2d48f5f28995f83cc5ada057d" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "9f570421f00a53f19f3741bd4e53303b" + }, + "Pos2": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "d65c423837db53ebbfd462ead6c92687" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "8150bc56e95453f4be691ee05241fa1a" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "729a4a9cc12f5f0da260406967b48f1f" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "7bea75eec2565b7e9e2bb45e83b0e11a" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "12ec5f0bc43c57059ecc5c4bb65f65b9" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "0188a85fd4f15ddcb9b246976bc453c3" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "54d2ecd1932f507398273dcbfc6e914d" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "c9db01df64cc5e258f05c053dfe78b45" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "eae672cc71dc5046bf1bdef59b8cd980" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "fc3b3498a15c5417aadbbce4f758a6d5" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "ee2919e0ffdd5a939a1b86b570c14112" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "b416d0e40df55cbf8055d7f5245993c4" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "bef37560403a5ab2a44d9f5f252c4e3b" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "7a482ec0a8c359e28af203e011ea4906" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "c1935863d503574fb5d20b703974399c" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "f88bffa4714d57f8b61b1034c57190ff" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "f8f67096b9e35197a3e199e9171c4872" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "ac22e6c5d43053b383f14c6b712b0698" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "d85baab0f292585b912fd8ba8eae234f" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "f14a3e9eaaf35012a8be3782b6a53f55" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "236d7a25e16954b7b4cba45f44114f93" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "2d17c6afb5b758e8bd3021a6c9211817" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "5369d75b449a52dd8f30fe5cfc1e68df" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "760de3ddab1d5b98a411cd0431ffaf4a" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "1631bc34f24651ef8b6d0952bc6fe149" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "252da1baa1e653f18d262fd996b3ab50" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "03ae5745c0af5c448281fd87344bbf5c" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "5043851e11b158aa8c047d5224639f68" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "5d8c7386f77f532390b126f61f63df3c" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "afd7711874855750badc9d138ea55741" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "64339d7dbb775b8bbae32a21d877593d" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "4bcd6bb369d75c66ab2bb0d3e34fdb93" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "ffd28515ab8a57ec89ae6f621dc11a31" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "7a86ead63d045874ae1c529b15ca4aac" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "38d63b12489a51c7b3d67fc4ad6a1398" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "45e331a87e005ed3863099d72f010114" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "184f2feb4f1b541b92b5830bee2caf71" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "a1b842b30e155b81852d420bd0814bf0" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "c81cd9c72b435bf99c1d27ed3d92491a" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "248f01a92c695ce59c6adb9eb111ff21" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "4715e0ba6d8353ceb210ecdc6aa38660" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "f12523c53b4a5166a8a5d532e1c20e54" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "82f1b4ee3b9c58998115117f6e8c39a7" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "78043316bc4b557ca3e4a3b6747ca8b4" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "ec8cd7718709534ba992d6ec64f99f80" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "7c18fe7b9d2b59229fa720942e4d2adf" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "c06a95a4c9355c3ab03b1a6937e40212" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "987c9053b13f5e96b3560fbd95cbed46" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "a82fc40ef7b1527cbd85f4297448e33e" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "d1e916470f5f59dea9a8cd003fddcde9" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "8bd64d992c2e5fd9b41754c46f9e5ee7" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "dd54a1a61c7c5d79a420edb7b1755aa1" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "614cecf6380d5c23989d2c8bf20bd8c3" + }, + "Pos3": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "c4e9b66d938d5e188ac577094daaf37e" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "243d103c16055180abef52fef071ad22" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "4c82794acd9553dbb2ec735379c0e517" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "c686c30c88145df9b690649fa0849ccb" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "893a1124c2465d46bf405ef9fd199887" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "d2f6bfd24cf1589398ef591866c5affd" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "ca45741cffe153c68e8cd62ceff7a82c" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "55e12cda54fe5d43a2f863b08948798b" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "4af67468dd7a55a58195d9b61997d077" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "d19199de59a153f782b8d61788c510a7" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "975fe66f9fa05d8ca7fb9d334641bb97" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "98b4873c63e354ba9280dcd27e2aae66" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "b1a4cb8658b75795936826b0469bf609" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "4049a18494395cabae62b8878c9e241e" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "d63d68381ec65f50a8dd6dfbc0bd751d" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "0d29fa2a1b97563c8e1ba31b8571f328" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "a7306a24de2155f2a1de070bc8f1bd60" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "f59d9531974256cab958e5e31588565d" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "4e68d3feef825f6f99c44cec9f7c1217" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "2a2ba0e42dcc563cba80cc491b66c45f" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "ef8175b8cfe453eab68065548b85a822" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "fcaaac4cd4c35c6a9b4e399e3cd0a29b" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "baf5756c60da53e0a30538dd95f704e6" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "abc7e9e31d855116a568ca4eb0a49d0d" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "7f58e1a1f05450c4bc7ac98090c19d82" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "1476f6af2b7456f181ca5c3703e2836c" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "54a75893acaa5460a3fc620728699cc8" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "e549c98581795288add98c88c4369df2" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "a31736d742cd540ea07aa03615b0ce3d" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "eb721f72d8a55fd69cfaad94dbcb3d3c" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "ad10d38481715875abfb88810cabb11d" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "5633fdc1466d5484bcc169c39a7bc99c" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "d6588e889ca15820aac1c0dd7771ea01" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "62b9b072512f5e2aa13073b0c9714ab7" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "38813c08d6175427ab06b1f9f665cc53" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "28dddcbedffc5876ba552b9bbaf842f1" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "f8a6ee14aaec5a2994bb46cfa8fae6b3" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "1801183f58015e82993da0ea3445be02" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "80bef0d120455d79a158a88760e57fe6" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "0583ae0b3cb75e8ea4019492a929badb" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "72cf00bb1c895bb7bb2ae9240ec6312c" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "fc30397e57d95945ab81263e2ef7a42a" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "a2c4a3a39758594d9e89a635bab499cb" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "ff4e4e9b5f2f5915b8aa9d7086ea0c62" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "918376c5dbb25a879412c6d35362e3ec" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "dd7b384b83f05a069d2bdf770ac7982a" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "91b96dbb20a35da6821c445f20cc2b1f" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "0d0cda55ff9853639ae089af46d7219a" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "6cb5ddb991c255e5b961b6724fbee6c6" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "f8ddfb9e5fad5596be9c15a94c3bd8b0" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "12955068421a511388f962ee8c190c68" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "1eda245135ce5788bfcbc75b082af947" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "add6f181ffd35d03b57d9833e7e22f4f" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "7a420ddeac6f538eb3939bb4a242d136" + }, + "Row2": { + "children": { + "Pos1": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "fea5a0ef57385df68e486ece13546bdf" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "ccfadedface05d54bcc00b30082b30d6" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "af1c06009f2f51a8a9691dc76f67daf5" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "da1627d60d1855e481585118413545c4" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "81008903a21e534890a6d6e6c68c2bc3" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "a346c9a5fe05579d8cb4dd0c39ae3cfd" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "860c83873c885e468f376ed62fa1ad5a" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "73020e8418ff5526b6f7ca102904287b" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "0f61ef421bcd5c8dbe6a5b477cb10a49" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "6e6e7aadfd0d52d4ac877147d84540d0" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "ad65078f81075a67babb66ecd2c902f7" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "41c8cc38221a52649a923f533eb74233" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "a6c4ac06f229582ea1066482d6a0464f" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "03ba74b039d05d1ab5326d50ff7a5069" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "406607948a235d829c5da212594813b1" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "188458a15b30577d8fb01d0f15641a6e" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "159e7daad966588ca48997859b811b72" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "aba17bf3b5175e56bf047839f2a0f880" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "e7ab950f55b45b1a985f1a9d132aad02" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "3dd247aae2555a1ebaf76ae4017f23bb" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "9e26bb850e0b505abd3b034cd32db946" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "8091f6615e6352549cd82be89b3794c7" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "231094f2616d5f91af405e8528135328" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "af1b567b19225b48a35c432f52de4b0f" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "9c4aaff0cb08576e8dfc9575bdf4188c" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "989b7125efd05224908240901aad22a3" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "9fdd5c24868e5a64bcfd461b3d848283" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "53a50be4deed54789b913c8939fa975b" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "c257793dc4705c9ab6276da5d4651d95" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "cb3caac06fe85e56b67516d78f8f65d1" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "fabe59aababc5f73b326821ab453d86e" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "b8d138f11e5c5af09044aeda5af787af" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "16737cc9bdb65d64b85562fcd48a55fd" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "61ef1160c2c45fe78d971548828b1057" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "3e225e7e11f35f918ba30e8c7a7e6c33" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "e0fe867a41805e73944b39fd6907cef9" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "a64671e5f4bf534ba60a548c5e68923d" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "2b0aa04fb4385ca8ad549c18e7b541b4" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "43f98ce5ef6453769476edc209d42fc5" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "d5f17aff2b3a53fe891ff80cdb5cd04c" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "0490a69e1d375ac39b6625319a6a0988" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "2a9a5c9ceeac503aac475fc1c22ba78c" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "4857aac12637502da76202384a151715" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "d9b7a4e69470596bb9883bdebc83992c" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "17e15fd8647854f196ab26103d065c41" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "e2e1a9415014540f91921c9b59731371" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "52e2279ca81b5a038bdb8bf92038ccab" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "57a9eeed1ad75133841b9ee8a1d87a90" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "75f78203a2f152f38ed872dfa6a64cd5" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "41c1925090a25472b3e35e720c775d29" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "765453ae7cde52ea83a6dafca07a855e" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "1c4b708222de55aabddb3697308253ee" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "ba975a6536f15545851d27972ab1fffe" + }, + "Pos2": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "668f397bc95358989119fb1cfdfa8a01" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "07f9f55e33055cf7bebdc06e7d5a6a14" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "330a944fd2005b53a4d546744d21e591" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "203d653612605d988c639c0f6c728906" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "0c918c7253a45f40bb8ba0633b24e122" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "d1097dd0e0685ce8838fa83e3791b233" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "4214c90aad0e538fae2d16f9cb4a8a62" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "4dd4e81df9b45c788ea30eeb96db1082" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "c7eb6ca24426596dab519386d231a9d1" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "3cf2e042421b540da4aa047680dcdf84" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "f2c9c2d624bb5cf4bf9aba5842eb96eb" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "95bf0522c35653588932404e7e49f603" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "f4738d07c7eb5ae583f915341986e4bd" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "666d60b9c4be5a5fa236b13d7c1dbc40" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "77e8a4d481315520927fc0828158772e" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "6f4e6a9f8008536eae03197601a6366a" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "ae49d70515d55aad9b4719d8162b43c9" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "24c23b9f5adb549483cb52acbd81a980" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "30e72777238850ff8a01c3a8f85b663e" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "7c24fa880576550da14bae1e5eed26b9" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "4026cce78c465486a8d6033a18d1728a" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "94e4f77b1714550cb750c599a56ee624" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "85135f2df03658dfaceaccd58a478a63" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "bdac3b5e7d365e229f2826ae2c605239" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "cb3cfa2c97365da1a8fca053a65b3f2e" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "8ccfc2c9fc455ca99f857dab20d5312d" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "62ec09fe2ba051c5810a43b377eda1ec" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "f4df41ff19ea5d68a2ddec478d2fb50b" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "d0086699030753a98aaf9bf44557dc16" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "741fffa36829573f8124659ebfc1c6a6" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "cbbc30fd57b05354b05887435c1407e4" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "822d46ed8df65a2f954ac7e515a9c260" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "67d2c79495fb536db65b1bcb20f734c2" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "8835129127335ddd952dd947f83fb8e3" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "9bccb182622c5e3b8e0a94f8dfe41be8" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "d6c9abeefabf58f9b44ac3cc2988aff5" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "6f17db239c0e5794a3b17579105eecd9" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "72eb5dc4bc29520ab3bc77542b94bc2a" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "edc261f4f51c563bb9da356e53354011" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "5999c5a87c1057e893dd9d4113c5f2ab" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "346c0825d99f536e95312b026a4f2118" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "8bf96bfc4af556ff83c2622617a51b2a" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "1fabf329e8715f28b90b72a8a5b6c3de" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "b8670833dfc85c6bace3b9da8c1dbf95" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "7a0563d5b2cf58db820e85dd08ad9bc4" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "063cec57ef47568aaf3d1070df74a63b" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "4e433a05a54456e69ac7357b0af56d76" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "4f0d4d8a90ca5a90b773173c953a0191" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "7ed2d8c4de215c7a9783243b0cbcd6ea" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "f6e2a08b8fc855968c6b194f2d55a72e" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "84462c894cff5eb080f4020fcb114d22" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "f3fdef2159cb5cda985cbc04220c3593" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "e8afa112abe75fda9ce3e1f0d712713d" + }, + "Pos3": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "6802243fcb3155b196cca3a825c12bcb" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "e1d14ad055955eac914a47ee180a6e78" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "859ea2de83275a4ca91c59e248e9b159" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "ddf566c0b12256df94fcd72bcaa3f570" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "32e678fb513e5a0bb42bd39a27627d8d" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "eb7db74c722e5ea5a8e66bbc26d5e1c5" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "dbaefb0c59505e83b1f87b4010f3049a" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "a945800a6ad95970b01110b86a5d204b" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "2a175561eed05247b3048263c0122fa1" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "077a21fca4d857dd81debfd81119bc73" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "815f9e1dc05b5078aaefc3868319b18b" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "c2d250c021aa531cb364f52a80ae1131" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "c7f75035848554e0b7b22b0486d2dc9c" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "07ddd96920595e66a7762532ae1b685c" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "fffccf6ae6365b83ab093031f573e452" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "d96b225635b959a1aea0d6febb955ae8" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "ea36896f5572580b9d8379a6256f61b5" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "296e51d414a65cea96e1eea27dc3e1dd" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "a8df9afde2335f8ab7cf4b185148f20e" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "64eb763cc10358b49968797fbf50c092" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "8ecc3958a2175b0f9ad58de386822df7" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "127bf41b7b055407b3405787db308dc5" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "5d3abbb4cc305e9e83fc06939c715767" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "9035b32f9ee95d1db6c22f50effc7c7f" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "c2137be8528b5f5da942fd1b6b8bfe9e" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "867fde470237512399c100a3377863aa" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "2f278d0e725a5f24aa77e2215cbb9aa8" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "0e5094c2a3225e3bb4b0cb9cfb512ead" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "51b1d279db7e540ab06c61da49d345eb" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "45febb136cc9513aadf5ac81c444c50f" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "e2dbef15271959f9859c730beb6a279f" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "570ed0643f3d54edbecafbaabfa63676" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "acf77df0899557ea98b9b73411a785fd" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "c76b4aee310057d681ce841a43f275b0" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "68549d6e81075fe99a524d97b97334ca" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "0be514b4224f57e3b95d748ace1d09f3" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "9b37d65e49ba518aacb15176ee035f85" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "e71ff6bd33f2583d964ae9c074265ce1" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "e53c8a74034b5def83a9c2e41ffbf686" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "7837dca1dd445a49b01ff126545e96d1" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "d91ab3177bf35a52b02bab237eb43e29" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "ac801efd6a6456a2b88417a50c625f57" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "ac2bb22d6acf56988582353a1453cbe3" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "1db535f68ddf5d449a19d12a208140c8" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "2a56d160cce15feca287e088e716650d" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "216444ab659152b6ab8daed75500d388" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "5f97a254d1b654bf99203d1d0e3b6739" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "0e7ee36cd3d75f05a7f49722b82017fe" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "a06fd6dfd4ad5b468213337d6f2f9d07" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "028248cc18315659a533c409180b577a" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "32fe3de3adbd51c280b13e26cb23dce8" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "e0cfa7aceac75980b33075ceef5c9125" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "a40aa679981551e7a92b8438533911d4" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "8c3aaf015ef8595cb45d9461a9c1195f" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "b0b253106b2851e3bb5c71ae3b09f09d" + }, + "SeatPosCount": { + "datatype": "uint8[]", + "default": [ + 2, + 3 + ], + "description": "Number of seats across each row from the front to the rear", + "type": "attribute", + "uuid": "8dd40ecd47ab51c79ed9c74ae4296d7e" + }, + "SeatRowCount": { + "datatype": "uint8", + "default": 2, + "description": "Number of seat rows in vehicle", + "type": "attribute", + "uuid": "1002a7a4a954581b9cbc72fa438c5292" + }, + "Sunroof": { + "children": { + "Position": { + "datatype": "int8", + "description": "Sunroof position. 0 = Fully closed 100 = Fully opened. -100 = Fully tilted", + "max": 100, + "min": -100, + "type": "sensor", + "uuid": "ab598697f1c852eda4df9ed62a956d17" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "5f78c2a631b75abc88744f9bad277f5a" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "3836077128c65381b01e74a1a8be1c40" + } + }, + "description": "Sun roof shade status", + "type": "branch", + "uuid": "eeaae5977adb5683b16f405993405b2e" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or shade.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen", + "TiltUp", + "TiltDown" + ], + "type": "actuator", + "uuid": "88c39afd45a25ea2b474ff581e1fb138" + } + }, + "description": "Sun roof status.", + "type": "branch", + "uuid": "8ff70db05c065e3eb530082a0b6983cf" + } + }, + "description": "All in-cabin components, including doors.", + "type": "branch", + "uuid": "1a94457b237f5e8eb3c77c0532ac88d7" + }, + "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", + "uuid": "2fabd8b61db45f62b4e97e7a612b4a73" + } + }, + "description": "Accelerator signals", + "type": "branch", + "uuid": "3b2b562086a45eb29c55186f3b710621" + }, + "Axle": { + "children": { + "Row1": { + "children": { + "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" + }, + "TireDiameter": { + "datatype": "float", + "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "ed9f037c1b5d53c78c90b71179db1f4f" + }, + "TireWidth": { + "datatype": "uint16", + "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "mm", + "uuid": "3444d8773c215cd7a076d688eb7f1afc" + }, + "Wheel": { + "children": { + "Left": { + "children": { + "Brake": { + "children": { + "BrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "2f7c8029bfe759748592ef5e729cc845" + }, + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "63aa9c4973ef50b18bd7214c9f2634c5" + }, + "FluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "53a75af3ab945f3f8546a84136369ec1" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "type": "sensor", + "uuid": "b4ed36f8143d512fadaca3e641739ee2" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "162dab13d5815ec4bc22888b0bc59cbf" + }, + "Tire": { + "children": { + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal", + "type": "sensor", + "unit": "kPa", + "uuid": "9fa3f176fd975d28a68f70c7d72e370f" + }, + "PressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "82de2a68098455eba786f8ed2d7468c0" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "093d8fb119755f6bafa979e4eae201a0" + } + }, + "description": "Tire signals for wheel", + "type": "branch", + "uuid": "17c60ec3c02054b4951c975156375d9a" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "0cd478c6e72b55c6be6d3d9df9624545" + }, + "Right": { + "children": { + "Brake": { + "children": { + "BrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "1a55f7262b565bf4a5181a55c19d204d" + }, + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "386bfddee4605e419d59755a51835650" + }, + "FluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "0311e746d19358c8a3236cefeca84ef1" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "type": "sensor", + "uuid": "f3c53c8c5628527a8501e12778dae6c7" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "f334a45b92215f86b4ecadbd82c8b249" + }, + "Tire": { + "children": { + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal", + "type": "sensor", + "unit": "kPa", + "uuid": "ea8038b63e6650ffb1a20539e915064a" + }, + "PressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "1634d42e20bc5cb4b3d6d4735821d477" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "58d4cee188d353d7996e855d48bb92df" + } + }, + "description": "Tire signals for wheel", + "type": "branch", + "uuid": "660f90ae8f14594cb6e97d000c1985a1" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "c7ae1f1787ec502d8aea41802dc9a203" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "8ed02c02eee0502ba6d94a5d5f1fb789" + }, + "WheelCount": { + "datatype": "uint8", + "description": "Number of wheels on the axle", + "type": "attribute", + "uuid": "7232effafb7d5c908a9bafe1cef2ff3e" + }, + "WheelDiameter": { + "datatype": "float", + "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "60d4b948ae8a5485bd77c45e1f648c13" + }, + "WheelWidth": { + "datatype": "float", + "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "5b92bdab1e035ff4ba000330e20f826b" + } + }, + "description": "Axle signals", + "type": "branch", + "uuid": "d7e93a94af0752aaab36819f6be4f67a" + }, + "Row2": { + "children": { + "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" + }, + "TireDiameter": { + "datatype": "float", + "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "4dc46ee7fe0a5240a6eb67f9bf43a1ea" + }, + "TireWidth": { + "datatype": "uint16", + "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "mm", + "uuid": "76a9071697b25fb8ab42393dfb77f0ef" + }, + "Wheel": { + "children": { + "Left": { + "children": { + "Brake": { + "children": { + "BrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "ccae6b64f123544fa6982d224d987852" + }, + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "4b0d4f80b8855973a55ffee80fdfc4ba" + }, + "FluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "68e832cbce705af0bf0d6e0f9ba7acac" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "type": "sensor", + "uuid": "8eff72d583015e1e94eab98bf8f0497e" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "774d0a5771d35975872870cf71ea1487" + }, + "Tire": { + "children": { + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal", + "type": "sensor", + "unit": "kPa", + "uuid": "ea414012c36e54fc84ec1d421f370ddd" + }, + "PressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "24bc9ee216275e4d8c7f388853e80975" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "06ab6b3fe7bb5f7c9e2e104ee0e7cfd5" + } + }, + "description": "Tire signals for wheel", + "type": "branch", + "uuid": "edfee87117dc5a6f9d970167f26ec090" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "4c32a1c722a45ea09a52c389e8a8a618" + }, + "Right": { + "children": { + "Brake": { + "children": { + "BrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "4f1e06c6edbd57e6b0d55e413481633f" + }, + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "83e5e261302d5ab38c9ee4dddc18c8ae" + }, + "FluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "c8660a7144055afa8ffc1ffb092ce6cc" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "type": "sensor", + "uuid": "63a564bca18a5b1fabd7d3cff1af0e6d" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "5c33ec4bd8a15d3590f59e7257bf4d25" + }, + "Tire": { + "children": { + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal", + "type": "sensor", + "unit": "kPa", + "uuid": "0cd3dd4be36c5fcda49d6360556ba7c8" + }, + "PressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "86bfb761f970543399f4232ca0915a70" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "7c08b5778bc05265bb8d4e08fdca29cf" + } + }, + "description": "Tire signals for wheel", + "type": "branch", + "uuid": "d855fe9ffb4e52be83ebfc7967c1c3ee" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "f59f6ce66b1454498f5dc71be581732a" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "87b119ed6de254159877b24047fd3026" + }, + "WheelCount": { + "datatype": "uint8", + "description": "Number of wheels on the axle", + "type": "attribute", + "uuid": "ac6fe103410153d382306426d14213ab" + }, + "WheelDiameter": { + "datatype": "float", + "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "af27b1d18a5455e593692a9929909bb9" + }, + "WheelWidth": { + "datatype": "float", + "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "889d279053c051979ebbe301bacac206" + } + }, + "description": "Axle signals", + "type": "branch", + "uuid": "8ef77768446659b6b5020a06c7b23c8b" + } + }, + "description": "Axle signals", + "type": "branch", + "uuid": "0a3ebde7efa85c04ac6c29b5676fec5d" + }, + "AxleCount": { + "datatype": "uint8", + "default": 2, + "description": "Number of axles on the vehicle", + "type": "attribute", + "uuid": "86d084c9148d5f22b5402a030413ed79" + }, + "Brake": { + "children": { + "PedalPosition": { + "datatype": "uint8", + "description": "Brake pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "0477d3a4a831564ea473976cf34374f2" + } + }, + "description": "Brake system signals", + "type": "branch", + "uuid": "38df972e5c6b558e93839a5e97238c5a" + }, + "CurbWeight": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.CurbWeight", + "description": "Vehicle curb weight, in kg, including all liquids and full tank of fuel, but no cargo or passengers.", + "type": "attribute", + "unit": "kg", + "uuid": "ffe3fe9067b15475bb02865ba51cc972" + }, + "GrossWeight": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.GrossWeight", + "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": "1488a8a670535ea2b3ce2ec5b7016175" + }, + "Height": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.Height", + "description": "Overall vehicle height, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "63e6660d8f635f4db977c23ee411f0cc" + }, + "Length": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.Length", + "description": "Overall vehicle length, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "ace9409dc191589faf79edd42a3218d3" + }, + "ParkingBrake": { + "children": { + "IsEngaged": { + "datatype": "boolean", + "description": "Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.", + "type": "actuator", + "uuid": "faa7f94e6a5555c6b2d62e3328520ce0" + } + }, + "description": "Parking brake signals", + "type": "branch", + "uuid": "3849d42292f4551590fa4bf716fc90f7" + }, + "SteeringWheel": { + "children": { + "Angle": { + "datatype": "int16", + "description": "Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right.", + "type": "sensor", + "unit": "degrees", + "uuid": "92cd3b3d37585b2291806fe5127d9393" + }, + "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", + "uuid": "6a84cc3604fc5960a1fb384fe63fae72" + }, + "Position": { + "datatype": "string", + "default": "front_left", + "description": "Position of the steering wheel on the left or right side of the vehicle.", + "enum": [ + "front_left", + "front_right" + ], + "type": "attribute", + "uuid": "314d6eeeba195098b36ae7f476d27824" + }, + "Tilt": { + "datatype": "uint8", + "description": "Steering wheel column tilt. 0 = Lowest position. 100 = Highest position.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "33e979769f91521d8080384447d06c00" + } + }, + "description": "Steering wheel signals", + "type": "branch", + "uuid": "8c759072791e5986ac4efe9df0c2b751" + }, + "TowWeight": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.TowWeight", + "description": "Maximum weight, in kilos, of trailer.", + "type": "attribute", + "unit": "kg", + "uuid": "ff8fc44fac735c278bf18291790cc9db" + }, + "Track": { + "datatype": "uint16", + "default": 0, + "description": "Overall wheel tracking, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "f66cc4e6d7cf5e1da0d58af902dbb36b" + }, + "Trailer": { + "children": { + "Connected": { + "datatype": "boolean", + "deprecation": "V2.1 moved to Vehicle.Trailer.Connected", + "description": "Signal indicating if trailer is connected or not.", + "type": "sensor", + "uuid": "00894266101c534fbcc4a6fb6d3a497a" + } + }, + "deprecation": "V2.1 moved to Vehicle.Trailer", + "description": "Trailer signals", + "type": "branch", + "uuid": "228ce19986db5ce383fa5725fcb6b01b" + }, + "Wheelbase": { + "datatype": "uint16", + "default": 0, + "description": "Overall wheel base, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "11677e0433935dc7aa9c1806c96a8a6b" + }, + "Width": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.Width", + "description": "Overall vehicle width, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "abd0c2786e275dc1b9669dd337ba6c65" + } + }, + "description": "All data concerning steering, suspension, wheels, and brakes.", + "type": "branch", + "uuid": "87d260d635425da0a4ebd62bc4e5c313" + }, + "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" + }, + "CurrentLocation": { + "children": { + "Accuracy": { + "datatype": "double", + "description": "Accuracy level of the latitude and longitude coordinates.", + "type": "sensor", + "unit": "m", + "uuid": "c6135205a21753e49b45614d562a89b7" + }, + "Altitude": { + "datatype": "double", + "description": "Current elevation of the position.", + "type": "sensor", + "unit": "m", + "uuid": "d3ead98ab0b751c1a5b5dd5bc0e5e216" + }, + "Heading": { + "datatype": "double", + "description": "Current magnetic compass heading.", + "max": 360, + "min": 0, + "type": "sensor", + "unit": "degrees", + "uuid": "2a8f0afa2b315943aa001278875ce012" + }, + "Latitude": { + "datatype": "double", + "description": "Current latitude of vehicle.", + "max": 90, + "min": -90, + "type": "sensor", + "unit": "degrees", + "uuid": "08933c5a445055df80bea15fbfa07f1c" + }, + "Longitude": { + "datatype": "double", + "description": "Current longitude of vehicle.", + "max": 180, + "min": -180, + "type": "sensor", + "unit": "degrees", + "uuid": "5246f2ec5fea550cb1b36f110854cfbb" + } + }, + "description": "The current latitude and longitude of the vehicle.", + "type": "branch", + "uuid": "24777bd485f15fb69550ae0520c40ad5" + }, + "CurrentOverallWeight": { + "datatype": "uint16", + "description": "Current overall Vehicle weight. Including passengers, cargo and other load inside the car.", + "type": "sensor", + "unit": "kg", + "uuid": "75599d7628bb5f35839055269d3ad205" + }, + "DriveTime": { + "datatype": "uint32", + "description": "Accumulated drive time in seconds.", + "type": "sensor", + "unit": "s", + "uuid": "f707495fbe155b7fa109dbb69c021850" + }, + "Driver": { + "children": { + "AttentiveProbability": { + "datatype": "float", + "description": "Probability of attentiveness of the driver.", + "type": "sensor", + "unit": "percent", + "uuid": "fcd202467afb533fbbf9e7da89cc1cee" + }, + "DistractionLevel": { + "datatype": "float", + "description": "Distraction level of the driver will be the level how much the driver is distracted, by multiple factors. E.g. Driving situation, acustical or optical signales inside the cockpit, phone calls", + "type": "sensor", + "unit": "percent", + "uuid": "cb35ec0b924e58979e1469146d65c3fa" + }, + "EyesOnRoad": { + "datatype": "boolean", + "description": "Has driver the eyes on road or not?", + "type": "sensor", + "uuid": "52003ac6512e594a87a378e3edf4c5e6" + }, + "FatigueLevel": { + "datatype": "float", + "description": "Fatigueness level of driver. Evaluated by multiple factors like trip time, behaviour of steering, eye status.", + "type": "sensor", + "unit": "percent", + "uuid": "49b1626295705a79ae20d8a270c48b6b" + }, + "HeartRate": { + "datatype": "uint16", + "description": "Heart rate of the driver.", + "type": "sensor", + "uuid": "d71516905f785c4da867a2f86e774d93" + }, + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "ee7988d26d7156d2a030ecc506ea97e7" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "b41ec688af265f10824bc9635989ac55" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "89705397069c5ec58d607318f2ff0ea8" + } + }, + "description": "Driver data.", + "type": "branch", + "uuid": "1cac57e7b7e756dc8a154eaacbce6426" + }, + "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" + }, + "Height": { + "datatype": "uint16", + "default": 0, + "description": "Overall vehicle height.", + "type": "attribute", + "unit": "mm", + "uuid": "9784d39f68b8541f90c355178ded7d7c" + }, + "IdleTime": { + "datatype": "uint32", + "description": "Accumulated idle time in seconds.", + "type": "sensor", + "unit": "s", + "uuid": "97be8abc404f5c15a78e7edc6296ab04" + }, + "IgnitionOffTime": { + "datatype": "uint32", + "description": "Accumulated ignition off time in seconds.", + "type": "sensor", + "unit": "s", + "uuid": "c0c4467bb00d5c0683c5bb81bcfdcb3e" + }, + "IgnitionOn": { + "datatype": "boolean", + "description": "Indicates whether the vehicle ignition is on or off.", + "type": "sensor", + "uuid": "6de19e6839af5f62acab3fbbd8077a98" + }, + "IgnitionOnTime": { + "datatype": "uint32", + "description": "Accumulated ignition on time in seconds.", + "type": "sensor", + "unit": "s", + "uuid": "ffae3b559998574ba58ee66dd0ac5d39" + }, + "IsMoving": { + "datatype": "boolean", + "description": "Indicates whether the vehicle is stationary or moving", + "type": "sensor", + "uuid": "db69549cc7375e919c2a2883b41cd19c" + }, + "Length": { + "datatype": "uint16", + "default": 0, + "description": "Overall vehicle length.", + "type": "attribute", + "unit": "mm", + "uuid": "885f1be6842a513582e52a42edb3176f" + }, + "MaxTowBallWeight": { + "datatype": "uint16", + "default": 0, + "description": "Maximum vertical weight on the tow ball of a trailer.", + "type": "attribute", + "unit": "kg", + "uuid": "fec550f2064750e8b65b54fbf1368d68" + }, + "MaxTowWeight": { + "datatype": "uint16", + "default": 0, + "description": "Maximum weight of trailer.", + "type": "attribute", + "unit": "kg", + "uuid": "a1b8fd65897654aa8a418bccf443f1f3" + }, + "Media": { + "children": {}, + "description": "Media service data.", + "type": "branch", + "uuid": "b778b6c07b055eae9f0a51d64c5b3bf3" + }, + "OBD": { + "children": { + "AbsoluteLoad": { + "datatype": "float", + "description": "PID 43 - Absolute load value", + "type": "sensor", + "unit": "percent", + "uuid": "b3dd889a42ce5de9a7904b7196ae325c" + }, + "AcceleratorPositionD": { + "datatype": "float", + "description": "PID 49 - Accelerator pedal position D", + "type": "sensor", + "unit": "percent", + "uuid": "7e63256081ac5a7b8a28a6fa3c2c2ff9" + }, + "AcceleratorPositionE": { + "datatype": "float", + "description": "PID 4A - Accelerator pedal position E", + "type": "sensor", + "unit": "percent", + "uuid": "4104e7fc25355e25b4522d233565d84b" + }, + "AcceleratorPositionF": { + "datatype": "float", + "description": "PID 4B - Accelerator pedal position F", + "type": "sensor", + "unit": "percent", + "uuid": "95f5c2a209a857ff930e2f8e32ac2d3f" + }, + "AirStatus": { + "datatype": "string", + "description": "PID 12 - Secondary air status", + "type": "sensor", + "uuid": "548f65bf59ed505a86dfaa1c33342e4d" + }, + "AmbientAirTemperature": { + "datatype": "float", + "description": "PID 46 - Ambient air temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "220a90f183c5583ea8b8b6454d774517" + }, + "AuxInputStatus": { + "datatype": "boolean", + "description": "PID 1E - Auxiliary input status (power take off)", + "type": "sensor", + "uuid": "6e0b531c320e50d59fb46e98df17620a" + }, + "BarometricPressure": { + "datatype": "float", + "description": "PID 33 - Barometric pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "1966bfff4d235767bfd9a21afb445ac7" + }, + "Catalyst": { + "children": { + "Bank1": { + "children": { + "Temperature1": { + "datatype": "float", + "description": "PID 3C - Catalyst temperature from bank 1, sensor 1", + "type": "sensor", + "unit": "celsius", + "uuid": "5a770f13939e5d069682d408f160a895" + }, + "Temperature2": { + "datatype": "float", + "description": "PID 3E - Catalyst temperature from bank 1, sensor 2", + "type": "sensor", + "unit": "celsius", + "uuid": "ca9419a5d23b5937af23b51d823722fa" + } + }, + "description": "Catalyst bank 1 signals", + "type": "branch", + "uuid": "0c3aaf014ba95b938b639d4202ef8b25" + }, + "Bank2": { + "children": { + "Temperature1": { + "datatype": "float", + "description": "PID 3D - Catalyst temperature from bank 2, sensor 1", + "type": "sensor", + "unit": "celsius", + "uuid": "011658e4ee89502c9a33877c92dbf888" + }, + "Temperature2": { + "datatype": "float", + "description": "PID 3F - Catalyst temperature from bank 2, sensor 2", + "type": "sensor", + "unit": "celsius", + "uuid": "f60c68f0ebca5fcf97086ce04e16d661" + } + }, + "description": "Catalyst bank 2 signals", + "type": "branch", + "uuid": "9a20459754755146a3b9608bf6384835" + } + }, + "description": "Catalyst signals", + "type": "branch", + "uuid": "4eb0b191d6445de081f3f3f759af31c2" + }, + "CommandedEGR": { + "datatype": "float", + "description": "PID 2C - Commanded exhaust gas recirculation (EGR)", + "type": "sensor", + "unit": "percent", + "uuid": "0265890a4a695ee6952c9b9f565ddaa5" + }, + "CommandedEVAP": { + "datatype": "float", + "description": "PID 2E - Commanded evaporative purge (EVAP) valve", + "type": "sensor", + "unit": "percent", + "uuid": "5e6295d04a9159b88f4698b561b86842" + }, + "CommandedEquivalenceRatio": { + "datatype": "float", + "description": "PID 44 - Commanded equivalence ratio", + "type": "sensor", + "unit": "ratio", + "uuid": "104e39e816f65fa791d0afa24603292b" + }, + "ControlModuleVoltage": { + "datatype": "float", + "description": "PID 42 - Control module voltage", + "type": "sensor", + "unit": "V", + "uuid": "59e072b932605ffc88a299c874d885c4" + }, + "CoolantTemperature": { + "datatype": "float", + "description": "PID 05 - Coolant temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "824892cdc72d5f92a38ef3136576edc8" + }, + "DTCList": { + "datatype": "string[]", + "description": "List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX )", + "type": "sensor", + "uuid": "eee1b64e69845d5ab5e793b74631f9dc" + }, + "DistanceSinceDTCClear": { + "datatype": "float", + "description": "PID 31 - Distance traveled since codes cleared", + "type": "sensor", + "unit": "km", + "uuid": "0da628e2c69d561eb86216ddcb6e7b2a" + }, + "DistanceWithMIL": { + "datatype": "float", + "description": "PID 21 - Distance traveled with MIL on", + "type": "sensor", + "unit": "km", + "uuid": "a9a522e343f25522b08f11e81bb91349" + }, + "DriveCycleStatus": { + "children": { + "DTCCount": { + "datatype": "uint8", + "description": "Number of sensor Trouble Codes (DTC)", + "type": "sensor", + "uuid": "312856f746ff560e8098c19196964d3b" + }, + "IgnitionType": { + "datatype": "string", + "description": "Type of the ignition for ICE - spark = spark plug ignition, compression = self-igniting (Diesel engines)", + "enum": [ + "spark", + "compression" + ], + "type": "sensor", + "uuid": "1aeb7b6d025f5a8693104824abaa1c49" + }, + "MIL": { + "datatype": "boolean", + "description": "Malfunction Indicator Light (MIL) - False = Off, True = On", + "type": "sensor", + "uuid": "7ce9859f21205e7f8876a10331fe6be7" + } + }, + "description": "PID 41 - OBD status for the current drive cycle", + "type": "branch", + "uuid": "5215e28062f75154822789b8a5f30630" + }, + "EGRError": { + "datatype": "float", + "description": "PID 2D - Exhaust gas recirculation (EGR) error", + "type": "sensor", + "unit": "percent", + "uuid": "80a7000c5c7b5444b5571a26264061e5" + }, + "EVAPVaporPressure": { + "datatype": "float", + "description": "PID 32 - Evaporative purge (EVAP) system pressure", + "type": "sensor", + "unit": "Pa", + "uuid": "70b5dae2ffd0561eab73efed8ad2f0ad" + }, + "EVAPVaporPressureAbsolute": { + "datatype": "float", + "description": "PID 53 - Absolute evaporative purge (EVAP) system pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "ef188a1e1a1356f7bc425081e3e00805" + }, + "EVAPVaporPressureAlternate": { + "datatype": "float", + "description": "PID 54 - Alternate evaporative purge (EVAP) system pressure", + "type": "sensor", + "unit": "Pa", + "uuid": "68eaba3c79975d61bc35b92cd3e5e8d0" + }, + "EngineLoad": { + "datatype": "float", + "description": "PID 04 - Engine load in percent - 0 = no load, 100 = full load", + "type": "sensor", + "unit": "percent", + "uuid": "a8fda8a1b4c6534aa49c447bafc1c700" + }, + "EngineSpeed": { + "datatype": "float", + "description": "PID 0C - Engine speed measured as rotations per minute", + "type": "sensor", + "unit": "rpm", + "uuid": "b682eea93b3e5874ab3b52e95a1fad37" + }, + "EthanolPercent": { + "datatype": "float", + "description": "PID 52 - Percentage of ethanol in the fuel", + "type": "sensor", + "unit": "percent", + "uuid": "a207e7de17e1520c894b412af6f2522c" + }, + "FreezeDTC": { + "datatype": "string", + "description": "PID 02 - DTC that triggered the freeze frame", + "type": "sensor", + "uuid": "5b87fae8dda4522aae209ae528960782" + }, + "FuelInjectionTiming": { + "datatype": "float", + "description": "PID 5D - Fuel injection timing", + "type": "sensor", + "unit": "degrees", + "uuid": "ab4869446f5357d6936838983e1b8949" + }, + "FuelLevel": { + "datatype": "float", + "description": "PID 2F - Fuel level in the fuel tank", + "type": "sensor", + "unit": "percent", + "uuid": "fd39813424ee5cd08c44714b35697287" + }, + "FuelPressure": { + "datatype": "float", + "description": "PID 0A - Fuel pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "34e6b0689f025d7b9bfa1fc49bb30c0f" + }, + "FuelRailPressureAbsolute": { + "datatype": "float", + "description": "PID 59 - Absolute fuel rail pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "83c88b13d30153949eeca1b1180a9061" + }, + "FuelRailPressureDirect": { + "datatype": "float", + "description": "PID 23 - Fuel rail pressure direct inject", + "type": "sensor", + "unit": "kPa", + "uuid": "039cb7bf1a8356a98d09eaf4fc029fe9" + }, + "FuelRailPressureVac": { + "datatype": "float", + "description": "PID 22 - Fuel rail pressure relative to vacuum", + "type": "sensor", + "unit": "kPa", + "uuid": "b3b0adf44aa3572fa07e7434993e6458" + }, + "FuelRate": { + "datatype": "float", + "description": "PID 5E - Engine fuel rate", + "type": "sensor", + "unit": "l/h", + "uuid": "4ab7c2b710f95ceb9c7d01d19dabac38" + }, + "FuelStatus": { + "datatype": "string", + "description": "PID 03 - Fuel status", + "type": "sensor", + "uuid": "15fa2f3f667a5f5786eda5c83435ef16" + }, + "FuelType": { + "datatype": "string", + "description": "PID 51 - Fuel type", + "type": "sensor", + "uuid": "aefb45bdd8035904b0c8f3ffcedc53a9" + }, + "HybridBatteryRemaining": { + "datatype": "float", + "description": "PID 5B - Remaining life of hybrid battery", + "type": "sensor", + "unit": "percent", + "uuid": "c9517b6243df5e8d8f3aa3e57f71ec37" + }, + "IntakeTemp": { + "datatype": "float", + "description": "PID 0F - Intake temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "7c108305178b5854b430a23e125588bd" + }, + "LongTermFuelTrim1": { + "datatype": "float", + "description": "PID 07 - Long Term (learned) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "1c203b11667150f0b4ee1be26a60c084" + }, + "LongTermFuelTrim2": { + "datatype": "float", + "description": "PID 09 - Long Term (learned) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "b02aff2efce05632b5694a256e5b9ec7" + }, + "LongTermO2Trim1": { + "datatype": "float", + "description": "PID 56 (byte A) - Long term secondary O2 trim - Bank 1", + "type": "sensor", + "unit": "percent", + "uuid": "9a9586e29a02567e9920cb9b0aa2e3f5" + }, + "LongTermO2Trim2": { + "datatype": "float", + "description": "PID 58 (byte A) - Long term secondary O2 trim - Bank 2", + "type": "sensor", + "unit": "percent", + "uuid": "e579f6c930605b389e8ce2d7edd92999" + }, + "LongTermO2Trim3": { + "datatype": "float", + "description": "PID 56 (byte B) - Long term secondary O2 trim - Bank 3", + "type": "sensor", + "unit": "percent", + "uuid": "50ea51ad343a5e59b1d214053e522a45" + }, + "LongTermO2Trim4": { + "datatype": "float", + "description": "PID 58 (byte B) - Long term secondary O2 trim - Bank 4", + "type": "sensor", + "unit": "percent", + "uuid": "f9c20edd12f456e5ace21581cea484bd" + }, + "MAF": { + "datatype": "float", + "description": "PID 10 - Grams of air drawn into engine per second", + "type": "sensor", + "unit": "g/s", + "uuid": "f3acdf89fb865313883d5d3126f15518" + }, + "MAP": { + "datatype": "float", + "description": "PID 0B - Intake manifold pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "335991b1b53f56f097fea7b05d4db83b" + }, + "MaxMAF": { + "datatype": "float", + "description": "PID 50 - Maximum flow for mass air flow sensor", + "type": "sensor", + "unit": "g/s", + "uuid": "e21826479f715ee7afe8dc485f109b11" + }, + "O2": { + "children": { + "Sensor1": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "ee366d40132456c0bce8cac3a837f16a" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "e95f4ea667265ee3a68ab57b86ecbf66" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "3aa8859203d4545083196a9690d72627" + }, + "Sensor2": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "92e6e172777457a9866ca045d0d79853" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "5f1781bde96b53ce9b810a5a56b7c8ed" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "efcb337cf94056c8a724e76bcfee6765" + }, + "Sensor3": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "66c300d35eb85e7387dc42528cca48d9" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "a86a1986f0fe5d25b6c438a00438ff60" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "b8c145402b7a5cffaa2699ed61b056fa" + }, + "Sensor4": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "b71dcf9d850c5d5686f14ad46cd2cae3" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "772cbfab91be59f7bbf3ec4140ffbcc4" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "853945bce86c5c4f95081075ae32261c" + }, + "Sensor5": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "7604de26198b51e28a441f79b1d84242" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "155a0816093b5aee8012ed2a8d532b7f" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "f48c76c9c7ec5ddcb6838ced0bd7517b" + }, + "Sensor6": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "2fb034769cab5089986d90bf7f9000ca" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "85430592fb795e848d7bb91e6b9f1e00" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "5269c1877ded507b87d7d1d7bec10605" + }, + "Sensor7": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "81f34b16b5e05d1ab159de9474eaf5bc" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "23984a68e63f532bab18679e1174130d" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "4b565102e4a052aa8aa64f27dc678ce3" + }, + "Sensor8": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "1699eb2267615e258259e480be0fa606" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "23e057b3629a5136bb585638725fe0a2" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "d5eef24c35f1561982127404b50ece11" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "31f007df72af50f0925d2b4647682a4d" + }, + "O2WR": { + "children": { + "Sensor1": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "bb4c70d9d2ae56c8a9a3be446db6f54c" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "b809083454a5516f995477c59bf4d3c6" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "396251cbfa5a57ffb1dd743298dfcdf9" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "496074cec04a5260b60fd39bb7ed1479" + }, + "Sensor2": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "442ab33180ca5028a37a487056ba4a51" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "ce55aed0e8705a49970566db71ebcf90" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "a784675c3b765d42ad023d8ee412be26" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "079f9960f75d5f399df7ff86fcea8f0c" + }, + "Sensor3": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "c942468e349e5aaebde4d90ee0bc3814" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "f2ae7c781b0a5dcf8db91558e3cf4c13" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "a78f7621a3f75df2adc1dc940219834a" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "a8a83d3e33f9584b824088e830bcbaec" + }, + "Sensor4": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "f16b31fde63a516db04cb44feaa7c27b" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "be09013f423c588eae9c06da9ddf290f" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "abeca90ba22d5c32a34ee907cedf3192" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "bb67047ddad158ba98876a6a87d02e97" + }, + "Sensor5": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "40494cb5826554929f5ecadd5b9173fd" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "16a957200f5c51f89824bbb76a23b9c0" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "699c4db2439f51af8465e823687018b8" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "01c4160d39af5db59c66db844646195e" + }, + "Sensor6": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "06a38b6b4784545bb637279e96d48eb5" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "fdae9bb9a3a45b4680450f0347cf6d66" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "304c181c76d55c3abe75382a935c7bde" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "cff12c30bde957798daaa3a91758b48b" + }, + "Sensor7": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "6ed46315325d540eb95c86ec61eef8e4" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "9221a5289157538b9dcaa0d961c335fa" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "0ad1d79dcce65c00ac48421b5b54ca0e" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "44459df1f25f5d43a07b00f2bad65ef5" + }, + "Sensor8": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "96de3c3b036c50c2978ab2aa490d4d9e" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "c56db1195fa3519ab6718ab57d2cd543" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "ab7d6c739f025782bba640e58123f0c8" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "b8865e72055d52a086f6935d5c188cc1" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "a439f2bc16575318afe20d0bc6a8cacf" + }, + "OBDStandards": { + "datatype": "uint8", + "description": "PID 1C - OBD standards this vehicle conforms to", + "type": "attribute", + "uuid": "1aa8d7d055cf5a29a31b04a12124f673" + }, + "OilTemperature": { + "datatype": "float", + "description": "PID 5C - Engine oil temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "ef3dfc11085d5077b363b1a4e8e4a84e" + }, + "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", + "type": "sensor", + "uuid": "0a9ba3f0a9b256d78bafd62ee8ce73cd" + }, + "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]", + "type": "sensor", + "uuid": "41d3377813d651aa9b9344ba9fd2f880" + }, + "PidsA": { + "datatype": "uint32", + "description": "PID 00 - Bit array of the supported pids 01 to 20", + "type": "sensor", + "uuid": "ba1c1b9034955d2d97249c3b4516beef" + }, + "PidsB": { + "datatype": "uint32", + "description": "PID 20 - Bit array of the supported pids 21 to 40", + "type": "sensor", + "uuid": "00193c560a0a5525baa45681e07b50f6" + }, + "PidsC": { + "datatype": "uint32", + "description": "PID 40 - Bit array of the supported pids 41 to 60", + "type": "sensor", + "uuid": "7c3a3f0ecc5d593aa996892668afe4b0" + }, + "RelativeAcceleratorPosition": { + "datatype": "float", + "description": "PID 5A - Relative accelerator pedal position", + "type": "sensor", + "unit": "percent", + "uuid": "e25de9aacad3549285b4fb234f10be8f" + }, + "RelativeThrottlePosition": { + "datatype": "float", + "description": "PID 45 - Relative throttle position", + "type": "sensor", + "unit": "percent", + "uuid": "54ecf7dd671c5053aac4bc1bb061d64b" + }, + "RunTime": { + "datatype": "float", + "description": "PID 1F - Engine run time", + "type": "sensor", + "unit": "s", + "uuid": "acf70773752256d1a227ab48257624b5" + }, + "RunTimeMIL": { + "datatype": "float", + "description": "PID 4D - Run time with MIL on", + "type": "sensor", + "unit": "min", + "uuid": "555604a484535f60adf8894a6bd895b6" + }, + "ShortTermFuelTrim1": { + "datatype": "float", + "description": "PID 06 - Short Term (immediate) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "569c983874335fb392d4e82a002654cb" + }, + "ShortTermFuelTrim2": { + "datatype": "float", + "description": "PID 08 - Short Term (immediate) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "53a39620773a523a8182169027169ec2" + }, + "ShortTermO2Trim1": { + "datatype": "float", + "description": "PID 55 (byte A) - Short term secondary O2 trim - Bank 1", + "type": "sensor", + "unit": "percent", + "uuid": "be7ed33a854557ba802da0c51f9f4564" + }, + "ShortTermO2Trim2": { + "datatype": "float", + "description": "PID 57 (byte A) - Short term secondary O2 trim - Bank 2", + "type": "sensor", + "unit": "percent", + "uuid": "c8b962f8990e51d294621408ceaa21d9" + }, + "ShortTermO2Trim3": { + "datatype": "float", + "description": "PID 55 (byte B) - Short term secondary O2 trim - Bank 3", + "type": "sensor", + "unit": "percent", + "uuid": "af58212df970568b9edcc5e58fa36f8d" + }, + "ShortTermO2Trim4": { + "datatype": "float", + "description": "PID 57 (byte B) - Short term secondary O2 trim - Bank 4", + "type": "sensor", + "unit": "percent", + "uuid": "8ef0516c0c965fd6aecbacd6b9120a5b" + }, + "Speed": { + "datatype": "float", + "description": "PID 0D - Vehicle speed", + "type": "sensor", + "unit": "km/h", + "uuid": "91ed0bb43eb054759813cd784b071764" + }, + "Status": { + "children": { + "DTCCount": { + "datatype": "uint8", + "description": "Number of sensor Trouble Codes (DTC)", + "type": "sensor", + "uuid": "4afdf65e788c5f69baf682597e69fb67" + }, + "IgnitionType": { + "datatype": "string", + "description": "Type of the ignition for ICE - spark = spark plug ignition, compression = self-igniting (Diesel engines)", + "enum": [ + "spark", + "compression" + ], + "type": "sensor", + "uuid": "7ffd71caac8e5bd18f93366afdfe534d" + }, + "MIL": { + "datatype": "boolean", + "description": "Malfunction Indicator Light (MIL) False = Off, True = On", + "type": "sensor", + "uuid": "5cfe08ba057c56b18ea55978d33f2390" + } + }, + "description": "PID 01 - OBD status", + "type": "branch", + "uuid": "474f58e593ee5bfebbb9c6ce4a453f96" + }, + "ThrottleActuator": { + "datatype": "float", + "description": "PID 4C - Commanded throttle actuator", + "type": "sensor", + "unit": "percent", + "uuid": "49a19905a1005ee3abe0c0a84d7112d1" + }, + "ThrottlePosition": { + "datatype": "float", + "description": "PID 11 - Throttle position - 0 = closed throttle, 100 = open throttle", + "type": "sensor", + "unit": "percent", + "uuid": "ec1d372020205bb4a846a014b33801e1" + }, + "ThrottlePositionB": { + "datatype": "float", + "description": "PID 47 - Absolute throttle position B", + "type": "sensor", + "unit": "percent", + "uuid": "701712a565ed5bf8b6630487a7152c87" + }, + "ThrottlePositionC": { + "datatype": "float", + "description": "PID 48 - Absolute throttle position C", + "type": "sensor", + "unit": "percent", + "uuid": "06f162dc00a85f628f9d5d1bc952665c" + }, + "TimeSinceDTCCleared": { + "datatype": "float", + "description": "PID 4E - Time since trouble codes cleared", + "type": "sensor", + "unit": "min", + "uuid": "66ea3984a2585dcdaaf6452eef835c0d" + }, + "TimingAdvance": { + "datatype": "float", + "description": "PID 0E - Time advance", + "type": "sensor", + "unit": "degrees", + "uuid": "35533b7e327d5f839b17c932b630767c" + }, + "WarmupsSinceDTCClear": { + "datatype": "uint8", + "description": "PID 30 - Number of warm-ups since codes cleared", + "type": "sensor", + "uuid": "a63ba60721785fc591e3dd067c4dc2ae" + } + }, + "description": "OBD data.", + "type": "branch", + "uuid": "7ad7c512ed5d52c8b31944d2d47a4bc3" + }, + "Powertrain": { + "children": { + "AccumulatedBrakingEnergy": { + "datatype": "float", + "description": "The accumulated energy from regenerative braking over lifetime.", + "type": "sensor", + "unit": "kWh", + "uuid": "0dd466d28d3d5ad094f2015adafb91a5" + }, + "Battery": { + "children": { + "AccumulatedChargedEnergy": { + "datatype": "float", + "description": "The accumulated energy delivered to the battery during charging over lifetime.", + "type": "sensor", + "unit": "kWh", + "uuid": "d2abf26b03f5519d878a7f4b5891519b" + }, + "AccumulatedConsumedEnergy": { + "datatype": "float", + "description": "The accumulated energy leaving HV battery for propulsion and auxiliary loads over lifetime.", + "type": "sensor", + "unit": "kWh", + "uuid": "c96530e0b22c56779cea2645823e87be" + }, + "Charging": { + "children": { + "ChargeCurrent": { + "datatype": "float", + "description": "Current charging current.", + "type": "sensor", + "unit": "A", + "uuid": "a98b14e0d52d51a09d74c85d599738ea" + }, + "ChargeLimit": { + "datatype": "uint8", + "description": "Maximum charge level for battery, can potentially be set manually.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "6a44522726625d42b0fbdf3f36fb1c87" + }, + "ChargePlugStatus": { + "datatype": "boolean", + "description": "Signal indicating if charge plug is connected or not.", + "type": "sensor", + "uuid": "9be742dcbf2f526bb67b538fd801edc3" + }, + "ChargePlugType": { + "datatype": "string", + "default": "ccs", + "description": "Type of charge plug available on the vehicle (CSS includes Type2).", + "enum": [ + "type 1", + "type 2", + "ccs", + "chademo" + ], + "type": "attribute", + "uuid": "0c4cf2b3979456928967e73b646bda05" + }, + "ChargePortFlap": { + "datatype": "string", + "description": "Signal indicating if charge port cover is open or closed, can potentially be controlled manually.", + "enum": [ + "open", + "closed" + ], + "type": "actuator", + "uuid": "528e53ad98c1546b90bb48f24f04815a" + }, + "ChargeRate": { + "datatype": "float", + "description": "Current charging rate, as in kilometers of range added per hour.", + "type": "sensor", + "unit": "km/h", + "uuid": "382fa50af6a25d64b56979e1306f564e" + }, + "ChargeVoltage": { + "datatype": "float", + "description": "Current charging voltage.", + "type": "sensor", + "unit": "V", + "uuid": "1be74bd9d81d510b9d65cc1f83cb904e" + }, + "MaximumChargingCurrent": { + "datatype": "float", + "description": "Maximum charging current that can be accepted by the system.", + "type": "sensor", + "unit": "A", + "uuid": "36e8aee0ff4c52f5af271ef610523e88" + }, + "Mode": { + "datatype": "string", + "description": "Control of the charge process - manually initiated (plug-in event, companion app, etc), timer-based or grid-controlled (eg ISO 15118).", + "enum": [ + "manual", + "timer", + "grid" + ], + "type": "actuator", + "uuid": "d50906b9d2525e8581fc01f900c1c096" + }, + "StartStopCharging": { + "datatype": "string", + "description": "Start or stop the charging process.", + "enum": [ + "start", + "stop" + ], + "type": "actuator", + "uuid": "e754c34897b4594587b93d8e7e89e280" + }, + "Status": { + "datatype": "boolean", + "description": "State of charging process.", + "type": "sensor", + "uuid": "b772427703c05e7ba81b11424be20540" + }, + "TimeToComplete": { + "datatype": "uint32", + "description": "The time needed to complete the current charging process to the set charge limit. 0 if charging is complete, negative number if no charging process is active.", + "type": "sensor", + "unit": "s", + "uuid": "519e70bc8a985e1b984c472a1cd7d3cf" + }, + "Timer": { + "children": { + "Mode": { + "datatype": "string", + "description": "Defines whether Timer.Time is defining start- or endtime of a charging action; departuretime denotes that target time should be taken from vehicle-level desired departure-time setting.", + "enum": [ + "starttime", + "endtime", + "depaturetime" + ], + "type": "actuator", + "uuid": "af3d94c767aa5cb483d2361289c72abc" + }, + "Time": { + "datatype": "uint32", + "description": "Time value for next charging-related action (Unix timestamp, seconds).", + "type": "actuator", + "unit": "s", + "uuid": "d9cb0f458c255c33830409a3e313f781" + } + }, + "description": "Properties related to timing of battery charging sessions.", + "type": "branch", + "uuid": "4d632fd461e550b4b3af46e21e507457" + } + }, + "description": "Properties related to battery charging", + "type": "branch", + "uuid": "14b2e022987d5cf383ee6ea0c6919195" + }, + "GrossCapacity": { + "datatype": "uint16", + "description": "Gross capacity of the battery", + "type": "attribute", + "unit": "kWh", + "uuid": "7b5402cc647454b49ee019e8689d3737" + }, + "NetCapacity": { + "datatype": "uint16", + "description": "Net capacity of the battery", + "type": "attribute", + "unit": "kWh", + "uuid": "7b037dd1cab553b18a87456a3d764714" + }, + "NominalVoltage": { + "datatype": "uint16", + "description": "Nominal Voltage of the battery", + "type": "attribute", + "unit": "V", + "uuid": "77d38e4890ea55cca3798616968384ed" + }, + "Range": { + "datatype": "uint32", + "description": "Remaining range in meters using only battery.", + "type": "sensor", + "unit": "m", + "uuid": "d74254f25bd85a469d2adbec79472071" + }, + "ReferentVoltage": { + "datatype": "uint16", + "description": "Referent Voltage of the battery", + "type": "attribute", + "unit": "V", + "uuid": "bceafc8cc7a852319d5e453312cf6949" + }, + "StateOfCharge": { + "children": { + "Current": { + "datatype": "float", + "description": "Physical state of charge of the high voltage battery. This is not necessarily the state of charge being displayed to the customer.", + "max": 100.0, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "e0628947864a5c14986b2ae1487f550f" + }, + "Displayed": { + "datatype": "float", + "description": "State of charge displayed to the customer.", + "max": 100.0, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "13190cf240665e4db38780ad39051784" + }, + "Target": { + "datatype": "uint8", + "description": "Target state of charge set (eg. by customer).", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "864039c9295a50f9b7087e3fa8c5ce28" + } + }, + "description": "Information on the state of charge of the vehicle's high voltage battery.", + "type": "branch", + "uuid": "74249091cd7653078b6c1e87ac6fbe5b" + }, + "Temperature": { + "datatype": "float", + "description": "Temperature of the battery pack", + "type": "sensor", + "unit": "celsius", + "uuid": "2b9d90f1d87c57dcbbd6a72807f8d412" + } + }, + "description": "Battery Management data.", + "type": "branch", + "uuid": "3e92d75e0cbc5765a459308f71873ae0" + }, + "CombustionEngine": { + "children": { + "AspirationType": { + "datatype": "string", + "default": "unknown", + "description": "Type of aspiration (natural, turbocharger, supercharger etc).", + "enum": [ + "unknown", + "natural", + "supercharger", + "turbocharger" + ], + "type": "attribute", + "uuid": "3ca6a8ff30275c20a9d8d6d6829574eb" + }, + "Bore": { + "datatype": "float", + "description": "Bore in millimetres.", + "type": "attribute", + "unit": "mm", + "uuid": "1618fb16035b5464961570cc1afd934e" + }, + "CompressionRatio": { + "datatype": "string", + "description": "Engine compression ratio.", + "type": "attribute", + "uuid": "ead42922511051a0a0a1b634781f3c09" + }, + "Configuration": { + "datatype": "string", + "default": "unknown", + "description": "Engine configuration.", + "enum": [ + "unknown", + "straight", + "V", + "boxer", + "W", + "rotary", + "radial", + "square", + "H", + "U", + "opposed", + "X" + ], + "type": "attribute", + "uuid": "586be4567fe059ee9e6cf42901c2e773" + }, + "DieselParticulateFilter": { + "children": { + "DeltaPressure": { + "datatype": "float", + "description": "Delta Pressure of Diesel Particulate Filter.", + "type": "sensor", + "unit": "Pa", + "uuid": "a6f476775c60531b93acb835e0bc6ab6" + }, + "InletTemperature": { + "datatype": "float", + "description": "Inlet temperature of Diesel Particulate Filter.", + "type": "sensor", + "unit": "celsius", + "uuid": "70e90d202d3054bd967e67dce95c8ef2" + }, + "OutletTemperature": { + "datatype": "float", + "description": "Outlet temperature of Diesel Particulate Filter.", + "type": "sensor", + "unit": "celsius", + "uuid": "e2b7f9d97bec5c0d94ade71a5e2f6518" + } + }, + "description": "Diesel Particulate Filter signals", + "type": "branch", + "uuid": "eeddd99ad6475b1a92b9ec7bd7cefdbd" + }, + "Displacement": { + "datatype": "uint16", + "description": "Displacement in cubic centimetres.", + "type": "attribute", + "unit": "cm^3", + "uuid": "94dbd928847150ab842c00fa5caaf272" + }, + "Engine": { + "children": { + "ECT": { + "datatype": "int16", + "description": "Engine coolant temperature.", + "max": 200, + "min": -50, + "type": "sensor", + "unit": "celsius", + "uuid": "de032ac3cc2858f2a1ef0a4b6f945098" + }, + "EOP": { + "datatype": "int16", + "description": "Engine oil pressure.", + "max": 1000, + "min": 0, + "type": "sensor", + "unit": "kPa", + "uuid": "054dacf5e59a5688981834690c5d449e" + }, + "EOT": { + "datatype": "int16", + "description": "Engine oil temperature.", + "max": 300, + "min": -50, + "type": "sensor", + "unit": "celsius", + "uuid": "7fcbd0abd829530ca022e69a224f1845" + }, + "MAF": { + "datatype": "int16", + "description": "Grams of air drawn into engine per second.", + "max": 3000, + "min": 0, + "type": "sensor", + "unit": "g/s", + "uuid": "944823218c565afa86adc3ebdf8b77c5" + }, + "MAP": { + "datatype": "int16", + "description": "Manifold air pressure possibly boosted using forced induction.", + "max": 1000, + "min": 0, + "type": "sensor", + "unit": "kPa", + "uuid": "6269b87f545f5466a0c5ba13432810da" + }, + "Power": { + "datatype": "int16", + "description": "Current engine power output.", + "max": 2000, + "min": 0, + "type": "sensor", + "unit": "kW", + "uuid": "6de515320e3257c7842923c88d11a09f" + }, + "Speed": { + "datatype": "uint16", + "description": "Engine speed measured as rotations per minute.", + "max": 20000, + "min": 0, + "type": "sensor", + "unit": "rpm", + "uuid": "c145005246125d1eb6531052f46eec94" + }, + "TPS": { + "datatype": "int8", + "description": "Current throttle position.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "5ab79d75e2af52dda3d61f3a2bf41462" + }, + "Torque": { + "datatype": "int16", + "description": "Current engine torque.", + "max": 3000, + "min": 0, + "type": "sensor", + "unit": "Nm", + "uuid": "b0295cd26bfc586ca3a42f9296a26ceb" + } + }, + "description": "Engine signals", + "type": "branch", + "uuid": "96a96cd4f18b519eb4b00566b4e6308f" + }, + "EngineCoolantCapacity": { + "datatype": "float", + "description": "Engine coolant capacity in liters.", + "type": "attribute", + "unit": "l", + "uuid": "90b5b64808ea5f4fa2798d96143b0d60" + }, + "EngineOilCapacity": { + "datatype": "float", + "description": "Engine oil capacity in liters.", + "type": "attribute", + "unit": "l", + "uuid": "2ca7af6facb55a13885989faa9bc6ca7" + }, + "EngineOilLevel": { + "datatype": "string", + "description": "Vehicle oil level.", + "enum": [ + "critically_low", + "low", + "normal", + "high", + "critically_high" + ], + "type": "attribute", + "uuid": "e3813f59e94b509eb865fd97255a8a4f" + }, + "FuelType": { + "datatype": "string", + "default": "unknown", + "description": "Type of fuel that the engine runs on.", + "enum": [ + "unknown", + "gasoline", + "diesel", + "E85", + "CNG" + ], + "type": "attribute", + "uuid": "d0f8c79131c850bab8159eaefc7e23e5" + }, + "MaxPower": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in kilowatts, that engine can generate.", + "type": "attribute", + "unit": "kW", + "uuid": "81fbdd5e90f557a38b96578a38dc137d" + }, + "MaxTorque": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in newton meter, that the engine can generate.", + "type": "attribute", + "unit": "Nm", + "uuid": "471cd478c1e8597f8e97c85b4e4ebe26" + }, + "NumberOfCylinders": { + "datatype": "uint16", + "description": "Number of cylinders.", + "type": "attribute", + "uuid": "b2cd342c218257e88d214cdb511df82b" + }, + "NumberOfValvesPerCylinder": { + "datatype": "uint16", + "description": "Number of valves per cylinder.", + "type": "attribute", + "uuid": "44633204726e561ca21beff31f3fef80" + }, + "OilLifeRemaining": { + "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" + }, + "StrokeLength": { + "datatype": "float", + "description": "Stroke length in millimetres.", + "type": "attribute", + "unit": "mm", + "uuid": "1bdfdab7904d51ed93e101b84ea54ddf" + } + }, + "description": "Engine-specific data, stopping at the bell housing.", + "type": "branch", + "uuid": "159e2e3e75f0590f95b4d2f6cfae54b5" + }, + "ElectricMotor": { + "children": { + "MaxPower": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in kilowatts, that motor(s) can generate.", + "type": "attribute", + "unit": "kW", + "uuid": "825ec7911ee958abb199b9f7903df3a6" + }, + "MaxRegenPower": { + "datatype": "uint16", + "default": 0, + "description": "Peak regen/brake power, in kilowatts, that motor(s) can generate.", + "type": "attribute", + "unit": "kW", + "uuid": "7f2cb2650ba95485b7156ffe76e27366" + }, + "MaxRegenTorque": { + "datatype": "uint16", + "default": 0, + "description": "Peak regen/brake torque, in newton meter, that the motor(s) can generate.", + "type": "attribute", + "unit": "Nm", + "uuid": "0e5190c2517b55aa80fcb9bf698e02d6" + }, + "MaxTorque": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in newton meter, that the motor(s) can generate.", + "type": "attribute", + "unit": "Nm", + "uuid": "cf31eabcde5151f589e9b0f7a6090512" + }, + "Motor": { + "children": { + "CoolantTemperature": { + "datatype": "int16", + "description": "Motor coolant temperature (if applicable).", + "max": 200, + "min": -50, + "type": "sensor", + "unit": "celsius", + "uuid": "ff978ffe8e615fada4b6423d5ba25e25" + }, + "Power": { + "datatype": "int16", + "description": "Current motor power output. Negative values indicate regen mode.", + "max": 2000, + "min": -2000, + "type": "sensor", + "unit": "kW", + "uuid": "630a478781b95ad8b012ce52f745f3e8" + }, + "Rpm": { + "datatype": "int32", + "description": "Motor rotational speed measured as rotations per minute. Negative values indicate reverse driving mode.", + "max": 100000, + "min": -100000, + "type": "sensor", + "unit": "rpm", + "uuid": "96259c99dc105266bbe7aba70e16f1ef" + }, + "Temperature": { + "datatype": "int16", + "description": "Motor temperature.", + "max": 200, + "min": -50, + "type": "sensor", + "unit": "celsius", + "uuid": "6ae826db62d552c5b9fe2701f5655455" + }, + "Torque": { + "datatype": "int16", + "description": "Current motor torque. Negative values indicate regen mode.", + "max": 5000, + "min": -5000, + "type": "sensor", + "unit": "Nm", + "uuid": "0d07c1c502a1557a91b4ed564e024a19" + } + }, + "description": "motor signals", + "type": "branch", + "uuid": "af1521cbe56b599fa9fff8c6171e645c" + } + }, + "description": "Electric Motor specific data.", + "type": "branch", + "uuid": "1ade64f6b0d05f6c9340e7a667555ae2" + }, + "FuelCell": { + "children": {}, + "description": "Fuel Cell data.", + "type": "branch", + "uuid": "63a881bcc20b5666b97d1c0575f2d484" + }, + "FuelSystem": { + "children": { + "AverageConsumption": { + "datatype": "float", + "description": "Average consumption in liters per 100 km.", + "min": 0, + "type": "sensor", + "unit": "l/100km", + "uuid": "e2252108125a54dcab34e1bad0fe8bdc" + }, + "ConsumptionSinceStart": { + "datatype": "float", + "description": "Fuel amount in liters consumed since start of current trip.", + "type": "sensor", + "unit": "l", + "uuid": "adf0a40964ff556f92b10275ad918883" + }, + "EngineStopStartEnabled": { + "datatype": "boolean", + "description": "Indicates whether eco start stop is currently enabled", + "type": "sensor", + "uuid": "901f8977c24855fd95aa8e4cf166d3e9" + }, + "FuelType": { + "datatype": "string", + "default": "unknown", + "description": "Defines the fuel type of the vehicle", + "enum": [ + "unknown", + "gasoline", + "diesel", + "electric", + "hybrid", + "E85", + "CNG", + "LPG" + ], + "type": "attribute", + "uuid": "76442e696df5540b8b747373b29895d9" + }, + "HybridType": { + "datatype": "string", + "default": "unknown", + "description": "Defines the hybrid type of the vehicle", + "enum": [ + "unknown", + "not_applicable", + "stop_start", + "belt_ISG", + "CIMG", + "PHEV" + ], + "type": "attribute", + "uuid": "f0f72012f5e453c1935ff8c3a5aff696" + }, + "InstantConsumption": { + "datatype": "float", + "description": "Current consumption in liters per 100 km.", + "min": 0, + "type": "sensor", + "unit": "l/100km", + "uuid": "cf65767ec8ad56ffadfdccd831e4b562" + }, + "Level": { + "datatype": "uint8", + "description": "Level in fuel tank as percent of capacity. 0 = empty. 100 = full.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "902bd295a662573088291e8b6a6b7943" + }, + "LowFuelLevel": { + "datatype": "boolean", + "description": "Indicates that the fuel level is low (e.g. <50km range)", + "type": "sensor", + "uuid": "7f5fd2d9ca465d80af8e4bc0f8901b3b" + }, + "Range": { + "datatype": "uint32", + "description": "Remaining range in meters using only liquid fuel.", + "type": "sensor", + "unit": "m", + "uuid": "c5a0dbe5e754553897f0aed0069af57a" + }, + "TankCapacity": { + "datatype": "float", + "description": "Capacity of the fuel tank in liters", + "type": "attribute", + "unit": "l", + "uuid": "362643b866c55d5386fdbdf383464e90" + }, + "TimeSinceStart": { + "datatype": "uint32", + "description": "Time in seconds elapsed since start of current trip.", + "type": "sensor", + "unit": "s", + "uuid": "1a8dbc5107b3522fad852e63aa85aef9" + } + }, + "description": "Fuel system data.", + "type": "branch", + "uuid": "dbc194a7f97d5a56bc8942c17c2db22e" + }, + "Range": { + "datatype": "uint32", + "description": "Remaining range in meters using all energy sources available in the vehicle.", + "type": "sensor", + "unit": "m", + "uuid": "ea4b6de772d65d20b1fa611f997aa7b8" + }, + "Transmission": { + "children": { + "ClutchWear": { + "datatype": "uint8", + "description": "Clutch wear as a percent. 0 = no wear. 100 = worn.", + "type": "sensor", + "unit": "percent", + "uuid": "c113405ad165571a9d53ae4cf55dc929" + }, + "CurrentGear": { + "datatype": "int8", + "description": "The current gear. 0=Neutral, 1/2/..=Forward, -1/..=Reverse", + "type": "sensor", + "uuid": "cd0ba1d772565e16bff46cbd5c9361da" + }, + "DriveType": { + "datatype": "string", + "default": "unknown", + "description": "Drive type.", + "enum": [ + "unknown", + "forward wheel drive", + "rear wheel drive", + "all wheel drive" + ], + "type": "attribute", + "uuid": "0e480b76fb2d5f8bb08fb586f90ee6ae" + }, + "Gear": { + "datatype": "int8", + "deprecation": "V2.2 replaced by CurrentGear and SelectedGear", + "description": "Current gear. 0=Neutral. -1=Reverse", + "max": 16, + "min": -1, + "type": "actuator", + "uuid": "d72df16818e75f71b9fffdff8250e9b9" + }, + "GearChangeMode": { + "datatype": "string", + "description": "Is the gearbox in automatic or manual (paddle) mode.", + "enum": [ + "manual", + "automatic" + ], + "type": "actuator", + "uuid": "ff3c69378c2f598286e51f7dac13adaa" + }, + "GearCount": { + "datatype": "uint8", + "default": 0, + "description": "Number of forward gears in the transmission. -1 = CVT.", + "type": "attribute", + "uuid": "84293f40d3ed57f1a08992d97b1a9ccd" + }, + "PerformanceMode": { + "datatype": "string", + "description": "Current gearbox performance mode.", + "enum": [ + "normal", + "sport", + "economy", + "snow", + "rain" + ], + "type": "actuator", + "uuid": "6b5cfd85cb595e559503ccf993be04dd" + }, + "SelectedGear": { + "datatype": "int8", + "description": "The selected gear. 0=Neutral, 1/2/..=Forward, -1/..=Reverse, 126=Park, 127=Drive", + "type": "actuator", + "uuid": "490fd99b9d5f562eb180c19e8cef5e12" + }, + "Speed": { + "datatype": "int32", + "deprecation": "V2.1 removed because doubled with Vehicle.Speed", + "description": "Vehicle speed, as sensed by the gearbox.", + "max": 250, + "min": -250, + "type": "sensor", + "unit": "km/h", + "uuid": "080c5c7a7a8f512a858f84cd678d09cb" + }, + "Temperature": { + "datatype": "int16", + "description": "The current gearbox temperature", + "max": 200, + "min": -50, + "type": "sensor", + "unit": "celsius", + "uuid": "4f5e48c3511b5e1abff11aa7ec62dd18" + }, + "TravelledDistance": { + "datatype": "float", + "description": "Odometer reading, total distance travelled during the lifetime of the transmission.", + "type": "sensor", + "unit": "km", + "uuid": "b9dd66f20c7f5b12a046766b94dc20c1" + }, + "Type": { + "datatype": "string", + "default": "unknown", + "description": "Transmission type.", + "enum": [ + "unknown", + "sequential", + "H", + "automatic", + "DSG", + "CVT" + ], + "type": "attribute", + "uuid": "f83b9e5464d85a0288fcb32c164d3c63" + } + }, + "description": "Transmission-specific data, stopping at the drive shafts.", + "type": "branch", + "uuid": "6b71e284b63a527caa6296a66e9fdd0c" + } + }, + "description": "Powertrain data for battery management, etc.", + "type": "branch", + "uuid": "12f35ec7bd1c58d1a329565ce3d053d5" + }, + "Private": { + "children": {}, + "description": "Uncontrolled branch where non-public signals can be defined.", + "type": "branch", + "uuid": "4161866b048a5b76aa3124dec82e0260" + }, + "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" + }, + "Service": { + "children": { + "DistanceToService": { + "datatype": "float", + "description": "Remaining distance to service (of any kind). Negative values indicate service overdue.", + "type": "sensor", + "unit": "km", + "uuid": "6f4347ce149759819572c8c3a17e8d93" + }, + "ServiceDue": { + "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": "6783737332b25637a847183921e1a51d" + }, + "TimeToService": { + "datatype": "int32", + "description": "Remaining time to service (of any kind). Negative values indicate service overdue.", + "type": "sensor", + "unit": "s", + "uuid": "c968be91a5685fa9ae30b84a0f91934e" + } + }, + "description": "Service data.", + "type": "branch", + "uuid": "b6463772705b56a7a993e23601bd3d47" + }, + "Speed": { + "datatype": "float", + "description": "Vehicle speed", + "type": "sensor", + "unit": "km/h", + "uuid": "efe50798638d55fab18ab7d43cc490e9" + }, + "Trailer": { + "children": { + "Connected": { + "datatype": "boolean", + "description": "Signal indicating if trailer is connected or not.", + "type": "sensor", + "uuid": "4da109044a185685a29190dd71838df5" + } + }, + "description": "Trailer signals", + "type": "branch", + "uuid": "66206ee5c25a5817bef214c0c8ae8013" + }, + "TravelledDistance": { + "datatype": "float", + "description": "Odometer reading, total distance travelled during the lifetime of the vehicle.", + "type": "sensor", + "unit": "km", + "uuid": "90be9d7b0ac15b75a83027ea3b73b65b" + }, + "TripMeterReading": { + "datatype": "float", + "description": "Current trip meter reading", + "type": "sensor", + "unit": "km", + "uuid": "81f51ebfe29c591190171d7b96e1c948" + }, + "VehicleIdentification": { + "children": { + "ACRISSCode": { + "datatype": "string", + "description": "The ACRISS Car Classification Code is a code used by many car rental companies.", + "type": "attribute", + "uuid": "de98b9de86f359b4bd703b2e3d48f25a" + }, + "Brand": { + "datatype": "string", + "description": "Vehicle brand or manufacturer", + "type": "attribute", + "uuid": "19fd645ff5385767bcdbf5dd4313483f" + }, + "Model": { + "datatype": "string", + "description": "Vehicle model", + "type": "attribute", + "uuid": "dd3d3b72e6a85b3695ba25f829255403" + }, + "VIN": { + "datatype": "string", + "description": "17-character Vehicle Identification Number (VIN) as defined by ISO 3779", + "type": "attribute", + "uuid": "6f0b6fa8c34f589baa92e565bc9df5bd" + }, + "WMI": { + "datatype": "string", + "description": "3-character World Manufacturer Identification (WMI) as defined by ISO 3780", + "type": "attribute", + "uuid": "e7c86defbcd554a79f90ba85de58e133" + }, + "Year": { + "datatype": "uint16", + "description": "Model year of the vehicle", + "type": "attribute", + "uuid": "9a76b0aca8e45f6fb33dbaf5b976b8b5" + }, + "bodyType": { + "datatype": "string", + "description": "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.).", + "type": "attribute", + "uuid": "3f6910e6773c532e986240e3d45f623b" + }, + "dateVehicleFirstRegistered": { + "datatype": "string", + "description": "The date of the first registration of the vehicle with the respective public authorities.", + "type": "attribute", + "uuid": "a48af4a5ef28520090255ca1ea2610f1" + }, + "knownVehicleDamages": { + "datatype": "string", + "description": "A textual description of known damages, both repaired and unrepaired.", + "type": "attribute", + "uuid": "60f32d73afff58d0ac80c1c09b98dfb9" + }, + "meetsEmissionStandard": { + "datatype": "string", + "description": "Indicates that the vehicle meets the respective emission standard.", + "type": "attribute", + "uuid": "4324b78dfb865164ba91345564d88f39" + }, + "productionDate": { + "datatype": "string", + "description": "The date of production of the item, e.g. vehicle.", + "type": "attribute", + "uuid": "fc755d9de42d5286bfd6b35e4dca6bcb" + }, + "purchaseDate": { + "datatype": "string", + "description": "The date the item e.g. vehicle was purchased by the current owner.", + "type": "attribute", + "uuid": "07ac6595c60a57318b627a05775d696a" + }, + "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": "d5efd9741e5f582f8a8da0d93811347f" + }, + "vehicleModelDate": { + "datatype": "string", + "description": "The release date of a vehicle model (often used to differentiate versions of the same make and model).", + "type": "attribute", + "uuid": "8292d5c6e0b15a92b97d301b31a6f27b" + }, + "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": "0d00e8ecfccf52d9aed6abbe5938df5d" + }, + "vehicleSpecialUsage": { + "datatype": "string", + "description": "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school.", + "type": "attribute", + "uuid": "5d4264def1fd5328a45108a62a4770b1" + }, + "vehicleinteriorColor": { + "datatype": "string", + "description": "The color or color combination of the interior of the vehicle.", + "type": "attribute", + "uuid": "aea3643341d650959293617972a9405e" + }, + "vehicleinteriorType": { + "datatype": "string", + "description": "The type or material of the interior of the vehicle (e.g. synthetic fabric, leather, wood, etc.).", + "type": "attribute", + "uuid": "a2466d9fa9b05409ba53ed46660b7147" + } + }, + "description": "Attributes that identify a vehicle", + "type": "branch", + "uuid": "c33861c3e9125208b05f23fe922bf08e" + }, + "VersionVSS": { + "children": { + "Label": { + "datatype": "string", + "description": "Label to further describe the version", + "type": "attribute", + "uuid": "7c92cd50d24b5662922b27cb9a327e53" + }, + "Major": { + "datatype": "uint32", + "description": "Supported Version of VSS - Major version", + "type": "attribute", + "uuid": "5edf1a338c975cbb84d4ce3cfe1aa4b4" + }, + "Minor": { + "datatype": "uint32", + "description": "Supported Version of VSS - Minor version", + "type": "attribute", + "uuid": "6e70a598dbc7534c96c58c18e9888cfd" + }, + "Patch": { + "datatype": "uint32", + "description": "Supported Version of VSS - Patch version", + "type": "attribute", + "uuid": "69858f224af459338b9bfbff436dda45" + } + }, + "description": "Supported Version of VSS", + "type": "branch", + "uuid": "9a687e56f1305eedb20f6a021ea58f48" + }, + "Width": { + "datatype": "uint16", + "default": 0, + "description": "Overall vehicle width.", + "type": "attribute", + "unit": "mm", + "uuid": "b4aabe144e3259adb1459a2e25fec9bd" + }, + "accelerationTime": { + "datatype": "int16", + "deprecation": "V2.1 removed as ambiguous definition (start/stop-speed not defined)", + "description": "The time needed to accelerate the vehicle from a given start velocity to a given target velocity.", + "type": "attribute", + "unit": "s", + "uuid": "a0dfbb5fa9c052018addeb48d64d4c6a" + }, + "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", + "uuid": "1b7c5f7c8ac952168cd2e89b3e9cd841" + }, + "emissionsCO2": { + "datatype": "int16", + "description": "The CO2 emissions.", + "type": "attribute", + "unit": "g/km", + "uuid": "5dc70045865b5bba9260945b28f737ff" + } + }, + "description": "High-level vehicle data.", + "type": "branch", + "uuid": "ccc825f94139544dbb5f4bfd033bece6" + } +} \ No newline at end of file diff --git a/vss-processor/src/test/resources/json/vss_rel_2.2.json b/vss-processor/src/test/resources/json/vss_rel_2.2.json new file mode 100644 index 00000000..cee3b0b1 --- /dev/null +++ b/vss-processor/src/test/resources/json/vss_rel_2.2.json @@ -0,0 +1,7041 @@ +{ + "Vehicle": { + "children": { + "ADAS": { + "children": { + "ABS": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if ABS incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "cd2b0e86aa1f5021a9bb7f6bda1cbe0f" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if ABS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "433b7039199357178688197d6e264725" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "6dd21979a2225e31940dc2ece1aa9a04" + } + }, + "description": "Antilock Braking System signals", + "type": "branch", + "uuid": "219270ef27c4531f874bbda63743b330" + }, + "CruiseControl": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if cruise control system incurred and error condition. True = Error. False = NoError.", + "type": "sensor", + "uuid": "586d4d35a28956c794c7d56a9cedf544" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if cruise control system is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "78ab5ce923dc5aa1a6622bcb948e1561" + }, + "SpeedSet": { + "datatype": "float", + "description": "Set cruise control speed in kilometers per hour", + "type": "actuator", + "unit": "km/h", + "uuid": "b3f3a53ccd825e4da5cb1226f94dc005" + } + }, + "description": "Signals from Cruise Control system", + "type": "branch", + "uuid": "c4d751cf74f9576dbba3cc820991c1fb" + }, + "ESC": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if ESC incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "c3852de5d6305918b8de1fb11a1a5da5" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if ECS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "70b769baed285c3897979639d13bafd3" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if ESC is currently regulating vehicle stability. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "2088953a28385353a9d46b3a3dc11cac" + } + }, + "description": "Electronic Stability Control System signals", + "type": "branch", + "uuid": "636b4586ce7854b4b270a2f3b6c0af4f" + }, + "LaneDepartureDetection": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if lane departure system incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "92e47dedb3d354779352d83ba3de96be" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if lane departure detection system is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "ba683882dbea575b9540118aa914acd8" + }, + "Warning": { + "datatype": "boolean", + "description": "Indicates if lane departure detection registered a lane departure", + "type": "sensor", + "uuid": "06ba0445af5258d8a9c953979afb7c05" + } + }, + "description": "Signals from Land Departure Detection System", + "type": "branch", + "uuid": "e45f33fdcf245f11981b2f201ee8281a" + }, + "ObstacleDetection": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "2a68c1f1f290510097b6aac71a23f305" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if obstacle sensor system is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "7262cd48bdad59f3a0d93d9cb592d4f8" + } + }, + "description": "Signals form Obstacle Sensor System", + "type": "branch", + "uuid": "e7b6d81631cc5ac584d027d4c1a66cb5" + }, + "TCS": { + "children": { + "Error": { + "datatype": "boolean", + "description": "Indicates if TCS incurred an error condition. True = Error. False = No Error.", + "type": "sensor", + "uuid": "44910b2e5ce75a768d79a01ee3d0723f" + }, + "IsActive": { + "datatype": "boolean", + "description": "Indicates if TCS is enabled. True = Enabled. False = Disabled.", + "type": "actuator", + "uuid": "6789de7a67515e7f9bcdd18623954074" + }, + "IsEngaged": { + "datatype": "boolean", + "description": "Indicates if TCS is currently regulating traction. True = Engaged. False = Not Engaged.", + "type": "sensor", + "uuid": "b33d70009ad5589fbffe17fa7e827242" + } + }, + "description": "Traction Control System signals", + "type": "branch", + "uuid": "0572e9f6b1aa5fb5b2f68086aff05073" + } + }, + "description": "All Advanced Driver Assist Systems data.", + "type": "branch", + "uuid": "14c2b2e1297b513197d320a5ce58f42e" + }, + "Acceleration": { + "children": { + "Lateral": { + "datatype": "float", + "description": "Vehicle acceleration in Y (lateral acceleration).", + "type": "sensor", + "unit": "m/s^2", + "uuid": "7522c5d6b7665b16a099643b2700e93c" + }, + "Longitudinal": { + "datatype": "float", + "description": "Vehicle acceleration in X (longitudinal acceleration).", + "type": "sensor", + "unit": "m/s^2", + "uuid": "3d511fe7232b5841be311b37f322de5a" + }, + "Vertical": { + "datatype": "float", + "description": "Vehicle acceleration in Z (vertical acceleration).", + "type": "sensor", + "unit": "m/s^2", + "uuid": "a4a8a7c4ac5b52deb0b3ee4ed8787c59" + } + }, + "description": "Spatial acceleration", + "type": "branch", + "uuid": "6c490e6a798c5abc8f0178ed6deae0a8" + }, + "AmbientAirTemperature": { + "datatype": "float", + "description": "Ambient air temperature outside the vehicle.", + "type": "sensor", + "unit": "celsius", + "uuid": "2ffcbc2e6ea75dd991e3ae80b29a1d85" + }, + "AngularVelocity": { + "children": { + "Pitch": { + "datatype": "int16", + "description": "Vehicle rotation rate along Y (lateral).", + "type": "sensor", + "unit": "degrees/s", + "uuid": "42236f4a01f45313a97fdd9b6848ce4f" + }, + "Roll": { + "datatype": "int16", + "description": "Vehicle rotation rate along X (longitudinal).", + "type": "sensor", + "unit": "degrees/s", + "uuid": "221e6b93881e5771bcbd03e0849e0075" + }, + "Yaw": { + "datatype": "int16", + "description": "Vehicle rotation rate along Z (vertical).", + "type": "sensor", + "unit": "degrees/s", + "uuid": "4114c41552565c1f9035670cabe2a611" + } + }, + "description": "Spatial rotation", + "type": "branch", + "uuid": "1eef530a43de56aab665d2766483cde2" + }, + "AverageSpeed": { + "datatype": "float", + "description": "Average speed for the current trip", + "type": "sensor", + "unit": "km/h", + "uuid": "43a489636a665c3abb99b63174eb552b" + }, + "Body": { + "children": { + "BodyType": { + "datatype": "string", + "description": "Body type code as defined by ISO 3779", + "type": "attribute", + "uuid": "6253412513105deea63b1d424117fd88" + }, + "ChargingPort": { + "children": { + "Type": { + "datatype": "string", + "default": "unknown", + "description": "Indicates the primary charging type fitted to the vehicle", + "enum": [ + "unknown", + "Not_Fitted", + "AC_Type_1", + "AC_Type_2", + "AC_GBT", + "AC_DC_Type_1_Combo", + "AC_DC_Type_2_Combo", + "DC_GBT", + "DC_Chademo" + ], + "type": "attribute", + "uuid": "fffa718e15fb50c285fb33e99116eddc" + } + }, + "description": "Collects Information about the charging port", + "type": "branch", + "uuid": "187537d025a358db843f7e92765ff4b9" + }, + "Hood": { + "children": { + "IsOpen": { + "datatype": "boolean", + "description": "hood open or closed. True = Open. False = Closed", + "type": "actuator", + "uuid": "890aa3359e1a579288af1cf8e6b5b71f" + } + }, + "description": "Hood status", + "type": "branch", + "uuid": "84510652bf915bbe8bf5f477aab2b44a" + }, + "Horn": { + "children": { + "IsActive": { + "datatype": "boolean", + "description": "Horn active or inactive. True = Active. False = Inactive.", + "type": "actuator", + "uuid": "ba20deed9314525bb9d552a2b787fb20" + } + }, + "description": "Horn signals", + "type": "branch", + "uuid": "09c76633887f52268b960740eb969c89" + }, + "Lights": { + "children": { + "IsBackupOn": { + "datatype": "boolean", + "description": "Is backup (reverse) light on", + "type": "actuator", + "uuid": "48c0a466b59555f6bf0c01fcf7a3c42c" + }, + "IsBrakeOn": { + "datatype": "boolean", + "description": "Is brake light on", + "type": "actuator", + "uuid": "7b8b136ec8aa59cb8773aa3c455611a4" + }, + "IsFrontFogOn": { + "datatype": "boolean", + "description": "Is front fog light on", + "type": "actuator", + "uuid": "9ad70db68408503a8506d09c7c92a13f" + }, + "IsHazardOn": { + "datatype": "boolean", + "description": "Are hazards on", + "type": "actuator", + "uuid": "148eee65b2de53fab88fc261246d6639" + }, + "IsHighBeamOn": { + "datatype": "boolean", + "description": "Is high beam on", + "type": "actuator", + "uuid": "80a627e5b81356dabe557ff4102f634f" + }, + "IsLeftIndicatorOn": { + "datatype": "boolean", + "description": "Is left indicator flashing", + "type": "actuator", + "uuid": "98c6f3d400d65a6da5fef8e22c16133a" + }, + "IsLowBeamOn": { + "datatype": "boolean", + "description": "Is low beam on", + "type": "actuator", + "uuid": "917d51175b675ad89cf86e07e33b44ec" + }, + "IsParkingOn": { + "datatype": "boolean", + "description": "Is parking light on", + "type": "actuator", + "uuid": "510402bd9355529dbddc2b9724db6957" + }, + "IsRearFogOn": { + "datatype": "boolean", + "description": "Is rear fog light on", + "type": "actuator", + "uuid": "54818024ac4853d49003e8e10bd8f4f6" + }, + "IsRightIndicatorOn": { + "datatype": "boolean", + "description": "Is right indicator flashing", + "type": "actuator", + "uuid": "df301b25233e5f20b039bc9304c148d2" + }, + "IsRunningOn": { + "datatype": "boolean", + "description": "Are running lights on", + "type": "actuator", + "uuid": "cd28479b1a5c5088a52e8d9cd7f22dcf" + } + }, + "description": "All lights", + "type": "branch", + "uuid": "399d1ec14d6f55bb825e078a801bde55" + }, + "Mirrors": { + "children": { + "Left": { + "children": { + "Heating": { + "children": { + "Status": { + "datatype": "boolean", + "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", + "type": "actuator", + "uuid": "d6b66f3c465b5489a327c1a7a678ce62" + } + }, + "description": "Mirror heater signals", + "type": "branch", + "uuid": "7e9eb0fa1976523fa2162d636ec37693" + }, + "Pan": { + "datatype": "int8", + "description": "Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position.", + "type": "actuator", + "unit": "percent", + "uuid": "9dae4bc33a28531199fce500e0562f82" + }, + "Tilt": { + "datatype": "int8", + "description": "Mirror tilt as a percent. 0 = Center Position. 100 = Fully Upward Position. -100 = Fully Downward Position.", + "type": "actuator", + "unit": "percent", + "uuid": "698fee82cc115f3cba54825a298b46ab" + } + }, + "description": "All mirrors", + "type": "branch", + "uuid": "22609e45a09d58fc85cb77959a686abc" + }, + "Right": { + "children": { + "Heating": { + "children": { + "Status": { + "datatype": "boolean", + "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", + "type": "actuator", + "uuid": "3574929e068e5ecb88a90819ad2a9a8d" + } + }, + "description": "Mirror heater signals", + "type": "branch", + "uuid": "4399f515de54556085f9f71dfee16dbe" + }, + "Pan": { + "datatype": "int8", + "description": "Mirror pan as a percent. 0 = Center Position. 100 = Fully Left Position. -100 = Fully Right Position.", + "type": "actuator", + "unit": "percent", + "uuid": "26088f96804d5d7e811ba50bfb1113eb" + }, + "Tilt": { + "datatype": "int8", + "description": "Mirror tilt as a percent. 0 = Center Position. 100 = Fully Upward Position. -100 = Fully Downward Position.", + "type": "actuator", + "unit": "percent", + "uuid": "9a28a6ec824c57408881b916a1a0e32b" + } + }, + "description": "All mirrors", + "type": "branch", + "uuid": "64291c99f7e752c2b035262c17dc85dd" + } + }, + "description": "All mirrors", + "type": "branch", + "uuid": "a4ea618914885a239ef5fa62c671a800" + }, + "Raindetection": { + "children": { + "intensity": { + "datatype": "uint8", + "description": "Rain intensity. 0 = Dry, No Rain. 100 = Covered.", + "type": "sensor", + "unit": "percent", + "uuid": "02828e9e5f7b593fa2160e7b6dbad157" + } + }, + "description": "Rainsensor signals", + "type": "branch", + "uuid": "f16759f3dcfb5be4832e962da29ebd6c" + }, + "RefuelPosition": { + "datatype": "string", + "description": "Location of the fuel cap or charge port", + "enum": [ + "front_left", + "front_right", + "middle_left", + "middle_right", + "rear_left", + "rear_right" + ], + "type": "attribute", + "uuid": "53ef90a851fa57f0810d50238e852f02" + }, + "Trunk": { + "children": { + "IsLocked": { + "datatype": "boolean", + "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "d89db9a83c0955c3a049c529072d397f" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Trunk open or closed. True = Open. False = Closed", + "type": "actuator", + "uuid": "58c8eb023b4b5db794705d7ce63e2d75" + } + }, + "description": "Trunk status", + "type": "branch", + "uuid": "a584c6a5aa235cb88ac686f8d72a1dff" + }, + "Windshield": { + "children": { + "Front": { + "children": { + "Heating": { + "children": { + "Status": { + "datatype": "boolean", + "description": "Windshield heater status. 0 - off, 1 - on", + "type": "actuator", + "uuid": "3f91b8feb415579c9dc8dc82c12f63a6" + } + }, + "description": "Windshield heater signals", + "type": "branch", + "uuid": "ef705cd881885ebdbef876e8624a403a" + }, + "WasherFluid": { + "children": { + "Level": { + "datatype": "uint8", + "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "a36dfb91414f5792bd01d193dceff1f4" + }, + "LevelLow": { + "datatype": "boolean", + "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", + "type": "sensor", + "uuid": "ef1ff301178c5ef2841964b23c340151" + } + }, + "description": "Windshield washer fluid signals", + "type": "branch", + "uuid": "2de24016515353289953de5ea81efd3c" + }, + "Wiping": { + "children": { + "Status": { + "datatype": "string", + "description": "Wiper status", + "enum": [ + "off", + "slow", + "medium", + "fast", + "interval", + "rainsensor" + ], + "type": "actuator", + "uuid": "2d5509513e4b52e0a337ade730166aec" + } + }, + "description": "Windshield wiper signals", + "type": "branch", + "uuid": "2cffeccdc19a587cbe2264f426c6881a" + } + }, + "description": "Windshield signals", + "type": "branch", + "uuid": "8f0c61e4e4f557d98729210fc3c74f72" + }, + "Rear": { + "children": { + "Heating": { + "children": { + "Status": { + "datatype": "boolean", + "description": "Windshield heater status. 0 - off, 1 - on", + "type": "actuator", + "uuid": "fac9f35307f85e8186cf142f9c2aa643" + } + }, + "description": "Windshield heater signals", + "type": "branch", + "uuid": "61af3a08a6895826ae04055c25b30817" + }, + "WasherFluid": { + "children": { + "Level": { + "datatype": "uint8", + "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "c167e5b265895c108da1b9582de2dd91" + }, + "LevelLow": { + "datatype": "boolean", + "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", + "type": "sensor", + "uuid": "caf770b8607851719983831490b3403e" + } + }, + "description": "Windshield washer fluid signals", + "type": "branch", + "uuid": "1ea4ac2370e1567b9b812c1e3020ddfb" + }, + "Wiping": { + "children": { + "Status": { + "datatype": "string", + "description": "Wiper status", + "enum": [ + "off", + "slow", + "medium", + "fast", + "interval", + "rainsensor" + ], + "type": "actuator", + "uuid": "1aca19889d375a699bc3750993777b08" + } + }, + "description": "Windshield wiper signals", + "type": "branch", + "uuid": "f56e80a50fd75dbca48581aea4f012b7" + } + }, + "description": "Windshield signals", + "type": "branch", + "uuid": "095ff58459b854aaa742e56447fe7a93" + } + }, + "description": "Windshield signals", + "type": "branch", + "uuid": "73efba535dcb5032b9edc43406b050b8" + } + }, + "description": "All body components.", + "type": "branch", + "uuid": "bd2854e6a9165c5698ce8dd9f0438ecc" + }, + "Cabin": { + "children": { + "Convertible": { + "children": { + "Status": { + "datatype": "string", + "description": "Roof status on convertible vehicles", + "enum": [ + "undefined", + "closed", + "open", + "closing", + "opening", + "stalled" + ], + "type": "sensor", + "uuid": "c8812698198a56d7a1adcc8bbe87845f" + } + }, + "description": "Convertible roof", + "type": "branch", + "uuid": "2aece85d39d6569e93cf842387a645d9" + }, + "Door": { + "children": { + "Row1": { + "children": { + "Left": { + "children": { + "IsChildLockActive": { + "datatype": "boolean", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "194a1dd29e245ff8a19dee7e022bad02" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "859b44ab75de5d67a8beedff883a72d0" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "a5560fa546985678be670c13a0467545" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "a4c73477293156999f74416245d4f858" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "15c012ed31a054ecb2b9b2b1cf57e825" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "f1a8db725cfd54c5b22594c456bcb05a" + }, + "Window": { + "children": { + "ChildLock": { + "datatype": "boolean", + "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "58dbf7e3a85d55ae94750a77cf653110" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "63137367f94856acbb900a0dcdc7e495" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "e276bf971dae507f99b463f7fe574969" + }, + "isOpen": { + "datatype": "boolean", + "description": "Is window open or closed", + "type": "sensor", + "uuid": "d21b53d7aa0c5d96adeb9fdf280ba071" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "abbf75f4e6b9581db4aacda0f1e2789c" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "ee74ca8275485ea89f70931d3b3e4bed" + }, + "Right": { + "children": { + "IsChildLockActive": { + "datatype": "boolean", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "2eedf9e01c225ff39ee62a7c11395d6c" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "7e5cf60543505205922b714cee2a3246" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "055c01ebe86f507b97d15cfba82482a9" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "22944f205eb45c6f804e481b8dd783c5" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "763aea099a515fc998fde10d936b0b38" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "f8f91480eb7c59d6ad697f2f9b2f46f1" + }, + "Window": { + "children": { + "ChildLock": { + "datatype": "boolean", + "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "92daa968de5956cfaef588b9cf41d608" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "e7ef528471eb585a937664abab9fbc68" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "fcb9ede77f065479a10740324c0efdc6" + }, + "isOpen": { + "datatype": "boolean", + "description": "Is window open or closed", + "type": "sensor", + "uuid": "777ebd3cc5e35e818029bf8b95ba74d6" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "12e8cf5eb1c65954bb92f5144e2b22f9" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "f1140cf0720157a1a2ffb62745a82916" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "fd3fcb481cb953dc9a853125c6ca0453" + }, + "Row2": { + "children": { + "Left": { + "children": { + "IsChildLockActive": { + "datatype": "boolean", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "1c08760700ca5814a62bac4e64628f8e" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "5fb9d9707cd85925ab6658d90f044b45" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "0143c6028c355f29ae5b3ee2d31869a8" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "33d7bdce5c915c3ea9633851f4f79cfb" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "41f6f14bbb595dcf8e51d1696e877114" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "beed1cdec4fb502390041087feaaa1bd" + }, + "Window": { + "children": { + "ChildLock": { + "datatype": "boolean", + "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "78aec9d9dfbb53a38b1b06f6ebb6f48c" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "6eeda05cd5d357958a0b0649b1b406f8" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "1a5d1c57f46e576a8a94853e2a44d3f8" + }, + "isOpen": { + "datatype": "boolean", + "description": "Is window open or closed", + "type": "sensor", + "uuid": "d2aea63f1e145bcaaa2cfb016972db92" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "424d04d0ae8351af8c7115b131f1fe2e" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "20c6ae3bdb9b5fc8b8098d87f06c9069" + }, + "Right": { + "children": { + "IsChildLockActive": { + "datatype": "boolean", + "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "c3747fdce0835d9abf8030917f3a6d3c" + }, + "IsLocked": { + "datatype": "boolean", + "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", + "type": "actuator", + "uuid": "51e82637cc1a5c6994e1928402a29419" + }, + "IsOpen": { + "datatype": "boolean", + "description": "Is door open or closed", + "type": "actuator", + "uuid": "06f3b61e354f5db7b5b0e7f551fac582" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "fa705739512a54e9a103ff356be14df7" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "5b94a0c4e30a575c93942f0566be8be7" + } + }, + "description": "Side window shade", + "type": "branch", + "uuid": "092479bc8da55730827f3365828c89b2" + }, + "Window": { + "children": { + "ChildLock": { + "datatype": "boolean", + "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", + "type": "sensor", + "uuid": "f8b7ee44a4bd51fa9de1916382a0ba5b" + }, + "Position": { + "datatype": "uint8", + "description": "Window position. 0 = Fully closed 100 = Fully opened.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "f6323b78eecc58e5a9bc5d66f2548ce3" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "364c0a712fa854b4b1b332eae1be179b" + }, + "isOpen": { + "datatype": "boolean", + "description": "Is window open or closed", + "type": "sensor", + "uuid": "d7ac920fde8052a4910fe37d5e1c7e4a" + } + }, + "description": "Door window status", + "type": "branch", + "uuid": "18950f3ff3a1598585a603c4224ad7bd" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "e40a30e4838f5aaa970888d2865bc19e" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "74c8a76ad2545ceba474a85ae84eec8e" + } + }, + "description": "All doors, including windows and switches", + "type": "branch", + "uuid": "fd7f4d16f8965419a9a69fd66b40c1d7" + }, + "DoorCount": { + "datatype": "uint8", + "default": 4, + "description": "Number of doors in vehicle", + "type": "attribute", + "uuid": "c293fbef75725c57a9918dd5a34055c4" + }, + "DriverPosition": { + "datatype": "uint8", + "default": 1, + "description": "The position of the driver seat in row 1.", + "type": "attribute", + "uuid": "bca9ccd50358584d8d20865694b0d15f" + }, + "HVAC": { + "children": { + "AmbientAirTemperature": { + "datatype": "float", + "description": "Ambient air temperature inside the vehicle.", + "type": "sensor", + "unit": "celsius", + "uuid": "611868a24bc25eb9a837208c235e9491" + }, + "IsAirConditioningActive": { + "datatype": "boolean", + "description": "Is Air conditioning active.", + "type": "actuator", + "uuid": "dc4f79e4211c54a6b4eed0236aae84a6" + }, + "IsFrontDefrosterActive": { + "datatype": "boolean", + "description": "Is front defroster active.", + "type": "actuator", + "uuid": "afa678c87182544bb6ab81fa6a770791" + }, + "IsRearDefrosterActive": { + "datatype": "boolean", + "description": "Is rear defroster active.", + "type": "actuator", + "uuid": "d342a7939f2e5adeaeb5e68e3a314445" + }, + "IsRecirculationActive": { + "datatype": "boolean", + "description": "Is recirculation active.", + "type": "actuator", + "uuid": "7b80c41c63b35c9299a410166cd33c81" + }, + "Station": { + "children": { + "Row1": { + "children": { + "Left": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "33ca2e1ed1b1533b8e1309320074c07b" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "483bcf787a715f10a1c936464fcb18a2" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "347c13ff2a735d54a5f011d4573694cd" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "7cc0977f55f15f2c884e19a25d07a8b4" + }, + "Right": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "00e25d807a755c4cb978a40ebfc0e8d0" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "4b15871631c35ca583a1fc64524676ef" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "592dc63c45145f739edbc5677196eb85" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "84b84df901075e8a8ac4837fe4af6a8e" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "80860491fba75babaf3c439d1d471a6d" + }, + "Row2": { + "children": { + "Left": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "3c22cd8ac56b59978927fc815ee79104" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "3eb6e8979cb25efe9f33bc89c6b9e364" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "7185fb43728f53f3960e1284b89a6f66" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "48fcecce8d925121b116ed3ecc3157bb" + }, + "Right": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "10d42dd4337450e2af1c0dd2c9dcb3a7" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "b83d6d979cbc5507b1c43e988024c0af" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "c6822e4c0eae59cab832057bac327c67" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "028e4f674c725c009af8eaf77a79d9e7" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "d98e8f5f94da5acfbf428c635a8bcc0c" + }, + "Row3": { + "children": { + "Left": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "f1e2dc36082b5980920c5fe3ee875659" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "13170d23934e5a4ab97174ddee4dc180" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "b12b9565bd4e5c8e974ac0ff97223af4" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "e4d100e0bcb75fedb4ab0761d92bcf0e" + }, + "Right": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "1b6c21042e3b5ac9ae351f807722795a" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "9d5312c0ccc15f578b2c5e5512d34cb3" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "a76ea2c628df5099b0dca839aac84e63" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "a14449b5c1345feb90c2e4fbefd4ecef" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "6eb8d63b66c859d5b36ef52d264aed2b" + }, + "Row4": { + "children": { + "Left": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "ee591723296a580ea4ce9fc6ddbb5cf5" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "afd89e90044e5d5fa99e9c627742adb0" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "accc4bb43c775735843e87b545af08b2" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "4adb4059a21757bdabd902998ffb7da5" + }, + "Right": { + "children": { + "AirDistribution": { + "datatype": "string", + "description": "Direction of airstream", + "enum": [ + "up", + "middle", + "down" + ], + "type": "actuator", + "uuid": "7d8b7cbfe68156d4a190a0a7525ee26c" + }, + "FanSpeed": { + "datatype": "uint8", + "description": "Fan Speed, 0 = off. 100 = max", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "b3cc73b02e5c5254b691373caacd7d21" + }, + "Temperature": { + "datatype": "int8", + "description": "Temperature", + "max": 50, + "min": -50, + "type": "actuator", + "unit": "celsius", + "uuid": "49c59496aa7356cf86c275a0eb93ba28" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "b4bf2c99c2af580cbb92e0bbd0a40730" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "ff0c0fa26de7508dbe92a83bc087dff6" + } + }, + "description": "HVAC for single station in the vehicle", + "type": "branch", + "uuid": "253e683e6f135b83b6302a30b6c0ec8d" + } + }, + "description": "Climate control", + "type": "branch", + "uuid": "f8ff34337cdf568e91ab406a365c3249" + }, + "Infotainment": { + "children": { + "HMI": { + "children": { + "CurrentLanguage": { + "datatype": "string", + "description": "ISO 639-1 standard language code for the current HMI", + "type": "sensor", + "uuid": "dc29ee5b7f7154b4ab05a9771fe930b3" + }, + "DateFormat": { + "datatype": "string", + "description": "Date format used in the current HMI", + "enum": [ + "YYYY MM DD", + "DD MM YYYY", + "MM DD YYYY", + "YY MM DD", + "DD MM YY", + "MM DD YY" + ], + "type": "actuator", + "uuid": "0f03c3955fe953e9893a1f52e964919e" + }, + "DayNightMode": { + "datatype": "string", + "description": "Current display theme", + "enum": [ + "Day", + "Night" + ], + "type": "actuator", + "uuid": "a892039ba136588fa26b2670f839c0cc" + }, + "DistanceUnit": { + "datatype": "string", + "description": "Distance unit used in the current HMI", + "enum": [ + "mi", + "km" + ], + "type": "actuator", + "uuid": "4b40e8bdb1a053ee9ee35338d8804e7b" + }, + "EVEconomyUnits": { + "datatype": "string", + "description": "EV fuel economy unit used in the current HMI", + "enum": [ + "mi/kWh", + "km/kWh", + "kWh/100mi", + "kWh/100km", + "Wh/mi", + "Wh/km" + ], + "type": "actuator", + "uuid": "914846f6804757ba81ca6bcfac8d2c48" + }, + "FuelEconomyUnits": { + "datatype": "string", + "description": "Fuel economy unit used in the current HMI", + "enum": [ + "mpg_UK", + "mpg_US", + "mpl", + "km/l", + "l/100km" + ], + "type": "actuator", + "uuid": "0e6a43ce1aa45243b753545ffa1f0f8c" + }, + "TemperatureUnit": { + "datatype": "string", + "description": "Temperature unit used in the current HMI", + "enum": [ + "C", + "F" + ], + "type": "actuator", + "uuid": "a7d1533490bb52b6b4f650280e72543d" + }, + "TimeFormat": { + "datatype": "string", + "description": "Time format used in the current HMI", + "enum": [ + "12HR", + "24HR" + ], + "type": "actuator", + "uuid": "73083b87a4e25c02aee672ea32e40005" + } + }, + "description": "HMI related signals", + "type": "branch", + "uuid": "271e3d9202825f37bd054820e5ea8141" + }, + "Media": { + "children": { + "Action": { + "datatype": "string", + "description": "Tells if the media was", + "enum": [ + "unknown", + "Stop", + "Play", + "FastForward", + "FastBackward", + "SkipForward", + "SkipBackward" + ], + "type": "actuator", + "uuid": "0357aea525bf505981a14e4fc720094e" + }, + "DeclinedURI": { + "datatype": "string", + "description": "URI of suggested media that was declined", + "type": "sensor", + "uuid": "51b0d6227db55b92bc35eedd8277f4c4" + }, + "Played": { + "children": { + "Album": { + "datatype": "string", + "description": "Name of album being played", + "type": "sensor", + "uuid": "1d80b1e2c1085def92b3548b5db2786e" + }, + "Artist": { + "datatype": "string", + "description": "Name of artist being played", + "type": "sensor", + "uuid": "076af7ad8aff5110ab5a64d1f58ccdcb" + }, + "Source": { + "datatype": "string", + "description": "Media selected for playback", + "enum": [ + "unknown", + "SiriusXM", + "AM", + "FM", + "DAB", + "TV", + "CD", + "DVD", + "AUX", + "USB", + "Disk", + "Bluetooth", + "Internet", + "Voice", + "Beep" + ], + "type": "actuator", + "uuid": "54fb88a7d7cf5e3aab63e8f52415c187" + }, + "Track": { + "datatype": "string", + "description": "Name of track being played", + "type": "sensor", + "uuid": "ee800d62a40351e6934649ca75927d69" + }, + "URI": { + "datatype": "string", + "description": "User Resource associated with the media", + "type": "sensor", + "uuid": "1ed22b9925c3502d8d1389c8e02d0f07" + } + }, + "description": "Collection of signals updated in concert when a new media is played", + "type": "branch", + "uuid": "6585e9d3b6ff596da72a5f8c98d2d47a" + }, + "SelectedURI": { + "datatype": "string", + "description": "URI of suggested media that was selected", + "type": "actuator", + "uuid": "4820f7a961c25e91af12d3417a145d32" + }, + "Volume": { + "datatype": "uint8", + "description": "Current Media Volume", + "max": 100, + "min": 0, + "type": "actuator", + "uuid": "8b344688816f5844ae5812bb136c8006" + } + }, + "description": "All Media actions", + "type": "branch", + "uuid": "3f324d13873e501a84daf2cfade24d0f" + }, + "Navigation": { + "children": { + "CurrentLocation": { + "children": { + "Accuracy": { + "datatype": "double", + "deprecation": "V2.1 moved to Vehicle.CurrentLocation.Accuracy", + "description": "Accuracy level of the latitude and longitude coordinates in meters.", + "type": "sensor", + "unit": "m", + "uuid": "eb9218c66b1451fcac5cfcf39d36f5da" + }, + "Altitude": { + "datatype": "double", + "deprecation": "V2.1 moved to Vehicle.CurrentLocation.Altitude", + "description": "Current elevation of the position in meters.", + "type": "sensor", + "unit": "m", + "uuid": "66e2f3fdf1f15b0a9925b674820f19fd" + }, + "Heading": { + "datatype": "double", + "deprecation": "V2.1 moved to Vehicle.CurrentLocation.Heading", + "description": "Current magnetic compass heading, in degrees.", + "max": 360, + "min": 0, + "type": "sensor", + "unit": "degrees", + "uuid": "67cd26aaf82e5e9f8a127aabba993003" + }, + "Latitude": { + "datatype": "double", + "deprecation": "V2.1 moved to Vehicle.CurrentLocation.Latitude", + "description": "Current latitude of vehicle, as reported by GPS.", + "max": 90, + "min": -90, + "type": "sensor", + "unit": "degrees", + "uuid": "dceb455713ac56a59e79c0fd25c01a08" + }, + "Longitude": { + "datatype": "double", + "deprecation": "V2.1 moved to Vehicle.CurrentLocation.Longitude", + "description": "Current longitude of vehicle, as reported by GPS.", + "max": 180, + "min": -180, + "type": "sensor", + "unit": "degrees", + "uuid": "1a9be9c36a9a5ddc945bfb1e8c1f4384" + }, + "Speed": { + "datatype": "uint16", + "deprecation": "V2.1 removed because doubled with Vehicle.Speed", + "description": "Vehicle speed, as sensed by the GPS receiver.", + "max": 250, + "min": 0, + "type": "sensor", + "unit": "km/h", + "uuid": "e72a72f3d6dc550f824cb03add1ada3b" + } + }, + "deprecation": "V2.1 moved to Vehicle.CurrentLocation", + "description": "The current latitude and longitude of the vehicle.", + "type": "branch", + "uuid": "12f930405e815048bf5b77db90c7d6e4" + }, + "DestinationSet": { + "children": { + "Latitude": { + "datatype": "double", + "description": "Latitude of destination", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "3e33f3252934565d86de5409c761262b" + }, + "Longitude": { + "datatype": "double", + "description": "Longitude of destination", + "max": 180, + "min": -180, + "type": "actuator", + "unit": "degrees", + "uuid": "e9bd511146ca51639c8d42c0702e22ee" + } + }, + "description": "A navigation has been selected.", + "type": "branch", + "uuid": "f51ce253dc5b58168ecca99297139455" + } + }, + "description": "All navigation actions", + "type": "branch", + "uuid": "79bb0cc4acae5d1eb34fb214352d7863" + } + }, + "description": "Infotainment system", + "type": "branch", + "uuid": "d88f92fbdda35012a2443b5e130d5eff" + }, + "Lights": { + "children": { + "AmbientLight": { + "datatype": "uint8", + "description": "How much ambient light is detected in cabin. 0 = No ambient light. 100 = Full brightness", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "cf7bf6bc25c2564383e72ef840e4b47d" + }, + "IsDomeOn": { + "datatype": "boolean", + "description": "Is central dome light light on", + "type": "actuator", + "uuid": "cc100f4cd2ff5e0593a557a74ebf5d9a" + }, + "IsGloveBoxOn": { + "datatype": "boolean", + "description": "Is glove box light on", + "type": "actuator", + "uuid": "f7281175fbc85b4a937b2606e4300f9a" + }, + "IsTrunkOn": { + "datatype": "boolean", + "description": "Is trunk light light on", + "type": "actuator", + "uuid": "3697df4cddc751df847fac74bd32390f" + }, + "LightIntensity": { + "datatype": "uint8", + "description": "Intensity of the interior lights. 0 = Off. 100 = Full brightness.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "a66eba0bae225a56babf3f9ceb65fc76" + }, + "Spotlight": { + "children": { + "Row1": { + "children": { + "IsLeftOn": { + "datatype": "boolean", + "description": "Is light on the left side switched on", + "type": "actuator", + "uuid": "c6a9c6b14d725113a087ce7e58a9c90b" + }, + "IsRightOn": { + "datatype": "boolean", + "description": "Is light on the right side switched on", + "type": "actuator", + "uuid": "7c08ddd9067f5905855cec9f30546fc9" + }, + "IsSharedOn": { + "datatype": "boolean", + "description": "Is a shared light across a specific row on", + "type": "sensor", + "uuid": "99614d03c27f50a6a32b99b68814e6d7" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "ea2b102268735567b3d7d6c36b34e480" + }, + "Row2": { + "children": { + "IsLeftOn": { + "datatype": "boolean", + "description": "Is light on the left side switched on", + "type": "actuator", + "uuid": "15534d254ce851509a8dfae763a9d709" + }, + "IsRightOn": { + "datatype": "boolean", + "description": "Is light on the right side switched on", + "type": "actuator", + "uuid": "06e866363b5c589db5b446eca0b68c8b" + }, + "IsSharedOn": { + "datatype": "boolean", + "description": "Is a shared light across a specific row on", + "type": "sensor", + "uuid": "087dd02860965a61a5cba8c66f8dbd36" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "504e514166d255439fd3f61acd3d412b" + }, + "Row3": { + "children": { + "IsLeftOn": { + "datatype": "boolean", + "description": "Is light on the left side switched on", + "type": "actuator", + "uuid": "f32530172b1a535cba376e660a3a630a" + }, + "IsRightOn": { + "datatype": "boolean", + "description": "Is light on the right side switched on", + "type": "actuator", + "uuid": "20424c00cf1d5e49b4287efe186cd263" + }, + "IsSharedOn": { + "datatype": "boolean", + "description": "Is a shared light across a specific row on", + "type": "sensor", + "uuid": "87f00a029ec854d39702ef86e030c00c" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "c0352a193354597692626b6f0b6d9537" + }, + "Row4": { + "children": { + "IsLeftOn": { + "datatype": "boolean", + "description": "Is light on the left side switched on", + "type": "actuator", + "uuid": "643c07780d2453e98b5091a39516f7ec" + }, + "IsRightOn": { + "datatype": "boolean", + "description": "Is light on the right side switched on", + "type": "actuator", + "uuid": "f012d37429aa53d1bf8648d686a804ef" + }, + "IsSharedOn": { + "datatype": "boolean", + "description": "Is a shared light across a specific row on", + "type": "sensor", + "uuid": "8f8de6d5b18f5cc69c9ecd556ce6b6ed" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "42c09d108927563293adcb93738895a0" + } + }, + "description": "Spotlight for a specific area in the vehicle.", + "type": "branch", + "uuid": "8528c64a4c775da3ab01617bbff2e3c9" + } + }, + "description": "Interior lights signals and sensors", + "type": "branch", + "uuid": "8b5cd8c4d1e752b38c65a5966c870ccb" + }, + "RearShade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "9e16fc53f2ec575dbf66c79f969949a9" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "da9f01e9baf35544842f1a7674c5172a" + } + }, + "description": "Rear window shade.", + "type": "branch", + "uuid": "8a0c86f4fc6f5ea8ac8cf8f327969dcc" + }, + "RearviewMirror": { + "children": { + "DimmingLevel": { + "datatype": "uint8", + "description": "Dimming level of rearview mirror. 0 = undimmed. 100 = fully dimmed", + "type": "actuator", + "unit": "percent", + "uuid": "4e2bcbaa6dc1586d8282324b475e5dee" + } + }, + "description": "Rearview mirror", + "type": "branch", + "uuid": "e655b654ab9f55bbb04952a99755efae" + }, + "Seat": { + "children": { + "Row1": { + "children": { + "Pos1": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "49cc2754a4385ef8bdd8ba4e81ae91f6" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "51c12c552b745ead85e10392cd42791f" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "7fcca1759439553da9ba96f6b8e5ab0c" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "2e82eb84c2315844a31c3799917302c8" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "744e2e5b42e155e5b7b32ce5ff58ab30" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "83985fb2f68a53f69aafc93fb1c4abaf" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "cf523dc17f9451b08be069c5ea7be059" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "8dfb0fa68c1459b190ce70bf38e675fe" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "6055f646e52c58959fe7c89e7e5e77df" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "a28e02777f0652c09282c639b2ab0a63" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "6bd16a2258d152919db77e9592ac837a" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "88cd5a9e251f5c1b8fd1fca9eef93652" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "f9516c169c885f3e888efb60f33df03e" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "4339464b5f335361bbb6501c7c535661" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "0e668142a0855c31845050e3535ff1b3" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "c631b08751b851ec9b12ade8332ba5e6" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "8df99b3fedff5a219eacf254fb299ffb" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "473c3f152df7564589d0e09947ae428f" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "e2303f18abb35b25932e97165858fa2e" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "78283eb5efee58f8bce8b5fa3760df54" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "154be9f434bd5e40acf6294f30e9c756" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "cec6036c545754a2b98375049abab7c2" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "2de687c7c868555a8abbf3e2898a6468" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "09ac410884135f7db0bc159b56a6ca80" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "ae775abc1c3d52f9926c1964254eaed0" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "7322c0c5290959fd8edf8b50fc69e9a4" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "312e6a5f4849517bb6c074f4c9d72f7b" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "06ccb05626245b08a420c8f4059b8741" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "063ead2b6428542197fad4d5e1e6f1a8" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "75599c7abaf75e3685ee431c73499c21" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "0dbd1b52b69359a58aa80c59932c1579" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "c958f878a80256b8837437501854ad29" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "a2d03b4aa4ec5f829c666c14d79508d8" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "425d5a4817f754f2b0b650df3ea99949" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "9411da84bae25d05b0a496d973d3f942" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "d95e7c7ce3075730a5841cee70912ffa" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "bd4287a0141b5e09bf1c28444ca6768c" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "9aebda3a28e250d1b820ad2db329b50f" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "012ff0edf15155339ec6070d6ea1c377" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "c77197a72ace5fb9901afa191d480fa3" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "205d334c99a1527e9e0ad193d14fe146" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "3eb37a1d6aa3581d8daa6c32ac631629" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "46a23e294875537d9ce222d748dd43ef" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "4852285a3ec05fd3841431a0c425ac1f" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "fabd3e12e63d5a60a23b17dab032752e" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "9153acbc0eae569b9ec30da267a46b01" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "056d14d430e65211960602d5ab074824" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "2d3dc48a7ecf5f2a99b600f221faa770" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "8ed4d123819f53c3a5aa19482aeacf63" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "6fdc2b91da6c5a38ae41465d94e89f9d" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "3b6a1804d0385d29ac094468ef279100" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "6aeff0a2d48f5f28995f83cc5ada057d" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "9f570421f00a53f19f3741bd4e53303b" + }, + "Pos2": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "d65c423837db53ebbfd462ead6c92687" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "8150bc56e95453f4be691ee05241fa1a" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "729a4a9cc12f5f0da260406967b48f1f" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "7bea75eec2565b7e9e2bb45e83b0e11a" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "12ec5f0bc43c57059ecc5c4bb65f65b9" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "0188a85fd4f15ddcb9b246976bc453c3" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "54d2ecd1932f507398273dcbfc6e914d" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "c9db01df64cc5e258f05c053dfe78b45" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "eae672cc71dc5046bf1bdef59b8cd980" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "fc3b3498a15c5417aadbbce4f758a6d5" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "ee2919e0ffdd5a939a1b86b570c14112" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "b416d0e40df55cbf8055d7f5245993c4" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "bef37560403a5ab2a44d9f5f252c4e3b" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "7a482ec0a8c359e28af203e011ea4906" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "c1935863d503574fb5d20b703974399c" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "f88bffa4714d57f8b61b1034c57190ff" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "f8f67096b9e35197a3e199e9171c4872" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "ac22e6c5d43053b383f14c6b712b0698" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "d85baab0f292585b912fd8ba8eae234f" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "f14a3e9eaaf35012a8be3782b6a53f55" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "236d7a25e16954b7b4cba45f44114f93" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "2d17c6afb5b758e8bd3021a6c9211817" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "5369d75b449a52dd8f30fe5cfc1e68df" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "760de3ddab1d5b98a411cd0431ffaf4a" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "1631bc34f24651ef8b6d0952bc6fe149" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "252da1baa1e653f18d262fd996b3ab50" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "03ae5745c0af5c448281fd87344bbf5c" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "5043851e11b158aa8c047d5224639f68" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "5d8c7386f77f532390b126f61f63df3c" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "afd7711874855750badc9d138ea55741" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "64339d7dbb775b8bbae32a21d877593d" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "4bcd6bb369d75c66ab2bb0d3e34fdb93" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "ffd28515ab8a57ec89ae6f621dc11a31" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "7a86ead63d045874ae1c529b15ca4aac" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "38d63b12489a51c7b3d67fc4ad6a1398" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "45e331a87e005ed3863099d72f010114" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "184f2feb4f1b541b92b5830bee2caf71" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "a1b842b30e155b81852d420bd0814bf0" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "c81cd9c72b435bf99c1d27ed3d92491a" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "248f01a92c695ce59c6adb9eb111ff21" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "4715e0ba6d8353ceb210ecdc6aa38660" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "f12523c53b4a5166a8a5d532e1c20e54" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "82f1b4ee3b9c58998115117f6e8c39a7" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "78043316bc4b557ca3e4a3b6747ca8b4" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "ec8cd7718709534ba992d6ec64f99f80" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "7c18fe7b9d2b59229fa720942e4d2adf" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "c06a95a4c9355c3ab03b1a6937e40212" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "987c9053b13f5e96b3560fbd95cbed46" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "a82fc40ef7b1527cbd85f4297448e33e" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "d1e916470f5f59dea9a8cd003fddcde9" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "8bd64d992c2e5fd9b41754c46f9e5ee7" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "dd54a1a61c7c5d79a420edb7b1755aa1" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "614cecf6380d5c23989d2c8bf20bd8c3" + }, + "Pos3": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "c4e9b66d938d5e188ac577094daaf37e" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "243d103c16055180abef52fef071ad22" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "4c82794acd9553dbb2ec735379c0e517" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "c686c30c88145df9b690649fa0849ccb" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "893a1124c2465d46bf405ef9fd199887" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "d2f6bfd24cf1589398ef591866c5affd" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "ca45741cffe153c68e8cd62ceff7a82c" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "55e12cda54fe5d43a2f863b08948798b" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "4af67468dd7a55a58195d9b61997d077" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "d19199de59a153f782b8d61788c510a7" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "975fe66f9fa05d8ca7fb9d334641bb97" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "98b4873c63e354ba9280dcd27e2aae66" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "b1a4cb8658b75795936826b0469bf609" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "4049a18494395cabae62b8878c9e241e" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "d63d68381ec65f50a8dd6dfbc0bd751d" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "0d29fa2a1b97563c8e1ba31b8571f328" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "a7306a24de2155f2a1de070bc8f1bd60" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "f59d9531974256cab958e5e31588565d" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "4e68d3feef825f6f99c44cec9f7c1217" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "2a2ba0e42dcc563cba80cc491b66c45f" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "ef8175b8cfe453eab68065548b85a822" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "fcaaac4cd4c35c6a9b4e399e3cd0a29b" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "baf5756c60da53e0a30538dd95f704e6" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "abc7e9e31d855116a568ca4eb0a49d0d" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "7f58e1a1f05450c4bc7ac98090c19d82" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "1476f6af2b7456f181ca5c3703e2836c" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "54a75893acaa5460a3fc620728699cc8" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "e549c98581795288add98c88c4369df2" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "a31736d742cd540ea07aa03615b0ce3d" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "eb721f72d8a55fd69cfaad94dbcb3d3c" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "ad10d38481715875abfb88810cabb11d" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "5633fdc1466d5484bcc169c39a7bc99c" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "d6588e889ca15820aac1c0dd7771ea01" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "62b9b072512f5e2aa13073b0c9714ab7" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "38813c08d6175427ab06b1f9f665cc53" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "28dddcbedffc5876ba552b9bbaf842f1" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "f8a6ee14aaec5a2994bb46cfa8fae6b3" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "1801183f58015e82993da0ea3445be02" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "80bef0d120455d79a158a88760e57fe6" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "0583ae0b3cb75e8ea4019492a929badb" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "72cf00bb1c895bb7bb2ae9240ec6312c" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "fc30397e57d95945ab81263e2ef7a42a" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "a2c4a3a39758594d9e89a635bab499cb" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "ff4e4e9b5f2f5915b8aa9d7086ea0c62" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "918376c5dbb25a879412c6d35362e3ec" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "dd7b384b83f05a069d2bdf770ac7982a" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "91b96dbb20a35da6821c445f20cc2b1f" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "0d0cda55ff9853639ae089af46d7219a" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "6cb5ddb991c255e5b961b6724fbee6c6" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "f8ddfb9e5fad5596be9c15a94c3bd8b0" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "12955068421a511388f962ee8c190c68" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "1eda245135ce5788bfcbc75b082af947" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "add6f181ffd35d03b57d9833e7e22f4f" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "7a420ddeac6f538eb3939bb4a242d136" + }, + "Row2": { + "children": { + "Pos1": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "fea5a0ef57385df68e486ece13546bdf" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "ccfadedface05d54bcc00b30082b30d6" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "af1c06009f2f51a8a9691dc76f67daf5" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "da1627d60d1855e481585118413545c4" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "81008903a21e534890a6d6e6c68c2bc3" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "a346c9a5fe05579d8cb4dd0c39ae3cfd" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "860c83873c885e468f376ed62fa1ad5a" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "73020e8418ff5526b6f7ca102904287b" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "0f61ef421bcd5c8dbe6a5b477cb10a49" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "6e6e7aadfd0d52d4ac877147d84540d0" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "ad65078f81075a67babb66ecd2c902f7" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "41c8cc38221a52649a923f533eb74233" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "a6c4ac06f229582ea1066482d6a0464f" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "03ba74b039d05d1ab5326d50ff7a5069" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "406607948a235d829c5da212594813b1" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "188458a15b30577d8fb01d0f15641a6e" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "159e7daad966588ca48997859b811b72" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "aba17bf3b5175e56bf047839f2a0f880" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "e7ab950f55b45b1a985f1a9d132aad02" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "3dd247aae2555a1ebaf76ae4017f23bb" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "9e26bb850e0b505abd3b034cd32db946" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "8091f6615e6352549cd82be89b3794c7" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "231094f2616d5f91af405e8528135328" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "af1b567b19225b48a35c432f52de4b0f" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "9c4aaff0cb08576e8dfc9575bdf4188c" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "989b7125efd05224908240901aad22a3" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "9fdd5c24868e5a64bcfd461b3d848283" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "53a50be4deed54789b913c8939fa975b" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "c257793dc4705c9ab6276da5d4651d95" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "cb3caac06fe85e56b67516d78f8f65d1" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "fabe59aababc5f73b326821ab453d86e" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "b8d138f11e5c5af09044aeda5af787af" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "16737cc9bdb65d64b85562fcd48a55fd" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "61ef1160c2c45fe78d971548828b1057" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "3e225e7e11f35f918ba30e8c7a7e6c33" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "e0fe867a41805e73944b39fd6907cef9" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "a64671e5f4bf534ba60a548c5e68923d" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "2b0aa04fb4385ca8ad549c18e7b541b4" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "43f98ce5ef6453769476edc209d42fc5" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "d5f17aff2b3a53fe891ff80cdb5cd04c" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "0490a69e1d375ac39b6625319a6a0988" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "2a9a5c9ceeac503aac475fc1c22ba78c" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "4857aac12637502da76202384a151715" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "d9b7a4e69470596bb9883bdebc83992c" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "17e15fd8647854f196ab26103d065c41" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "e2e1a9415014540f91921c9b59731371" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "52e2279ca81b5a038bdb8bf92038ccab" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "57a9eeed1ad75133841b9ee8a1d87a90" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "75f78203a2f152f38ed872dfa6a64cd5" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "41c1925090a25472b3e35e720c775d29" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "765453ae7cde52ea83a6dafca07a855e" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "1c4b708222de55aabddb3697308253ee" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "ba975a6536f15545851d27972ab1fffe" + }, + "Pos2": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "668f397bc95358989119fb1cfdfa8a01" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "07f9f55e33055cf7bebdc06e7d5a6a14" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "330a944fd2005b53a4d546744d21e591" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "203d653612605d988c639c0f6c728906" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "0c918c7253a45f40bb8ba0633b24e122" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "d1097dd0e0685ce8838fa83e3791b233" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "4214c90aad0e538fae2d16f9cb4a8a62" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "4dd4e81df9b45c788ea30eeb96db1082" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "c7eb6ca24426596dab519386d231a9d1" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "3cf2e042421b540da4aa047680dcdf84" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "f2c9c2d624bb5cf4bf9aba5842eb96eb" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "95bf0522c35653588932404e7e49f603" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "f4738d07c7eb5ae583f915341986e4bd" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "666d60b9c4be5a5fa236b13d7c1dbc40" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "77e8a4d481315520927fc0828158772e" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "6f4e6a9f8008536eae03197601a6366a" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "ae49d70515d55aad9b4719d8162b43c9" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "24c23b9f5adb549483cb52acbd81a980" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "30e72777238850ff8a01c3a8f85b663e" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "7c24fa880576550da14bae1e5eed26b9" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "4026cce78c465486a8d6033a18d1728a" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "94e4f77b1714550cb750c599a56ee624" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "85135f2df03658dfaceaccd58a478a63" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "bdac3b5e7d365e229f2826ae2c605239" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "cb3cfa2c97365da1a8fca053a65b3f2e" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "8ccfc2c9fc455ca99f857dab20d5312d" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "62ec09fe2ba051c5810a43b377eda1ec" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "f4df41ff19ea5d68a2ddec478d2fb50b" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "d0086699030753a98aaf9bf44557dc16" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "741fffa36829573f8124659ebfc1c6a6" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "cbbc30fd57b05354b05887435c1407e4" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "822d46ed8df65a2f954ac7e515a9c260" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "67d2c79495fb536db65b1bcb20f734c2" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "8835129127335ddd952dd947f83fb8e3" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "9bccb182622c5e3b8e0a94f8dfe41be8" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "d6c9abeefabf58f9b44ac3cc2988aff5" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "6f17db239c0e5794a3b17579105eecd9" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "72eb5dc4bc29520ab3bc77542b94bc2a" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "edc261f4f51c563bb9da356e53354011" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "5999c5a87c1057e893dd9d4113c5f2ab" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "346c0825d99f536e95312b026a4f2118" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "8bf96bfc4af556ff83c2622617a51b2a" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "1fabf329e8715f28b90b72a8a5b6c3de" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "b8670833dfc85c6bace3b9da8c1dbf95" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "7a0563d5b2cf58db820e85dd08ad9bc4" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "063cec57ef47568aaf3d1070df74a63b" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "4e433a05a54456e69ac7357b0af56d76" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "4f0d4d8a90ca5a90b773173c953a0191" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "7ed2d8c4de215c7a9783243b0cbcd6ea" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "f6e2a08b8fc855968c6b194f2d55a72e" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "84462c894cff5eb080f4020fcb114d22" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "f3fdef2159cb5cda985cbc04220c3593" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "e8afa112abe75fda9ce3e1f0d712713d" + }, + "Pos3": { + "children": { + "Airbag": { + "children": { + "IsDeployed": { + "datatype": "boolean", + "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", + "type": "sensor", + "uuid": "6802243fcb3155b196cca3a825c12bcb" + } + }, + "description": "Airbag signals", + "type": "branch", + "uuid": "e1d14ad055955eac914a47ee180a6e78" + }, + "Cushion": { + "children": { + "Height": { + "datatype": "uint16", + "description": "Height of the seat cushion (leg support), relative to seat. 0 = Lowermost. 500 = Uppermost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "859ea2de83275a4ca91c59e248e9b159" + }, + "Length": { + "datatype": "uint16", + "description": "Forward length of cushion (leg support), relative to seat. 0 = Rearmost. 500 = Forwardmost.", + "max": 500, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "ddf566c0b12256df94fcd72bcaa3f570" + } + }, + "description": "Cushion (leg support) signals.", + "type": "branch", + "uuid": "32e678fb513e5a0bb42bd39a27627d8d" + }, + "HasPassenger": { + "datatype": "boolean", + "description": "Does the seat have a passenger in it.", + "type": "sensor", + "uuid": "eb7db74c722e5ea5a8e66bbc26d5e1c5" + }, + "HeadRestraint": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Height of head restraint. 0 = Bottommost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "dbaefb0c59505e83b1f87b4010f3049a" + } + }, + "description": "Head restraint settings", + "type": "branch", + "uuid": "a945800a6ad95970b01110b86a5d204b" + }, + "Heating": { + "datatype": "int8", + "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", + "max": 100, + "min": -100, + "type": "actuator", + "unit": "percent", + "uuid": "2a175561eed05247b3048263c0122fa1" + }, + "Height": { + "datatype": "uint16", + "description": "Seat vertical position. 0 = Lowermost. 1000 = Uppermost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "077a21fca4d857dd81debfd81119bc73" + }, + "IsBelted": { + "datatype": "boolean", + "description": "Is the belt engaged.", + "type": "sensor", + "uuid": "815f9e1dc05b5078aaefc3868319b18b" + }, + "Lumbar": { + "children": { + "Height": { + "datatype": "uint8", + "description": "Lumbar support position. 0 = Lowermost. 255 = Uppermost.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "c2d250c021aa531cb364f52a80ae1131" + }, + "Inflation": { + "datatype": "uint8", + "description": "Lumbar support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "c7f75035848554e0b7b22b0486d2dc9c" + } + }, + "description": "Lumbar signals", + "type": "branch", + "uuid": "07ddd96920595e66a7762532ae1b685c" + }, + "Massage": { + "datatype": "uint8", + "description": "Seat massage level. 0 = off. 100 = max massage.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "fffccf6ae6365b83ab093031f573e452" + }, + "Occupant": { + "children": { + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "d96b225635b959a1aea0d6febb955ae8" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "ea36896f5572580b9d8379a6256f61b5" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "296e51d414a65cea96e1eea27dc3e1dd" + } + }, + "description": "Occupant data.", + "type": "branch", + "uuid": "a8df9afde2335f8ab7cf4b185148f20e" + }, + "Position": { + "datatype": "uint16", + "description": "Seat horizontal position. 0 = Frontmost. 1000 = Rearmost.", + "max": 1000, + "min": 0, + "type": "actuator", + "unit": "mm", + "uuid": "64eb763cc10358b49968797fbf50c092" + }, + "Recline": { + "datatype": "int8", + "description": "Recline level. -90 = Max forward recline. 90 max backward recline.", + "max": 90, + "min": -90, + "type": "actuator", + "unit": "degrees", + "uuid": "8ecc3958a2175b0f9ad58de386822df7" + }, + "SideBolster": { + "children": { + "Inflation": { + "datatype": "uint8", + "description": "Side bolster support inflation. 0 = Fully deflated. 255 = Fully inflated.", + "max": 255, + "min": 0, + "type": "actuator", + "uuid": "127bf41b7b055407b3405787db308dc5" + } + }, + "description": "Side bolster settings", + "type": "branch", + "uuid": "5d3abbb4cc305e9e83fc06939c715767" + }, + "Switch": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat backward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "9035b32f9ee95d1db6c22f50effc7c7f" + }, + "Cooler": { + "datatype": "boolean", + "description": "Cooler switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "c2137be8528b5f5da942fd1b6b8bfe9e" + }, + "Cushion": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seat cushion backward/shorten switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "867fde470237512399c100a3377863aa" + }, + "Down": { + "datatype": "boolean", + "description": "Seat cushion down switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "2f278d0e725a5f24aa77e2215cbb9aa8" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat cushion forward/lengthen switch engaged (SingleSeat.Cushion.Length)", + "type": "actuator", + "uuid": "0e5094c2a3225e3bb4b0cb9cfb512ead" + }, + "Up": { + "datatype": "boolean", + "description": "Seat cushion up switch engaged (SingleSeat.Cushion.Height)", + "type": "actuator", + "uuid": "51b1d279db7e540ab06c61da49d345eb" + } + }, + "description": "Switches for SingleSeat.Cushion", + "type": "branch", + "uuid": "45febb136cc9513aadf5ac81c444c50f" + }, + "Down": { + "datatype": "boolean", + "description": "Seat down switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "e2dbef15271959f9859c730beb6a279f" + }, + "Forward": { + "datatype": "boolean", + "description": "Seat forward switch engaged (SingleSeat.Position)", + "type": "actuator", + "uuid": "570ed0643f3d54edbecafbaabfa63676" + }, + "HeadRestraint": { + "children": { + "Down": { + "datatype": "boolean", + "description": "Head restraint down switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "acf77df0899557ea98b9b73411a785fd" + }, + "Up": { + "datatype": "boolean", + "description": "Head restraint up switch engaged (SingleSeat.HeadRestraint.Height)", + "type": "actuator", + "uuid": "c76b4aee310057d681ce841a43f275b0" + } + }, + "description": "Switches for SingleSeat.HeadRestraint.Height", + "type": "branch", + "uuid": "68549d6e81075fe99a524d97b97334ca" + }, + "Lumbar": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Lumbar deflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "0be514b4224f57e3b95d748ace1d09f3" + }, + "Down": { + "datatype": "boolean", + "description": "Lumbar down switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "9b37d65e49ba518aacb15176ee035f85" + }, + "Inflate": { + "datatype": "boolean", + "description": "Lumbar inflation switch engaged (SingleSeat.Lumbar.Inflation)", + "type": "actuator", + "uuid": "e71ff6bd33f2583d964ae9c074265ce1" + }, + "Up": { + "datatype": "boolean", + "description": "Lumbar up switch engaged (SingleSeat.Lumbar.Height)", + "type": "actuator", + "uuid": "e53c8a74034b5def83a9c2e41ffbf686" + } + }, + "description": "Switches for SingleSeat.Lumbar", + "type": "branch", + "uuid": "7837dca1dd445a49b01ff126545e96d1" + }, + "Massage": { + "children": { + "Decrease": { + "datatype": "boolean", + "description": "Decrease massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "d91ab3177bf35a52b02bab237eb43e29" + }, + "Increase": { + "datatype": "boolean", + "description": "Increase massage level switch engaged (SingleSeat.Massage)", + "type": "actuator", + "uuid": "ac801efd6a6456a2b88417a50c625f57" + } + }, + "description": "Switches for SingleSeat.Massage", + "type": "branch", + "uuid": "ac2bb22d6acf56988582353a1453cbe3" + }, + "Recline": { + "children": { + "Backward": { + "datatype": "boolean", + "description": "Seatback recline backward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "1db535f68ddf5d449a19d12a208140c8" + }, + "Forward": { + "datatype": "boolean", + "description": "Seatback recline forward switch engaged (SingleSeat.Recline)", + "type": "actuator", + "uuid": "2a56d160cce15feca287e088e716650d" + } + }, + "description": "Switches for SingleSeat.Recline", + "type": "branch", + "uuid": "216444ab659152b6ab8daed75500d388" + }, + "SideBolster": { + "children": { + "Deflate": { + "datatype": "boolean", + "description": "Side bolster deflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "5f97a254d1b654bf99203d1d0e3b6739" + }, + "Inflate": { + "datatype": "boolean", + "description": "Side bolster inflation switch engaged (SingleSeat.SideBolster.Inflation)", + "type": "actuator", + "uuid": "0e7ee36cd3d75f05a7f49722b82017fe" + } + }, + "description": "Switches for SingleSeat.SideBolster", + "type": "branch", + "uuid": "a06fd6dfd4ad5b468213337d6f2f9d07" + }, + "Up": { + "datatype": "boolean", + "description": "Seat up switch engaged (SingleSeat.Height)", + "type": "actuator", + "uuid": "028248cc18315659a533c409180b577a" + }, + "Warmer": { + "datatype": "boolean", + "description": "Warmer switch for Seat heater (SingleSeat.Heating)", + "type": "actuator", + "uuid": "32fe3de3adbd51c280b13e26cb23dce8" + } + }, + "description": "Seat switch signals", + "type": "branch", + "uuid": "e0cfa7aceac75980b33075ceef5c9125" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "a40aa679981551e7a92b8438533911d4" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "8c3aaf015ef8595cb45d9461a9c1195f" + } + }, + "description": "All seats.", + "type": "branch", + "uuid": "b0b253106b2851e3bb5c71ae3b09f09d" + }, + "SeatPosCount": { + "datatype": "uint8[]", + "default": [ + 2, + 3 + ], + "description": "Number of seats across each row from the front to the rear", + "type": "attribute", + "uuid": "8dd40ecd47ab51c79ed9c74ae4296d7e" + }, + "SeatRowCount": { + "datatype": "uint8", + "default": 2, + "description": "Number of seat rows in vehicle", + "type": "attribute", + "uuid": "1002a7a4a954581b9cbc72fa438c5292" + }, + "Sunroof": { + "children": { + "Position": { + "datatype": "int8", + "description": "Sunroof position. 0 = Fully closed 100 = Fully opened. -100 = Fully tilted", + "max": 100, + "min": -100, + "type": "sensor", + "uuid": "ab598697f1c852eda4df9ed62a956d17" + }, + "Shade": { + "children": { + "Position": { + "datatype": "uint8", + "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "5f78c2a631b75abc88744f9bad277f5a" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or blind.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen" + ], + "type": "actuator", + "uuid": "3836077128c65381b01e74a1a8be1c40" + } + }, + "description": "Sun roof shade status", + "type": "branch", + "uuid": "eeaae5977adb5683b16f405993405b2e" + }, + "Switch": { + "datatype": "string", + "description": "Switch controlling sliding action such as window, sunroof, or shade.", + "enum": [ + "Inactive", + "Close", + "Open", + "OneShotClose", + "OneShotOpen", + "TiltUp", + "TiltDown" + ], + "type": "actuator", + "uuid": "88c39afd45a25ea2b474ff581e1fb138" + } + }, + "description": "Sun roof status.", + "type": "branch", + "uuid": "8ff70db05c065e3eb530082a0b6983cf" + } + }, + "description": "All in-cabin components, including doors.", + "type": "branch", + "uuid": "1a94457b237f5e8eb3c77c0532ac88d7" + }, + "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", + "uuid": "2fabd8b61db45f62b4e97e7a612b4a73" + } + }, + "description": "Accelerator signals", + "type": "branch", + "uuid": "3b2b562086a45eb29c55186f3b710621" + }, + "Axle": { + "children": { + "Row1": { + "children": { + "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" + }, + "TireDiameter": { + "datatype": "float", + "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "ed9f037c1b5d53c78c90b71179db1f4f" + }, + "TireWidth": { + "datatype": "uint16", + "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "mm", + "uuid": "3444d8773c215cd7a076d688eb7f1afc" + }, + "Wheel": { + "children": { + "Left": { + "children": { + "Brake": { + "children": { + "BrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "2f7c8029bfe759748592ef5e729cc845" + }, + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "63aa9c4973ef50b18bd7214c9f2634c5" + }, + "FluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "53a75af3ab945f3f8546a84136369ec1" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "type": "sensor", + "uuid": "b4ed36f8143d512fadaca3e641739ee2" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "162dab13d5815ec4bc22888b0bc59cbf" + }, + "Tire": { + "children": { + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal", + "type": "sensor", + "unit": "kPa", + "uuid": "9fa3f176fd975d28a68f70c7d72e370f" + }, + "PressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "82de2a68098455eba786f8ed2d7468c0" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "093d8fb119755f6bafa979e4eae201a0" + } + }, + "description": "Tire signals for wheel", + "type": "branch", + "uuid": "17c60ec3c02054b4951c975156375d9a" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "0cd478c6e72b55c6be6d3d9df9624545" + }, + "Right": { + "children": { + "Brake": { + "children": { + "BrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "1a55f7262b565bf4a5181a55c19d204d" + }, + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "386bfddee4605e419d59755a51835650" + }, + "FluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "0311e746d19358c8a3236cefeca84ef1" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "type": "sensor", + "uuid": "f3c53c8c5628527a8501e12778dae6c7" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "f334a45b92215f86b4ecadbd82c8b249" + }, + "Tire": { + "children": { + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal", + "type": "sensor", + "unit": "kPa", + "uuid": "ea8038b63e6650ffb1a20539e915064a" + }, + "PressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "1634d42e20bc5cb4b3d6d4735821d477" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "58d4cee188d353d7996e855d48bb92df" + } + }, + "description": "Tire signals for wheel", + "type": "branch", + "uuid": "660f90ae8f14594cb6e97d000c1985a1" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "c7ae1f1787ec502d8aea41802dc9a203" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "8ed02c02eee0502ba6d94a5d5f1fb789" + }, + "WheelCount": { + "datatype": "uint8", + "description": "Number of wheels on the axle", + "type": "attribute", + "uuid": "7232effafb7d5c908a9bafe1cef2ff3e" + }, + "WheelDiameter": { + "datatype": "float", + "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "60d4b948ae8a5485bd77c45e1f648c13" + }, + "WheelWidth": { + "datatype": "float", + "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "5b92bdab1e035ff4ba000330e20f826b" + } + }, + "description": "Axle signals", + "type": "branch", + "uuid": "d7e93a94af0752aaab36819f6be4f67a" + }, + "Row2": { + "children": { + "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" + }, + "TireDiameter": { + "datatype": "float", + "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "4dc46ee7fe0a5240a6eb67f9bf43a1ea" + }, + "TireWidth": { + "datatype": "uint16", + "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "mm", + "uuid": "76a9071697b25fb8ab42393dfb77f0ef" + }, + "Wheel": { + "children": { + "Left": { + "children": { + "Brake": { + "children": { + "BrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "ccae6b64f123544fa6982d224d987852" + }, + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "4b0d4f80b8855973a55ffee80fdfc4ba" + }, + "FluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "68e832cbce705af0bf0d6e0f9ba7acac" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "type": "sensor", + "uuid": "8eff72d583015e1e94eab98bf8f0497e" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "774d0a5771d35975872870cf71ea1487" + }, + "Tire": { + "children": { + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal", + "type": "sensor", + "unit": "kPa", + "uuid": "ea414012c36e54fc84ec1d421f370ddd" + }, + "PressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "24bc9ee216275e4d8c7f388853e80975" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "06ab6b3fe7bb5f7c9e2e104ee0e7cfd5" + } + }, + "description": "Tire signals for wheel", + "type": "branch", + "uuid": "edfee87117dc5a6f9d970167f26ec090" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "4c32a1c722a45ea09a52c389e8a8a618" + }, + "Right": { + "children": { + "Brake": { + "children": { + "BrakesWorn": { + "datatype": "boolean", + "description": "Brake pad wear status. True = Worn. False = Not Worn.", + "type": "sensor", + "uuid": "4f1e06c6edbd57e6b0d55e413481633f" + }, + "FluidLevel": { + "datatype": "uint8", + "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", + "type": "sensor", + "unit": "percent", + "uuid": "83e5e261302d5ab38c9ee4dddc18c8ae" + }, + "FluidLevelLow": { + "datatype": "boolean", + "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", + "type": "sensor", + "uuid": "c8660a7144055afa8ffc1ffb092ce6cc" + }, + "PadWear": { + "datatype": "uint8", + "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", + "type": "sensor", + "uuid": "63a564bca18a5b1fabd7d3cff1af0e6d" + } + }, + "description": "Brake signals for wheel", + "type": "branch", + "uuid": "5c33ec4bd8a15d3590f59e7257bf4d25" + }, + "Tire": { + "children": { + "Pressure": { + "datatype": "uint16", + "description": "Tire pressure in kilo-Pascal", + "type": "sensor", + "unit": "kPa", + "uuid": "0cd3dd4be36c5fcda49d6360556ba7c8" + }, + "PressureLow": { + "datatype": "boolean", + "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", + "type": "sensor", + "uuid": "86bfb761f970543399f4232ca0915a70" + }, + "Temperature": { + "datatype": "float", + "description": "Tire temperature in Celsius.", + "type": "sensor", + "unit": "celsius", + "uuid": "7c08b5778bc05265bb8d4e08fdca29cf" + } + }, + "description": "Tire signals for wheel", + "type": "branch", + "uuid": "d855fe9ffb4e52be83ebfc7967c1c3ee" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "f59f6ce66b1454498f5dc71be581732a" + } + }, + "description": "Wheel signals for axle", + "type": "branch", + "uuid": "87b119ed6de254159877b24047fd3026" + }, + "WheelCount": { + "datatype": "uint8", + "description": "Number of wheels on the axle", + "type": "attribute", + "uuid": "ac6fe103410153d382306426d14213ab" + }, + "WheelDiameter": { + "datatype": "float", + "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "af27b1d18a5455e593692a9929909bb9" + }, + "WheelWidth": { + "datatype": "float", + "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", + "type": "attribute", + "unit": "inch", + "uuid": "889d279053c051979ebbe301bacac206" + } + }, + "description": "Axle signals", + "type": "branch", + "uuid": "8ef77768446659b6b5020a06c7b23c8b" + } + }, + "description": "Axle signals", + "type": "branch", + "uuid": "0a3ebde7efa85c04ac6c29b5676fec5d" + }, + "AxleCount": { + "datatype": "uint8", + "default": 2, + "description": "Number of axles on the vehicle", + "type": "attribute", + "uuid": "86d084c9148d5f22b5402a030413ed79" + }, + "Brake": { + "children": { + "PedalPosition": { + "datatype": "uint8", + "description": "Brake pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "0477d3a4a831564ea473976cf34374f2" + } + }, + "description": "Brake system signals", + "type": "branch", + "uuid": "38df972e5c6b558e93839a5e97238c5a" + }, + "CurbWeight": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.CurbWeight", + "description": "Vehicle curb weight, in kg, including all liquids and full tank of fuel, but no cargo or passengers.", + "type": "attribute", + "unit": "kg", + "uuid": "ffe3fe9067b15475bb02865ba51cc972" + }, + "GrossWeight": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.GrossWeight", + "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": "1488a8a670535ea2b3ce2ec5b7016175" + }, + "Height": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.Height", + "description": "Overall vehicle height, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "63e6660d8f635f4db977c23ee411f0cc" + }, + "Length": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.Length", + "description": "Overall vehicle length, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "ace9409dc191589faf79edd42a3218d3" + }, + "ParkingBrake": { + "children": { + "IsEngaged": { + "datatype": "boolean", + "description": "Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.", + "type": "actuator", + "uuid": "faa7f94e6a5555c6b2d62e3328520ce0" + } + }, + "description": "Parking brake signals", + "type": "branch", + "uuid": "3849d42292f4551590fa4bf716fc90f7" + }, + "SteeringWheel": { + "children": { + "Angle": { + "datatype": "int16", + "description": "Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right.", + "type": "sensor", + "unit": "degrees", + "uuid": "92cd3b3d37585b2291806fe5127d9393" + }, + "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", + "uuid": "6a84cc3604fc5960a1fb384fe63fae72" + }, + "Position": { + "datatype": "string", + "default": "front_left", + "description": "Position of the steering wheel on the left or right side of the vehicle.", + "enum": [ + "front_left", + "front_right" + ], + "type": "attribute", + "uuid": "314d6eeeba195098b36ae7f476d27824" + }, + "Tilt": { + "datatype": "uint8", + "description": "Steering wheel column tilt. 0 = Lowest position. 100 = Highest position.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "33e979769f91521d8080384447d06c00" + } + }, + "description": "Steering wheel signals", + "type": "branch", + "uuid": "8c759072791e5986ac4efe9df0c2b751" + }, + "TowWeight": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.TowWeight", + "description": "Maximum weight, in kilos, of trailer.", + "type": "attribute", + "unit": "kg", + "uuid": "ff8fc44fac735c278bf18291790cc9db" + }, + "Track": { + "datatype": "uint16", + "default": 0, + "description": "Overall wheel tracking, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "f66cc4e6d7cf5e1da0d58af902dbb36b" + }, + "Trailer": { + "children": { + "Connected": { + "datatype": "boolean", + "deprecation": "V2.1 moved to Vehicle.Trailer.Connected", + "description": "Signal indicating if trailer is connected or not.", + "type": "sensor", + "uuid": "00894266101c534fbcc4a6fb6d3a497a" + } + }, + "deprecation": "V2.1 moved to Vehicle.Trailer", + "description": "Trailer signals", + "type": "branch", + "uuid": "228ce19986db5ce383fa5725fcb6b01b" + }, + "Wheelbase": { + "datatype": "uint16", + "default": 0, + "description": "Overall wheel base, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "11677e0433935dc7aa9c1806c96a8a6b" + }, + "Width": { + "datatype": "uint16", + "default": 0, + "deprecation": "V2.1 moved to Vehicle.Width", + "description": "Overall vehicle width, in mm.", + "type": "attribute", + "unit": "mm", + "uuid": "abd0c2786e275dc1b9669dd337ba6c65" + } + }, + "description": "All data concerning steering, suspension, wheels, and brakes.", + "type": "branch", + "uuid": "87d260d635425da0a4ebd62bc4e5c313" + }, + "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" + }, + "CurrentLocation": { + "children": { + "Accuracy": { + "datatype": "double", + "description": "Accuracy level of the latitude and longitude coordinates.", + "type": "sensor", + "unit": "m", + "uuid": "c6135205a21753e49b45614d562a89b7" + }, + "Altitude": { + "datatype": "double", + "description": "Current elevation of the position.", + "type": "sensor", + "unit": "m", + "uuid": "d3ead98ab0b751c1a5b5dd5bc0e5e216" + }, + "Heading": { + "datatype": "double", + "description": "Current magnetic compass heading.", + "max": 360, + "min": 0, + "type": "sensor", + "unit": "degrees", + "uuid": "2a8f0afa2b315943aa001278875ce012" + }, + "Latitude": { + "datatype": "double", + "description": "Current latitude of vehicle.", + "max": 90, + "min": -90, + "type": "sensor", + "unit": "degrees", + "uuid": "08933c5a445055df80bea15fbfa07f1c" + }, + "Longitude": { + "datatype": "double", + "description": "Current longitude of vehicle.", + "max": 180, + "min": -180, + "type": "sensor", + "unit": "degrees", + "uuid": "5246f2ec5fea550cb1b36f110854cfbb" + } + }, + "description": "The current latitude and longitude of the vehicle.", + "type": "branch", + "uuid": "24777bd485f15fb69550ae0520c40ad5" + }, + "CurrentOverallWeight": { + "datatype": "uint16", + "description": "Current overall Vehicle weight. Including passengers, cargo and other load inside the car.", + "type": "sensor", + "unit": "kg", + "uuid": "75599d7628bb5f35839055269d3ad205" + }, + "DriveTime": { + "datatype": "uint32", + "description": "Accumulated drive time in seconds.", + "type": "sensor", + "unit": "s", + "uuid": "f707495fbe155b7fa109dbb69c021850" + }, + "Driver": { + "children": { + "AttentiveProbability": { + "datatype": "float", + "description": "Probability of attentiveness of the driver.", + "type": "sensor", + "unit": "percent", + "uuid": "fcd202467afb533fbbf9e7da89cc1cee" + }, + "DistractionLevel": { + "datatype": "float", + "description": "Distraction level of the driver will be the level how much the driver is distracted, by multiple factors. E.g. Driving situation, acustical or optical signales inside the cockpit, phone calls", + "type": "sensor", + "unit": "percent", + "uuid": "cb35ec0b924e58979e1469146d65c3fa" + }, + "EyesOnRoad": { + "datatype": "boolean", + "description": "Has driver the eyes on road or not?", + "type": "sensor", + "uuid": "52003ac6512e594a87a378e3edf4c5e6" + }, + "FatigueLevel": { + "datatype": "float", + "description": "Fatigueness level of driver. Evaluated by multiple factors like trip time, behaviour of steering, eye status.", + "type": "sensor", + "unit": "percent", + "uuid": "49b1626295705a79ae20d8a270c48b6b" + }, + "HeartRate": { + "datatype": "uint16", + "description": "Heart rate of the driver.", + "type": "sensor", + "uuid": "d71516905f785c4da867a2f86e774d93" + }, + "Identifier": { + "children": { + "Issuer": { + "datatype": "string", + "description": "Unique Issuer for the authentification of the occupant. E.g. https://accounts.funcorp.com", + "type": "sensor", + "uuid": "ee7988d26d7156d2a030ecc506ea97e7" + }, + "Subject": { + "datatype": "string", + "description": "Subject for the authentification of the occupant. E.g. UserID 7331677", + "type": "sensor", + "uuid": "b41ec688af265f10824bc9635989ac55" + } + }, + "description": "Identifier attributes based on OAuth 2.0.", + "type": "branch", + "uuid": "89705397069c5ec58d607318f2ff0ea8" + } + }, + "description": "Driver data.", + "type": "branch", + "uuid": "1cac57e7b7e756dc8a154eaacbce6426" + }, + "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" + }, + "Height": { + "datatype": "uint16", + "default": 0, + "description": "Overall vehicle height.", + "type": "attribute", + "unit": "mm", + "uuid": "9784d39f68b8541f90c355178ded7d7c" + }, + "IdleTime": { + "datatype": "uint32", + "description": "Accumulated idle time in seconds.", + "type": "sensor", + "unit": "s", + "uuid": "97be8abc404f5c15a78e7edc6296ab04" + }, + "IgnitionOffTime": { + "datatype": "uint32", + "description": "Accumulated ignition off time in seconds.", + "type": "sensor", + "unit": "s", + "uuid": "c0c4467bb00d5c0683c5bb81bcfdcb3e" + }, + "IgnitionOn": { + "datatype": "boolean", + "deprecation": "V2.2 replaced by LowVoltageSystemState", + "description": "Indicates whether the vehicle ignition is on or off.", + "type": "sensor", + "uuid": "6de19e6839af5f62acab3fbbd8077a98" + }, + "IgnitionOnTime": { + "datatype": "uint32", + "description": "Accumulated ignition on time in seconds.", + "type": "sensor", + "unit": "s", + "uuid": "ffae3b559998574ba58ee66dd0ac5d39" + }, + "IsMoving": { + "datatype": "boolean", + "description": "Indicates whether the vehicle is stationary or moving", + "type": "sensor", + "uuid": "db69549cc7375e919c2a2883b41cd19c" + }, + "Length": { + "datatype": "uint16", + "default": 0, + "description": "Overall vehicle length.", + "type": "attribute", + "unit": "mm", + "uuid": "885f1be6842a513582e52a42edb3176f" + }, + "LowVoltageSystemState": { + "datatype": "string", + "description": "State of the supply voltage of the control units (usually 12V).", + "enum": [ + "UNDEFINED", + "LOCK", + "OFF", + "ACC", + "ON", + "START" + ], + "type": "sensor", + "uuid": "d7391ceb132e5519b02d4c13d5513d99" + }, + "MaxTowBallWeight": { + "datatype": "uint16", + "default": 0, + "description": "Maximum vertical weight on the tow ball of a trailer.", + "type": "attribute", + "unit": "kg", + "uuid": "fec550f2064750e8b65b54fbf1368d68" + }, + "MaxTowWeight": { + "datatype": "uint16", + "default": 0, + "description": "Maximum weight of trailer.", + "type": "attribute", + "unit": "kg", + "uuid": "a1b8fd65897654aa8a418bccf443f1f3" + }, + "OBD": { + "children": { + "AbsoluteLoad": { + "datatype": "float", + "description": "PID 43 - Absolute load value", + "type": "sensor", + "unit": "percent", + "uuid": "b3dd889a42ce5de9a7904b7196ae325c" + }, + "AcceleratorPositionD": { + "datatype": "float", + "description": "PID 49 - Accelerator pedal position D", + "type": "sensor", + "unit": "percent", + "uuid": "7e63256081ac5a7b8a28a6fa3c2c2ff9" + }, + "AcceleratorPositionE": { + "datatype": "float", + "description": "PID 4A - Accelerator pedal position E", + "type": "sensor", + "unit": "percent", + "uuid": "4104e7fc25355e25b4522d233565d84b" + }, + "AcceleratorPositionF": { + "datatype": "float", + "description": "PID 4B - Accelerator pedal position F", + "type": "sensor", + "unit": "percent", + "uuid": "95f5c2a209a857ff930e2f8e32ac2d3f" + }, + "AirStatus": { + "datatype": "string", + "description": "PID 12 - Secondary air status", + "type": "sensor", + "uuid": "548f65bf59ed505a86dfaa1c33342e4d" + }, + "AmbientAirTemperature": { + "datatype": "float", + "description": "PID 46 - Ambient air temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "220a90f183c5583ea8b8b6454d774517" + }, + "AuxInputStatus": { + "datatype": "boolean", + "description": "PID 1E - Auxiliary input status (power take off)", + "type": "sensor", + "uuid": "6e0b531c320e50d59fb46e98df17620a" + }, + "BarometricPressure": { + "datatype": "float", + "description": "PID 33 - Barometric pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "1966bfff4d235767bfd9a21afb445ac7" + }, + "Catalyst": { + "children": { + "Bank1": { + "children": { + "Temperature1": { + "datatype": "float", + "description": "PID 3C - Catalyst temperature from bank 1, sensor 1", + "type": "sensor", + "unit": "celsius", + "uuid": "5a770f13939e5d069682d408f160a895" + }, + "Temperature2": { + "datatype": "float", + "description": "PID 3E - Catalyst temperature from bank 1, sensor 2", + "type": "sensor", + "unit": "celsius", + "uuid": "ca9419a5d23b5937af23b51d823722fa" + } + }, + "description": "Catalyst bank 1 signals", + "type": "branch", + "uuid": "0c3aaf014ba95b938b639d4202ef8b25" + }, + "Bank2": { + "children": { + "Temperature1": { + "datatype": "float", + "description": "PID 3D - Catalyst temperature from bank 2, sensor 1", + "type": "sensor", + "unit": "celsius", + "uuid": "011658e4ee89502c9a33877c92dbf888" + }, + "Temperature2": { + "datatype": "float", + "description": "PID 3F - Catalyst temperature from bank 2, sensor 2", + "type": "sensor", + "unit": "celsius", + "uuid": "f60c68f0ebca5fcf97086ce04e16d661" + } + }, + "description": "Catalyst bank 2 signals", + "type": "branch", + "uuid": "9a20459754755146a3b9608bf6384835" + } + }, + "description": "Catalyst signals", + "type": "branch", + "uuid": "4eb0b191d6445de081f3f3f759af31c2" + }, + "CommandedEGR": { + "datatype": "float", + "description": "PID 2C - Commanded exhaust gas recirculation (EGR)", + "type": "sensor", + "unit": "percent", + "uuid": "0265890a4a695ee6952c9b9f565ddaa5" + }, + "CommandedEVAP": { + "datatype": "float", + "description": "PID 2E - Commanded evaporative purge (EVAP) valve", + "type": "sensor", + "unit": "percent", + "uuid": "5e6295d04a9159b88f4698b561b86842" + }, + "CommandedEquivalenceRatio": { + "datatype": "float", + "description": "PID 44 - Commanded equivalence ratio", + "type": "sensor", + "unit": "ratio", + "uuid": "104e39e816f65fa791d0afa24603292b" + }, + "ControlModuleVoltage": { + "datatype": "float", + "description": "PID 42 - Control module voltage", + "type": "sensor", + "unit": "V", + "uuid": "59e072b932605ffc88a299c874d885c4" + }, + "CoolantTemperature": { + "datatype": "float", + "description": "PID 05 - Coolant temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "824892cdc72d5f92a38ef3136576edc8" + }, + "DTCList": { + "datatype": "string[]", + "description": "List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX )", + "type": "sensor", + "uuid": "eee1b64e69845d5ab5e793b74631f9dc" + }, + "DistanceSinceDTCClear": { + "datatype": "float", + "description": "PID 31 - Distance traveled since codes cleared", + "type": "sensor", + "unit": "km", + "uuid": "0da628e2c69d561eb86216ddcb6e7b2a" + }, + "DistanceWithMIL": { + "datatype": "float", + "description": "PID 21 - Distance traveled with MIL on", + "type": "sensor", + "unit": "km", + "uuid": "a9a522e343f25522b08f11e81bb91349" + }, + "DriveCycleStatus": { + "children": { + "DTCCount": { + "datatype": "uint8", + "description": "Number of sensor Trouble Codes (DTC)", + "type": "sensor", + "uuid": "312856f746ff560e8098c19196964d3b" + }, + "IgnitionType": { + "datatype": "string", + "description": "Type of the ignition for ICE - spark = spark plug ignition, compression = self-igniting (Diesel engines)", + "enum": [ + "spark", + "compression" + ], + "type": "sensor", + "uuid": "1aeb7b6d025f5a8693104824abaa1c49" + }, + "MIL": { + "datatype": "boolean", + "description": "Malfunction Indicator Light (MIL) - False = Off, True = On", + "type": "sensor", + "uuid": "7ce9859f21205e7f8876a10331fe6be7" + } + }, + "description": "PID 41 - OBD status for the current drive cycle", + "type": "branch", + "uuid": "5215e28062f75154822789b8a5f30630" + }, + "EGRError": { + "datatype": "float", + "description": "PID 2D - Exhaust gas recirculation (EGR) error", + "type": "sensor", + "unit": "percent", + "uuid": "80a7000c5c7b5444b5571a26264061e5" + }, + "EVAPVaporPressure": { + "datatype": "float", + "description": "PID 32 - Evaporative purge (EVAP) system pressure", + "type": "sensor", + "unit": "Pa", + "uuid": "70b5dae2ffd0561eab73efed8ad2f0ad" + }, + "EVAPVaporPressureAbsolute": { + "datatype": "float", + "description": "PID 53 - Absolute evaporative purge (EVAP) system pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "ef188a1e1a1356f7bc425081e3e00805" + }, + "EVAPVaporPressureAlternate": { + "datatype": "float", + "description": "PID 54 - Alternate evaporative purge (EVAP) system pressure", + "type": "sensor", + "unit": "Pa", + "uuid": "68eaba3c79975d61bc35b92cd3e5e8d0" + }, + "EngineLoad": { + "datatype": "float", + "description": "PID 04 - Engine load in percent - 0 = no load, 100 = full load", + "type": "sensor", + "unit": "percent", + "uuid": "a8fda8a1b4c6534aa49c447bafc1c700" + }, + "EngineSpeed": { + "datatype": "float", + "description": "PID 0C - Engine speed measured as rotations per minute", + "type": "sensor", + "unit": "rpm", + "uuid": "b682eea93b3e5874ab3b52e95a1fad37" + }, + "EthanolPercent": { + "datatype": "float", + "description": "PID 52 - Percentage of ethanol in the fuel", + "type": "sensor", + "unit": "percent", + "uuid": "a207e7de17e1520c894b412af6f2522c" + }, + "FreezeDTC": { + "datatype": "string", + "description": "PID 02 - DTC that triggered the freeze frame", + "type": "sensor", + "uuid": "5b87fae8dda4522aae209ae528960782" + }, + "FuelInjectionTiming": { + "datatype": "float", + "description": "PID 5D - Fuel injection timing", + "type": "sensor", + "unit": "degrees", + "uuid": "ab4869446f5357d6936838983e1b8949" + }, + "FuelLevel": { + "datatype": "float", + "description": "PID 2F - Fuel level in the fuel tank", + "type": "sensor", + "unit": "percent", + "uuid": "fd39813424ee5cd08c44714b35697287" + }, + "FuelPressure": { + "datatype": "float", + "description": "PID 0A - Fuel pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "34e6b0689f025d7b9bfa1fc49bb30c0f" + }, + "FuelRailPressureAbsolute": { + "datatype": "float", + "description": "PID 59 - Absolute fuel rail pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "83c88b13d30153949eeca1b1180a9061" + }, + "FuelRailPressureDirect": { + "datatype": "float", + "description": "PID 23 - Fuel rail pressure direct inject", + "type": "sensor", + "unit": "kPa", + "uuid": "039cb7bf1a8356a98d09eaf4fc029fe9" + }, + "FuelRailPressureVac": { + "datatype": "float", + "description": "PID 22 - Fuel rail pressure relative to vacuum", + "type": "sensor", + "unit": "kPa", + "uuid": "b3b0adf44aa3572fa07e7434993e6458" + }, + "FuelRate": { + "datatype": "float", + "description": "PID 5E - Engine fuel rate", + "type": "sensor", + "unit": "l/h", + "uuid": "4ab7c2b710f95ceb9c7d01d19dabac38" + }, + "FuelStatus": { + "datatype": "string", + "description": "PID 03 - Fuel status", + "type": "sensor", + "uuid": "15fa2f3f667a5f5786eda5c83435ef16" + }, + "FuelType": { + "datatype": "string", + "description": "PID 51 - Fuel type", + "type": "sensor", + "uuid": "aefb45bdd8035904b0c8f3ffcedc53a9" + }, + "HybridBatteryRemaining": { + "datatype": "float", + "description": "PID 5B - Remaining life of hybrid battery", + "type": "sensor", + "unit": "percent", + "uuid": "c9517b6243df5e8d8f3aa3e57f71ec37" + }, + "IntakeTemp": { + "datatype": "float", + "description": "PID 0F - Intake temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "7c108305178b5854b430a23e125588bd" + }, + "LongTermFuelTrim1": { + "datatype": "float", + "description": "PID 07 - Long Term (learned) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "1c203b11667150f0b4ee1be26a60c084" + }, + "LongTermFuelTrim2": { + "datatype": "float", + "description": "PID 09 - Long Term (learned) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "b02aff2efce05632b5694a256e5b9ec7" + }, + "LongTermO2Trim1": { + "datatype": "float", + "description": "PID 56 (byte A) - Long term secondary O2 trim - Bank 1", + "type": "sensor", + "unit": "percent", + "uuid": "9a9586e29a02567e9920cb9b0aa2e3f5" + }, + "LongTermO2Trim2": { + "datatype": "float", + "description": "PID 58 (byte A) - Long term secondary O2 trim - Bank 2", + "type": "sensor", + "unit": "percent", + "uuid": "e579f6c930605b389e8ce2d7edd92999" + }, + "LongTermO2Trim3": { + "datatype": "float", + "description": "PID 56 (byte B) - Long term secondary O2 trim - Bank 3", + "type": "sensor", + "unit": "percent", + "uuid": "50ea51ad343a5e59b1d214053e522a45" + }, + "LongTermO2Trim4": { + "datatype": "float", + "description": "PID 58 (byte B) - Long term secondary O2 trim - Bank 4", + "type": "sensor", + "unit": "percent", + "uuid": "f9c20edd12f456e5ace21581cea484bd" + }, + "MAF": { + "datatype": "float", + "description": "PID 10 - Grams of air drawn into engine per second", + "type": "sensor", + "unit": "g/s", + "uuid": "f3acdf89fb865313883d5d3126f15518" + }, + "MAP": { + "datatype": "float", + "description": "PID 0B - Intake manifold pressure", + "type": "sensor", + "unit": "kPa", + "uuid": "335991b1b53f56f097fea7b05d4db83b" + }, + "MaxMAF": { + "datatype": "float", + "description": "PID 50 - Maximum flow for mass air flow sensor", + "type": "sensor", + "unit": "g/s", + "uuid": "e21826479f715ee7afe8dc485f109b11" + }, + "O2": { + "children": { + "Sensor1": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "ee366d40132456c0bce8cac3a837f16a" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "e95f4ea667265ee3a68ab57b86ecbf66" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "3aa8859203d4545083196a9690d72627" + }, + "Sensor2": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "92e6e172777457a9866ca045d0d79853" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "5f1781bde96b53ce9b810a5a56b7c8ed" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "efcb337cf94056c8a724e76bcfee6765" + }, + "Sensor3": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "66c300d35eb85e7387dc42528cca48d9" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "a86a1986f0fe5d25b6c438a00438ff60" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "b8c145402b7a5cffaa2699ed61b056fa" + }, + "Sensor4": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "b71dcf9d850c5d5686f14ad46cd2cae3" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "772cbfab91be59f7bbf3ec4140ffbcc4" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "853945bce86c5c4f95081075ae32261c" + }, + "Sensor5": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "7604de26198b51e28a441f79b1d84242" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "155a0816093b5aee8012ed2a8d532b7f" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "f48c76c9c7ec5ddcb6838ced0bd7517b" + }, + "Sensor6": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "2fb034769cab5089986d90bf7f9000ca" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "85430592fb795e848d7bb91e6b9f1e00" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "5269c1877ded507b87d7d1d7bec10605" + }, + "Sensor7": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "81f34b16b5e05d1ab159de9474eaf5bc" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "23984a68e63f532bab18679e1174130d" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "4b565102e4a052aa8aa64f27dc678ce3" + }, + "Sensor8": { + "children": { + "ShortTermFuelTrim": { + "datatype": "float", + "description": "PID 1x (byte B) - Short term fuel trim", + "type": "sensor", + "unit": "percent", + "uuid": "1699eb2267615e258259e480be0fa606" + }, + "Voltage": { + "datatype": "float", + "description": "PID 1x (byte A) - Sensor voltage", + "type": "sensor", + "unit": "V", + "uuid": "23e057b3629a5136bb585638725fe0a2" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "d5eef24c35f1561982127404b50ece11" + } + }, + "description": "Oxygen sensors (PID 14 - PID 1B)", + "type": "branch", + "uuid": "31f007df72af50f0925d2b4647682a4d" + }, + "O2WR": { + "children": { + "Sensor1": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "bb4c70d9d2ae56c8a9a3be446db6f54c" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "b809083454a5516f995477c59bf4d3c6" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "396251cbfa5a57ffb1dd743298dfcdf9" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "496074cec04a5260b60fd39bb7ed1479" + }, + "Sensor2": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "442ab33180ca5028a37a487056ba4a51" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "ce55aed0e8705a49970566db71ebcf90" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "a784675c3b765d42ad023d8ee412be26" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "079f9960f75d5f399df7ff86fcea8f0c" + }, + "Sensor3": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "c942468e349e5aaebde4d90ee0bc3814" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "f2ae7c781b0a5dcf8db91558e3cf4c13" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "a78f7621a3f75df2adc1dc940219834a" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "a8a83d3e33f9584b824088e830bcbaec" + }, + "Sensor4": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "f16b31fde63a516db04cb44feaa7c27b" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "be09013f423c588eae9c06da9ddf290f" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "abeca90ba22d5c32a34ee907cedf3192" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "bb67047ddad158ba98876a6a87d02e97" + }, + "Sensor5": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "40494cb5826554929f5ecadd5b9173fd" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "16a957200f5c51f89824bbb76a23b9c0" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "699c4db2439f51af8465e823687018b8" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "01c4160d39af5db59c66db844646195e" + }, + "Sensor6": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "06a38b6b4784545bb637279e96d48eb5" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "fdae9bb9a3a45b4680450f0347cf6d66" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "304c181c76d55c3abe75382a935c7bde" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "cff12c30bde957798daaa3a91758b48b" + }, + "Sensor7": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "6ed46315325d540eb95c86ec61eef8e4" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "9221a5289157538b9dcaa0d961c335fa" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "0ad1d79dcce65c00ac48421b5b54ca0e" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "44459df1f25f5d43a07b00f2bad65ef5" + }, + "Sensor8": { + "children": { + "Current": { + "datatype": "float", + "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", + "type": "sensor", + "unit": "A", + "uuid": "96de3c3b036c50c2978ab2aa490d4d9e" + }, + "Lambda": { + "datatype": "float", + "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", + "type": "sensor", + "uuid": "c56db1195fa3519ab6718ab57d2cd543" + }, + "Voltage": { + "datatype": "float", + "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", + "type": "sensor", + "unit": "V", + "uuid": "ab7d6c739f025782bba640e58123f0c8" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "b8865e72055d52a086f6935d5c188cc1" + } + }, + "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", + "type": "branch", + "uuid": "a439f2bc16575318afe20d0bc6a8cacf" + }, + "OBDStandards": { + "datatype": "uint8", + "description": "PID 1C - OBD standards this vehicle conforms to", + "type": "attribute", + "uuid": "1aa8d7d055cf5a29a31b04a12124f673" + }, + "OilTemperature": { + "datatype": "float", + "description": "PID 5C - Engine oil temperature", + "type": "sensor", + "unit": "celsius", + "uuid": "ef3dfc11085d5077b363b1a4e8e4a84e" + }, + "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", + "type": "sensor", + "uuid": "0a9ba3f0a9b256d78bafd62ee8ce73cd" + }, + "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]", + "type": "sensor", + "uuid": "41d3377813d651aa9b9344ba9fd2f880" + }, + "PidsA": { + "datatype": "uint32", + "description": "PID 00 - Bit array of the supported pids 01 to 20", + "type": "sensor", + "uuid": "ba1c1b9034955d2d97249c3b4516beef" + }, + "PidsB": { + "datatype": "uint32", + "description": "PID 20 - Bit array of the supported pids 21 to 40", + "type": "sensor", + "uuid": "00193c560a0a5525baa45681e07b50f6" + }, + "PidsC": { + "datatype": "uint32", + "description": "PID 40 - Bit array of the supported pids 41 to 60", + "type": "sensor", + "uuid": "7c3a3f0ecc5d593aa996892668afe4b0" + }, + "RelativeAcceleratorPosition": { + "datatype": "float", + "description": "PID 5A - Relative accelerator pedal position", + "type": "sensor", + "unit": "percent", + "uuid": "e25de9aacad3549285b4fb234f10be8f" + }, + "RelativeThrottlePosition": { + "datatype": "float", + "description": "PID 45 - Relative throttle position", + "type": "sensor", + "unit": "percent", + "uuid": "54ecf7dd671c5053aac4bc1bb061d64b" + }, + "RunTime": { + "datatype": "float", + "description": "PID 1F - Engine run time", + "type": "sensor", + "unit": "s", + "uuid": "acf70773752256d1a227ab48257624b5" + }, + "RunTimeMIL": { + "datatype": "float", + "description": "PID 4D - Run time with MIL on", + "type": "sensor", + "unit": "min", + "uuid": "555604a484535f60adf8894a6bd895b6" + }, + "ShortTermFuelTrim1": { + "datatype": "float", + "description": "PID 06 - Short Term (immediate) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "569c983874335fb392d4e82a002654cb" + }, + "ShortTermFuelTrim2": { + "datatype": "float", + "description": "PID 08 - Short Term (immediate) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", + "type": "sensor", + "unit": "percent", + "uuid": "53a39620773a523a8182169027169ec2" + }, + "ShortTermO2Trim1": { + "datatype": "float", + "description": "PID 55 (byte A) - Short term secondary O2 trim - Bank 1", + "type": "sensor", + "unit": "percent", + "uuid": "be7ed33a854557ba802da0c51f9f4564" + }, + "ShortTermO2Trim2": { + "datatype": "float", + "description": "PID 57 (byte A) - Short term secondary O2 trim - Bank 2", + "type": "sensor", + "unit": "percent", + "uuid": "c8b962f8990e51d294621408ceaa21d9" + }, + "ShortTermO2Trim3": { + "datatype": "float", + "description": "PID 55 (byte B) - Short term secondary O2 trim - Bank 3", + "type": "sensor", + "unit": "percent", + "uuid": "af58212df970568b9edcc5e58fa36f8d" + }, + "ShortTermO2Trim4": { + "datatype": "float", + "description": "PID 57 (byte B) - Short term secondary O2 trim - Bank 4", + "type": "sensor", + "unit": "percent", + "uuid": "8ef0516c0c965fd6aecbacd6b9120a5b" + }, + "Speed": { + "datatype": "float", + "description": "PID 0D - Vehicle speed", + "type": "sensor", + "unit": "km/h", + "uuid": "91ed0bb43eb054759813cd784b071764" + }, + "Status": { + "children": { + "DTCCount": { + "datatype": "uint8", + "description": "Number of sensor Trouble Codes (DTC)", + "type": "sensor", + "uuid": "4afdf65e788c5f69baf682597e69fb67" + }, + "IgnitionType": { + "datatype": "string", + "description": "Type of the ignition for ICE - spark = spark plug ignition, compression = self-igniting (Diesel engines)", + "enum": [ + "spark", + "compression" + ], + "type": "sensor", + "uuid": "7ffd71caac8e5bd18f93366afdfe534d" + }, + "MIL": { + "datatype": "boolean", + "description": "Malfunction Indicator Light (MIL) False = Off, True = On", + "type": "sensor", + "uuid": "5cfe08ba057c56b18ea55978d33f2390" + } + }, + "description": "PID 01 - OBD status", + "type": "branch", + "uuid": "474f58e593ee5bfebbb9c6ce4a453f96" + }, + "ThrottleActuator": { + "datatype": "float", + "description": "PID 4C - Commanded throttle actuator", + "type": "sensor", + "unit": "percent", + "uuid": "49a19905a1005ee3abe0c0a84d7112d1" + }, + "ThrottlePosition": { + "datatype": "float", + "description": "PID 11 - Throttle position - 0 = closed throttle, 100 = open throttle", + "type": "sensor", + "unit": "percent", + "uuid": "ec1d372020205bb4a846a014b33801e1" + }, + "ThrottlePositionB": { + "datatype": "float", + "description": "PID 47 - Absolute throttle position B", + "type": "sensor", + "unit": "percent", + "uuid": "701712a565ed5bf8b6630487a7152c87" + }, + "ThrottlePositionC": { + "datatype": "float", + "description": "PID 48 - Absolute throttle position C", + "type": "sensor", + "unit": "percent", + "uuid": "06f162dc00a85f628f9d5d1bc952665c" + }, + "TimeSinceDTCCleared": { + "datatype": "float", + "description": "PID 4E - Time since trouble codes cleared", + "type": "sensor", + "unit": "min", + "uuid": "66ea3984a2585dcdaaf6452eef835c0d" + }, + "TimingAdvance": { + "datatype": "float", + "description": "PID 0E - Time advance", + "type": "sensor", + "unit": "degrees", + "uuid": "35533b7e327d5f839b17c932b630767c" + }, + "WarmupsSinceDTCClear": { + "datatype": "uint8", + "description": "PID 30 - Number of warm-ups since codes cleared", + "type": "sensor", + "uuid": "a63ba60721785fc591e3dd067c4dc2ae" + } + }, + "description": "OBD data.", + "type": "branch", + "uuid": "7ad7c512ed5d52c8b31944d2d47a4bc3" + }, + "Powertrain": { + "children": { + "AccumulatedBrakingEnergy": { + "datatype": "float", + "description": "The accumulated energy from regenerative braking over lifetime.", + "type": "sensor", + "unit": "kWh", + "uuid": "0dd466d28d3d5ad094f2015adafb91a5" + }, + "Battery": { + "children": { + "AccumulatedChargedEnergy": { + "datatype": "float", + "description": "The accumulated energy delivered to the battery during charging over lifetime.", + "type": "sensor", + "unit": "kWh", + "uuid": "d2abf26b03f5519d878a7f4b5891519b" + }, + "AccumulatedConsumedEnergy": { + "datatype": "float", + "description": "The accumulated energy leaving HV battery for propulsion and auxiliary loads over lifetime.", + "type": "sensor", + "unit": "kWh", + "uuid": "c96530e0b22c56779cea2645823e87be" + }, + "Charging": { + "children": { + "ChargeCurrent": { + "datatype": "float", + "description": "Current charging current.", + "type": "sensor", + "unit": "A", + "uuid": "a98b14e0d52d51a09d74c85d599738ea" + }, + "ChargeLimit": { + "datatype": "uint8", + "description": "Maximum charge level for battery, can potentially be set manually.", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "6a44522726625d42b0fbdf3f36fb1c87" + }, + "ChargePlugStatus": { + "datatype": "boolean", + "description": "Signal indicating if charge plug is connected or not.", + "type": "sensor", + "uuid": "9be742dcbf2f526bb67b538fd801edc3" + }, + "ChargePlugType": { + "datatype": "string", + "default": "ccs", + "description": "Type of charge plug available on the vehicle (CSS includes Type2).", + "enum": [ + "type 1", + "type 2", + "ccs", + "chademo" + ], + "type": "attribute", + "uuid": "0c4cf2b3979456928967e73b646bda05" + }, + "ChargePortFlap": { + "datatype": "string", + "description": "Signal indicating if charge port cover is open or closed, can potentially be controlled manually.", + "enum": [ + "open", + "closed" + ], + "type": "actuator", + "uuid": "528e53ad98c1546b90bb48f24f04815a" + }, + "ChargeRate": { + "datatype": "float", + "description": "Current charging rate, as in kilometers of range added per hour.", + "type": "sensor", + "unit": "km/h", + "uuid": "382fa50af6a25d64b56979e1306f564e" + }, + "ChargeVoltage": { + "datatype": "float", + "description": "Current charging voltage.", + "type": "sensor", + "unit": "V", + "uuid": "1be74bd9d81d510b9d65cc1f83cb904e" + }, + "MaximumChargingCurrent": { + "datatype": "float", + "description": "Maximum charging current that can be accepted by the system.", + "type": "sensor", + "unit": "A", + "uuid": "36e8aee0ff4c52f5af271ef610523e88" + }, + "Mode": { + "datatype": "string", + "description": "Control of the charge process - manually initiated (plug-in event, companion app, etc), timer-based or grid-controlled (eg ISO 15118).", + "enum": [ + "manual", + "timer", + "grid" + ], + "type": "actuator", + "uuid": "d50906b9d2525e8581fc01f900c1c096" + }, + "StartStopCharging": { + "datatype": "string", + "description": "Start or stop the charging process.", + "enum": [ + "start", + "stop" + ], + "type": "actuator", + "uuid": "e754c34897b4594587b93d8e7e89e280" + }, + "Status": { + "datatype": "boolean", + "description": "State of charging process.", + "type": "sensor", + "uuid": "b772427703c05e7ba81b11424be20540" + }, + "TimeToComplete": { + "datatype": "uint32", + "description": "The time needed to complete the current charging process to the set charge limit. 0 if charging is complete, negative number if no charging process is active.", + "type": "sensor", + "unit": "s", + "uuid": "519e70bc8a985e1b984c472a1cd7d3cf" + }, + "Timer": { + "children": { + "Mode": { + "datatype": "string", + "description": "Defines whether Timer.Time is defining start- or endtime of a charging action; departuretime denotes that target time should be taken from vehicle-level desired departure-time setting.", + "enum": [ + "starttime", + "endtime", + "depaturetime" + ], + "type": "actuator", + "uuid": "af3d94c767aa5cb483d2361289c72abc" + }, + "Time": { + "datatype": "uint32", + "description": "Time value for next charging-related action (Unix timestamp, seconds).", + "type": "actuator", + "unit": "s", + "uuid": "d9cb0f458c255c33830409a3e313f781" + } + }, + "description": "Properties related to timing of battery charging sessions.", + "type": "branch", + "uuid": "4d632fd461e550b4b3af46e21e507457" + } + }, + "description": "Properties related to battery charging", + "type": "branch", + "uuid": "14b2e022987d5cf383ee6ea0c6919195" + }, + "GrossCapacity": { + "datatype": "uint16", + "description": "Gross capacity of the battery", + "type": "attribute", + "unit": "kWh", + "uuid": "7b5402cc647454b49ee019e8689d3737" + }, + "GroundConnected": { + "datatype": "boolean", + "description": "Indicating if the ground (negative terminator) of the traction battery is connected to the powertrain.", + "type": "sensor", + "uuid": "6a98571fda81562ab895e22ff7afc5d0" + }, + "NetCapacity": { + "datatype": "uint16", + "description": "Net capacity of the battery", + "type": "attribute", + "unit": "kWh", + "uuid": "7b037dd1cab553b18a87456a3d764714" + }, + "NominalVoltage": { + "datatype": "uint16", + "description": "Nominal Voltage of the battery", + "type": "attribute", + "unit": "V", + "uuid": "77d38e4890ea55cca3798616968384ed" + }, + "PowerConnected": { + "datatype": "boolean", + "description": "Indicating if the power (positive terminator) of the traction battery is connected to the powertrain.", + "type": "sensor", + "uuid": "ed491318bbf05d96a6e69e371c1697f0" + }, + "Range": { + "datatype": "uint32", + "description": "Remaining range in meters using only battery.", + "type": "sensor", + "unit": "m", + "uuid": "d74254f25bd85a469d2adbec79472071" + }, + "ReferentVoltage": { + "datatype": "uint16", + "description": "Referent Voltage of the battery", + "type": "attribute", + "unit": "V", + "uuid": "bceafc8cc7a852319d5e453312cf6949" + }, + "StateOfCharge": { + "children": { + "Current": { + "datatype": "float", + "description": "Physical state of charge of the high voltage battery. This is not necessarily the state of charge being displayed to the customer.", + "max": 100.0, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "e0628947864a5c14986b2ae1487f550f" + }, + "Displayed": { + "datatype": "float", + "description": "State of charge displayed to the customer.", + "max": 100.0, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "13190cf240665e4db38780ad39051784" + }, + "Target": { + "datatype": "uint8", + "description": "Target state of charge set (eg. by customer).", + "max": 100, + "min": 0, + "type": "actuator", + "unit": "percent", + "uuid": "864039c9295a50f9b7087e3fa8c5ce28" + } + }, + "description": "Information on the state of charge of the vehicle's high voltage battery.", + "type": "branch", + "uuid": "74249091cd7653078b6c1e87ac6fbe5b" + }, + "Temperature": { + "datatype": "float", + "description": "Temperature of the battery pack", + "type": "sensor", + "unit": "celsius", + "uuid": "2b9d90f1d87c57dcbbd6a72807f8d412" + } + }, + "description": "Battery Management data.", + "type": "branch", + "uuid": "3e92d75e0cbc5765a459308f71873ae0" + }, + "CombustionEngine": { + "children": { + "AspirationType": { + "datatype": "string", + "default": "unknown", + "description": "Type of aspiration (natural, turbocharger, supercharger etc).", + "enum": [ + "unknown", + "natural", + "supercharger", + "turbocharger" + ], + "type": "attribute", + "uuid": "3ca6a8ff30275c20a9d8d6d6829574eb" + }, + "Bore": { + "datatype": "float", + "description": "Bore in millimetres.", + "type": "attribute", + "unit": "mm", + "uuid": "1618fb16035b5464961570cc1afd934e" + }, + "CompressionRatio": { + "datatype": "string", + "description": "Engine compression ratio.", + "type": "attribute", + "uuid": "ead42922511051a0a0a1b634781f3c09" + }, + "Configuration": { + "datatype": "string", + "default": "unknown", + "description": "Engine configuration.", + "enum": [ + "unknown", + "straight", + "V", + "boxer", + "W", + "rotary", + "radial", + "square", + "H", + "U", + "opposed", + "X" + ], + "type": "attribute", + "uuid": "586be4567fe059ee9e6cf42901c2e773" + }, + "DieselParticulateFilter": { + "children": { + "DeltaPressure": { + "datatype": "float", + "description": "Delta Pressure of Diesel Particulate Filter.", + "type": "sensor", + "unit": "Pa", + "uuid": "a6f476775c60531b93acb835e0bc6ab6" + }, + "InletTemperature": { + "datatype": "float", + "description": "Inlet temperature of Diesel Particulate Filter.", + "type": "sensor", + "unit": "celsius", + "uuid": "70e90d202d3054bd967e67dce95c8ef2" + }, + "OutletTemperature": { + "datatype": "float", + "description": "Outlet temperature of Diesel Particulate Filter.", + "type": "sensor", + "unit": "celsius", + "uuid": "e2b7f9d97bec5c0d94ade71a5e2f6518" + } + }, + "description": "Diesel Particulate Filter signals", + "type": "branch", + "uuid": "eeddd99ad6475b1a92b9ec7bd7cefdbd" + }, + "Displacement": { + "datatype": "uint16", + "description": "Displacement in cubic centimetres.", + "type": "attribute", + "unit": "cm^3", + "uuid": "94dbd928847150ab842c00fa5caaf272" + }, + "Engine": { + "children": { + "ECT": { + "datatype": "int16", + "description": "Engine coolant temperature.", + "max": 200, + "min": -50, + "type": "sensor", + "unit": "celsius", + "uuid": "de032ac3cc2858f2a1ef0a4b6f945098" + }, + "EOP": { + "datatype": "int16", + "description": "Engine oil pressure.", + "max": 1000, + "min": 0, + "type": "sensor", + "unit": "kPa", + "uuid": "054dacf5e59a5688981834690c5d449e" + }, + "EOT": { + "datatype": "int16", + "description": "Engine oil temperature.", + "max": 300, + "min": -50, + "type": "sensor", + "unit": "celsius", + "uuid": "7fcbd0abd829530ca022e69a224f1845" + }, + "MAF": { + "datatype": "int16", + "description": "Grams of air drawn into engine per second.", + "max": 3000, + "min": 0, + "type": "sensor", + "unit": "g/s", + "uuid": "944823218c565afa86adc3ebdf8b77c5" + }, + "MAP": { + "datatype": "int16", + "description": "Manifold air pressure possibly boosted using forced induction.", + "max": 1000, + "min": 0, + "type": "sensor", + "unit": "kPa", + "uuid": "6269b87f545f5466a0c5ba13432810da" + }, + "Power": { + "datatype": "int16", + "description": "Current engine power output.", + "max": 2000, + "min": 0, + "type": "sensor", + "unit": "kW", + "uuid": "6de515320e3257c7842923c88d11a09f" + }, + "Speed": { + "datatype": "uint16", + "description": "Engine speed measured as rotations per minute.", + "max": 20000, + "min": 0, + "type": "sensor", + "unit": "rpm", + "uuid": "c145005246125d1eb6531052f46eec94" + }, + "TPS": { + "datatype": "int8", + "description": "Current throttle position.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "5ab79d75e2af52dda3d61f3a2bf41462" + }, + "Torque": { + "datatype": "int16", + "description": "Current engine torque.", + "max": 3000, + "min": 0, + "type": "sensor", + "unit": "Nm", + "uuid": "b0295cd26bfc586ca3a42f9296a26ceb" + } + }, + "description": "Engine signals", + "type": "branch", + "uuid": "96a96cd4f18b519eb4b00566b4e6308f" + }, + "EngineCoolantCapacity": { + "datatype": "float", + "description": "Engine coolant capacity in liters.", + "type": "attribute", + "unit": "l", + "uuid": "90b5b64808ea5f4fa2798d96143b0d60" + }, + "EngineOilCapacity": { + "datatype": "float", + "description": "Engine oil capacity in liters.", + "type": "attribute", + "unit": "l", + "uuid": "2ca7af6facb55a13885989faa9bc6ca7" + }, + "EngineOilLevel": { + "datatype": "string", + "description": "Vehicle oil level.", + "enum": [ + "critically_low", + "low", + "normal", + "high", + "critically_high" + ], + "type": "attribute", + "uuid": "e3813f59e94b509eb865fd97255a8a4f" + }, + "FuelType": { + "datatype": "string", + "default": "unknown", + "description": "Type of fuel that the engine runs on.", + "enum": [ + "unknown", + "gasoline", + "diesel", + "E85", + "CNG" + ], + "type": "attribute", + "uuid": "d0f8c79131c850bab8159eaefc7e23e5" + }, + "MaxPower": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in kilowatts, that engine can generate.", + "type": "attribute", + "unit": "kW", + "uuid": "81fbdd5e90f557a38b96578a38dc137d" + }, + "MaxTorque": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in newton meter, that the engine can generate.", + "type": "attribute", + "unit": "Nm", + "uuid": "471cd478c1e8597f8e97c85b4e4ebe26" + }, + "NumberOfCylinders": { + "datatype": "uint16", + "description": "Number of cylinders.", + "type": "attribute", + "uuid": "b2cd342c218257e88d214cdb511df82b" + }, + "NumberOfValvesPerCylinder": { + "datatype": "uint16", + "description": "Number of valves per cylinder.", + "type": "attribute", + "uuid": "44633204726e561ca21beff31f3fef80" + }, + "OilLifeRemaining": { + "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" + }, + "StrokeLength": { + "datatype": "float", + "description": "Stroke length in millimetres.", + "type": "attribute", + "unit": "mm", + "uuid": "1bdfdab7904d51ed93e101b84ea54ddf" + } + }, + "description": "Engine-specific data, stopping at the bell housing.", + "type": "branch", + "uuid": "159e2e3e75f0590f95b4d2f6cfae54b5" + }, + "ElectricMotor": { + "children": { + "MaxPower": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in kilowatts, that motor(s) can generate.", + "type": "attribute", + "unit": "kW", + "uuid": "825ec7911ee958abb199b9f7903df3a6" + }, + "MaxRegenPower": { + "datatype": "uint16", + "default": 0, + "description": "Peak regen/brake power, in kilowatts, that motor(s) can generate.", + "type": "attribute", + "unit": "kW", + "uuid": "7f2cb2650ba95485b7156ffe76e27366" + }, + "MaxRegenTorque": { + "datatype": "uint16", + "default": 0, + "description": "Peak regen/brake torque, in newton meter, that the motor(s) can generate.", + "type": "attribute", + "unit": "Nm", + "uuid": "0e5190c2517b55aa80fcb9bf698e02d6" + }, + "MaxTorque": { + "datatype": "uint16", + "default": 0, + "description": "Peak power, in newton meter, that the motor(s) can generate.", + "type": "attribute", + "unit": "Nm", + "uuid": "cf31eabcde5151f589e9b0f7a6090512" + }, + "Motor": { + "children": { + "CoolantTemperature": { + "datatype": "int16", + "description": "Motor coolant temperature (if applicable).", + "max": 200, + "min": -50, + "type": "sensor", + "unit": "celsius", + "uuid": "ff978ffe8e615fada4b6423d5ba25e25" + }, + "Power": { + "datatype": "int16", + "description": "Current motor power output. Negative values indicate regen mode.", + "max": 2000, + "min": -2000, + "type": "sensor", + "unit": "kW", + "uuid": "630a478781b95ad8b012ce52f745f3e8" + }, + "Rpm": { + "datatype": "int32", + "description": "Motor rotational speed measured as rotations per minute. Negative values indicate reverse driving mode.", + "max": 100000, + "min": -100000, + "type": "sensor", + "unit": "rpm", + "uuid": "96259c99dc105266bbe7aba70e16f1ef" + }, + "Temperature": { + "datatype": "int16", + "description": "Motor temperature.", + "max": 200, + "min": -50, + "type": "sensor", + "unit": "celsius", + "uuid": "6ae826db62d552c5b9fe2701f5655455" + }, + "Torque": { + "datatype": "int16", + "description": "Current motor torque. Negative values indicate regen mode.", + "max": 5000, + "min": -5000, + "type": "sensor", + "unit": "Nm", + "uuid": "0d07c1c502a1557a91b4ed564e024a19" + } + }, + "description": "motor signals", + "type": "branch", + "uuid": "af1521cbe56b599fa9fff8c6171e645c" + } + }, + "description": "Electric Motor specific data.", + "type": "branch", + "uuid": "1ade64f6b0d05f6c9340e7a667555ae2" + }, + "FuelSystem": { + "children": { + "AverageConsumption": { + "datatype": "float", + "description": "Average consumption in liters per 100 km.", + "min": 0, + "type": "sensor", + "unit": "l/100km", + "uuid": "e2252108125a54dcab34e1bad0fe8bdc" + }, + "ConsumptionSinceStart": { + "datatype": "float", + "description": "Fuel amount in liters consumed since start of current trip.", + "type": "sensor", + "unit": "l", + "uuid": "adf0a40964ff556f92b10275ad918883" + }, + "EngineStopStartEnabled": { + "datatype": "boolean", + "description": "Indicates whether eco start stop is currently enabled", + "type": "sensor", + "uuid": "901f8977c24855fd95aa8e4cf166d3e9" + }, + "FuelType": { + "datatype": "string", + "default": "unknown", + "description": "Defines the fuel type of the vehicle", + "enum": [ + "unknown", + "gasoline", + "diesel", + "electric", + "hybrid", + "E85", + "CNG", + "LPG" + ], + "type": "attribute", + "uuid": "76442e696df5540b8b747373b29895d9" + }, + "HybridType": { + "datatype": "string", + "default": "unknown", + "description": "Defines the hybrid type of the vehicle", + "enum": [ + "unknown", + "not_applicable", + "stop_start", + "belt_ISG", + "CIMG", + "PHEV" + ], + "type": "attribute", + "uuid": "f0f72012f5e453c1935ff8c3a5aff696" + }, + "InstantConsumption": { + "datatype": "float", + "description": "Current consumption in liters per 100 km.", + "min": 0, + "type": "sensor", + "unit": "l/100km", + "uuid": "cf65767ec8ad56ffadfdccd831e4b562" + }, + "Level": { + "datatype": "uint8", + "description": "Level in fuel tank as percent of capacity. 0 = empty. 100 = full.", + "max": 100, + "min": 0, + "type": "sensor", + "unit": "percent", + "uuid": "902bd295a662573088291e8b6a6b7943" + }, + "LowFuelLevel": { + "datatype": "boolean", + "description": "Indicates that the fuel level is low (e.g. <50km range)", + "type": "sensor", + "uuid": "7f5fd2d9ca465d80af8e4bc0f8901b3b" + }, + "Range": { + "datatype": "uint32", + "description": "Remaining range in meters using only liquid fuel.", + "type": "sensor", + "unit": "m", + "uuid": "c5a0dbe5e754553897f0aed0069af57a" + }, + "TankCapacity": { + "datatype": "float", + "description": "Capacity of the fuel tank in liters", + "type": "attribute", + "unit": "l", + "uuid": "362643b866c55d5386fdbdf383464e90" + }, + "TimeSinceStart": { + "datatype": "uint32", + "description": "Time in seconds elapsed since start of current trip.", + "type": "sensor", + "unit": "s", + "uuid": "1a8dbc5107b3522fad852e63aa85aef9" + } + }, + "description": "Fuel system data.", + "type": "branch", + "uuid": "dbc194a7f97d5a56bc8942c17c2db22e" + }, + "Range": { + "datatype": "uint32", + "description": "Remaining range in meters using all energy sources available in the vehicle.", + "type": "sensor", + "unit": "m", + "uuid": "ea4b6de772d65d20b1fa611f997aa7b8" + }, + "Transmission": { + "children": { + "ClutchWear": { + "datatype": "uint8", + "description": "Clutch wear as a percent. 0 = no wear. 100 = worn.", + "type": "sensor", + "unit": "percent", + "uuid": "c113405ad165571a9d53ae4cf55dc929" + }, + "CurrentGear": { + "datatype": "int8", + "description": "The current gear. 0=Neutral, 1/2/..=Forward, -1/..=Reverse", + "type": "sensor", + "uuid": "cd0ba1d772565e16bff46cbd5c9361da" + }, + "DriveType": { + "datatype": "string", + "default": "unknown", + "description": "Drive type.", + "enum": [ + "unknown", + "forward wheel drive", + "rear wheel drive", + "all wheel drive" + ], + "type": "attribute", + "uuid": "0e480b76fb2d5f8bb08fb586f90ee6ae" + }, + "Gear": { + "datatype": "int8", + "deprecation": "V2.2 replaced by CurrentGear and SelectedGear", + "description": "Current gear. 0=Neutral. -1=Reverse", + "max": 16, + "min": -1, + "type": "actuator", + "uuid": "d72df16818e75f71b9fffdff8250e9b9" + }, + "GearChangeMode": { + "datatype": "string", + "description": "Is the gearbox in automatic or manual (paddle) mode.", + "enum": [ + "manual", + "automatic" + ], + "type": "actuator", + "uuid": "ff3c69378c2f598286e51f7dac13adaa" + }, + "GearCount": { + "datatype": "uint8", + "default": 0, + "description": "Number of forward gears in the transmission. -1 = CVT.", + "type": "attribute", + "uuid": "84293f40d3ed57f1a08992d97b1a9ccd" + }, + "PerformanceMode": { + "datatype": "string", + "description": "Current gearbox performance mode.", + "enum": [ + "normal", + "sport", + "economy", + "snow", + "rain" + ], + "type": "actuator", + "uuid": "6b5cfd85cb595e559503ccf993be04dd" + }, + "SelectedGear": { + "datatype": "int8", + "description": "The selected gear. 0=Neutral, 1/2/..=Forward, -1/..=Reverse, 126=Park, 127=Drive", + "type": "actuator", + "uuid": "490fd99b9d5f562eb180c19e8cef5e12" + }, + "Speed": { + "datatype": "int32", + "deprecation": "V2.1 removed because doubled with Vehicle.Speed", + "description": "Vehicle speed, as sensed by the gearbox.", + "max": 250, + "min": -250, + "type": "sensor", + "unit": "km/h", + "uuid": "080c5c7a7a8f512a858f84cd678d09cb" + }, + "Temperature": { + "datatype": "int16", + "description": "The current gearbox temperature", + "max": 200, + "min": -50, + "type": "sensor", + "unit": "celsius", + "uuid": "4f5e48c3511b5e1abff11aa7ec62dd18" + }, + "TravelledDistance": { + "datatype": "float", + "description": "Odometer reading, total distance travelled during the lifetime of the transmission.", + "type": "sensor", + "unit": "km", + "uuid": "b9dd66f20c7f5b12a046766b94dc20c1" + }, + "Type": { + "datatype": "string", + "default": "unknown", + "description": "Transmission type.", + "enum": [ + "unknown", + "sequential", + "H", + "automatic", + "DSG", + "CVT" + ], + "type": "attribute", + "uuid": "f83b9e5464d85a0288fcb32c164d3c63" + } + }, + "description": "Transmission-specific data, stopping at the drive shafts.", + "type": "branch", + "uuid": "6b71e284b63a527caa6296a66e9fdd0c" + } + }, + "description": "Powertrain data for battery management, etc.", + "type": "branch", + "uuid": "12f35ec7bd1c58d1a329565ce3d053d5" + }, + "Private": { + "children": {}, + "description": "Uncontrolled branch where non-public signals can be defined.", + "type": "branch", + "uuid": "4161866b048a5b76aa3124dec82e0260" + }, + "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" + }, + "Service": { + "children": { + "DistanceToService": { + "datatype": "float", + "description": "Remaining distance to service (of any kind). Negative values indicate service overdue.", + "type": "sensor", + "unit": "km", + "uuid": "6f4347ce149759819572c8c3a17e8d93" + }, + "ServiceDue": { + "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": "6783737332b25637a847183921e1a51d" + }, + "TimeToService": { + "datatype": "int32", + "description": "Remaining time to service (of any kind). Negative values indicate service overdue.", + "type": "sensor", + "unit": "s", + "uuid": "c968be91a5685fa9ae30b84a0f91934e" + } + }, + "description": "Service data.", + "type": "branch", + "uuid": "b6463772705b56a7a993e23601bd3d47" + }, + "Speed": { + "datatype": "float", + "description": "Vehicle speed", + "type": "sensor", + "unit": "km/h", + "uuid": "efe50798638d55fab18ab7d43cc490e9" + }, + "Trailer": { + "children": { + "Connected": { + "datatype": "boolean", + "description": "Signal indicating if trailer is connected or not.", + "type": "sensor", + "uuid": "4da109044a185685a29190dd71838df5" + } + }, + "description": "Trailer signals", + "type": "branch", + "uuid": "66206ee5c25a5817bef214c0c8ae8013" + }, + "TravelledDistance": { + "datatype": "float", + "description": "Odometer reading, total distance travelled during the lifetime of the vehicle.", + "type": "sensor", + "unit": "km", + "uuid": "90be9d7b0ac15b75a83027ea3b73b65b" + }, + "TripMeterReading": { + "datatype": "float", + "description": "Current trip meter reading", + "type": "sensor", + "unit": "km", + "uuid": "81f51ebfe29c591190171d7b96e1c948" + }, + "VehicleIdentification": { + "children": { + "ACRISSCode": { + "datatype": "string", + "description": "The ACRISS Car Classification Code is a code used by many car rental companies.", + "type": "attribute", + "uuid": "de98b9de86f359b4bd703b2e3d48f25a" + }, + "Brand": { + "datatype": "string", + "description": "Vehicle brand or manufacturer", + "type": "attribute", + "uuid": "19fd645ff5385767bcdbf5dd4313483f" + }, + "Model": { + "datatype": "string", + "description": "Vehicle model", + "type": "attribute", + "uuid": "dd3d3b72e6a85b3695ba25f829255403" + }, + "VIN": { + "datatype": "string", + "description": "17-character Vehicle Identification Number (VIN) as defined by ISO 3779", + "type": "attribute", + "uuid": "6f0b6fa8c34f589baa92e565bc9df5bd" + }, + "WMI": { + "datatype": "string", + "description": "3-character World Manufacturer Identification (WMI) as defined by ISO 3780", + "type": "attribute", + "uuid": "e7c86defbcd554a79f90ba85de58e133" + }, + "Year": { + "datatype": "uint16", + "description": "Model year of the vehicle", + "type": "attribute", + "uuid": "9a76b0aca8e45f6fb33dbaf5b976b8b5" + }, + "bodyType": { + "datatype": "string", + "description": "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.).", + "type": "attribute", + "uuid": "3f6910e6773c532e986240e3d45f623b" + }, + "dateVehicleFirstRegistered": { + "datatype": "string", + "description": "The date of the first registration of the vehicle with the respective public authorities.", + "type": "attribute", + "uuid": "a48af4a5ef28520090255ca1ea2610f1" + }, + "knownVehicleDamages": { + "datatype": "string", + "description": "A textual description of known damages, both repaired and unrepaired.", + "type": "attribute", + "uuid": "60f32d73afff58d0ac80c1c09b98dfb9" + }, + "meetsEmissionStandard": { + "datatype": "string", + "description": "Indicates that the vehicle meets the respective emission standard.", + "type": "attribute", + "uuid": "4324b78dfb865164ba91345564d88f39" + }, + "productionDate": { + "datatype": "string", + "description": "The date of production of the item, e.g. vehicle.", + "type": "attribute", + "uuid": "fc755d9de42d5286bfd6b35e4dca6bcb" + }, + "purchaseDate": { + "datatype": "string", + "description": "The date the item e.g. vehicle was purchased by the current owner.", + "type": "attribute", + "uuid": "07ac6595c60a57318b627a05775d696a" + }, + "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": "d5efd9741e5f582f8a8da0d93811347f" + }, + "vehicleModelDate": { + "datatype": "string", + "description": "The release date of a vehicle model (often used to differentiate versions of the same make and model).", + "type": "attribute", + "uuid": "8292d5c6e0b15a92b97d301b31a6f27b" + }, + "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": "0d00e8ecfccf52d9aed6abbe5938df5d" + }, + "vehicleSpecialUsage": { + "datatype": "string", + "description": "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school.", + "type": "attribute", + "uuid": "5d4264def1fd5328a45108a62a4770b1" + }, + "vehicleinteriorColor": { + "datatype": "string", + "description": "The color or color combination of the interior of the vehicle.", + "type": "attribute", + "uuid": "aea3643341d650959293617972a9405e" + }, + "vehicleinteriorType": { + "datatype": "string", + "description": "The type or material of the interior of the vehicle (e.g. synthetic fabric, leather, wood, etc.).", + "type": "attribute", + "uuid": "a2466d9fa9b05409ba53ed46660b7147" + } + }, + "description": "Attributes that identify a vehicle", + "type": "branch", + "uuid": "c33861c3e9125208b05f23fe922bf08e" + }, + "VersionVSS": { + "children": { + "Label": { + "datatype": "string", + "description": "Label to further describe the version", + "type": "attribute", + "uuid": "7c92cd50d24b5662922b27cb9a327e53" + }, + "Major": { + "datatype": "uint32", + "default": 2, + "description": "Supported Version of VSS - Major version", + "type": "attribute", + "uuid": "5edf1a338c975cbb84d4ce3cfe1aa4b4" + }, + "Minor": { + "datatype": "uint32", + "default": 2, + "description": "Supported Version of VSS - Minor version", + "type": "attribute", + "uuid": "6e70a598dbc7534c96c58c18e9888cfd" + }, + "Patch": { + "datatype": "uint32", + "default": 0, + "description": "Supported Version of VSS - Patch version", + "type": "attribute", + "uuid": "69858f224af459338b9bfbff436dda45" + } + }, + "description": "Supported Version of VSS", + "type": "branch", + "uuid": "9a687e56f1305eedb20f6a021ea58f48" + }, + "Width": { + "datatype": "uint16", + "default": 0, + "description": "Overall vehicle width.", + "type": "attribute", + "unit": "mm", + "uuid": "b4aabe144e3259adb1459a2e25fec9bd" + }, + "accelerationTime": { + "datatype": "int16", + "deprecation": "V2.1 removed as ambiguous definition (start/stop-speed not defined)", + "description": "The time needed to accelerate the vehicle from a given start velocity to a given target velocity.", + "type": "attribute", + "unit": "s", + "uuid": "a0dfbb5fa9c052018addeb48d64d4c6a" + }, + "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", + "uuid": "1b7c5f7c8ac952168cd2e89b3e9cd841" + }, + "emissionsCO2": { + "datatype": "int16", + "description": "The CO2 emissions.", + "type": "attribute", + "unit": "g/km", + "uuid": "5dc70045865b5bba9260945b28f737ff" + } + }, + "description": "High-level vehicle data.", + "type": "branch", + "uuid": "ccc825f94139544dbb5f4bfd033bece6" + } +} \ No newline at end of file diff --git a/vss-processor/src/test/resources/json/vss_rel_3.0.json b/vss-processor/src/test/resources/json/vss_rel_3.0.json new file mode 100644 index 00000000..5d32adc5 --- /dev/null +++ b/vss-processor/src/test/resources/json/vss_rel_3.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", "uuid": "cad374fbfdc65df9b777508f04d5b073"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "6dd21979a2225e31940dc2ece1aa9a04"}, "IsError": {"datatype": "boolean", "description": "Indicates if ABS incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "13cfabb3122254128234f9a696f14678"}}, "description": "Antilock Braking System signals.", "type": "branch", "uuid": "219270ef27c4531f874bbda63743b330"}, "ActiveAutonomyLevel": {"allowed": ["SAE_0", "SAE_1", "SAE_2_DISENGAGING", "SAE_2", "SAE_3_DISENGAGING", "SAE_3", "SAE_4_DISENGAGING", "SAE_4", "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.", "datatype": "string", "description": "Indicates the currently active level of autonomy according to SAE J3016 taxonomy.", "type": "sensor", "uuid": "b101c6928fc55948b1cc485e568ecd8d"}, "CruiseControl": {"children": {"IsActive": {"datatype": "boolean", "description": "Indicates if cruise control system is active (i.e. actively controls speed). True = Active. False = Inactive.", "type": "actuator", "uuid": "78ab5ce923dc5aa1a6622bcb948e1561"}, "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"}, "IsError": {"datatype": "boolean", "description": "Indicates if cruise control system incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "22923d4a36bc5192a08e40fe9e5ed458"}, "SpeedSet": {"datatype": "float", "description": "Set cruise control speed in kilometers per hour.", "type": "actuator", "unit": "km/h", "uuid": "b3f3a53ccd825e4da5cb1226f94dc005"}}, "description": "Signals from Cruise Control system.", "type": "branch", "uuid": "c4d751cf74f9576dbba3cc820991c1fb"}, "EBA": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if EBA is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "3ae9171b69555fb08855054ab38e9b17"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if EBA is currently regulating brake pressure. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "86360c44ead354d18af7ff14176151f6"}, "IsError": {"datatype": "boolean", "description": "Indicates if EBA incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "bae0fe856398502ba4a09283867c6c81"}}, "description": "Emergency Brake Assist (EBA) System signals.", "type": "branch", "uuid": "51ec0930d0af5b91b84a0775c6e87a97"}, "EBD": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if EBD is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "30f88d3e68575b67853b14ce5f7a08e5"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if EBD is currently regulating vehicle brakeforce distribution. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "67aa2a598f635edda6eb944af99b06db"}, "IsError": {"datatype": "boolean", "description": "Indicates if EBD incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "918157073be95015ae38913cd7a9796a"}}, "description": "Electronic Brakeforce Distribution (EBD) System signals.", "type": "branch", "uuid": "3f4c74a588735b10ac9fe918d305cd5a"}, "ESC": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if ESC is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "3f4f39b8d8c05c97a6de685282ba74b7"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if ESC is currently regulating vehicle stability. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "2088953a28385353a9d46b3a3dc11cac"}, "IsError": {"datatype": "boolean", "description": "Indicates if ESC incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "6c237535654b5bc7a70f6a70c760b9d4"}, "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"}, "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", "uuid": "634289f58b5d511ea9979f04a9d0f2ab"}, "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", "uuid": "b0eb72430cd95bfbba0d187fcb6e2a62"}, "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", "uuid": "ad0415a799575fcd8d1f49bed9a2baeb"}}, "description": "Road friction values reported by the ESC system.", "type": "branch", "uuid": "71a32e4eb131532c82195508d93807ed"}}, "description": "Electronic Stability Control System signals.", "type": "branch", "uuid": "636b4586ce7854b4b270a2f3b6c0af4f"}, "LaneDepartureDetection": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if lane departure detection system is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "c099ae97260f5c418977cd14631e95be"}, "IsError": {"datatype": "boolean", "description": "Indicates if lane departure system incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "73b2fc4f6a4952e4b7886671450e7798"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if lane departure detection registered a lane departure.", "type": "sensor", "uuid": "c32fcd1d56035cb08acfd380be224c6a"}}, "description": "Signals from Lane Departure Detection System.", "type": "branch", "uuid": "e45f33fdcf245f11981b2f201ee8281a"}, "ObstacleDetection": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", "type": "actuator", "uuid": "cc0cd497285e5034a1cccb25f02e9db9"}, "IsError": {"datatype": "boolean", "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "368b74e2468d5217925a478ed6e34f9f"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if obstacle sensor system registered an obstacle.", "type": "sensor", "uuid": "b0b1eab51f135ffcb2a17a7603415fec"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch", "uuid": "e7b6d81631cc5ac584d027d4c1a66cb5"}, "SupportedAutonomyLevel": {"allowed": ["SAE_0", "SAE_1", "SAE_2", "SAE_3", "SAE_4", "SAE_5"], "datatype": "string", "description": "Indicates the highest level of autonomy according to SAE J3016 taxonomy the vehicle is capable of.", "type": "attribute", "uuid": "020410189ab4517cb85ceda268b40f51"}, "TCS": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if TCS is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "1d2dda19b11758a19ba7c1d5cd2d7956"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if TCS is currently regulating traction. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "b33d70009ad5589fbffe17fa7e827242"}, "IsError": {"datatype": "boolean", "description": "Indicates if TCS incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "08f88723ba63558b8c804b8fe8e3f149"}}, "description": "Traction Control System signals.", "type": "branch", "uuid": "0572e9f6b1aa5fb5b2f68086aff05073"}}, "description": "All Advanced Driver Assist Systems data.", "type": "branch", "uuid": "14c2b2e1297b513197d320a5ce58f42e"}, "Acceleration": {"children": {"Lateral": {"datatype": "float", "description": "Vehicle acceleration in Y (lateral acceleration).", "type": "sensor", "unit": "m/s^2", "uuid": "7522c5d6b7665b16a099643b2700e93c"}, "Longitudinal": {"datatype": "float", "description": "Vehicle acceleration in X (longitudinal acceleration).", "type": "sensor", "unit": "m/s^2", "uuid": "3d511fe7232b5841be311b37f322de5a"}, "Vertical": {"datatype": "float", "description": "Vehicle acceleration in Z (vertical acceleration).", "type": "sensor", "unit": "m/s^2", "uuid": "a4a8a7c4ac5b52deb0b3ee4ed8787c59"}}, "description": "Spatial acceleration. Axis definitions according to ISO 8855.", "type": "branch", "uuid": "6c490e6a798c5abc8f0178ed6deae0a8"}, "AngularVelocity": {"children": {"Pitch": {"datatype": "float", "description": "Vehicle rotation rate along Y (lateral).", "type": "sensor", "unit": "degrees/s", "uuid": "42236f4a01f45313a97fdd9b6848ce4f"}, "Roll": {"datatype": "float", "description": "Vehicle rotation rate along X (longitudinal).", "type": "sensor", "unit": "degrees/s", "uuid": "221e6b93881e5771bcbd03e0849e0075"}, "Yaw": {"datatype": "float", "description": "Vehicle rotation rate along Z (vertical).", "type": "sensor", "unit": "degrees/s", "uuid": "4114c41552565c1f9035670cabe2a611"}}, "description": "Spatial rotation. Axis definitions according to ISO 8855.", "type": "branch", "uuid": "1eef530a43de56aab665d2766483cde2"}, "AverageSpeed": {"datatype": "float", "description": "Average speed for the current trip.", "type": "sensor", "unit": "km/h", "uuid": "43a489636a665c3abb99b63174eb552b"}, "Body": {"children": {"BodyType": {"datatype": "string", "description": "Body type code as defined by ISO 3779.", "type": "attribute", "uuid": "6253412513105deea63b1d424117fd88"}, "Hood": {"children": {"IsOpen": {"datatype": "boolean", "description": "Hood open or closed. True = Open. False = Closed.", "type": "actuator", "uuid": "890aa3359e1a579288af1cf8e6b5b71f"}}, "description": "Hood status.", "type": "branch", "uuid": "84510652bf915bbe8bf5f477aab2b44a"}, "Horn": {"children": {"IsActive": {"datatype": "boolean", "description": "Horn active or inactive. True = Active. False = Inactive.", "type": "actuator", "uuid": "ba20deed9314525bb9d552a2b787fb20"}}, "description": "Horn signals.", "type": "branch", "uuid": "09c76633887f52268b960740eb969c89"}, "Lights": {"children": {"IsBackupOn": {"datatype": "boolean", "description": "Is backup (reverse) light on?", "type": "actuator", "uuid": "48c0a466b59555f6bf0c01fcf7a3c42c"}, "IsBrakeOn": {"datatype": "boolean", "description": "Is brake light on?", "type": "actuator", "uuid": "7b8b136ec8aa59cb8773aa3c455611a4"}, "IsFrontFogOn": {"datatype": "boolean", "description": "Is front fog light on?", "type": "actuator", "uuid": "9ad70db68408503a8506d09c7c92a13f"}, "IsHazardOn": {"datatype": "boolean", "description": "Are hazards on?", "type": "actuator", "uuid": "148eee65b2de53fab88fc261246d6639"}, "IsHighBeamOn": {"datatype": "boolean", "description": "Is high beam on?", "type": "actuator", "uuid": "80a627e5b81356dabe557ff4102f634f"}, "IsLeftIndicatorOn": {"datatype": "boolean", "description": "Is left indicator flashing?", "type": "actuator", "uuid": "98c6f3d400d65a6da5fef8e22c16133a"}, "IsLowBeamOn": {"datatype": "boolean", "description": "Is low beam on?", "type": "actuator", "uuid": "917d51175b675ad89cf86e07e33b44ec"}, "IsParkingOn": {"datatype": "boolean", "description": "Is parking light on?", "type": "actuator", "uuid": "510402bd9355529dbddc2b9724db6957"}, "IsRearFogOn": {"datatype": "boolean", "description": "Is rear fog light on?", "type": "actuator", "uuid": "54818024ac4853d49003e8e10bd8f4f6"}, "IsRightIndicatorOn": {"datatype": "boolean", "description": "Is right indicator flashing?", "type": "actuator", "uuid": "df301b25233e5f20b039bc9304c148d2"}, "IsRunningOn": {"datatype": "boolean", "description": "Are running lights on?", "type": "actuator", "uuid": "cd28479b1a5c5088a52e8d9cd7f22dcf"}}, "description": "All lights.", "type": "branch", "uuid": "399d1ec14d6f55bb825e078a801bde55"}, "Mirrors": {"children": {"Left": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", "type": "actuator", "uuid": "b8591c0592d8525e91e1a04495b6995d"}, "Pan": {"datatype": "int8", "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": "9dae4bc33a28531199fce500e0562f82"}, "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", "uuid": "698fee82cc115f3cba54825a298b46ab"}}, "description": "All mirrors.", "type": "branch", "uuid": "22609e45a09d58fc85cb77959a686abc"}, "Right": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", "type": "actuator", "uuid": "9a57455f48ea5fdbb7a998905dda318c"}, "Pan": {"datatype": "int8", "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": "26088f96804d5d7e811ba50bfb1113eb"}, "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", "uuid": "9a28a6ec824c57408881b916a1a0e32b"}}, "description": "All mirrors.", "type": "branch", "uuid": "64291c99f7e752c2b035262c17dc85dd"}}, "description": "All mirrors.", "type": "branch", "uuid": "a4ea618914885a239ef5fa62c671a800"}, "Raindetection": {"children": {"Intensity": {"datatype": "uint8", "description": "Rain intensity. 0 = Dry, No Rain. 100 = Covered.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "1ee0a2f22e8257d299425a4ff2652555"}}, "description": "Rainsensor signals.", "type": "branch", "uuid": "f16759f3dcfb5be4832e962da29ebd6c"}, "RearMainSpoilerPosition": {"datatype": "float", "description": "Rear spoiler position, 0% = Spoiler fully stowed. 100% = Spoiler fully exposed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "6209a82390585b869cc3d00d069eade2"}, "RefuelPosition": {"allowed": ["FRONT_LEFT", "FRONT_RIGHT", "MIDDLE_LEFT", "MIDDLE_RIGHT", "REAR_LEFT", "REAR_RIGHT"], "datatype": "string", "description": "Location of the fuel cap or charge port.", "type": "attribute", "uuid": "53ef90a851fa57f0810d50238e852f02"}, "Trunk": {"children": {"Front": {"children": {"IsLocked": {"datatype": "boolean", "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "e0eabc210f07505fa1b66b67729d681b"}, "IsOpen": {"datatype": "boolean", "description": "Trunk open or closed. True = Open. False = Closed.", "type": "actuator", "uuid": "2047de0896a352fcaf02baa06819a023"}}, "description": "Trunk status.", "type": "branch", "uuid": "a455aca5bae55c22b7949fd31a765a6c"}, "Rear": {"children": {"IsLocked": {"datatype": "boolean", "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "8f9b55b002ed59d3ac2ef0b014abf4aa"}, "IsOpen": {"datatype": "boolean", "description": "Trunk open or closed. True = Open. False = Closed.", "type": "actuator", "uuid": "3d3249e59306594698367b839b12c938"}}, "description": "Trunk status.", "type": "branch", "uuid": "a6170ff5e4325f38b5d57402e1d95e5a"}}, "description": "Trunk status.", "type": "branch", "uuid": "a584c6a5aa235cb88ac686f8d72a1dff"}, "Windshield": {"children": {"Front": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Windshield heater status. False - off, True - on.", "type": "actuator", "uuid": "26e6a3b7e9bb58bebba29258faa6e300"}, "WasherFluid": {"children": {"IsLevelLow": {"datatype": "boolean", "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", "type": "sensor", "uuid": "8ca54695ad115f9bb6f56d7c450781a7"}, "Level": {"datatype": "uint8", "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "a36dfb91414f5792bd01d193dceff1f4"}}, "description": "Windshield washer fluid signals", "type": "branch", "uuid": "2de24016515353289953de5ea81efd3c"}, "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", "uuid": "7cdd36d1cc8f5f9a9f079f663190b588"}, "IsWipersWorn": {"datatype": "boolean", "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", "type": "sensor", "uuid": "b04ccc7daedb559c9bcdda6b00332be5"}, "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", "uuid": "3ee6552c96e551c5b06b79ad30226767"}, "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", "uuid": "026307b591465a8a99ffc0ebf262b393"}, "DriveCurrent": {"comment": "May be negative in special situations.", "datatype": "float", "description": "Actual current used by wiper drive.", "type": "sensor", "unit": "A", "uuid": "251e695821b758e7b7d459d5e2ab6ca4"}, "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", "uuid": "7394c8b8d20d52638881161ec1b41fc0"}, "IsBlocked": {"datatype": "boolean", "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", "type": "sensor", "uuid": "4b526a2c781e56e386c82df226061f9e"}, "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"}, "IsOverheated": {"datatype": "boolean", "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", "type": "sensor", "uuid": "e05d376ec2525ba2b61039d55f93760f"}, "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"}, "IsWiperError": {"datatype": "boolean", "description": "Indicates system failure. True if wiping is disabled due to system failure.", "type": "sensor", "uuid": "5276055d973f57998e1b8d6e536de735"}, "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"}, "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", "uuid": "d15518f5d1bc54a38718f43ef749dd34"}, "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", "uuid": "7a4a3fdd2947596dbada6980c142f090"}}, "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"}, "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", "uuid": "92c879c11bc65e6da30d582a3928caac"}}, "description": "Windshield wiper signals.", "type": "branch", "uuid": "2cffeccdc19a587cbe2264f426c6881a"}}, "description": "Windshield signals.", "type": "branch", "uuid": "8f0c61e4e4f557d98729210fc3c74f72"}, "Rear": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Windshield heater status. False - off, True - on.", "type": "actuator", "uuid": "76d811b4c4c356f4898dd6383e28bc6f"}, "WasherFluid": {"children": {"IsLevelLow": {"datatype": "boolean", "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", "type": "sensor", "uuid": "8ca0356548ae54e8af3aeace49e5ed71"}, "Level": {"datatype": "uint8", "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "c167e5b265895c108da1b9582de2dd91"}}, "description": "Windshield washer fluid signals", "type": "branch", "uuid": "1ea4ac2370e1567b9b812c1e3020ddfb"}, "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", "uuid": "f18b13b9d96b51c492c031d3d86d22da"}, "IsWipersWorn": {"datatype": "boolean", "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", "type": "sensor", "uuid": "0e8d5f7cb6295b908be3a03e8792cca8"}, "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", "uuid": "8cc0b88ac8b45f5fa30bb7755ce22648"}, "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", "uuid": "eddee2607a135582bbcf3d3afc845892"}, "DriveCurrent": {"comment": "May be negative in special situations.", "datatype": "float", "description": "Actual current used by wiper drive.", "type": "sensor", "unit": "A", "uuid": "7a254692329055dfb4089e2dcc1d4ef3"}, "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", "uuid": "371171d971995c999585b028e19be461"}, "IsBlocked": {"datatype": "boolean", "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", "type": "sensor", "uuid": "046e818b4dd9595a8301503e9afe028b"}, "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"}, "IsOverheated": {"datatype": "boolean", "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", "type": "sensor", "uuid": "d30bc6f33b995ef491c252980a559ee2"}, "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"}, "IsWiperError": {"datatype": "boolean", "description": "Indicates system failure. True if wiping is disabled due to system failure.", "type": "sensor", "uuid": "ac5983deacbe59d7ba1312d44bfd9cd4"}, "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"}, "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", "uuid": "f2f47522466d570baa7618fac5b0359c"}, "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", "uuid": "c39bef0760185555904a92a305392080"}}, "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"}, "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", "uuid": "afd6a352230f5eeaa8ac5f1f188bfd33"}}, "description": "Windshield wiper signals.", "type": "branch", "uuid": "f56e80a50fd75dbca48581aea4f012b7"}}, "description": "Windshield signals.", "type": "branch", "uuid": "095ff58459b854aaa742e56447fe7a93"}}, "description": "Windshield signals.", "type": "branch", "uuid": "73efba535dcb5032b9edc43406b050b8"}}, "description": "All body components.", "type": "branch", "uuid": "bd2854e6a9165c5698ce8dd9f0438ecc"}, "Cabin": {"children": {"Convertible": {"children": {"Status": {"allowed": ["UNDEFINED", "CLOSED", "OPEN", "CLOSING", "OPENING", "STALLED"], "datatype": "string", "description": "Roof status on convertible vehicles.", "type": "sensor", "uuid": "c8812698198a56d7a1adcc8bbe87845f"}}, "description": "Convertible roof.", "type": "branch", "uuid": "2aece85d39d6569e93cf842387a645d9"}, "Door": {"children": {"Row1": {"children": {"Left": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "194a1dd29e245ff8a19dee7e022bad02"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "859b44ab75de5d67a8beedff883a72d0"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "a5560fa546985678be670c13a0467545"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "a4c73477293156999f74416245d4f858"}, "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", "uuid": "15c012ed31a054ecb2b9b2b1cf57e825"}}, "description": "Side window shade", "type": "branch", "uuid": "f1a8db725cfd54c5b22594c456bcb05a"}, "Window": {"children": {"IsChildLockEngaged": {"datatype": "boolean", "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "618fe1eb106857faaf83f24236ed1819"}, "IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "e7a98f3520825732922e41eb5b88ac49"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "63137367f94856acbb900a0dcdc7e495"}, "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", "uuid": "e276bf971dae507f99b463f7fe574969"}}, "description": "Door window status", "type": "branch", "uuid": "abbf75f4e6b9581db4aacda0f1e2789c"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "ee74ca8275485ea89f70931d3b3e4bed"}, "Right": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "2eedf9e01c225ff39ee62a7c11395d6c"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "7e5cf60543505205922b714cee2a3246"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "055c01ebe86f507b97d15cfba82482a9"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "22944f205eb45c6f804e481b8dd783c5"}, "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", "uuid": "763aea099a515fc998fde10d936b0b38"}}, "description": "Side window shade", "type": "branch", "uuid": "f8f91480eb7c59d6ad697f2f9b2f46f1"}, "Window": {"children": {"IsChildLockEngaged": {"datatype": "boolean", "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "6a65a16ba60c5c41b550a7b5f8b313dd"}, "IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "90d0fdeaef075b78abab0b710c760393"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "e7ef528471eb585a937664abab9fbc68"}, "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", "uuid": "fcb9ede77f065479a10740324c0efdc6"}}, "description": "Door window status", "type": "branch", "uuid": "12e8cf5eb1c65954bb92f5144e2b22f9"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "f1140cf0720157a1a2ffb62745a82916"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "fd3fcb481cb953dc9a853125c6ca0453"}, "Row2": {"children": {"Left": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "1c08760700ca5814a62bac4e64628f8e"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "5fb9d9707cd85925ab6658d90f044b45"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "0143c6028c355f29ae5b3ee2d31869a8"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "33d7bdce5c915c3ea9633851f4f79cfb"}, "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", "uuid": "41f6f14bbb595dcf8e51d1696e877114"}}, "description": "Side window shade", "type": "branch", "uuid": "beed1cdec4fb502390041087feaaa1bd"}, "Window": {"children": {"IsChildLockEngaged": {"datatype": "boolean", "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "f41454131c6d502da452e1b1436e20c1"}, "IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "6abd32926e7a5b6b9767033063baaf4c"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "6eeda05cd5d357958a0b0649b1b406f8"}, "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", "uuid": "1a5d1c57f46e576a8a94853e2a44d3f8"}}, "description": "Door window status", "type": "branch", "uuid": "424d04d0ae8351af8c7115b131f1fe2e"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "20c6ae3bdb9b5fc8b8098d87f06c9069"}, "Right": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "c3747fdce0835d9abf8030917f3a6d3c"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "51e82637cc1a5c6994e1928402a29419"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "06f3b61e354f5db7b5b0e7f551fac582"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "fa705739512a54e9a103ff356be14df7"}, "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", "uuid": "5b94a0c4e30a575c93942f0566be8be7"}}, "description": "Side window shade", "type": "branch", "uuid": "092479bc8da55730827f3365828c89b2"}, "Window": {"children": {"IsChildLockEngaged": {"datatype": "boolean", "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "6f018766950a5b5284ac1e8824fdacb0"}, "IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "793b5c94b89f5e11bc71cc8a6de8ec34"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "f6323b78eecc58e5a9bc5d66f2548ce3"}, "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", "uuid": "364c0a712fa854b4b1b332eae1be179b"}}, "description": "Door window status", "type": "branch", "uuid": "18950f3ff3a1598585a603c4224ad7bd"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "e40a30e4838f5aaa970888d2865bc19e"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "74c8a76ad2545ceba474a85ae84eec8e"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "fd7f4d16f8965419a9a69fd66b40c1d7"}, "DoorCount": {"datatype": "uint8", "default": 4, "description": "Number of doors in vehicle.", "type": "attribute", "uuid": "c293fbef75725c57a9918dd5a34055c4"}, "DriverPosition": {"comment": "Default value is position 1, i.e. a typical LHD vehicle.", "datatype": "uint8", "default": 1, "description": "The position of the driver seat in row 1.", "type": "attribute", "uuid": "bca9ccd50358584d8d20865694b0d15f"}, "HVAC": {"children": {"AmbientAirTemperature": {"datatype": "float", "description": "Ambient air temperature inside the vehicle.", "type": "sensor", "unit": "celsius", "uuid": "611868a24bc25eb9a837208c235e9491"}, "IsAirConditioningActive": {"datatype": "boolean", "description": "Is Air conditioning active.", "type": "actuator", "uuid": "dc4f79e4211c54a6b4eed0236aae84a6"}, "IsFrontDefrosterActive": {"datatype": "boolean", "description": "Is front defroster active.", "type": "actuator", "uuid": "afa678c87182544bb6ab81fa6a770791"}, "IsRearDefrosterActive": {"datatype": "boolean", "description": "Is rear defroster active.", "type": "actuator", "uuid": "d342a7939f2e5adeaeb5e68e3a314445"}, "IsRecirculationActive": {"datatype": "boolean", "description": "Is recirculation active.", "type": "actuator", "uuid": "7b80c41c63b35c9299a410166cd33c81"}, "Station": {"children": {"Row1": {"children": {"Left": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "33ca2e1ed1b1533b8e1309320074c07b"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "483bcf787a715f10a1c936464fcb18a2"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "347c13ff2a735d54a5f011d4573694cd"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "7cc0977f55f15f2c884e19a25d07a8b4"}, "Right": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "00e25d807a755c4cb978a40ebfc0e8d0"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "4b15871631c35ca583a1fc64524676ef"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "592dc63c45145f739edbc5677196eb85"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "84b84df901075e8a8ac4837fe4af6a8e"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "80860491fba75babaf3c439d1d471a6d"}, "Row2": {"children": {"Left": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "3c22cd8ac56b59978927fc815ee79104"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "3eb6e8979cb25efe9f33bc89c6b9e364"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "7185fb43728f53f3960e1284b89a6f66"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "48fcecce8d925121b116ed3ecc3157bb"}, "Right": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "10d42dd4337450e2af1c0dd2c9dcb3a7"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "b83d6d979cbc5507b1c43e988024c0af"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "c6822e4c0eae59cab832057bac327c67"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "028e4f674c725c009af8eaf77a79d9e7"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "d98e8f5f94da5acfbf428c635a8bcc0c"}, "Row3": {"children": {"Left": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "f1e2dc36082b5980920c5fe3ee875659"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "13170d23934e5a4ab97174ddee4dc180"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "b12b9565bd4e5c8e974ac0ff97223af4"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "e4d100e0bcb75fedb4ab0761d92bcf0e"}, "Right": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "1b6c21042e3b5ac9ae351f807722795a"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "9d5312c0ccc15f578b2c5e5512d34cb3"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "a76ea2c628df5099b0dca839aac84e63"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "a14449b5c1345feb90c2e4fbefd4ecef"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "6eb8d63b66c859d5b36ef52d264aed2b"}, "Row4": {"children": {"Left": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "ee591723296a580ea4ce9fc6ddbb5cf5"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "afd89e90044e5d5fa99e9c627742adb0"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "accc4bb43c775735843e87b545af08b2"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "4adb4059a21757bdabd902998ffb7da5"}, "Right": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "7d8b7cbfe68156d4a190a0a7525ee26c"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "b3cc73b02e5c5254b691373caacd7d21"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "49c59496aa7356cf86c275a0eb93ba28"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "b4bf2c99c2af580cbb92e0bbd0a40730"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "ff0c0fa26de7508dbe92a83bc087dff6"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "253e683e6f135b83b6302a30b6c0ec8d"}}, "description": "Climate control", "type": "branch", "uuid": "f8ff34337cdf568e91ab406a365c3249"}, "Infotainment": {"children": {"HMI": {"children": {"CurrentLanguage": {"datatype": "string", "description": "ISO 639-1 standard language code for the current HMI", "type": "sensor", "uuid": "dc29ee5b7f7154b4ab05a9771fe930b3"}, "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", "uuid": "0f03c3955fe953e9893a1f52e964919e"}, "DayNightMode": {"allowed": ["DAY", "NIGHT"], "datatype": "string", "description": "Current display theme", "type": "actuator", "uuid": "a892039ba136588fa26b2670f839c0cc"}, "DistanceUnit": {"allowed": ["MILES", "KILOMETERS"], "datatype": "string", "description": "Distance unit used in the current HMI", "type": "actuator", "uuid": "4b40e8bdb1a053ee9ee35338d8804e7b"}, "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", "uuid": "914846f6804757ba81ca6bcfac8d2c48"}, "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", "uuid": "0e6a43ce1aa45243b753545ffa1f0f8c"}, "TemperatureUnit": {"allowed": ["C", "F"], "datatype": "string", "description": "Temperature unit used in the current HMI", "type": "actuator", "uuid": "a7d1533490bb52b6b4f650280e72543d"}, "TimeFormat": {"allowed": ["HR_12", "HR_24"], "datatype": "string", "description": "Time format used in the current HMI", "type": "actuator", "uuid": "73083b87a4e25c02aee672ea32e40005"}}, "description": "HMI related signals", "type": "branch", "uuid": "271e3d9202825f37bd054820e5ea8141"}, "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", "uuid": "0357aea525bf505981a14e4fc720094e"}, "DeclinedURI": {"datatype": "string", "description": "URI of suggested media that was declined", "type": "sensor", "uuid": "51b0d6227db55b92bc35eedd8277f4c4"}, "Played": {"children": {"Album": {"datatype": "string", "description": "Name of album being played", "type": "sensor", "uuid": "1d80b1e2c1085def92b3548b5db2786e"}, "Artist": {"datatype": "string", "description": "Name of artist being played", "type": "sensor", "uuid": "076af7ad8aff5110ab5a64d1f58ccdcb"}, "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", "uuid": "54fb88a7d7cf5e3aab63e8f52415c187"}, "Track": {"datatype": "string", "description": "Name of track being played", "type": "sensor", "uuid": "ee800d62a40351e6934649ca75927d69"}, "URI": {"datatype": "string", "description": "User Resource associated with the media", "type": "sensor", "uuid": "1ed22b9925c3502d8d1389c8e02d0f07"}}, "description": "Collection of signals updated in concert when a new media is played", "type": "branch", "uuid": "6585e9d3b6ff596da72a5f8c98d2d47a"}, "SelectedURI": {"datatype": "string", "description": "URI of suggested media that was selected", "type": "actuator", "uuid": "4820f7a961c25e91af12d3417a145d32"}, "Volume": {"datatype": "uint8", "description": "Current Media Volume", "max": 100, "min": 0, "type": "actuator", "uuid": "8b344688816f5844ae5812bb136c8006"}}, "description": "All Media actions", "type": "branch", "uuid": "3f324d13873e501a84daf2cfade24d0f"}, "Navigation": {"children": {"DestinationSet": {"children": {"Latitude": {"datatype": "double", "description": "Latitude of destination in WGS 84 geodetic coordinates.", "max": 90, "min": -90, "type": "actuator", "unit": "degrees", "uuid": "3e33f3252934565d86de5409c761262b"}, "Longitude": {"datatype": "double", "description": "Longitude of destination in WGS 84 geodetic coordinates.", "max": 180, "min": -180, "type": "actuator", "unit": "degrees", "uuid": "e9bd511146ca51639c8d42c0702e22ee"}}, "description": "A navigation has been selected.", "type": "branch", "uuid": "f51ce253dc5b58168ecca99297139455"}}, "description": "All navigation actions", "type": "branch", "uuid": "79bb0cc4acae5d1eb34fb214352d7863"}}, "description": "Infotainment system.", "type": "branch", "uuid": "d88f92fbdda35012a2443b5e130d5eff"}, "Lights": {"children": {"AmbientLight": {"datatype": "uint8", "description": "How much ambient light is detected in cabin. 0 = No ambient light. 100 = Full brightness", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "cf7bf6bc25c2564383e72ef840e4b47d"}, "IsDomeOn": {"datatype": "boolean", "description": "Is central dome light light on", "type": "actuator", "uuid": "cc100f4cd2ff5e0593a557a74ebf5d9a"}, "IsGloveBoxOn": {"datatype": "boolean", "description": "Is glove box light on", "type": "actuator", "uuid": "f7281175fbc85b4a937b2606e4300f9a"}, "IsTrunkOn": {"datatype": "boolean", "description": "Is trunk light light on", "type": "actuator", "uuid": "3697df4cddc751df847fac74bd32390f"}, "LightIntensity": {"datatype": "uint8", "description": "Intensity of the interior lights. 0 = Off. 100 = Full brightness.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "a66eba0bae225a56babf3f9ceb65fc76"}, "Spotlight": {"children": {"Row1": {"children": {"IsLeftOn": {"datatype": "boolean", "description": "Is light on the left side switched on", "type": "actuator", "uuid": "c6a9c6b14d725113a087ce7e58a9c90b"}, "IsRightOn": {"datatype": "boolean", "description": "Is light on the right side switched on", "type": "actuator", "uuid": "7c08ddd9067f5905855cec9f30546fc9"}, "IsSharedOn": {"datatype": "boolean", "description": "Is a shared light across a specific row on", "type": "sensor", "uuid": "99614d03c27f50a6a32b99b68814e6d7"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "ea2b102268735567b3d7d6c36b34e480"}, "Row2": {"children": {"IsLeftOn": {"datatype": "boolean", "description": "Is light on the left side switched on", "type": "actuator", "uuid": "15534d254ce851509a8dfae763a9d709"}, "IsRightOn": {"datatype": "boolean", "description": "Is light on the right side switched on", "type": "actuator", "uuid": "06e866363b5c589db5b446eca0b68c8b"}, "IsSharedOn": {"datatype": "boolean", "description": "Is a shared light across a specific row on", "type": "sensor", "uuid": "087dd02860965a61a5cba8c66f8dbd36"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "504e514166d255439fd3f61acd3d412b"}, "Row3": {"children": {"IsLeftOn": {"datatype": "boolean", "description": "Is light on the left side switched on", "type": "actuator", "uuid": "f32530172b1a535cba376e660a3a630a"}, "IsRightOn": {"datatype": "boolean", "description": "Is light on the right side switched on", "type": "actuator", "uuid": "20424c00cf1d5e49b4287efe186cd263"}, "IsSharedOn": {"datatype": "boolean", "description": "Is a shared light across a specific row on", "type": "sensor", "uuid": "87f00a029ec854d39702ef86e030c00c"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "c0352a193354597692626b6f0b6d9537"}, "Row4": {"children": {"IsLeftOn": {"datatype": "boolean", "description": "Is light on the left side switched on", "type": "actuator", "uuid": "643c07780d2453e98b5091a39516f7ec"}, "IsRightOn": {"datatype": "boolean", "description": "Is light on the right side switched on", "type": "actuator", "uuid": "f012d37429aa53d1bf8648d686a804ef"}, "IsSharedOn": {"datatype": "boolean", "description": "Is a shared light across a specific row on", "type": "sensor", "uuid": "8f8de6d5b18f5cc69c9ecd556ce6b6ed"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "42c09d108927563293adcb93738895a0"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "8528c64a4c775da3ab01617bbff2e3c9"}}, "description": "Interior lights signals and sensors.", "type": "branch", "uuid": "8b5cd8c4d1e752b38c65a5966c870ccb"}, "RearShade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "9e16fc53f2ec575dbf66c79f969949a9"}, "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", "uuid": "da9f01e9baf35544842f1a7674c5172a"}}, "description": "Rear window shade.", "type": "branch", "uuid": "8a0c86f4fc6f5ea8ac8cf8f327969dcc"}, "RearviewMirror": {"children": {"DimmingLevel": {"datatype": "uint8", "description": "Dimming level of rearview mirror. 0 = undimmed. 100 = fully dimmed.", "max": 100, "type": "actuator", "unit": "percent", "uuid": "4e2bcbaa6dc1586d8282324b475e5dee"}}, "description": "Rearview mirror.", "type": "branch", "uuid": "e655b654ab9f55bbb04952a99755efae"}, "Seat": {"children": {"Row1": {"children": {"Pos1": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "49cc2754a4385ef8bdd8ba4e81ae91f6"}}, "description": "Airbag signals.", "type": "branch", "uuid": "51c12c552b745ead85e10392cd42791f"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "2093f65ca1085a8fab20837e00218461"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "c072a2f72b9554b2b45d81a352bc48ad"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "58ce084f42255af281ba9827af2f69de"}, "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", "uuid": "b1d538f0eb1658639e64f024e1a42831"}, "SideBolster": {"children": {"Support": {"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": "b9a59ddb83995d6381d38ebdd19fb4b9"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "dc92cbf22f7a54bca076ca9e64dde9e6"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "b088e24466215c55b4e3b1ca84321fb9"}, "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", "uuid": "a438c09436955cdd859b08848642464e"}, "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": "04fbc8b58fb1507ca46e133f502212a8"}}, "description": "Headrest settings.", "type": "branch", "uuid": "1b08f767214753648ce939fc23e7d530"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "6055f646e52c58959fe7c89e7e5e77df"}, "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", "uuid": "a28e02777f0652c09282c639b2ab0a63"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "6bd16a2258d152919db77e9592ac837a"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "4e85e2b0ec45582f90f2a17b3636ccc0"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "0e668142a0855c31845050e3535ff1b3"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "c631b08751b851ec9b12ade8332ba5e6"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "8df99b3fedff5a219eacf254fb299ffb"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "473c3f152df7564589d0e09947ae428f"}}, "description": "Occupant data.", "type": "branch", "uuid": "e2303f18abb35b25932e97165858fa2e"}, "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", "uuid": "78283eb5efee58f8bce8b5fa3760df54"}, "Seating": {"children": {"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": "365425c0104757ae9d14c29c0cc61f78"}}, "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 seating/base of the seat.", "type": "branch", "uuid": "0cfad6a333b651f4b3adc589a19bd8c2"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "d21af34f33955fdf8a35b2909f1db5ae"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "fd1e56d716d2594b84e1c46b00ab47a5"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "01644b70287d5d1ba9a2f0c9770dadb8"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "757b1f58b4c558429b1d3f11f1a89e6f"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "3542721cf4cc5d8c86e9f8e4a3f36736"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "ceceff9c973453d3bec25db6a56be86c"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "61bb2068d2355dad9ab5ef35709ce97a"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "cc76940524925bf3883918b8ee30d702"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "515bd1ca932a5747b8f8523aa5e26466"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "b49b7c0aa3135e209bb7888e143a6823"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "b45a8ec5ab9251689f42d58d2d954c4e"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "6ec4a46af3db57cc9d4c45923996923c"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "0d844cc3591453b48177a3ed45880e21"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "ca96e4f18b1753faab74e2d4c452d8df"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "a603834c5eae54a78222d20515bd64df"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "e3d3659aed435d7c9bb58bad03590d3a"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "6a28f8e404f05a5b9339b3a40b8c0275"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "abab10f2fc1753fc9276f4571d24b3ac"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "2f758e9b09dc518693db398d31551eeb"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "849766f5f3885f9ba0c4cd817290b6a1"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "810dfaf2b68950e7b695efbfdd80f58a"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "ee55f014fe5c59c8a3808f64b0c51f9e"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "efb6bf4955d45232b8443c3428ec91c2"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "f60421d441985b5bb8f68fabae1e937a"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "c6209e1fd41e5efbbe3b70910068533b"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "3500d7caafe458e19dac56fcff1ada61"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "46a23e294875537d9ce222d748dd43ef"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "b623d9fd81d658c7a4872550065a26f0"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "8ef4c44f8e42567f89c1ff54dd337e91"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "250088210ce059c7a262331242ef1408"}}, "description": "Seat switch signals", "type": "branch", "uuid": "6aeff0a2d48f5f28995f83cc5ada057d"}, "Tilt": {"datatype": "float", "description": "Tilting of seat relative to vehicle z-axis. 0 = seating is flat, seat and vehicle z-axis are parallel. Positive degrees = seat tilted backwards, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees", "uuid": "20630968a82f53bc89aed9797e0b9c59"}}, "description": "All seats.", "type": "branch", "uuid": "9f570421f00a53f19f3741bd4e53303b"}, "Pos2": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "d65c423837db53ebbfd462ead6c92687"}}, "description": "Airbag signals.", "type": "branch", "uuid": "8150bc56e95453f4be691ee05241fa1a"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "3c282a3edb5c504e83f32ba674c3d0fc"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "049baabba96d52a5b1936acc45cb6e2c"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "26c099ebe82b5131abd9dd9af4ae9eeb"}, "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", "uuid": "a30da9db6ae45d4d80fbd81952d94479"}, "SideBolster": {"children": {"Support": {"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": "63d6501d545350d7bd98d377bf43c45d"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "2435afb459d85aa49907dcfcf0adc3f5"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "a53f27317a3e5a7c8a0ed7df44c4e0b0"}, "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", "uuid": "73491bcc68d850849cd6cbb7c2d4fdb1"}, "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": "2d8573879aaa5b28bcdf425c82bc6aa2"}}, "description": "Headrest settings.", "type": "branch", "uuid": "8a6f8868590653b7adce26541a66e531"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "eae672cc71dc5046bf1bdef59b8cd980"}, "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", "uuid": "fc3b3498a15c5417aadbbce4f758a6d5"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "ee2919e0ffdd5a939a1b86b570c14112"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "4d0cdff266e45dd2a8a878b572d34b7e"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "c1935863d503574fb5d20b703974399c"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "f88bffa4714d57f8b61b1034c57190ff"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "f8f67096b9e35197a3e199e9171c4872"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "ac22e6c5d43053b383f14c6b712b0698"}}, "description": "Occupant data.", "type": "branch", "uuid": "d85baab0f292585b912fd8ba8eae234f"}, "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", "uuid": "f14a3e9eaaf35012a8be3782b6a53f55"}, "Seating": {"children": {"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": "cef5936e042158fd9259018d9895b860"}}, "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 seating/base of the seat.", "type": "branch", "uuid": "ce6a7323a8b45ef8aef48bfce9704dec"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "524f91af31e150b8aca5de230369be7f"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "e5bd5743807c5b899098d22e6cc3a4bc"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "3491b91384f95975851e64636514f52f"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "af092a25f40a5003b7354f5f580b0e11"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "1ae05b08ed295d4f8305abc26088cca2"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "da6a3f596a5c5db2b5984356087278d4"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "b05d8f4aa67c5e28af3a6dc957786834"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "5e6fa87ef4fd563d97299bc2d88300d1"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "33b758ca51f15403a398ef3072dcaae2"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "07ff192c99275f8e88451c79ceb7aa03"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "79b1c57ac9245a5ca426a8b5e21717a6"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "556de341eb5052489018ae6ff95310e2"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "2245feeb2eeb54e3b9303bc2dc232de6"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "39e5e43777ab5af9ba972a6da265a4f1"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "f182830bd5955b85b8e755895d578b03"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "250bfde61cbe52659913655dd521fa0f"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "861eca7954cb554e9fb8a21568126e10"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "d3e2606f6cdc57759850f19e1ce8c4f2"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "7da73beabcbc5f338bc68e9b5e3daf06"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "28ff94d05f795705928644e5a0101e8b"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "0482452fd1a3501d96e06ee7c5dba6dd"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "d0433b6d2d965fecb9384ac5205de397"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "3906c493560e5c5686c69f0d2aa65e91"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "61eb1ede01d45ff2a6a4eec903741a08"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "b655bf7a99015d638a6d7177aa6d89e9"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "8d81938f575756199e1c604f6a51677e"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "82f1b4ee3b9c58998115117f6e8c39a7"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "e6d761d8e77651dab939076cdc8bd529"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "4081bab44a1d5da1b70a5dc158f2ae39"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "de12f83c5e425b6b9a9ef9e90b030fda"}}, "description": "Seat switch signals", "type": "branch", "uuid": "dd54a1a61c7c5d79a420edb7b1755aa1"}, "Tilt": {"datatype": "float", "description": "Tilting of seat relative to vehicle z-axis. 0 = seating is flat, seat and vehicle z-axis are parallel. Positive degrees = seat tilted backwards, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees", "uuid": "6156f12b768e56929c7d325c4bbe1d78"}}, "description": "All seats.", "type": "branch", "uuid": "614cecf6380d5c23989d2c8bf20bd8c3"}, "Pos3": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "c4e9b66d938d5e188ac577094daaf37e"}}, "description": "Airbag signals.", "type": "branch", "uuid": "243d103c16055180abef52fef071ad22"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "4a529381905750be9c09a1bfec05eabd"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "127744c26ebe5c729d69a95bfe96b00e"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "678e3d997c295575ba6337464fe2a912"}, "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", "uuid": "dc901384498f5de6b93b2a5b3850fb87"}, "SideBolster": {"children": {"Support": {"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": "dba595a898b75345bf1d013a45261681"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "605ae18d7b4e5613ac7252ee35df58c1"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "ce7b00453a0a53d3b6e6cbc395bd5c78"}, "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", "uuid": "b4d77cf7a7f55768b3910435e79027f2"}, "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": "420eaf9bc7ac5560a26ad018afe27e1b"}}, "description": "Headrest settings.", "type": "branch", "uuid": "1714ccbc269f59ee807a51c7f1a6103b"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "4af67468dd7a55a58195d9b61997d077"}, "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", "uuid": "d19199de59a153f782b8d61788c510a7"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "975fe66f9fa05d8ca7fb9d334641bb97"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "1540906a83bd5f70af4859910aafd890"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "d63d68381ec65f50a8dd6dfbc0bd751d"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "0d29fa2a1b97563c8e1ba31b8571f328"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "a7306a24de2155f2a1de070bc8f1bd60"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "f59d9531974256cab958e5e31588565d"}}, "description": "Occupant data.", "type": "branch", "uuid": "4e68d3feef825f6f99c44cec9f7c1217"}, "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", "uuid": "2a2ba0e42dcc563cba80cc491b66c45f"}, "Seating": {"children": {"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": "c44b283345dd5a428bd099ed1153d4a4"}}, "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 seating/base of the seat.", "type": "branch", "uuid": "4c98bb65b4095480bdc7262b902a767a"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "1861981891f959dc896e00f4e369c86d"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "2a8cc40fb0b3556da210b7dfce7c0c6d"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "9a3655967c5b5f058e01c0b3770ba0d3"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "0f0708693e605289af83c3a1ecfd3159"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "6d590f0db798515b8d8e6f0bf1abfd67"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "663dca40a7645e66adfa00d64223dbbe"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "08b8112168d1584ab6fa8f594016745f"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "53a56a868fb3593fb21378b2d4dbbc7c"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "05b0ef6b02e55bb2814bcd95d9b77bd9"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "46c9fbf2750b517f8d1c09fee21fdd06"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "ad180dd9d2de56cf911dfc35d47c46fb"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "cc633d8a000a5da3b0efe50e520e21fa"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "4ed2d91060bf5e578746b4b2f5a3e671"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "6ad93c92d96a59838e4810f0425f1fb0"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "89b2444c58c457bd936ecef543e7cc96"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "e04ee2c9d0f852c983136186bb15be4c"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "52d8da88ec95586a93952ea3d59023ad"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "f5ed89b2972e5461abb6966e30a906ff"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "66e1d88d56ba572db7b97a5e20cc724c"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "a3661e29e11957ed9cc12bb385b896bf"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "ed590c68f1085a3c9889fc571ace2176"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "8eeefcb4a08e5d9f8eae76e92826e56e"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "1240dc083504580b97ba1cfadb9da659"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "0d7eed9ccb24537fb7f97f0163a4fdd8"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "329dfaaab56f55a39ca9c132ee4bf533"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "6d09e331ceb55a2691f120a6f1205cbb"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "a2c4a3a39758594d9e89a635bab499cb"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "b9829f44a76857e0bc9deeb036ecd311"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "c8ab873dd8fb51dd9493fb00f33e01d6"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "b1ff7876dbab59f2bf7358c932a7e1fb"}}, "description": "Seat switch signals", "type": "branch", "uuid": "1eda245135ce5788bfcbc75b082af947"}, "Tilt": {"datatype": "float", "description": "Tilting of seat relative to vehicle z-axis. 0 = seating is flat, seat and vehicle z-axis are parallel. Positive degrees = seat tilted backwards, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees", "uuid": "9fb74b71b3ce54f4af6e5e472f159949"}}, "description": "All seats.", "type": "branch", "uuid": "add6f181ffd35d03b57d9833e7e22f4f"}}, "description": "All seats.", "type": "branch", "uuid": "7a420ddeac6f538eb3939bb4a242d136"}, "Row2": {"children": {"Pos1": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "fea5a0ef57385df68e486ece13546bdf"}}, "description": "Airbag signals.", "type": "branch", "uuid": "ccfadedface05d54bcc00b30082b30d6"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "6cdd33ee68a65349bd478c3afbc515c4"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "f8fd42a3227d5c6a96834becd1247f5e"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "363835bd81535538a10acfe914f4c3cc"}, "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", "uuid": "4e793f7e663558b29130989024763680"}, "SideBolster": {"children": {"Support": {"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": "87cedae0f6ba58a0940859642b89fdb0"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "1484136aa6ec5a46b6f2449b9506a5dd"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "9e8063f29cf05c1892c1b5606fd05329"}, "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", "uuid": "7a720646e0d657c5b10979f1c403eb4b"}, "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": "12d45094d6c9545089e932a2462d5f68"}}, "description": "Headrest settings.", "type": "branch", "uuid": "d8486ab7d8195559a4e8e7baebb888ef"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "0f61ef421bcd5c8dbe6a5b477cb10a49"}, "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", "uuid": "6e6e7aadfd0d52d4ac877147d84540d0"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "ad65078f81075a67babb66ecd2c902f7"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "e8c5a3df63b15e8a83f0b16b6a77092f"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "406607948a235d829c5da212594813b1"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "188458a15b30577d8fb01d0f15641a6e"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "159e7daad966588ca48997859b811b72"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "aba17bf3b5175e56bf047839f2a0f880"}}, "description": "Occupant data.", "type": "branch", "uuid": "e7ab950f55b45b1a985f1a9d132aad02"}, "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", "uuid": "3dd247aae2555a1ebaf76ae4017f23bb"}, "Seating": {"children": {"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": "9eabbf5a69cd51c88de9e70eb9545750"}}, "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 seating/base of the seat.", "type": "branch", "uuid": "8fb01973fdad529d83ebf60514cad67c"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "0b5415702e0b5461afacea857c05a6fe"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "1e1bbfda10e25d228e01a632277d57c3"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "09337347e2f557fe8649342548c7fe3c"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "12fe41df5ab8545e8a3e7b2411585243"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "73e6514d130e5bfb85d4cfb7c45d8138"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "47f8690805455b8c927f2834942b2ded"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "4dc489e632e15d13afd6601188ed08b3"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "f5e3fae9d90954ad9a240b72fa0a5cb4"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "a7dc6c8941805c47b837334abfa7abee"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "184e9cc9d42e5ec993593da10b1b8299"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "4cc0b73f30e65456a6268f52ad7fee70"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "9ed038b597665225a0f2dfd262cf59b5"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "4d3d29ccfcde55f9bdf40eeeb7ecf5dc"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "ae9cdee6019a567ebac3e85a909fe7ca"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "f929508b3527553a959952bcd227f70e"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "f803a25975405ed38684b3f065535a4a"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "57d1ff9eaf4e5a7cbe683c13eed6e691"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "ac1a8efdbafb561bb11af807d48e8378"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "fd41789d95035c2fa1e855d22eab80fa"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "33ed964275af591d85773bc23d70bd68"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "22726fefa40d5805b46b2c87e43782ed"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "f557b6a2712f5307b56577d93b9e746f"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "3dacf86cf185576f8a3916a315c69b1d"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "97a36b155294512f8c409a9bc82635bc"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "d1f9e86a98be5f2ca81ac11d05356bb6"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "7b656c6aa62c5156aab2d437a03bd074"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "4857aac12637502da76202384a151715"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "c02ddbb0e2c1536081dae3cb23baf4b1"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "f0ef5926752f573ea02dacb2a242c8a1"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "1a3e7380e61852c98eda0f38e9f807aa"}}, "description": "Seat switch signals", "type": "branch", "uuid": "1c4b708222de55aabddb3697308253ee"}, "Tilt": {"datatype": "float", "description": "Tilting of seat relative to vehicle z-axis. 0 = seating is flat, seat and vehicle z-axis are parallel. Positive degrees = seat tilted backwards, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees", "uuid": "c61e74d2ae795b4da2e35325f8734005"}}, "description": "All seats.", "type": "branch", "uuid": "ba975a6536f15545851d27972ab1fffe"}, "Pos2": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "668f397bc95358989119fb1cfdfa8a01"}}, "description": "Airbag signals.", "type": "branch", "uuid": "07f9f55e33055cf7bebdc06e7d5a6a14"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "6389ff80f23e5985b734207d97a4a58e"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "fcbec0664f315476b901bd4f0b1df006"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "b69532b796ca54a1a897b28270fe0e56"}, "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", "uuid": "b260c18880c75c92a635b9dc887fadca"}, "SideBolster": {"children": {"Support": {"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": "5b7bbfe5ce975a79a029a839a91ebafb"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "ff84905ea881586dafbdfa2268888ba4"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "25a2e0b3833f55c1a0b8ad2589ad2a18"}, "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", "uuid": "d3d4f0a7f5c15072b80f88c2743b77be"}, "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": "1e955420a3d6591e84aa2b6bbd2bed18"}}, "description": "Headrest settings.", "type": "branch", "uuid": "46dcaa7ca75d57c7a5301b7107538812"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "c7eb6ca24426596dab519386d231a9d1"}, "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", "uuid": "3cf2e042421b540da4aa047680dcdf84"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "f2c9c2d624bb5cf4bf9aba5842eb96eb"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "dc1eaa7cab895c5198af0c7f5dea9d79"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "77e8a4d481315520927fc0828158772e"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "6f4e6a9f8008536eae03197601a6366a"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "ae49d70515d55aad9b4719d8162b43c9"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "24c23b9f5adb549483cb52acbd81a980"}}, "description": "Occupant data.", "type": "branch", "uuid": "30e72777238850ff8a01c3a8f85b663e"}, "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", "uuid": "7c24fa880576550da14bae1e5eed26b9"}, "Seating": {"children": {"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": "fbdac9db983b5f52a900d24cf2d424c4"}}, "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 seating/base of the seat.", "type": "branch", "uuid": "899171a0b84a563daf6cea0542405031"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "366a8acb011b5997a07930a1b7e62e69"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "fd142d6b8b1353118a5c6e6afb635145"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "1092743255ee5cb7a11b172f2d6a9f2e"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "7dc46ce3336f5c6ab31fe33e52a56cb5"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "475e608bc2aa50f8ad9eea738415d7e3"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "5f6c6804d50955ec8a898a890120a126"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "ed202bc72cd75d5d940f8b7eedfce763"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "f9edf7174eda59a0a2403450939a4a00"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "4b8c68ce106155b78b40f09cc000dfdd"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "69625c26aabf50fda25c5389994ad485"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "1abd0c2387ea56479575b324795cdf2e"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "5a6c05fe3aa854199b3a2d83a91ff07d"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "a1bab160e2bf563b991b22c820ae17c4"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "aa43a5239e255308b617306b71723c5b"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "5b096959633953a9b7c4c52af0c85fa9"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "077d7df6106f5d04884a5f44f917493a"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "19c46bf9c19955a1a619fd3311b5236e"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "0d72a18529d55286be69d517c94cbb74"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "3774266336e05ddbacadd2ef017568b1"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "79d68b154c12508d91f28bedafb47a43"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "c587834e47e651e3b1556b6f7b4c738d"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "90cdb504ff1a5d0bb512fe7034c7bf07"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "7b1f9f36a4f65e7a8aad6b94c186ec00"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "e0a9b4614dbb5c4fbd3e333a73edf8b0"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "20b139513267583e8a4a2374fcde2626"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "32fff40566d95d0cb36ed76100e515c3"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "1fabf329e8715f28b90b72a8a5b6c3de"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "8f8492873cb05b9098e8eb564a43394a"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "4f2b176b4f1657fe8395439df7376d12"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "10ccb625321652e5a12470d14ff7ecd0"}}, "description": "Seat switch signals", "type": "branch", "uuid": "f3fdef2159cb5cda985cbc04220c3593"}, "Tilt": {"datatype": "float", "description": "Tilting of seat relative to vehicle z-axis. 0 = seating is flat, seat and vehicle z-axis are parallel. Positive degrees = seat tilted backwards, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees", "uuid": "9f95869d8b0f5d9886bef2cc664414aa"}}, "description": "All seats.", "type": "branch", "uuid": "e8afa112abe75fda9ce3e1f0d712713d"}, "Pos3": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "6802243fcb3155b196cca3a825c12bcb"}}, "description": "Airbag signals.", "type": "branch", "uuid": "e1d14ad055955eac914a47ee180a6e78"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "38b30eb99fd35c5693c18361c566c6e9"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "b227f493bab0503589b3a54c30ade03c"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "2410df6d719c56a58617644a8afc7240"}, "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", "uuid": "867a9d4d4e685407906d561946921c24"}, "SideBolster": {"children": {"Support": {"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": "b4cef1fd83d653aca5c941865bbf96b7"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "d52ea54e1d725eb88fa1c061a07a3217"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "561be9f8b4f9587bb0d139cc33071742"}, "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", "uuid": "bf6f63ab87e453af965c90f0495ea972"}, "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": "2ae8b66df4045f46a96acbcdd6d2d452"}}, "description": "Headrest settings.", "type": "branch", "uuid": "a14ecc5524645ca883e2838f666bce70"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "2a175561eed05247b3048263c0122fa1"}, "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", "uuid": "077a21fca4d857dd81debfd81119bc73"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "815f9e1dc05b5078aaefc3868319b18b"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "018a7ef68dd75f0ea391c7d8191acd9d"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "fffccf6ae6365b83ab093031f573e452"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "d96b225635b959a1aea0d6febb955ae8"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "ea36896f5572580b9d8379a6256f61b5"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "296e51d414a65cea96e1eea27dc3e1dd"}}, "description": "Occupant data.", "type": "branch", "uuid": "a8df9afde2335f8ab7cf4b185148f20e"}, "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", "uuid": "64eb763cc10358b49968797fbf50c092"}, "Seating": {"children": {"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": "b188311a9fd95b9195b28ab7be00d68f"}}, "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 seating/base of the seat.", "type": "branch", "uuid": "1dcb55c75dd55fc0bf752fcf17ba79be"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "eed918c7f0b558a99bbe804582a31b64"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "0cc4f8336f0d585f93f4ab5c89e133d8"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "dcd08d675e7e5f4eafe85311a3e40f1e"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "866f9a7d358e5eb5985c9c675b4f7eb4"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "cf9c077f2f4d5573a6022f5f08e807d3"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "f0fd5a54865452bcbf2939d8acd4273c"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "1d631b9c90a25a858a6caabe8ead1826"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "e99b4f4b07af511b9d86454eec1c483c"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "92341df5af725c8282f6f93644f1ec9f"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "79d8d65b4c1d54a4ab1306d56e839c49"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "583a22d4a1365db9bf386a96bcafd292"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "04e14e79404b5ff7ac9067841f81bbc9"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "61a58c7fa7ed5e08a17067193bb9c951"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "3c94aab710ff5e8f8a48fdbf6dc7b989"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "e40c92c141f6562382f4f29d783cfa26"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "dd4de742803250eaa1efeceaad116e1d"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "267429a5f95d5f47ac47ec301755df32"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "ffff3283b2cf5f7292e241ec2ee27e77"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "73d2e688696a507b826230d5b53c429f"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "397a8afd0dd1533b8899248596ae7566"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "4490bc9063715f238c00c1eea91fa964"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "98d34a35ab82571e88e2d647b5a772f4"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "26752cad0db150a2aa6737b825e96256"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "820cc2c323b45ef989d5bcb8aac9527e"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "7226bc97842452099d5484baad0af620"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "fb062e9f85fd568cbd774b36fbf5113f"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "ac2bb22d6acf56988582353a1453cbe3"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "2999a262b18e5476ab621e0cba4045e8"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "d32a5d6d85ff5b64b0157ae215cee44e"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "0ed3b90fe1b4581782fac8496bace4b8"}}, "description": "Seat switch signals", "type": "branch", "uuid": "e0cfa7aceac75980b33075ceef5c9125"}, "Tilt": {"datatype": "float", "description": "Tilting of seat relative to vehicle z-axis. 0 = seating is flat, seat and vehicle z-axis are parallel. Positive degrees = seat tilted backwards, seat z-axis is tilted backward.", "type": "actuator", "unit": "degrees", "uuid": "5702e9961d4353eea849901a12886cf1"}}, "description": "All seats.", "type": "branch", "uuid": "a40aa679981551e7a92b8438533911d4"}}, "description": "All seats.", "type": "branch", "uuid": "8c3aaf015ef8595cb45d9461a9c1195f"}}, "description": "All seats.", "type": "branch", "uuid": "b0b253106b2851e3bb5c71ae3b09f09d"}, "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", "uuid": "8dd40ecd47ab51c79ed9c74ae4296d7e"}, "SeatRowCount": {"comment": "Default value corresponds to two rows of seats.", "datatype": "uint8", "default": 2, "description": "Number of seat rows in vehicle.", "type": "attribute", "uuid": "1002a7a4a954581b9cbc72fa438c5292"}, "Sunroof": {"children": {"Position": {"datatype": "int8", "description": "Sunroof position. 0 = Fully closed 100 = Fully opened. -100 = Fully tilted.", "max": 100, "min": -100, "type": "sensor", "uuid": "ab598697f1c852eda4df9ed62a956d17"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "5f78c2a631b75abc88744f9bad277f5a"}, "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", "uuid": "3836077128c65381b01e74a1a8be1c40"}}, "description": "Sun roof shade status.", "type": "branch", "uuid": "eeaae5977adb5683b16f405993405b2e"}, "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", "uuid": "88c39afd45a25ea2b474ff581e1fb138"}}, "description": "Sun roof status.", "type": "branch", "uuid": "8ff70db05c065e3eb530082a0b6983cf"}}, "description": "All in-cabin components, including doors.", "type": "branch", "uuid": "1a94457b237f5e8eb3c77c0532ac88d7"}, "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", "uuid": "789feabca2e8560ea3c1852371b4096e"}, "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", "uuid": "2fabd8b61db45f62b4e97e7a612b4a73"}}, "description": "Accelerator signals", "type": "branch", "uuid": "3b2b562086a45eb29c55186f3b710621"}, "Axle": {"children": {"Row1": {"children": {"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"}, "TireDiameter": {"datatype": "float", "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "ed9f037c1b5d53c78c90b71179db1f4f"}, "TireWidth": {"datatype": "uint16", "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", "type": "attribute", "unit": "mm", "uuid": "3444d8773c215cd7a076d688eb7f1afc"}, "Wheel": {"children": {"Left": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "63aa9c4973ef50b18bd7214c9f2634c5"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "901771088eb35dec9e69b56a8cb3e8f5"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "713da56818e55714ac441e10870b3753"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "b4ed36f8143d512fadaca3e641739ee2"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "162dab13d5815ec4bc22888b0bc59cbf"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "47897f20b2745b6aa2d0f76f1ecf824a"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "4088315cfaa05c28b51c3d3462c65339"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "9fa3f176fd975d28a68f70c7d72e370f"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "093d8fb119755f6bafa979e4eae201a0"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "17c60ec3c02054b4951c975156375d9a"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "0cd478c6e72b55c6be6d3d9df9624545"}, "Right": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "386bfddee4605e419d59755a51835650"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "4c669b71c91e57dd8fd804ee68174b9c"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "bb2057bc31c25beda1da0610ca62bd51"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "f3c53c8c5628527a8501e12778dae6c7"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "f334a45b92215f86b4ecadbd82c8b249"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "c288d064d56e53bfb94cef8670872587"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "93fa1125894e53259af5b7e1d991c8da"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "ea8038b63e6650ffb1a20539e915064a"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "58d4cee188d353d7996e855d48bb92df"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "660f90ae8f14594cb6e97d000c1985a1"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "c7ae1f1787ec502d8aea41802dc9a203"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "8ed02c02eee0502ba6d94a5d5f1fb789"}, "WheelCount": {"datatype": "uint8", "description": "Number of wheels on the axle", "type": "attribute", "uuid": "7232effafb7d5c908a9bafe1cef2ff3e"}, "WheelDiameter": {"datatype": "float", "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "60d4b948ae8a5485bd77c45e1f648c13"}, "WheelWidth": {"datatype": "float", "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "5b92bdab1e035ff4ba000330e20f826b"}}, "description": "Axle signals", "type": "branch", "uuid": "d7e93a94af0752aaab36819f6be4f67a"}, "Row2": {"children": {"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"}, "TireDiameter": {"datatype": "float", "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "4dc46ee7fe0a5240a6eb67f9bf43a1ea"}, "TireWidth": {"datatype": "uint16", "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", "type": "attribute", "unit": "mm", "uuid": "76a9071697b25fb8ab42393dfb77f0ef"}, "Wheel": {"children": {"Left": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "4b0d4f80b8855973a55ffee80fdfc4ba"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "3d9bae5bf0705de99789ecea26b99a5c"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "01f57161b0bf539fad1d2bfa9d9a9fc4"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "8eff72d583015e1e94eab98bf8f0497e"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "774d0a5771d35975872870cf71ea1487"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "427abdd04fc355769697d998a47d3f58"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "d895b1e23a4f59ec92735fc317e44769"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "ea414012c36e54fc84ec1d421f370ddd"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "06ab6b3fe7bb5f7c9e2e104ee0e7cfd5"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "edfee87117dc5a6f9d970167f26ec090"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "4c32a1c722a45ea09a52c389e8a8a618"}, "Right": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "83e5e261302d5ab38c9ee4dddc18c8ae"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "9b5963e98a9c5b229a61df76ef5c86e0"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "727823c7e0d551f48f26a5dd4f0578bd"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "63a564bca18a5b1fabd7d3cff1af0e6d"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "5c33ec4bd8a15d3590f59e7257bf4d25"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "85b41a82f4775fcea57dcc6218fb6d7b"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "da2f63312a455d92abd5edc405f01903"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "0cd3dd4be36c5fcda49d6360556ba7c8"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "7c08b5778bc05265bb8d4e08fdca29cf"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "d855fe9ffb4e52be83ebfc7967c1c3ee"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "f59f6ce66b1454498f5dc71be581732a"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "87b119ed6de254159877b24047fd3026"}, "WheelCount": {"datatype": "uint8", "description": "Number of wheels on the axle", "type": "attribute", "uuid": "ac6fe103410153d382306426d14213ab"}, "WheelDiameter": {"datatype": "float", "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "af27b1d18a5455e593692a9929909bb9"}, "WheelWidth": {"datatype": "float", "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "889d279053c051979ebbe301bacac206"}}, "description": "Axle signals", "type": "branch", "uuid": "8ef77768446659b6b5020a06c7b23c8b"}}, "description": "Axle signals", "type": "branch", "uuid": "0a3ebde7efa85c04ac6c29b5676fec5d"}, "AxleCount": {"datatype": "uint8", "default": 2, "description": "Number of axles on the vehicle", "type": "attribute", "uuid": "86d084c9148d5f22b5402a030413ed79"}, "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", "uuid": "0d462892aeac5062a62ee7d07306f6a6"}, "PedalPosition": {"datatype": "uint8", "description": "Brake pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "0477d3a4a831564ea473976cf34374f2"}}, "description": "Brake system signals", "type": "branch", "uuid": "38df972e5c6b558e93839a5e97238c5a"}, "ParkingBrake": {"children": {"IsEngaged": {"datatype": "boolean", "description": "Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.", "type": "actuator", "uuid": "faa7f94e6a5555c6b2d62e3328520ce0"}}, "description": "Parking brake signals", "type": "branch", "uuid": "3849d42292f4551590fa4bf716fc90f7"}, "SteeringWheel": {"children": {"Angle": {"datatype": "int16", "description": "Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right.", "type": "sensor", "unit": "degrees", "uuid": "92cd3b3d37585b2291806fe5127d9393"}, "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", "uuid": "6a84cc3604fc5960a1fb384fe63fae72"}, "Position": {"allowed": ["FRONT_LEFT", "FRONT_RIGHT"], "datatype": "string", "default": "FRONT_LEFT", "description": "Position of the steering wheel on the left or right side of the vehicle.", "type": "attribute", "uuid": "314d6eeeba195098b36ae7f476d27824"}, "Tilt": {"datatype": "uint8", "description": "Steering wheel column tilt. 0 = Lowest position. 100 = Highest position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "33e979769f91521d8080384447d06c00"}}, "description": "Steering wheel signals", "type": "branch", "uuid": "8c759072791e5986ac4efe9df0c2b751"}, "Track": {"datatype": "uint16", "default": 0, "description": "Overall wheel tracking, in mm.", "type": "attribute", "unit": "mm", "uuid": "f66cc4e6d7cf5e1da0d58af902dbb36b"}, "Wheelbase": {"datatype": "uint16", "default": 0, "description": "Overall wheel base, in mm.", "type": "attribute", "unit": "mm", "uuid": "11677e0433935dc7aa9c1806c96a8a6b"}}, "description": "All data concerning steering, suspension, wheels, and brakes.", "type": "branch", "uuid": "87d260d635425da0a4ebd62bc4e5c313"}, "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", "uuid": "b6d11be2a6565996b68ffb07a96595a7"}}, "description": "Connectivity data.", "type": "branch", "uuid": "89c267fccea35f3da9871cca2b4dc4df"}, "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"}, "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", "uuid": "d3ead98ab0b751c1a5b5dd5bc0e5e216"}, "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", "uuid": "52853b33d4605608bd0ae50595c69309"}, "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", "uuid": "f23d40f3556b5676a0d1e3def037197f"}, "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"}, "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"}}, "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", "uuid": "5c0887bce6fb5eb79402baaccb203e61"}}, "description": "Information on the GNSS receiver used for determining current location.", "type": "branch", "uuid": "b1bea5d88662539a8cff6f8fe4974740"}, "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"}, "HorizontalAccuracy": {"datatype": "double", "description": "Accuracy of the latitude and longitude coordinates.", "type": "sensor", "unit": "m", "uuid": "bf25ef243f0c5f839f7ef874f9c57fda"}, "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"}, "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", "uuid": "5246f2ec5fea550cb1b36f110854cfbb"}, "Timestamp": {"datatype": "string", "description": "Timestamp from GNSS system for current location, formatted according to ISO 8601 with UTC time zone.", "type": "sensor", "uuid": "094aeff73be05c08905690be0e82a438"}, "VerticalAccuracy": {"datatype": "double", "description": "Accuracy of altitude.", "type": "sensor", "unit": "m", "uuid": "8f54055bce9e5e8e97fb6051582707ab"}}, "description": "The current latitude and longitude of the vehicle.", "type": "branch", "uuid": "24777bd485f15fb69550ae0520c40ad5"}, "CurrentOverallWeight": {"datatype": "uint16", "description": "Current overall Vehicle weight. Including passengers, cargo and other load inside the car.", "type": "sensor", "unit": "kg", "uuid": "75599d7628bb5f35839055269d3ad205"}, "Driver": {"children": {"AttentiveProbability": {"datatype": "float", "description": "Probability of attentiveness of the driver.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "fcd202467afb533fbbf9e7da89cc1cee"}, "DistractionLevel": {"datatype": "float", "description": "Distraction level of the driver will be the level how much the driver is distracted, by multiple factors. E.g. Driving situation, acustical or optical signales inside the cockpit, phone calls.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "cb35ec0b924e58979e1469146d65c3fa"}, "FatigueLevel": {"datatype": "float", "description": "Fatigueness level of driver. Evaluated by multiple factors like trip time, behaviour of steering, eye status.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "49b1626295705a79ae20d8a270c48b6b"}, "HeartRate": {"datatype": "uint16", "description": "Heart rate of the driver.", "type": "sensor", "uuid": "d71516905f785c4da867a2f86e774d93"}, "Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "ee7988d26d7156d2a030ecc506ea97e7"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "b41ec688af265f10824bc9635989ac55"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "89705397069c5ec58d607318f2ff0ea8"}, "IsEyesOnRoad": {"datatype": "boolean", "description": "Has driver the eyes on road or not?", "type": "sensor", "uuid": "625e5009f1145aa0b797ee6c335ca2fe"}}, "description": "Driver data.", "type": "branch", "uuid": "1cac57e7b7e756dc8a154eaacbce6426"}, "EmissionsCO2": {"datatype": "int16", "description": "The CO2 emissions.", "type": "attribute", "unit": "g/km", "uuid": "b73e8f1ed17d584fad3f088c666dc2a5"}, "Exterior": {"children": {"AirTemperature": {"datatype": "float", "description": "Air temperature outside the vehicle.", "type": "sensor", "unit": "celsius", "uuid": "a38d3f5dfeb35317aca8b90453dc1a75"}, "Humidity": {"datatype": "float", "description": "Relative humidity outside the vehicle. 0 = Dry, 100 = Air fully saturated.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "6c785ec5d9a5534f98be7ce198d25d6b"}, "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", "uuid": "9b46b70490f853e891e1cc35dd08dddc"}}, "description": "Information about exterior measured by vehicle.", "type": "branch", "uuid": "06c5def549f3580e8cdaffa3e0f5d25c"}, "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"}, "Height": {"datatype": "uint16", "default": 0, "description": "Overall vehicle height.", "type": "attribute", "unit": "mm", "uuid": "9784d39f68b8541f90c355178ded7d7c"}, "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", "uuid": "469ebd2a76b45e5b97b799262a085330"}, "IsMoving": {"datatype": "boolean", "description": "Indicates whether the vehicle is stationary or moving.", "type": "sensor", "uuid": "db69549cc7375e919c2a2883b41cd19c"}, "Length": {"datatype": "uint16", "default": 0, "description": "Overall vehicle length.", "type": "attribute", "unit": "mm", "uuid": "885f1be6842a513582e52a42edb3176f"}, "LowVoltageSystemState": {"allowed": ["UNDEFINED", "LOCK", "OFF", "ACC", "ON", "START"], "datatype": "string", "description": "State of the supply voltage of the control units (usually 12V).", "type": "sensor", "uuid": "d7391ceb132e5519b02d4c13d5513d99"}, "MaxTowBallWeight": {"datatype": "uint16", "default": 0, "description": "Maximum vertical weight on the tow ball of a trailer.", "type": "attribute", "unit": "kg", "uuid": "fec550f2064750e8b65b54fbf1368d68"}, "MaxTowWeight": {"datatype": "uint16", "default": 0, "description": "Maximum weight of trailer.", "type": "attribute", "unit": "kg", "uuid": "a1b8fd65897654aa8a418bccf443f1f3"}, "OBD": {"children": {"AbsoluteLoad": {"datatype": "float", "description": "PID 43 - Absolute load value", "type": "sensor", "unit": "percent", "uuid": "b3dd889a42ce5de9a7904b7196ae325c"}, "AcceleratorPositionD": {"datatype": "float", "description": "PID 49 - Accelerator pedal position D", "type": "sensor", "unit": "percent", "uuid": "7e63256081ac5a7b8a28a6fa3c2c2ff9"}, "AcceleratorPositionE": {"datatype": "float", "description": "PID 4A - Accelerator pedal position E", "type": "sensor", "unit": "percent", "uuid": "4104e7fc25355e25b4522d233565d84b"}, "AcceleratorPositionF": {"datatype": "float", "description": "PID 4B - Accelerator pedal position F", "type": "sensor", "unit": "percent", "uuid": "95f5c2a209a857ff930e2f8e32ac2d3f"}, "AirStatus": {"datatype": "string", "description": "PID 12 - Secondary air status", "type": "sensor", "uuid": "548f65bf59ed505a86dfaa1c33342e4d"}, "AmbientAirTemperature": {"datatype": "float", "description": "PID 46 - Ambient air temperature", "type": "sensor", "unit": "celsius", "uuid": "220a90f183c5583ea8b8b6454d774517"}, "BarometricPressure": {"datatype": "float", "description": "PID 33 - Barometric pressure", "type": "sensor", "unit": "kPa", "uuid": "1966bfff4d235767bfd9a21afb445ac7"}, "Catalyst": {"children": {"Bank1": {"children": {"Temperature1": {"datatype": "float", "description": "PID 3C - Catalyst temperature from bank 1, sensor 1", "type": "sensor", "unit": "celsius", "uuid": "5a770f13939e5d069682d408f160a895"}, "Temperature2": {"datatype": "float", "description": "PID 3E - Catalyst temperature from bank 1, sensor 2", "type": "sensor", "unit": "celsius", "uuid": "ca9419a5d23b5937af23b51d823722fa"}}, "description": "Catalyst bank 1 signals", "type": "branch", "uuid": "0c3aaf014ba95b938b639d4202ef8b25"}, "Bank2": {"children": {"Temperature1": {"datatype": "float", "description": "PID 3D - Catalyst temperature from bank 2, sensor 1", "type": "sensor", "unit": "celsius", "uuid": "011658e4ee89502c9a33877c92dbf888"}, "Temperature2": {"datatype": "float", "description": "PID 3F - Catalyst temperature from bank 2, sensor 2", "type": "sensor", "unit": "celsius", "uuid": "f60c68f0ebca5fcf97086ce04e16d661"}}, "description": "Catalyst bank 2 signals", "type": "branch", "uuid": "9a20459754755146a3b9608bf6384835"}}, "description": "Catalyst signals", "type": "branch", "uuid": "4eb0b191d6445de081f3f3f759af31c2"}, "CommandedEGR": {"datatype": "float", "description": "PID 2C - Commanded exhaust gas recirculation (EGR)", "type": "sensor", "unit": "percent", "uuid": "0265890a4a695ee6952c9b9f565ddaa5"}, "CommandedEVAP": {"datatype": "float", "description": "PID 2E - Commanded evaporative purge (EVAP) valve", "type": "sensor", "unit": "percent", "uuid": "5e6295d04a9159b88f4698b561b86842"}, "CommandedEquivalenceRatio": {"datatype": "float", "description": "PID 44 - Commanded equivalence ratio", "type": "sensor", "unit": "ratio", "uuid": "104e39e816f65fa791d0afa24603292b"}, "ControlModuleVoltage": {"datatype": "float", "description": "PID 42 - Control module voltage", "type": "sensor", "unit": "V", "uuid": "59e072b932605ffc88a299c874d885c4"}, "CoolantTemperature": {"datatype": "float", "description": "PID 05 - Coolant temperature", "type": "sensor", "unit": "celsius", "uuid": "824892cdc72d5f92a38ef3136576edc8"}, "DTCList": {"datatype": "string[]", "description": "List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX )", "type": "sensor", "uuid": "eee1b64e69845d5ab5e793b74631f9dc"}, "DistanceSinceDTCClear": {"datatype": "float", "description": "PID 31 - Distance traveled since codes cleared", "type": "sensor", "unit": "km", "uuid": "0da628e2c69d561eb86216ddcb6e7b2a"}, "DistanceWithMIL": {"datatype": "float", "description": "PID 21 - Distance traveled with MIL on", "type": "sensor", "unit": "km", "uuid": "a9a522e343f25522b08f11e81bb91349"}, "DriveCycleStatus": {"children": {"DTCCount": {"datatype": "uint8", "description": "Number of sensor Trouble Codes (DTC)", "type": "sensor", "uuid": "312856f746ff560e8098c19196964d3b"}, "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"}, "IsMILOn": {"datatype": "boolean", "description": "Malfunction Indicator Light (MIL) - False = Off, True = On", "type": "sensor", "uuid": "e367394c9a075eef8fd66499e3d9cf14"}}, "description": "PID 41 - OBD status for the current drive cycle", "type": "branch", "uuid": "5215e28062f75154822789b8a5f30630"}, "EGRError": {"datatype": "float", "description": "PID 2D - Exhaust gas recirculation (EGR) error", "type": "sensor", "unit": "percent", "uuid": "80a7000c5c7b5444b5571a26264061e5"}, "EVAPVaporPressure": {"datatype": "float", "description": "PID 32 - Evaporative purge (EVAP) system pressure", "type": "sensor", "unit": "Pa", "uuid": "70b5dae2ffd0561eab73efed8ad2f0ad"}, "EVAPVaporPressureAbsolute": {"datatype": "float", "description": "PID 53 - Absolute evaporative purge (EVAP) system pressure", "type": "sensor", "unit": "kPa", "uuid": "ef188a1e1a1356f7bc425081e3e00805"}, "EVAPVaporPressureAlternate": {"datatype": "float", "description": "PID 54 - Alternate evaporative purge (EVAP) system pressure", "type": "sensor", "unit": "Pa", "uuid": "68eaba3c79975d61bc35b92cd3e5e8d0"}, "EngineLoad": {"datatype": "float", "description": "PID 04 - Engine load in percent - 0 = no load, 100 = full load", "type": "sensor", "unit": "percent", "uuid": "a8fda8a1b4c6534aa49c447bafc1c700"}, "EngineSpeed": {"datatype": "float", "description": "PID 0C - Engine speed measured as rotations per minute", "type": "sensor", "unit": "rpm", "uuid": "b682eea93b3e5874ab3b52e95a1fad37"}, "EthanolPercent": {"datatype": "float", "description": "PID 52 - Percentage of ethanol in the fuel", "type": "sensor", "unit": "percent", "uuid": "a207e7de17e1520c894b412af6f2522c"}, "FreezeDTC": {"datatype": "string", "description": "PID 02 - DTC that triggered the freeze frame", "type": "sensor", "uuid": "5b87fae8dda4522aae209ae528960782"}, "FuelInjectionTiming": {"datatype": "float", "description": "PID 5D - Fuel injection timing", "type": "sensor", "unit": "degrees", "uuid": "ab4869446f5357d6936838983e1b8949"}, "FuelLevel": {"datatype": "float", "description": "PID 2F - Fuel level in the fuel tank", "type": "sensor", "unit": "percent", "uuid": "fd39813424ee5cd08c44714b35697287"}, "FuelPressure": {"datatype": "float", "description": "PID 0A - Fuel pressure", "type": "sensor", "unit": "kPa", "uuid": "34e6b0689f025d7b9bfa1fc49bb30c0f"}, "FuelRailPressureAbsolute": {"datatype": "float", "description": "PID 59 - Absolute fuel rail pressure", "type": "sensor", "unit": "kPa", "uuid": "83c88b13d30153949eeca1b1180a9061"}, "FuelRailPressureDirect": {"datatype": "float", "description": "PID 23 - Fuel rail pressure direct inject", "type": "sensor", "unit": "kPa", "uuid": "039cb7bf1a8356a98d09eaf4fc029fe9"}, "FuelRailPressureVac": {"datatype": "float", "description": "PID 22 - Fuel rail pressure relative to vacuum", "type": "sensor", "unit": "kPa", "uuid": "b3b0adf44aa3572fa07e7434993e6458"}, "FuelRate": {"datatype": "float", "description": "PID 5E - Engine fuel rate", "type": "sensor", "unit": "l/h", "uuid": "4ab7c2b710f95ceb9c7d01d19dabac38"}, "FuelStatus": {"datatype": "string", "description": "PID 03 - Fuel status", "type": "sensor", "uuid": "15fa2f3f667a5f5786eda5c83435ef16"}, "FuelType": {"datatype": "string", "description": "PID 51 - Fuel type", "type": "sensor", "uuid": "aefb45bdd8035904b0c8f3ffcedc53a9"}, "HybridBatteryRemaining": {"datatype": "float", "description": "PID 5B - Remaining life of hybrid battery", "type": "sensor", "unit": "percent", "uuid": "c9517b6243df5e8d8f3aa3e57f71ec37"}, "IntakeTemp": {"datatype": "float", "description": "PID 0F - Intake temperature", "type": "sensor", "unit": "celsius", "uuid": "7c108305178b5854b430a23e125588bd"}, "IsPTOActive": {"datatype": "boolean", "description": "PID 1E - Auxiliary input status (power take off)", "type": "sensor", "uuid": "ce291dc40bba5a969e57b17f11ae23a9"}, "LongTermFuelTrim1": {"datatype": "float", "description": "PID 07 - Long Term (learned) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "1c203b11667150f0b4ee1be26a60c084"}, "LongTermFuelTrim2": {"datatype": "float", "description": "PID 09 - Long Term (learned) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "b02aff2efce05632b5694a256e5b9ec7"}, "LongTermO2Trim1": {"datatype": "float", "description": "PID 56 (byte A) - Long term secondary O2 trim - Bank 1", "type": "sensor", "unit": "percent", "uuid": "9a9586e29a02567e9920cb9b0aa2e3f5"}, "LongTermO2Trim2": {"datatype": "float", "description": "PID 58 (byte A) - Long term secondary O2 trim - Bank 2", "type": "sensor", "unit": "percent", "uuid": "e579f6c930605b389e8ce2d7edd92999"}, "LongTermO2Trim3": {"datatype": "float", "description": "PID 56 (byte B) - Long term secondary O2 trim - Bank 3", "type": "sensor", "unit": "percent", "uuid": "50ea51ad343a5e59b1d214053e522a45"}, "LongTermO2Trim4": {"datatype": "float", "description": "PID 58 (byte B) - Long term secondary O2 trim - Bank 4", "type": "sensor", "unit": "percent", "uuid": "f9c20edd12f456e5ace21581cea484bd"}, "MAF": {"datatype": "float", "description": "PID 10 - Grams of air drawn into engine per second", "type": "sensor", "unit": "g/s", "uuid": "f3acdf89fb865313883d5d3126f15518"}, "MAP": {"datatype": "float", "description": "PID 0B - Intake manifold pressure", "type": "sensor", "unit": "kPa", "uuid": "335991b1b53f56f097fea7b05d4db83b"}, "MaxMAF": {"datatype": "float", "description": "PID 50 - Maximum flow for mass air flow sensor", "type": "sensor", "unit": "g/s", "uuid": "e21826479f715ee7afe8dc485f109b11"}, "O2": {"children": {"Sensor1": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "ee366d40132456c0bce8cac3a837f16a"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "e95f4ea667265ee3a68ab57b86ecbf66"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "3aa8859203d4545083196a9690d72627"}, "Sensor2": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "92e6e172777457a9866ca045d0d79853"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "5f1781bde96b53ce9b810a5a56b7c8ed"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "efcb337cf94056c8a724e76bcfee6765"}, "Sensor3": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "66c300d35eb85e7387dc42528cca48d9"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "a86a1986f0fe5d25b6c438a00438ff60"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "b8c145402b7a5cffaa2699ed61b056fa"}, "Sensor4": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "b71dcf9d850c5d5686f14ad46cd2cae3"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "772cbfab91be59f7bbf3ec4140ffbcc4"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "853945bce86c5c4f95081075ae32261c"}, "Sensor5": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "7604de26198b51e28a441f79b1d84242"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "155a0816093b5aee8012ed2a8d532b7f"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "f48c76c9c7ec5ddcb6838ced0bd7517b"}, "Sensor6": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "2fb034769cab5089986d90bf7f9000ca"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "85430592fb795e848d7bb91e6b9f1e00"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "5269c1877ded507b87d7d1d7bec10605"}, "Sensor7": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "81f34b16b5e05d1ab159de9474eaf5bc"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "23984a68e63f532bab18679e1174130d"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "4b565102e4a052aa8aa64f27dc678ce3"}, "Sensor8": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "1699eb2267615e258259e480be0fa606"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "23e057b3629a5136bb585638725fe0a2"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "d5eef24c35f1561982127404b50ece11"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "31f007df72af50f0925d2b4647682a4d"}, "O2WR": {"children": {"Sensor1": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "bb4c70d9d2ae56c8a9a3be446db6f54c"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "b809083454a5516f995477c59bf4d3c6"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "396251cbfa5a57ffb1dd743298dfcdf9"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "496074cec04a5260b60fd39bb7ed1479"}, "Sensor2": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "442ab33180ca5028a37a487056ba4a51"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "ce55aed0e8705a49970566db71ebcf90"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "a784675c3b765d42ad023d8ee412be26"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "079f9960f75d5f399df7ff86fcea8f0c"}, "Sensor3": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "c942468e349e5aaebde4d90ee0bc3814"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "f2ae7c781b0a5dcf8db91558e3cf4c13"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "a78f7621a3f75df2adc1dc940219834a"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "a8a83d3e33f9584b824088e830bcbaec"}, "Sensor4": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "f16b31fde63a516db04cb44feaa7c27b"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "be09013f423c588eae9c06da9ddf290f"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "abeca90ba22d5c32a34ee907cedf3192"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "bb67047ddad158ba98876a6a87d02e97"}, "Sensor5": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "40494cb5826554929f5ecadd5b9173fd"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "16a957200f5c51f89824bbb76a23b9c0"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "699c4db2439f51af8465e823687018b8"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "01c4160d39af5db59c66db844646195e"}, "Sensor6": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "06a38b6b4784545bb637279e96d48eb5"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "fdae9bb9a3a45b4680450f0347cf6d66"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "304c181c76d55c3abe75382a935c7bde"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "cff12c30bde957798daaa3a91758b48b"}, "Sensor7": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "6ed46315325d540eb95c86ec61eef8e4"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "9221a5289157538b9dcaa0d961c335fa"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "0ad1d79dcce65c00ac48421b5b54ca0e"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "44459df1f25f5d43a07b00f2bad65ef5"}, "Sensor8": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "96de3c3b036c50c2978ab2aa490d4d9e"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "c56db1195fa3519ab6718ab57d2cd543"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "ab7d6c739f025782bba640e58123f0c8"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "b8865e72055d52a086f6935d5c188cc1"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "a439f2bc16575318afe20d0bc6a8cacf"}, "OBDStandards": {"datatype": "uint8", "description": "PID 1C - OBD standards this vehicle conforms to", "type": "attribute", "uuid": "1aa8d7d055cf5a29a31b04a12124f673"}, "OilTemperature": {"datatype": "float", "description": "PID 5C - Engine oil temperature", "type": "sensor", "unit": "celsius", "uuid": "ef3dfc11085d5077b363b1a4e8e4a84e"}, "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", "type": "sensor", "uuid": "0a9ba3f0a9b256d78bafd62ee8ce73cd"}, "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]", "type": "sensor", "uuid": "41d3377813d651aa9b9344ba9fd2f880"}, "PidsA": {"datatype": "uint32", "description": "PID 00 - Bit array of the supported pids 01 to 20", "type": "sensor", "uuid": "ba1c1b9034955d2d97249c3b4516beef"}, "PidsB": {"datatype": "uint32", "description": "PID 20 - Bit array of the supported pids 21 to 40", "type": "sensor", "uuid": "00193c560a0a5525baa45681e07b50f6"}, "PidsC": {"datatype": "uint32", "description": "PID 40 - Bit array of the supported pids 41 to 60", "type": "sensor", "uuid": "7c3a3f0ecc5d593aa996892668afe4b0"}, "RelativeAcceleratorPosition": {"datatype": "float", "description": "PID 5A - Relative accelerator pedal position", "type": "sensor", "unit": "percent", "uuid": "e25de9aacad3549285b4fb234f10be8f"}, "RelativeThrottlePosition": {"datatype": "float", "description": "PID 45 - Relative throttle position", "type": "sensor", "unit": "percent", "uuid": "54ecf7dd671c5053aac4bc1bb061d64b"}, "RunTime": {"datatype": "float", "description": "PID 1F - Engine run time", "type": "sensor", "unit": "s", "uuid": "acf70773752256d1a227ab48257624b5"}, "RunTimeMIL": {"datatype": "float", "description": "PID 4D - Run time with MIL on", "type": "sensor", "unit": "min", "uuid": "555604a484535f60adf8894a6bd895b6"}, "ShortTermFuelTrim1": {"datatype": "float", "description": "PID 06 - Short Term (immediate) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "569c983874335fb392d4e82a002654cb"}, "ShortTermFuelTrim2": {"datatype": "float", "description": "PID 08 - Short Term (immediate) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "53a39620773a523a8182169027169ec2"}, "ShortTermO2Trim1": {"datatype": "float", "description": "PID 55 (byte A) - Short term secondary O2 trim - Bank 1", "type": "sensor", "unit": "percent", "uuid": "be7ed33a854557ba802da0c51f9f4564"}, "ShortTermO2Trim2": {"datatype": "float", "description": "PID 57 (byte A) - Short term secondary O2 trim - Bank 2", "type": "sensor", "unit": "percent", "uuid": "c8b962f8990e51d294621408ceaa21d9"}, "ShortTermO2Trim3": {"datatype": "float", "description": "PID 55 (byte B) - Short term secondary O2 trim - Bank 3", "type": "sensor", "unit": "percent", "uuid": "af58212df970568b9edcc5e58fa36f8d"}, "ShortTermO2Trim4": {"datatype": "float", "description": "PID 57 (byte B) - Short term secondary O2 trim - Bank 4", "type": "sensor", "unit": "percent", "uuid": "8ef0516c0c965fd6aecbacd6b9120a5b"}, "Speed": {"datatype": "float", "description": "PID 0D - Vehicle speed", "type": "sensor", "unit": "km/h", "uuid": "91ed0bb43eb054759813cd784b071764"}, "Status": {"children": {"DTCCount": {"datatype": "uint8", "description": "Number of sensor Trouble Codes (DTC)", "type": "sensor", "uuid": "4afdf65e788c5f69baf682597e69fb67"}, "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": "7ffd71caac8e5bd18f93366afdfe534d"}, "IsMILOn": {"datatype": "boolean", "description": "Malfunction Indicator Light (MIL) False = Off, True = On", "type": "sensor", "uuid": "8744bcb275205630932320b66185502c"}}, "description": "PID 01 - OBD status", "type": "branch", "uuid": "474f58e593ee5bfebbb9c6ce4a453f96"}, "ThrottleActuator": {"datatype": "float", "description": "PID 4C - Commanded throttle actuator", "type": "sensor", "unit": "percent", "uuid": "49a19905a1005ee3abe0c0a84d7112d1"}, "ThrottlePosition": {"datatype": "float", "description": "PID 11 - Throttle position - 0 = closed throttle, 100 = open throttle", "type": "sensor", "unit": "percent", "uuid": "ec1d372020205bb4a846a014b33801e1"}, "ThrottlePositionB": {"datatype": "float", "description": "PID 47 - Absolute throttle position B", "type": "sensor", "unit": "percent", "uuid": "701712a565ed5bf8b6630487a7152c87"}, "ThrottlePositionC": {"datatype": "float", "description": "PID 48 - Absolute throttle position C", "type": "sensor", "unit": "percent", "uuid": "06f162dc00a85f628f9d5d1bc952665c"}, "TimeSinceDTCCleared": {"datatype": "float", "description": "PID 4E - Time since trouble codes cleared", "type": "sensor", "unit": "min", "uuid": "66ea3984a2585dcdaaf6452eef835c0d"}, "TimingAdvance": {"datatype": "float", "description": "PID 0E - Time advance", "type": "sensor", "unit": "degrees", "uuid": "35533b7e327d5f839b17c932b630767c"}, "WarmupsSinceDTCClear": {"datatype": "uint8", "description": "PID 30 - Number of warm-ups since codes cleared", "type": "sensor", "uuid": "a63ba60721785fc591e3dd067c4dc2ae"}}, "description": "OBD data.", "type": "branch", "uuid": "7ad7c512ed5d52c8b31944d2d47a4bc3"}, "Powertrain": {"children": {"AccumulatedBrakingEnergy": {"datatype": "float", "description": "The accumulated energy from regenerative braking over lifetime.", "type": "sensor", "unit": "kWh", "uuid": "0dd466d28d3d5ad094f2015adafb91a5"}, "CombustionEngine": {"children": {"AspirationType": {"allowed": ["UNKNOWN", "NATURAL", "SUPERCHARGER", "TURBOCHARGER"], "datatype": "string", "default": "UNKNOWN", "description": "Type of aspiration (natural, turbocharger, supercharger etc).", "type": "attribute", "uuid": "3ca6a8ff30275c20a9d8d6d6829574eb"}, "Bore": {"datatype": "float", "description": "Bore in millimetres.", "type": "attribute", "unit": "mm", "uuid": "1618fb16035b5464961570cc1afd934e"}, "CompressionRatio": {"datatype": "string", "description": "Engine compression ratio, specified in the format 'X:1', e.g. '9.2:1'.", "type": "attribute", "uuid": "ead42922511051a0a0a1b634781f3c09"}, "Configuration": {"allowed": ["UNKNOWN", "STRAIGHT", "V", "BOXER", "W", "ROTARY", "RADIAL", "SQUARE", "H", "U", "OPPOSED", "X"], "datatype": "string", "default": "UNKNOWN", "description": "Engine configuration.", "type": "attribute", "uuid": "586be4567fe059ee9e6cf42901c2e773"}, "DieselExhaustFluid": {"children": {"Capacity": {"datatype": "float", "description": "Capacity in liters of the Diesel Exhaust Fluid Tank.", "type": "attribute", "unit": "l", "uuid": "863c16ad452b5cf5b7a37f58bdda14c3"}, "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"}, "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", "uuid": "f5b0269b58ff5a8e8399f6d96963a3b6"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters of the Diesel Exhaust Fluid present in the vehicle.", "type": "sensor", "unit": "m", "uuid": "124afbee975c5a67b316413f7b805eac"}}, "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"}, "DieselParticulateFilter": {"children": {"DeltaPressure": {"datatype": "float", "description": "Delta Pressure of Diesel Particulate Filter.", "type": "sensor", "unit": "Pa", "uuid": "a6f476775c60531b93acb835e0bc6ab6"}, "InletTemperature": {"datatype": "float", "description": "Inlet temperature of Diesel Particulate Filter.", "type": "sensor", "unit": "celsius", "uuid": "70e90d202d3054bd967e67dce95c8ef2"}, "OutletTemperature": {"datatype": "float", "description": "Outlet temperature of Diesel Particulate Filter.", "type": "sensor", "unit": "celsius", "uuid": "e2b7f9d97bec5c0d94ade71a5e2f6518"}}, "description": "Diesel Particulate Filter signals.", "type": "branch", "uuid": "eeddd99ad6475b1a92b9ec7bd7cefdbd"}, "Displacement": {"datatype": "uint16", "description": "Displacement in cubic centimetres.", "type": "attribute", "unit": "cm^3", "uuid": "94dbd928847150ab842c00fa5caaf272"}, "ECT": {"datatype": "int16", "description": "Engine coolant temperature.", "type": "sensor", "unit": "celsius", "uuid": "fff3cad23cac5b189a1a075c3ab562cd"}, "EOP": {"datatype": "uint16", "description": "Engine oil pressure.", "type": "sensor", "unit": "kPa", "uuid": "76c7039dc7975ec3a003f0f4a04895ec"}, "EOT": {"datatype": "int16", "description": "Engine oil temperature.", "type": "sensor", "unit": "celsius", "uuid": "eae6f5eae04f530e80f6b024f95b767d"}, "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"}, "EngineCoolantCapacity": {"datatype": "float", "description": "Engine coolant capacity in liters.", "type": "attribute", "unit": "l", "uuid": "90b5b64808ea5f4fa2798d96143b0d60"}, "EngineHours": {"datatype": "float", "description": "Accumulated time during engine lifetime with 'engine speed (rpm) > 0'.", "type": "sensor", "unit": "h", "uuid": "a23a62e24f58514d961890f53262e4e0"}, "EngineOilCapacity": {"datatype": "float", "description": "Engine oil capacity in liters.", "type": "attribute", "unit": "l", "uuid": "2ca7af6facb55a13885989faa9bc6ca7"}, "EngineOilLevel": {"allowed": ["CRITICALLY_LOW", "LOW", "NORMAL", "HIGH", "CRITICALLY_HIGH"], "datatype": "string", "description": "Engine oil level.", "type": "sensor", "uuid": "e3813f59e94b509eb865fd97255a8a4f"}, "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", "uuid": "6caa3d7e669c5cc6aecd4a6be9a302d4"}, "IsRunning": {"datatype": "boolean", "description": "Engine Running. True if engine is rotating (Speed > 0).", "type": "sensor", "uuid": "57652c27679757398c44d56af7a044d3"}, "MAF": {"datatype": "uint16", "description": "Grams of air drawn into engine per second.", "type": "sensor", "unit": "g/s", "uuid": "1e222ed8c48b5dcea60e43ac8af7d6df"}, "MAP": {"datatype": "uint16", "description": "Manifold absolute pressure possibly boosted using forced induction.", "type": "sensor", "unit": "kPa", "uuid": "28d4354fa34056369acb857aa7cc76ac"}, "MaxPower": {"datatype": "uint16", "default": 0, "description": "Peak power, in kilowatts, that engine can generate.", "type": "attribute", "unit": "kW", "uuid": "81fbdd5e90f557a38b96578a38dc137d"}, "MaxTorque": {"datatype": "uint16", "default": 0, "description": "Peak torque, in newton meter, that the engine can generate.", "type": "attribute", "unit": "Nm", "uuid": "471cd478c1e8597f8e97c85b4e4ebe26"}, "NumberOfCylinders": {"datatype": "uint16", "description": "Number of cylinders.", "type": "attribute", "uuid": "b2cd342c218257e88d214cdb511df82b"}, "NumberOfValvesPerCylinder": {"datatype": "uint16", "description": "Number of valves per cylinder.", "type": "attribute", "uuid": "44633204726e561ca21beff31f3fef80"}, "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"}, "Power": {"datatype": "uint16", "description": "Current engine power output. Shall be reported as 0 during engine breaking.", "type": "sensor", "unit": "kW", "uuid": "20e8b5d2187758c2848ed421248c180d"}, "Speed": {"datatype": "uint16", "description": "Engine speed measured as rotations per minute.", "type": "sensor", "unit": "rpm", "uuid": "557ce24c5a4d51cc825059c948ac9e29"}, "StrokeLength": {"datatype": "float", "description": "Stroke length in millimetres.", "type": "attribute", "unit": "mm", "uuid": "1bdfdab7904d51ed93e101b84ea54ddf"}, "TPS": {"datatype": "uint8", "description": "Current throttle position.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "1ddb77860de558b4876ffb399a442bda"}, "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.", "type": "sensor", "unit": "Nm", "uuid": "b81f504bdb57513299ae6e9402ec7bcd"}}, "description": "Engine-specific data, stopping at the bell housing.", "type": "branch", "uuid": "159e2e3e75f0590f95b4d2f6cfae54b5"}, "ElectricMotor": {"children": {"CoolantTemperature": {"datatype": "int16", "description": "Motor coolant temperature (if applicable).", "type": "sensor", "unit": "celsius", "uuid": "3c5ea8c7700956518f2ae7a2a0f34f1c"}, "EngineCode": {"datatype": "string", "description": "Engine code designation, as specified by vehicle manufacturer.", "type": "attribute", "uuid": "e4102a5142ed501495e5edafd3d36dfb"}, "MaxPower": {"datatype": "uint16", "default": 0, "description": "Peak power, in kilowatts, that motor(s) can generate.", "type": "attribute", "unit": "kW", "uuid": "825ec7911ee958abb199b9f7903df3a6"}, "MaxRegenPower": {"datatype": "uint16", "default": 0, "description": "Peak regen/brake power, in kilowatts, that motor(s) can generate.", "type": "attribute", "unit": "kW", "uuid": "7f2cb2650ba95485b7156ffe76e27366"}, "MaxRegenTorque": {"datatype": "uint16", "default": 0, "description": "Peak regen/brake torque, in newton meter, that the motor(s) can generate.", "type": "attribute", "unit": "Nm", "uuid": "0e5190c2517b55aa80fcb9bf698e02d6"}, "MaxTorque": {"datatype": "uint16", "default": 0, "description": "Peak power, in newton meter, that the motor(s) can generate.", "type": "attribute", "unit": "Nm", "uuid": "cf31eabcde5151f589e9b0f7a6090512"}, "Power": {"datatype": "int16", "description": "Current motor power output. Negative values indicate regen mode.", "type": "sensor", "unit": "kW", "uuid": "46b86286fba059349a733fed9a0e3232"}, "Speed": {"datatype": "int32", "description": "Motor rotational speed measured as rotations per minute. Negative values indicate reverse driving mode.", "type": "sensor", "unit": "rpm", "uuid": "ca961aa6ca435095a89f9d404a5d849d"}, "Temperature": {"datatype": "int16", "description": "Motor temperature.", "type": "sensor", "unit": "celsius", "uuid": "1b7c15e5341052139995bfacea2c05b2"}, "Torque": {"datatype": "int16", "description": "Current motor torque. Negative values indicate regen mode.", "type": "sensor", "unit": "Nm", "uuid": "aceffe768ddf5b828fff0975349d2433"}}, "description": "Electric Motor specific data.", "type": "branch", "uuid": "1ade64f6b0d05f6c9340e7a667555ae2"}, "FuelSystem": {"children": {"AverageConsumption": {"datatype": "float", "description": "Average consumption in liters per 100 km.", "min": 0, "type": "sensor", "unit": "l/100km", "uuid": "e2252108125a54dcab34e1bad0fe8bdc"}, "ConsumptionSinceStart": {"datatype": "float", "description": "Fuel amount in liters consumed since start of current trip.", "type": "sensor", "unit": "l", "uuid": "adf0a40964ff556f92b10275ad918883"}, "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", "uuid": "f0f72012f5e453c1935ff8c3a5aff696"}, "InstantConsumption": {"datatype": "float", "description": "Current consumption in liters per 100 km.", "min": 0, "type": "sensor", "unit": "l/100km", "uuid": "cf65767ec8ad56ffadfdccd831e4b562"}, "IsEngineStopStartEnabled": {"datatype": "boolean", "description": "Indicates whether eco start stop is currently enabled.", "type": "sensor", "uuid": "176eed5bb0da582a9ee56f1c70e12075"}, "IsFuelLevelLow": {"datatype": "boolean", "description": "Indicates that the fuel level is low (e.g. <50km range).", "type": "sensor", "uuid": "65f18ee3b04f5d4c8bb76083227dd9fe"}, "Level": {"datatype": "uint8", "description": "Level in fuel tank as percent of capacity. 0 = empty. 100 = full.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "902bd295a662573088291e8b6a6b7943"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using only liquid fuel.", "type": "sensor", "unit": "m", "uuid": "c5a0dbe5e754553897f0aed0069af57a"}, "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", "uuid": "7fd3bf2ef0c650e69ff2037875ec59ee"}, "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", "uuid": "80edc3002aa25097aba6455fe459fa6c"}, "TankCapacity": {"datatype": "float", "description": "Capacity of the fuel tank in liters.", "type": "attribute", "unit": "l", "uuid": "362643b866c55d5386fdbdf383464e90"}, "TimeSinceStart": {"datatype": "uint32", "description": "Time in seconds elapsed since start of current trip.", "type": "sensor", "unit": "s", "uuid": "1a8dbc5107b3522fad852e63aa85aef9"}}, "description": "Fuel system data.", "type": "branch", "uuid": "dbc194a7f97d5a56bc8942c17c2db22e"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using all energy sources available in the vehicle.", "type": "sensor", "unit": "m", "uuid": "ea4b6de772d65d20b1fa611f997aa7b8"}, "TractionBattery": {"children": {"AccumulatedChargedEnergy": {"datatype": "float", "description": "The accumulated energy delivered to the battery during charging over lifetime of the battery.", "type": "sensor", "unit": "kWh", "uuid": "739d06021d795da0877bc0ef3c107de1"}, "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"}, "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"}, "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"}, "Charging": {"children": {"ChargeCurrent": {"children": {"DC": {"datatype": "float", "description": "Current DC charging current at inlet. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "44204d7ae6fd5f8e954d0670a739bdf2"}, "Phase1": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 1. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "400dca50fcde52a6bb605d7e86f49776"}, "Phase2": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 2. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "32cb24d1c495503a9087d6f55997cf57"}, "Phase3": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 3. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "55fb7fb7ff4a5df9b6a3af435eac868e"}}, "description": "Current charging current.", "type": "branch", "uuid": "94739cf563735b438878ac0f85601f27"}, "ChargeLimit": {"datatype": "uint8", "description": "Target charge limit (state of charge) for battery.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "62360a4ed1095275a7052d65112aaef1"}, "ChargePlugType": {"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 inlets. 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.", "datatype": "string[]", "description": "Type of charge plug (charging inlet) available on the vehicle. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", "type": "attribute", "uuid": "4c56357a6f1d586395215a9beeb26d91"}, "ChargePortFlap": {"allowed": ["OPEN", "CLOSED"], "datatype": "string", "description": "Status of the charge port cover, can potentially be controlled manually.", "type": "actuator", "uuid": "71bdd2145bb55c3393df194bfc2e03e5"}, "ChargeRate": {"datatype": "float", "description": "Current charging rate, as in kilometers of range added per hour.", "type": "sensor", "unit": "km/h", "uuid": "a287cea3fdaa533180c8e349343a7851"}, "ChargeVoltage": {"children": {"DC": {"datatype": "float", "description": "Current DC charging voltage at charging inlet.", "type": "sensor", "unit": "V", "uuid": "701c21d1a4815b35ba061415789ec911"}, "Phase1": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 1.", "type": "sensor", "unit": "V", "uuid": "15991c8316585816815d6f4fb6b06776"}, "Phase2": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 2.", "type": "sensor", "unit": "V", "uuid": "6c0dcf98169d5a5190736a6dd81291a4"}, "Phase3": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 3.", "type": "sensor", "unit": "V", "uuid": "1ab06b48231e54e2ac27e543508c84f0"}}, "description": "Current charging voltage, as measured at the charging inlet.", "type": "branch", "uuid": "7170151d653b52c6bb5e75cb0a14d1c5"}, "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", "uuid": "d28244c9e3365899954bd3e38ef46bb9"}, "IsChargingCableConnected": {"datatype": "boolean", "description": "Indicates if a charging cable is physically connected to the vehicle or not.", "type": "sensor", "uuid": "a1c8e2f662b95a54a9933a1b163fff84"}, "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"}, "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"}, "MaximumChargingCurrent": {"children": {"DC": {"datatype": "float", "description": "Maximum DC charging current at inlet that can be accepted by the system.", "type": "sensor", "unit": "A", "uuid": "5a70acfd3c8959898b43738151ab36e1"}, "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"}, "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"}, "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"}}, "description": "Maximum charging current that can be accepted by the system, as measured at the charging inlet.", "type": "branch", "uuid": "e3f2e57e7a395d9ca9931d429e540a34"}, "Mode": {"allowed": ["MANUAL", "TIMER", "GRID", "PROFILE"], "comment": "The mechanism to provide a profile to the vehicle is currently not covered by VSS.", "datatype": "string", "description": "Control of the charge process. MANUAL means manually initiated (plug-in event, companion app, etc). TIMER means timer-based. GRID means grid-controlled (eg ISO 15118). PROFILE means controlled by profile download to vehicle.", "type": "actuator", "uuid": "1e4be3280b265873945531f6f6d0ec6b"}, "PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside the AC/DC converter.", "type": "sensor", "unit": "W", "uuid": "88f40bbeb80b5dfb97ceba13269665c5"}, "StartStopCharging": {"allowed": ["START", "STOP"], "datatype": "string", "description": "Start or stop the charging process.", "type": "actuator", "uuid": "80506d3e9a2557c2b52f74a50d89593f"}, "Temperature": {"datatype": "float", "description": "Current temperature of AC/DC converter converting grid voltage to battery voltage.", "type": "sensor", "unit": "celsius", "uuid": "c3c0ef3a41db5df1bab659803adbc7ba"}, "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", "uuid": "c6439c2e068652b08383b9654e2e784a"}, "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", "uuid": "b09fb52261735977af275dda1904a7a1"}, "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", "uuid": "c08dcaeda02b5e26aacd7e2542f0fc90"}}, "description": "Properties related to timing of battery charging sessions.", "type": "branch", "uuid": "cd5b57ada627510e83f90832efed9d5a"}}, "description": "Properties related to battery charging.", "type": "branch", "uuid": "49b9ef0c8b145a36afdf17d0cb44131b"}, "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"}, "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"}, "CurrentVoltage": {"datatype": "float", "description": "Current Voltage of the battery.", "type": "sensor", "unit": "V", "uuid": "7b54ea22ee7d5f559da552aefcc07222"}, "DCDC": {"children": {"PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside DC/DC converter.", "type": "sensor", "unit": "W", "uuid": "f29e37087cdf57ca998188c7b945a77b"}, "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"}}, "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"}, "GrossCapacity": {"datatype": "uint16", "description": "Gross capacity of the battery.", "type": "attribute", "unit": "kWh", "uuid": "5460530488435dc8bfa1298bf47a993d"}, "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"}, "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"}, "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"}, "MaxVoltage": {"datatype": "uint16", "description": "Max allowed voltage of the battery, e.g. during charging.", "type": "attribute", "unit": "V", "uuid": "a81264a0ef0c55d288671cfc62c4add5"}, "NetCapacity": {"datatype": "uint16", "description": "Total net capacity of the battery considering aging.", "type": "sensor", "unit": "kWh", "uuid": "9c68fe42cb81501eb6349f8c9b0b6899"}, "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": "3eccae5633185b998d5bdb6ea33cd926"}, "PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside the battery.", "type": "sensor", "unit": "W", "uuid": "880082aafe025cb3a5776b623f9a48b5"}, "ProductionDate": {"datatype": "string", "description": "Production date of battery in ISO8601 format, e.g. YYYY-MM-DD.", "type": "attribute", "uuid": "c9509ba4d76c56d9a8c1d6e2280ae02f"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using only battery.", "type": "sensor", "unit": "m", "uuid": "c0376a425e5d578d9d86ae0dc2ad9778"}, "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", "uuid": "2e647ca3a1ff5e52af137aab240642da"}, "Displayed": {"datatype": "float", "description": "State of charge displayed to the customer.", "max": 100.0, "min": 0, "type": "sensor", "unit": "percent", "uuid": "1bfcc228293b5512aafe2508ab0500d2"}}, "description": "Information on the state of charge of the vehicle's high voltage battery.", "type": "branch", "uuid": "26bae2ce7c4d5e2a951915ef2f5d8b7d"}, "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", "uuid": "4d982c47f3245048bcfec1190973a3ed"}, "Temperature": {"children": {"Average": {"datatype": "float", "description": "Current average temperature of the battery cells.", "type": "sensor", "unit": "celsius", "uuid": "ae28e502137f56b9a037ed9b32bc04e1"}, "Max": {"datatype": "float", "description": "Current maximum temperature of the battery cells, i.e. temperature of the hottest cell.", "type": "sensor", "unit": "celsius", "uuid": "07aa7c8ba1d355398d7469c2b337152a"}, "Min": {"datatype": "float", "description": "Current minimum temperature of the battery cells, i.e. temperature of the coldest cell.", "type": "sensor", "unit": "celsius", "uuid": "4e3f630fefa7558fa302b175bc7eb5c7"}}, "description": "Temperature Information for the battery pack.", "type": "branch", "uuid": "1cfbcf8c152959dcb3eb2c54fc42e623"}}, "description": "Battery Management data.", "type": "branch", "uuid": "1a2515d1a8875d86873431194ade2b50"}, "Transmission": {"children": {"ClutchEngagement": {"datatype": "float", "description": "Clutch engagement. 0% = Clutch fully disengaged. 100% = Clutch fully engaged.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "2890bd4a2b6a56c19b62d7bd95151fc6"}, "ClutchWear": {"datatype": "uint8", "description": "Clutch wear as a percent. 0 = no wear. 100 = worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "c113405ad165571a9d53ae4cf55dc929"}, "CurrentGear": {"datatype": "int8", "description": "The current gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse.", "type": "sensor", "uuid": "cd0ba1d772565e16bff46cbd5c9361da"}, "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", "uuid": "5149afe37fbd5c24847b5820821abc02"}, "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", "uuid": "197c939bd1405613b80179becec6db83"}, "DriveType": {"allowed": ["UNKNOWN", "FORWARD_WHEEL_DRIVE", "REAR_WHEEL_DRIVE", "ALL_WHEEL_DRIVE"], "datatype": "string", "default": "UNKNOWN", "description": "Drive type.", "type": "attribute", "uuid": "0e480b76fb2d5f8bb08fb586f90ee6ae"}, "GearChangeMode": {"allowed": ["MANUAL", "AUTOMATIC"], "datatype": "string", "description": "Is the gearbox in automatic or manual (paddle) mode.", "type": "actuator", "uuid": "ff3c69378c2f598286e51f7dac13adaa"}, "GearCount": {"datatype": "int8", "default": 0, "description": "Number of forward gears in the transmission. -1 = CVT.", "type": "attribute", "uuid": "84293f40d3ed57f1a08992d97b1a9ccd"}, "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"}, "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"}, "IsParkLockEngaged": {"datatype": "boolean", "description": "Is the transmission park lock engaged or not. False = Disengaged. True = Engaged.", "type": "actuator", "uuid": "1578da3f925e54ac9df978abd0195408"}, "PerformanceMode": {"allowed": ["NORMAL", "SPORT", "ECONOMY", "SNOW", "RAIN"], "datatype": "string", "description": "Current gearbox performance mode.", "type": "actuator", "uuid": "6b5cfd85cb595e559503ccf993be04dd"}, "SelectedGear": {"datatype": "int8", "description": "The selected gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse, 126=Park, 127=Drive.", "type": "actuator", "uuid": "490fd99b9d5f562eb180c19e8cef5e12"}, "Temperature": {"datatype": "int16", "description": "The current gearbox temperature.", "type": "sensor", "unit": "celsius", "uuid": "4f5e48c3511b5e1abff11aa7ec62dd18"}, "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", "uuid": "d3bcaaf973d3512287817049db9bd677"}, "TravelledDistance": {"datatype": "float", "description": "Odometer reading, total distance travelled during the lifetime of the transmission.", "type": "sensor", "unit": "km", "uuid": "b9dd66f20c7f5b12a046766b94dc20c1"}, "Type": {"allowed": ["UNKNOWN", "SEQUENTIAL", "H", "AUTOMATIC", "DSG", "CVT"], "datatype": "string", "default": "UNKNOWN", "description": "Transmission type.", "type": "attribute", "uuid": "f83b9e5464d85a0288fcb32c164d3c63"}}, "description": "Transmission-specific data, stopping at the drive shafts.", "type": "branch", "uuid": "6b71e284b63a527caa6296a66e9fdd0c"}, "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", "uuid": "2a000da4204658a4a6e3ecd5176bdfba"}}, "description": "Powertrain data for battery management, etc.", "type": "branch", "uuid": "12f35ec7bd1c58d1a329565ce3d053d5"}, "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"}, "Service": {"children": {"DistanceToService": {"datatype": "float", "description": "Remaining distance to service (of any kind). Negative values indicate service overdue.", "type": "sensor", "unit": "km", "uuid": "6f4347ce149759819572c8c3a17e8d93"}, "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"}, "TimeToService": {"datatype": "int32", "description": "Remaining time to service (of any kind). Negative values indicate service overdue.", "type": "sensor", "unit": "s", "uuid": "c968be91a5685fa9ae30b84a0f91934e"}}, "description": "Service data.", "type": "branch", "uuid": "b6463772705b56a7a993e23601bd3d47"}, "Speed": {"datatype": "float", "description": "Vehicle speed.", "type": "sensor", "unit": "km/h", "uuid": "efe50798638d55fab18ab7d43cc490e9"}, "Trailer": {"children": {"IsConnected": {"datatype": "boolean", "description": "Signal indicating if trailer is connected or not.", "type": "sensor", "uuid": "77f28ed03c125ac9a19d22e9436b0ec4"}}, "description": "Trailer signals.", "type": "branch", "uuid": "66206ee5c25a5817bef214c0c8ae8013"}, "TravelledDistance": {"datatype": "float", "description": "Odometer reading, total distance travelled during the lifetime of the vehicle.", "type": "sensor", "unit": "km", "uuid": "90be9d7b0ac15b75a83027ea3b73b65b"}, "TripMeterReading": {"datatype": "float", "description": "Current trip meter reading.", "type": "sensor", "unit": "km", "uuid": "81f51ebfe29c591190171d7b96e1c948"}, "VehicleIdentification": {"children": {"AcrissCode": {"datatype": "string", "description": "The ACRISS Car Classification Code is a code used by many car rental companies.", "type": "attribute", "uuid": "115a821e8e0b57f08e4b9e61e85d7156"}, "BodyType": {"datatype": "string", "description": "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.).", "type": "attribute", "uuid": "e6d5c71ecec95d68b0b59bb7e93af759"}, "Brand": {"datatype": "string", "description": "Vehicle brand or manufacturer.", "type": "attribute", "uuid": "19fd645ff5385767bcdbf5dd4313483f"}, "DateVehicleFirstRegistered": {"datatype": "string", "description": "The date in ISO 8601 format of the first registration of the vehicle with the respective public authorities.", "type": "attribute", "uuid": "046f47acf62e50bd863d6568d73743d7"}, "KnownVehicleDamages": {"datatype": "string", "description": "A textual description of known damages, both repaired and unrepaired.", "type": "attribute", "uuid": "e87f352cddb15e94b340506b17207586"}, "MeetsEmissionStandard": {"datatype": "string", "description": "Indicates that the vehicle meets the respective emission standard.", "type": "attribute", "uuid": "d75dedbfadca54d8b6c7261c37ad5d83"}, "Model": {"datatype": "string", "description": "Vehicle model.", "type": "attribute", "uuid": "dd3d3b72e6a85b3695ba25f829255403"}, "ProductionDate": {"datatype": "string", "description": "The date in ISO 8601 format of production of the item, e.g. vehicle.", "type": "attribute", "uuid": "5683877c4bac504d915b268c9476c190"}, "PurchaseDate": {"datatype": "string", "description": "The date in ISO 8601 format of the item e.g. vehicle was purchased by the current owner.", "type": "attribute", "uuid": "31302f8b57e85c4197afda3e3201fce8"}, "VIN": {"datatype": "string", "description": "17-character Vehicle Identification Number (VIN) as defined by ISO 3779.", "type": "attribute", "uuid": "6f0b6fa8c34f589baa92e565bc9df5bd"}, "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"}, "VehicleInteriorColor": {"datatype": "string", "description": "The color or color combination of the interior of the vehicle.", "type": "attribute", "uuid": "67a8b069b8bf573993d51959c24f04e2"}, "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"}, "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", "uuid": "c71b63f83dea536bac58e62bbe537f11"}, "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"}, "VehicleSpecialUsage": {"datatype": "string", "description": "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school.", "type": "attribute", "uuid": "7e6e8a48f54a5549a8f6af8f1dc5eb8d"}, "WMI": {"datatype": "string", "description": "3-character World Manufacturer Identification (WMI) as defined by ISO 3780.", "type": "attribute", "uuid": "e7c86defbcd554a79f90ba85de58e133"}, "Year": {"datatype": "uint16", "description": "Model year of the vehicle.", "type": "attribute", "uuid": "9a76b0aca8e45f6fb33dbaf5b976b8b5"}}, "description": "Attributes that identify a vehicle.", "type": "branch", "uuid": "c33861c3e9125208b05f23fe922bf08e"}, "VersionVSS": {"children": {"Label": {"datatype": "string", "description": "Label to further describe the version.", "type": "attribute", "uuid": "7c92cd50d24b5662922b27cb9a327e53"}, "Major": {"datatype": "uint32", "default": 3, "description": "Supported Version of VSS - Major version.", "type": "attribute", "uuid": "5edf1a338c975cbb84d4ce3cfe1aa4b4"}, "Minor": {"datatype": "uint32", "default": 0, "description": "Supported Version of VSS - Minor version.", "type": "attribute", "uuid": "6e70a598dbc7534c96c58c18e9888cfd"}, "Patch": {"datatype": "uint32", "default": 0, "description": "Supported Version of VSS - Patch version.", "type": "attribute", "uuid": "69858f224af459338b9bfbff436dda45"}}, "description": "Supported Version of VSS.", "type": "branch", "uuid": "9a687e56f1305eedb20f6a021ea58f48"}, "Width": {"datatype": "uint16", "default": 0, "description": "Overall vehicle width.", "type": "attribute", "unit": "mm", "uuid": "b4aabe144e3259adb1459a2e25fec9bd"}}, "description": "High-level vehicle data.", "type": "branch", "uuid": "ccc825f94139544dbb5f4bfd033bece6"}} \ No newline at end of file diff --git a/vss-processor/src/test/resources/json/vss_rel_3.1.1.json b/vss-processor/src/test/resources/json/vss_rel_3.1.1.json new file mode 100644 index 00000000..c3183f26 --- /dev/null +++ b/vss-processor/src/test/resources/json/vss_rel_3.1.1.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", "uuid": "cad374fbfdc65df9b777508f04d5b073"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "6dd21979a2225e31940dc2ece1aa9a04"}, "IsError": {"datatype": "boolean", "description": "Indicates if ABS incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "13cfabb3122254128234f9a696f14678"}}, "description": "Antilock Braking System signals.", "type": "branch", "uuid": "219270ef27c4531f874bbda63743b330"}, "ActiveAutonomyLevel": {"allowed": ["SAE_0", "SAE_1", "SAE_2_DISENGAGING", "SAE_2", "SAE_3_DISENGAGING", "SAE_3", "SAE_4_DISENGAGING", "SAE_4", "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.", "datatype": "string", "description": "Indicates the currently active level of autonomy according to SAE J3016 taxonomy.", "type": "sensor", "uuid": "b101c6928fc55948b1cc485e568ecd8d"}, "CruiseControl": {"children": {"IsActive": {"datatype": "boolean", "description": "Indicates if cruise control system is active (i.e. actively controls speed). True = Active. False = Inactive.", "type": "actuator", "uuid": "78ab5ce923dc5aa1a6622bcb948e1561"}, "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"}, "IsError": {"datatype": "boolean", "description": "Indicates if cruise control system incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "22923d4a36bc5192a08e40fe9e5ed458"}, "SpeedSet": {"datatype": "float", "description": "Set cruise control speed in kilometers per hour.", "type": "actuator", "unit": "km/h", "uuid": "b3f3a53ccd825e4da5cb1226f94dc005"}}, "description": "Signals from Cruise Control system.", "type": "branch", "uuid": "c4d751cf74f9576dbba3cc820991c1fb"}, "EBA": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if EBA is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "3ae9171b69555fb08855054ab38e9b17"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if EBA is currently regulating brake pressure. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "86360c44ead354d18af7ff14176151f6"}, "IsError": {"datatype": "boolean", "description": "Indicates if EBA incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "bae0fe856398502ba4a09283867c6c81"}}, "description": "Emergency Brake Assist (EBA) System signals.", "type": "branch", "uuid": "51ec0930d0af5b91b84a0775c6e87a97"}, "EBD": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if EBD is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "30f88d3e68575b67853b14ce5f7a08e5"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if EBD is currently regulating vehicle brakeforce distribution. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "67aa2a598f635edda6eb944af99b06db"}, "IsError": {"datatype": "boolean", "description": "Indicates if EBD incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "918157073be95015ae38913cd7a9796a"}}, "description": "Electronic Brakeforce Distribution (EBD) System signals.", "type": "branch", "uuid": "3f4c74a588735b10ac9fe918d305cd5a"}, "ESC": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if ESC is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "3f4f39b8d8c05c97a6de685282ba74b7"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if ESC is currently regulating vehicle stability. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "2088953a28385353a9d46b3a3dc11cac"}, "IsError": {"datatype": "boolean", "description": "Indicates if ESC incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "6c237535654b5bc7a70f6a70c760b9d4"}, "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"}, "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", "uuid": "634289f58b5d511ea9979f04a9d0f2ab"}, "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", "uuid": "b0eb72430cd95bfbba0d187fcb6e2a62"}, "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", "uuid": "ad0415a799575fcd8d1f49bed9a2baeb"}}, "description": "Road friction values reported by the ESC system.", "type": "branch", "uuid": "71a32e4eb131532c82195508d93807ed"}}, "description": "Electronic Stability Control System signals.", "type": "branch", "uuid": "636b4586ce7854b4b270a2f3b6c0af4f"}, "LaneDepartureDetection": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if lane departure detection system is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "c099ae97260f5c418977cd14631e95be"}, "IsError": {"datatype": "boolean", "description": "Indicates if lane departure system incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "73b2fc4f6a4952e4b7886671450e7798"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if lane departure detection registered a lane departure.", "type": "sensor", "uuid": "c32fcd1d56035cb08acfd380be224c6a"}}, "description": "Signals from Lane Departure Detection System.", "type": "branch", "uuid": "e45f33fdcf245f11981b2f201ee8281a"}, "ObstacleDetection": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", "type": "actuator", "uuid": "cc0cd497285e5034a1cccb25f02e9db9"}, "IsError": {"datatype": "boolean", "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "368b74e2468d5217925a478ed6e34f9f"}, "IsWarning": {"datatype": "boolean", "description": "Indicates if obstacle sensor system registered an obstacle.", "type": "sensor", "uuid": "b0b1eab51f135ffcb2a17a7603415fec"}}, "description": "Signals form Obstacle Sensor System.", "type": "branch", "uuid": "e7b6d81631cc5ac584d027d4c1a66cb5"}, "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", "uuid": "044ad42893e65993bfc439455fb08faa"}, "SupportedAutonomyLevel": {"allowed": ["SAE_0", "SAE_1", "SAE_2", "SAE_3", "SAE_4", "SAE_5"], "datatype": "string", "description": "Indicates the highest level of autonomy according to SAE J3016 taxonomy the vehicle is capable of.", "type": "attribute", "uuid": "020410189ab4517cb85ceda268b40f51"}, "TCS": {"children": {"IsEnabled": {"datatype": "boolean", "description": "Indicates if TCS is enabled. True = Enabled. False = Disabled.", "type": "actuator", "uuid": "1d2dda19b11758a19ba7c1d5cd2d7956"}, "IsEngaged": {"datatype": "boolean", "description": "Indicates if TCS is currently regulating traction. True = Engaged. False = Not Engaged.", "type": "sensor", "uuid": "b33d70009ad5589fbffe17fa7e827242"}, "IsError": {"datatype": "boolean", "description": "Indicates if TCS incurred an error condition. True = Error. False = No Error.", "type": "sensor", "uuid": "08f88723ba63558b8c804b8fe8e3f149"}}, "description": "Traction Control System signals.", "type": "branch", "uuid": "0572e9f6b1aa5fb5b2f68086aff05073"}}, "description": "All Advanced Driver Assist Systems data.", "type": "branch", "uuid": "14c2b2e1297b513197d320a5ce58f42e"}, "Acceleration": {"children": {"Lateral": {"datatype": "float", "description": "Vehicle acceleration in Y (lateral acceleration).", "type": "sensor", "unit": "m/s^2", "uuid": "7522c5d6b7665b16a099643b2700e93c"}, "Longitudinal": {"datatype": "float", "description": "Vehicle acceleration in X (longitudinal acceleration).", "type": "sensor", "unit": "m/s^2", "uuid": "3d511fe7232b5841be311b37f322de5a"}, "Vertical": {"datatype": "float", "description": "Vehicle acceleration in Z (vertical acceleration).", "type": "sensor", "unit": "m/s^2", "uuid": "a4a8a7c4ac5b52deb0b3ee4ed8787c59"}}, "description": "Spatial acceleration. Axis definitions according to ISO 8855.", "type": "branch", "uuid": "6c490e6a798c5abc8f0178ed6deae0a8"}, "AngularVelocity": {"children": {"Pitch": {"datatype": "float", "description": "Vehicle rotation rate along Y (lateral).", "type": "sensor", "unit": "degrees/s", "uuid": "42236f4a01f45313a97fdd9b6848ce4f"}, "Roll": {"datatype": "float", "description": "Vehicle rotation rate along X (longitudinal).", "type": "sensor", "unit": "degrees/s", "uuid": "221e6b93881e5771bcbd03e0849e0075"}, "Yaw": {"datatype": "float", "description": "Vehicle rotation rate along Z (vertical).", "type": "sensor", "unit": "degrees/s", "uuid": "4114c41552565c1f9035670cabe2a611"}}, "description": "Spatial rotation. Axis definitions according to ISO 8855.", "type": "branch", "uuid": "1eef530a43de56aab665d2766483cde2"}, "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", "uuid": "43a489636a665c3abb99b63174eb552b"}, "Body": {"children": {"BodyType": {"datatype": "string", "description": "Body type code as defined by ISO 3779.", "type": "attribute", "uuid": "6253412513105deea63b1d424117fd88"}, "Hood": {"children": {"IsOpen": {"datatype": "boolean", "description": "Hood open or closed. True = Open. False = Closed.", "type": "actuator", "uuid": "890aa3359e1a579288af1cf8e6b5b71f"}}, "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.", "type": "branch", "uuid": "84510652bf915bbe8bf5f477aab2b44a"}, "Horn": {"children": {"IsActive": {"datatype": "boolean", "description": "Horn active or inactive. True = Active. False = Inactive.", "type": "actuator", "uuid": "ba20deed9314525bb9d552a2b787fb20"}}, "description": "Horn signals.", "type": "branch", "uuid": "09c76633887f52268b960740eb969c89"}, "Lights": {"children": {"Backup": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "b907c4ac4ee459faa987c64a6da424c3"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "ef23a3fa6106564195a66e21d8cf69b4"}}, "description": "Backup lights.", "type": "branch", "uuid": "4fe2cb68fc77506686eced7225aeff9a"}, "Beam": {"children": {"High": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "83561d8c9a025cfdad6c4b325829fa00"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "24d1346519b05697b872c06556a09fb4"}}, "description": "Beam lights.", "type": "branch", "uuid": "306b51d2e1ec572fa80172aad6727da0"}, "Low": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "3a135f1267ea5b2a80aa9a17fc8072db"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "8b4d4855b0c95963a25dc564c9758610"}}, "description": "Beam lights.", "type": "branch", "uuid": "f6f21ea5b263545297f4411b2e15037f"}}, "description": "Beam lights.", "type": "branch", "uuid": "6685308a9d955ecdad92a7cc68666a12"}, "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", "uuid": "65eb84d61ea95313985054f626b85b59"}, "IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "1db542c5ba715e09b948527418966728"}}, "description": "Brake lights.", "type": "branch", "uuid": "30eabe704102501cb299d03696fad92a"}, "DirectionIndicator": {"children": {"Left": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "32a092936fb65165ba1dd8dfa38bf77d"}, "IsSignaling": {"datatype": "boolean", "description": "Indicates if light is signaling or off. True = signaling. False = Off.", "type": "actuator", "uuid": "33ac6ec5e4d9550aac6ae0ce97dae259"}}, "description": "Indicator lights.", "type": "branch", "uuid": "446dea42b8e95d87b45e5e51c881bf98"}, "Right": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "db70c2d885725583a7ed95b215a8ec6c"}, "IsSignaling": {"datatype": "boolean", "description": "Indicates if light is signaling or off. True = signaling. False = Off.", "type": "actuator", "uuid": "9b0a1dab153f5dcda8df2116c3b6d487"}}, "description": "Indicator lights.", "type": "branch", "uuid": "9922f6b417e95f1c945ef9f414bcdf78"}}, "description": "Indicator lights.", "type": "branch", "uuid": "0566cb97d05c554eb88a07142f2475ac"}, "Fog": {"children": {"Front": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "f9238f15d2615a22802ce9ec9f1d72e9"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "0ec10846d20a5d1b9b8a286303ecb844"}}, "description": "Fog lights.", "type": "branch", "uuid": "230cc65abaaf500c9085c29d48107552"}, "Rear": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "1d44e594ffa35d73a6f620f479eeef4c"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "1fe08a2f687c5c2880adef26cc7de746"}}, "description": "Fog lights.", "type": "branch", "uuid": "38359f258135516cb49c0fa1f093d478"}}, "description": "Fog lights.", "type": "branch", "uuid": "1e90cf42bb825217b283c7285a606953"}, "Hazard": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "25cd3475beb6543a8538974b67544c43"}, "IsSignaling": {"datatype": "boolean", "description": "Indicates if light is signaling or off. True = signaling. False = Off.", "type": "actuator", "uuid": "c53950205aa15dffa304390dcb761cc3"}}, "description": "Hazard lights.", "type": "branch", "uuid": "803498c3be6253dfb074c0e0294be758"}, "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"}, "LicensePlate": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "4de6594de7815cec97e5b851d70e239b"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "afeace5d76ed53f989ae4251090ba069"}}, "description": "License plate lights.", "type": "branch", "uuid": "7bb12e42a8c45c198f83bf41b19131fa"}, "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", "uuid": "2feb14a3558256339442413783969f4f"}, "Parking": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "56761305eae559c7931f6ff5fee0dfa8"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "6ba0825427335408ad7d0f148d6250ea"}}, "description": "Parking lights.", "type": "branch", "uuid": "dfb819be5cec5be09b9fb743829301c3"}, "Running": {"children": {"IsDefect": {"datatype": "boolean", "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", "type": "sensor", "uuid": "7cda127e6d45547681757e789c0b7a87"}, "IsOn": {"datatype": "boolean", "description": "Indicates if light is on or off. True = On. False = Off.", "type": "actuator", "uuid": "1c4e44f1e0275965b466ac674a5b8cac"}}, "description": "Running lights.", "type": "branch", "uuid": "38868a9f1bda573595501302c1f0a1db"}}, "description": "Exterior lights.", "type": "branch", "uuid": "399d1ec14d6f55bb825e078a801bde55"}, "Mirrors": {"children": {"Left": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", "type": "actuator", "uuid": "b8591c0592d8525e91e1a04495b6995d"}, "Pan": {"datatype": "int8", "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": "9dae4bc33a28531199fce500e0562f82"}, "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", "uuid": "698fee82cc115f3cba54825a298b46ab"}}, "description": "All mirrors.", "type": "branch", "uuid": "22609e45a09d58fc85cb77959a686abc"}, "Right": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", "type": "actuator", "uuid": "9a57455f48ea5fdbb7a998905dda318c"}, "Pan": {"datatype": "int8", "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": "26088f96804d5d7e811ba50bfb1113eb"}, "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", "uuid": "9a28a6ec824c57408881b916a1a0e32b"}}, "description": "All mirrors.", "type": "branch", "uuid": "64291c99f7e752c2b035262c17dc85dd"}}, "description": "All mirrors.", "type": "branch", "uuid": "a4ea618914885a239ef5fa62c671a800"}, "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", "uuid": "2fe44a1c3bb155aca782b017efeb6175"}, "Raindetection": {"children": {"Intensity": {"datatype": "uint8", "description": "Rain intensity. 0 = Dry, No Rain. 100 = Covered.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "1ee0a2f22e8257d299425a4ff2652555"}}, "description": "Rainsensor signals.", "type": "branch", "uuid": "f16759f3dcfb5be4832e962da29ebd6c"}, "RearMainSpoilerPosition": {"datatype": "float", "description": "Rear spoiler position, 0% = Spoiler fully stowed. 100% = Spoiler fully exposed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "6209a82390585b869cc3d00d069eade2"}, "RefuelPosition": {"allowed": ["FRONT_LEFT", "FRONT_RIGHT", "MIDDLE_LEFT", "MIDDLE_RIGHT", "REAR_LEFT", "REAR_RIGHT"], "datatype": "string", "description": "Location of the fuel cap or charge port.", "type": "attribute", "uuid": "53ef90a851fa57f0810d50238e852f02"}, "Trunk": {"children": {"Front": {"children": {"IsLocked": {"datatype": "boolean", "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "e0eabc210f07505fa1b66b67729d681b"}, "IsOpen": {"datatype": "boolean", "description": "Trunk open or closed. True = Open. False = Closed.", "type": "actuator", "uuid": "2047de0896a352fcaf02baa06819a023"}}, "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.", "type": "branch", "uuid": "a455aca5bae55c22b7949fd31a765a6c"}, "Rear": {"children": {"IsLocked": {"datatype": "boolean", "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "8f9b55b002ed59d3ac2ef0b014abf4aa"}, "IsOpen": {"datatype": "boolean", "description": "Trunk open or closed. True = Open. False = Closed.", "type": "actuator", "uuid": "3d3249e59306594698367b839b12c938"}}, "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.", "type": "branch", "uuid": "a6170ff5e4325f38b5d57402e1d95e5a"}}, "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.", "type": "branch", "uuid": "a584c6a5aa235cb88ac686f8d72a1dff"}, "Windshield": {"children": {"Front": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Windshield heater status. False - off, True - on.", "type": "actuator", "uuid": "26e6a3b7e9bb58bebba29258faa6e300"}, "WasherFluid": {"children": {"IsLevelLow": {"datatype": "boolean", "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", "type": "sensor", "uuid": "8ca54695ad115f9bb6f56d7c450781a7"}, "Level": {"datatype": "uint8", "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "a36dfb91414f5792bd01d193dceff1f4"}}, "description": "Windshield washer fluid signals", "type": "branch", "uuid": "2de24016515353289953de5ea81efd3c"}, "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", "uuid": "7cdd36d1cc8f5f9a9f079f663190b588"}, "IsWipersWorn": {"datatype": "boolean", "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", "type": "sensor", "uuid": "b04ccc7daedb559c9bcdda6b00332be5"}, "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", "uuid": "3ee6552c96e551c5b06b79ad30226767"}, "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", "uuid": "026307b591465a8a99ffc0ebf262b393"}, "DriveCurrent": {"comment": "May be negative in special situations.", "datatype": "float", "description": "Actual current used by wiper drive.", "type": "sensor", "unit": "A", "uuid": "251e695821b758e7b7d459d5e2ab6ca4"}, "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", "uuid": "7394c8b8d20d52638881161ec1b41fc0"}, "IsBlocked": {"datatype": "boolean", "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", "type": "sensor", "uuid": "4b526a2c781e56e386c82df226061f9e"}, "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"}, "IsOverheated": {"datatype": "boolean", "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", "type": "sensor", "uuid": "e05d376ec2525ba2b61039d55f93760f"}, "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"}, "IsWiperError": {"datatype": "boolean", "description": "Indicates system failure. True if wiping is disabled due to system failure.", "type": "sensor", "uuid": "5276055d973f57998e1b8d6e536de735"}, "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"}, "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", "uuid": "d15518f5d1bc54a38718f43ef749dd34"}, "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", "uuid": "7a4a3fdd2947596dbada6980c142f090"}}, "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"}, "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", "uuid": "92c879c11bc65e6da30d582a3928caac"}}, "description": "Windshield wiper signals.", "type": "branch", "uuid": "2cffeccdc19a587cbe2264f426c6881a"}}, "description": "Windshield signals.", "type": "branch", "uuid": "8f0c61e4e4f557d98729210fc3c74f72"}, "Rear": {"children": {"IsHeatingOn": {"datatype": "boolean", "description": "Windshield heater status. False - off, True - on.", "type": "actuator", "uuid": "76d811b4c4c356f4898dd6383e28bc6f"}, "WasherFluid": {"children": {"IsLevelLow": {"datatype": "boolean", "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", "type": "sensor", "uuid": "8ca0356548ae54e8af3aeace49e5ed71"}, "Level": {"datatype": "uint8", "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "c167e5b265895c108da1b9582de2dd91"}}, "description": "Windshield washer fluid signals", "type": "branch", "uuid": "1ea4ac2370e1567b9b812c1e3020ddfb"}, "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", "uuid": "f18b13b9d96b51c492c031d3d86d22da"}, "IsWipersWorn": {"datatype": "boolean", "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", "type": "sensor", "uuid": "0e8d5f7cb6295b908be3a03e8792cca8"}, "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", "uuid": "8cc0b88ac8b45f5fa30bb7755ce22648"}, "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", "uuid": "eddee2607a135582bbcf3d3afc845892"}, "DriveCurrent": {"comment": "May be negative in special situations.", "datatype": "float", "description": "Actual current used by wiper drive.", "type": "sensor", "unit": "A", "uuid": "7a254692329055dfb4089e2dcc1d4ef3"}, "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", "uuid": "371171d971995c999585b028e19be461"}, "IsBlocked": {"datatype": "boolean", "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", "type": "sensor", "uuid": "046e818b4dd9595a8301503e9afe028b"}, "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"}, "IsOverheated": {"datatype": "boolean", "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", "type": "sensor", "uuid": "d30bc6f33b995ef491c252980a559ee2"}, "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"}, "IsWiperError": {"datatype": "boolean", "description": "Indicates system failure. True if wiping is disabled due to system failure.", "type": "sensor", "uuid": "ac5983deacbe59d7ba1312d44bfd9cd4"}, "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"}, "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", "uuid": "f2f47522466d570baa7618fac5b0359c"}, "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", "uuid": "c39bef0760185555904a92a305392080"}}, "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"}, "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", "uuid": "afd6a352230f5eeaa8ac5f1f188bfd33"}}, "description": "Windshield wiper signals.", "type": "branch", "uuid": "f56e80a50fd75dbca48581aea4f012b7"}}, "description": "Windshield signals.", "type": "branch", "uuid": "095ff58459b854aaa742e56447fe7a93"}}, "description": "Windshield signals.", "type": "branch", "uuid": "73efba535dcb5032b9edc43406b050b8"}}, "description": "All body components.", "type": "branch", "uuid": "bd2854e6a9165c5698ce8dd9f0438ecc"}, "Cabin": {"children": {"Convertible": {"children": {"Status": {"allowed": ["UNDEFINED", "CLOSED", "OPEN", "CLOSING", "OPENING", "STALLED"], "datatype": "string", "description": "Roof status on convertible vehicles.", "type": "sensor", "uuid": "c8812698198a56d7a1adcc8bbe87845f"}}, "description": "Convertible roof.", "type": "branch", "uuid": "2aece85d39d6569e93cf842387a645d9"}, "Door": {"children": {"Row1": {"children": {"Left": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "194a1dd29e245ff8a19dee7e022bad02"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "859b44ab75de5d67a8beedff883a72d0"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "a5560fa546985678be670c13a0467545"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "a4c73477293156999f74416245d4f858"}, "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", "uuid": "15c012ed31a054ecb2b9b2b1cf57e825"}}, "description": "Side window shade", "type": "branch", "uuid": "f1a8db725cfd54c5b22594c456bcb05a"}, "Window": {"children": {"IsChildLockEngaged": {"datatype": "boolean", "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "618fe1eb106857faaf83f24236ed1819"}, "IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "e7a98f3520825732922e41eb5b88ac49"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "63137367f94856acbb900a0dcdc7e495"}, "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", "uuid": "e276bf971dae507f99b463f7fe574969"}}, "description": "Door window status", "type": "branch", "uuid": "abbf75f4e6b9581db4aacda0f1e2789c"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "ee74ca8275485ea89f70931d3b3e4bed"}, "Right": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "2eedf9e01c225ff39ee62a7c11395d6c"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "7e5cf60543505205922b714cee2a3246"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "055c01ebe86f507b97d15cfba82482a9"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "22944f205eb45c6f804e481b8dd783c5"}, "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", "uuid": "763aea099a515fc998fde10d936b0b38"}}, "description": "Side window shade", "type": "branch", "uuid": "f8f91480eb7c59d6ad697f2f9b2f46f1"}, "Window": {"children": {"IsChildLockEngaged": {"datatype": "boolean", "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "6a65a16ba60c5c41b550a7b5f8b313dd"}, "IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "90d0fdeaef075b78abab0b710c760393"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "e7ef528471eb585a937664abab9fbc68"}, "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", "uuid": "fcb9ede77f065479a10740324c0efdc6"}}, "description": "Door window status", "type": "branch", "uuid": "12e8cf5eb1c65954bb92f5144e2b22f9"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "f1140cf0720157a1a2ffb62745a82916"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "fd3fcb481cb953dc9a853125c6ca0453"}, "Row2": {"children": {"Left": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "1c08760700ca5814a62bac4e64628f8e"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "5fb9d9707cd85925ab6658d90f044b45"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "0143c6028c355f29ae5b3ee2d31869a8"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "33d7bdce5c915c3ea9633851f4f79cfb"}, "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", "uuid": "41f6f14bbb595dcf8e51d1696e877114"}}, "description": "Side window shade", "type": "branch", "uuid": "beed1cdec4fb502390041087feaaa1bd"}, "Window": {"children": {"IsChildLockEngaged": {"datatype": "boolean", "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "f41454131c6d502da452e1b1436e20c1"}, "IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "6abd32926e7a5b6b9767033063baaf4c"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "6eeda05cd5d357958a0b0649b1b406f8"}, "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", "uuid": "1a5d1c57f46e576a8a94853e2a44d3f8"}}, "description": "Door window status", "type": "branch", "uuid": "424d04d0ae8351af8c7115b131f1fe2e"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "20c6ae3bdb9b5fc8b8098d87f06c9069"}, "Right": {"children": {"IsChildLockActive": {"datatype": "boolean", "description": "Is door child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "c3747fdce0835d9abf8030917f3a6d3c"}, "IsLocked": {"datatype": "boolean", "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", "type": "actuator", "uuid": "51e82637cc1a5c6994e1928402a29419"}, "IsOpen": {"datatype": "boolean", "description": "Is door open or closed", "type": "actuator", "uuid": "06f3b61e354f5db7b5b0e7f551fac582"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "fa705739512a54e9a103ff356be14df7"}, "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", "uuid": "5b94a0c4e30a575c93942f0566be8be7"}}, "description": "Side window shade", "type": "branch", "uuid": "092479bc8da55730827f3365828c89b2"}, "Window": {"children": {"IsChildLockEngaged": {"datatype": "boolean", "description": "Is window child lock engaged. True = Engaged. False = Disengaged.", "type": "sensor", "uuid": "6f018766950a5b5284ac1e8824fdacb0"}, "IsOpen": {"datatype": "boolean", "description": "Is window open or closed?", "type": "sensor", "uuid": "793b5c94b89f5e11bc71cc8a6de8ec34"}, "Position": {"datatype": "uint8", "description": "Window position. 0 = Fully closed 100 = Fully opened.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "f6323b78eecc58e5a9bc5d66f2548ce3"}, "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", "uuid": "364c0a712fa854b4b1b332eae1be179b"}}, "description": "Door window status", "type": "branch", "uuid": "18950f3ff3a1598585a603c4224ad7bd"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "e40a30e4838f5aaa970888d2865bc19e"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "74c8a76ad2545ceba474a85ae84eec8e"}}, "description": "All doors, including windows and switches.", "type": "branch", "uuid": "fd7f4d16f8965419a9a69fd66b40c1d7"}, "DoorCount": {"datatype": "uint8", "default": 4, "description": "Number of doors in vehicle.", "type": "attribute", "uuid": "c293fbef75725c57a9918dd5a34055c4"}, "DriverPosition": {"comment": "Default value is position 1, i.e. a typical LHD vehicle.", "datatype": "uint8", "default": 1, "description": "The position of the driver seat in row 1.", "type": "attribute", "uuid": "bca9ccd50358584d8d20865694b0d15f"}, "HVAC": {"children": {"AmbientAirTemperature": {"datatype": "float", "description": "Ambient air temperature inside the vehicle.", "type": "sensor", "unit": "celsius", "uuid": "611868a24bc25eb9a837208c235e9491"}, "IsAirConditioningActive": {"datatype": "boolean", "description": "Is Air conditioning active.", "type": "actuator", "uuid": "dc4f79e4211c54a6b4eed0236aae84a6"}, "IsFrontDefrosterActive": {"datatype": "boolean", "description": "Is front defroster active.", "type": "actuator", "uuid": "afa678c87182544bb6ab81fa6a770791"}, "IsRearDefrosterActive": {"datatype": "boolean", "description": "Is rear defroster active.", "type": "actuator", "uuid": "d342a7939f2e5adeaeb5e68e3a314445"}, "IsRecirculationActive": {"datatype": "boolean", "description": "Is recirculation active.", "type": "actuator", "uuid": "7b80c41c63b35c9299a410166cd33c81"}, "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", "uuid": "ee011a09ebc6519183177b05d7302ce8"}, "Station": {"children": {"Row1": {"children": {"Left": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "33ca2e1ed1b1533b8e1309320074c07b"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "483bcf787a715f10a1c936464fcb18a2"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "347c13ff2a735d54a5f011d4573694cd"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "7cc0977f55f15f2c884e19a25d07a8b4"}, "Right": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "00e25d807a755c4cb978a40ebfc0e8d0"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "4b15871631c35ca583a1fc64524676ef"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "592dc63c45145f739edbc5677196eb85"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "84b84df901075e8a8ac4837fe4af6a8e"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "80860491fba75babaf3c439d1d471a6d"}, "Row2": {"children": {"Left": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "3c22cd8ac56b59978927fc815ee79104"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "3eb6e8979cb25efe9f33bc89c6b9e364"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "7185fb43728f53f3960e1284b89a6f66"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "48fcecce8d925121b116ed3ecc3157bb"}, "Right": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "10d42dd4337450e2af1c0dd2c9dcb3a7"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "b83d6d979cbc5507b1c43e988024c0af"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "c6822e4c0eae59cab832057bac327c67"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "028e4f674c725c009af8eaf77a79d9e7"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "d98e8f5f94da5acfbf428c635a8bcc0c"}, "Row3": {"children": {"Left": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "f1e2dc36082b5980920c5fe3ee875659"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "13170d23934e5a4ab97174ddee4dc180"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "b12b9565bd4e5c8e974ac0ff97223af4"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "e4d100e0bcb75fedb4ab0761d92bcf0e"}, "Right": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "1b6c21042e3b5ac9ae351f807722795a"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "9d5312c0ccc15f578b2c5e5512d34cb3"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "a76ea2c628df5099b0dca839aac84e63"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "a14449b5c1345feb90c2e4fbefd4ecef"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "6eb8d63b66c859d5b36ef52d264aed2b"}, "Row4": {"children": {"Left": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "ee591723296a580ea4ce9fc6ddbb5cf5"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "afd89e90044e5d5fa99e9c627742adb0"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "accc4bb43c775735843e87b545af08b2"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "4adb4059a21757bdabd902998ffb7da5"}, "Right": {"children": {"AirDistribution": {"allowed": ["UP", "MIDDLE", "DOWN"], "datatype": "string", "description": "Direction of airstream", "type": "actuator", "uuid": "7d8b7cbfe68156d4a190a0a7525ee26c"}, "FanSpeed": {"datatype": "uint8", "description": "Fan Speed, 0 = off. 100 = max", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "b3cc73b02e5c5254b691373caacd7d21"}, "Temperature": {"datatype": "int8", "description": "Temperature", "type": "actuator", "unit": "celsius", "uuid": "49c59496aa7356cf86c275a0eb93ba28"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "b4bf2c99c2af580cbb92e0bbd0a40730"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "ff0c0fa26de7508dbe92a83bc087dff6"}}, "description": "HVAC for single station in the vehicle", "type": "branch", "uuid": "253e683e6f135b83b6302a30b6c0ec8d"}}, "description": "Climate control", "type": "branch", "uuid": "f8ff34337cdf568e91ab406a365c3249"}, "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", "uuid": "44147980dabd56b883ae4d2491383a17"}, "CurrentLanguage": {"datatype": "string", "description": "ISO 639-1 standard language code for the current HMI", "type": "sensor", "uuid": "dc29ee5b7f7154b4ab05a9771fe930b3"}, "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", "uuid": "0f03c3955fe953e9893a1f52e964919e"}, "DayNightMode": {"allowed": ["DAY", "NIGHT"], "datatype": "string", "description": "Current display theme", "type": "actuator", "uuid": "a892039ba136588fa26b2670f839c0cc"}, "DistanceUnit": {"allowed": ["MILES", "KILOMETERS"], "datatype": "string", "description": "Distance unit used in the current HMI", "type": "actuator", "uuid": "4b40e8bdb1a053ee9ee35338d8804e7b"}, "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", "uuid": "914846f6804757ba81ca6bcfac8d2c48"}, "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", "uuid": "0e6a43ce1aa45243b753545ffa1f0f8c"}, "FuelVolumeUnit": {"allowed": ["LITER", "GALLON_US", "GALLON_UK"], "datatype": "string", "description": "Fuel volume unit used in the current HMI", "type": "actuator", "uuid": "aef80d0bd01d593082e41abf072dab9b"}, "TemperatureUnit": {"allowed": ["C", "F"], "datatype": "string", "description": "Temperature unit used in the current HMI", "type": "actuator", "uuid": "a7d1533490bb52b6b4f650280e72543d"}, "TimeFormat": {"allowed": ["HR_12", "HR_24"], "datatype": "string", "description": "Time format used in the current HMI", "type": "actuator", "uuid": "73083b87a4e25c02aee672ea32e40005"}, "TirePressureUnit": {"allowed": ["PSI", "KPA", "BAR"], "datatype": "string", "description": "Tire pressure unit used in the current HMI", "type": "actuator", "uuid": "e5ffaf58cc10523fa0858deafb61a8ce"}}, "description": "HMI related signals", "type": "branch", "uuid": "271e3d9202825f37bd054820e5ea8141"}, "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", "uuid": "0357aea525bf505981a14e4fc720094e"}, "DeclinedURI": {"datatype": "string", "description": "URI of suggested media that was declined", "type": "sensor", "uuid": "51b0d6227db55b92bc35eedd8277f4c4"}, "Played": {"children": {"Album": {"datatype": "string", "description": "Name of album being played", "type": "sensor", "uuid": "1d80b1e2c1085def92b3548b5db2786e"}, "Artist": {"datatype": "string", "description": "Name of artist being played", "type": "sensor", "uuid": "076af7ad8aff5110ab5a64d1f58ccdcb"}, "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"}, "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", "uuid": "54fb88a7d7cf5e3aab63e8f52415c187"}, "Track": {"datatype": "string", "description": "Name of track being played", "type": "sensor", "uuid": "ee800d62a40351e6934649ca75927d69"}, "URI": {"datatype": "string", "description": "User Resource associated with the media", "type": "sensor", "uuid": "1ed22b9925c3502d8d1389c8e02d0f07"}}, "description": "Collection of signals updated in concert when a new media is played", "type": "branch", "uuid": "6585e9d3b6ff596da72a5f8c98d2d47a"}, "SelectedURI": {"datatype": "string", "description": "URI of suggested media that was selected", "type": "actuator", "uuid": "4820f7a961c25e91af12d3417a145d32"}, "Volume": {"datatype": "uint8", "description": "Current Media Volume", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "8b344688816f5844ae5812bb136c8006"}}, "description": "All Media actions", "type": "branch", "uuid": "3f324d13873e501a84daf2cfade24d0f"}, "Navigation": {"children": {"DestinationSet": {"children": {"Latitude": {"datatype": "double", "description": "Latitude of destination in WGS 84 geodetic coordinates.", "max": 90, "min": -90, "type": "actuator", "unit": "degrees", "uuid": "3e33f3252934565d86de5409c761262b"}, "Longitude": {"datatype": "double", "description": "Longitude of destination in WGS 84 geodetic coordinates.", "max": 180, "min": -180, "type": "actuator", "unit": "degrees", "uuid": "e9bd511146ca51639c8d42c0702e22ee"}}, "description": "A navigation has been selected.", "type": "branch", "uuid": "f51ce253dc5b58168ecca99297139455"}, "Mute": {"allowed": ["MUTED", "ALERT_ONLY", "UNMUTED"], "datatype": "string", "description": "Navigation mute state that was selected.", "type": "actuator", "uuid": "d7ab68ec65aa5bafa95f042a60c91639"}, "Volume": {"datatype": "uint8", "description": "Current navigation volume", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "3609ff09d29d54d596068f978cbc0777"}}, "description": "All navigation actions", "type": "branch", "uuid": "79bb0cc4acae5d1eb34fb214352d7863"}, "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", "uuid": "7be907e3d9fd5c46a516f7cd07f050a3"}, "SmartphoneProjection": {"children": {"Active": {"allowed": ["NONE", "ACTIVE", "INACTIVE"], "comment": "NONE indicates that projection is not supported.", "datatype": "string", "description": "Projection activation info.", "type": "actuator", "uuid": "7156b00b47a8513c8e86f50f7d152614"}, "Source": {"allowed": ["USB", "BLUETOOTH", "WIFI"], "datatype": "string", "description": "Connectivity source selected for projection.", "type": "actuator", "uuid": "1c2d1f379f5752ac802456a992b88156"}, "SupportedMode": {"allowed": ["ANDROID_AUTO", "APPLE_CARPLAY", "MIRROR_LINK", "OTHER"], "datatype": "string[]", "description": "Supportable list for projection.", "type": "attribute", "uuid": "80fa132703655d989386bc6711afed49"}}, "description": "All smartphone projection actions.", "type": "branch", "uuid": "fd47f73b4d6b51679f4bed75f6d63518"}}, "description": "Infotainment system.", "type": "branch", "uuid": "d88f92fbdda35012a2443b5e130d5eff"}, "Lights": {"children": {"AmbientLight": {"datatype": "uint8", "description": "How much ambient light is detected in cabin. 0 = No ambient light. 100 = Full brightness", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "cf7bf6bc25c2564383e72ef840e4b47d"}, "IsDomeOn": {"datatype": "boolean", "description": "Is central dome light light on", "type": "actuator", "uuid": "cc100f4cd2ff5e0593a557a74ebf5d9a"}, "IsGloveBoxOn": {"datatype": "boolean", "description": "Is glove box light on", "type": "actuator", "uuid": "f7281175fbc85b4a937b2606e4300f9a"}, "IsTrunkOn": {"datatype": "boolean", "description": "Is trunk light light on", "type": "actuator", "uuid": "3697df4cddc751df847fac74bd32390f"}, "LightIntensity": {"datatype": "uint8", "description": "Intensity of the interior lights. 0 = Off. 100 = Full brightness.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "a66eba0bae225a56babf3f9ceb65fc76"}, "Spotlight": {"children": {"Row1": {"children": {"IsLeftOn": {"datatype": "boolean", "description": "Is light on the left side switched on", "type": "actuator", "uuid": "c6a9c6b14d725113a087ce7e58a9c90b"}, "IsRightOn": {"datatype": "boolean", "description": "Is light on the right side switched on", "type": "actuator", "uuid": "7c08ddd9067f5905855cec9f30546fc9"}, "IsSharedOn": {"datatype": "boolean", "description": "Is a shared light across a specific row on", "type": "sensor", "uuid": "99614d03c27f50a6a32b99b68814e6d7"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "ea2b102268735567b3d7d6c36b34e480"}, "Row2": {"children": {"IsLeftOn": {"datatype": "boolean", "description": "Is light on the left side switched on", "type": "actuator", "uuid": "15534d254ce851509a8dfae763a9d709"}, "IsRightOn": {"datatype": "boolean", "description": "Is light on the right side switched on", "type": "actuator", "uuid": "06e866363b5c589db5b446eca0b68c8b"}, "IsSharedOn": {"datatype": "boolean", "description": "Is a shared light across a specific row on", "type": "sensor", "uuid": "087dd02860965a61a5cba8c66f8dbd36"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "504e514166d255439fd3f61acd3d412b"}, "Row3": {"children": {"IsLeftOn": {"datatype": "boolean", "description": "Is light on the left side switched on", "type": "actuator", "uuid": "f32530172b1a535cba376e660a3a630a"}, "IsRightOn": {"datatype": "boolean", "description": "Is light on the right side switched on", "type": "actuator", "uuid": "20424c00cf1d5e49b4287efe186cd263"}, "IsSharedOn": {"datatype": "boolean", "description": "Is a shared light across a specific row on", "type": "sensor", "uuid": "87f00a029ec854d39702ef86e030c00c"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "c0352a193354597692626b6f0b6d9537"}, "Row4": {"children": {"IsLeftOn": {"datatype": "boolean", "description": "Is light on the left side switched on", "type": "actuator", "uuid": "643c07780d2453e98b5091a39516f7ec"}, "IsRightOn": {"datatype": "boolean", "description": "Is light on the right side switched on", "type": "actuator", "uuid": "f012d37429aa53d1bf8648d686a804ef"}, "IsSharedOn": {"datatype": "boolean", "description": "Is a shared light across a specific row on", "type": "sensor", "uuid": "8f8de6d5b18f5cc69c9ecd556ce6b6ed"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "42c09d108927563293adcb93738895a0"}}, "description": "Spotlight for a specific area in the vehicle.", "type": "branch", "uuid": "8528c64a4c775da3ab01617bbff2e3c9"}}, "description": "Interior lights signals and sensors.", "type": "branch", "uuid": "8b5cd8c4d1e752b38c65a5966c870ccb"}, "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", "uuid": "728b62b170055bd8b1530ec423dd5a9a"}, "RearShade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "9e16fc53f2ec575dbf66c79f969949a9"}, "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", "uuid": "da9f01e9baf35544842f1a7674c5172a"}}, "description": "Rear window shade.", "type": "branch", "uuid": "8a0c86f4fc6f5ea8ac8cf8f327969dcc"}, "RearviewMirror": {"children": {"DimmingLevel": {"datatype": "uint8", "description": "Dimming level of rearview mirror. 0 = undimmed. 100 = fully dimmed.", "max": 100, "type": "actuator", "unit": "percent", "uuid": "4e2bcbaa6dc1586d8282324b475e5dee"}}, "description": "Rearview mirror.", "type": "branch", "uuid": "e655b654ab9f55bbb04952a99755efae"}, "Seat": {"children": {"Row1": {"children": {"Pos1": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "49cc2754a4385ef8bdd8ba4e81ae91f6"}}, "description": "Airbag signals.", "type": "branch", "uuid": "51c12c552b745ead85e10392cd42791f"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "2093f65ca1085a8fab20837e00218461"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "c072a2f72b9554b2b45d81a352bc48ad"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "58ce084f42255af281ba9827af2f69de"}, "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", "uuid": "b1d538f0eb1658639e64f024e1a42831"}, "SideBolster": {"children": {"Support": {"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": "b9a59ddb83995d6381d38ebdd19fb4b9"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "dc92cbf22f7a54bca076ca9e64dde9e6"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "b088e24466215c55b4e3b1ca84321fb9"}, "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", "uuid": "a438c09436955cdd859b08848642464e"}, "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": "04fbc8b58fb1507ca46e133f502212a8"}}, "description": "Headrest settings.", "type": "branch", "uuid": "1b08f767214753648ce939fc23e7d530"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "6055f646e52c58959fe7c89e7e5e77df"}, "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", "uuid": "a28e02777f0652c09282c639b2ab0a63"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "6bd16a2258d152919db77e9592ac837a"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "4e85e2b0ec45582f90f2a17b3636ccc0"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "0e668142a0855c31845050e3535ff1b3"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "c631b08751b851ec9b12ade8332ba5e6"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "8df99b3fedff5a219eacf254fb299ffb"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "473c3f152df7564589d0e09947ae428f"}}, "description": "Occupant data.", "type": "branch", "uuid": "e2303f18abb35b25932e97165858fa2e"}, "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", "uuid": "78283eb5efee58f8bce8b5fa3760df54"}, "Seating": {"children": {"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": "365425c0104757ae9d14c29c0cc61f78"}}, "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": "0cfad6a333b651f4b3adc589a19bd8c2"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "d21af34f33955fdf8a35b2909f1db5ae"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "fd1e56d716d2594b84e1c46b00ab47a5"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "01644b70287d5d1ba9a2f0c9770dadb8"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "757b1f58b4c558429b1d3f11f1a89e6f"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "3542721cf4cc5d8c86e9f8e4a3f36736"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "ceceff9c973453d3bec25db6a56be86c"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "61bb2068d2355dad9ab5ef35709ce97a"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "cc76940524925bf3883918b8ee30d702"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "515bd1ca932a5747b8f8523aa5e26466"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "b49b7c0aa3135e209bb7888e143a6823"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "b45a8ec5ab9251689f42d58d2d954c4e"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "6ec4a46af3db57cc9d4c45923996923c"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "0d844cc3591453b48177a3ed45880e21"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "ca96e4f18b1753faab74e2d4c452d8df"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "a603834c5eae54a78222d20515bd64df"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "e3d3659aed435d7c9bb58bad03590d3a"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "6a28f8e404f05a5b9339b3a40b8c0275"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "abab10f2fc1753fc9276f4571d24b3ac"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "2f758e9b09dc518693db398d31551eeb"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "849766f5f3885f9ba0c4cd817290b6a1"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "810dfaf2b68950e7b695efbfdd80f58a"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "ee55f014fe5c59c8a3808f64b0c51f9e"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "efb6bf4955d45232b8443c3428ec91c2"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "f60421d441985b5bb8f68fabae1e937a"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "c6209e1fd41e5efbbe3b70910068533b"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "3500d7caafe458e19dac56fcff1ada61"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "46a23e294875537d9ce222d748dd43ef"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "b623d9fd81d658c7a4872550065a26f0"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "8ef4c44f8e42567f89c1ff54dd337e91"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "250088210ce059c7a262331242ef1408"}}, "description": "Seat switch signals", "type": "branch", "uuid": "6aeff0a2d48f5f28995f83cc5ada057d"}, "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", "uuid": "20630968a82f53bc89aed9797e0b9c59"}}, "description": "All seats.", "type": "branch", "uuid": "9f570421f00a53f19f3741bd4e53303b"}, "Pos2": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "d65c423837db53ebbfd462ead6c92687"}}, "description": "Airbag signals.", "type": "branch", "uuid": "8150bc56e95453f4be691ee05241fa1a"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "3c282a3edb5c504e83f32ba674c3d0fc"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "049baabba96d52a5b1936acc45cb6e2c"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "26c099ebe82b5131abd9dd9af4ae9eeb"}, "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", "uuid": "a30da9db6ae45d4d80fbd81952d94479"}, "SideBolster": {"children": {"Support": {"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": "63d6501d545350d7bd98d377bf43c45d"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "2435afb459d85aa49907dcfcf0adc3f5"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "a53f27317a3e5a7c8a0ed7df44c4e0b0"}, "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", "uuid": "73491bcc68d850849cd6cbb7c2d4fdb1"}, "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": "2d8573879aaa5b28bcdf425c82bc6aa2"}}, "description": "Headrest settings.", "type": "branch", "uuid": "8a6f8868590653b7adce26541a66e531"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "eae672cc71dc5046bf1bdef59b8cd980"}, "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", "uuid": "fc3b3498a15c5417aadbbce4f758a6d5"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "ee2919e0ffdd5a939a1b86b570c14112"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "4d0cdff266e45dd2a8a878b572d34b7e"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "c1935863d503574fb5d20b703974399c"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "f88bffa4714d57f8b61b1034c57190ff"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "f8f67096b9e35197a3e199e9171c4872"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "ac22e6c5d43053b383f14c6b712b0698"}}, "description": "Occupant data.", "type": "branch", "uuid": "d85baab0f292585b912fd8ba8eae234f"}, "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", "uuid": "f14a3e9eaaf35012a8be3782b6a53f55"}, "Seating": {"children": {"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": "cef5936e042158fd9259018d9895b860"}}, "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": "ce6a7323a8b45ef8aef48bfce9704dec"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "524f91af31e150b8aca5de230369be7f"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "e5bd5743807c5b899098d22e6cc3a4bc"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "3491b91384f95975851e64636514f52f"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "af092a25f40a5003b7354f5f580b0e11"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "1ae05b08ed295d4f8305abc26088cca2"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "da6a3f596a5c5db2b5984356087278d4"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "b05d8f4aa67c5e28af3a6dc957786834"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "5e6fa87ef4fd563d97299bc2d88300d1"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "33b758ca51f15403a398ef3072dcaae2"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "07ff192c99275f8e88451c79ceb7aa03"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "79b1c57ac9245a5ca426a8b5e21717a6"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "556de341eb5052489018ae6ff95310e2"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "2245feeb2eeb54e3b9303bc2dc232de6"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "39e5e43777ab5af9ba972a6da265a4f1"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "f182830bd5955b85b8e755895d578b03"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "250bfde61cbe52659913655dd521fa0f"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "861eca7954cb554e9fb8a21568126e10"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "d3e2606f6cdc57759850f19e1ce8c4f2"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "7da73beabcbc5f338bc68e9b5e3daf06"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "28ff94d05f795705928644e5a0101e8b"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "0482452fd1a3501d96e06ee7c5dba6dd"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "d0433b6d2d965fecb9384ac5205de397"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "3906c493560e5c5686c69f0d2aa65e91"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "61eb1ede01d45ff2a6a4eec903741a08"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "b655bf7a99015d638a6d7177aa6d89e9"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "8d81938f575756199e1c604f6a51677e"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "82f1b4ee3b9c58998115117f6e8c39a7"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "e6d761d8e77651dab939076cdc8bd529"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "4081bab44a1d5da1b70a5dc158f2ae39"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "de12f83c5e425b6b9a9ef9e90b030fda"}}, "description": "Seat switch signals", "type": "branch", "uuid": "dd54a1a61c7c5d79a420edb7b1755aa1"}, "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", "uuid": "6156f12b768e56929c7d325c4bbe1d78"}}, "description": "All seats.", "type": "branch", "uuid": "614cecf6380d5c23989d2c8bf20bd8c3"}, "Pos3": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "c4e9b66d938d5e188ac577094daaf37e"}}, "description": "Airbag signals.", "type": "branch", "uuid": "243d103c16055180abef52fef071ad22"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "4a529381905750be9c09a1bfec05eabd"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "127744c26ebe5c729d69a95bfe96b00e"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "678e3d997c295575ba6337464fe2a912"}, "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", "uuid": "dc901384498f5de6b93b2a5b3850fb87"}, "SideBolster": {"children": {"Support": {"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": "dba595a898b75345bf1d013a45261681"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "605ae18d7b4e5613ac7252ee35df58c1"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "ce7b00453a0a53d3b6e6cbc395bd5c78"}, "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", "uuid": "b4d77cf7a7f55768b3910435e79027f2"}, "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": "420eaf9bc7ac5560a26ad018afe27e1b"}}, "description": "Headrest settings.", "type": "branch", "uuid": "1714ccbc269f59ee807a51c7f1a6103b"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "4af67468dd7a55a58195d9b61997d077"}, "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", "uuid": "d19199de59a153f782b8d61788c510a7"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "975fe66f9fa05d8ca7fb9d334641bb97"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "1540906a83bd5f70af4859910aafd890"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "d63d68381ec65f50a8dd6dfbc0bd751d"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "0d29fa2a1b97563c8e1ba31b8571f328"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "a7306a24de2155f2a1de070bc8f1bd60"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "f59d9531974256cab958e5e31588565d"}}, "description": "Occupant data.", "type": "branch", "uuid": "4e68d3feef825f6f99c44cec9f7c1217"}, "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", "uuid": "2a2ba0e42dcc563cba80cc491b66c45f"}, "Seating": {"children": {"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": "c44b283345dd5a428bd099ed1153d4a4"}}, "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": "4c98bb65b4095480bdc7262b902a767a"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "1861981891f959dc896e00f4e369c86d"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "2a8cc40fb0b3556da210b7dfce7c0c6d"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "9a3655967c5b5f058e01c0b3770ba0d3"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "0f0708693e605289af83c3a1ecfd3159"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "6d590f0db798515b8d8e6f0bf1abfd67"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "663dca40a7645e66adfa00d64223dbbe"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "08b8112168d1584ab6fa8f594016745f"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "53a56a868fb3593fb21378b2d4dbbc7c"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "05b0ef6b02e55bb2814bcd95d9b77bd9"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "46c9fbf2750b517f8d1c09fee21fdd06"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "ad180dd9d2de56cf911dfc35d47c46fb"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "cc633d8a000a5da3b0efe50e520e21fa"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "4ed2d91060bf5e578746b4b2f5a3e671"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "6ad93c92d96a59838e4810f0425f1fb0"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "89b2444c58c457bd936ecef543e7cc96"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "e04ee2c9d0f852c983136186bb15be4c"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "52d8da88ec95586a93952ea3d59023ad"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "f5ed89b2972e5461abb6966e30a906ff"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "66e1d88d56ba572db7b97a5e20cc724c"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "a3661e29e11957ed9cc12bb385b896bf"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "ed590c68f1085a3c9889fc571ace2176"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "8eeefcb4a08e5d9f8eae76e92826e56e"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "1240dc083504580b97ba1cfadb9da659"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "0d7eed9ccb24537fb7f97f0163a4fdd8"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "329dfaaab56f55a39ca9c132ee4bf533"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "6d09e331ceb55a2691f120a6f1205cbb"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "a2c4a3a39758594d9e89a635bab499cb"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "b9829f44a76857e0bc9deeb036ecd311"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "c8ab873dd8fb51dd9493fb00f33e01d6"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "b1ff7876dbab59f2bf7358c932a7e1fb"}}, "description": "Seat switch signals", "type": "branch", "uuid": "1eda245135ce5788bfcbc75b082af947"}, "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", "uuid": "9fb74b71b3ce54f4af6e5e472f159949"}}, "description": "All seats.", "type": "branch", "uuid": "add6f181ffd35d03b57d9833e7e22f4f"}}, "description": "All seats.", "type": "branch", "uuid": "7a420ddeac6f538eb3939bb4a242d136"}, "Row2": {"children": {"Pos1": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "fea5a0ef57385df68e486ece13546bdf"}}, "description": "Airbag signals.", "type": "branch", "uuid": "ccfadedface05d54bcc00b30082b30d6"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "6cdd33ee68a65349bd478c3afbc515c4"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "f8fd42a3227d5c6a96834becd1247f5e"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "363835bd81535538a10acfe914f4c3cc"}, "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", "uuid": "4e793f7e663558b29130989024763680"}, "SideBolster": {"children": {"Support": {"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": "87cedae0f6ba58a0940859642b89fdb0"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "1484136aa6ec5a46b6f2449b9506a5dd"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "9e8063f29cf05c1892c1b5606fd05329"}, "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", "uuid": "7a720646e0d657c5b10979f1c403eb4b"}, "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": "12d45094d6c9545089e932a2462d5f68"}}, "description": "Headrest settings.", "type": "branch", "uuid": "d8486ab7d8195559a4e8e7baebb888ef"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "0f61ef421bcd5c8dbe6a5b477cb10a49"}, "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", "uuid": "6e6e7aadfd0d52d4ac877147d84540d0"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "ad65078f81075a67babb66ecd2c902f7"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "e8c5a3df63b15e8a83f0b16b6a77092f"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "406607948a235d829c5da212594813b1"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "188458a15b30577d8fb01d0f15641a6e"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "159e7daad966588ca48997859b811b72"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "aba17bf3b5175e56bf047839f2a0f880"}}, "description": "Occupant data.", "type": "branch", "uuid": "e7ab950f55b45b1a985f1a9d132aad02"}, "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", "uuid": "3dd247aae2555a1ebaf76ae4017f23bb"}, "Seating": {"children": {"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": "9eabbf5a69cd51c88de9e70eb9545750"}}, "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": "8fb01973fdad529d83ebf60514cad67c"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "0b5415702e0b5461afacea857c05a6fe"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "1e1bbfda10e25d228e01a632277d57c3"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "09337347e2f557fe8649342548c7fe3c"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "12fe41df5ab8545e8a3e7b2411585243"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "73e6514d130e5bfb85d4cfb7c45d8138"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "47f8690805455b8c927f2834942b2ded"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "4dc489e632e15d13afd6601188ed08b3"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "f5e3fae9d90954ad9a240b72fa0a5cb4"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "a7dc6c8941805c47b837334abfa7abee"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "184e9cc9d42e5ec993593da10b1b8299"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "4cc0b73f30e65456a6268f52ad7fee70"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "9ed038b597665225a0f2dfd262cf59b5"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "4d3d29ccfcde55f9bdf40eeeb7ecf5dc"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "ae9cdee6019a567ebac3e85a909fe7ca"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "f929508b3527553a959952bcd227f70e"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "f803a25975405ed38684b3f065535a4a"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "57d1ff9eaf4e5a7cbe683c13eed6e691"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "ac1a8efdbafb561bb11af807d48e8378"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "fd41789d95035c2fa1e855d22eab80fa"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "33ed964275af591d85773bc23d70bd68"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "22726fefa40d5805b46b2c87e43782ed"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "f557b6a2712f5307b56577d93b9e746f"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "3dacf86cf185576f8a3916a315c69b1d"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "97a36b155294512f8c409a9bc82635bc"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "d1f9e86a98be5f2ca81ac11d05356bb6"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "7b656c6aa62c5156aab2d437a03bd074"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "4857aac12637502da76202384a151715"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "c02ddbb0e2c1536081dae3cb23baf4b1"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "f0ef5926752f573ea02dacb2a242c8a1"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "1a3e7380e61852c98eda0f38e9f807aa"}}, "description": "Seat switch signals", "type": "branch", "uuid": "1c4b708222de55aabddb3697308253ee"}, "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", "uuid": "c61e74d2ae795b4da2e35325f8734005"}}, "description": "All seats.", "type": "branch", "uuid": "ba975a6536f15545851d27972ab1fffe"}, "Pos2": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "668f397bc95358989119fb1cfdfa8a01"}}, "description": "Airbag signals.", "type": "branch", "uuid": "07f9f55e33055cf7bebdc06e7d5a6a14"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "6389ff80f23e5985b734207d97a4a58e"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "fcbec0664f315476b901bd4f0b1df006"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "b69532b796ca54a1a897b28270fe0e56"}, "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", "uuid": "b260c18880c75c92a635b9dc887fadca"}, "SideBolster": {"children": {"Support": {"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": "5b7bbfe5ce975a79a029a839a91ebafb"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "ff84905ea881586dafbdfa2268888ba4"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "25a2e0b3833f55c1a0b8ad2589ad2a18"}, "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", "uuid": "d3d4f0a7f5c15072b80f88c2743b77be"}, "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": "1e955420a3d6591e84aa2b6bbd2bed18"}}, "description": "Headrest settings.", "type": "branch", "uuid": "46dcaa7ca75d57c7a5301b7107538812"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "c7eb6ca24426596dab519386d231a9d1"}, "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", "uuid": "3cf2e042421b540da4aa047680dcdf84"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "f2c9c2d624bb5cf4bf9aba5842eb96eb"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "dc1eaa7cab895c5198af0c7f5dea9d79"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "77e8a4d481315520927fc0828158772e"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "6f4e6a9f8008536eae03197601a6366a"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "ae49d70515d55aad9b4719d8162b43c9"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "24c23b9f5adb549483cb52acbd81a980"}}, "description": "Occupant data.", "type": "branch", "uuid": "30e72777238850ff8a01c3a8f85b663e"}, "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", "uuid": "7c24fa880576550da14bae1e5eed26b9"}, "Seating": {"children": {"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": "fbdac9db983b5f52a900d24cf2d424c4"}}, "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": "899171a0b84a563daf6cea0542405031"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "366a8acb011b5997a07930a1b7e62e69"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "fd142d6b8b1353118a5c6e6afb635145"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "1092743255ee5cb7a11b172f2d6a9f2e"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "7dc46ce3336f5c6ab31fe33e52a56cb5"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "475e608bc2aa50f8ad9eea738415d7e3"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "5f6c6804d50955ec8a898a890120a126"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "ed202bc72cd75d5d940f8b7eedfce763"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "f9edf7174eda59a0a2403450939a4a00"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "4b8c68ce106155b78b40f09cc000dfdd"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "69625c26aabf50fda25c5389994ad485"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "1abd0c2387ea56479575b324795cdf2e"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "5a6c05fe3aa854199b3a2d83a91ff07d"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "a1bab160e2bf563b991b22c820ae17c4"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "aa43a5239e255308b617306b71723c5b"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "5b096959633953a9b7c4c52af0c85fa9"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "077d7df6106f5d04884a5f44f917493a"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "19c46bf9c19955a1a619fd3311b5236e"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "0d72a18529d55286be69d517c94cbb74"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "3774266336e05ddbacadd2ef017568b1"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "79d68b154c12508d91f28bedafb47a43"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "c587834e47e651e3b1556b6f7b4c738d"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "90cdb504ff1a5d0bb512fe7034c7bf07"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "7b1f9f36a4f65e7a8aad6b94c186ec00"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "e0a9b4614dbb5c4fbd3e333a73edf8b0"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "20b139513267583e8a4a2374fcde2626"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "32fff40566d95d0cb36ed76100e515c3"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "1fabf329e8715f28b90b72a8a5b6c3de"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "8f8492873cb05b9098e8eb564a43394a"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "4f2b176b4f1657fe8395439df7376d12"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "10ccb625321652e5a12470d14ff7ecd0"}}, "description": "Seat switch signals", "type": "branch", "uuid": "f3fdef2159cb5cda985cbc04220c3593"}, "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", "uuid": "9f95869d8b0f5d9886bef2cc664414aa"}}, "description": "All seats.", "type": "branch", "uuid": "e8afa112abe75fda9ce3e1f0d712713d"}, "Pos3": {"children": {"Airbag": {"children": {"IsDeployed": {"datatype": "boolean", "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", "type": "sensor", "uuid": "6802243fcb3155b196cca3a825c12bcb"}}, "description": "Airbag signals.", "type": "branch", "uuid": "e1d14ad055955eac914a47ee180a6e78"}, "Backrest": {"children": {"Lumbar": {"children": {"Height": {"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": "38b30eb99fd35c5693c18361c566c6e9"}, "Support": {"datatype": "float", "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "b227f493bab0503589b3a54c30ade03c"}}, "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", "type": "branch", "uuid": "2410df6d719c56a58617644a8afc7240"}, "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", "uuid": "867a9d4d4e685407906d561946921c24"}, "SideBolster": {"children": {"Support": {"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": "b4cef1fd83d653aca5c941865bbf96b7"}}, "description": "Backrest side bolster (lumbar side support) settings.", "type": "branch", "uuid": "d52ea54e1d725eb88fa1c061a07a3217"}}, "description": "Describes signals related to the backrest of the seat.", "type": "branch", "uuid": "561be9f8b4f9587bb0d139cc33071742"}, "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", "uuid": "bf6f63ab87e453af965c90f0495ea972"}, "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": "2ae8b66df4045f46a96acbcdd6d2d452"}}, "description": "Headrest settings.", "type": "branch", "uuid": "a14ecc5524645ca883e2838f666bce70"}, "Heating": {"datatype": "int8", "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", "max": 100, "min": -100, "type": "actuator", "unit": "percent", "uuid": "2a175561eed05247b3048263c0122fa1"}, "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", "uuid": "077a21fca4d857dd81debfd81119bc73"}, "IsBelted": {"datatype": "boolean", "description": "Is the belt engaged.", "type": "sensor", "uuid": "815f9e1dc05b5078aaefc3868319b18b"}, "IsOccupied": {"datatype": "boolean", "description": "Does the seat have a passenger in it.", "type": "sensor", "uuid": "018a7ef68dd75f0ea391c7d8191acd9d"}, "Massage": {"datatype": "uint8", "description": "Seat massage level. 0 = off. 100 = max massage.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "fffccf6ae6365b83ab093031f573e452"}, "Occupant": {"children": {"Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "d96b225635b959a1aea0d6febb955ae8"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "ea36896f5572580b9d8379a6256f61b5"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "296e51d414a65cea96e1eea27dc3e1dd"}}, "description": "Occupant data.", "type": "branch", "uuid": "a8df9afde2335f8ab7cf4b185148f20e"}, "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", "uuid": "64eb763cc10358b49968797fbf50c092"}, "Seating": {"children": {"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": "b188311a9fd95b9195b28ab7be00d68f"}}, "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": "1dcb55c75dd55fc0bf752fcf17ba79be"}, "Switch": {"children": {"Backrest": {"children": {"IsReclineBackwardEngaged": {"datatype": "boolean", "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "eed918c7f0b558a99bbe804582a31b64"}, "IsReclineForwardEngaged": {"datatype": "boolean", "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", "type": "actuator", "uuid": "0cc4f8336f0d585f93f4ab5c89e133d8"}, "Lumbar": {"children": {"IsDownEngaged": {"datatype": "boolean", "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "dcd08d675e7e5f4eafe85311a3e40f1e"}, "IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "866f9a7d358e5eb5985c9c675b4f7eb4"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "cf9c077f2f4d5573a6022f5f08e807d3"}, "IsUpEngaged": {"datatype": "boolean", "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", "type": "actuator", "uuid": "f0fd5a54865452bcbf2939d8acd4273c"}}, "description": "Switches for SingleSeat.Backrest.Lumbar.", "type": "branch", "uuid": "1d631b9c90a25a858a6caabe8ead1826"}, "SideBolster": {"children": {"IsLessSupportEngaged": {"datatype": "boolean", "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "e99b4f4b07af511b9d86454eec1c483c"}, "IsMoreSupportEngaged": {"datatype": "boolean", "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", "type": "actuator", "uuid": "92341df5af725c8282f6f93644f1ec9f"}}, "description": "Switches for SingleSeat.Backrest.SideBolster.", "type": "branch", "uuid": "79d8d65b4c1d54a4ab1306d56e839c49"}}, "description": "Describes switches related to the backrest of the seat.", "type": "branch", "uuid": "583a22d4a1365db9bf386a96bcafd292"}, "Headrest": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "04e14e79404b5ff7ac9067841f81bbc9"}, "IsDownEngaged": {"datatype": "boolean", "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "61a58c7fa7ed5e08a17067193bb9c951"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", "type": "actuator", "uuid": "3c94aab710ff5e8f8a48fdbf6dc7b989"}, "IsUpEngaged": {"datatype": "boolean", "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", "type": "actuator", "uuid": "e40c92c141f6562382f4f29d783cfa26"}}, "description": "Switches for SingleSeat.Headrest.", "type": "branch", "uuid": "dd4de742803250eaa1efeceaad116e1d"}, "IsBackwardEngaged": {"datatype": "boolean", "description": "Seat backward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "267429a5f95d5f47ac47ec301755df32"}, "IsCoolerEngaged": {"datatype": "boolean", "description": "Cooler switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "ffff3283b2cf5f7292e241ec2ee27e77"}, "IsDownEngaged": {"datatype": "boolean", "description": "Seat down switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "73d2e688696a507b826230d5b53c429f"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Seat forward switch engaged (SingleSeat.Position).", "type": "actuator", "uuid": "397a8afd0dd1533b8899248596ae7566"}, "IsTiltBackwardEngaged": {"datatype": "boolean", "description": "Tilt backward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "4490bc9063715f238c00c1eea91fa964"}, "IsTiltForwardEngaged": {"datatype": "boolean", "description": "Tilt forward switch engaged (SingleSeat.Tilt).", "type": "actuator", "uuid": "98d34a35ab82571e88e2d647b5a772f4"}, "IsUpEngaged": {"datatype": "boolean", "description": "Seat up switch engaged (SingleSeat.Height).", "type": "actuator", "uuid": "26752cad0db150a2aa6737b825e96256"}, "IsWarmerEngaged": {"datatype": "boolean", "description": "Warmer switch for Seat heater (SingleSeat.Heating).", "type": "actuator", "uuid": "820cc2c323b45ef989d5bcb8aac9527e"}, "Massage": {"children": {"IsDecreaseEngaged": {"datatype": "boolean", "description": "Decrease massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "7226bc97842452099d5484baad0af620"}, "IsIncreaseEngaged": {"datatype": "boolean", "description": "Increase massage level switch engaged (SingleSeat.Massage).", "type": "actuator", "uuid": "fb062e9f85fd568cbd774b36fbf5113f"}}, "description": "Switches for SingleSeat.Massage.", "type": "branch", "uuid": "ac2bb22d6acf56988582353a1453cbe3"}, "Seating": {"children": {"IsBackwardEngaged": {"datatype": "boolean", "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "2999a262b18e5476ab621e0cba4045e8"}, "IsForwardEngaged": {"datatype": "boolean", "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", "type": "actuator", "uuid": "d32a5d6d85ff5b64b0157ae215cee44e"}}, "description": "Describes switches related to the seating of the seat.", "type": "branch", "uuid": "0ed3b90fe1b4581782fac8496bace4b8"}}, "description": "Seat switch signals", "type": "branch", "uuid": "e0cfa7aceac75980b33075ceef5c9125"}, "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", "uuid": "5702e9961d4353eea849901a12886cf1"}}, "description": "All seats.", "type": "branch", "uuid": "a40aa679981551e7a92b8438533911d4"}}, "description": "All seats.", "type": "branch", "uuid": "8c3aaf015ef8595cb45d9461a9c1195f"}}, "description": "All seats.", "type": "branch", "uuid": "b0b253106b2851e3bb5c71ae3b09f09d"}, "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", "uuid": "8dd40ecd47ab51c79ed9c74ae4296d7e"}, "SeatRowCount": {"comment": "Default value corresponds to two rows of seats.", "datatype": "uint8", "default": 2, "description": "Number of seat rows in vehicle.", "type": "attribute", "uuid": "1002a7a4a954581b9cbc72fa438c5292"}, "Sunroof": {"children": {"Position": {"datatype": "int8", "description": "Sunroof position. 0 = Fully closed 100 = Fully opened. -100 = Fully tilted.", "max": 100, "min": -100, "type": "sensor", "uuid": "ab598697f1c852eda4df9ed62a956d17"}, "Shade": {"children": {"Position": {"datatype": "uint8", "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "5f78c2a631b75abc88744f9bad277f5a"}, "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", "uuid": "3836077128c65381b01e74a1a8be1c40"}}, "description": "Sun roof shade status.", "type": "branch", "uuid": "eeaae5977adb5683b16f405993405b2e"}, "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", "uuid": "88c39afd45a25ea2b474ff581e1fb138"}}, "description": "Sun roof status.", "type": "branch", "uuid": "8ff70db05c065e3eb530082a0b6983cf"}}, "description": "All in-cabin components, including doors.", "type": "branch", "uuid": "1a94457b237f5e8eb3c77c0532ac88d7"}, "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", "uuid": "789feabca2e8560ea3c1852371b4096e"}, "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", "uuid": "2fabd8b61db45f62b4e97e7a612b4a73"}}, "description": "Accelerator signals", "type": "branch", "uuid": "3b2b562086a45eb29c55186f3b710621"}, "Axle": {"children": {"Row1": {"children": {"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", "uuid": "91310e9ef88450c68791fbb07d83f104"}, "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"}, "TireDiameter": {"datatype": "float", "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "ed9f037c1b5d53c78c90b71179db1f4f"}, "TireWidth": {"datatype": "uint16", "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", "type": "attribute", "unit": "mm", "uuid": "3444d8773c215cd7a076d688eb7f1afc"}, "Wheel": {"children": {"Left": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "63aa9c4973ef50b18bd7214c9f2634c5"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "901771088eb35dec9e69b56a8cb3e8f5"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "713da56818e55714ac441e10870b3753"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "b4ed36f8143d512fadaca3e641739ee2"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "162dab13d5815ec4bc22888b0bc59cbf"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "47897f20b2745b6aa2d0f76f1ecf824a"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "4088315cfaa05c28b51c3d3462c65339"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "9fa3f176fd975d28a68f70c7d72e370f"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "093d8fb119755f6bafa979e4eae201a0"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "17c60ec3c02054b4951c975156375d9a"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "0cd478c6e72b55c6be6d3d9df9624545"}, "Right": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "386bfddee4605e419d59755a51835650"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "4c669b71c91e57dd8fd804ee68174b9c"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "bb2057bc31c25beda1da0610ca62bd51"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "f3c53c8c5628527a8501e12778dae6c7"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "f334a45b92215f86b4ecadbd82c8b249"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "c288d064d56e53bfb94cef8670872587"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "93fa1125894e53259af5b7e1d991c8da"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "ea8038b63e6650ffb1a20539e915064a"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "58d4cee188d353d7996e855d48bb92df"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "660f90ae8f14594cb6e97d000c1985a1"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "c7ae1f1787ec502d8aea41802dc9a203"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "8ed02c02eee0502ba6d94a5d5f1fb789"}, "WheelCount": {"datatype": "uint8", "description": "Number of wheels on the axle", "type": "attribute", "uuid": "7232effafb7d5c908a9bafe1cef2ff3e"}, "WheelDiameter": {"datatype": "float", "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "60d4b948ae8a5485bd77c45e1f648c13"}, "WheelWidth": {"datatype": "float", "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "5b92bdab1e035ff4ba000330e20f826b"}}, "description": "Axle signals", "type": "branch", "uuid": "d7e93a94af0752aaab36819f6be4f67a"}, "Row2": {"children": {"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", "uuid": "bf1960525e725d2ca145ce12ba939ea3"}, "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"}, "TireDiameter": {"datatype": "float", "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "4dc46ee7fe0a5240a6eb67f9bf43a1ea"}, "TireWidth": {"datatype": "uint16", "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", "type": "attribute", "unit": "mm", "uuid": "76a9071697b25fb8ab42393dfb77f0ef"}, "Wheel": {"children": {"Left": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "4b0d4f80b8855973a55ffee80fdfc4ba"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "3d9bae5bf0705de99789ecea26b99a5c"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "01f57161b0bf539fad1d2bfa9d9a9fc4"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "8eff72d583015e1e94eab98bf8f0497e"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "774d0a5771d35975872870cf71ea1487"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "427abdd04fc355769697d998a47d3f58"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "d895b1e23a4f59ec92735fc317e44769"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "ea414012c36e54fc84ec1d421f370ddd"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "06ab6b3fe7bb5f7c9e2e104ee0e7cfd5"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "edfee87117dc5a6f9d970167f26ec090"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "4c32a1c722a45ea09a52c389e8a8a618"}, "Right": {"children": {"Brake": {"children": {"FluidLevel": {"datatype": "uint8", "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "83e5e261302d5ab38c9ee4dddc18c8ae"}, "IsBrakesWorn": {"datatype": "boolean", "description": "Brake pad wear status. True = Worn. False = Not Worn.", "type": "sensor", "uuid": "9b5963e98a9c5b229a61df76ef5c86e0"}, "IsFluidLevelLow": {"datatype": "boolean", "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", "type": "sensor", "uuid": "727823c7e0d551f48f26a5dd4f0578bd"}, "PadWear": {"datatype": "uint8", "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "63a564bca18a5b1fabd7d3cff1af0e6d"}}, "description": "Brake signals for wheel", "type": "branch", "uuid": "5c33ec4bd8a15d3590f59e7257bf4d25"}, "Speed": {"datatype": "float", "description": "Rotational speed of a vehicle's wheel.", "type": "sensor", "unit": "km/h", "uuid": "85b41a82f4775fcea57dcc6218fb6d7b"}, "Tire": {"children": {"IsPressureLow": {"datatype": "boolean", "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", "type": "sensor", "uuid": "da2f63312a455d92abd5edc405f01903"}, "Pressure": {"datatype": "uint16", "description": "Tire pressure in kilo-Pascal.", "type": "sensor", "unit": "kPa", "uuid": "0cd3dd4be36c5fcda49d6360556ba7c8"}, "Temperature": {"datatype": "float", "description": "Tire temperature in Celsius.", "type": "sensor", "unit": "celsius", "uuid": "7c08b5778bc05265bb8d4e08fdca29cf"}}, "description": "Tire signals for wheel.", "type": "branch", "uuid": "d855fe9ffb4e52be83ebfc7967c1c3ee"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "f59f6ce66b1454498f5dc71be581732a"}}, "description": "Wheel signals for axle", "type": "branch", "uuid": "87b119ed6de254159877b24047fd3026"}, "WheelCount": {"datatype": "uint8", "description": "Number of wheels on the axle", "type": "attribute", "uuid": "ac6fe103410153d382306426d14213ab"}, "WheelDiameter": {"datatype": "float", "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "af27b1d18a5455e593692a9929909bb9"}, "WheelWidth": {"datatype": "float", "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", "type": "attribute", "unit": "inch", "uuid": "889d279053c051979ebbe301bacac206"}}, "description": "Axle signals", "type": "branch", "uuid": "8ef77768446659b6b5020a06c7b23c8b"}}, "description": "Axle signals", "type": "branch", "uuid": "0a3ebde7efa85c04ac6c29b5676fec5d"}, "AxleCount": {"datatype": "uint8", "default": 2, "description": "Number of axles on the vehicle", "type": "attribute", "uuid": "86d084c9148d5f22b5402a030413ed79"}, "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", "uuid": "0d462892aeac5062a62ee7d07306f6a6"}, "PedalPosition": {"datatype": "uint8", "description": "Brake pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "0477d3a4a831564ea473976cf34374f2"}}, "description": "Brake system signals", "type": "branch", "uuid": "38df972e5c6b558e93839a5e97238c5a"}, "ParkingBrake": {"children": {"IsEngaged": {"datatype": "boolean", "description": "Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.", "type": "actuator", "uuid": "faa7f94e6a5555c6b2d62e3328520ce0"}}, "description": "Parking brake signals", "type": "branch", "uuid": "3849d42292f4551590fa4bf716fc90f7"}, "SteeringWheel": {"children": {"Angle": {"datatype": "int16", "description": "Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right.", "type": "sensor", "unit": "degrees", "uuid": "92cd3b3d37585b2291806fe5127d9393"}, "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", "uuid": "6a84cc3604fc5960a1fb384fe63fae72"}, "Position": {"allowed": ["FRONT_LEFT", "FRONT_RIGHT"], "datatype": "string", "default": "FRONT_LEFT", "description": "Position of the steering wheel on the left or right side of the vehicle.", "type": "attribute", "uuid": "314d6eeeba195098b36ae7f476d27824"}, "Tilt": {"datatype": "uint8", "description": "Steering wheel column tilt. 0 = Lowest position. 100 = Highest position.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "33e979769f91521d8080384447d06c00"}}, "description": "Steering wheel signals", "type": "branch", "uuid": "8c759072791e5986ac4efe9df0c2b751"}, "Track": {"datatype": "uint16", "default": 0, "description": "Overall wheel tracking, in mm.", "type": "attribute", "unit": "mm", "uuid": "f66cc4e6d7cf5e1da0d58af902dbb36b"}, "Wheelbase": {"datatype": "uint16", "default": 0, "description": "Overall wheel base, in mm.", "type": "attribute", "unit": "mm", "uuid": "11677e0433935dc7aa9c1806c96a8a6b"}}, "description": "All data concerning steering, suspension, wheels, and brakes.", "type": "branch", "uuid": "87d260d635425da0a4ebd62bc4e5c313"}, "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", "uuid": "b6d11be2a6565996b68ffb07a96595a7"}}, "description": "Connectivity data.", "type": "branch", "uuid": "89c267fccea35f3da9871cca2b4dc4df"}, "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"}, "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", "uuid": "d3ead98ab0b751c1a5b5dd5bc0e5e216"}, "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", "uuid": "52853b33d4605608bd0ae50595c69309"}, "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", "uuid": "f23d40f3556b5676a0d1e3def037197f"}, "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"}, "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"}}, "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", "uuid": "5c0887bce6fb5eb79402baaccb203e61"}}, "description": "Information on the GNSS receiver used for determining current location.", "type": "branch", "uuid": "b1bea5d88662539a8cff6f8fe4974740"}, "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"}, "HorizontalAccuracy": {"datatype": "double", "description": "Accuracy of the latitude and longitude coordinates.", "type": "sensor", "unit": "m", "uuid": "bf25ef243f0c5f839f7ef874f9c57fda"}, "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"}, "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", "uuid": "5246f2ec5fea550cb1b36f110854cfbb"}, "Timestamp": {"datatype": "string", "description": "Timestamp from GNSS system for current location, formatted according to ISO 8601 with UTC time zone.", "type": "sensor", "uuid": "094aeff73be05c08905690be0e82a438"}, "VerticalAccuracy": {"datatype": "double", "description": "Accuracy of altitude.", "type": "sensor", "unit": "m", "uuid": "8f54055bce9e5e8e97fb6051582707ab"}}, "description": "The current latitude and longitude of the vehicle.", "type": "branch", "uuid": "24777bd485f15fb69550ae0520c40ad5"}, "CurrentOverallWeight": {"datatype": "uint16", "description": "Current overall Vehicle weight. Including passengers, cargo and other load inside the car.", "type": "sensor", "unit": "kg", "uuid": "75599d7628bb5f35839055269d3ad205"}, "Driver": {"children": {"AttentiveProbability": {"datatype": "float", "description": "Probability of attentiveness of the driver.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "fcd202467afb533fbbf9e7da89cc1cee"}, "DistractionLevel": {"datatype": "float", "description": "Distraction level of the driver will be the level how much the driver is distracted, by multiple factors. E.g. Driving situation, acustical or optical signales inside the cockpit, phone calls.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "cb35ec0b924e58979e1469146d65c3fa"}, "FatigueLevel": {"datatype": "float", "description": "Fatigueness level of driver. Evaluated by multiple factors like trip time, behaviour of steering, eye status.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "49b1626295705a79ae20d8a270c48b6b"}, "HeartRate": {"datatype": "uint16", "description": "Heart rate of the driver.", "type": "sensor", "uuid": "d71516905f785c4da867a2f86e774d93"}, "Identifier": {"children": {"Issuer": {"datatype": "string", "description": "Unique Issuer for the authentication of the occupant. E.g. https://accounts.funcorp.com.", "type": "sensor", "uuid": "ee7988d26d7156d2a030ecc506ea97e7"}, "Subject": {"datatype": "string", "description": "Subject for the authentication of the occupant. E.g. UserID 7331677.", "type": "sensor", "uuid": "b41ec688af265f10824bc9635989ac55"}}, "description": "Identifier attributes based on OAuth 2.0.", "type": "branch", "uuid": "89705397069c5ec58d607318f2ff0ea8"}, "IsEyesOnRoad": {"datatype": "boolean", "description": "Has driver the eyes on road or not?", "type": "sensor", "uuid": "625e5009f1145aa0b797ee6c335ca2fe"}}, "description": "Driver data.", "type": "branch", "uuid": "1cac57e7b7e756dc8a154eaacbce6426"}, "EmissionsCO2": {"datatype": "int16", "description": "The CO2 emissions.", "type": "attribute", "unit": "g/km", "uuid": "b73e8f1ed17d584fad3f088c666dc2a5"}, "Exterior": {"children": {"AirTemperature": {"datatype": "float", "description": "Air temperature outside the vehicle.", "type": "sensor", "unit": "celsius", "uuid": "a38d3f5dfeb35317aca8b90453dc1a75"}, "Humidity": {"datatype": "float", "description": "Relative humidity outside the vehicle. 0 = Dry, 100 = Air fully saturated.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "6c785ec5d9a5534f98be7ce198d25d6b"}, "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", "uuid": "9b46b70490f853e891e1cc35dd08dddc"}}, "description": "Information about exterior measured by vehicle.", "type": "branch", "uuid": "06c5def549f3580e8cdaffa3e0f5d25c"}, "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"}, "Height": {"datatype": "uint16", "default": 0, "description": "Overall vehicle height.", "type": "attribute", "unit": "mm", "uuid": "9784d39f68b8541f90c355178ded7d7c"}, "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", "uuid": "469ebd2a76b45e5b97b799262a085330"}, "IsMoving": {"datatype": "boolean", "description": "Indicates whether the vehicle is stationary or moving.", "type": "sensor", "uuid": "db69549cc7375e919c2a2883b41cd19c"}, "Length": {"datatype": "uint16", "default": 0, "description": "Overall vehicle length.", "type": "attribute", "unit": "mm", "uuid": "885f1be6842a513582e52a42edb3176f"}, "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", "uuid": "e1d76e489d505b03ace30771ba4291b1"}, "CurrentVoltage": {"datatype": "float", "description": "Current Voltage of the low voltage battery.", "type": "sensor", "unit": "V", "uuid": "1394234e8b975a279959ae82e03df786"}, "NominalCapacity": {"datatype": "uint16", "description": "Nominal capacity of the low voltage battery.", "type": "attribute", "unit": "Ah", "uuid": "d9f32612cb2f58d3b863a0dae21ff7af"}, "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"}}, "description": "Signals related to low voltage battery.", "type": "branch", "uuid": "ab8c5816d44f55b68f6e1d6d9e5acb0b"}, "LowVoltageSystemState": {"allowed": ["UNDEFINED", "LOCK", "OFF", "ACC", "ON", "START"], "datatype": "string", "description": "State of the supply voltage of the control units (usually 12V).", "type": "sensor", "uuid": "d7391ceb132e5519b02d4c13d5513d99"}, "MaxTowBallWeight": {"datatype": "uint16", "default": 0, "description": "Maximum vertical weight on the tow ball of a trailer.", "type": "attribute", "unit": "kg", "uuid": "fec550f2064750e8b65b54fbf1368d68"}, "MaxTowWeight": {"datatype": "uint16", "default": 0, "description": "Maximum weight of trailer.", "type": "attribute", "unit": "kg", "uuid": "a1b8fd65897654aa8a418bccf443f1f3"}, "OBD": {"children": {"AbsoluteLoad": {"datatype": "float", "description": "PID 43 - Absolute load value", "type": "sensor", "unit": "percent", "uuid": "b3dd889a42ce5de9a7904b7196ae325c"}, "AcceleratorPositionD": {"datatype": "float", "description": "PID 49 - Accelerator pedal position D", "type": "sensor", "unit": "percent", "uuid": "7e63256081ac5a7b8a28a6fa3c2c2ff9"}, "AcceleratorPositionE": {"datatype": "float", "description": "PID 4A - Accelerator pedal position E", "type": "sensor", "unit": "percent", "uuid": "4104e7fc25355e25b4522d233565d84b"}, "AcceleratorPositionF": {"datatype": "float", "description": "PID 4B - Accelerator pedal position F", "type": "sensor", "unit": "percent", "uuid": "95f5c2a209a857ff930e2f8e32ac2d3f"}, "AirStatus": {"datatype": "string", "description": "PID 12 - Secondary air status", "type": "sensor", "uuid": "548f65bf59ed505a86dfaa1c33342e4d"}, "AmbientAirTemperature": {"datatype": "float", "description": "PID 46 - Ambient air temperature", "type": "sensor", "unit": "celsius", "uuid": "220a90f183c5583ea8b8b6454d774517"}, "BarometricPressure": {"datatype": "float", "description": "PID 33 - Barometric pressure", "type": "sensor", "unit": "kPa", "uuid": "1966bfff4d235767bfd9a21afb445ac7"}, "Catalyst": {"children": {"Bank1": {"children": {"Temperature1": {"datatype": "float", "description": "PID 3C - Catalyst temperature from bank 1, sensor 1", "type": "sensor", "unit": "celsius", "uuid": "5a770f13939e5d069682d408f160a895"}, "Temperature2": {"datatype": "float", "description": "PID 3E - Catalyst temperature from bank 1, sensor 2", "type": "sensor", "unit": "celsius", "uuid": "ca9419a5d23b5937af23b51d823722fa"}}, "description": "Catalyst bank 1 signals", "type": "branch", "uuid": "0c3aaf014ba95b938b639d4202ef8b25"}, "Bank2": {"children": {"Temperature1": {"datatype": "float", "description": "PID 3D - Catalyst temperature from bank 2, sensor 1", "type": "sensor", "unit": "celsius", "uuid": "011658e4ee89502c9a33877c92dbf888"}, "Temperature2": {"datatype": "float", "description": "PID 3F - Catalyst temperature from bank 2, sensor 2", "type": "sensor", "unit": "celsius", "uuid": "f60c68f0ebca5fcf97086ce04e16d661"}}, "description": "Catalyst bank 2 signals", "type": "branch", "uuid": "9a20459754755146a3b9608bf6384835"}}, "description": "Catalyst signals", "type": "branch", "uuid": "4eb0b191d6445de081f3f3f759af31c2"}, "CommandedEGR": {"datatype": "float", "description": "PID 2C - Commanded exhaust gas recirculation (EGR)", "type": "sensor", "unit": "percent", "uuid": "0265890a4a695ee6952c9b9f565ddaa5"}, "CommandedEVAP": {"datatype": "float", "description": "PID 2E - Commanded evaporative purge (EVAP) valve", "type": "sensor", "unit": "percent", "uuid": "5e6295d04a9159b88f4698b561b86842"}, "CommandedEquivalenceRatio": {"datatype": "float", "description": "PID 44 - Commanded equivalence ratio", "type": "sensor", "unit": "ratio", "uuid": "104e39e816f65fa791d0afa24603292b"}, "ControlModuleVoltage": {"datatype": "float", "description": "PID 42 - Control module voltage", "type": "sensor", "unit": "V", "uuid": "59e072b932605ffc88a299c874d885c4"}, "CoolantTemperature": {"datatype": "float", "description": "PID 05 - Coolant temperature", "type": "sensor", "unit": "celsius", "uuid": "824892cdc72d5f92a38ef3136576edc8"}, "DTCList": {"datatype": "string[]", "description": "List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX )", "type": "sensor", "uuid": "eee1b64e69845d5ab5e793b74631f9dc"}, "DistanceSinceDTCClear": {"datatype": "float", "description": "PID 31 - Distance traveled since codes cleared", "type": "sensor", "unit": "km", "uuid": "0da628e2c69d561eb86216ddcb6e7b2a"}, "DistanceWithMIL": {"datatype": "float", "description": "PID 21 - Distance traveled with MIL on", "type": "sensor", "unit": "km", "uuid": "a9a522e343f25522b08f11e81bb91349"}, "DriveCycleStatus": {"children": {"DTCCount": {"datatype": "uint8", "description": "Number of sensor Trouble Codes (DTC)", "type": "sensor", "uuid": "312856f746ff560e8098c19196964d3b"}, "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"}, "IsMILOn": {"datatype": "boolean", "description": "Malfunction Indicator Light (MIL) - False = Off, True = On", "type": "sensor", "uuid": "e367394c9a075eef8fd66499e3d9cf14"}}, "description": "PID 41 - OBD status for the current drive cycle", "type": "branch", "uuid": "5215e28062f75154822789b8a5f30630"}, "EGRError": {"datatype": "float", "description": "PID 2D - Exhaust gas recirculation (EGR) error", "type": "sensor", "unit": "percent", "uuid": "80a7000c5c7b5444b5571a26264061e5"}, "EVAPVaporPressure": {"datatype": "float", "description": "PID 32 - Evaporative purge (EVAP) system pressure", "type": "sensor", "unit": "Pa", "uuid": "70b5dae2ffd0561eab73efed8ad2f0ad"}, "EVAPVaporPressureAbsolute": {"datatype": "float", "description": "PID 53 - Absolute evaporative purge (EVAP) system pressure", "type": "sensor", "unit": "kPa", "uuid": "ef188a1e1a1356f7bc425081e3e00805"}, "EVAPVaporPressureAlternate": {"datatype": "float", "description": "PID 54 - Alternate evaporative purge (EVAP) system pressure", "type": "sensor", "unit": "Pa", "uuid": "68eaba3c79975d61bc35b92cd3e5e8d0"}, "EngineLoad": {"datatype": "float", "description": "PID 04 - Engine load in percent - 0 = no load, 100 = full load", "type": "sensor", "unit": "percent", "uuid": "a8fda8a1b4c6534aa49c447bafc1c700"}, "EngineSpeed": {"datatype": "float", "description": "PID 0C - Engine speed measured as rotations per minute", "type": "sensor", "unit": "rpm", "uuid": "b682eea93b3e5874ab3b52e95a1fad37"}, "EthanolPercent": {"datatype": "float", "description": "PID 52 - Percentage of ethanol in the fuel", "type": "sensor", "unit": "percent", "uuid": "a207e7de17e1520c894b412af6f2522c"}, "FreezeDTC": {"datatype": "string", "description": "PID 02 - DTC that triggered the freeze frame", "type": "sensor", "uuid": "5b87fae8dda4522aae209ae528960782"}, "FuelInjectionTiming": {"datatype": "float", "description": "PID 5D - Fuel injection timing", "type": "sensor", "unit": "degrees", "uuid": "ab4869446f5357d6936838983e1b8949"}, "FuelLevel": {"datatype": "float", "description": "PID 2F - Fuel level in the fuel tank", "type": "sensor", "unit": "percent", "uuid": "fd39813424ee5cd08c44714b35697287"}, "FuelPressure": {"datatype": "float", "description": "PID 0A - Fuel pressure", "type": "sensor", "unit": "kPa", "uuid": "34e6b0689f025d7b9bfa1fc49bb30c0f"}, "FuelRailPressureAbsolute": {"datatype": "float", "description": "PID 59 - Absolute fuel rail pressure", "type": "sensor", "unit": "kPa", "uuid": "83c88b13d30153949eeca1b1180a9061"}, "FuelRailPressureDirect": {"datatype": "float", "description": "PID 23 - Fuel rail pressure direct inject", "type": "sensor", "unit": "kPa", "uuid": "039cb7bf1a8356a98d09eaf4fc029fe9"}, "FuelRailPressureVac": {"datatype": "float", "description": "PID 22 - Fuel rail pressure relative to vacuum", "type": "sensor", "unit": "kPa", "uuid": "b3b0adf44aa3572fa07e7434993e6458"}, "FuelRate": {"datatype": "float", "description": "PID 5E - Engine fuel rate", "type": "sensor", "unit": "l/h", "uuid": "4ab7c2b710f95ceb9c7d01d19dabac38"}, "FuelStatus": {"datatype": "string", "description": "PID 03 - Fuel status", "type": "sensor", "uuid": "15fa2f3f667a5f5786eda5c83435ef16"}, "FuelType": {"datatype": "string", "description": "PID 51 - Fuel type", "type": "sensor", "uuid": "aefb45bdd8035904b0c8f3ffcedc53a9"}, "HybridBatteryRemaining": {"datatype": "float", "description": "PID 5B - Remaining life of hybrid battery", "type": "sensor", "unit": "percent", "uuid": "c9517b6243df5e8d8f3aa3e57f71ec37"}, "IntakeTemp": {"datatype": "float", "description": "PID 0F - Intake temperature", "type": "sensor", "unit": "celsius", "uuid": "7c108305178b5854b430a23e125588bd"}, "IsPTOActive": {"datatype": "boolean", "description": "PID 1E - Auxiliary input status (power take off)", "type": "sensor", "uuid": "ce291dc40bba5a969e57b17f11ae23a9"}, "LongTermFuelTrim1": {"datatype": "float", "description": "PID 07 - Long Term (learned) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "1c203b11667150f0b4ee1be26a60c084"}, "LongTermFuelTrim2": {"datatype": "float", "description": "PID 09 - Long Term (learned) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "b02aff2efce05632b5694a256e5b9ec7"}, "LongTermO2Trim1": {"datatype": "float", "description": "PID 56 (byte A) - Long term secondary O2 trim - Bank 1", "type": "sensor", "unit": "percent", "uuid": "9a9586e29a02567e9920cb9b0aa2e3f5"}, "LongTermO2Trim2": {"datatype": "float", "description": "PID 58 (byte A) - Long term secondary O2 trim - Bank 2", "type": "sensor", "unit": "percent", "uuid": "e579f6c930605b389e8ce2d7edd92999"}, "LongTermO2Trim3": {"datatype": "float", "description": "PID 56 (byte B) - Long term secondary O2 trim - Bank 3", "type": "sensor", "unit": "percent", "uuid": "50ea51ad343a5e59b1d214053e522a45"}, "LongTermO2Trim4": {"datatype": "float", "description": "PID 58 (byte B) - Long term secondary O2 trim - Bank 4", "type": "sensor", "unit": "percent", "uuid": "f9c20edd12f456e5ace21581cea484bd"}, "MAF": {"datatype": "float", "description": "PID 10 - Grams of air drawn into engine per second", "type": "sensor", "unit": "g/s", "uuid": "f3acdf89fb865313883d5d3126f15518"}, "MAP": {"datatype": "float", "description": "PID 0B - Intake manifold pressure", "type": "sensor", "unit": "kPa", "uuid": "335991b1b53f56f097fea7b05d4db83b"}, "MaxMAF": {"datatype": "float", "description": "PID 50 - Maximum flow for mass air flow sensor", "type": "sensor", "unit": "g/s", "uuid": "e21826479f715ee7afe8dc485f109b11"}, "O2": {"children": {"Sensor1": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "ee366d40132456c0bce8cac3a837f16a"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "e95f4ea667265ee3a68ab57b86ecbf66"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "3aa8859203d4545083196a9690d72627"}, "Sensor2": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "92e6e172777457a9866ca045d0d79853"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "5f1781bde96b53ce9b810a5a56b7c8ed"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "efcb337cf94056c8a724e76bcfee6765"}, "Sensor3": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "66c300d35eb85e7387dc42528cca48d9"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "a86a1986f0fe5d25b6c438a00438ff60"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "b8c145402b7a5cffaa2699ed61b056fa"}, "Sensor4": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "b71dcf9d850c5d5686f14ad46cd2cae3"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "772cbfab91be59f7bbf3ec4140ffbcc4"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "853945bce86c5c4f95081075ae32261c"}, "Sensor5": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "7604de26198b51e28a441f79b1d84242"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "155a0816093b5aee8012ed2a8d532b7f"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "f48c76c9c7ec5ddcb6838ced0bd7517b"}, "Sensor6": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "2fb034769cab5089986d90bf7f9000ca"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "85430592fb795e848d7bb91e6b9f1e00"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "5269c1877ded507b87d7d1d7bec10605"}, "Sensor7": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "81f34b16b5e05d1ab159de9474eaf5bc"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "23984a68e63f532bab18679e1174130d"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "4b565102e4a052aa8aa64f27dc678ce3"}, "Sensor8": {"children": {"ShortTermFuelTrim": {"datatype": "float", "description": "PID 1x (byte B) - Short term fuel trim", "type": "sensor", "unit": "percent", "uuid": "1699eb2267615e258259e480be0fa606"}, "Voltage": {"datatype": "float", "description": "PID 1x (byte A) - Sensor voltage", "type": "sensor", "unit": "V", "uuid": "23e057b3629a5136bb585638725fe0a2"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "d5eef24c35f1561982127404b50ece11"}}, "description": "Oxygen sensors (PID 14 - PID 1B)", "type": "branch", "uuid": "31f007df72af50f0925d2b4647682a4d"}, "O2WR": {"children": {"Sensor1": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "bb4c70d9d2ae56c8a9a3be446db6f54c"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "b809083454a5516f995477c59bf4d3c6"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "396251cbfa5a57ffb1dd743298dfcdf9"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "496074cec04a5260b60fd39bb7ed1479"}, "Sensor2": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "442ab33180ca5028a37a487056ba4a51"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "ce55aed0e8705a49970566db71ebcf90"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "a784675c3b765d42ad023d8ee412be26"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "079f9960f75d5f399df7ff86fcea8f0c"}, "Sensor3": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "c942468e349e5aaebde4d90ee0bc3814"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "f2ae7c781b0a5dcf8db91558e3cf4c13"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "a78f7621a3f75df2adc1dc940219834a"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "a8a83d3e33f9584b824088e830bcbaec"}, "Sensor4": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "f16b31fde63a516db04cb44feaa7c27b"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "be09013f423c588eae9c06da9ddf290f"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "abeca90ba22d5c32a34ee907cedf3192"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "bb67047ddad158ba98876a6a87d02e97"}, "Sensor5": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "40494cb5826554929f5ecadd5b9173fd"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "16a957200f5c51f89824bbb76a23b9c0"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "699c4db2439f51af8465e823687018b8"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "01c4160d39af5db59c66db844646195e"}, "Sensor6": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "06a38b6b4784545bb637279e96d48eb5"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "fdae9bb9a3a45b4680450f0347cf6d66"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "304c181c76d55c3abe75382a935c7bde"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "cff12c30bde957798daaa3a91758b48b"}, "Sensor7": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "6ed46315325d540eb95c86ec61eef8e4"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "9221a5289157538b9dcaa0d961c335fa"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "0ad1d79dcce65c00ac48421b5b54ca0e"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "44459df1f25f5d43a07b00f2bad65ef5"}, "Sensor8": {"children": {"Current": {"datatype": "float", "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", "type": "sensor", "unit": "A", "uuid": "96de3c3b036c50c2978ab2aa490d4d9e"}, "Lambda": {"datatype": "float", "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", "type": "sensor", "uuid": "c56db1195fa3519ab6718ab57d2cd543"}, "Voltage": {"datatype": "float", "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", "type": "sensor", "unit": "V", "uuid": "ab7d6c739f025782bba640e58123f0c8"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "b8865e72055d52a086f6935d5c188cc1"}}, "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", "type": "branch", "uuid": "a439f2bc16575318afe20d0bc6a8cacf"}, "OBDStandards": {"datatype": "uint8", "description": "PID 1C - OBD standards this vehicle conforms to", "type": "attribute", "uuid": "1aa8d7d055cf5a29a31b04a12124f673"}, "OilTemperature": {"datatype": "float", "description": "PID 5C - Engine oil temperature", "type": "sensor", "unit": "celsius", "uuid": "ef3dfc11085d5077b363b1a4e8e4a84e"}, "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", "type": "sensor", "uuid": "0a9ba3f0a9b256d78bafd62ee8ce73cd"}, "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]", "type": "sensor", "uuid": "41d3377813d651aa9b9344ba9fd2f880"}, "PidsA": {"datatype": "uint32", "description": "PID 00 - Bit array of the supported pids 01 to 20", "type": "sensor", "uuid": "ba1c1b9034955d2d97249c3b4516beef"}, "PidsB": {"datatype": "uint32", "description": "PID 20 - Bit array of the supported pids 21 to 40", "type": "sensor", "uuid": "00193c560a0a5525baa45681e07b50f6"}, "PidsC": {"datatype": "uint32", "description": "PID 40 - Bit array of the supported pids 41 to 60", "type": "sensor", "uuid": "7c3a3f0ecc5d593aa996892668afe4b0"}, "RelativeAcceleratorPosition": {"datatype": "float", "description": "PID 5A - Relative accelerator pedal position", "type": "sensor", "unit": "percent", "uuid": "e25de9aacad3549285b4fb234f10be8f"}, "RelativeThrottlePosition": {"datatype": "float", "description": "PID 45 - Relative throttle position", "type": "sensor", "unit": "percent", "uuid": "54ecf7dd671c5053aac4bc1bb061d64b"}, "RunTime": {"datatype": "float", "description": "PID 1F - Engine run time", "type": "sensor", "unit": "s", "uuid": "acf70773752256d1a227ab48257624b5"}, "RunTimeMIL": {"datatype": "float", "description": "PID 4D - Run time with MIL on", "type": "sensor", "unit": "min", "uuid": "555604a484535f60adf8894a6bd895b6"}, "ShortTermFuelTrim1": {"datatype": "float", "description": "PID 06 - Short Term (immediate) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "569c983874335fb392d4e82a002654cb"}, "ShortTermFuelTrim2": {"datatype": "float", "description": "PID 08 - Short Term (immediate) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", "type": "sensor", "unit": "percent", "uuid": "53a39620773a523a8182169027169ec2"}, "ShortTermO2Trim1": {"datatype": "float", "description": "PID 55 (byte A) - Short term secondary O2 trim - Bank 1", "type": "sensor", "unit": "percent", "uuid": "be7ed33a854557ba802da0c51f9f4564"}, "ShortTermO2Trim2": {"datatype": "float", "description": "PID 57 (byte A) - Short term secondary O2 trim - Bank 2", "type": "sensor", "unit": "percent", "uuid": "c8b962f8990e51d294621408ceaa21d9"}, "ShortTermO2Trim3": {"datatype": "float", "description": "PID 55 (byte B) - Short term secondary O2 trim - Bank 3", "type": "sensor", "unit": "percent", "uuid": "af58212df970568b9edcc5e58fa36f8d"}, "ShortTermO2Trim4": {"datatype": "float", "description": "PID 57 (byte B) - Short term secondary O2 trim - Bank 4", "type": "sensor", "unit": "percent", "uuid": "8ef0516c0c965fd6aecbacd6b9120a5b"}, "Speed": {"datatype": "float", "description": "PID 0D - Vehicle speed", "type": "sensor", "unit": "km/h", "uuid": "91ed0bb43eb054759813cd784b071764"}, "Status": {"children": {"DTCCount": {"datatype": "uint8", "description": "Number of sensor Trouble Codes (DTC)", "type": "sensor", "uuid": "4afdf65e788c5f69baf682597e69fb67"}, "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": "7ffd71caac8e5bd18f93366afdfe534d"}, "IsMILOn": {"datatype": "boolean", "description": "Malfunction Indicator Light (MIL) False = Off, True = On", "type": "sensor", "uuid": "8744bcb275205630932320b66185502c"}}, "description": "PID 01 - OBD status", "type": "branch", "uuid": "474f58e593ee5bfebbb9c6ce4a453f96"}, "ThrottleActuator": {"datatype": "float", "description": "PID 4C - Commanded throttle actuator", "type": "sensor", "unit": "percent", "uuid": "49a19905a1005ee3abe0c0a84d7112d1"}, "ThrottlePosition": {"datatype": "float", "description": "PID 11 - Throttle position - 0 = closed throttle, 100 = open throttle", "type": "sensor", "unit": "percent", "uuid": "ec1d372020205bb4a846a014b33801e1"}, "ThrottlePositionB": {"datatype": "float", "description": "PID 47 - Absolute throttle position B", "type": "sensor", "unit": "percent", "uuid": "701712a565ed5bf8b6630487a7152c87"}, "ThrottlePositionC": {"datatype": "float", "description": "PID 48 - Absolute throttle position C", "type": "sensor", "unit": "percent", "uuid": "06f162dc00a85f628f9d5d1bc952665c"}, "TimeSinceDTCCleared": {"datatype": "float", "description": "PID 4E - Time since trouble codes cleared", "type": "sensor", "unit": "min", "uuid": "66ea3984a2585dcdaaf6452eef835c0d"}, "TimingAdvance": {"datatype": "float", "description": "PID 0E - Time advance", "type": "sensor", "unit": "degrees", "uuid": "35533b7e327d5f839b17c932b630767c"}, "WarmupsSinceDTCClear": {"datatype": "uint8", "description": "PID 30 - Number of warm-ups since codes cleared", "type": "sensor", "uuid": "a63ba60721785fc591e3dd067c4dc2ae"}}, "description": "OBD data.", "type": "branch", "uuid": "7ad7c512ed5d52c8b31944d2d47a4bc3"}, "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", "uuid": "add77f60f7885e39a84baae200569077"}, "Powertrain": {"children": {"AccumulatedBrakingEnergy": {"datatype": "float", "description": "The accumulated energy from regenerative braking over lifetime.", "type": "sensor", "unit": "kWh", "uuid": "0dd466d28d3d5ad094f2015adafb91a5"}, "CombustionEngine": {"children": {"AspirationType": {"allowed": ["UNKNOWN", "NATURAL", "SUPERCHARGER", "TURBOCHARGER"], "datatype": "string", "default": "UNKNOWN", "description": "Type of aspiration (natural, turbocharger, supercharger etc).", "type": "attribute", "uuid": "3ca6a8ff30275c20a9d8d6d6829574eb"}, "Bore": {"datatype": "float", "description": "Bore in millimetres.", "type": "attribute", "unit": "mm", "uuid": "1618fb16035b5464961570cc1afd934e"}, "CompressionRatio": {"datatype": "string", "description": "Engine compression ratio, specified in the format 'X:1', e.g. '9.2:1'.", "type": "attribute", "uuid": "ead42922511051a0a0a1b634781f3c09"}, "Configuration": {"allowed": ["UNKNOWN", "STRAIGHT", "V", "BOXER", "W", "ROTARY", "RADIAL", "SQUARE", "H", "U", "OPPOSED", "X"], "datatype": "string", "default": "UNKNOWN", "description": "Engine configuration.", "type": "attribute", "uuid": "586be4567fe059ee9e6cf42901c2e773"}, "DieselExhaustFluid": {"children": {"Capacity": {"datatype": "float", "description": "Capacity in liters of the Diesel Exhaust Fluid Tank.", "type": "attribute", "unit": "l", "uuid": "863c16ad452b5cf5b7a37f58bdda14c3"}, "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"}, "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", "uuid": "f5b0269b58ff5a8e8399f6d96963a3b6"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters of the Diesel Exhaust Fluid present in the vehicle.", "type": "sensor", "unit": "m", "uuid": "124afbee975c5a67b316413f7b805eac"}}, "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"}, "DieselParticulateFilter": {"children": {"DeltaPressure": {"datatype": "float", "description": "Delta Pressure of Diesel Particulate Filter.", "type": "sensor", "unit": "Pa", "uuid": "a6f476775c60531b93acb835e0bc6ab6"}, "InletTemperature": {"datatype": "float", "description": "Inlet temperature of Diesel Particulate Filter.", "type": "sensor", "unit": "celsius", "uuid": "70e90d202d3054bd967e67dce95c8ef2"}, "OutletTemperature": {"datatype": "float", "description": "Outlet temperature of Diesel Particulate Filter.", "type": "sensor", "unit": "celsius", "uuid": "e2b7f9d97bec5c0d94ade71a5e2f6518"}}, "description": "Diesel Particulate Filter signals.", "type": "branch", "uuid": "eeddd99ad6475b1a92b9ec7bd7cefdbd"}, "Displacement": {"datatype": "uint16", "description": "Displacement in cubic centimetres.", "type": "attribute", "unit": "cm^3", "uuid": "94dbd928847150ab842c00fa5caaf272"}, "ECT": {"datatype": "int16", "description": "Engine coolant temperature.", "type": "sensor", "unit": "celsius", "uuid": "fff3cad23cac5b189a1a075c3ab562cd"}, "EOP": {"datatype": "uint16", "description": "Engine oil pressure.", "type": "sensor", "unit": "kPa", "uuid": "76c7039dc7975ec3a003f0f4a04895ec"}, "EOT": {"datatype": "int16", "description": "Engine oil temperature.", "type": "sensor", "unit": "celsius", "uuid": "eae6f5eae04f530e80f6b024f95b767d"}, "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"}, "EngineCoolantCapacity": {"datatype": "float", "description": "Engine coolant capacity in liters.", "type": "attribute", "unit": "l", "uuid": "90b5b64808ea5f4fa2798d96143b0d60"}, "EngineHours": {"datatype": "float", "description": "Accumulated time during engine lifetime with 'engine speed (rpm) > 0'.", "type": "sensor", "unit": "h", "uuid": "a23a62e24f58514d961890f53262e4e0"}, "EngineOilCapacity": {"datatype": "float", "description": "Engine oil capacity in liters.", "type": "attribute", "unit": "l", "uuid": "2ca7af6facb55a13885989faa9bc6ca7"}, "EngineOilLevel": {"allowed": ["CRITICALLY_LOW", "LOW", "NORMAL", "HIGH", "CRITICALLY_HIGH"], "datatype": "string", "description": "Engine oil level.", "type": "sensor", "uuid": "e3813f59e94b509eb865fd97255a8a4f"}, "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", "uuid": "6caa3d7e669c5cc6aecd4a6be9a302d4"}, "IsRunning": {"datatype": "boolean", "description": "Engine Running. True if engine is rotating (Speed > 0).", "type": "sensor", "uuid": "57652c27679757398c44d56af7a044d3"}, "MAF": {"datatype": "uint16", "description": "Grams of air drawn into engine per second.", "type": "sensor", "unit": "g/s", "uuid": "1e222ed8c48b5dcea60e43ac8af7d6df"}, "MAP": {"datatype": "uint16", "description": "Manifold absolute pressure possibly boosted using forced induction.", "type": "sensor", "unit": "kPa", "uuid": "28d4354fa34056369acb857aa7cc76ac"}, "MaxPower": {"datatype": "uint16", "default": 0, "description": "Peak power, in kilowatts, that engine can generate.", "type": "attribute", "unit": "kW", "uuid": "81fbdd5e90f557a38b96578a38dc137d"}, "MaxTorque": {"datatype": "uint16", "default": 0, "description": "Peak torque, in newton meter, that the engine can generate.", "type": "attribute", "unit": "Nm", "uuid": "471cd478c1e8597f8e97c85b4e4ebe26"}, "NumberOfCylinders": {"datatype": "uint16", "description": "Number of cylinders.", "type": "attribute", "uuid": "b2cd342c218257e88d214cdb511df82b"}, "NumberOfValvesPerCylinder": {"datatype": "uint16", "description": "Number of valves per cylinder.", "type": "attribute", "uuid": "44633204726e561ca21beff31f3fef80"}, "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"}, "Power": {"datatype": "uint16", "description": "Current engine power output. Shall be reported as 0 during engine breaking.", "type": "sensor", "unit": "kW", "uuid": "20e8b5d2187758c2848ed421248c180d"}, "Speed": {"datatype": "uint16", "description": "Engine speed measured as rotations per minute.", "type": "sensor", "unit": "rpm", "uuid": "557ce24c5a4d51cc825059c948ac9e29"}, "StrokeLength": {"datatype": "float", "description": "Stroke length in millimetres.", "type": "attribute", "unit": "mm", "uuid": "1bdfdab7904d51ed93e101b84ea54ddf"}, "TPS": {"datatype": "uint8", "description": "Current throttle position.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "1ddb77860de558b4876ffb399a442bda"}, "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.", "type": "sensor", "unit": "Nm", "uuid": "b81f504bdb57513299ae6e9402ec7bcd"}}, "description": "Engine-specific data, stopping at the bell housing.", "type": "branch", "uuid": "159e2e3e75f0590f95b4d2f6cfae54b5"}, "ElectricMotor": {"children": {"CoolantTemperature": {"datatype": "int16", "description": "Motor coolant temperature (if applicable).", "type": "sensor", "unit": "celsius", "uuid": "3c5ea8c7700956518f2ae7a2a0f34f1c"}, "EngineCode": {"datatype": "string", "description": "Engine code designation, as specified by vehicle manufacturer.", "type": "attribute", "uuid": "e4102a5142ed501495e5edafd3d36dfb"}, "MaxPower": {"datatype": "uint16", "default": 0, "description": "Peak power, in kilowatts, that motor(s) can generate.", "type": "attribute", "unit": "kW", "uuid": "825ec7911ee958abb199b9f7903df3a6"}, "MaxRegenPower": {"datatype": "uint16", "default": 0, "description": "Peak regen/brake power, in kilowatts, that motor(s) can generate.", "type": "attribute", "unit": "kW", "uuid": "7f2cb2650ba95485b7156ffe76e27366"}, "MaxRegenTorque": {"datatype": "uint16", "default": 0, "description": "Peak regen/brake torque, in newton meter, that the motor(s) can generate.", "type": "attribute", "unit": "Nm", "uuid": "0e5190c2517b55aa80fcb9bf698e02d6"}, "MaxTorque": {"datatype": "uint16", "default": 0, "description": "Peak power, in newton meter, that the motor(s) can generate.", "type": "attribute", "unit": "Nm", "uuid": "cf31eabcde5151f589e9b0f7a6090512"}, "Power": {"datatype": "int16", "description": "Current motor power output. Negative values indicate regen mode.", "type": "sensor", "unit": "kW", "uuid": "46b86286fba059349a733fed9a0e3232"}, "Speed": {"datatype": "int32", "description": "Motor rotational speed measured as rotations per minute. Negative values indicate reverse driving mode.", "type": "sensor", "unit": "rpm", "uuid": "ca961aa6ca435095a89f9d404a5d849d"}, "Temperature": {"datatype": "int16", "description": "Motor temperature.", "type": "sensor", "unit": "celsius", "uuid": "1b7c15e5341052139995bfacea2c05b2"}, "Torque": {"datatype": "int16", "description": "Current motor torque. Negative values indicate regen mode.", "type": "sensor", "unit": "Nm", "uuid": "aceffe768ddf5b828fff0975349d2433"}}, "description": "Electric Motor specific data.", "type": "branch", "uuid": "1ade64f6b0d05f6c9340e7a667555ae2"}, "FuelSystem": {"children": {"AverageConsumption": {"datatype": "float", "description": "Average consumption in liters per 100 km.", "min": 0, "type": "sensor", "unit": "l/100km", "uuid": "e2252108125a54dcab34e1bad0fe8bdc"}, "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", "uuid": "adf0a40964ff556f92b10275ad918883"}, "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", "uuid": "f0f72012f5e453c1935ff8c3a5aff696"}, "InstantConsumption": {"datatype": "float", "description": "Current consumption in liters per 100 km.", "min": 0, "type": "sensor", "unit": "l/100km", "uuid": "cf65767ec8ad56ffadfdccd831e4b562"}, "IsEngineStopStartEnabled": {"datatype": "boolean", "description": "Indicates whether eco start stop is currently enabled.", "type": "sensor", "uuid": "176eed5bb0da582a9ee56f1c70e12075"}, "IsFuelLevelLow": {"datatype": "boolean", "description": "Indicates that the fuel level is low (e.g. <50km range).", "type": "sensor", "uuid": "65f18ee3b04f5d4c8bb76083227dd9fe"}, "Level": {"datatype": "uint8", "description": "Level in fuel tank as percent of capacity. 0 = empty. 100 = full.", "max": 100, "min": 0, "type": "sensor", "unit": "percent", "uuid": "902bd295a662573088291e8b6a6b7943"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using only liquid fuel.", "type": "sensor", "unit": "m", "uuid": "c5a0dbe5e754553897f0aed0069af57a"}, "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", "uuid": "7fd3bf2ef0c650e69ff2037875ec59ee"}, "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", "uuid": "80edc3002aa25097aba6455fe459fa6c"}, "TankCapacity": {"datatype": "float", "description": "Capacity of the fuel tank in liters.", "type": "attribute", "unit": "l", "uuid": "362643b866c55d5386fdbdf383464e90"}, "TimeSinceStart": {"datatype": "uint32", "deprecation": "V3.1 replaced by Vehicle.StartTime and Vehicle.TripDuration", "description": "Time in seconds elapsed since start of current trip.", "type": "sensor", "unit": "s", "uuid": "1a8dbc5107b3522fad852e63aa85aef9"}}, "description": "Fuel system data.", "type": "branch", "uuid": "dbc194a7f97d5a56bc8942c17c2db22e"}, "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", "uuid": "d740b02e2fb35c07bf88a6e5ebe2f6e4"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using all energy sources available in the vehicle.", "type": "sensor", "unit": "m", "uuid": "ea4b6de772d65d20b1fa611f997aa7b8"}, "TractionBattery": {"children": {"AccumulatedChargedEnergy": {"datatype": "float", "description": "The accumulated energy delivered to the battery during charging over lifetime of the battery.", "type": "sensor", "unit": "kWh", "uuid": "739d06021d795da0877bc0ef3c107de1"}, "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"}, "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"}, "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"}, "Charging": {"children": {"ChargeCurrent": {"children": {"DC": {"datatype": "float", "description": "Current DC charging current at inlet. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "44204d7ae6fd5f8e954d0670a739bdf2"}, "Phase1": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 1. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "400dca50fcde52a6bb605d7e86f49776"}, "Phase2": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 2. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "32cb24d1c495503a9087d6f55997cf57"}, "Phase3": {"datatype": "float", "description": "Current AC charging current (rms) at inlet for Phase 3. Negative if returning energy to grid.", "type": "sensor", "unit": "A", "uuid": "55fb7fb7ff4a5df9b6a3af435eac868e"}}, "description": "Current charging current.", "type": "branch", "uuid": "94739cf563735b438878ac0f85601f27"}, "ChargeLimit": {"datatype": "uint8", "description": "Target charge limit (state of charge) for battery.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "62360a4ed1095275a7052d65112aaef1"}, "ChargePlugType": {"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 inlets. 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.", "datatype": "string[]", "description": "Type of charge plug (charging inlet) available on the vehicle. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", "type": "attribute", "uuid": "4c56357a6f1d586395215a9beeb26d91"}, "ChargePortFlap": {"allowed": ["OPEN", "CLOSED"], "datatype": "string", "description": "Status of the charge port cover, can potentially be controlled manually.", "type": "actuator", "uuid": "71bdd2145bb55c3393df194bfc2e03e5"}, "ChargeRate": {"datatype": "float", "description": "Current charging rate, as in kilometers of range added per hour.", "type": "sensor", "unit": "km/h", "uuid": "a287cea3fdaa533180c8e349343a7851"}, "ChargeVoltage": {"children": {"DC": {"datatype": "float", "description": "Current DC charging voltage at charging inlet.", "type": "sensor", "unit": "V", "uuid": "701c21d1a4815b35ba061415789ec911"}, "Phase1": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 1.", "type": "sensor", "unit": "V", "uuid": "15991c8316585816815d6f4fb6b06776"}, "Phase2": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 2.", "type": "sensor", "unit": "V", "uuid": "6c0dcf98169d5a5190736a6dd81291a4"}, "Phase3": {"datatype": "float", "description": "Current AC charging voltage (rms) at inlet for Phase 3.", "type": "sensor", "unit": "V", "uuid": "1ab06b48231e54e2ac27e543508c84f0"}}, "description": "Current charging voltage, as measured at the charging inlet.", "type": "branch", "uuid": "7170151d653b52c6bb5e75cb0a14d1c5"}, "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", "uuid": "d28244c9e3365899954bd3e38ef46bb9"}, "IsChargingCableConnected": {"datatype": "boolean", "description": "Indicates if a charging cable is physically connected to the vehicle or not.", "type": "sensor", "uuid": "a1c8e2f662b95a54a9933a1b163fff84"}, "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"}, "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"}, "MaximumChargingCurrent": {"children": {"DC": {"datatype": "float", "description": "Maximum DC charging current at inlet that can be accepted by the system.", "type": "sensor", "unit": "A", "uuid": "5a70acfd3c8959898b43738151ab36e1"}, "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"}, "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"}, "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"}}, "description": "Maximum charging current that can be accepted by the system, as measured at the charging inlet.", "type": "branch", "uuid": "e3f2e57e7a395d9ca9931d429e540a34"}, "Mode": {"allowed": ["MANUAL", "TIMER", "GRID", "PROFILE"], "comment": "The mechanism to provide a profile to the vehicle is currently not covered by VSS.", "datatype": "string", "description": "Control of the charge process. MANUAL means manually initiated (plug-in event, companion app, etc). TIMER means timer-based. GRID means grid-controlled (eg ISO 15118). PROFILE means controlled by profile download to vehicle.", "type": "actuator", "uuid": "1e4be3280b265873945531f6f6d0ec6b"}, "PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside the AC/DC converter.", "type": "sensor", "unit": "W", "uuid": "88f40bbeb80b5dfb97ceba13269665c5"}, "StartStopCharging": {"allowed": ["START", "STOP"], "datatype": "string", "description": "Start or stop the charging process.", "type": "actuator", "uuid": "80506d3e9a2557c2b52f74a50d89593f"}, "Temperature": {"datatype": "float", "description": "Current temperature of AC/DC converter converting grid voltage to battery voltage.", "type": "sensor", "unit": "celsius", "uuid": "c3c0ef3a41db5df1bab659803adbc7ba"}, "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", "uuid": "c6439c2e068652b08383b9654e2e784a"}, "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", "uuid": "b09fb52261735977af275dda1904a7a1"}, "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", "uuid": "c08dcaeda02b5e26aacd7e2542f0fc90"}}, "description": "Properties related to timing of battery charging sessions.", "type": "branch", "uuid": "cd5b57ada627510e83f90832efed9d5a"}}, "description": "Properties related to battery charging.", "type": "branch", "uuid": "49b9ef0c8b145a36afdf17d0cb44131b"}, "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"}, "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"}, "CurrentVoltage": {"datatype": "float", "description": "Current Voltage of the battery.", "type": "sensor", "unit": "V", "uuid": "7b54ea22ee7d5f559da552aefcc07222"}, "DCDC": {"children": {"PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside DC/DC converter.", "type": "sensor", "unit": "W", "uuid": "f29e37087cdf57ca998188c7b945a77b"}, "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"}}, "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"}, "GrossCapacity": {"datatype": "uint16", "description": "Gross capacity of the battery.", "type": "attribute", "unit": "kWh", "uuid": "5460530488435dc8bfa1298bf47a993d"}, "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"}, "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"}, "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"}, "MaxVoltage": {"datatype": "uint16", "description": "Max allowed voltage of the battery, e.g. during charging.", "type": "attribute", "unit": "V", "uuid": "a81264a0ef0c55d288671cfc62c4add5"}, "NetCapacity": {"datatype": "uint16", "description": "Total net capacity of the battery considering aging.", "type": "sensor", "unit": "kWh", "uuid": "9c68fe42cb81501eb6349f8c9b0b6899"}, "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": "3eccae5633185b998d5bdb6ea33cd926"}, "PowerLoss": {"datatype": "float", "description": "Electrical energy lost by power dissipation to heat inside the battery.", "type": "sensor", "unit": "W", "uuid": "880082aafe025cb3a5776b623f9a48b5"}, "ProductionDate": {"datatype": "string", "description": "Production date of battery in ISO8601 format, e.g. YYYY-MM-DD.", "type": "attribute", "uuid": "c9509ba4d76c56d9a8c1d6e2280ae02f"}, "Range": {"datatype": "uint32", "description": "Remaining range in meters using only battery.", "type": "sensor", "unit": "m", "uuid": "c0376a425e5d578d9d86ae0dc2ad9778"}, "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", "uuid": "2e647ca3a1ff5e52af137aab240642da"}, "Displayed": {"datatype": "float", "description": "State of charge displayed to the customer.", "max": 100.0, "min": 0, "type": "sensor", "unit": "percent", "uuid": "1bfcc228293b5512aafe2508ab0500d2"}}, "description": "Information on the state of charge of the vehicle's high voltage battery.", "type": "branch", "uuid": "26bae2ce7c4d5e2a951915ef2f5d8b7d"}, "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", "uuid": "4d982c47f3245048bcfec1190973a3ed"}, "Temperature": {"children": {"Average": {"datatype": "float", "description": "Current average temperature of the battery cells.", "type": "sensor", "unit": "celsius", "uuid": "ae28e502137f56b9a037ed9b32bc04e1"}, "Max": {"datatype": "float", "description": "Current maximum temperature of the battery cells, i.e. temperature of the hottest cell.", "type": "sensor", "unit": "celsius", "uuid": "07aa7c8ba1d355398d7469c2b337152a"}, "Min": {"datatype": "float", "description": "Current minimum temperature of the battery cells, i.e. temperature of the coldest cell.", "type": "sensor", "unit": "celsius", "uuid": "4e3f630fefa7558fa302b175bc7eb5c7"}}, "description": "Temperature Information for the battery pack.", "type": "branch", "uuid": "1cfbcf8c152959dcb3eb2c54fc42e623"}}, "description": "Battery Management data.", "type": "branch", "uuid": "1a2515d1a8875d86873431194ade2b50"}, "Transmission": {"children": {"ClutchEngagement": {"datatype": "float", "description": "Clutch engagement. 0% = Clutch fully disengaged. 100% = Clutch fully engaged.", "max": 100, "min": 0, "type": "actuator", "unit": "percent", "uuid": "2890bd4a2b6a56c19b62d7bd95151fc6"}, "ClutchWear": {"datatype": "uint8", "description": "Clutch wear as a percent. 0 = no wear. 100 = worn.", "max": 100, "type": "sensor", "unit": "percent", "uuid": "c113405ad165571a9d53ae4cf55dc929"}, "CurrentGear": {"datatype": "int8", "description": "The current gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse.", "type": "sensor", "uuid": "cd0ba1d772565e16bff46cbd5c9361da"}, "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", "uuid": "5149afe37fbd5c24847b5820821abc02"}, "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", "uuid": "197c939bd1405613b80179becec6db83"}, "DriveType": {"allowed": ["UNKNOWN", "FORWARD_WHEEL_DRIVE", "REAR_WHEEL_DRIVE", "ALL_WHEEL_DRIVE"], "datatype": "string", "default": "UNKNOWN", "description": "Drive type.", "type": "attribute", "uuid": "0e480b76fb2d5f8bb08fb586f90ee6ae"}, "GearChangeMode": {"allowed": ["MANUAL", "AUTOMATIC"], "datatype": "string", "description": "Is the gearbox in automatic or manual (paddle) mode.", "type": "actuator", "uuid": "ff3c69378c2f598286e51f7dac13adaa"}, "GearCount": {"datatype": "int8", "default": 0, "description": "Number of forward gears in the transmission. -1 = CVT.", "type": "attribute", "uuid": "84293f40d3ed57f1a08992d97b1a9ccd"}, "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"}, "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"}, "IsParkLockEngaged": {"datatype": "boolean", "description": "Is the transmission park lock engaged or not. False = Disengaged. True = Engaged.", "type": "actuator", "uuid": "1578da3f925e54ac9df978abd0195408"}, "PerformanceMode": {"allowed": ["NORMAL", "SPORT", "ECONOMY", "SNOW", "RAIN"], "datatype": "string", "description": "Current gearbox performance mode.", "type": "actuator", "uuid": "6b5cfd85cb595e559503ccf993be04dd"}, "SelectedGear": {"datatype": "int8", "description": "The selected gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse, 126=Park, 127=Drive.", "type": "actuator", "uuid": "490fd99b9d5f562eb180c19e8cef5e12"}, "Temperature": {"datatype": "int16", "description": "The current gearbox temperature.", "type": "sensor", "unit": "celsius", "uuid": "4f5e48c3511b5e1abff11aa7ec62dd18"}, "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", "uuid": "d3bcaaf973d3512287817049db9bd677"}, "TravelledDistance": {"datatype": "float", "description": "Odometer reading, total distance travelled during the lifetime of the transmission.", "type": "sensor", "unit": "km", "uuid": "b9dd66f20c7f5b12a046766b94dc20c1"}, "Type": {"allowed": ["UNKNOWN", "SEQUENTIAL", "H", "AUTOMATIC", "DSG", "CVT"], "datatype": "string", "default": "UNKNOWN", "description": "Transmission type.", "type": "attribute", "uuid": "f83b9e5464d85a0288fcb32c164d3c63"}}, "description": "Transmission-specific data, stopping at the drive shafts.", "type": "branch", "uuid": "6b71e284b63a527caa6296a66e9fdd0c"}, "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", "uuid": "2a000da4204658a4a6e3ecd5176bdfba"}}, "description": "Powertrain data for battery management, etc.", "type": "branch", "uuid": "12f35ec7bd1c58d1a329565ce3d053d5"}, "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"}, "Service": {"children": {"DistanceToService": {"datatype": "float", "description": "Remaining distance to service (of any kind). Negative values indicate service overdue.", "type": "sensor", "unit": "km", "uuid": "6f4347ce149759819572c8c3a17e8d93"}, "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"}, "TimeToService": {"datatype": "int32", "description": "Remaining time to service (of any kind). Negative values indicate service overdue.", "type": "sensor", "unit": "s", "uuid": "c968be91a5685fa9ae30b84a0f91934e"}}, "description": "Service data.", "type": "branch", "uuid": "b6463772705b56a7a993e23601bd3d47"}, "Speed": {"datatype": "float", "description": "Vehicle speed.", "type": "sensor", "unit": "km/h", "uuid": "efe50798638d55fab18ab7d43cc490e9"}, "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", "uuid": "3790b5f4513c5a3d90a0503a965bbbe0"}, "Trailer": {"children": {"IsConnected": {"datatype": "boolean", "description": "Signal indicating if trailer is connected or not.", "type": "sensor", "uuid": "77f28ed03c125ac9a19d22e9436b0ec4"}}, "description": "Trailer signals.", "type": "branch", "uuid": "66206ee5c25a5817bef214c0c8ae8013"}, "TraveledDistance": {"datatype": "float", "description": "Odometer reading, total distance traveled during the lifetime of the vehicle.", "type": "sensor", "unit": "km", "uuid": "32c3c3585f105d8aa5566ef5a038a741"}, "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", "description": "Distance traveled since start of current trip.", "type": "sensor", "unit": "km", "uuid": "cfc6efd2793152e487f9fe3f4e03fd5d"}, "TravelledDistance": {"datatype": "float", "deprecation": "V3.1 moved to Vehicle.TraveledDistance", "description": "Odometer reading, total distance traveled during the lifetime of the vehicle.", "type": "sensor", "unit": "km", "uuid": "90be9d7b0ac15b75a83027ea3b73b65b"}, "TripDuration": {"comment": "This signal is not assumed to be continuously updated, but instead set to 0 when a trip starts and set to the 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", "uuid": "84b9558ad33555389791b57d505f27a8"}, "TripMeterReading": {"comment": "The trip meter is an odometer that can be manually reset by the driver", "datatype": "float", "description": "Trip meter reading.", "type": "actuator", "unit": "km", "uuid": "81f51ebfe29c591190171d7b96e1c948"}, "VehicleIdentification": {"children": {"AcrissCode": {"datatype": "string", "description": "The ACRISS Car Classification Code is a code used by many car rental companies.", "type": "attribute", "uuid": "115a821e8e0b57f08e4b9e61e85d7156"}, "BodyType": {"datatype": "string", "description": "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.).", "type": "attribute", "uuid": "e6d5c71ecec95d68b0b59bb7e93af759"}, "Brand": {"datatype": "string", "description": "Vehicle brand or manufacturer.", "type": "attribute", "uuid": "19fd645ff5385767bcdbf5dd4313483f"}, "DateVehicleFirstRegistered": {"datatype": "string", "description": "The date in ISO 8601 format of the first registration of the vehicle with the respective public authorities.", "type": "attribute", "uuid": "046f47acf62e50bd863d6568d73743d7"}, "KnownVehicleDamages": {"datatype": "string", "description": "A textual description of known damages, both repaired and unrepaired.", "type": "attribute", "uuid": "e87f352cddb15e94b340506b17207586"}, "MeetsEmissionStandard": {"datatype": "string", "description": "Indicates that the vehicle meets the respective emission standard.", "type": "attribute", "uuid": "d75dedbfadca54d8b6c7261c37ad5d83"}, "Model": {"datatype": "string", "description": "Vehicle model.", "type": "attribute", "uuid": "dd3d3b72e6a85b3695ba25f829255403"}, "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"}, "ProductionDate": {"datatype": "string", "description": "The date in ISO 8601 format of production of the item, e.g. vehicle.", "type": "attribute", "uuid": "5683877c4bac504d915b268c9476c190"}, "PurchaseDate": {"datatype": "string", "description": "The date in ISO 8601 format of the item e.g. vehicle was purchased by the current owner.", "type": "attribute", "uuid": "31302f8b57e85c4197afda3e3201fce8"}, "VIN": {"datatype": "string", "description": "17-character Vehicle Identification Number (VIN) as defined by ISO 3779.", "type": "attribute", "uuid": "6f0b6fa8c34f589baa92e565bc9df5bd"}, "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"}, "VehicleInteriorColor": {"datatype": "string", "description": "The color or color combination of the interior of the vehicle.", "type": "attribute", "uuid": "67a8b069b8bf573993d51959c24f04e2"}, "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"}, "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", "uuid": "c71b63f83dea536bac58e62bbe537f11"}, "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"}, "VehicleSpecialUsage": {"datatype": "string", "description": "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school.", "type": "attribute", "uuid": "7e6e8a48f54a5549a8f6af8f1dc5eb8d"}, "WMI": {"datatype": "string", "description": "3-character World Manufacturer Identification (WMI) as defined by ISO 3780.", "type": "attribute", "uuid": "e7c86defbcd554a79f90ba85de58e133"}, "Year": {"datatype": "uint16", "description": "Model year of the vehicle.", "type": "attribute", "uuid": "9a76b0aca8e45f6fb33dbaf5b976b8b5"}}, "description": "Attributes that identify a vehicle.", "type": "branch", "uuid": "c33861c3e9125208b05f23fe922bf08e"}, "VersionVSS": {"children": {"Label": {"datatype": "string", "description": "Label to further describe the version.", "type": "attribute", "uuid": "7c92cd50d24b5662922b27cb9a327e53"}, "Major": {"datatype": "uint32", "default": 3, "description": "Supported Version of VSS - Major version.", "type": "attribute", "uuid": "5edf1a338c975cbb84d4ce3cfe1aa4b4"}, "Minor": {"datatype": "uint32", "default": 1, "description": "Supported Version of VSS - Minor version.", "type": "attribute", "uuid": "6e70a598dbc7534c96c58c18e9888cfd"}, "Patch": {"datatype": "uint32", "default": 1, "description": "Supported Version of VSS - Patch version.", "type": "attribute", "uuid": "69858f224af459338b9bfbff436dda45"}}, "description": "Supported Version of VSS.", "type": "branch", "uuid": "9a687e56f1305eedb20f6a021ea58f48"}, "Width": {"datatype": "uint16", "default": 0, "description": "Overall vehicle width.", "type": "attribute", "unit": "mm", "uuid": "b4aabe144e3259adb1459a2e25fec9bd"}}, "description": "High-level vehicle data.", "type": "branch", "uuid": "ccc825f94139544dbb5f4bfd033bece6"}} \ No newline at end of file From 91d1a961596babae19d17a716d28a1bd9e78d7dd Mon Sep 17 00:00:00 2001 From: Andre Weber Date: Tue, 5 Mar 2024 09:17:45 +0100 Subject: [PATCH 4/6] chore: Remove Redundant Vss Specification File --- vss/vss_rel_4.0.json | 8844 ------------------------------------------ 1 file changed, 8844 deletions(-) delete mode 100644 vss/vss_rel_4.0.json diff --git a/vss/vss_rel_4.0.json b/vss/vss_rel_4.0.json deleted file mode 100644 index 161c35d8..00000000 --- a/vss/vss_rel_4.0.json +++ /dev/null @@ -1,8844 +0,0 @@ -{ - "Vehicle": { - "children": { - "ADAS": { - "children": { - "ABS": { - "children": { - "IsEnabled": { - "datatype": "boolean", - "description": "Indicates if ABS is enabled. True = Enabled. False = Disabled.", - "type": "actuator", - "uuid": "cad374fbfdc65df9b777508f04d5b073" - }, - "IsEngaged": { - "datatype": "boolean", - "description": "Indicates if ABS is currently regulating brake pressure. True = Engaged. False = Not Engaged.", - "type": "sensor", - "uuid": "6dd21979a2225e31940dc2ece1aa9a04" - }, - "IsError": { - "datatype": "boolean", - "description": "Indicates if ABS incurred an error condition. True = Error. False = No Error.", - "type": "sensor", - "uuid": "13cfabb3122254128234f9a696f14678" - } - }, - "description": "Antilock Braking System signals.", - "type": "branch", - "uuid": "219270ef27c4531f874bbda63743b330" - }, - "ActiveAutonomyLevel": { - "allowed": [ - "SAE_0", - "SAE_1", - "SAE_2_DISENGAGING", - "SAE_2", - "SAE_3_DISENGAGING", - "SAE_3", - "SAE_4_DISENGAGING", - "SAE_4", - "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.", - "datatype": "string", - "description": "Indicates the currently active level of autonomy according to SAE J3016 taxonomy.", - "type": "sensor", - "uuid": "b101c6928fc55948b1cc485e568ecd8d" - }, - "CruiseControl": { - "children": { - "IsActive": { - "datatype": "boolean", - "description": "Indicates if cruise control system is active (i.e. actively controls speed). True = Active. False = Inactive.", - "type": "actuator", - "uuid": "78ab5ce923dc5aa1a6622bcb948e1561" - }, - "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" - }, - "IsError": { - "datatype": "boolean", - "description": "Indicates if cruise control system incurred an error condition. True = Error. False = No Error.", - "type": "sensor", - "uuid": "22923d4a36bc5192a08e40fe9e5ed458" - }, - "SpeedSet": { - "datatype": "float", - "description": "Set cruise control speed in kilometers per hour.", - "type": "actuator", - "unit": "km/h", - "uuid": "b3f3a53ccd825e4da5cb1226f94dc005" - } - }, - "description": "Signals from Cruise Control system.", - "type": "branch", - "uuid": "c4d751cf74f9576dbba3cc820991c1fb" - }, - "DMS": { - "children": { - "IsEnabled": { - "datatype": "boolean", - "description": "Indicates if DMS is enabled. True = Enabled. False = Disabled.", - "type": "actuator", - "uuid": "63e6d3803ce35fd79afc728c65295804" - }, - "IsError": { - "datatype": "boolean", - "description": "Indicates if DMS incurred an error condition. True = Error. False = No Error.", - "type": "sensor", - "uuid": "d5213c8cb5d5575994b2c8ee1ad8eccf" - }, - "IsWarning": { - "datatype": "boolean", - "description": "Indicates if DMS has registered a driver alert condition.", - "type": "sensor", - "uuid": "2c86cd0363cd55ffb175a9e07cc32e4d" - } - }, - "description": "Driver Monitoring System signals.", - "type": "branch", - "uuid": "1cd72c7fc7fe5269a93c9954f46a4f60" - }, - "EBA": { - "children": { - "IsEnabled": { - "datatype": "boolean", - "description": "Indicates if EBA is enabled. True = Enabled. False = Disabled.", - "type": "actuator", - "uuid": "3ae9171b69555fb08855054ab38e9b17" - }, - "IsEngaged": { - "datatype": "boolean", - "description": "Indicates if EBA is currently regulating brake pressure. True = Engaged. False = Not Engaged.", - "type": "sensor", - "uuid": "86360c44ead354d18af7ff14176151f6" - }, - "IsError": { - "datatype": "boolean", - "description": "Indicates if EBA incurred an error condition. True = Error. False = No Error.", - "type": "sensor", - "uuid": "bae0fe856398502ba4a09283867c6c81" - } - }, - "description": "Emergency Brake Assist (EBA) System signals.", - "type": "branch", - "uuid": "51ec0930d0af5b91b84a0775c6e87a97" - }, - "EBD": { - "children": { - "IsEnabled": { - "datatype": "boolean", - "description": "Indicates if EBD is enabled. True = Enabled. False = Disabled.", - "type": "actuator", - "uuid": "30f88d3e68575b67853b14ce5f7a08e5" - }, - "IsEngaged": { - "datatype": "boolean", - "description": "Indicates if EBD is currently regulating vehicle brakeforce distribution. True = Engaged. False = Not Engaged.", - "type": "sensor", - "uuid": "67aa2a598f635edda6eb944af99b06db" - }, - "IsError": { - "datatype": "boolean", - "description": "Indicates if EBD incurred an error condition. True = Error. False = No Error.", - "type": "sensor", - "uuid": "918157073be95015ae38913cd7a9796a" - } - }, - "description": "Electronic Brakeforce Distribution (EBD) System signals.", - "type": "branch", - "uuid": "3f4c74a588735b10ac9fe918d305cd5a" - }, - "ESC": { - "children": { - "IsEnabled": { - "datatype": "boolean", - "description": "Indicates if ESC is enabled. True = Enabled. False = Disabled.", - "type": "actuator", - "uuid": "3f4f39b8d8c05c97a6de685282ba74b7" - }, - "IsEngaged": { - "datatype": "boolean", - "description": "Indicates if ESC is currently regulating vehicle stability. True = Engaged. False = Not Engaged.", - "type": "sensor", - "uuid": "2088953a28385353a9d46b3a3dc11cac" - }, - "IsError": { - "datatype": "boolean", - "description": "Indicates if ESC incurred an error condition. True = Error. False = No Error.", - "type": "sensor", - "uuid": "6c237535654b5bc7a70f6a70c760b9d4" - }, - "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" - }, - "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", - "uuid": "634289f58b5d511ea9979f04a9d0f2ab" - }, - "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", - "uuid": "b0eb72430cd95bfbba0d187fcb6e2a62" - }, - "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", - "uuid": "ad0415a799575fcd8d1f49bed9a2baeb" - } - }, - "description": "Road friction values reported by the ESC system.", - "type": "branch", - "uuid": "71a32e4eb131532c82195508d93807ed" - } - }, - "description": "Electronic Stability Control System signals.", - "type": "branch", - "uuid": "636b4586ce7854b4b270a2f3b6c0af4f" - }, - "LaneDepartureDetection": { - "children": { - "IsEnabled": { - "datatype": "boolean", - "description": "Indicates if lane departure detection system is enabled. True = Enabled. False = Disabled.", - "type": "actuator", - "uuid": "c099ae97260f5c418977cd14631e95be" - }, - "IsError": { - "datatype": "boolean", - "description": "Indicates if lane departure system incurred an error condition. True = Error. False = No Error.", - "type": "sensor", - "uuid": "73b2fc4f6a4952e4b7886671450e7798" - }, - "IsWarning": { - "datatype": "boolean", - "description": "Indicates if lane departure detection registered a lane departure.", - "type": "sensor", - "uuid": "c32fcd1d56035cb08acfd380be224c6a" - } - }, - "description": "Signals from Lane Departure Detection System.", - "type": "branch", - "uuid": "e45f33fdcf245f11981b2f201ee8281a" - }, - "ObstacleDetection": { - "children": { - "IsEnabled": { - "datatype": "boolean", - "description": "Indicates if obstacle sensor system is enabled (i.e. monitoring for obstacles). True = Enabled. False = Disabled.", - "type": "actuator", - "uuid": "cc0cd497285e5034a1cccb25f02e9db9" - }, - "IsError": { - "datatype": "boolean", - "description": "Indicates if obstacle sensor system incurred an error condition. True = Error. False = No Error.", - "type": "sensor", - "uuid": "368b74e2468d5217925a478ed6e34f9f" - }, - "IsWarning": { - "datatype": "boolean", - "description": "Indicates if obstacle sensor system registered an obstacle.", - "type": "sensor", - "uuid": "b0b1eab51f135ffcb2a17a7603415fec" - } - }, - "description": "Signals form Obstacle Sensor System.", - "type": "branch", - "uuid": "e7b6d81631cc5ac584d027d4c1a66cb5" - }, - "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", - "uuid": "044ad42893e65993bfc439455fb08faa" - }, - "SupportedAutonomyLevel": { - "allowed": [ - "SAE_0", - "SAE_1", - "SAE_2", - "SAE_3", - "SAE_4", - "SAE_5" - ], - "datatype": "string", - "description": "Indicates the highest level of autonomy according to SAE J3016 taxonomy the vehicle is capable of.", - "type": "attribute", - "uuid": "020410189ab4517cb85ceda268b40f51" - }, - "TCS": { - "children": { - "IsEnabled": { - "datatype": "boolean", - "description": "Indicates if TCS is enabled. True = Enabled. False = Disabled.", - "type": "actuator", - "uuid": "1d2dda19b11758a19ba7c1d5cd2d7956" - }, - "IsEngaged": { - "datatype": "boolean", - "description": "Indicates if TCS is currently regulating traction. True = Engaged. False = Not Engaged.", - "type": "sensor", - "uuid": "b33d70009ad5589fbffe17fa7e827242" - }, - "IsError": { - "datatype": "boolean", - "description": "Indicates if TCS incurred an error condition. True = Error. False = No Error.", - "type": "sensor", - "uuid": "08f88723ba63558b8c804b8fe8e3f149" - } - }, - "description": "Traction Control System signals.", - "type": "branch", - "uuid": "0572e9f6b1aa5fb5b2f68086aff05073" - } - }, - "description": "All Advanced Driver Assist Systems data.", - "type": "branch", - "uuid": "14c2b2e1297b513197d320a5ce58f42e" - }, - "Acceleration": { - "children": { - "Lateral": { - "datatype": "float", - "description": "Vehicle acceleration in Y (lateral acceleration).", - "type": "sensor", - "unit": "m/s^2", - "uuid": "7522c5d6b7665b16a099643b2700e93c" - }, - "Longitudinal": { - "datatype": "float", - "description": "Vehicle acceleration in X (longitudinal acceleration).", - "type": "sensor", - "unit": "m/s^2", - "uuid": "3d511fe7232b5841be311b37f322de5a" - }, - "Vertical": { - "datatype": "float", - "description": "Vehicle acceleration in Z (vertical acceleration).", - "type": "sensor", - "unit": "m/s^2", - "uuid": "a4a8a7c4ac5b52deb0b3ee4ed8787c59" - } - }, - "description": "Spatial acceleration. Axis definitions according to ISO 8855.", - "type": "branch", - "uuid": "6c490e6a798c5abc8f0178ed6deae0a8" - }, - "AngularVelocity": { - "children": { - "Pitch": { - "datatype": "float", - "description": "Vehicle rotation rate along Y (lateral).", - "type": "sensor", - "unit": "degrees/s", - "uuid": "42236f4a01f45313a97fdd9b6848ce4f" - }, - "Roll": { - "datatype": "float", - "description": "Vehicle rotation rate along X (longitudinal).", - "type": "sensor", - "unit": "degrees/s", - "uuid": "221e6b93881e5771bcbd03e0849e0075" - }, - "Yaw": { - "datatype": "float", - "description": "Vehicle rotation rate along Z (vertical).", - "type": "sensor", - "unit": "degrees/s", - "uuid": "4114c41552565c1f9035670cabe2a611" - } - }, - "description": "Spatial rotation. Axis definitions according to ISO 8855.", - "type": "branch", - "uuid": "1eef530a43de56aab665d2766483cde2" - }, - "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", - "uuid": "43a489636a665c3abb99b63174eb552b" - }, - "Body": { - "children": { - "BodyType": { - "datatype": "string", - "description": "Body type code as defined by ISO 3779.", - "type": "attribute", - "uuid": "6253412513105deea63b1d424117fd88" - }, - "Hood": { - "children": { - "IsOpen": { - "datatype": "boolean", - "description": "Hood open or closed. True = Open. False = Closed.", - "type": "actuator", - "uuid": "890aa3359e1a579288af1cf8e6b5b71f" - } - }, - "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.", - "type": "branch", - "uuid": "84510652bf915bbe8bf5f477aab2b44a" - }, - "Horn": { - "children": { - "IsActive": { - "datatype": "boolean", - "description": "Horn active or inactive. True = Active. False = Inactive.", - "type": "actuator", - "uuid": "ba20deed9314525bb9d552a2b787fb20" - } - }, - "description": "Horn signals.", - "type": "branch", - "uuid": "09c76633887f52268b960740eb969c89" - }, - "Lights": { - "children": { - "Backup": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "b907c4ac4ee459faa987c64a6da424c3" - }, - "IsOn": { - "datatype": "boolean", - "description": "Indicates if light is on or off. True = On. False = Off.", - "type": "actuator", - "uuid": "ef23a3fa6106564195a66e21d8cf69b4" - } - }, - "description": "Backup lights.", - "type": "branch", - "uuid": "4fe2cb68fc77506686eced7225aeff9a" - }, - "Beam": { - "children": { - "High": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "83561d8c9a025cfdad6c4b325829fa00" - }, - "IsOn": { - "datatype": "boolean", - "description": "Indicates if light is on or off. True = On. False = Off.", - "type": "actuator", - "uuid": "24d1346519b05697b872c06556a09fb4" - } - }, - "description": "Beam lights.", - "type": "branch", - "uuid": "306b51d2e1ec572fa80172aad6727da0" - }, - "Low": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "3a135f1267ea5b2a80aa9a17fc8072db" - }, - "IsOn": { - "datatype": "boolean", - "description": "Indicates if light is on or off. True = On. False = Off.", - "type": "actuator", - "uuid": "8b4d4855b0c95963a25dc564c9758610" - } - }, - "description": "Beam lights.", - "type": "branch", - "uuid": "f6f21ea5b263545297f4411b2e15037f" - } - }, - "description": "Beam lights.", - "type": "branch", - "uuid": "6685308a9d955ecdad92a7cc68666a12" - }, - "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", - "uuid": "65eb84d61ea95313985054f626b85b59" - }, - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "1db542c5ba715e09b948527418966728" - } - }, - "description": "Brake lights.", - "type": "branch", - "uuid": "30eabe704102501cb299d03696fad92a" - }, - "DirectionIndicator": { - "children": { - "Left": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "32a092936fb65165ba1dd8dfa38bf77d" - }, - "IsSignaling": { - "datatype": "boolean", - "description": "Indicates if light is signaling or off. True = signaling. False = Off.", - "type": "actuator", - "uuid": "33ac6ec5e4d9550aac6ae0ce97dae259" - } - }, - "description": "Indicator lights.", - "type": "branch", - "uuid": "446dea42b8e95d87b45e5e51c881bf98" - }, - "Right": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "db70c2d885725583a7ed95b215a8ec6c" - }, - "IsSignaling": { - "datatype": "boolean", - "description": "Indicates if light is signaling or off. True = signaling. False = Off.", - "type": "actuator", - "uuid": "9b0a1dab153f5dcda8df2116c3b6d487" - } - }, - "description": "Indicator lights.", - "type": "branch", - "uuid": "9922f6b417e95f1c945ef9f414bcdf78" - } - }, - "description": "Indicator lights.", - "type": "branch", - "uuid": "0566cb97d05c554eb88a07142f2475ac" - }, - "Fog": { - "children": { - "Front": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "f9238f15d2615a22802ce9ec9f1d72e9" - }, - "IsOn": { - "datatype": "boolean", - "description": "Indicates if light is on or off. True = On. False = Off.", - "type": "actuator", - "uuid": "0ec10846d20a5d1b9b8a286303ecb844" - } - }, - "description": "Fog lights.", - "type": "branch", - "uuid": "230cc65abaaf500c9085c29d48107552" - }, - "Rear": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "1d44e594ffa35d73a6f620f479eeef4c" - }, - "IsOn": { - "datatype": "boolean", - "description": "Indicates if light is on or off. True = On. False = Off.", - "type": "actuator", - "uuid": "1fe08a2f687c5c2880adef26cc7de746" - } - }, - "description": "Fog lights.", - "type": "branch", - "uuid": "38359f258135516cb49c0fa1f093d478" - } - }, - "description": "Fog lights.", - "type": "branch", - "uuid": "1e90cf42bb825217b283c7285a606953" - }, - "Hazard": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "25cd3475beb6543a8538974b67544c43" - }, - "IsSignaling": { - "datatype": "boolean", - "description": "Indicates if light is signaling or off. True = signaling. False = Off.", - "type": "actuator", - "uuid": "c53950205aa15dffa304390dcb761cc3" - } - }, - "description": "Hazard lights.", - "type": "branch", - "uuid": "803498c3be6253dfb074c0e0294be758" - }, - "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" - }, - "LicensePlate": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "4de6594de7815cec97e5b851d70e239b" - }, - "IsOn": { - "datatype": "boolean", - "description": "Indicates if light is on or off. True = On. False = Off.", - "type": "actuator", - "uuid": "afeace5d76ed53f989ae4251090ba069" - } - }, - "description": "License plate lights.", - "type": "branch", - "uuid": "7bb12e42a8c45c198f83bf41b19131fa" - }, - "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", - "uuid": "2feb14a3558256339442413783969f4f" - }, - "Parking": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "56761305eae559c7931f6ff5fee0dfa8" - }, - "IsOn": { - "datatype": "boolean", - "description": "Indicates if light is on or off. True = On. False = Off.", - "type": "actuator", - "uuid": "6ba0825427335408ad7d0f148d6250ea" - } - }, - "description": "Parking lights.", - "type": "branch", - "uuid": "dfb819be5cec5be09b9fb743829301c3" - }, - "Running": { - "children": { - "IsDefect": { - "datatype": "boolean", - "description": "Indicates if light is defect. True = Light is defect. False = Light has no defect.", - "type": "sensor", - "uuid": "7cda127e6d45547681757e789c0b7a87" - }, - "IsOn": { - "datatype": "boolean", - "description": "Indicates if light is on or off. True = On. False = Off.", - "type": "actuator", - "uuid": "1c4e44f1e0275965b466ac674a5b8cac" - } - }, - "description": "Running lights.", - "type": "branch", - "uuid": "38868a9f1bda573595501302c1f0a1db" - } - }, - "description": "Exterior lights.", - "type": "branch", - "uuid": "399d1ec14d6f55bb825e078a801bde55" - }, - "Mirrors": { - "children": { - "DriverSide": { - "children": { - "IsHeatingOn": { - "datatype": "boolean", - "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", - "type": "actuator", - "uuid": "21262ce775a85abe9f6354f9c3ac9988" - }, - "Pan": { - "datatype": "int8", - "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" - }, - "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", - "uuid": "eafa81963c315aa78eda11eec8012d34" - } - }, - "description": "All mirrors.", - "type": "branch", - "uuid": "3c62705bbcf654489c8179b63118829f" - }, - "PassengerSide": { - "children": { - "IsHeatingOn": { - "datatype": "boolean", - "description": "Mirror Heater on or off. True = Heater On. False = Heater Off.", - "type": "actuator", - "uuid": "9d64ad38532658298e5f59a2f999ef57" - }, - "Pan": { - "datatype": "int8", - "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" - }, - "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", - "uuid": "0f3734b090065873a7feb40931c72a28" - } - }, - "description": "All mirrors.", - "type": "branch", - "uuid": "8025a1e06e9d5ddb96405cce1f1f38cb" - } - }, - "description": "All mirrors.", - "type": "branch", - "uuid": "a4ea618914885a239ef5fa62c671a800" - }, - "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", - "uuid": "2fe44a1c3bb155aca782b017efeb6175" - }, - "Raindetection": { - "children": { - "Intensity": { - "datatype": "uint8", - "description": "Rain intensity. 0 = Dry, No Rain. 100 = Covered.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "1ee0a2f22e8257d299425a4ff2652555" - } - }, - "description": "Rain sensor signals.", - "type": "branch", - "uuid": "f16759f3dcfb5be4832e962da29ebd6c" - }, - "RearMainSpoilerPosition": { - "datatype": "float", - "description": "Rear spoiler position, 0% = Spoiler fully stowed. 100% = Spoiler fully exposed.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "6209a82390585b869cc3d00d069eade2" - }, - "RefuelPosition": { - "allowed": [ - "FRONT_LEFT", - "FRONT_RIGHT", - "MIDDLE_LEFT", - "MIDDLE_RIGHT", - "REAR_LEFT", - "REAR_RIGHT" - ], - "datatype": "string", - "description": "Location of the fuel cap or charge port.", - "type": "attribute", - "uuid": "53ef90a851fa57f0810d50238e852f02" - }, - "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", - "uuid": "43d7844934a45890bf2a287b676a994b" - }, - "IsLocked": { - "datatype": "boolean", - "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", - "type": "actuator", - "uuid": "e0eabc210f07505fa1b66b67729d681b" - }, - "IsOpen": { - "datatype": "boolean", - "description": "Trunk open or closed. True = Open. False = Closed.", - "type": "actuator", - "uuid": "2047de0896a352fcaf02baa06819a023" - } - }, - "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.", - "type": "branch", - "uuid": "a455aca5bae55c22b7949fd31a765a6c" - }, - "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", - "uuid": "a1065214515c5f7aa86f51eb7bf36664" - }, - "IsLocked": { - "datatype": "boolean", - "description": "Is trunk locked or unlocked. True = Locked. False = Unlocked.", - "type": "actuator", - "uuid": "8f9b55b002ed59d3ac2ef0b014abf4aa" - }, - "IsOpen": { - "datatype": "boolean", - "description": "Trunk open or closed. True = Open. False = Closed.", - "type": "actuator", - "uuid": "3d3249e59306594698367b839b12c938" - } - }, - "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.", - "type": "branch", - "uuid": "a6170ff5e4325f38b5d57402e1d95e5a" - } - }, - "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.", - "type": "branch", - "uuid": "a584c6a5aa235cb88ac686f8d72a1dff" - }, - "Windshield": { - "children": { - "Front": { - "children": { - "IsHeatingOn": { - "datatype": "boolean", - "description": "Windshield heater status. False - off, True - on.", - "type": "actuator", - "uuid": "26e6a3b7e9bb58bebba29258faa6e300" - }, - "WasherFluid": { - "children": { - "IsLevelLow": { - "datatype": "boolean", - "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", - "type": "sensor", - "uuid": "8ca54695ad115f9bb6f56d7c450781a7" - }, - "Level": { - "datatype": "uint8", - "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "a36dfb91414f5792bd01d193dceff1f4" - } - }, - "description": "Windshield washer fluid signals", - "type": "branch", - "uuid": "2de24016515353289953de5ea81efd3c" - }, - "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", - "uuid": "7cdd36d1cc8f5f9a9f079f663190b588" - }, - "IsWipersWorn": { - "datatype": "boolean", - "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", - "type": "sensor", - "uuid": "b04ccc7daedb559c9bcdda6b00332be5" - }, - "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", - "uuid": "3ee6552c96e551c5b06b79ad30226767" - }, - "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", - "uuid": "026307b591465a8a99ffc0ebf262b393" - }, - "DriveCurrent": { - "comment": "May be negative in special situations.", - "datatype": "float", - "description": "Actual current used by wiper drive.", - "type": "sensor", - "unit": "A", - "uuid": "251e695821b758e7b7d459d5e2ab6ca4" - }, - "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", - "uuid": "7394c8b8d20d52638881161ec1b41fc0" - }, - "IsBlocked": { - "datatype": "boolean", - "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", - "type": "sensor", - "uuid": "4b526a2c781e56e386c82df226061f9e" - }, - "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" - }, - "IsOverheated": { - "datatype": "boolean", - "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", - "type": "sensor", - "uuid": "e05d376ec2525ba2b61039d55f93760f" - }, - "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" - }, - "IsWiperError": { - "datatype": "boolean", - "description": "Indicates system failure. True if wiping is disabled due to system failure.", - "type": "sensor", - "uuid": "5276055d973f57998e1b8d6e536de735" - }, - "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" - }, - "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", - "uuid": "d15518f5d1bc54a38718f43ef749dd34" - }, - "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", - "uuid": "7a4a3fdd2947596dbada6980c142f090" - } - }, - "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" - }, - "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", - "uuid": "92c879c11bc65e6da30d582a3928caac" - } - }, - "description": "Windshield wiper signals.", - "type": "branch", - "uuid": "2cffeccdc19a587cbe2264f426c6881a" - } - }, - "description": "Windshield signals.", - "type": "branch", - "uuid": "8f0c61e4e4f557d98729210fc3c74f72" - }, - "Rear": { - "children": { - "IsHeatingOn": { - "datatype": "boolean", - "description": "Windshield heater status. False - off, True - on.", - "type": "actuator", - "uuid": "76d811b4c4c356f4898dd6383e28bc6f" - }, - "WasherFluid": { - "children": { - "IsLevelLow": { - "datatype": "boolean", - "description": "Low level indication for washer fluid. True = Level Low. False = Level OK.", - "type": "sensor", - "uuid": "8ca0356548ae54e8af3aeace49e5ed71" - }, - "Level": { - "datatype": "uint8", - "description": "Washer fluid level as a percent. 0 = Empty. 100 = Full.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "c167e5b265895c108da1b9582de2dd91" - } - }, - "description": "Windshield washer fluid signals", - "type": "branch", - "uuid": "1ea4ac2370e1567b9b812c1e3020ddfb" - }, - "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", - "uuid": "f18b13b9d96b51c492c031d3d86d22da" - }, - "IsWipersWorn": { - "datatype": "boolean", - "description": "Wiper wear status. True = Worn, Replacement recommended or required. False = Not Worn.", - "type": "sensor", - "uuid": "0e8d5f7cb6295b908be3a03e8792cca8" - }, - "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", - "uuid": "8cc0b88ac8b45f5fa30bb7755ce22648" - }, - "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", - "uuid": "eddee2607a135582bbcf3d3afc845892" - }, - "DriveCurrent": { - "comment": "May be negative in special situations.", - "datatype": "float", - "description": "Actual current used by wiper drive.", - "type": "sensor", - "unit": "A", - "uuid": "7a254692329055dfb4089e2dcc1d4ef3" - }, - "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", - "uuid": "371171d971995c999585b028e19be461" - }, - "IsBlocked": { - "datatype": "boolean", - "description": "Indicates if wiper movement is blocked. True = Movement blocked. False = Movement not blocked.", - "type": "sensor", - "uuid": "046e818b4dd9595a8301503e9afe028b" - }, - "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" - }, - "IsOverheated": { - "datatype": "boolean", - "description": "Indicates if wiper system is overheated. True = Wiper system overheated. False = Wiper system not overheated.", - "type": "sensor", - "uuid": "d30bc6f33b995ef491c252980a559ee2" - }, - "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" - }, - "IsWiperError": { - "datatype": "boolean", - "description": "Indicates system failure. True if wiping is disabled due to system failure.", - "type": "sensor", - "uuid": "ac5983deacbe59d7ba1312d44bfd9cd4" - }, - "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" - }, - "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", - "uuid": "f2f47522466d570baa7618fac5b0359c" - }, - "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", - "uuid": "c39bef0760185555904a92a305392080" - } - }, - "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" - }, - "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", - "uuid": "afd6a352230f5eeaa8ac5f1f188bfd33" - } - }, - "description": "Windshield wiper signals.", - "type": "branch", - "uuid": "f56e80a50fd75dbca48581aea4f012b7" - } - }, - "description": "Windshield signals.", - "type": "branch", - "uuid": "095ff58459b854aaa742e56447fe7a93" - } - }, - "description": "Windshield signals.", - "type": "branch", - "uuid": "73efba535dcb5032b9edc43406b050b8" - } - }, - "description": "All body components.", - "type": "branch", - "uuid": "bd2854e6a9165c5698ce8dd9f0438ecc" - }, - "Cabin": { - "children": { - "Convertible": { - "children": { - "Status": { - "allowed": [ - "UNDEFINED", - "CLOSED", - "OPEN", - "CLOSING", - "OPENING", - "STALLED" - ], - "datatype": "string", - "description": "Roof status on convertible vehicles.", - "type": "sensor", - "uuid": "c8812698198a56d7a1adcc8bbe87845f" - } - }, - "description": "Convertible roof.", - "type": "branch", - "uuid": "2aece85d39d6569e93cf842387a645d9" - }, - "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", - "uuid": "62a265895be0566694358eecab381a4c" - }, - "IsLocked": { - "datatype": "boolean", - "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", - "type": "actuator", - "uuid": "9080712219dc57eaacf85d6630e01ca0" - }, - "IsOpen": { - "datatype": "boolean", - "description": "Is door open or closed", - "type": "actuator", - "uuid": "da3dccb4ab085fcabca24efd99435d87" - }, - "Shade": { - "children": { - "Position": { - "datatype": "uint8", - "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "7ec218dfc5855bfa88af947d7b06b1f4" - }, - "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", - "uuid": "fea7f9577a8456128c548daf3c548ea4" - } - }, - "description": "Side window shade", - "type": "branch", - "uuid": "7220d013b9205e1b9e7ca6b95cb14058" - }, - "Window": { - "children": { - "IsOpen": { - "datatype": "boolean", - "description": "Is window open or closed?", - "type": "sensor", - "uuid": "ff58aae512475431bec02b5c4a36b6f9" - }, - "Position": { - "datatype": "uint8", - "description": "Window position. 0 = Fully closed 100 = Fully opened.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "83da2e0448465874bf2bff9aeff91793" - }, - "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", - "uuid": "5d3f802110a95653b4518b8f21836113" - } - }, - "description": "Door window status", - "type": "branch", - "uuid": "6ab9b77468d45cdfadebe124256aa910" - } - }, - "description": "All doors, including windows and switches.", - "type": "branch", - "uuid": "0fe04659010a505a9816a3a9457b3540" - }, - "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", - "uuid": "74a842786a73553ba3491975c2077ac7" - }, - "IsLocked": { - "datatype": "boolean", - "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", - "type": "actuator", - "uuid": "48d4388ec67b519ab500ee424ce4b6cb" - }, - "IsOpen": { - "datatype": "boolean", - "description": "Is door open or closed", - "type": "actuator", - "uuid": "80aca3884840557db10f1314a27a5eeb" - }, - "Shade": { - "children": { - "Position": { - "datatype": "uint8", - "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "8f583d09021e51319aa6bdd0e29aefc8" - }, - "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", - "uuid": "c700d6a13a16522ead84b81314fd452b" - } - }, - "description": "Side window shade", - "type": "branch", - "uuid": "dfe64259f26a54bda64b9aa24362c7eb" - }, - "Window": { - "children": { - "IsOpen": { - "datatype": "boolean", - "description": "Is window open or closed?", - "type": "sensor", - "uuid": "120e3b950fd657fabd90069e6e01f44e" - }, - "Position": { - "datatype": "uint8", - "description": "Window position. 0 = Fully closed 100 = Fully opened.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "ec293d2eb9e052e88d01927c811711ef" - }, - "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", - "uuid": "36efa23a161a5fe1b65e36f5656738fb" - } - }, - "description": "Door window status", - "type": "branch", - "uuid": "c588ac43d3945dc0a45994c4d298d9b0" - } - }, - "description": "All doors, including windows and switches.", - "type": "branch", - "uuid": "9ea0425fb2085ded9a393d4e999ae90a" - } - }, - "description": "All doors, including windows and switches.", - "type": "branch", - "uuid": "fd3fcb481cb953dc9a853125c6ca0453" - }, - "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", - "uuid": "707facc3d89052d8ae66675ffd8755a8" - }, - "IsLocked": { - "datatype": "boolean", - "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", - "type": "actuator", - "uuid": "df98641aae1553a68b741826496d9d42" - }, - "IsOpen": { - "datatype": "boolean", - "description": "Is door open or closed", - "type": "actuator", - "uuid": "49c55921d1825bc1a82334a40eeb45f9" - }, - "Shade": { - "children": { - "Position": { - "datatype": "uint8", - "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "96227261fc205735adb031fb549de6bf" - }, - "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", - "uuid": "81f6196e909d590d858fe4da18c60590" - } - }, - "description": "Side window shade", - "type": "branch", - "uuid": "9b08a5dc400253b8bf31776582f275fd" - }, - "Window": { - "children": { - "IsOpen": { - "datatype": "boolean", - "description": "Is window open or closed?", - "type": "sensor", - "uuid": "1fa3b2f43118575aa2f136fdd15ff61f" - }, - "Position": { - "datatype": "uint8", - "description": "Window position. 0 = Fully closed 100 = Fully opened.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "8a097ade895c5cd8afe9efeef79532fc" - }, - "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", - "uuid": "4dd1a3858c1b54cc94a8dc4d011ea307" - } - }, - "description": "Door window status", - "type": "branch", - "uuid": "bb6ac206a45b507f9f1fe5fdfcf82b31" - } - }, - "description": "All doors, including windows and switches.", - "type": "branch", - "uuid": "996c7ede1ac453ae9aed508c2835ae56" - }, - "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", - "uuid": "082f7e3633ab56d4a48817329cf46ef9" - }, - "IsLocked": { - "datatype": "boolean", - "description": "Is door locked or unlocked. True = Locked. False = Unlocked.", - "type": "actuator", - "uuid": "32fa3a8c0b2d5451a4a1976438417305" - }, - "IsOpen": { - "datatype": "boolean", - "description": "Is door open or closed", - "type": "actuator", - "uuid": "84cab77c9c1d59aba1565b3484c5e01f" - }, - "Shade": { - "children": { - "Position": { - "datatype": "uint8", - "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "aa5627291c29505b8d2f7d652cc4800d" - }, - "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", - "uuid": "0c33dd31375452d6ad0c531eac1637c6" - } - }, - "description": "Side window shade", - "type": "branch", - "uuid": "8dc8133322a65057844f9b7eceee6ef9" - }, - "Window": { - "children": { - "IsOpen": { - "datatype": "boolean", - "description": "Is window open or closed?", - "type": "sensor", - "uuid": "13e37e2924115c73a36df78f09fad493" - }, - "Position": { - "datatype": "uint8", - "description": "Window position. 0 = Fully closed 100 = Fully opened.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "e3e3fa03f4e357ae8ac8f43799a99350" - }, - "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", - "uuid": "174b3bc145625a22b23a283c424c28b4" - } - }, - "description": "Door window status", - "type": "branch", - "uuid": "b64ba696bf7b5fdc8dba79ae5cb119d1" - } - }, - "description": "All doors, including windows and switches.", - "type": "branch", - "uuid": "16bc38dcd8055f50b54f87478f72f776" - } - }, - "description": "All doors, including windows and switches.", - "type": "branch", - "uuid": "74c8a76ad2545ceba474a85ae84eec8e" - } - }, - "description": "All doors, including windows and switches.", - "type": "branch", - "uuid": "fd7f4d16f8965419a9a69fd66b40c1d7" - }, - "DoorCount": { - "datatype": "uint8", - "default": 4, - "description": "Number of doors in vehicle.", - "type": "attribute", - "uuid": "c293fbef75725c57a9918dd5a34055c4" - }, - "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", - "uuid": "bca9ccd50358584d8d20865694b0d15f" - }, - "HVAC": { - "children": { - "AmbientAirTemperature": { - "datatype": "float", - "description": "Ambient air temperature inside the vehicle.", - "type": "sensor", - "unit": "celsius", - "uuid": "611868a24bc25eb9a837208c235e9491" - }, - "IsAirConditioningActive": { - "datatype": "boolean", - "description": "Is Air conditioning active.", - "type": "actuator", - "uuid": "dc4f79e4211c54a6b4eed0236aae84a6" - }, - "IsFrontDefrosterActive": { - "datatype": "boolean", - "description": "Is front defroster active.", - "type": "actuator", - "uuid": "afa678c87182544bb6ab81fa6a770791" - }, - "IsRearDefrosterActive": { - "datatype": "boolean", - "description": "Is rear defroster active.", - "type": "actuator", - "uuid": "d342a7939f2e5adeaeb5e68e3a314445" - }, - "IsRecirculationActive": { - "datatype": "boolean", - "description": "Is recirculation active.", - "type": "actuator", - "uuid": "7b80c41c63b35c9299a410166cd33c81" - }, - "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", - "uuid": "ee011a09ebc6519183177b05d7302ce8" - }, - "Station": { - "children": { - "Row1": { - "children": { - "Driver": { - "children": { - "AirDistribution": { - "allowed": [ - "UP", - "MIDDLE", - "DOWN" - ], - "datatype": "string", - "description": "Direction of airstream", - "type": "actuator", - "uuid": "8b7412018a6f5c0a8467bdddb53e76f7" - }, - "FanSpeed": { - "datatype": "uint8", - "description": "Fan Speed, 0 = off. 100 = max", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "3db004f9a2ee528099499d660bfa715f" - }, - "Temperature": { - "datatype": "int8", - "description": "Temperature", - "type": "actuator", - "unit": "celsius", - "uuid": "1eae45dbda85581ca794b6b4513376cd" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "7480dcf1e7375c7491a4dc083a8a7d15" - }, - "Passenger": { - "children": { - "AirDistribution": { - "allowed": [ - "UP", - "MIDDLE", - "DOWN" - ], - "datatype": "string", - "description": "Direction of airstream", - "type": "actuator", - "uuid": "610facc5829f5d52a40e8b1e9706866c" - }, - "FanSpeed": { - "datatype": "uint8", - "description": "Fan Speed, 0 = off. 100 = max", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "2d00c3cf2f735a37b646d9a51e77ef9e" - }, - "Temperature": { - "datatype": "int8", - "description": "Temperature", - "type": "actuator", - "unit": "celsius", - "uuid": "3a7a6b5f8c4756d4bcf540ee41c781e1" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "e536a7f5f6a05ff48f26f96ef5772455" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "80860491fba75babaf3c439d1d471a6d" - }, - "Row2": { - "children": { - "Driver": { - "children": { - "AirDistribution": { - "allowed": [ - "UP", - "MIDDLE", - "DOWN" - ], - "datatype": "string", - "description": "Direction of airstream", - "type": "actuator", - "uuid": "8a021c3941ee5fed99efb5b8c7e6882a" - }, - "FanSpeed": { - "datatype": "uint8", - "description": "Fan Speed, 0 = off. 100 = max", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "873e0193650f5f4a88bdb9777ead4df7" - }, - "Temperature": { - "datatype": "int8", - "description": "Temperature", - "type": "actuator", - "unit": "celsius", - "uuid": "50d268809c555b82b275884f8c170825" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "d1dd7712867d51ec847afa67e6dd3c92" - }, - "Passenger": { - "children": { - "AirDistribution": { - "allowed": [ - "UP", - "MIDDLE", - "DOWN" - ], - "datatype": "string", - "description": "Direction of airstream", - "type": "actuator", - "uuid": "06105fb9e69755f38a02132b4b432351" - }, - "FanSpeed": { - "datatype": "uint8", - "description": "Fan Speed, 0 = off. 100 = max", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "a9d1c8e5a9e35e7ca924ec4871364de8" - }, - "Temperature": { - "datatype": "int8", - "description": "Temperature", - "type": "actuator", - "unit": "celsius", - "uuid": "a83b6548c3c95d288072caa1a7dc2904" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "ed9c94346bd8511584c4d9a8e2d49ec0" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "d98e8f5f94da5acfbf428c635a8bcc0c" - }, - "Row3": { - "children": { - "Driver": { - "children": { - "AirDistribution": { - "allowed": [ - "UP", - "MIDDLE", - "DOWN" - ], - "datatype": "string", - "description": "Direction of airstream", - "type": "actuator", - "uuid": "ec927fbdee9e51c89ccba5c3752189cb" - }, - "FanSpeed": { - "datatype": "uint8", - "description": "Fan Speed, 0 = off. 100 = max", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "9c111ac7582752228e43bda739c0a26a" - }, - "Temperature": { - "datatype": "int8", - "description": "Temperature", - "type": "actuator", - "unit": "celsius", - "uuid": "d16ac539f8035e209831c1f4c7c39c83" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "299b787af2fe56ab9721086824692e10" - }, - "Passenger": { - "children": { - "AirDistribution": { - "allowed": [ - "UP", - "MIDDLE", - "DOWN" - ], - "datatype": "string", - "description": "Direction of airstream", - "type": "actuator", - "uuid": "5cf67ab3c7d1500ab306c397b7dddb12" - }, - "FanSpeed": { - "datatype": "uint8", - "description": "Fan Speed, 0 = off. 100 = max", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "71f5693b021f52ca888335848535db51" - }, - "Temperature": { - "datatype": "int8", - "description": "Temperature", - "type": "actuator", - "unit": "celsius", - "uuid": "1499ad96881c551886081c52d404d3e3" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "810eed3a9836574a886923f2ddf67dfd" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "6eb8d63b66c859d5b36ef52d264aed2b" - }, - "Row4": { - "children": { - "Driver": { - "children": { - "AirDistribution": { - "allowed": [ - "UP", - "MIDDLE", - "DOWN" - ], - "datatype": "string", - "description": "Direction of airstream", - "type": "actuator", - "uuid": "984add0704f850f2bb06a748c43211fb" - }, - "FanSpeed": { - "datatype": "uint8", - "description": "Fan Speed, 0 = off. 100 = max", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "fbd6ca78cdc557078f91b3d649866ec2" - }, - "Temperature": { - "datatype": "int8", - "description": "Temperature", - "type": "actuator", - "unit": "celsius", - "uuid": "9db31f66a7575255864758d62a4e0185" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "7211e138449252378f1a6ffbece35753" - }, - "Passenger": { - "children": { - "AirDistribution": { - "allowed": [ - "UP", - "MIDDLE", - "DOWN" - ], - "datatype": "string", - "description": "Direction of airstream", - "type": "actuator", - "uuid": "2c829297b81e54cf85a04bde79f31f34" - }, - "FanSpeed": { - "datatype": "uint8", - "description": "Fan Speed, 0 = off. 100 = max", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "580538988d3f513c88612665621bba09" - }, - "Temperature": { - "datatype": "int8", - "description": "Temperature", - "type": "actuator", - "unit": "celsius", - "uuid": "06b974ba5325558793b8a7dccb560bde" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "30fac3fdc3785d7fa8eb4298da45e95b" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "ff0c0fa26de7508dbe92a83bc087dff6" - } - }, - "description": "HVAC for single station in the vehicle", - "type": "branch", - "uuid": "253e683e6f135b83b6302a30b6c0ec8d" - } - }, - "description": "Climate control", - "type": "branch", - "uuid": "f8ff34337cdf568e91ab406a365c3249" - }, - "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", - "uuid": "44147980dabd56b883ae4d2491383a17" - }, - "CurrentLanguage": { - "datatype": "string", - "description": "ISO 639-1 standard language code for the current HMI", - "type": "sensor", - "uuid": "dc29ee5b7f7154b4ab05a9771fe930b3" - }, - "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", - "uuid": "0f03c3955fe953e9893a1f52e964919e" - }, - "DayNightMode": { - "allowed": [ - "DAY", - "NIGHT" - ], - "datatype": "string", - "description": "Current display theme", - "type": "actuator", - "uuid": "a892039ba136588fa26b2670f839c0cc" - }, - "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", - "uuid": "130114ebf81f59718cf257e198b90e01" - }, - "DistanceUnit": { - "allowed": [ - "MILES", - "KILOMETERS" - ], - "datatype": "string", - "description": "Distance unit used in the current HMI", - "type": "actuator", - "uuid": "4b40e8bdb1a053ee9ee35338d8804e7b" - }, - "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", - "uuid": "914846f6804757ba81ca6bcfac8d2c48" - }, - "FontSize": { - "allowed": [ - "STANDARD", - "LARGE", - "EXTRA_LARGE" - ], - "datatype": "string", - "description": "Font size used in the current HMI", - "type": "actuator", - "uuid": "630bf4a73340503799e8d86889ffd863" - }, - "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", - "uuid": "0e6a43ce1aa45243b753545ffa1f0f8c" - }, - "FuelVolumeUnit": { - "allowed": [ - "LITER", - "GALLON_US", - "GALLON_UK" - ], - "datatype": "string", - "description": "Fuel volume unit used in the current HMI", - "type": "actuator", - "uuid": "aef80d0bd01d593082e41abf072dab9b" - }, - "IsScreenAlwaysOn": { - "datatype": "boolean", - "description": "Used to prevent the screen going black if no action placed.", - "type": "actuator", - "uuid": "f6f2bffbad7e5e9098b351bf99b71624" - }, - "LastActionTime": { - "datatype": "string", - "description": "Time for last hmi action, formatted according to ISO 8601 with UTC time zone.", - "type": "sensor", - "uuid": "19b4f7e950bc526f8c263b4cc5954960" - }, - "TemperatureUnit": { - "allowed": [ - "C", - "F" - ], - "datatype": "string", - "description": "Temperature unit used in the current HMI", - "type": "actuator", - "uuid": "a7d1533490bb52b6b4f650280e72543d" - }, - "TimeFormat": { - "allowed": [ - "HR_12", - "HR_24" - ], - "datatype": "string", - "description": "Time format used in the current HMI", - "type": "actuator", - "uuid": "73083b87a4e25c02aee672ea32e40005" - }, - "TirePressureUnit": { - "allowed": [ - "PSI", - "KPA", - "BAR" - ], - "datatype": "string", - "description": "Tire pressure unit used in the current HMI", - "type": "actuator", - "uuid": "e5ffaf58cc10523fa0858deafb61a8ce" - } - }, - "description": "HMI related signals", - "type": "branch", - "uuid": "271e3d9202825f37bd054820e5ea8141" - }, - "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", - "uuid": "0357aea525bf505981a14e4fc720094e" - }, - "DeclinedURI": { - "datatype": "string", - "description": "URI of suggested media that was declined", - "type": "sensor", - "uuid": "51b0d6227db55b92bc35eedd8277f4c4" - }, - "Played": { - "children": { - "Album": { - "datatype": "string", - "description": "Name of album being played", - "type": "sensor", - "uuid": "1d80b1e2c1085def92b3548b5db2786e" - }, - "Artist": { - "datatype": "string", - "description": "Name of artist being played", - "type": "sensor", - "uuid": "076af7ad8aff5110ab5a64d1f58ccdcb" - }, - "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" - }, - "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", - "uuid": "54fb88a7d7cf5e3aab63e8f52415c187" - }, - "Track": { - "datatype": "string", - "description": "Name of track being played", - "type": "sensor", - "uuid": "ee800d62a40351e6934649ca75927d69" - }, - "URI": { - "datatype": "string", - "description": "User Resource associated with the media", - "type": "sensor", - "uuid": "1ed22b9925c3502d8d1389c8e02d0f07" - } - }, - "description": "Collection of signals updated in concert when a new media is played", - "type": "branch", - "uuid": "6585e9d3b6ff596da72a5f8c98d2d47a" - }, - "SelectedURI": { - "datatype": "string", - "description": "URI of suggested media that was selected", - "type": "actuator", - "uuid": "4820f7a961c25e91af12d3417a145d32" - }, - "Volume": { - "datatype": "uint8", - "description": "Current Media Volume", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "8b344688816f5844ae5812bb136c8006" - } - }, - "description": "All Media actions", - "type": "branch", - "uuid": "3f324d13873e501a84daf2cfade24d0f" - }, - "Navigation": { - "children": { - "DestinationSet": { - "children": { - "Latitude": { - "datatype": "double", - "description": "Latitude of destination in WGS 84 geodetic coordinates.", - "max": 90, - "min": -90, - "type": "actuator", - "unit": "degrees", - "uuid": "3e33f3252934565d86de5409c761262b" - }, - "Longitude": { - "datatype": "double", - "description": "Longitude of destination in WGS 84 geodetic coordinates.", - "max": 180, - "min": -180, - "type": "actuator", - "unit": "degrees", - "uuid": "e9bd511146ca51639c8d42c0702e22ee" - } - }, - "description": "A navigation has been selected.", - "type": "branch", - "uuid": "f51ce253dc5b58168ecca99297139455" - }, - "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", - "uuid": "f5404f515db05e518d7b74460cf83eee" - }, - "Mute": { - "allowed": [ - "MUTED", - "ALERT_ONLY", - "UNMUTED" - ], - "datatype": "string", - "description": "Navigation mute state that was selected.", - "type": "actuator", - "uuid": "d7ab68ec65aa5bafa95f042a60c91639" - }, - "Volume": { - "datatype": "uint8", - "description": "Current navigation volume", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "3609ff09d29d54d596068f978cbc0777" - } - }, - "description": "All navigation actions", - "type": "branch", - "uuid": "79bb0cc4acae5d1eb34fb214352d7863" - }, - "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", - "uuid": "7be907e3d9fd5c46a516f7cd07f050a3" - }, - "SmartphoneProjection": { - "children": { - "Active": { - "allowed": [ - "NONE", - "ACTIVE", - "INACTIVE" - ], - "comment": "NONE indicates that projection is not supported.", - "datatype": "string", - "description": "Projection activation info.", - "type": "actuator", - "uuid": "7156b00b47a8513c8e86f50f7d152614" - }, - "Source": { - "allowed": [ - "USB", - "BLUETOOTH", - "WIFI" - ], - "datatype": "string", - "description": "Connectivity source selected for projection.", - "type": "actuator", - "uuid": "1c2d1f379f5752ac802456a992b88156" - }, - "SupportedMode": { - "allowed": [ - "ANDROID_AUTO", - "APPLE_CARPLAY", - "MIRROR_LINK", - "OTHER" - ], - "datatype": "string[]", - "description": "Supportable list for projection.", - "type": "attribute", - "uuid": "80fa132703655d989386bc6711afed49" - } - }, - "description": "All smartphone projection actions.", - "type": "branch", - "uuid": "fd47f73b4d6b51679f4bed75f6d63518" - } - }, - "description": "Infotainment system.", - "type": "branch", - "uuid": "d88f92fbdda35012a2443b5e130d5eff" - }, - "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" - }, - "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", - "uuid": "c5717a5df33359959d1df3ae75dd687e" - }, - "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", - "uuid": "a9ddbecc501e5ad4b95b7197cd4d6edf" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "3b6d9d8d6acb55bc81022522cf2499a3" - } - }, - "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", - "type": "branch", - "uuid": "e42bfc0abac857f0a40f579cc0ced424" - }, - "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", - "uuid": "a58681f838a75596b6b64623803479cc" - }, - "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", - "uuid": "9d9096fdd737597b8423214633a97063" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "a52466424a9550868a5f6a1aa83f3dce" - } - }, - "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", - "type": "branch", - "uuid": "05a04fb5fb025049b9e9fbb109fef22a" - } - }, - "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", - "type": "branch", - "uuid": "b3447dca710f51e39ed1af3d240f8851" - }, - "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", - "uuid": "8eb7ad17cb3f546c96fb8f76a7ac09f6" - }, - "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", - "uuid": "93c3bf189e045a52b2134aa20cfcf2b2" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "c95376e9f63f5ae996907ab83fa40a0b" - } - }, - "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", - "type": "branch", - "uuid": "ddf477f1910e595f8c8055508cbdd808" - }, - "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", - "uuid": "6ed1d61f74155275bde970d8233f0f51" - }, - "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", - "uuid": "1e9bcef987795ad3a38bc76de810df19" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "e61968ff0fb15adf891efadc9181f78c" - } - }, - "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", - "type": "branch", - "uuid": "b9a621db27d75d56b377890d98222d53" - } - }, - "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", - "type": "branch", - "uuid": "f4462f76907e529fbcc7cc6761ca5cbe" - } - }, - "description": "Decorative coloured light inside the cabin, usually mounted on the door, ceiling, etc.", - "type": "branch", - "uuid": "c3983df208565cb78c8af970a57351fd" - }, - "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", - "uuid": "099955ec87a0528ba1a89cc3e439c806" - }, - "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" - }, - "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", - "uuid": "9c73159ff0db5341af2bd3aaffc183c5" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "7c858ba899585fd6bb65a981db056fd7" - } - }, - "description": "Decorative coloured light bar that supports effects, usually mounted on the dashboard (e.g. BMW i7 Interactive bar).", - "type": "branch", - "uuid": "de6062a1a9c05ff687128f748307e331" - }, - "IsDomeOn": { - "datatype": "boolean", - "description": "Is central dome light on", - "type": "actuator", - "uuid": "0dcbdddcc3bb59d292bd7a0cf3747c83" - }, - "IsGloveBoxOn": { - "datatype": "boolean", - "description": "Is glove box light on", - "type": "actuator", - "uuid": "9b4db6bf8cc95c7a855442b95e1e0e18" - }, - "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", - "uuid": "4d605e0e591a510d9613bdb412175729" - }, - "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", - "uuid": "838b3bc619d153d993ddfad96918ad7e" - }, - "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", - "uuid": "497ba6de557452829f1c3bbcad2c1386" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "dff99845cbdf54239f1cc36834434a91" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "39ac4414f40754e2ab28a6bb10b397bb" - }, - "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", - "uuid": "7643021f0af15edeba9e35f7e87a7bd5" - }, - "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", - "uuid": "a2d72853978f54379cd66a2c82cd63fa" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "834df09382ee509b898b2ff2652a3ea2" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "669fe375bd1151b497eab93492e41597" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "35f4c5574dbb5c5bafe82107b55377ec" - }, - "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", - "uuid": "fddcfd397c63530b8b7e6f3c5fd98b20" - }, - "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", - "uuid": "054dfd5255675357b090663df26c6370" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "d7cdb8c7fe305b99a482ac7f8025519b" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "92fe0ca17e39548d8681a0fdd4f2a035" - }, - "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", - "uuid": "bdc48b556b565f0e9fd4e68b814ee934" - }, - "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", - "uuid": "b5e5c87ee11c5f84a7d92dc7871f3241" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "ded8281b9520524ead6bc1a5c3cccd5d" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "1e9617c06a0b53eca745dcf96f8d5d70" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "259f6228620a532abbac5548c72b3c35" - }, - "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", - "uuid": "5394e601144f5d75ae66a1566d182c68" - }, - "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", - "uuid": "50376cb5f02750d599f3ae5932520952" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "fa58686f4c925907a17f40aded066a01" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "36bd0e114ba652b0919db771e3a0d946" - }, - "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", - "uuid": "b50787e8b3bf56ebb3e007ee21aa1f30" - }, - "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", - "uuid": "b8e1a7326abe538199f595555c4c0ca0" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "68eacf65617c56489f0c1f475576eaaa" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "69b6df651e9b5154b46c5709ce167fb6" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "7b6666a198e8514582f8c85525dccceb" - }, - "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", - "uuid": "6cc3fc21887c593a90d799209dcc40c0" - }, - "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", - "uuid": "5459910482cb507db1583252b26e62c7" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "ca9e9652c52757ce98744209c0d2344f" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "661dcc2f512159329fc272128a054b0b" - }, - "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", - "uuid": "fde4be32cd6f5fcf8997b01564eaadaf" - }, - "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", - "uuid": "8be53f681198503bb8f93d331e2315cd" - }, - "IsLightOn": { - "datatype": "boolean", - "description": "Indicates whether the light is turned on. True = On, False = Off.", - "type": "actuator", - "uuid": "c35925e7af4d5a929b153cb7f587ca5b" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "fbffb10dc86a523bb40f624c1ad385e7" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "41b0adb2cba85665824d3ad497b593a8" - } - }, - "description": "Spotlight for a specific area in the vehicle.", - "type": "branch", - "uuid": "a03cd35849a05136ac8e16f4e96d866b" - } - }, - "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" - }, - "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", - "uuid": "728b62b170055bd8b1530ec423dd5a9a" - }, - "RearShade": { - "children": { - "Position": { - "datatype": "uint8", - "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "9e16fc53f2ec575dbf66c79f969949a9" - }, - "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", - "uuid": "da9f01e9baf35544842f1a7674c5172a" - } - }, - "description": "Rear window shade.", - "type": "branch", - "uuid": "8a0c86f4fc6f5ea8ac8cf8f327969dcc" - }, - "RearviewMirror": { - "children": { - "DimmingLevel": { - "datatype": "uint8", - "description": "Dimming level of rear-view mirror. 0 = Undimmed. 100 = Fully dimmed.", - "max": 100, - "type": "actuator", - "unit": "percent", - "uuid": "4e2bcbaa6dc1586d8282324b475e5dee" - } - }, - "description": "Rear-view mirror.", - "type": "branch", - "uuid": "e655b654ab9f55bbb04952a99755efae" - }, - "Seat": { - "children": { - "Row1": { - "children": { - "DriverSide": { - "children": { - "Airbag": { - "children": { - "IsDeployed": { - "datatype": "boolean", - "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", - "type": "sensor", - "uuid": "7308c4cd91025db3aad6dee3e4f9d2a1" - } - }, - "description": "Airbag signals.", - "type": "branch", - "uuid": "cf3eca19b11e5e3ea66a078bed805968" - }, - "Backrest": { - "children": { - "Lumbar": { - "children": { - "Height": { - "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": "637adce522d45075a064f3f94dc568ce" - }, - "Support": { - "datatype": "float", - "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "dc2da05595a151ada19e6d86037abaf0" - } - }, - "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", - "type": "branch", - "uuid": "2112602ef7ab5470b3e57b85d6ff903f" - }, - "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", - "uuid": "c58f21ae6ce150bc8f0b2cdd4698f958" - }, - "SideBolster": { - "children": { - "Support": { - "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": "c3bcf9587aac58af827a41364bc91b55" - } - }, - "description": "Backrest side bolster (lumbar side support) settings.", - "type": "branch", - "uuid": "bd36af767f2e582bae11c7a62b635789" - } - }, - "description": "Describes signals related to the backrest of the seat.", - "type": "branch", - "uuid": "876fb7f9209155749108c95bb268836b" - }, - "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", - "uuid": "55cf95c00d2056be859d330d0060a363" - }, - "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": "51de4b90534a5f089a9d81d53a663704" - } - }, - "description": "Headrest settings.", - "type": "branch", - "uuid": "4b193a02bffe52819b69d422d5e50042" - }, - "Heating": { - "datatype": "int8", - "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", - "max": 100, - "min": -100, - "type": "actuator", - "unit": "percent", - "uuid": "efeb2be118bb5f5eb796a81d298ab560" - }, - "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", - "uuid": "f44c52884b5c58e4ae462656832c888b" - }, - "IsBelted": { - "datatype": "boolean", - "description": "Is the belt engaged.", - "type": "sensor", - "uuid": "db477d45def05e11a90689c9e655cad9" - }, - "IsOccupied": { - "datatype": "boolean", - "description": "Does the seat have a passenger in it.", - "type": "sensor", - "uuid": "e8b805d0bd3e56be9258685f390a7a9c" - }, - "Massage": { - "datatype": "uint8", - "description": "Seat massage level. 0 = off. 100 = max massage.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "6d333404bc155fd2afa57a6380ecfd5c" - }, - "Occupant": { - "children": { - "Identifier": { - "children": { - "Issuer": { - "datatype": "string", - "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", - "type": "sensor", - "uuid": "a48e731c91b55a2c9022b21774923b73" - }, - "Subject": { - "datatype": "string", - "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", - "type": "sensor", - "uuid": "c4bb8a01fe8a5335b1c7c9288b9863c9" - } - }, - "description": "Identifier attributes based on OAuth 2.0.", - "type": "branch", - "uuid": "972f188af9425bc186a075224bbc3630" - } - }, - "description": "Occupant data.", - "type": "branch", - "uuid": "936f0c2fad4855d382e92393ec6223d7" - }, - "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", - "uuid": "b9587caa89dd50d2af7167c99c13bc85" - }, - "Seating": { - "children": { - "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": "b030abb632dc503aa313ba5c75ba36f1" - } - }, - "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": "1e49fb9d59d85494b290e53b7753dd72" - }, - "Switch": { - "children": { - "Backrest": { - "children": { - "IsReclineBackwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "7cc9aaaa51085baaa45be2ee7c7330bf" - }, - "IsReclineForwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "794645c172745cb0ba6b081d9903be78" - }, - "Lumbar": { - "children": { - "IsDownEngaged": { - "datatype": "boolean", - "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "e34e3c3330ac503a962eb076c7a05209" - }, - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "30ac7b216df9562abc6b7a2c6e0f665c" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "9645281792d65ada94160182c5ef2722" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "07e098c9c24c5500ac7054a75529187d" - } - }, - "description": "Switches for SingleSeat.Backrest.Lumbar.", - "type": "branch", - "uuid": "e69977f72c375925ac2817d8313a78e6" - }, - "SideBolster": { - "children": { - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "381639fd2a2751a9bb1429be5e0d5a99" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "056e7fa78a095b3e8c4e025ac7f69893" - } - }, - "description": "Switches for SingleSeat.Backrest.SideBolster.", - "type": "branch", - "uuid": "2702b44037a05092987a5da7a1b4e582" - } - }, - "description": "Describes switches related to the backrest of the seat.", - "type": "branch", - "uuid": "27ef6aedeefb5b288d191ca8e5306f55" - }, - "Headrest": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "5d2d997eaadc510fa7a0ff4f0422aa7e" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "14783a76b08953bca5d24ebc8d59b824" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "fe246f08a3ba5fe89703bf807c479528" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "31d5f0a7c65f51c4b7e67d1c8b45b9b8" - } - }, - "description": "Switches for SingleSeat.Headrest.", - "type": "branch", - "uuid": "2839bf77f2e95c17afd1a63e2d85249c" - }, - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Seat backward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "242ef7b872b25d9b94db1553e7f0cb0e" - }, - "IsCoolerEngaged": { - "datatype": "boolean", - "description": "Cooler switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "5e450517dd065464ac9a4927abc936a7" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Seat down switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "d982ff943e5e5e06a7984a2e7bfe2f45" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Seat forward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "3414b4d1e0ea5887b900171cb52e13b5" - }, - "IsTiltBackwardEngaged": { - "datatype": "boolean", - "description": "Tilt backward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "b3862480ad00587598d3f3f7c3468443" - }, - "IsTiltForwardEngaged": { - "datatype": "boolean", - "description": "Tilt forward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "abef0f196c08580f8b5e610071167e41" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Seat up switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "baef531919455c159b068c8ac8e2bca2" - }, - "IsWarmerEngaged": { - "datatype": "boolean", - "description": "Warmer switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "c7bd527be0fc59208eae631000d0ecf8" - }, - "Massage": { - "children": { - "IsDecreaseEngaged": { - "datatype": "boolean", - "description": "Decrease massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "dfcf5fbc84955377b1024600afdb6128" - }, - "IsIncreaseEngaged": { - "datatype": "boolean", - "description": "Increase massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "f321c48d000a5cf88d144e6c8aaebf64" - } - }, - "description": "Switches for SingleSeat.Massage.", - "type": "branch", - "uuid": "6d9d54a7a13e57769cf6ec91e63b4190" - }, - "Seating": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "7f35a13f8af55631bc280df0fedf00be" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "ea6bcaed18645c6fa9110c68b0dcc8b1" - } - }, - "description": "Describes switches related to the seating of the seat.", - "type": "branch", - "uuid": "d71f5acd57365612bf06f4c372bcbc13" - } - }, - "description": "Seat switch signals", - "type": "branch", - "uuid": "3eb5fc8b515e5a90baaeb10bed7d68ca" - }, - "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", - "uuid": "c4d3fb129999531a9b59ecff95cfc1c2" - } - }, - "description": "All seats.", - "type": "branch", - "uuid": "a8dd9e808a765a04874c2853c7926ed4" - }, - "Middle": { - "children": { - "Airbag": { - "children": { - "IsDeployed": { - "datatype": "boolean", - "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", - "type": "sensor", - "uuid": "41909de6e59a56f8b4d3d3a4296c4cb5" - } - }, - "description": "Airbag signals.", - "type": "branch", - "uuid": "278a7e2126435a46a04dec92fd50ff8a" - }, - "Backrest": { - "children": { - "Lumbar": { - "children": { - "Height": { - "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" - }, - "Support": { - "datatype": "float", - "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "22125fcec8aa5bc99fca8b86edbed2f0" - } - }, - "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", - "type": "branch", - "uuid": "03d5b5e01dcb54e5a3f3ce890cd27cee" - }, - "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", - "uuid": "f16a244ea7e2560db3991cb581149683" - }, - "SideBolster": { - "children": { - "Support": { - "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" - } - }, - "description": "Backrest side bolster (lumbar side support) settings.", - "type": "branch", - "uuid": "0c0b84957f8158d98f5a8c6d4f3265e5" - } - }, - "description": "Describes signals related to the backrest of the seat.", - "type": "branch", - "uuid": "5bef9412aeaf582284dc8f9cca5a5129" - }, - "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", - "uuid": "d5cc4a79f94f515aa8f5fa59184a5c35" - }, - "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": "520ec12b50515918a664ae6f2ac6b702" - } - }, - "description": "Headrest settings.", - "type": "branch", - "uuid": "a183fc37f47d55de8c5d2f2f27c779e0" - }, - "Heating": { - "datatype": "int8", - "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", - "max": 100, - "min": -100, - "type": "actuator", - "unit": "percent", - "uuid": "85e4a1400e1455149687f608cd4a4d08" - }, - "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", - "uuid": "e9ada64ce4b454928de166adaa4344da" - }, - "IsBelted": { - "datatype": "boolean", - "description": "Is the belt engaged.", - "type": "sensor", - "uuid": "42a9c6f57d75550180138950e91e096e" - }, - "IsOccupied": { - "datatype": "boolean", - "description": "Does the seat have a passenger in it.", - "type": "sensor", - "uuid": "decf460a32ce5f1a9f2d4b68329707eb" - }, - "Massage": { - "datatype": "uint8", - "description": "Seat massage level. 0 = off. 100 = max massage.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "17936943738e57888f4c11a38570f25c" - }, - "Occupant": { - "children": { - "Identifier": { - "children": { - "Issuer": { - "datatype": "string", - "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", - "type": "sensor", - "uuid": "a22655ee843f5faf8c86daf55abad5f4" - }, - "Subject": { - "datatype": "string", - "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", - "type": "sensor", - "uuid": "d3fda2f366ea5b60a284b945c21aeb17" - } - }, - "description": "Identifier attributes based on OAuth 2.0.", - "type": "branch", - "uuid": "acfb210c54605ebeb1d231aa09d98575" - } - }, - "description": "Occupant data.", - "type": "branch", - "uuid": "cd842b8d4e7359d3ac47e8b39ab25ea9" - }, - "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", - "uuid": "a9c61deb42ac5bb1b2c92fb5ee222db9" - }, - "Seating": { - "children": { - "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": "6fcbf711e9c852ba91f7d846f6066978" - } - }, - "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" - }, - "Switch": { - "children": { - "Backrest": { - "children": { - "IsReclineBackwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "a1b764756af559c0b850ee370d859c86" - }, - "IsReclineForwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "8bd7805b426b5e439abd732e9b503bb3" - }, - "Lumbar": { - "children": { - "IsDownEngaged": { - "datatype": "boolean", - "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "7f7face91df2506f9351f8c27915bc18" - }, - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "0f54dcace731576785322d02b68d2068" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "44923c7fe53c5fa39b632f999a6a951e" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "a947a1e52c3850e8ae81e12ef503c472" - } - }, - "description": "Switches for SingleSeat.Backrest.Lumbar.", - "type": "branch", - "uuid": "acb8e84f703d518dbf6c9c8b899766b0" - }, - "SideBolster": { - "children": { - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "a7d928b58dc152408e38fc7b6fdf6851" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "34016708d65655708157e432fad53f1f" - } - }, - "description": "Switches for SingleSeat.Backrest.SideBolster.", - "type": "branch", - "uuid": "b2617422a80e5d409d5e327bec8a5895" - } - }, - "description": "Describes switches related to the backrest of the seat.", - "type": "branch", - "uuid": "d386d2b7ca955caf8a4d2467d4c7603e" - }, - "Headrest": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "a7eee2a690c75ab7b7143d95b89d0678" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "90d5bb0917875c009a7ee80b61a00e24" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "cbecebd77ff953c5830fbab699a3e0b8" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "4abfea463f0359fcb387aa1538f12d52" - } - }, - "description": "Switches for SingleSeat.Headrest.", - "type": "branch", - "uuid": "ec7f8f340e005006bc966a96829f886d" - }, - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Seat backward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "3fdbbe5de45356d383be845b5deeceb8" - }, - "IsCoolerEngaged": { - "datatype": "boolean", - "description": "Cooler switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "4ad9208a44b555d5a80b819aaf97b2c8" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Seat down switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "f108af06fb3954d5a87fb97cfadba808" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Seat forward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "6ebb2556d17959ec9bfc1d796e1f34c6" - }, - "IsTiltBackwardEngaged": { - "datatype": "boolean", - "description": "Tilt backward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "c7ece3b4d7435fed910b23f7ea5360d1" - }, - "IsTiltForwardEngaged": { - "datatype": "boolean", - "description": "Tilt forward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "77dca23345a358fa99636c734b4de8ac" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Seat up switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "a5628090d3465668adb6f1bc32bd2329" - }, - "IsWarmerEngaged": { - "datatype": "boolean", - "description": "Warmer switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "874c7f1345975e67b6a691d541cf46f1" - }, - "Massage": { - "children": { - "IsDecreaseEngaged": { - "datatype": "boolean", - "description": "Decrease massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "cd3226582b7a5f6590d983a6ed661a7b" - }, - "IsIncreaseEngaged": { - "datatype": "boolean", - "description": "Increase massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "932e55cb1ea154a0ac35170f8c63cf01" - } - }, - "description": "Switches for SingleSeat.Massage.", - "type": "branch", - "uuid": "d51481c8a5e05a1ca9481cd8fbaa6844" - }, - "Seating": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "c47a888b0ff85426a98fdcc6763abe10" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "e262f30a38285d7da365a42960f440e2" - } - }, - "description": "Describes switches related to the seating of the seat.", - "type": "branch", - "uuid": "965137f2801f50e292cfc673a3e145ed" - } - }, - "description": "Seat switch signals", - "type": "branch", - "uuid": "85bc5781995852329c3f56ab07a00a39" - }, - "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", - "uuid": "a9931f9f76cd5c9aa7cac23c43d09e38" - } - }, - "description": "All seats.", - "type": "branch", - "uuid": "bb6213be75be5b33adf6ad5957bb64e9" - }, - "PassengerSide": { - "children": { - "Airbag": { - "children": { - "IsDeployed": { - "datatype": "boolean", - "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", - "type": "sensor", - "uuid": "31e4cea8ba6a5254bf1d1471402d0700" - } - }, - "description": "Airbag signals.", - "type": "branch", - "uuid": "c931d21b21005b5c9f0eb9a732f9b2ef" - }, - "Backrest": { - "children": { - "Lumbar": { - "children": { - "Height": { - "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": "0df596249cce5c77955e6938c0c9bea6" - }, - "Support": { - "datatype": "float", - "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "e8b52c64f1e957cbbbaf63b03c3dd9ef" - } - }, - "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", - "type": "branch", - "uuid": "c2fbe0340f245b4ab3b1269de65b4c2d" - }, - "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", - "uuid": "089f2ca3258e5f94871953539fe5acbc" - }, - "SideBolster": { - "children": { - "Support": { - "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": "bd9dfba052ab5b24aa0eaa35fa47914f" - } - }, - "description": "Backrest side bolster (lumbar side support) settings.", - "type": "branch", - "uuid": "4c48af687fd15c7785b9c4c075dc457c" - } - }, - "description": "Describes signals related to the backrest of the seat.", - "type": "branch", - "uuid": "999c7466ce1f5354b4695626f3a2e935" - }, - "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", - "uuid": "5456d8e86ecb5cdf91b2bc08fe696d19" - }, - "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": "2701bc81fcc059b2b4ddc938407a503a" - } - }, - "description": "Headrest settings.", - "type": "branch", - "uuid": "f13eb4ad4b7a51bbad88db50dae636d3" - }, - "Heating": { - "datatype": "int8", - "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", - "max": 100, - "min": -100, - "type": "actuator", - "unit": "percent", - "uuid": "f62e56245db158508c9535a07474eed7" - }, - "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", - "uuid": "ae6a103cb748510e9383e2b72d6f2a00" - }, - "IsBelted": { - "datatype": "boolean", - "description": "Is the belt engaged.", - "type": "sensor", - "uuid": "ed71588a6ea1511cbd4578967a94f963" - }, - "IsOccupied": { - "datatype": "boolean", - "description": "Does the seat have a passenger in it.", - "type": "sensor", - "uuid": "05a31ee58c97506485a19a2e0c213244" - }, - "Massage": { - "datatype": "uint8", - "description": "Seat massage level. 0 = off. 100 = max massage.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "89f7a63fc4f65f05b7df4b74b232cc9f" - }, - "Occupant": { - "children": { - "Identifier": { - "children": { - "Issuer": { - "datatype": "string", - "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", - "type": "sensor", - "uuid": "bab527a608bd55d4b8a9d4b7d46c7037" - }, - "Subject": { - "datatype": "string", - "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", - "type": "sensor", - "uuid": "121cb6ae3f4451df848f7809b313c392" - } - }, - "description": "Identifier attributes based on OAuth 2.0.", - "type": "branch", - "uuid": "c7156b61e1b45698ae98b5d30c31ade3" - } - }, - "description": "Occupant data.", - "type": "branch", - "uuid": "fd753377a2335b9fbda2cc2d29f826a6" - }, - "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", - "uuid": "3d09265704af56d59e5d80f92be3d66f" - }, - "Seating": { - "children": { - "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": "c4dfd494ffc95c4abdc49716a3b73c53" - } - }, - "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" - }, - "Switch": { - "children": { - "Backrest": { - "children": { - "IsReclineBackwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "8e0c8a7fbb8a5cee933b3b1b50d4cbf1" - }, - "IsReclineForwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "2a19419f5c355aff9a41ee8c8ec434a0" - }, - "Lumbar": { - "children": { - "IsDownEngaged": { - "datatype": "boolean", - "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "5e8dd9ae1001569388bb4da677bdb377" - }, - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "cb08d335fa245f34b616f9c56fc529e0" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "c688f60d0f0650868ac32cba3d0c526e" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "10c691cb05f0581b8a6c4e764d81404d" - } - }, - "description": "Switches for SingleSeat.Backrest.Lumbar.", - "type": "branch", - "uuid": "73c59cba46725637bfa725a042713d0b" - }, - "SideBolster": { - "children": { - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "0ef641f1e4e75200879330a5de3d3315" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "811d841212295f92a7d070dac262ef84" - } - }, - "description": "Switches for SingleSeat.Backrest.SideBolster.", - "type": "branch", - "uuid": "8dfa254cccc059e881af97bce032cea9" - } - }, - "description": "Describes switches related to the backrest of the seat.", - "type": "branch", - "uuid": "d035fd8a2e855edfb90e7955b3bd8065" - }, - "Headrest": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "e5b1e2a73c1d530298be5aa2b92ceb6a" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "2bd34fa3b02d54b0822890750a57eaae" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "5486d882309558cd95a5d0742d9eea2a" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "90a53f3c0a585c7cb5b1565092e62539" - } - }, - "description": "Switches for SingleSeat.Headrest.", - "type": "branch", - "uuid": "3d328ade9dbf52e1bf8002caed74253f" - }, - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Seat backward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "d1a57d3e62725e51871433889877eb3e" - }, - "IsCoolerEngaged": { - "datatype": "boolean", - "description": "Cooler switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "5861078e66285792a4c5caa3158c3b93" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Seat down switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "ec27034136cd5e728c88c7ac0b87cf04" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Seat forward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "012004eeaa2250758c2fea329aec9dc2" - }, - "IsTiltBackwardEngaged": { - "datatype": "boolean", - "description": "Tilt backward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "a49e3b4e3047525ab1034e04896f7a73" - }, - "IsTiltForwardEngaged": { - "datatype": "boolean", - "description": "Tilt forward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "1abb80c7ce615f73a2e0fb6583b09431" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Seat up switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "d4d0df3f6b5b51039847f748282d77ab" - }, - "IsWarmerEngaged": { - "datatype": "boolean", - "description": "Warmer switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "597dd13468fd5b57858c6bbbc911392e" - }, - "Massage": { - "children": { - "IsDecreaseEngaged": { - "datatype": "boolean", - "description": "Decrease massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "8044c9338f5e5df1a036c91cc4d91423" - }, - "IsIncreaseEngaged": { - "datatype": "boolean", - "description": "Increase massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "1d7d951e97b45aa5824f4e959c68737b" - } - }, - "description": "Switches for SingleSeat.Massage.", - "type": "branch", - "uuid": "3739036112535b9cbdad726a5f6e17a4" - }, - "Seating": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "87edf3b9896659f6a87d05531c260a36" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "aaf6db1585b15365be9ac729c11688e3" - } - }, - "description": "Describes switches related to the seating of the seat.", - "type": "branch", - "uuid": "12458c0216335477882e669e98330a1a" - } - }, - "description": "Seat switch signals", - "type": "branch", - "uuid": "d7c6f91f09425d619cb93542ea55bed4" - }, - "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", - "uuid": "086f231720875bb5b4d5e2b8ed0092df" - } - }, - "description": "All seats.", - "type": "branch", - "uuid": "c9eef94c5e075ce088020f8a568c0183" - } - }, - "description": "All seats.", - "type": "branch", - "uuid": "7a420ddeac6f538eb3939bb4a242d136" - }, - "Row2": { - "children": { - "DriverSide": { - "children": { - "Airbag": { - "children": { - "IsDeployed": { - "datatype": "boolean", - "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", - "type": "sensor", - "uuid": "1ec1956a54ae5107a802b9ec2b215b41" - } - }, - "description": "Airbag signals.", - "type": "branch", - "uuid": "215134942dea5de0bf542dc6b1f7aeb3" - }, - "Backrest": { - "children": { - "Lumbar": { - "children": { - "Height": { - "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": "eb67d32eadf15c0085f6314546e86e20" - }, - "Support": { - "datatype": "float", - "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "c8fec973719351b3b17f3824653d685a" - } - }, - "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", - "type": "branch", - "uuid": "5eb73ac74d6a56ba9155cf16e145b9b4" - }, - "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", - "uuid": "65cf20c7effb5d159fd1099869cd0ebe" - }, - "SideBolster": { - "children": { - "Support": { - "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": "04cc8929b0f0509495b512a77b48afef" - } - }, - "description": "Backrest side bolster (lumbar side support) settings.", - "type": "branch", - "uuid": "2e06cc24d15651a1a1616fc77a5ba23b" - } - }, - "description": "Describes signals related to the backrest of the seat.", - "type": "branch", - "uuid": "1b7a7b3e344d50cca118327668f35be5" - }, - "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", - "uuid": "b7ee83ec92ac5595b56557cecbce7fd2" - }, - "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": "916740f753715f3ea6c55b5284613f8e" - } - }, - "description": "Headrest settings.", - "type": "branch", - "uuid": "67f772d705af5fac95ec768cf2bfe557" - }, - "Heating": { - "datatype": "int8", - "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", - "max": 100, - "min": -100, - "type": "actuator", - "unit": "percent", - "uuid": "7ae50ab2fea25798adc27814579bd33b" - }, - "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", - "uuid": "2bd4b50c13d7541db0a86a945c728849" - }, - "IsBelted": { - "datatype": "boolean", - "description": "Is the belt engaged.", - "type": "sensor", - "uuid": "ec3dc746a34752a1b55ac428579c3dfc" - }, - "IsOccupied": { - "datatype": "boolean", - "description": "Does the seat have a passenger in it.", - "type": "sensor", - "uuid": "3752de2ef1d85781a6e0a20a6812b9fc" - }, - "Massage": { - "datatype": "uint8", - "description": "Seat massage level. 0 = off. 100 = max massage.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "d7428179c70d576fb626a9a4bae4299e" - }, - "Occupant": { - "children": { - "Identifier": { - "children": { - "Issuer": { - "datatype": "string", - "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", - "type": "sensor", - "uuid": "a6b6158bc96c5ac98ad206193ff8b358" - }, - "Subject": { - "datatype": "string", - "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", - "type": "sensor", - "uuid": "dfc0fb66d7c058b7925970667b284bea" - } - }, - "description": "Identifier attributes based on OAuth 2.0.", - "type": "branch", - "uuid": "a12121bc096c5224a14c2d8ab10ae88b" - } - }, - "description": "Occupant data.", - "type": "branch", - "uuid": "e4a46503b2945ab18ac1ad96f0517151" - }, - "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", - "uuid": "71b34d4141225b77bc232bd3a2efa86f" - }, - "Seating": { - "children": { - "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": "4a5bd16967c65dd88eacf3e4ef8c071f" - } - }, - "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" - }, - "Switch": { - "children": { - "Backrest": { - "children": { - "IsReclineBackwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "d45a563848b15928885bc7abb88a2d29" - }, - "IsReclineForwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "838457df1a415fd1a9575eda730a3fa0" - }, - "Lumbar": { - "children": { - "IsDownEngaged": { - "datatype": "boolean", - "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "802ef996df3850c299f5c88dff83ab13" - }, - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "9c6786e620f151a3a5eeb4b54395d2d8" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "eeaa79b8443c59c28ba4eed3d2cc1aa1" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "ebf3534d31615c55803dc8b48d92ca6f" - } - }, - "description": "Switches for SingleSeat.Backrest.Lumbar.", - "type": "branch", - "uuid": "7789f295ccf75ab2aa899d2b095bafd4" - }, - "SideBolster": { - "children": { - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "ed76c57d2d0c5a1d851a708fbc750a29" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "a5bcb578170d5442aad65c116302557c" - } - }, - "description": "Switches for SingleSeat.Backrest.SideBolster.", - "type": "branch", - "uuid": "a5e3d845386b51c7bd2b054b81025112" - } - }, - "description": "Describes switches related to the backrest of the seat.", - "type": "branch", - "uuid": "55b0756c450a5df2b1a4b0e54b27804b" - }, - "Headrest": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "c2654d9579905679b73ab44b6028b664" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "10092cdf11165ffdb1e5b616fa5f841a" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "aa341f93f6095298ba328a8f164452cd" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "bf7acae10ed55aa49a9579f7dd028a8d" - } - }, - "description": "Switches for SingleSeat.Headrest.", - "type": "branch", - "uuid": "bb516988089154dfaff8b5b376778d76" - }, - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Seat backward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "a313045c29195b9ab11141155dd7ce17" - }, - "IsCoolerEngaged": { - "datatype": "boolean", - "description": "Cooler switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "05e311e0669d5c128757475c8a83dc51" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Seat down switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "192b6f898aa35459baa670b58c59c48f" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Seat forward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "95928045f69d5bfe9ef1c3eb2afec32a" - }, - "IsTiltBackwardEngaged": { - "datatype": "boolean", - "description": "Tilt backward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "d4f3974ffcd75ba3a5f040f9e823fffe" - }, - "IsTiltForwardEngaged": { - "datatype": "boolean", - "description": "Tilt forward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "aa71ac6246895ec1b6c74fd76ceecdda" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Seat up switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "c2915c2c175c5a3a862b99d9d2a9cc9a" - }, - "IsWarmerEngaged": { - "datatype": "boolean", - "description": "Warmer switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "65c26ab3824b5208bb21d7b8e2dd0124" - }, - "Massage": { - "children": { - "IsDecreaseEngaged": { - "datatype": "boolean", - "description": "Decrease massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "854f8899693756e8840ee04c856dd12b" - }, - "IsIncreaseEngaged": { - "datatype": "boolean", - "description": "Increase massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "a10a2542fdc85bd59286d62f5af32210" - } - }, - "description": "Switches for SingleSeat.Massage.", - "type": "branch", - "uuid": "e40ca46bfdeb5a82965c1d6b0fc06890" - }, - "Seating": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "5d6d6db128965724a9e6f236d9532377" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "9ec6de29b168513f823be11c8f348e8c" - } - }, - "description": "Describes switches related to the seating of the seat.", - "type": "branch", - "uuid": "f28ce1da77645fcd83aa72171ea172e8" - } - }, - "description": "Seat switch signals", - "type": "branch", - "uuid": "7a5a1ffb9ab65c6a9ee4cb581077f015" - }, - "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", - "uuid": "68275a8560a95481a54b590ce458d0e9" - } - }, - "description": "All seats.", - "type": "branch", - "uuid": "a3956dd19f73577a9e118e5ee6f5a180" - }, - "Middle": { - "children": { - "Airbag": { - "children": { - "IsDeployed": { - "datatype": "boolean", - "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", - "type": "sensor", - "uuid": "cc06da5cab1e5b2e91d180c93c9e8eab" - } - }, - "description": "Airbag signals.", - "type": "branch", - "uuid": "aa6d77c09158565787a2e418a1c9ea98" - }, - "Backrest": { - "children": { - "Lumbar": { - "children": { - "Height": { - "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": "1a20e907d2515d669c8207a464685be8" - }, - "Support": { - "datatype": "float", - "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "c281162d58ed50ccbd90fa58a1478047" - } - }, - "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", - "type": "branch", - "uuid": "f675492be60e5a1f9e4ed760a2ee4c33" - }, - "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", - "uuid": "d24b223dcbb0534389c6c506126497e7" - }, - "SideBolster": { - "children": { - "Support": { - "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": "b391d00bfb8f5e699fa2332cb5991cdb" - } - }, - "description": "Backrest side bolster (lumbar side support) settings.", - "type": "branch", - "uuid": "10538af050535035a3a20e6f702ce99f" - } - }, - "description": "Describes signals related to the backrest of the seat.", - "type": "branch", - "uuid": "4f54b32f4c85549b88acbe7cd19dcb20" - }, - "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", - "uuid": "41f7b225f1485deaba50f489d58656da" - }, - "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": "987682ae6e7a539897bab4d96458fe15" - } - }, - "description": "Headrest settings.", - "type": "branch", - "uuid": "eb9a3ea623445fbab28e98ace9716f48" - }, - "Heating": { - "datatype": "int8", - "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", - "max": 100, - "min": -100, - "type": "actuator", - "unit": "percent", - "uuid": "3b6a82f5f68f56bba88b7c5349e1a45d" - }, - "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", - "uuid": "5e2a819627075c7ea1a6fb2c6b7e550d" - }, - "IsBelted": { - "datatype": "boolean", - "description": "Is the belt engaged.", - "type": "sensor", - "uuid": "a4c37cf044a25eb9925b2278786b6cba" - }, - "IsOccupied": { - "datatype": "boolean", - "description": "Does the seat have a passenger in it.", - "type": "sensor", - "uuid": "50e0eeee98e95db58b87aa11a9285492" - }, - "Massage": { - "datatype": "uint8", - "description": "Seat massage level. 0 = off. 100 = max massage.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "d5c053d69d3457ecb3b87be15ccbfe1c" - }, - "Occupant": { - "children": { - "Identifier": { - "children": { - "Issuer": { - "datatype": "string", - "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", - "type": "sensor", - "uuid": "299d9f7fadef59859076cc783c2c6044" - }, - "Subject": { - "datatype": "string", - "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", - "type": "sensor", - "uuid": "2b257368bdb556d087e8f13806003ab2" - } - }, - "description": "Identifier attributes based on OAuth 2.0.", - "type": "branch", - "uuid": "3216275b8b6e5ab2a5f739232945c139" - } - }, - "description": "Occupant data.", - "type": "branch", - "uuid": "6850b36bd23f57d682a3ef7bc4faab5d" - }, - "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", - "uuid": "c7e61a5fe6f35d0fb50a4cbb3c5d15e8" - }, - "Seating": { - "children": { - "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": "76071549a729587fbdebb78ef360cad9" - } - }, - "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": "8a5674259c805a498c827cc4341b20c7" - }, - "Switch": { - "children": { - "Backrest": { - "children": { - "IsReclineBackwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "28a3b3bd920c552b8079c52743f10c22" - }, - "IsReclineForwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "2f81fa98e09b5cbdb462747053b61fe0" - }, - "Lumbar": { - "children": { - "IsDownEngaged": { - "datatype": "boolean", - "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "fbb8355fefd151b58936c7adbde8edd2" - }, - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "03390dc0feb256f4977f5aadcdef1663" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "703ec67285de5b3799ebd2e4f090e2eb" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "24535eb7418f5bd4ac16900ea925c3ee" - } - }, - "description": "Switches for SingleSeat.Backrest.Lumbar.", - "type": "branch", - "uuid": "11adccdb44b15e26b22252dd75810422" - }, - "SideBolster": { - "children": { - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "c67fc3cb95bf54ef988ec24b76db4221" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "dfcaac526f3952e0aa29caacf9cd796e" - } - }, - "description": "Switches for SingleSeat.Backrest.SideBolster.", - "type": "branch", - "uuid": "0618172eae735abdb3c40ed24481cb68" - } - }, - "description": "Describes switches related to the backrest of the seat.", - "type": "branch", - "uuid": "ea42e74c9ee55a188af9e0728428a991" - }, - "Headrest": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "aec4843ad9435b9785f0d2485d457c56" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "e993d306024f5d5d8f1ffe8897d76a38" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "bbeb896cdb5059ea83add870abb45c69" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "2078f41ff0505639aab472a9793e0767" - } - }, - "description": "Switches for SingleSeat.Headrest.", - "type": "branch", - "uuid": "84788fd7b9215fa78374c9ca196e5d2d" - }, - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Seat backward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "f9b78ecd6f065a59918c8fea51464f7a" - }, - "IsCoolerEngaged": { - "datatype": "boolean", - "description": "Cooler switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "36969412c2325b81906fc4a327a22c84" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Seat down switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "7507db75bf2d541e8eba802db5108fa7" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Seat forward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "0075b9cb31ae5a0c8172e966e6b40954" - }, - "IsTiltBackwardEngaged": { - "datatype": "boolean", - "description": "Tilt backward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "974123228c7a5fc0bbbc8b13063eb76e" - }, - "IsTiltForwardEngaged": { - "datatype": "boolean", - "description": "Tilt forward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "736dd231351d54389a65e77e39e28816" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Seat up switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "f8ded34424025a93b04ee9d47f451b22" - }, - "IsWarmerEngaged": { - "datatype": "boolean", - "description": "Warmer switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "2cdec47cb7565df3934ed28acf1e05a3" - }, - "Massage": { - "children": { - "IsDecreaseEngaged": { - "datatype": "boolean", - "description": "Decrease massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "07e2a1c17a1854abb180fdf2038ece03" - }, - "IsIncreaseEngaged": { - "datatype": "boolean", - "description": "Increase massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "9c2cd2dab1d65532b6b738966db8af41" - } - }, - "description": "Switches for SingleSeat.Massage.", - "type": "branch", - "uuid": "dc5720a01af45e78a562d12a93db0fbd" - }, - "Seating": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "fb25e00b59f1513eb66355fd254e3bbe" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "45ef8de577b55ff9b621aad08238edaf" - } - }, - "description": "Describes switches related to the seating of the seat.", - "type": "branch", - "uuid": "473086da2fc4501f9b3bdbc94133eb92" - } - }, - "description": "Seat switch signals", - "type": "branch", - "uuid": "c634c8cf644d57098ae8b5337dec44a9" - }, - "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", - "uuid": "30d7caa224e6589a882751be94fb7a33" - } - }, - "description": "All seats.", - "type": "branch", - "uuid": "a27650921e1e5ee0bd56562364c7dd6f" - }, - "PassengerSide": { - "children": { - "Airbag": { - "children": { - "IsDeployed": { - "datatype": "boolean", - "description": "Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.", - "type": "sensor", - "uuid": "a73fecde42375d07834a6670209228f4" - } - }, - "description": "Airbag signals.", - "type": "branch", - "uuid": "d16d61dc474f514fb10d1c8ecbeb9179" - }, - "Backrest": { - "children": { - "Lumbar": { - "children": { - "Height": { - "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" - }, - "Support": { - "datatype": "float", - "description": "Lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "b29e1fd9898e5981807d74caa94dd16a" - } - }, - "description": "Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.", - "type": "branch", - "uuid": "4eb3938a709f5e4dbdefeada15a4ddb9" - }, - "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", - "uuid": "6e3669fe31425539a49a2235c11bd5b5" - }, - "SideBolster": { - "children": { - "Support": { - "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" - } - }, - "description": "Backrest side bolster (lumbar side support) settings.", - "type": "branch", - "uuid": "7e9c0a02e46b57879a2e3a0e66f02137" - } - }, - "description": "Describes signals related to the backrest of the seat.", - "type": "branch", - "uuid": "ea5285b1124c527681e1a45c51429bdb" - }, - "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", - "uuid": "13f6bb21aa64545c97257c2b614622cb" - }, - "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": "a82bd9a0a9745ef68dae31474a095294" - } - }, - "description": "Headrest settings.", - "type": "branch", - "uuid": "a5449c4df2955aac981992fcbb581b84" - }, - "Heating": { - "datatype": "int8", - "description": "Seat cooling / heating. 0 = off. -100 = max cold. +100 = max heat.", - "max": 100, - "min": -100, - "type": "actuator", - "unit": "percent", - "uuid": "4c0ab40eaf745f12a09dc2c5acbedae9" - }, - "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", - "uuid": "b1ca33bf7f4455ada6be941b92b824da" - }, - "IsBelted": { - "datatype": "boolean", - "description": "Is the belt engaged.", - "type": "sensor", - "uuid": "c7d63d6c97845df5b602791f700968f7" - }, - "IsOccupied": { - "datatype": "boolean", - "description": "Does the seat have a passenger in it.", - "type": "sensor", - "uuid": "516d511279a75513a53ca57adade3a99" - }, - "Massage": { - "datatype": "uint8", - "description": "Seat massage level. 0 = off. 100 = max massage.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "bd9ec382d92e52ae826cb532ba13e11f" - }, - "Occupant": { - "children": { - "Identifier": { - "children": { - "Issuer": { - "datatype": "string", - "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", - "type": "sensor", - "uuid": "3acca59e11b95e92945ac8ea568a3213" - }, - "Subject": { - "datatype": "string", - "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", - "type": "sensor", - "uuid": "9fc55976f51c552fac70632a7e61b1f4" - } - }, - "description": "Identifier attributes based on OAuth 2.0.", - "type": "branch", - "uuid": "d18aded275a454068904eb5371a69f4d" - } - }, - "description": "Occupant data.", - "type": "branch", - "uuid": "0cd5c8c3bd3f55ee8cc4c876cad0b75f" - }, - "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", - "uuid": "07a8fe28cc1850dc96458e827a9ebeb5" - }, - "Seating": { - "children": { - "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" - } - }, - "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" - }, - "Switch": { - "children": { - "Backrest": { - "children": { - "IsReclineBackwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline backward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "e9591a8c0ef551dd8d2da760bf96045a" - }, - "IsReclineForwardEngaged": { - "datatype": "boolean", - "description": "Backrest recline forward switch engaged (SingleSeat.Backrest.Recline).", - "type": "actuator", - "uuid": "9fca194c445257049d2ba0bc5d134e12" - }, - "Lumbar": { - "children": { - "IsDownEngaged": { - "datatype": "boolean", - "description": "Lumbar down switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "32defc92edd159bc96939d399202d4ca" - }, - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "54dd7359d76f5caeb221807f3c9f05d6" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more lumbar support engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "bc763cfcd7fd511cbdc8ae2cc64a0ac7" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Lumbar up switch engaged (SingleSeat.Backrest.Lumbar.Support).", - "type": "actuator", - "uuid": "8bc621f1041052c7abf17124cb6dc270" - } - }, - "description": "Switches for SingleSeat.Backrest.Lumbar.", - "type": "branch", - "uuid": "ee7310791c475bcb946bd7074fb375af" - }, - "SideBolster": { - "children": { - "IsLessSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for less side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "ccdd90ab2f3152be80c64b4500c78a8b" - }, - "IsMoreSupportEngaged": { - "datatype": "boolean", - "description": "Is switch for more side bolster support engaged (SingleSeat.Backrest.SideBolster.Support).", - "type": "actuator", - "uuid": "cd893883ea4857b8a42e02dccd7c48d6" - } - }, - "description": "Switches for SingleSeat.Backrest.SideBolster.", - "type": "branch", - "uuid": "a69bfc99fd21564b9d6e06504063f3f0" - } - }, - "description": "Describes switches related to the backrest of the seat.", - "type": "branch", - "uuid": "9417cfbf4a08528f9a6bb6de95dd53a3" - }, - "Headrest": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Head rest backward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "0f6c3fada9695cfc89309bca1941d0f5" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Head rest down switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "263c5edb7c7c515581a853327df34215" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Head rest forward switch engaged (SingleSeat.Headrest.Angle).", - "type": "actuator", - "uuid": "d86793d827f6545e97e03d1b8363236d" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Head rest up switch engaged (SingleSeat.Headrest.Height).", - "type": "actuator", - "uuid": "b77c09fbcec95c5fb04a6d14af5b9f94" - } - }, - "description": "Switches for SingleSeat.Headrest.", - "type": "branch", - "uuid": "0db2d43128845f65a029915777d30ac9" - }, - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Seat backward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "cefaab13d761577f86c35403460a83de" - }, - "IsCoolerEngaged": { - "datatype": "boolean", - "description": "Cooler switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "119275e2b8b9579fbaf45f419f01879b" - }, - "IsDownEngaged": { - "datatype": "boolean", - "description": "Seat down switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "00793becfbf35a1f9e22e62c0ee23382" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Seat forward switch engaged (SingleSeat.Position).", - "type": "actuator", - "uuid": "6c4cb5e0ab59597db55b22918510c1a1" - }, - "IsTiltBackwardEngaged": { - "datatype": "boolean", - "description": "Tilt backward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "d6a316b6a3455e9da8769144aece2a74" - }, - "IsTiltForwardEngaged": { - "datatype": "boolean", - "description": "Tilt forward switch engaged (SingleSeat.Tilt).", - "type": "actuator", - "uuid": "b601c11e3b525dd19933adaf807bc5c1" - }, - "IsUpEngaged": { - "datatype": "boolean", - "description": "Seat up switch engaged (SingleSeat.Height).", - "type": "actuator", - "uuid": "0f1060fee7e05b2b91cc51d5a9b3da74" - }, - "IsWarmerEngaged": { - "datatype": "boolean", - "description": "Warmer switch for Seat heater (SingleSeat.Heating).", - "type": "actuator", - "uuid": "a6ae083174c65a9599901c00819694f8" - }, - "Massage": { - "children": { - "IsDecreaseEngaged": { - "datatype": "boolean", - "description": "Decrease massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "399c59f3d97151499a9005b329368baf" - }, - "IsIncreaseEngaged": { - "datatype": "boolean", - "description": "Increase massage level switch engaged (SingleSeat.Massage).", - "type": "actuator", - "uuid": "ac7635aa2fc7578aae97d8a253e9a303" - } - }, - "description": "Switches for SingleSeat.Massage.", - "type": "branch", - "uuid": "bd644892090f5bd9a4b89281331cbe4d" - }, - "Seating": { - "children": { - "IsBackwardEngaged": { - "datatype": "boolean", - "description": "Is switch to decrease seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "ed70ebf0a7065894af1ac26e409d2408" - }, - "IsForwardEngaged": { - "datatype": "boolean", - "description": "Is switch to increase seating length engaged (SingleSeat.Seating.Length).", - "type": "actuator", - "uuid": "ef90f29f5ab65b0cbf271a7e06fa848d" - } - }, - "description": "Describes switches related to the seating of the seat.", - "type": "branch", - "uuid": "0b6331463cf65b44a5709705a1e55d7c" - } - }, - "description": "Seat switch signals", - "type": "branch", - "uuid": "dc15316849e75f6d9995d428eee65421" - }, - "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", - "uuid": "646c179da57a59c39ca9777a4808980b" - } - }, - "description": "All seats.", - "type": "branch", - "uuid": "8cd32cb3e2d157b39af57d9cfe2e128c" - } - }, - "description": "All seats.", - "type": "branch", - "uuid": "8c3aaf015ef8595cb45d9461a9c1195f" - } - }, - "description": "All seats.", - "type": "branch", - "uuid": "b0b253106b2851e3bb5c71ae3b09f09d" - }, - "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", - "uuid": "8dd40ecd47ab51c79ed9c74ae4296d7e" - }, - "SeatRowCount": { - "comment": "Default value corresponds to two rows of seats.", - "datatype": "uint8", - "default": 2, - "description": "Number of seat rows in vehicle.", - "type": "attribute", - "uuid": "1002a7a4a954581b9cbc72fa438c5292" - }, - "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", - "uuid": "ab598697f1c852eda4df9ed62a956d17" - }, - "Shade": { - "children": { - "Position": { - "datatype": "uint8", - "description": "Position of window blind. 0 = Fully retracted. 100 = Fully deployed.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "5f78c2a631b75abc88744f9bad277f5a" - }, - "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", - "uuid": "3836077128c65381b01e74a1a8be1c40" - } - }, - "description": "Sun roof shade status.", - "type": "branch", - "uuid": "eeaae5977adb5683b16f405993405b2e" - }, - "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", - "uuid": "88c39afd45a25ea2b474ff581e1fb138" - } - }, - "description": "Sun roof status.", - "type": "branch", - "uuid": "8ff70db05c065e3eb530082a0b6983cf" - } - }, - "description": "All in-cabin components, including doors.", - "type": "branch", - "uuid": "1a94457b237f5e8eb3c77c0532ac88d7" - }, - "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", - "uuid": "789feabca2e8560ea3c1852371b4096e" - }, - "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", - "uuid": "2fabd8b61db45f62b4e97e7a612b4a73" - } - }, - "description": "Accelerator signals", - "type": "branch", - "uuid": "3b2b562086a45eb29c55186f3b710621" - }, - "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", - "uuid": "4458487c2a4e51efa3762349188ce2a1" - }, - "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", - "uuid": "91310e9ef88450c68791fbb07d83f104" - }, - "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" - }, - "TireDiameter": { - "datatype": "float", - "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", - "type": "attribute", - "unit": "inch", - "uuid": "ed9f037c1b5d53c78c90b71179db1f4f" - }, - "TireWidth": { - "datatype": "uint16", - "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", - "type": "attribute", - "unit": "mm", - "uuid": "3444d8773c215cd7a076d688eb7f1afc" - }, - "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", - "uuid": "d854bb9c72615e2896c1ed084db515fa" - }, - "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", - "uuid": "0851716e0b635392b6bb64cb478e82b0" - }, - "Wheel": { - "children": { - "Left": { - "children": { - "Brake": { - "children": { - "FluidLevel": { - "datatype": "uint8", - "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "63aa9c4973ef50b18bd7214c9f2634c5" - }, - "IsBrakesWorn": { - "datatype": "boolean", - "description": "Brake pad wear status. True = Worn. False = Not Worn.", - "type": "sensor", - "uuid": "901771088eb35dec9e69b56a8cb3e8f5" - }, - "IsFluidLevelLow": { - "datatype": "boolean", - "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", - "type": "sensor", - "uuid": "713da56818e55714ac441e10870b3753" - }, - "PadWear": { - "datatype": "uint8", - "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "b4ed36f8143d512fadaca3e641739ee2" - } - }, - "description": "Brake signals for wheel", - "type": "branch", - "uuid": "162dab13d5815ec4bc22888b0bc59cbf" - }, - "Speed": { - "datatype": "float", - "description": "Rotational speed of a vehicle's wheel.", - "type": "sensor", - "unit": "km/h", - "uuid": "47897f20b2745b6aa2d0f76f1ecf824a" - }, - "Tire": { - "children": { - "IsPressureLow": { - "datatype": "boolean", - "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", - "type": "sensor", - "uuid": "4088315cfaa05c28b51c3d3462c65339" - }, - "Pressure": { - "datatype": "uint16", - "description": "Tire pressure in kilo-Pascal.", - "type": "sensor", - "unit": "kPa", - "uuid": "9fa3f176fd975d28a68f70c7d72e370f" - }, - "Temperature": { - "datatype": "float", - "description": "Tire temperature in Celsius.", - "type": "sensor", - "unit": "celsius", - "uuid": "093d8fb119755f6bafa979e4eae201a0" - } - }, - "description": "Tire signals for wheel.", - "type": "branch", - "uuid": "17c60ec3c02054b4951c975156375d9a" - } - }, - "description": "Wheel signals for axle", - "type": "branch", - "uuid": "0cd478c6e72b55c6be6d3d9df9624545" - }, - "Right": { - "children": { - "Brake": { - "children": { - "FluidLevel": { - "datatype": "uint8", - "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "386bfddee4605e419d59755a51835650" - }, - "IsBrakesWorn": { - "datatype": "boolean", - "description": "Brake pad wear status. True = Worn. False = Not Worn.", - "type": "sensor", - "uuid": "4c669b71c91e57dd8fd804ee68174b9c" - }, - "IsFluidLevelLow": { - "datatype": "boolean", - "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", - "type": "sensor", - "uuid": "bb2057bc31c25beda1da0610ca62bd51" - }, - "PadWear": { - "datatype": "uint8", - "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "f3c53c8c5628527a8501e12778dae6c7" - } - }, - "description": "Brake signals for wheel", - "type": "branch", - "uuid": "f334a45b92215f86b4ecadbd82c8b249" - }, - "Speed": { - "datatype": "float", - "description": "Rotational speed of a vehicle's wheel.", - "type": "sensor", - "unit": "km/h", - "uuid": "c288d064d56e53bfb94cef8670872587" - }, - "Tire": { - "children": { - "IsPressureLow": { - "datatype": "boolean", - "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", - "type": "sensor", - "uuid": "93fa1125894e53259af5b7e1d991c8da" - }, - "Pressure": { - "datatype": "uint16", - "description": "Tire pressure in kilo-Pascal.", - "type": "sensor", - "unit": "kPa", - "uuid": "ea8038b63e6650ffb1a20539e915064a" - }, - "Temperature": { - "datatype": "float", - "description": "Tire temperature in Celsius.", - "type": "sensor", - "unit": "celsius", - "uuid": "58d4cee188d353d7996e855d48bb92df" - } - }, - "description": "Tire signals for wheel.", - "type": "branch", - "uuid": "660f90ae8f14594cb6e97d000c1985a1" - } - }, - "description": "Wheel signals for axle", - "type": "branch", - "uuid": "c7ae1f1787ec502d8aea41802dc9a203" - } - }, - "description": "Wheel signals for axle", - "type": "branch", - "uuid": "8ed02c02eee0502ba6d94a5d5f1fb789" - }, - "WheelCount": { - "datatype": "uint8", - "description": "Number of wheels on the axle", - "type": "attribute", - "uuid": "7232effafb7d5c908a9bafe1cef2ff3e" - }, - "WheelDiameter": { - "datatype": "float", - "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", - "type": "attribute", - "unit": "inch", - "uuid": "60d4b948ae8a5485bd77c45e1f648c13" - }, - "WheelWidth": { - "datatype": "float", - "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", - "type": "attribute", - "unit": "inch", - "uuid": "5b92bdab1e035ff4ba000330e20f826b" - } - }, - "description": "Axle signals", - "type": "branch", - "uuid": "d7e93a94af0752aaab36819f6be4f67a" - }, - "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", - "uuid": "99860d78f2b25ae0b420660b76f933f0" - }, - "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", - "uuid": "bf1960525e725d2ca145ce12ba939ea3" - }, - "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" - }, - "TireDiameter": { - "datatype": "float", - "description": "Outer diameter of tires, in inches, as per ETRTO / TRA standard.", - "type": "attribute", - "unit": "inch", - "uuid": "4dc46ee7fe0a5240a6eb67f9bf43a1ea" - }, - "TireWidth": { - "datatype": "uint16", - "description": "Nominal section width of tires, in mm, as per ETRTO / TRA standard.", - "type": "attribute", - "unit": "mm", - "uuid": "76a9071697b25fb8ab42393dfb77f0ef" - }, - "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", - "uuid": "b6c5ba52f1985f179c9346edbabe2f9b" - }, - "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", - "uuid": "bdfd2fb7c3b25091a48f873462466f84" - }, - "Wheel": { - "children": { - "Left": { - "children": { - "Brake": { - "children": { - "FluidLevel": { - "datatype": "uint8", - "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "4b0d4f80b8855973a55ffee80fdfc4ba" - }, - "IsBrakesWorn": { - "datatype": "boolean", - "description": "Brake pad wear status. True = Worn. False = Not Worn.", - "type": "sensor", - "uuid": "3d9bae5bf0705de99789ecea26b99a5c" - }, - "IsFluidLevelLow": { - "datatype": "boolean", - "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", - "type": "sensor", - "uuid": "01f57161b0bf539fad1d2bfa9d9a9fc4" - }, - "PadWear": { - "datatype": "uint8", - "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "8eff72d583015e1e94eab98bf8f0497e" - } - }, - "description": "Brake signals for wheel", - "type": "branch", - "uuid": "774d0a5771d35975872870cf71ea1487" - }, - "Speed": { - "datatype": "float", - "description": "Rotational speed of a vehicle's wheel.", - "type": "sensor", - "unit": "km/h", - "uuid": "427abdd04fc355769697d998a47d3f58" - }, - "Tire": { - "children": { - "IsPressureLow": { - "datatype": "boolean", - "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", - "type": "sensor", - "uuid": "d895b1e23a4f59ec92735fc317e44769" - }, - "Pressure": { - "datatype": "uint16", - "description": "Tire pressure in kilo-Pascal.", - "type": "sensor", - "unit": "kPa", - "uuid": "ea414012c36e54fc84ec1d421f370ddd" - }, - "Temperature": { - "datatype": "float", - "description": "Tire temperature in Celsius.", - "type": "sensor", - "unit": "celsius", - "uuid": "06ab6b3fe7bb5f7c9e2e104ee0e7cfd5" - } - }, - "description": "Tire signals for wheel.", - "type": "branch", - "uuid": "edfee87117dc5a6f9d970167f26ec090" - } - }, - "description": "Wheel signals for axle", - "type": "branch", - "uuid": "4c32a1c722a45ea09a52c389e8a8a618" - }, - "Right": { - "children": { - "Brake": { - "children": { - "FluidLevel": { - "datatype": "uint8", - "description": "Brake fluid level as percent. 0 = Empty. 100 = Full.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "83e5e261302d5ab38c9ee4dddc18c8ae" - }, - "IsBrakesWorn": { - "datatype": "boolean", - "description": "Brake pad wear status. True = Worn. False = Not Worn.", - "type": "sensor", - "uuid": "9b5963e98a9c5b229a61df76ef5c86e0" - }, - "IsFluidLevelLow": { - "datatype": "boolean", - "description": "Brake fluid level status. True = Brake fluid level low. False = Brake fluid level OK.", - "type": "sensor", - "uuid": "727823c7e0d551f48f26a5dd4f0578bd" - }, - "PadWear": { - "datatype": "uint8", - "description": "Brake pad wear as percent. 0 = No Wear. 100 = Worn.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "63a564bca18a5b1fabd7d3cff1af0e6d" - } - }, - "description": "Brake signals for wheel", - "type": "branch", - "uuid": "5c33ec4bd8a15d3590f59e7257bf4d25" - }, - "Speed": { - "datatype": "float", - "description": "Rotational speed of a vehicle's wheel.", - "type": "sensor", - "unit": "km/h", - "uuid": "85b41a82f4775fcea57dcc6218fb6d7b" - }, - "Tire": { - "children": { - "IsPressureLow": { - "datatype": "boolean", - "description": "Tire Pressure Status. True = Low tire pressure. False = Good tire pressure.", - "type": "sensor", - "uuid": "da2f63312a455d92abd5edc405f01903" - }, - "Pressure": { - "datatype": "uint16", - "description": "Tire pressure in kilo-Pascal.", - "type": "sensor", - "unit": "kPa", - "uuid": "0cd3dd4be36c5fcda49d6360556ba7c8" - }, - "Temperature": { - "datatype": "float", - "description": "Tire temperature in Celsius.", - "type": "sensor", - "unit": "celsius", - "uuid": "7c08b5778bc05265bb8d4e08fdca29cf" - } - }, - "description": "Tire signals for wheel.", - "type": "branch", - "uuid": "d855fe9ffb4e52be83ebfc7967c1c3ee" - } - }, - "description": "Wheel signals for axle", - "type": "branch", - "uuid": "f59f6ce66b1454498f5dc71be581732a" - } - }, - "description": "Wheel signals for axle", - "type": "branch", - "uuid": "87b119ed6de254159877b24047fd3026" - }, - "WheelCount": { - "datatype": "uint8", - "description": "Number of wheels on the axle", - "type": "attribute", - "uuid": "ac6fe103410153d382306426d14213ab" - }, - "WheelDiameter": { - "datatype": "float", - "description": "Diameter of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", - "type": "attribute", - "unit": "inch", - "uuid": "af27b1d18a5455e593692a9929909bb9" - }, - "WheelWidth": { - "datatype": "float", - "description": "Width of wheels (rims without tires), in inches, as per ETRTO / TRA standard.", - "type": "attribute", - "unit": "inch", - "uuid": "889d279053c051979ebbe301bacac206" - } - }, - "description": "Axle signals", - "type": "branch", - "uuid": "8ef77768446659b6b5020a06c7b23c8b" - } - }, - "description": "Axle signals", - "type": "branch", - "uuid": "0a3ebde7efa85c04ac6c29b5676fec5d" - }, - "AxleCount": { - "datatype": "uint8", - "default": 2, - "description": "Number of axles on the vehicle", - "type": "attribute", - "uuid": "86d084c9148d5f22b5402a030413ed79" - }, - "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", - "uuid": "0d462892aeac5062a62ee7d07306f6a6" - }, - "PedalPosition": { - "datatype": "uint8", - "description": "Brake pedal position as percent. 0 = Not depressed. 100 = Fully depressed.", - "max": 100, - "min": 0, - "type": "sensor", - "unit": "percent", - "uuid": "0477d3a4a831564ea473976cf34374f2" - } - }, - "description": "Brake system signals", - "type": "branch", - "uuid": "38df972e5c6b558e93839a5e97238c5a" - }, - "ParkingBrake": { - "children": { - "IsAutoApplyEnabled": { - "datatype": "boolean", - "description": "Indicates if parking brake will be automatically engaged when the vehicle engine is turned off.", - "type": "actuator", - "uuid": "26c694c9a1c75b699cc8c1dd2986ab90" - }, - "IsEngaged": { - "datatype": "boolean", - "description": "Parking brake status. True = Parking Brake is Engaged. False = Parking Brake is not Engaged.", - "type": "actuator", - "uuid": "faa7f94e6a5555c6b2d62e3328520ce0" - } - }, - "description": "Parking brake signals", - "type": "branch", - "uuid": "3849d42292f4551590fa4bf716fc90f7" - }, - "SteeringWheel": { - "children": { - "Angle": { - "datatype": "int16", - "description": "Steering wheel angle. Positive = degrees to the left. Negative = degrees to the right.", - "type": "sensor", - "unit": "degrees", - "uuid": "92cd3b3d37585b2291806fe5127d9393" - }, - "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", - "uuid": "6a84cc3604fc5960a1fb384fe63fae72" - }, - "Tilt": { - "datatype": "uint8", - "description": "Steering wheel column tilt. 0 = Lowest position. 100 = Highest position.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "33e979769f91521d8080384447d06c00" - } - }, - "description": "Steering wheel signals", - "type": "branch", - "uuid": "8c759072791e5986ac4efe9df0c2b751" - }, - "Wheelbase": { - "datatype": "uint16", - "default": 0, - "description": "Overall wheelbase, in mm.", - "type": "attribute", - "unit": "mm", - "uuid": "11677e0433935dc7aa9c1806c96a8a6b" - } - }, - "description": "All data concerning steering, suspension, wheels, and brakes.", - "type": "branch", - "uuid": "87d260d635425da0a4ebd62bc4e5c313" - }, - "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", - "uuid": "b6d11be2a6565996b68ffb07a96595a7" - } - }, - "description": "Connectivity data.", - "type": "branch", - "uuid": "89c267fccea35f3da9871cca2b4dc4df" - }, - "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" - }, - "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", - "uuid": "d3ead98ab0b751c1a5b5dd5bc0e5e216" - }, - "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", - "uuid": "52853b33d4605608bd0ae50595c69309" - }, - "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", - "uuid": "f23d40f3556b5676a0d1e3def037197f" - }, - "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" - }, - "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" - } - }, - "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", - "uuid": "5c0887bce6fb5eb79402baaccb203e61" - } - }, - "description": "Information on the GNSS receiver used for determining current location.", - "type": "branch", - "uuid": "b1bea5d88662539a8cff6f8fe4974740" - }, - "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" - }, - "HorizontalAccuracy": { - "datatype": "double", - "description": "Accuracy of the latitude and longitude coordinates.", - "type": "sensor", - "unit": "m", - "uuid": "bf25ef243f0c5f839f7ef874f9c57fda" - }, - "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" - }, - "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", - "uuid": "5246f2ec5fea550cb1b36f110854cfbb" - }, - "Timestamp": { - "datatype": "string", - "description": "Timestamp from GNSS system for current location, formatted according to ISO 8601 with UTC time zone.", - "type": "sensor", - "uuid": "094aeff73be05c08905690be0e82a438" - }, - "VerticalAccuracy": { - "datatype": "double", - "description": "Accuracy of altitude.", - "type": "sensor", - "unit": "m", - "uuid": "8f54055bce9e5e8e97fb6051582707ab" - } - }, - "description": "The current latitude and longitude of the vehicle.", - "type": "branch", - "uuid": "24777bd485f15fb69550ae0520c40ad5" - }, - "CurrentOverallWeight": { - "datatype": "uint16", - "description": "Current overall Vehicle weight. Including passengers, cargo and other load inside the car.", - "type": "sensor", - "unit": "kg", - "uuid": "75599d7628bb5f35839055269d3ad205" - }, - "Driver": { - "children": { - "AttentiveProbability": { - "datatype": "float", - "description": "Probability of attentiveness of the driver.", - "max": 100, - "min": 0, - "type": "sensor", - "unit": "percent", - "uuid": "fcd202467afb533fbbf9e7da89cc1cee" - }, - "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", - "uuid": "cb35ec0b924e58979e1469146d65c3fa" - }, - "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", - "uuid": "49b1626295705a79ae20d8a270c48b6b" - }, - "HeartRate": { - "datatype": "uint16", - "description": "Heart rate of the driver.", - "type": "sensor", - "unit": "bpm", - "uuid": "d71516905f785c4da867a2f86e774d93" - }, - "Identifier": { - "children": { - "Issuer": { - "datatype": "string", - "description": "Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.", - "type": "sensor", - "uuid": "ee7988d26d7156d2a030ecc506ea97e7" - }, - "Subject": { - "datatype": "string", - "description": "Subject for the authentication of the occupant e.g. UserID 7331677.", - "type": "sensor", - "uuid": "b41ec688af265f10824bc9635989ac55" - } - }, - "description": "Identifier attributes based on OAuth 2.0.", - "type": "branch", - "uuid": "89705397069c5ec58d607318f2ff0ea8" - }, - "IsEyesOnRoad": { - "datatype": "boolean", - "description": "Has driver the eyes on road or not?", - "type": "sensor", - "uuid": "625e5009f1145aa0b797ee6c335ca2fe" - }, - "IsHandsOnWheel": { - "datatype": "boolean", - "description": "Are the driver's hands on the steering wheel or not?", - "type": "sensor", - "uuid": "90d7dc2c408c528d941829ff88075f24" - } - }, - "description": "Driver data.", - "type": "branch", - "uuid": "1cac57e7b7e756dc8a154eaacbce6426" - }, - "EmissionsCO2": { - "datatype": "int16", - "description": "The CO2 emissions.", - "type": "attribute", - "unit": "g/km", - "uuid": "b73e8f1ed17d584fad3f088c666dc2a5" - }, - "Exterior": { - "children": { - "AirTemperature": { - "datatype": "float", - "description": "Air temperature outside the vehicle.", - "type": "sensor", - "unit": "celsius", - "uuid": "a38d3f5dfeb35317aca8b90453dc1a75" - }, - "Humidity": { - "datatype": "float", - "description": "Relative humidity outside the vehicle. 0 = Dry, 100 = Air fully saturated.", - "max": 100, - "min": 0, - "type": "sensor", - "unit": "percent", - "uuid": "6c785ec5d9a5534f98be7ce198d25d6b" - }, - "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", - "uuid": "9b46b70490f853e891e1cc35dd08dddc" - } - }, - "description": "Information about exterior measured by vehicle.", - "type": "branch", - "uuid": "06c5def549f3580e8cdaffa3e0f5d25c" - }, - "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" - }, - "Height": { - "datatype": "uint16", - "default": 0, - "description": "Overall vehicle height.", - "type": "attribute", - "unit": "mm", - "uuid": "9784d39f68b8541f90c355178ded7d7c" - }, - "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", - "uuid": "469ebd2a76b45e5b97b799262a085330" - }, - "IsMoving": { - "datatype": "boolean", - "description": "Indicates whether the vehicle is stationary or moving.", - "type": "sensor", - "uuid": "db69549cc7375e919c2a2883b41cd19c" - }, - "Length": { - "datatype": "uint16", - "default": 0, - "description": "Overall vehicle length.", - "type": "attribute", - "unit": "mm", - "uuid": "885f1be6842a513582e52a42edb3176f" - }, - "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", - "uuid": "e1d76e489d505b03ace30771ba4291b1" - }, - "CurrentVoltage": { - "datatype": "float", - "description": "Current Voltage of the low voltage battery.", - "type": "sensor", - "unit": "V", - "uuid": "1394234e8b975a279959ae82e03df786" - }, - "NominalCapacity": { - "datatype": "uint16", - "description": "Nominal capacity of the low voltage battery.", - "type": "attribute", - "unit": "Ah", - "uuid": "d9f32612cb2f58d3b863a0dae21ff7af" - }, - "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" - } - }, - "description": "Signals related to low voltage battery.", - "type": "branch", - "uuid": "ab8c5816d44f55b68f6e1d6d9e5acb0b" - }, - "LowVoltageSystemState": { - "allowed": [ - "UNDEFINED", - "LOCK", - "OFF", - "ACC", - "ON", - "START" - ], - "datatype": "string", - "description": "State of the supply voltage of the control units (usually 12V).", - "type": "sensor", - "uuid": "d7391ceb132e5519b02d4c13d5513d99" - }, - "MaxTowBallWeight": { - "datatype": "uint16", - "default": 0, - "description": "Maximum vertical weight on the tow ball of a trailer.", - "type": "attribute", - "unit": "kg", - "uuid": "fec550f2064750e8b65b54fbf1368d68" - }, - "MaxTowWeight": { - "datatype": "uint16", - "default": 0, - "description": "Maximum weight of trailer.", - "type": "attribute", - "unit": "kg", - "uuid": "a1b8fd65897654aa8a418bccf443f1f3" - }, - "OBD": { - "children": { - "AbsoluteLoad": { - "datatype": "float", - "description": "PID 43 - Absolute load value", - "type": "sensor", - "unit": "percent", - "uuid": "b3dd889a42ce5de9a7904b7196ae325c" - }, - "AcceleratorPositionD": { - "datatype": "float", - "description": "PID 49 - Accelerator pedal position D", - "type": "sensor", - "unit": "percent", - "uuid": "7e63256081ac5a7b8a28a6fa3c2c2ff9" - }, - "AcceleratorPositionE": { - "datatype": "float", - "description": "PID 4A - Accelerator pedal position E", - "type": "sensor", - "unit": "percent", - "uuid": "4104e7fc25355e25b4522d233565d84b" - }, - "AcceleratorPositionF": { - "datatype": "float", - "description": "PID 4B - Accelerator pedal position F", - "type": "sensor", - "unit": "percent", - "uuid": "95f5c2a209a857ff930e2f8e32ac2d3f" - }, - "AirStatus": { - "datatype": "string", - "description": "PID 12 - Secondary air status", - "type": "sensor", - "uuid": "548f65bf59ed505a86dfaa1c33342e4d" - }, - "AmbientAirTemperature": { - "datatype": "float", - "description": "PID 46 - Ambient air temperature", - "type": "sensor", - "unit": "celsius", - "uuid": "220a90f183c5583ea8b8b6454d774517" - }, - "BarometricPressure": { - "datatype": "float", - "description": "PID 33 - Barometric pressure", - "type": "sensor", - "unit": "kPa", - "uuid": "1966bfff4d235767bfd9a21afb445ac7" - }, - "Catalyst": { - "children": { - "Bank1": { - "children": { - "Temperature1": { - "datatype": "float", - "description": "PID 3C - Catalyst temperature from bank 1, sensor 1", - "type": "sensor", - "unit": "celsius", - "uuid": "5a770f13939e5d069682d408f160a895" - }, - "Temperature2": { - "datatype": "float", - "description": "PID 3E - Catalyst temperature from bank 1, sensor 2", - "type": "sensor", - "unit": "celsius", - "uuid": "ca9419a5d23b5937af23b51d823722fa" - } - }, - "description": "Catalyst bank 1 signals", - "type": "branch", - "uuid": "0c3aaf014ba95b938b639d4202ef8b25" - }, - "Bank2": { - "children": { - "Temperature1": { - "datatype": "float", - "description": "PID 3D - Catalyst temperature from bank 2, sensor 1", - "type": "sensor", - "unit": "celsius", - "uuid": "011658e4ee89502c9a33877c92dbf888" - }, - "Temperature2": { - "datatype": "float", - "description": "PID 3F - Catalyst temperature from bank 2, sensor 2", - "type": "sensor", - "unit": "celsius", - "uuid": "f60c68f0ebca5fcf97086ce04e16d661" - } - }, - "description": "Catalyst bank 2 signals", - "type": "branch", - "uuid": "9a20459754755146a3b9608bf6384835" - } - }, - "description": "Catalyst signals", - "type": "branch", - "uuid": "4eb0b191d6445de081f3f3f759af31c2" - }, - "CommandedEGR": { - "datatype": "float", - "description": "PID 2C - Commanded exhaust gas recirculation (EGR)", - "type": "sensor", - "unit": "percent", - "uuid": "0265890a4a695ee6952c9b9f565ddaa5" - }, - "CommandedEVAP": { - "datatype": "float", - "description": "PID 2E - Commanded evaporative purge (EVAP) valve", - "type": "sensor", - "unit": "percent", - "uuid": "5e6295d04a9159b88f4698b561b86842" - }, - "CommandedEquivalenceRatio": { - "datatype": "float", - "description": "PID 44 - Commanded equivalence ratio", - "type": "sensor", - "unit": "ratio", - "uuid": "104e39e816f65fa791d0afa24603292b" - }, - "ControlModuleVoltage": { - "datatype": "float", - "description": "PID 42 - Control module voltage", - "type": "sensor", - "unit": "V", - "uuid": "59e072b932605ffc88a299c874d885c4" - }, - "CoolantTemperature": { - "datatype": "float", - "description": "PID 05 - Coolant temperature", - "type": "sensor", - "unit": "celsius", - "uuid": "824892cdc72d5f92a38ef3136576edc8" - }, - "DTCList": { - "datatype": "string[]", - "description": "List of currently active DTCs formatted according OBD II (SAE-J2012DA_201812) standard ([P|C|B|U]XXXXX )", - "type": "sensor", - "uuid": "eee1b64e69845d5ab5e793b74631f9dc" - }, - "DistanceSinceDTCClear": { - "datatype": "float", - "description": "PID 31 - Distance traveled since codes cleared", - "type": "sensor", - "unit": "km", - "uuid": "0da628e2c69d561eb86216ddcb6e7b2a" - }, - "DistanceWithMIL": { - "datatype": "float", - "description": "PID 21 - Distance traveled with MIL on", - "type": "sensor", - "unit": "km", - "uuid": "a9a522e343f25522b08f11e81bb91349" - }, - "DriveCycleStatus": { - "children": { - "DTCCount": { - "datatype": "uint8", - "description": "Number of sensor Trouble Codes (DTC)", - "type": "sensor", - "uuid": "312856f746ff560e8098c19196964d3b" - }, - "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" - }, - "IsMILOn": { - "datatype": "boolean", - "description": "Malfunction Indicator Light (MIL) - False = Off, True = On", - "type": "sensor", - "uuid": "e367394c9a075eef8fd66499e3d9cf14" - } - }, - "description": "PID 41 - OBD status for the current drive cycle", - "type": "branch", - "uuid": "5215e28062f75154822789b8a5f30630" - }, - "EGRError": { - "datatype": "float", - "description": "PID 2D - Exhaust gas recirculation (EGR) error", - "type": "sensor", - "unit": "percent", - "uuid": "80a7000c5c7b5444b5571a26264061e5" - }, - "EVAPVaporPressure": { - "datatype": "float", - "description": "PID 32 - Evaporative purge (EVAP) system pressure", - "type": "sensor", - "unit": "Pa", - "uuid": "70b5dae2ffd0561eab73efed8ad2f0ad" - }, - "EVAPVaporPressureAbsolute": { - "datatype": "float", - "description": "PID 53 - Absolute evaporative purge (EVAP) system pressure", - "type": "sensor", - "unit": "kPa", - "uuid": "ef188a1e1a1356f7bc425081e3e00805" - }, - "EVAPVaporPressureAlternate": { - "datatype": "float", - "description": "PID 54 - Alternate evaporative purge (EVAP) system pressure", - "type": "sensor", - "unit": "Pa", - "uuid": "68eaba3c79975d61bc35b92cd3e5e8d0" - }, - "EngineLoad": { - "datatype": "float", - "description": "PID 04 - Engine load in percent - 0 = no load, 100 = full load", - "type": "sensor", - "unit": "percent", - "uuid": "a8fda8a1b4c6534aa49c447bafc1c700" - }, - "EngineSpeed": { - "datatype": "float", - "description": "PID 0C - Engine speed measured as rotations per minute", - "type": "sensor", - "unit": "rpm", - "uuid": "b682eea93b3e5874ab3b52e95a1fad37" - }, - "EthanolPercent": { - "datatype": "float", - "description": "PID 52 - Percentage of ethanol in the fuel", - "type": "sensor", - "unit": "percent", - "uuid": "a207e7de17e1520c894b412af6f2522c" - }, - "FreezeDTC": { - "datatype": "string", - "description": "PID 02 - DTC that triggered the freeze frame", - "type": "sensor", - "uuid": "5b87fae8dda4522aae209ae528960782" - }, - "FuelInjectionTiming": { - "datatype": "float", - "description": "PID 5D - Fuel injection timing", - "type": "sensor", - "unit": "degrees", - "uuid": "ab4869446f5357d6936838983e1b8949" - }, - "FuelLevel": { - "datatype": "float", - "description": "PID 2F - Fuel level in the fuel tank", - "type": "sensor", - "unit": "percent", - "uuid": "fd39813424ee5cd08c44714b35697287" - }, - "FuelPressure": { - "datatype": "float", - "description": "PID 0A - Fuel pressure", - "type": "sensor", - "unit": "kPa", - "uuid": "34e6b0689f025d7b9bfa1fc49bb30c0f" - }, - "FuelRailPressureAbsolute": { - "datatype": "float", - "description": "PID 59 - Absolute fuel rail pressure", - "type": "sensor", - "unit": "kPa", - "uuid": "83c88b13d30153949eeca1b1180a9061" - }, - "FuelRailPressureDirect": { - "datatype": "float", - "description": "PID 23 - Fuel rail pressure direct inject", - "type": "sensor", - "unit": "kPa", - "uuid": "039cb7bf1a8356a98d09eaf4fc029fe9" - }, - "FuelRailPressureVac": { - "datatype": "float", - "description": "PID 22 - Fuel rail pressure relative to vacuum", - "type": "sensor", - "unit": "kPa", - "uuid": "b3b0adf44aa3572fa07e7434993e6458" - }, - "FuelRate": { - "datatype": "float", - "description": "PID 5E - Engine fuel rate", - "type": "sensor", - "unit": "l/h", - "uuid": "4ab7c2b710f95ceb9c7d01d19dabac38" - }, - "FuelStatus": { - "datatype": "string", - "description": "PID 03 - Fuel status", - "type": "sensor", - "uuid": "15fa2f3f667a5f5786eda5c83435ef16" - }, - "FuelType": { - "datatype": "uint8", - "description": "PID 51 - Fuel type", - "max": 23, - "min": 0, - "type": "attribute", - "uuid": "aefb45bdd8035904b0c8f3ffcedc53a9" - }, - "HybridBatteryRemaining": { - "datatype": "float", - "description": "PID 5B - Remaining life of hybrid battery", - "type": "sensor", - "unit": "percent", - "uuid": "c9517b6243df5e8d8f3aa3e57f71ec37" - }, - "IntakeTemp": { - "datatype": "float", - "description": "PID 0F - Intake temperature", - "type": "sensor", - "unit": "celsius", - "uuid": "7c108305178b5854b430a23e125588bd" - }, - "IsPTOActive": { - "datatype": "boolean", - "description": "PID 1E - Auxiliary input status (power take off)", - "type": "sensor", - "uuid": "ce291dc40bba5a969e57b17f11ae23a9" - }, - "LongTermFuelTrim1": { - "datatype": "float", - "description": "PID 07 - Long Term (learned) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", - "type": "sensor", - "unit": "percent", - "uuid": "1c203b11667150f0b4ee1be26a60c084" - }, - "LongTermFuelTrim2": { - "datatype": "float", - "description": "PID 09 - Long Term (learned) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", - "type": "sensor", - "unit": "percent", - "uuid": "b02aff2efce05632b5694a256e5b9ec7" - }, - "LongTermO2Trim1": { - "datatype": "float", - "description": "PID 56 (byte A) - Long term secondary O2 trim - Bank 1", - "type": "sensor", - "unit": "percent", - "uuid": "9a9586e29a02567e9920cb9b0aa2e3f5" - }, - "LongTermO2Trim2": { - "datatype": "float", - "description": "PID 58 (byte A) - Long term secondary O2 trim - Bank 2", - "type": "sensor", - "unit": "percent", - "uuid": "e579f6c930605b389e8ce2d7edd92999" - }, - "LongTermO2Trim3": { - "datatype": "float", - "description": "PID 56 (byte B) - Long term secondary O2 trim - Bank 3", - "type": "sensor", - "unit": "percent", - "uuid": "50ea51ad343a5e59b1d214053e522a45" - }, - "LongTermO2Trim4": { - "datatype": "float", - "description": "PID 58 (byte B) - Long term secondary O2 trim - Bank 4", - "type": "sensor", - "unit": "percent", - "uuid": "f9c20edd12f456e5ace21581cea484bd" - }, - "MAF": { - "datatype": "float", - "description": "PID 10 - Grams of air drawn into engine per second", - "type": "sensor", - "unit": "g/s", - "uuid": "f3acdf89fb865313883d5d3126f15518" - }, - "MAP": { - "datatype": "float", - "description": "PID 0B - Intake manifold pressure", - "type": "sensor", - "unit": "kPa", - "uuid": "335991b1b53f56f097fea7b05d4db83b" - }, - "MaxMAF": { - "datatype": "float", - "description": "PID 50 - Maximum flow for mass air flow sensor", - "type": "sensor", - "unit": "g/s", - "uuid": "e21826479f715ee7afe8dc485f109b11" - }, - "O2": { - "children": { - "Sensor1": { - "children": { - "ShortTermFuelTrim": { - "datatype": "float", - "description": "PID 1x (byte B) - Short term fuel trim", - "type": "sensor", - "unit": "percent", - "uuid": "ee366d40132456c0bce8cac3a837f16a" - }, - "Voltage": { - "datatype": "float", - "description": "PID 1x (byte A) - Sensor voltage", - "type": "sensor", - "unit": "V", - "uuid": "e95f4ea667265ee3a68ab57b86ecbf66" - } - }, - "description": "Oxygen sensors (PID 14 - PID 1B)", - "type": "branch", - "uuid": "3aa8859203d4545083196a9690d72627" - }, - "Sensor2": { - "children": { - "ShortTermFuelTrim": { - "datatype": "float", - "description": "PID 1x (byte B) - Short term fuel trim", - "type": "sensor", - "unit": "percent", - "uuid": "92e6e172777457a9866ca045d0d79853" - }, - "Voltage": { - "datatype": "float", - "description": "PID 1x (byte A) - Sensor voltage", - "type": "sensor", - "unit": "V", - "uuid": "5f1781bde96b53ce9b810a5a56b7c8ed" - } - }, - "description": "Oxygen sensors (PID 14 - PID 1B)", - "type": "branch", - "uuid": "efcb337cf94056c8a724e76bcfee6765" - }, - "Sensor3": { - "children": { - "ShortTermFuelTrim": { - "datatype": "float", - "description": "PID 1x (byte B) - Short term fuel trim", - "type": "sensor", - "unit": "percent", - "uuid": "66c300d35eb85e7387dc42528cca48d9" - }, - "Voltage": { - "datatype": "float", - "description": "PID 1x (byte A) - Sensor voltage", - "type": "sensor", - "unit": "V", - "uuid": "a86a1986f0fe5d25b6c438a00438ff60" - } - }, - "description": "Oxygen sensors (PID 14 - PID 1B)", - "type": "branch", - "uuid": "b8c145402b7a5cffaa2699ed61b056fa" - }, - "Sensor4": { - "children": { - "ShortTermFuelTrim": { - "datatype": "float", - "description": "PID 1x (byte B) - Short term fuel trim", - "type": "sensor", - "unit": "percent", - "uuid": "b71dcf9d850c5d5686f14ad46cd2cae3" - }, - "Voltage": { - "datatype": "float", - "description": "PID 1x (byte A) - Sensor voltage", - "type": "sensor", - "unit": "V", - "uuid": "772cbfab91be59f7bbf3ec4140ffbcc4" - } - }, - "description": "Oxygen sensors (PID 14 - PID 1B)", - "type": "branch", - "uuid": "853945bce86c5c4f95081075ae32261c" - }, - "Sensor5": { - "children": { - "ShortTermFuelTrim": { - "datatype": "float", - "description": "PID 1x (byte B) - Short term fuel trim", - "type": "sensor", - "unit": "percent", - "uuid": "7604de26198b51e28a441f79b1d84242" - }, - "Voltage": { - "datatype": "float", - "description": "PID 1x (byte A) - Sensor voltage", - "type": "sensor", - "unit": "V", - "uuid": "155a0816093b5aee8012ed2a8d532b7f" - } - }, - "description": "Oxygen sensors (PID 14 - PID 1B)", - "type": "branch", - "uuid": "f48c76c9c7ec5ddcb6838ced0bd7517b" - }, - "Sensor6": { - "children": { - "ShortTermFuelTrim": { - "datatype": "float", - "description": "PID 1x (byte B) - Short term fuel trim", - "type": "sensor", - "unit": "percent", - "uuid": "2fb034769cab5089986d90bf7f9000ca" - }, - "Voltage": { - "datatype": "float", - "description": "PID 1x (byte A) - Sensor voltage", - "type": "sensor", - "unit": "V", - "uuid": "85430592fb795e848d7bb91e6b9f1e00" - } - }, - "description": "Oxygen sensors (PID 14 - PID 1B)", - "type": "branch", - "uuid": "5269c1877ded507b87d7d1d7bec10605" - }, - "Sensor7": { - "children": { - "ShortTermFuelTrim": { - "datatype": "float", - "description": "PID 1x (byte B) - Short term fuel trim", - "type": "sensor", - "unit": "percent", - "uuid": "81f34b16b5e05d1ab159de9474eaf5bc" - }, - "Voltage": { - "datatype": "float", - "description": "PID 1x (byte A) - Sensor voltage", - "type": "sensor", - "unit": "V", - "uuid": "23984a68e63f532bab18679e1174130d" - } - }, - "description": "Oxygen sensors (PID 14 - PID 1B)", - "type": "branch", - "uuid": "4b565102e4a052aa8aa64f27dc678ce3" - }, - "Sensor8": { - "children": { - "ShortTermFuelTrim": { - "datatype": "float", - "description": "PID 1x (byte B) - Short term fuel trim", - "type": "sensor", - "unit": "percent", - "uuid": "1699eb2267615e258259e480be0fa606" - }, - "Voltage": { - "datatype": "float", - "description": "PID 1x (byte A) - Sensor voltage", - "type": "sensor", - "unit": "V", - "uuid": "23e057b3629a5136bb585638725fe0a2" - } - }, - "description": "Oxygen sensors (PID 14 - PID 1B)", - "type": "branch", - "uuid": "d5eef24c35f1561982127404b50ece11" - } - }, - "description": "Oxygen sensors (PID 14 - PID 1B)", - "type": "branch", - "uuid": "31f007df72af50f0925d2b4647682a4d" - }, - "O2WR": { - "children": { - "Sensor1": { - "children": { - "Current": { - "datatype": "float", - "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", - "type": "sensor", - "unit": "A", - "uuid": "bb4c70d9d2ae56c8a9a3be446db6f54c" - }, - "Lambda": { - "datatype": "float", - "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", - "type": "sensor", - "uuid": "b809083454a5516f995477c59bf4d3c6" - }, - "Voltage": { - "datatype": "float", - "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", - "type": "sensor", - "unit": "V", - "uuid": "396251cbfa5a57ffb1dd743298dfcdf9" - } - }, - "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", - "type": "branch", - "uuid": "496074cec04a5260b60fd39bb7ed1479" - }, - "Sensor2": { - "children": { - "Current": { - "datatype": "float", - "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", - "type": "sensor", - "unit": "A", - "uuid": "442ab33180ca5028a37a487056ba4a51" - }, - "Lambda": { - "datatype": "float", - "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", - "type": "sensor", - "uuid": "ce55aed0e8705a49970566db71ebcf90" - }, - "Voltage": { - "datatype": "float", - "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", - "type": "sensor", - "unit": "V", - "uuid": "a784675c3b765d42ad023d8ee412be26" - } - }, - "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", - "type": "branch", - "uuid": "079f9960f75d5f399df7ff86fcea8f0c" - }, - "Sensor3": { - "children": { - "Current": { - "datatype": "float", - "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", - "type": "sensor", - "unit": "A", - "uuid": "c942468e349e5aaebde4d90ee0bc3814" - }, - "Lambda": { - "datatype": "float", - "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", - "type": "sensor", - "uuid": "f2ae7c781b0a5dcf8db91558e3cf4c13" - }, - "Voltage": { - "datatype": "float", - "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", - "type": "sensor", - "unit": "V", - "uuid": "a78f7621a3f75df2adc1dc940219834a" - } - }, - "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", - "type": "branch", - "uuid": "a8a83d3e33f9584b824088e830bcbaec" - }, - "Sensor4": { - "children": { - "Current": { - "datatype": "float", - "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", - "type": "sensor", - "unit": "A", - "uuid": "f16b31fde63a516db04cb44feaa7c27b" - }, - "Lambda": { - "datatype": "float", - "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", - "type": "sensor", - "uuid": "be09013f423c588eae9c06da9ddf290f" - }, - "Voltage": { - "datatype": "float", - "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", - "type": "sensor", - "unit": "V", - "uuid": "abeca90ba22d5c32a34ee907cedf3192" - } - }, - "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", - "type": "branch", - "uuid": "bb67047ddad158ba98876a6a87d02e97" - }, - "Sensor5": { - "children": { - "Current": { - "datatype": "float", - "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", - "type": "sensor", - "unit": "A", - "uuid": "40494cb5826554929f5ecadd5b9173fd" - }, - "Lambda": { - "datatype": "float", - "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", - "type": "sensor", - "uuid": "16a957200f5c51f89824bbb76a23b9c0" - }, - "Voltage": { - "datatype": "float", - "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", - "type": "sensor", - "unit": "V", - "uuid": "699c4db2439f51af8465e823687018b8" - } - }, - "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", - "type": "branch", - "uuid": "01c4160d39af5db59c66db844646195e" - }, - "Sensor6": { - "children": { - "Current": { - "datatype": "float", - "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", - "type": "sensor", - "unit": "A", - "uuid": "06a38b6b4784545bb637279e96d48eb5" - }, - "Lambda": { - "datatype": "float", - "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", - "type": "sensor", - "uuid": "fdae9bb9a3a45b4680450f0347cf6d66" - }, - "Voltage": { - "datatype": "float", - "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", - "type": "sensor", - "unit": "V", - "uuid": "304c181c76d55c3abe75382a935c7bde" - } - }, - "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", - "type": "branch", - "uuid": "cff12c30bde957798daaa3a91758b48b" - }, - "Sensor7": { - "children": { - "Current": { - "datatype": "float", - "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", - "type": "sensor", - "unit": "A", - "uuid": "6ed46315325d540eb95c86ec61eef8e4" - }, - "Lambda": { - "datatype": "float", - "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", - "type": "sensor", - "uuid": "9221a5289157538b9dcaa0d961c335fa" - }, - "Voltage": { - "datatype": "float", - "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", - "type": "sensor", - "unit": "V", - "uuid": "0ad1d79dcce65c00ac48421b5b54ca0e" - } - }, - "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", - "type": "branch", - "uuid": "44459df1f25f5d43a07b00f2bad65ef5" - }, - "Sensor8": { - "children": { - "Current": { - "datatype": "float", - "description": "PID 3x (byte CD) - Current for wide range/band oxygen sensor", - "type": "sensor", - "unit": "A", - "uuid": "96de3c3b036c50c2978ab2aa490d4d9e" - }, - "Lambda": { - "datatype": "float", - "description": "PID 2x (byte AB) and PID 3x (byte AB) - Lambda for wide range/band oxygen sensor", - "type": "sensor", - "uuid": "c56db1195fa3519ab6718ab57d2cd543" - }, - "Voltage": { - "datatype": "float", - "description": "PID 2x (byte CD) - Voltage for wide range/band oxygen sensor", - "type": "sensor", - "unit": "V", - "uuid": "ab7d6c739f025782bba640e58123f0c8" - } - }, - "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", - "type": "branch", - "uuid": "b8865e72055d52a086f6935d5c188cc1" - } - }, - "description": "Wide range/band oxygen sensors (PID 24 - 2B and PID 34 - 3B)", - "type": "branch", - "uuid": "a439f2bc16575318afe20d0bc6a8cacf" - }, - "OBDStandards": { - "datatype": "uint8", - "description": "PID 1C - OBD standards this vehicle conforms to", - "type": "attribute", - "uuid": "1aa8d7d055cf5a29a31b04a12124f673" - }, - "OilTemperature": { - "datatype": "float", - "description": "PID 5C - Engine oil temperature", - "type": "sensor", - "unit": "celsius", - "uuid": "ef3dfc11085d5077b363b1a4e8e4a84e" - }, - "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", - "type": "sensor", - "uuid": "0a9ba3f0a9b256d78bafd62ee8ce73cd" - }, - "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]", - "type": "sensor", - "uuid": "41d3377813d651aa9b9344ba9fd2f880" - }, - "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" - }, - "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" - }, - "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" - }, - "RelativeAcceleratorPosition": { - "datatype": "float", - "description": "PID 5A - Relative accelerator pedal position", - "type": "sensor", - "unit": "percent", - "uuid": "e25de9aacad3549285b4fb234f10be8f" - }, - "RelativeThrottlePosition": { - "datatype": "float", - "description": "PID 45 - Relative throttle position", - "type": "sensor", - "unit": "percent", - "uuid": "54ecf7dd671c5053aac4bc1bb061d64b" - }, - "RunTime": { - "datatype": "float", - "description": "PID 1F - Engine run time", - "type": "sensor", - "unit": "s", - "uuid": "acf70773752256d1a227ab48257624b5" - }, - "RunTimeMIL": { - "datatype": "float", - "description": "PID 4D - Run time with MIL on", - "type": "sensor", - "unit": "min", - "uuid": "555604a484535f60adf8894a6bd895b6" - }, - "ShortTermFuelTrim1": { - "datatype": "float", - "description": "PID 06 - Short Term (immediate) Fuel Trim - Bank 1 - negative percent leaner, positive percent richer", - "type": "sensor", - "unit": "percent", - "uuid": "569c983874335fb392d4e82a002654cb" - }, - "ShortTermFuelTrim2": { - "datatype": "float", - "description": "PID 08 - Short Term (immediate) Fuel Trim - Bank 2 - negative percent leaner, positive percent richer", - "type": "sensor", - "unit": "percent", - "uuid": "53a39620773a523a8182169027169ec2" - }, - "ShortTermO2Trim1": { - "datatype": "float", - "description": "PID 55 (byte A) - Short term secondary O2 trim - Bank 1", - "type": "sensor", - "unit": "percent", - "uuid": "be7ed33a854557ba802da0c51f9f4564" - }, - "ShortTermO2Trim2": { - "datatype": "float", - "description": "PID 57 (byte A) - Short term secondary O2 trim - Bank 2", - "type": "sensor", - "unit": "percent", - "uuid": "c8b962f8990e51d294621408ceaa21d9" - }, - "ShortTermO2Trim3": { - "datatype": "float", - "description": "PID 55 (byte B) - Short term secondary O2 trim - Bank 3", - "type": "sensor", - "unit": "percent", - "uuid": "af58212df970568b9edcc5e58fa36f8d" - }, - "ShortTermO2Trim4": { - "datatype": "float", - "description": "PID 57 (byte B) - Short term secondary O2 trim - Bank 4", - "type": "sensor", - "unit": "percent", - "uuid": "8ef0516c0c965fd6aecbacd6b9120a5b" - }, - "Speed": { - "datatype": "float", - "description": "PID 0D - Vehicle speed", - "type": "sensor", - "unit": "km/h", - "uuid": "91ed0bb43eb054759813cd784b071764" - }, - "Status": { - "children": { - "DTCCount": { - "datatype": "uint8", - "description": "Number of Diagnostic Trouble Codes (DTC)", - "type": "sensor", - "uuid": "4afdf65e788c5f69baf682597e69fb67" - }, - "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" - }, - "IsMILOn": { - "datatype": "boolean", - "description": "Malfunction Indicator Light (MIL) False = Off, True = On", - "type": "sensor", - "uuid": "8744bcb275205630932320b66185502c" - } - }, - "description": "PID 01 - OBD status", - "type": "branch", - "uuid": "474f58e593ee5bfebbb9c6ce4a453f96" - }, - "ThrottleActuator": { - "datatype": "float", - "description": "PID 4C - Commanded throttle actuator", - "type": "sensor", - "unit": "percent", - "uuid": "49a19905a1005ee3abe0c0a84d7112d1" - }, - "ThrottlePosition": { - "datatype": "float", - "description": "PID 11 - Throttle position - 0 = closed throttle, 100 = open throttle", - "type": "sensor", - "unit": "percent", - "uuid": "ec1d372020205bb4a846a014b33801e1" - }, - "ThrottlePositionB": { - "datatype": "float", - "description": "PID 47 - Absolute throttle position B", - "type": "sensor", - "unit": "percent", - "uuid": "701712a565ed5bf8b6630487a7152c87" - }, - "ThrottlePositionC": { - "datatype": "float", - "description": "PID 48 - Absolute throttle position C", - "type": "sensor", - "unit": "percent", - "uuid": "06f162dc00a85f628f9d5d1bc952665c" - }, - "TimeSinceDTCCleared": { - "datatype": "float", - "description": "PID 4E - Time since trouble codes cleared", - "type": "sensor", - "unit": "min", - "uuid": "66ea3984a2585dcdaaf6452eef835c0d" - }, - "TimingAdvance": { - "datatype": "float", - "description": "PID 0E - Time advance", - "type": "sensor", - "unit": "degrees", - "uuid": "35533b7e327d5f839b17c932b630767c" - }, - "WarmupsSinceDTCClear": { - "datatype": "uint8", - "description": "PID 30 - Number of warm-ups since codes cleared", - "type": "sensor", - "uuid": "a63ba60721785fc591e3dd067c4dc2ae" - } - }, - "description": "OBD data.", - "type": "branch", - "uuid": "7ad7c512ed5d52c8b31944d2d47a4bc3" - }, - "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", - "uuid": "add77f60f7885e39a84baae200569077" - }, - "Powertrain": { - "children": { - "AccumulatedBrakingEnergy": { - "datatype": "float", - "description": "The accumulated energy from regenerative braking over lifetime.", - "type": "sensor", - "unit": "kWh", - "uuid": "0dd466d28d3d5ad094f2015adafb91a5" - }, - "CombustionEngine": { - "children": { - "AspirationType": { - "allowed": [ - "UNKNOWN", - "NATURAL", - "SUPERCHARGER", - "TURBOCHARGER" - ], - "datatype": "string", - "default": "UNKNOWN", - "description": "Type of aspiration (natural, turbocharger, supercharger etc).", - "type": "attribute", - "uuid": "3ca6a8ff30275c20a9d8d6d6829574eb" - }, - "Bore": { - "datatype": "float", - "description": "Bore in millimetres.", - "type": "attribute", - "unit": "mm", - "uuid": "1618fb16035b5464961570cc1afd934e" - }, - "CompressionRatio": { - "datatype": "string", - "description": "Engine compression ratio, specified in the format 'X:1', e.g. '9.2:1'.", - "type": "attribute", - "uuid": "ead42922511051a0a0a1b634781f3c09" - }, - "Configuration": { - "allowed": [ - "UNKNOWN", - "STRAIGHT", - "V", - "BOXER", - "W", - "ROTARY", - "RADIAL", - "SQUARE", - "H", - "U", - "OPPOSED", - "X" - ], - "datatype": "string", - "default": "UNKNOWN", - "description": "Engine configuration.", - "type": "attribute", - "uuid": "586be4567fe059ee9e6cf42901c2e773" - }, - "DieselExhaustFluid": { - "children": { - "Capacity": { - "datatype": "float", - "description": "Capacity in liters of the Diesel Exhaust Fluid Tank.", - "type": "attribute", - "unit": "l", - "uuid": "863c16ad452b5cf5b7a37f58bdda14c3" - }, - "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" - }, - "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", - "uuid": "f5b0269b58ff5a8e8399f6d96963a3b6" - }, - "Range": { - "datatype": "uint32", - "description": "Remaining range in meters of the Diesel Exhaust Fluid present in the vehicle.", - "type": "sensor", - "unit": "m", - "uuid": "124afbee975c5a67b316413f7b805eac" - } - }, - "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" - }, - "DieselParticulateFilter": { - "children": { - "DeltaPressure": { - "datatype": "float", - "description": "Delta Pressure of Diesel Particulate Filter.", - "type": "sensor", - "unit": "Pa", - "uuid": "a6f476775c60531b93acb835e0bc6ab6" - }, - "InletTemperature": { - "datatype": "float", - "description": "Inlet temperature of Diesel Particulate Filter.", - "type": "sensor", - "unit": "celsius", - "uuid": "70e90d202d3054bd967e67dce95c8ef2" - }, - "OutletTemperature": { - "datatype": "float", - "description": "Outlet temperature of Diesel Particulate Filter.", - "type": "sensor", - "unit": "celsius", - "uuid": "e2b7f9d97bec5c0d94ade71a5e2f6518" - } - }, - "description": "Diesel Particulate Filter signals.", - "type": "branch", - "uuid": "eeddd99ad6475b1a92b9ec7bd7cefdbd" - }, - "Displacement": { - "datatype": "uint16", - "description": "Displacement in cubic centimetres.", - "type": "attribute", - "unit": "cm^3", - "uuid": "94dbd928847150ab842c00fa5caaf272" - }, - "ECT": { - "datatype": "int16", - "description": "Engine coolant temperature.", - "type": "sensor", - "unit": "celsius", - "uuid": "fff3cad23cac5b189a1a075c3ab562cd" - }, - "EOP": { - "datatype": "uint16", - "description": "Engine oil pressure.", - "type": "sensor", - "unit": "kPa", - "uuid": "76c7039dc7975ec3a003f0f4a04895ec" - }, - "EOT": { - "datatype": "int16", - "description": "Engine oil temperature.", - "type": "sensor", - "unit": "celsius", - "uuid": "eae6f5eae04f530e80f6b024f95b767d" - }, - "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" - }, - "EngineCoolantCapacity": { - "datatype": "float", - "description": "Engine coolant capacity in liters.", - "type": "attribute", - "unit": "l", - "uuid": "90b5b64808ea5f4fa2798d96143b0d60" - }, - "EngineHours": { - "datatype": "float", - "description": "Accumulated time during engine lifetime with 'engine speed (rpm) > 0'.", - "type": "sensor", - "unit": "h", - "uuid": "a23a62e24f58514d961890f53262e4e0" - }, - "EngineOilCapacity": { - "datatype": "float", - "description": "Engine oil capacity in liters.", - "type": "attribute", - "unit": "l", - "uuid": "2ca7af6facb55a13885989faa9bc6ca7" - }, - "EngineOilLevel": { - "allowed": [ - "CRITICALLY_LOW", - "LOW", - "NORMAL", - "HIGH", - "CRITICALLY_HIGH" - ], - "datatype": "string", - "description": "Engine oil level.", - "type": "sensor", - "uuid": "e3813f59e94b509eb865fd97255a8a4f" - }, - "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", - "uuid": "6caa3d7e669c5cc6aecd4a6be9a302d4" - }, - "IsRunning": { - "datatype": "boolean", - "description": "Engine Running. True if engine is rotating (Speed > 0).", - "type": "sensor", - "uuid": "57652c27679757398c44d56af7a044d3" - }, - "MAF": { - "datatype": "uint16", - "description": "Grams of air drawn into engine per second.", - "type": "sensor", - "unit": "g/s", - "uuid": "1e222ed8c48b5dcea60e43ac8af7d6df" - }, - "MAP": { - "datatype": "uint16", - "description": "Manifold absolute pressure possibly boosted using forced induction.", - "type": "sensor", - "unit": "kPa", - "uuid": "28d4354fa34056369acb857aa7cc76ac" - }, - "MaxPower": { - "datatype": "uint16", - "default": 0, - "description": "Peak power, in kilowatts, that engine can generate.", - "type": "attribute", - "unit": "kW", - "uuid": "81fbdd5e90f557a38b96578a38dc137d" - }, - "MaxTorque": { - "datatype": "uint16", - "default": 0, - "description": "Peak torque, in newton meter, that the engine can generate.", - "type": "attribute", - "unit": "Nm", - "uuid": "471cd478c1e8597f8e97c85b4e4ebe26" - }, - "NumberOfCylinders": { - "datatype": "uint16", - "description": "Number of cylinders.", - "type": "attribute", - "uuid": "b2cd342c218257e88d214cdb511df82b" - }, - "NumberOfValvesPerCylinder": { - "datatype": "uint16", - "description": "Number of valves per cylinder.", - "type": "attribute", - "uuid": "44633204726e561ca21beff31f3fef80" - }, - "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" - }, - "Power": { - "datatype": "uint16", - "description": "Current engine power output. Shall be reported as 0 during engine breaking.", - "type": "sensor", - "unit": "kW", - "uuid": "20e8b5d2187758c2848ed421248c180d" - }, - "Speed": { - "datatype": "uint16", - "description": "Engine speed measured as rotations per minute.", - "type": "sensor", - "unit": "rpm", - "uuid": "557ce24c5a4d51cc825059c948ac9e29" - }, - "StrokeLength": { - "datatype": "float", - "description": "Stroke length in millimetres.", - "type": "attribute", - "unit": "mm", - "uuid": "1bdfdab7904d51ed93e101b84ea54ddf" - }, - "TPS": { - "datatype": "uint8", - "description": "Current throttle position.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "1ddb77860de558b4876ffb399a442bda" - }, - "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.", - "type": "sensor", - "unit": "Nm", - "uuid": "b81f504bdb57513299ae6e9402ec7bcd" - } - }, - "description": "Engine-specific data, stopping at the bell housing.", - "type": "branch", - "uuid": "159e2e3e75f0590f95b4d2f6cfae54b5" - }, - "ElectricMotor": { - "children": { - "CoolantTemperature": { - "datatype": "int16", - "description": "Motor coolant temperature (if applicable).", - "type": "sensor", - "unit": "celsius", - "uuid": "3c5ea8c7700956518f2ae7a2a0f34f1c" - }, - "EngineCode": { - "datatype": "string", - "description": "Engine code designation, as specified by vehicle manufacturer.", - "type": "attribute", - "uuid": "e4102a5142ed501495e5edafd3d36dfb" - }, - "MaxPower": { - "datatype": "uint16", - "default": 0, - "description": "Peak power, in kilowatts, that motor(s) can generate.", - "type": "attribute", - "unit": "kW", - "uuid": "825ec7911ee958abb199b9f7903df3a6" - }, - "MaxRegenPower": { - "datatype": "uint16", - "default": 0, - "description": "Peak regen/brake power, in kilowatts, that motor(s) can generate.", - "type": "attribute", - "unit": "kW", - "uuid": "7f2cb2650ba95485b7156ffe76e27366" - }, - "MaxRegenTorque": { - "datatype": "uint16", - "default": 0, - "description": "Peak regen/brake torque, in newton meter, that the motor(s) can generate.", - "type": "attribute", - "unit": "Nm", - "uuid": "0e5190c2517b55aa80fcb9bf698e02d6" - }, - "MaxTorque": { - "datatype": "uint16", - "default": 0, - "description": "Peak power, in newton meter, that the motor(s) can generate.", - "type": "attribute", - "unit": "Nm", - "uuid": "cf31eabcde5151f589e9b0f7a6090512" - }, - "Power": { - "datatype": "int16", - "description": "Current motor power output. Negative values indicate regen mode.", - "type": "sensor", - "unit": "kW", - "uuid": "46b86286fba059349a733fed9a0e3232" - }, - "Speed": { - "datatype": "int32", - "description": "Motor rotational speed measured as rotations per minute. Negative values indicate reverse driving mode.", - "type": "sensor", - "unit": "rpm", - "uuid": "ca961aa6ca435095a89f9d404a5d849d" - }, - "Temperature": { - "datatype": "int16", - "description": "Motor temperature.", - "type": "sensor", - "unit": "celsius", - "uuid": "1b7c15e5341052139995bfacea2c05b2" - }, - "Torque": { - "datatype": "int16", - "description": "Current motor torque. Negative values indicate regen mode.", - "type": "sensor", - "unit": "Nm", - "uuid": "aceffe768ddf5b828fff0975349d2433" - } - }, - "description": "Electric Motor specific data.", - "type": "branch", - "uuid": "1ade64f6b0d05f6c9340e7a667555ae2" - }, - "FuelSystem": { - "children": { - "AbsoluteLevel": { - "datatype": "float", - "description": "Current available fuel in the fuel tank expressed in liters.", - "type": "sensor", - "unit": "l", - "uuid": "00a1399655ee5d9188022f3d55d8f05e" - }, - "AverageConsumption": { - "datatype": "float", - "description": "Average consumption in liters per 100 km.", - "min": 0, - "type": "sensor", - "unit": "l/100km", - "uuid": "e2252108125a54dcab34e1bad0fe8bdc" - }, - "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", - "uuid": "adf0a40964ff556f92b10275ad918883" - }, - "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", - "uuid": "f0f72012f5e453c1935ff8c3a5aff696" - }, - "InstantConsumption": { - "datatype": "float", - "description": "Current consumption in liters per 100 km.", - "min": 0, - "type": "sensor", - "unit": "l/100km", - "uuid": "cf65767ec8ad56ffadfdccd831e4b562" - }, - "IsEngineStopStartEnabled": { - "datatype": "boolean", - "description": "Indicates whether eco start stop is currently enabled.", - "type": "sensor", - "uuid": "176eed5bb0da582a9ee56f1c70e12075" - }, - "IsFuelLevelLow": { - "datatype": "boolean", - "description": "Indicates that the fuel level is low (e.g. <50km range).", - "type": "sensor", - "uuid": "65f18ee3b04f5d4c8bb76083227dd9fe" - }, - "Range": { - "datatype": "uint32", - "description": "Remaining range in meters using only liquid fuel.", - "type": "sensor", - "unit": "m", - "uuid": "c5a0dbe5e754553897f0aed0069af57a" - }, - "RelativeLevel": { - "datatype": "uint8", - "description": "Level in fuel tank as percent of capacity. 0 = empty. 100 = full.", - "max": 100, - "min": 0, - "type": "sensor", - "unit": "percent", - "uuid": "e90e3daa1dcd5165a9d78b09e890fb22" - }, - "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", - "uuid": "7fd3bf2ef0c650e69ff2037875ec59ee" - }, - "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", - "uuid": "80edc3002aa25097aba6455fe459fa6c" - }, - "TankCapacity": { - "datatype": "float", - "description": "Capacity of the fuel tank in liters.", - "type": "attribute", - "unit": "l", - "uuid": "362643b866c55d5386fdbdf383464e90" - } - }, - "description": "Fuel system data.", - "type": "branch", - "uuid": "dbc194a7f97d5a56bc8942c17c2db22e" - }, - "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", - "uuid": "d740b02e2fb35c07bf88a6e5ebe2f6e4" - }, - "Range": { - "datatype": "uint32", - "description": "Remaining range in meters using all energy sources available in the vehicle.", - "type": "sensor", - "unit": "m", - "uuid": "ea4b6de772d65d20b1fa611f997aa7b8" - }, - "TractionBattery": { - "children": { - "AccumulatedChargedEnergy": { - "datatype": "float", - "description": "The accumulated energy delivered to the battery during charging over lifetime of the battery.", - "type": "sensor", - "unit": "kWh", - "uuid": "739d06021d795da0877bc0ef3c107de1" - }, - "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" - }, - "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" - }, - "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" - }, - "CellVoltage": { - "children": { - "Max": { - "datatype": "float", - "description": "Current voltage of the battery cell with highest voltage.", - "type": "sensor", - "unit": "V", - "uuid": "bde40aa6b442580db3c0d4c1efed8a09" - }, - "Min": { - "datatype": "float", - "description": "Current voltage of the battery cell with lowest voltage.", - "type": "sensor", - "unit": "V", - "uuid": "b868f28cc42a5ba28a127647cd16cb93" - } - }, - "description": "Voltage information for cells in the battery pack.", - "type": "branch", - "uuid": "0070210b80125f1a8e9473f8875fe3d1" - }, - "Charging": { - "children": { - "ChargeCurrent": { - "children": { - "DC": { - "datatype": "float", - "description": "Current DC charging current at inlet. Negative if returning energy to grid.", - "type": "sensor", - "unit": "A", - "uuid": "44204d7ae6fd5f8e954d0670a739bdf2" - }, - "Phase1": { - "datatype": "float", - "description": "Current AC charging current (rms) at inlet for Phase 1. Negative if returning energy to grid.", - "type": "sensor", - "unit": "A", - "uuid": "400dca50fcde52a6bb605d7e86f49776" - }, - "Phase2": { - "datatype": "float", - "description": "Current AC charging current (rms) at inlet for Phase 2. Negative if returning energy to grid.", - "type": "sensor", - "unit": "A", - "uuid": "32cb24d1c495503a9087d6f55997cf57" - }, - "Phase3": { - "datatype": "float", - "description": "Current AC charging current (rms) at inlet for Phase 3. Negative if returning energy to grid.", - "type": "sensor", - "unit": "A", - "uuid": "55fb7fb7ff4a5df9b6a3af435eac868e" - } - }, - "description": "Current charging current.", - "type": "branch", - "uuid": "94739cf563735b438878ac0f85601f27" - }, - "ChargeLimit": { - "datatype": "uint8", - "default": 100, - "description": "Target charge limit (state of charge) for battery.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "62360a4ed1095275a7052d65112aaef1" - }, - "ChargePlugType": { - "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 inlets. 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.", - "datatype": "string[]", - "description": "Type of charge plug (charging inlet) available on the vehicle. IEC types refer to IEC 62196, GBT refers to GB/T 20234.", - "type": "attribute", - "uuid": "4c56357a6f1d586395215a9beeb26d91" - }, - "ChargePortFlap": { - "allowed": [ - "OPEN", - "CLOSED" - ], - "datatype": "string", - "description": "Status of the charge port cover, can potentially be controlled manually.", - "type": "actuator", - "uuid": "71bdd2145bb55c3393df194bfc2e03e5" - }, - "ChargeRate": { - "datatype": "float", - "description": "Current charging rate, as in kilometers of range added per hour.", - "type": "sensor", - "unit": "km/h", - "uuid": "a287cea3fdaa533180c8e349343a7851" - }, - "ChargeVoltage": { - "children": { - "DC": { - "datatype": "float", - "description": "Current DC charging voltage at charging inlet.", - "type": "sensor", - "unit": "V", - "uuid": "701c21d1a4815b35ba061415789ec911" - }, - "Phase1": { - "datatype": "float", - "description": "Current AC charging voltage (rms) at inlet for Phase 1.", - "type": "sensor", - "unit": "V", - "uuid": "15991c8316585816815d6f4fb6b06776" - }, - "Phase2": { - "datatype": "float", - "description": "Current AC charging voltage (rms) at inlet for Phase 2.", - "type": "sensor", - "unit": "V", - "uuid": "6c0dcf98169d5a5190736a6dd81291a4" - }, - "Phase3": { - "datatype": "float", - "description": "Current AC charging voltage (rms) at inlet for Phase 3.", - "type": "sensor", - "unit": "V", - "uuid": "1ab06b48231e54e2ac27e543508c84f0" - } - }, - "description": "Current charging voltage, as measured at the charging inlet.", - "type": "branch", - "uuid": "7170151d653b52c6bb5e75cb0a14d1c5" - }, - "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", - "uuid": "d28244c9e3365899954bd3e38ef46bb9" - }, - "IsChargingCableConnected": { - "datatype": "boolean", - "description": "Indicates if a charging cable is physically connected to the vehicle or not.", - "type": "sensor", - "uuid": "a1c8e2f662b95a54a9933a1b163fff84" - }, - "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" - }, - "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" - }, - "MaximumChargingCurrent": { - "children": { - "DC": { - "datatype": "float", - "description": "Maximum DC charging current at inlet that can be accepted by the system.", - "type": "sensor", - "unit": "A", - "uuid": "5a70acfd3c8959898b43738151ab36e1" - }, - "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" - }, - "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" - }, - "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" - } - }, - "description": "Maximum charging current that can be accepted by the system, as measured at the charging inlet.", - "type": "branch", - "uuid": "e3f2e57e7a395d9ca9931d429e540a34" - }, - "Mode": { - "allowed": [ - "MANUAL", - "TIMER", - "GRID", - "PROFILE" - ], - "comment": "The mechanism to provide a profile to the vehicle is currently not covered by VSS.", - "datatype": "string", - "description": "Control of the charge process. MANUAL means manually initiated (plug-in event, companion app, etc). TIMER means timer-based. GRID means grid-controlled (e.g. ISO 15118). PROFILE means controlled by profile download to vehicle.", - "type": "actuator", - "uuid": "1e4be3280b265873945531f6f6d0ec6b" - }, - "PowerLoss": { - "datatype": "float", - "description": "Electrical energy lost by power dissipation to heat inside the AC/DC converter.", - "type": "sensor", - "unit": "W", - "uuid": "88f40bbeb80b5dfb97ceba13269665c5" - }, - "StartStopCharging": { - "allowed": [ - "START", - "STOP" - ], - "datatype": "string", - "description": "Start or stop the charging process.", - "type": "actuator", - "uuid": "80506d3e9a2557c2b52f74a50d89593f" - }, - "Temperature": { - "datatype": "float", - "description": "Current temperature of AC/DC converter converting grid voltage to battery voltage.", - "type": "sensor", - "unit": "celsius", - "uuid": "c3c0ef3a41db5df1bab659803adbc7ba" - }, - "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", - "uuid": "c6439c2e068652b08383b9654e2e784a" - }, - "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", - "uuid": "b09fb52261735977af275dda1904a7a1" - }, - "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", - "uuid": "c08dcaeda02b5e26aacd7e2542f0fc90" - } - }, - "description": "Properties related to timing of battery charging sessions.", - "type": "branch", - "uuid": "cd5b57ada627510e83f90832efed9d5a" - } - }, - "description": "Properties related to battery charging.", - "type": "branch", - "uuid": "49b9ef0c8b145a36afdf17d0cb44131b" - }, - "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" - }, - "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" - }, - "CurrentVoltage": { - "datatype": "float", - "description": "Current Voltage of the battery.", - "type": "sensor", - "unit": "V", - "uuid": "7b54ea22ee7d5f559da552aefcc07222" - }, - "DCDC": { - "children": { - "PowerLoss": { - "datatype": "float", - "description": "Electrical energy lost by power dissipation to heat inside DC/DC converter.", - "type": "sensor", - "unit": "W", - "uuid": "f29e37087cdf57ca998188c7b945a77b" - }, - "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" - } - }, - "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" - }, - "GrossCapacity": { - "datatype": "uint16", - "description": "Gross capacity of the battery.", - "type": "attribute", - "unit": "kWh", - "uuid": "5460530488435dc8bfa1298bf47a993d" - }, - "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" - }, - "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" - }, - "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" - }, - "MaxVoltage": { - "datatype": "uint16", - "description": "Max allowed voltage of the battery, e.g. during charging.", - "type": "attribute", - "unit": "V", - "uuid": "a81264a0ef0c55d288671cfc62c4add5" - }, - "NetCapacity": { - "datatype": "uint16", - "description": "Total net capacity of the battery considering aging.", - "type": "sensor", - "unit": "kWh", - "uuid": "9c68fe42cb81501eb6349f8c9b0b6899" - }, - "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": "3eccae5633185b998d5bdb6ea33cd926" - }, - "PowerLoss": { - "datatype": "float", - "description": "Electrical energy lost by power dissipation to heat inside the battery.", - "type": "sensor", - "unit": "W", - "uuid": "880082aafe025cb3a5776b623f9a48b5" - }, - "ProductionDate": { - "datatype": "string", - "description": "Production date of battery in ISO8601 format, e.g. YYYY-MM-DD.", - "type": "attribute", - "uuid": "c9509ba4d76c56d9a8c1d6e2280ae02f" - }, - "Range": { - "datatype": "uint32", - "description": "Remaining range in meters using only battery.", - "type": "sensor", - "unit": "m", - "uuid": "c0376a425e5d578d9d86ae0dc2ad9778" - }, - "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", - "uuid": "2e647ca3a1ff5e52af137aab240642da" - }, - "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", - "uuid": "435ef8dbe4425450ae1ff6215fc9e40b" - }, - "Displayed": { - "datatype": "float", - "description": "State of charge displayed to the customer.", - "max": 100.0, - "min": 0, - "type": "sensor", - "unit": "percent", - "uuid": "1bfcc228293b5512aafe2508ab0500d2" - } - }, - "description": "Information on the state of charge of the vehicle's high voltage battery.", - "type": "branch", - "uuid": "26bae2ce7c4d5e2a951915ef2f5d8b7d" - }, - "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", - "uuid": "4d982c47f3245048bcfec1190973a3ed" - }, - "Temperature": { - "children": { - "Average": { - "datatype": "float", - "description": "Current average temperature of the battery cells.", - "type": "sensor", - "unit": "celsius", - "uuid": "ae28e502137f56b9a037ed9b32bc04e1" - }, - "Max": { - "datatype": "float", - "description": "Current maximum temperature of the battery cells, i.e. temperature of the hottest cell.", - "type": "sensor", - "unit": "celsius", - "uuid": "07aa7c8ba1d355398d7469c2b337152a" - }, - "Min": { - "datatype": "float", - "description": "Current minimum temperature of the battery cells, i.e. temperature of the coldest cell.", - "type": "sensor", - "unit": "celsius", - "uuid": "4e3f630fefa7558fa302b175bc7eb5c7" - } - }, - "description": "Temperature Information for the battery pack.", - "type": "branch", - "uuid": "1cfbcf8c152959dcb3eb2c54fc42e623" - } - }, - "description": "Battery Management data.", - "type": "branch", - "uuid": "1a2515d1a8875d86873431194ade2b50" - }, - "Transmission": { - "children": { - "ClutchEngagement": { - "datatype": "float", - "description": "Clutch engagement. 0% = Clutch fully disengaged. 100% = Clutch fully engaged.", - "max": 100, - "min": 0, - "type": "actuator", - "unit": "percent", - "uuid": "2890bd4a2b6a56c19b62d7bd95151fc6" - }, - "ClutchWear": { - "datatype": "uint8", - "description": "Clutch wear as a percent. 0 = no wear. 100 = worn.", - "max": 100, - "type": "sensor", - "unit": "percent", - "uuid": "c113405ad165571a9d53ae4cf55dc929" - }, - "CurrentGear": { - "datatype": "int8", - "description": "The current gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse.", - "type": "sensor", - "uuid": "cd0ba1d772565e16bff46cbd5c9361da" - }, - "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", - "uuid": "5149afe37fbd5c24847b5820821abc02" - }, - "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", - "uuid": "197c939bd1405613b80179becec6db83" - }, - "DriveType": { - "allowed": [ - "UNKNOWN", - "FORWARD_WHEEL_DRIVE", - "REAR_WHEEL_DRIVE", - "ALL_WHEEL_DRIVE" - ], - "datatype": "string", - "default": "UNKNOWN", - "description": "Drive type.", - "type": "attribute", - "uuid": "0e480b76fb2d5f8bb08fb586f90ee6ae" - }, - "GearChangeMode": { - "allowed": [ - "MANUAL", - "AUTOMATIC" - ], - "datatype": "string", - "description": "Is the gearbox in automatic or manual (paddle) mode.", - "type": "actuator", - "uuid": "ff3c69378c2f598286e51f7dac13adaa" - }, - "GearCount": { - "datatype": "int8", - "default": 0, - "description": "Number of forward gears in the transmission. -1 = CVT.", - "type": "attribute", - "uuid": "84293f40d3ed57f1a08992d97b1a9ccd" - }, - "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" - }, - "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" - }, - "IsParkLockEngaged": { - "datatype": "boolean", - "description": "Is the transmission park lock engaged or not. False = Disengaged. True = Engaged.", - "type": "actuator", - "uuid": "1578da3f925e54ac9df978abd0195408" - }, - "PerformanceMode": { - "allowed": [ - "NORMAL", - "SPORT", - "ECONOMY", - "SNOW", - "RAIN" - ], - "datatype": "string", - "description": "Current gearbox performance mode.", - "type": "actuator", - "uuid": "6b5cfd85cb595e559503ccf993be04dd" - }, - "SelectedGear": { - "datatype": "int8", - "description": "The selected gear. 0=Neutral, 1/2/..=Forward, -1/-2/..=Reverse, 126=Park, 127=Drive.", - "type": "actuator", - "uuid": "490fd99b9d5f562eb180c19e8cef5e12" - }, - "Temperature": { - "datatype": "int16", - "description": "The current gearbox temperature.", - "type": "sensor", - "unit": "celsius", - "uuid": "4f5e48c3511b5e1abff11aa7ec62dd18" - }, - "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", - "uuid": "d3bcaaf973d3512287817049db9bd677" - }, - "TravelledDistance": { - "datatype": "float", - "description": "Odometer reading, total distance travelled during the lifetime of the transmission.", - "type": "sensor", - "unit": "km", - "uuid": "b9dd66f20c7f5b12a046766b94dc20c1" - }, - "Type": { - "allowed": [ - "UNKNOWN", - "SEQUENTIAL", - "H", - "AUTOMATIC", - "DSG", - "CVT" - ], - "datatype": "string", - "default": "UNKNOWN", - "description": "Transmission type.", - "type": "attribute", - "uuid": "f83b9e5464d85a0288fcb32c164d3c63" - } - }, - "description": "Transmission-specific data, stopping at the drive shafts.", - "type": "branch", - "uuid": "6b71e284b63a527caa6296a66e9fdd0c" - }, - "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", - "uuid": "2a000da4204658a4a6e3ecd5176bdfba" - } - }, - "description": "Powertrain data for battery management, etc.", - "type": "branch", - "uuid": "12f35ec7bd1c58d1a329565ce3d053d5" - }, - "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" - }, - "Service": { - "children": { - "DistanceToService": { - "datatype": "float", - "description": "Remaining distance to service (of any kind). Negative values indicate service overdue.", - "type": "sensor", - "unit": "km", - "uuid": "6f4347ce149759819572c8c3a17e8d93" - }, - "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" - }, - "TimeToService": { - "datatype": "int32", - "description": "Remaining time to service (of any kind). Negative values indicate service overdue.", - "type": "sensor", - "unit": "s", - "uuid": "c968be91a5685fa9ae30b84a0f91934e" - } - }, - "description": "Service data.", - "type": "branch", - "uuid": "b6463772705b56a7a993e23601bd3d47" - }, - "Speed": { - "datatype": "float", - "description": "Vehicle speed.", - "type": "sensor", - "unit": "km/h", - "uuid": "efe50798638d55fab18ab7d43cc490e9" - }, - "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", - "uuid": "3790b5f4513c5a3d90a0503a965bbbe0" - }, - "Trailer": { - "children": { - "IsConnected": { - "datatype": "boolean", - "description": "Signal indicating if trailer is connected or not.", - "type": "sensor", - "uuid": "77f28ed03c125ac9a19d22e9436b0ec4" - } - }, - "description": "Trailer signals.", - "type": "branch", - "uuid": "66206ee5c25a5817bef214c0c8ae8013" - }, - "TraveledDistance": { - "datatype": "float", - "description": "Odometer reading, total distance traveled during the lifetime of the vehicle.", - "type": "sensor", - "unit": "km", - "uuid": "32c3c3585f105d8aa5566ef5a038a741" - }, - "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", - "description": "Distance traveled since start of current trip.", - "type": "sensor", - "unit": "km", - "uuid": "cfc6efd2793152e487f9fe3f4e03fd5d" - }, - "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", - "uuid": "84b9558ad33555389791b57d505f27a8" - }, - "TripMeterReading": { - "comment": "The trip meter is an odometer that can be manually reset by the driver", - "datatype": "float", - "description": "Trip meter reading.", - "type": "actuator", - "unit": "km", - "uuid": "81f51ebfe29c591190171d7b96e1c948" - }, - "VehicleIdentification": { - "children": { - "AcrissCode": { - "datatype": "string", - "description": "The ACRISS Car Classification Code is a code used by many car rental companies.", - "type": "attribute", - "uuid": "115a821e8e0b57f08e4b9e61e85d7156" - }, - "BodyType": { - "datatype": "string", - "description": "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.).", - "type": "attribute", - "uuid": "e6d5c71ecec95d68b0b59bb7e93af759" - }, - "Brand": { - "datatype": "string", - "description": "Vehicle brand or manufacturer.", - "type": "attribute", - "uuid": "19fd645ff5385767bcdbf5dd4313483f" - }, - "DateVehicleFirstRegistered": { - "datatype": "string", - "description": "The date in ISO 8601 format of the first registration of the vehicle with the respective public authorities.", - "type": "attribute", - "uuid": "046f47acf62e50bd863d6568d73743d7" - }, - "KnownVehicleDamages": { - "datatype": "string", - "description": "A textual description of known damages, both repaired and unrepaired.", - "type": "attribute", - "uuid": "e87f352cddb15e94b340506b17207586" - }, - "MeetsEmissionStandard": { - "datatype": "string", - "description": "Indicates that the vehicle meets the respective emission standard.", - "type": "attribute", - "uuid": "d75dedbfadca54d8b6c7261c37ad5d83" - }, - "Model": { - "datatype": "string", - "description": "Vehicle model.", - "type": "attribute", - "uuid": "dd3d3b72e6a85b3695ba25f829255403" - }, - "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" - }, - "ProductionDate": { - "datatype": "string", - "description": "The date in ISO 8601 format of production of the item, e.g. vehicle.", - "type": "attribute", - "uuid": "5683877c4bac504d915b268c9476c190" - }, - "PurchaseDate": { - "datatype": "string", - "description": "The date in ISO 8601 format of the item e.g. vehicle was purchased by the current owner.", - "type": "attribute", - "uuid": "31302f8b57e85c4197afda3e3201fce8" - }, - "VIN": { - "datatype": "string", - "description": "17-character Vehicle Identification Number (VIN) as defined by ISO 3779.", - "type": "attribute", - "uuid": "6f0b6fa8c34f589baa92e565bc9df5bd" - }, - "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" - }, - "VehicleInteriorColor": { - "datatype": "string", - "description": "The color or color combination of the interior of the vehicle.", - "type": "attribute", - "uuid": "67a8b069b8bf573993d51959c24f04e2" - }, - "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" - }, - "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", - "uuid": "c71b63f83dea536bac58e62bbe537f11" - }, - "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" - }, - "VehicleSpecialUsage": { - "datatype": "string", - "description": "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school.", - "type": "attribute", - "uuid": "7e6e8a48f54a5549a8f6af8f1dc5eb8d" - }, - "WMI": { - "datatype": "string", - "description": "3-character World Manufacturer Identification (WMI) as defined by ISO 3780.", - "type": "attribute", - "uuid": "e7c86defbcd554a79f90ba85de58e133" - }, - "Year": { - "datatype": "uint16", - "description": "Model year of the vehicle.", - "type": "attribute", - "uuid": "9a76b0aca8e45f6fb33dbaf5b976b8b5" - } - }, - "description": "Attributes that identify a vehicle.", - "type": "branch", - "uuid": "c33861c3e9125208b05f23fe922bf08e" - }, - "VersionVSS": { - "children": { - "Label": { - "datatype": "string", - "description": "Label to further describe the version.", - "type": "attribute", - "uuid": "7c92cd50d24b5662922b27cb9a327e53" - }, - "Major": { - "datatype": "uint32", - "default": 4, - "description": "Supported Version of VSS - Major version.", - "type": "attribute", - "uuid": "5edf1a338c975cbb84d4ce3cfe1aa4b4" - }, - "Minor": { - "datatype": "uint32", - "default": 0, - "description": "Supported Version of VSS - Minor version.", - "type": "attribute", - "uuid": "6e70a598dbc7534c96c58c18e9888cfd" - }, - "Patch": { - "datatype": "uint32", - "default": 0, - "description": "Supported Version of VSS - Patch version.", - "type": "attribute", - "uuid": "69858f224af459338b9bfbff436dda45" - } - }, - "description": "Supported Version of VSS.", - "type": "branch", - "uuid": "9a687e56f1305eedb20f6a021ea58f48" - }, - "Width": { - "datatype": "uint16", - "default": 0, - "description": "Overall vehicle width.", - "type": "attribute", - "unit": "mm", - "uuid": "b4aabe144e3259adb1459a2e25fec9bd" - } - }, - "description": "High-level vehicle data.", - "type": "branch", - "uuid": "ccc825f94139544dbb5f4bfd033bece6" - } -} From 373382ead52ad8c22ccf3ea2b779d3213e203b16 Mon Sep 17 00:00:00 2001 From: Andre Weber Date: Thu, 7 Mar 2024 07:59:22 +0100 Subject: [PATCH 5/6] chore: Minor internal Signature Changes --- docs/QUICKSTART.md | 2 ++ .../org/eclipse/kuksa/vsscore/annotation/VssDefinition.kt | 3 ++- .../kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt | 6 +++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/docs/QUICKSTART.md b/docs/QUICKSTART.md index 9e7bea79..75483f5b 100644 --- a/docs/QUICKSTART.md +++ b/docs/QUICKSTART.md @@ -162,6 +162,8 @@ For a more convenient usage you can opt in to auto generate Kotlin models via [S of the same specification the Databroker uses. For starters you can retrieve an extensive default specification from the release page of the [COVESA Vehicle Signal Specification GitHub repository](https://github.com/COVESA/vehicle_signal_specification/releases). +Currently VSS specification files in .yaml and .json format are supported by the vss-processor. + *app/build.gradle.kts* ``` plugins { diff --git a/vss-core/src/main/kotlin/org/eclipse/kuksa/vsscore/annotation/VssDefinition.kt b/vss-core/src/main/kotlin/org/eclipse/kuksa/vsscore/annotation/VssDefinition.kt index 1098bb86..cc9215d8 100644 --- a/vss-core/src/main/kotlin/org/eclipse/kuksa/vsscore/annotation/VssDefinition.kt +++ b/vss-core/src/main/kotlin/org/eclipse/kuksa/vsscore/annotation/VssDefinition.kt @@ -21,7 +21,8 @@ package org.eclipse.kuksa.vsscore.annotation /** * Add this annotation to any class to trigger the model generation (Kotlin Symbol Processing) for the given - * Vehicle Signal Specification definition file by the "vss-processor-plugin". Only .yaml files are currently supported. + * Vehicle Signal Specification definition file by the "vss-processor-plugin". Currently VSS specification files in + * .yaml and .json format are supported by the vss-processor. * Use the "VSS Processor Plugin" to provide the Symbol Processor with the necessary definition file(s). * * ### Plugin Example diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt index 6ec60764..218b9b1b 100644 --- a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt @@ -71,10 +71,10 @@ internal class JsonDefinitionParser : VssDefinitionParser { private fun parseSpecModels( vssPath: String, jsonObject: JsonObject, - ): MutableList { + ): Collection { val parsedSpecModels = mutableListOf() - val parsedSpecModel = parseSpecModel(jsonObject, vssPath) + val parsedSpecModel = parseSpecModel(vssPath, jsonObject) parsedSpecModels += parsedSpecModel if (jsonObject.has(KEY_DATA_CHILDREN)) { @@ -95,8 +95,8 @@ internal class JsonDefinitionParser : VssDefinitionParser { } private fun parseSpecModel( - jsonObject: JsonObject, vssPath: String, + jsonObject: JsonObject, ): VssSpecificationSpecModel { val uuid = jsonObject.get(KEY_DATA_UUID).asString ?: throw JsonParseException("Could not parse '$KEY_DATA_UUID' for '$vssPath'") From adb20028a7ec6bd5eaa862582650ffec2fe0b200 Mon Sep 17 00:00:00 2001 From: Andre Weber Date: Thu, 7 Mar 2024 12:45:16 +0100 Subject: [PATCH 6/6] chore: Align Class Names --- ...essor.kt => VssModelGeneratorProcessor.kt} | 22 ++++++------- .../{VssDefinitionParser.kt => VssParser.kt} | 8 ++--- ...onParserFactory.kt => VssParserFactory.kt} | 16 +++++----- ...onDefinitionParser.kt => JsonVssParser.kt} | 22 ++++++------- ...mlDefinitionParser.kt => YamlVssParser.kt} | 16 +++++----- ...cationSpecModel.kt => VssNodeSpecModel.kt} | 14 ++++---- ...FactoryTest.kt => VssParserFactoryTest.kt} | 16 +++++----- ...tionParserTest.kt => JsonVssParserTest.kt} | 22 ++++++------- ...tionParserTest.kt => YamlVssParserTest.kt} | 10 +++--- ...ecModelTest.kt => VssNodeSpecModelTest.kt} | 32 +++++++++---------- 10 files changed, 89 insertions(+), 89 deletions(-) rename vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/{VssDefinitionProcessor.kt => VssModelGeneratorProcessor.kt} (91%) rename vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/{VssDefinitionParser.kt => VssParser.kt} (76%) rename vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/{VssDefinitionParserFactory.kt => VssParserFactory.kt} (78%) rename vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/{JsonDefinitionParser.kt => JsonVssParser.kt} (81%) rename vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/{YamlDefinitionParser.kt => YamlVssParser.kt} (87%) rename vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/spec/{VssSpecificationSpecModel.kt => VssNodeSpecModel.kt} (97%) rename vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/{VssDefinitionParserFactoryTest.kt => VssParserFactoryTest.kt} (79%) rename vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/{JsonDefinitionParserTest.kt => JsonVssParserTest.kt} (90%) rename vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/{YamlDefinitionParserTest.kt => YamlVssParserTest.kt} (84%) rename vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/spec/{VssSpecificationSpecModelTest.kt => VssNodeSpecModelTest.kt} (81%) diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/VssDefinitionProcessor.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/VssModelGeneratorProcessor.kt similarity index 91% rename from vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/VssDefinitionProcessor.kt rename to vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/VssModelGeneratorProcessor.kt index 63a6835e..a0ff282a 100644 --- a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/VssDefinitionProcessor.kt +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/VssModelGeneratorProcessor.kt @@ -39,9 +39,9 @@ import com.squareup.kotlinpoet.ksp.writeTo import org.eclipse.kuksa.vsscore.annotation.VssDefinition import org.eclipse.kuksa.vsscore.model.VssNode import org.eclipse.kuksa.vsscore.model.parentClassName -import org.eclipse.kuksa.vssprocessor.parser.factory.VssDefinitionParserFactory +import org.eclipse.kuksa.vssprocessor.parser.factory.VssParserFactory +import org.eclipse.kuksa.vssprocessor.spec.VssNodeSpecModel import org.eclipse.kuksa.vssprocessor.spec.VssPath -import org.eclipse.kuksa.vssprocessor.spec.VssSpecificationSpecModel import java.io.File /** @@ -51,12 +51,12 @@ import java.io.File * @param codeGenerator to generate class files with * @param logger to log output with */ -class VssDefinitionProcessor( +class VssModelGeneratorProcessor( private val codeGenerator: CodeGenerator, private val logger: KSPLogger, ) : SymbolProcessor { private val visitor = VssDefinitionVisitor() - private val vssDefinitionParserFactory = VssDefinitionParserFactory() + private val vssParserFactory = VssParserFactory() override fun process(resolver: Resolver): List { val symbols = resolver.getSymbolsWithAnnotation(VssDefinition::class.qualifiedName.toString()) @@ -86,11 +86,11 @@ class VssDefinitionProcessor( return } - val simpleSpecificationElements = mutableListOf() + val simpleSpecificationElements = mutableListOf() definitionFiles.forEach { definitionFile -> logger.info("Parsing models for definition file: ${definitionFile.name}") - val vssDefinitionParser = vssDefinitionParserFactory.create(definitionFile) - val specModels = vssDefinitionParser.parseSpecifications(definitionFile) + val vssDefinitionParser = vssParserFactory.create(definitionFile) + val specModels = vssDefinitionParser.parseNodes(definitionFile) simpleSpecificationElements.addAll(specModels) } @@ -116,7 +116,7 @@ class VssDefinitionProcessor( .toSet() } - private fun generateModelFiles(vssPathToSpecification: Map) { + private fun generateModelFiles(vssPathToSpecification: Map) { val duplicateSpecificationNames = vssPathToSpecification.keys .groupBy { it.leaf } .filter { it.value.size > 1 } @@ -159,7 +159,7 @@ class VssDefinitionProcessor( // If the actual parent is a sub class (Driver) in another class file (e.g. Vehicle) then this method returns // a sub import e.g. "Vehicle.Driver". Otherwise just "Vehicle" is returned. private fun buildParentImport( - specModel: VssSpecificationSpecModel, + specModel: VssNodeSpecModel, parentVssPathToClassName: Map, ): String { var availableParentVssPath = specModel.vssPath @@ -200,12 +200,12 @@ class VssDefinitionProcessor( } /** - * Provides the environment for the [VssDefinitionProcessor]. + * Provides the environment for the [VssModelGeneratorProcessor]. */ class VssDefinitionProcessorProvider : SymbolProcessorProvider { override fun create( environment: SymbolProcessorEnvironment, ): SymbolProcessor { - return VssDefinitionProcessor(environment.codeGenerator, environment.logger) + return VssModelGeneratorProcessor(environment.codeGenerator, environment.logger) } } diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/VssDefinitionParser.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/VssParser.kt similarity index 76% rename from vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/VssDefinitionParser.kt rename to vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/VssParser.kt index 24eeeeb8..52ea9e01 100644 --- a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/VssDefinitionParser.kt +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/VssParser.kt @@ -19,14 +19,14 @@ package org.eclipse.kuksa.vssprocessor.parser -import org.eclipse.kuksa.vssprocessor.spec.VssSpecificationSpecModel +import org.eclipse.kuksa.vssprocessor.spec.VssNodeSpecModel import java.io.File -internal interface VssDefinitionParser { +internal interface VssParser { /** - * @param definitionFile to parse [VssSpecificationSpecModel] with + * @param definitionFile to parse [VssNodeSpecModel] with * * @throws java.io.IOException will be thrown when parsing the SpecModels failed */ - fun parseSpecifications(definitionFile: File): List + fun parseNodes(definitionFile: File): List } diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactory.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssParserFactory.kt similarity index 78% rename from vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactory.kt rename to vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssParserFactory.kt index d8afd679..aedb2e8e 100644 --- a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactory.kt +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssParserFactory.kt @@ -19,26 +19,26 @@ package org.eclipse.kuksa.vssprocessor.parser.factory -import org.eclipse.kuksa.vssprocessor.parser.VssDefinitionParser +import org.eclipse.kuksa.vssprocessor.parser.VssParser import org.eclipse.kuksa.vssprocessor.parser.factory.VssFileExtension.JSON import org.eclipse.kuksa.vssprocessor.parser.factory.VssFileExtension.YAML -import org.eclipse.kuksa.vssprocessor.parser.json.JsonDefinitionParser -import org.eclipse.kuksa.vssprocessor.parser.yaml.YamlDefinitionParser +import org.eclipse.kuksa.vssprocessor.parser.json.JsonVssParser +import org.eclipse.kuksa.vssprocessor.parser.yaml.YamlVssParser import java.io.File -internal class VssDefinitionParserFactory { +internal class VssParserFactory { /** * @throws IllegalStateException when the specified extension is not supported */ - fun create(extension: String): VssDefinitionParser { + fun create(extension: String): VssParser { return when { JSON.fileExtensions.contains(extension) -> { - JsonDefinitionParser() + JsonVssParser() } YAML.fileExtensions.contains(extension) -> { - YamlDefinitionParser() + YamlVssParser() } else -> { @@ -50,7 +50,7 @@ internal class VssDefinitionParserFactory { /** * @throws IllegalStateException when the extension of the specified file is not supported */ - fun create(file: File): VssDefinitionParser { + fun create(file: File): VssParser { val fileName = file.name // with extension val fileExtension = fileName.substringAfterLast(".") diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonVssParser.kt similarity index 81% rename from vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt rename to vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonVssParser.kt index 218b9b1b..37b0f94b 100644 --- a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParser.kt +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonVssParser.kt @@ -22,8 +22,8 @@ package org.eclipse.kuksa.vssprocessor.parser.json import com.google.gson.Gson import com.google.gson.JsonObject import com.google.gson.JsonParseException -import org.eclipse.kuksa.vssprocessor.parser.VssDefinitionParser -import org.eclipse.kuksa.vssprocessor.spec.VssSpecificationSpecModel +import org.eclipse.kuksa.vssprocessor.parser.VssParser +import org.eclipse.kuksa.vssprocessor.spec.VssNodeSpecModel import java.io.File import java.io.IOException @@ -36,7 +36,7 @@ private const val KEY_DATA_COMMENT = "comment" private const val KEY_DATA_DATATYPE = "datatype" private const val KEY_DATA_CHILDREN = "children" -internal class JsonDefinitionParser : VssDefinitionParser { +internal class JsonVssParser : VssParser { private val dataKeys = listOf( KEY_DATA_DESCRIPTION, KEY_DATA_TYPE, @@ -46,8 +46,8 @@ internal class JsonDefinitionParser : VssDefinitionParser { KEY_DATA_CHILDREN, ) - override fun parseSpecifications(definitionFile: File): List { - val vssSpecificationSpecModels = mutableListOf() + override fun parseNodes(definitionFile: File): List { + val vssNodeSpecModels = mutableListOf() try { val jsonStreamReader = definitionFile.reader() @@ -57,7 +57,7 @@ internal class JsonDefinitionParser : VssDefinitionParser { if (rootJsonObject.has(ROOT_KEY_VEHICLE)) { val vehicleJsonObject = rootJsonObject.getAsJsonObject(ROOT_KEY_VEHICLE) - vssSpecificationSpecModels += parseSpecModels(ROOT_KEY_VEHICLE, vehicleJsonObject) + vssNodeSpecModels += parseSpecModels(ROOT_KEY_VEHICLE, vehicleJsonObject) } else { throw IOException("Invalid VSS Specification file '${definitionFile.path}'") } @@ -65,14 +65,14 @@ internal class JsonDefinitionParser : VssDefinitionParser { throw IOException("Invalid VSS Specification file '${definitionFile.path}'", e) } - return vssSpecificationSpecModels.toList() + return vssNodeSpecModels.toList() } private fun parseSpecModels( vssPath: String, jsonObject: JsonObject, - ): Collection { - val parsedSpecModels = mutableListOf() + ): Collection { + val parsedSpecModels = mutableListOf() val parsedSpecModel = parseSpecModel(vssPath, jsonObject) parsedSpecModels += parsedSpecModel @@ -97,7 +97,7 @@ internal class JsonDefinitionParser : VssDefinitionParser { private fun parseSpecModel( vssPath: String, jsonObject: JsonObject, - ): VssSpecificationSpecModel { + ): VssNodeSpecModel { val uuid = jsonObject.get(KEY_DATA_UUID).asString ?: throw JsonParseException("Could not parse '$KEY_DATA_UUID' for '$vssPath'") @@ -108,6 +108,6 @@ internal class JsonDefinitionParser : VssDefinitionParser { val datatype = jsonObject.get(KEY_DATA_DATATYPE)?.asString ?: "" val comment = jsonObject.get(KEY_DATA_COMMENT)?.asString ?: "" - return VssSpecificationSpecModel(uuid, vssPath, description, type, comment, datatype) + return VssNodeSpecModel(uuid, vssPath, description, type, comment, datatype) } } diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParser.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlVssParser.kt similarity index 87% rename from vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParser.kt rename to vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlVssParser.kt index 3c021e97..b952d8a8 100644 --- a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParser.kt +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlVssParser.kt @@ -20,16 +20,16 @@ package org.eclipse.kuksa.vssprocessor.parser.yaml import org.eclipse.kuksa.vsscore.model.VssSpecification -import org.eclipse.kuksa.vssprocessor.parser.VssDefinitionParser -import org.eclipse.kuksa.vssprocessor.spec.VssSpecificationSpecModel +import org.eclipse.kuksa.vssprocessor.parser.VssParser +import org.eclipse.kuksa.vssprocessor.spec.VssNodeSpecModel import java.io.File import kotlin.reflect.KMutableProperty import kotlin.reflect.KProperty import kotlin.reflect.full.memberProperties -internal class YamlDefinitionParser(private val elementDelimiter: String = "") : VssDefinitionParser { - override fun parseSpecifications(definitionFile: File): List { - val specificationElements = mutableListOf() +internal class YamlVssParser(private val elementDelimiter: String = "") : VssParser { + override fun parseNodes(definitionFile: File): List { + val specificationElements = mutableListOf() definitionFile.useLines { lines -> val yamlAttributes = mutableListOf() for (line in lines.toList()) { @@ -62,14 +62,14 @@ internal class YamlDefinitionParser(private val elementDelimiter: String = "") : // description: Antilock Braking System signals. // type: branch // uuid: 219270ef27c4531f874bbda63743b330 - private fun parseYamlElement(yamlElement: List, delimiter: Char = ';'): VssSpecificationSpecModel? { + private fun parseYamlElement(yamlElement: List, delimiter: Char = ';'): VssNodeSpecModel? { val elementVssPath = yamlElement.first().substringBefore(":") val yamlElementJoined = yamlElement .joinToString(separator = delimiter.toString()) .substringAfter(delimiter) // Remove vssPath (already parsed) .prependIndent(delimiter.toString()) // So the parsing is consistent for the first element - val members = VssSpecificationSpecModel::class.memberProperties + val members = VssNodeSpecModel::class.memberProperties val fieldsToSet = mutableListOf>() // The VSSPath is an exception because it is parsed from the top level name. @@ -90,7 +90,7 @@ internal class YamlDefinitionParser(private val elementDelimiter: String = "") : fieldsToSet.add(fieldInfo) } - val vssSpecificationMember = VssSpecificationSpecModel() + val vssSpecificationMember = VssNodeSpecModel() vssSpecificationMember.setFields(fieldsToSet) if (vssSpecificationMember.uuid.isEmpty()) return null diff --git a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssSpecificationSpecModel.kt b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssNodeSpecModel.kt similarity index 97% rename from vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssSpecificationSpecModel.kt rename to vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssNodeSpecModel.kt index eba569b2..53de8ffa 100644 --- a/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssSpecificationSpecModel.kt +++ b/vss-processor/src/main/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssNodeSpecModel.kt @@ -46,14 +46,14 @@ import kotlin.reflect.full.declaredMemberProperties // Reflects the specification file as a model and is filled via reflection. That is why the variable names // should exactly match the names inside the specification file and be of a string type. -internal class VssSpecificationSpecModel( +internal class VssNodeSpecModel( override var uuid: String = "", override var vssPath: String = "", override var description: String = "", override var type: String = "", override var comment: String = "", @Suppress("MemberVisibilityCanBePrivate") var datatype: String = "", -) : VssSpecification, SpecModel { +) : VssSpecification, SpecModel { var logger: KSPLogger? = null private val datatypeProperty: TypeName @@ -99,7 +99,7 @@ internal class VssSpecificationSpecModel( override fun createClassSpec( packageName: String, - relatedSpecifications: Collection, + relatedSpecifications: Collection, nestedClasses: Collection, ): TypeSpec { val childSpecifications = relatedSpecifications.filter { it.parentKey == name } @@ -210,7 +210,7 @@ internal class VssSpecificationSpecModel( private fun createVssSpecificationSpecs( className: String, packageName: String, - specification: VssSpecificationSpecModel = this, + specification: VssNodeSpecModel = this, ): List { val propertySpecs = mutableListOf() val members = VssSpecification::class.declaredMemberProperties @@ -232,7 +232,7 @@ internal class VssSpecificationSpecModel( } fun createObjectTypeSpec( - specification: VssSpecificationSpecModel, + specification: VssNodeSpecModel, packageName: String, ): PropertySpec { val prefixedTypeName = ClassName(packageName, specification.className) @@ -259,7 +259,7 @@ internal class VssSpecificationSpecModel( return listOf(objectTypeSpec) } - private fun createVssNodeSpecs(childSpecifications: List): List { + private fun createVssNodeSpecs(childSpecifications: List): List { fun createSetSpec(memberName: String, memberType: TypeName): PropertySpec { val specificationNamesJoined = childSpecifications.joinToString(", ") { it.variableName } @@ -311,7 +311,7 @@ internal class VssSpecificationSpecModel( } override fun equals(other: Any?): Boolean { - if (other !is VssSpecificationSpecModel) return false + if (other !is VssNodeSpecModel) return false return uuid == other.uuid } diff --git a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactoryTest.kt b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssParserFactoryTest.kt similarity index 79% rename from vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactoryTest.kt rename to vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssParserFactoryTest.kt index ad0e9409..5bc43236 100644 --- a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssDefinitionParserFactoryTest.kt +++ b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/factory/VssParserFactoryTest.kt @@ -22,20 +22,20 @@ package org.eclipse.kuksa.vssprocessor.parser.factory import io.kotest.core.spec.style.BehaviorSpec import io.kotest.matchers.shouldBe import io.kotest.matchers.types.instanceOf -import org.eclipse.kuksa.vssprocessor.parser.json.JsonDefinitionParser -import org.eclipse.kuksa.vssprocessor.parser.yaml.YamlDefinitionParser +import org.eclipse.kuksa.vssprocessor.parser.json.JsonVssParser +import org.eclipse.kuksa.vssprocessor.parser.yaml.YamlVssParser import java.io.File -class VssDefinitionParserFactoryTest : BehaviorSpec({ +class VssParserFactoryTest : BehaviorSpec({ given("An instance of DefinitionParserFactory") { - val classUnderTest = VssDefinitionParserFactory() + val classUnderTest = VssParserFactory() `when`("Calling create with supported extension 'json'") { val vssDefinitionParser = classUnderTest.create("json") then("It should return a JsonDefinitionParser") { - vssDefinitionParser shouldBe instanceOf(JsonDefinitionParser::class) + vssDefinitionParser shouldBe instanceOf(JsonVssParser::class) } } @@ -43,7 +43,7 @@ class VssDefinitionParserFactoryTest : BehaviorSpec({ val vssDefinitionParser = classUnderTest.create("yaml") then("It should return a YamlDefinitionParser") { - vssDefinitionParser shouldBe instanceOf(YamlDefinitionParser::class) + vssDefinitionParser shouldBe instanceOf(YamlVssParser::class) } } @@ -51,7 +51,7 @@ class VssDefinitionParserFactoryTest : BehaviorSpec({ val vssDefinitionParser = classUnderTest.create("yml") then("It should return a YamlDefinitionParser") { - vssDefinitionParser shouldBe instanceOf(YamlDefinitionParser::class) + vssDefinitionParser shouldBe instanceOf(YamlVssParser::class) } } @@ -60,7 +60,7 @@ class VssDefinitionParserFactoryTest : BehaviorSpec({ val vssDefinitionParser = classUnderTest.create(supportedFile) then("It should correctly extract the extension and return the corresponding VssDefinitionParser") { - vssDefinitionParser shouldBe instanceOf(JsonDefinitionParser::class) + vssDefinitionParser shouldBe instanceOf(JsonVssParser::class) } } diff --git a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonVssParserTest.kt similarity index 90% rename from vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt rename to vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonVssParserTest.kt index 3aacad60..4c3c9235 100644 --- a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonDefinitionParserTest.kt +++ b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/json/JsonVssParserTest.kt @@ -26,14 +26,14 @@ import io.kotest.matchers.types.instanceOf import org.eclipse.kuksa.test.TestResourceFile import java.io.IOException -class JsonDefinitionParserTest : BehaviorSpec({ +class JsonVssParserTest : BehaviorSpec({ given("A JsonDefinitionParser") { - val classUnderTest = JsonDefinitionParser() + val classUnderTest = JsonVssParser() `when`("Parsing the SpecModels of vss_rel_4.0.partial.json") { val partialSpecFile = TestResourceFile("json/vss_rel_4.0.partial.json") - val specModels = classUnderTest.parseSpecifications(partialSpecFile) + val specModels = classUnderTest.parseNodes(partialSpecFile) then("The following SpecModels should be parsed") { val validVssPaths = listOf( @@ -88,7 +88,7 @@ class JsonDefinitionParserTest : BehaviorSpec({ `when`("Parsing vss_rel_4.0.json") { val fullSpecFile = TestResourceFile("json/vss_rel_4.0.json") - val specModels = classUnderTest.parseSpecifications(fullSpecFile) + val specModels = classUnderTest.parseNodes(fullSpecFile) then("the correct number of specification models should be parsed") { specModels.size shouldBe 1197 // counted occurrences of '"uuid":' in specFile @@ -98,7 +98,7 @@ class JsonDefinitionParserTest : BehaviorSpec({ `when`("Parsing vss_rel_3.1.1.json") { val fullSpecFile = TestResourceFile("json/vss_rel_3.1.1.json") val result = runCatching { - classUnderTest.parseSpecifications(fullSpecFile) + classUnderTest.parseNodes(fullSpecFile) } then("No Exception should be thrown") { @@ -112,7 +112,7 @@ class JsonDefinitionParserTest : BehaviorSpec({ `when`("Parsing vss_rel_3.0.json") { val fullSpecFile = TestResourceFile("json/vss_rel_3.0.json") val result = runCatching { - classUnderTest.parseSpecifications(fullSpecFile) + classUnderTest.parseNodes(fullSpecFile) } then("No Exception should be thrown") { @@ -126,7 +126,7 @@ class JsonDefinitionParserTest : BehaviorSpec({ `when`("Parsing vss_rel_2.2.json") { val fullSpecFile = TestResourceFile("json/vss_rel_2.2.json") val result = runCatching { - classUnderTest.parseSpecifications(fullSpecFile) + classUnderTest.parseNodes(fullSpecFile) } then("No Exception should be thrown") { @@ -140,7 +140,7 @@ class JsonDefinitionParserTest : BehaviorSpec({ `when`("Parsing vss_rel_2.1.json") { val fullSpecFile = TestResourceFile("json/vss_rel_2.1.json") val result = runCatching { - classUnderTest.parseSpecifications(fullSpecFile) + classUnderTest.parseNodes(fullSpecFile) } then("No Exception should be thrown") { @@ -154,7 +154,7 @@ class JsonDefinitionParserTest : BehaviorSpec({ `when`("Parsing vss_rel_2.0.json") { val fullSpecFile = TestResourceFile("json/vss_rel_2.0.json") val result = runCatching { - classUnderTest.parseSpecifications(fullSpecFile) + classUnderTest.parseNodes(fullSpecFile) } then("No Exception should be thrown") { @@ -168,7 +168,7 @@ class JsonDefinitionParserTest : BehaviorSpec({ `when`("Parsing an incompatible / non-vss json file") { val incompatibleFile = TestResourceFile("json/incompatible.json") val result = runCatching { - classUnderTest.parseSpecifications(incompatibleFile) + classUnderTest.parseNodes(incompatibleFile) } then("An IOException is thrown") { @@ -179,7 +179,7 @@ class JsonDefinitionParserTest : BehaviorSpec({ `when`("Parsing a non-json file") { val nonJsonFile = TestResourceFile("yaml/vss_rel_4.0.yaml") val result = runCatching { - classUnderTest.parseSpecifications(nonJsonFile) + classUnderTest.parseNodes(nonJsonFile) } then("An IOException is thrown") { diff --git a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParserTest.kt b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlVssParserTest.kt similarity index 84% rename from vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParserTest.kt rename to vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlVssParserTest.kt index 98f7ab1b..d935d915 100644 --- a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlDefinitionParserTest.kt +++ b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/parser/yaml/YamlVssParserTest.kt @@ -23,15 +23,15 @@ import io.kotest.core.spec.style.BehaviorSpec import io.kotest.matchers.shouldBe import org.eclipse.kuksa.test.TestResourceFile -class YamlDefinitionParserTest : BehaviorSpec({ +class YamlVssParserTest : BehaviorSpec({ given("A parser for yaml files") { - val parser = YamlDefinitionParser() + val parser = YamlVssParser() and("a specification file of version 4") { val fullSpecificationFile = TestResourceFile("yaml/vss_rel_4.0.yaml") `when`("parsing the file") { - val parsedSpecifications = parser.parseSpecifications(fullSpecificationFile) + val parsedSpecifications = parser.parseNodes(fullSpecificationFile) then("the correct number of specification models should be parsed") { parsedSpecifications.size shouldBe 1197 // counted occurrences of '"uuid":' in specFile @@ -42,7 +42,7 @@ class YamlDefinitionParserTest : BehaviorSpec({ val incompatibleFile = TestResourceFile("yaml/incompatible.yaml") `when`("parsing the file") { - val parsedSpecifications = parser.parseSpecifications(incompatibleFile) + val parsedSpecifications = parser.parseNodes(incompatibleFile) then("no entries should be returned") { parsedSpecifications.size shouldBe 0 @@ -53,7 +53,7 @@ class YamlDefinitionParserTest : BehaviorSpec({ val invalidFile = TestResourceFile("yaml/invalid.yaml") `when`("parsing the file") { - val parsedSpecifications = parser.parseSpecifications(invalidFile) + val parsedSpecifications = parser.parseNodes(invalidFile) then("no entries should be returned") { parsedSpecifications.size shouldBe 0 diff --git a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssSpecificationSpecModelTest.kt b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssNodeSpecModelTest.kt similarity index 81% rename from vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssSpecificationSpecModelTest.kt rename to vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssNodeSpecModelTest.kt index 9f70a262..b296003d 100644 --- a/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssSpecificationSpecModelTest.kt +++ b/vss-processor/src/test/kotlin/org/eclipse/kuksa/vssprocessor/spec/VssNodeSpecModelTest.kt @@ -24,9 +24,9 @@ import io.kotest.matchers.shouldBe import io.kotest.matchers.shouldNotBe import io.kotest.matchers.string.shouldContain -class VssSpecificationSpecModelTest : BehaviorSpec({ +class VssNodeSpecModelTest : BehaviorSpec({ given("String spec model") { - val specModel = VssSpecificationSpecModel(datatype = "string", vssPath = "Vehicle.IgnitionType") + val specModel = VssNodeSpecModel(datatype = "string", vssPath = "Vehicle.IgnitionType") `when`("creating a class spec") { val classSpec = specModel.createClassSpec("test") @@ -40,7 +40,7 @@ class VssSpecificationSpecModelTest : BehaviorSpec({ } given("int64 spec model") { - val specModel = VssSpecificationSpecModel(datatype = "int64", vssPath = "Vehicle.IgnitionType") + val specModel = VssNodeSpecModel(datatype = "int64", vssPath = "Vehicle.IgnitionType") `when`("creating a class spec") { val classSpec = specModel.createClassSpec("test") @@ -54,7 +54,7 @@ class VssSpecificationSpecModelTest : BehaviorSpec({ } given("uint32 spec model") { - val specModel = VssSpecificationSpecModel(datatype = "uint32", vssPath = "Vehicle.IgnitionType") + val specModel = VssNodeSpecModel(datatype = "uint32", vssPath = "Vehicle.IgnitionType") `when`("creating a class spec") { val classSpec = specModel.createClassSpec("test") @@ -68,7 +68,7 @@ class VssSpecificationSpecModelTest : BehaviorSpec({ } given("int32 spec model") { - val specModel = VssSpecificationSpecModel(datatype = "int32", vssPath = "Vehicle.IgnitionType") + val specModel = VssNodeSpecModel(datatype = "int32", vssPath = "Vehicle.IgnitionType") `when`("creating a class spec") { val classSpec = specModel.createClassSpec("test") @@ -82,7 +82,7 @@ class VssSpecificationSpecModelTest : BehaviorSpec({ } given("uint64[] spec model") { - val specModel = VssSpecificationSpecModel(datatype = "uint64[]", vssPath = "Vehicle.IgnitionType") + val specModel = VssNodeSpecModel(datatype = "uint64[]", vssPath = "Vehicle.IgnitionType") `when`("creating a class spec") { val classSpec = specModel.createClassSpec("test") @@ -96,7 +96,7 @@ class VssSpecificationSpecModelTest : BehaviorSpec({ } given("String[] spec model") { - val specModel = VssSpecificationSpecModel(datatype = "string[]", vssPath = "Vehicle.IgnitionType") + val specModel = VssNodeSpecModel(datatype = "string[]", vssPath = "Vehicle.IgnitionType") `when`("creating a class spec") { val classSpec = specModel.createClassSpec("test") @@ -110,7 +110,7 @@ class VssSpecificationSpecModelTest : BehaviorSpec({ } given("Boolean[] spec model") { - val specModel = VssSpecificationSpecModel(datatype = "boolean[]", vssPath = "Vehicle.IgnitionType") + val specModel = VssNodeSpecModel(datatype = "boolean[]", vssPath = "Vehicle.IgnitionType") `when`("creating a class spec") { val classSpec = specModel.createClassSpec("test") @@ -124,7 +124,7 @@ class VssSpecificationSpecModelTest : BehaviorSpec({ } given("Any spec model") { - val specModel = VssSpecificationSpecModel(datatype = "any", vssPath = "Vehicle.IgnitionType") + val specModel = VssNodeSpecModel(datatype = "any", vssPath = "Vehicle.IgnitionType") `when`("creating a class spec") { val exception = shouldThrow { @@ -138,7 +138,7 @@ class VssSpecificationSpecModelTest : BehaviorSpec({ } given("Parent Spec model") { - val specModel = VssSpecificationSpecModel(vssPath = "Vehicle") + val specModel = VssNodeSpecModel(vssPath = "Vehicle") `when`("creating a class spec without children and nested classes") { val exception = shouldThrow { @@ -150,14 +150,14 @@ class VssSpecificationSpecModelTest : BehaviorSpec({ } } and("related specifications") { - val vehicleSpeedSpecModel = VssSpecificationSpecModel(datatype = "float", vssPath = "Vehicle.Speed") + val vehicleSpeedSpecModel = VssNodeSpecModel(datatype = "float", vssPath = "Vehicle.Speed") val relatedSpecifications = listOf( - VssSpecificationSpecModel(vssPath = "Vehicle.SmartphoneProjection"), - VssSpecificationSpecModel(datatype = "boolean", vssPath = "Vehicle.IsBrokenDown"), + VssNodeSpecModel(vssPath = "Vehicle.SmartphoneProjection"), + VssNodeSpecModel(datatype = "boolean", vssPath = "Vehicle.IsBrokenDown"), vehicleSpeedSpecModel, - VssSpecificationSpecModel(datatype = "string[]", vssPath = "Vehicle.SupportedMode"), - VssSpecificationSpecModel(datatype = "boolean[]", vssPath = "Vehicle.AreSeatsHeated"), - VssSpecificationSpecModel(datatype = "invalid", vssPath = "Vehicle.Invalid"), + VssNodeSpecModel(datatype = "string[]", vssPath = "Vehicle.SupportedMode"), + VssNodeSpecModel(datatype = "boolean[]", vssPath = "Vehicle.AreSeatsHeated"), + VssNodeSpecModel(datatype = "invalid", vssPath = "Vehicle.Invalid"), ) `when`("creating a class spec with children") {