Updated external content (Jenkins build 1100)

pull/1969/head
openHAB Build Server 2022-08-24 04:59:31 +00:00
parent 3e9e75ed1c
commit 9e3c163f34
31 changed files with 1098 additions and 5 deletions

File diff suppressed because one or more lines are too long

View File

@ -106,9 +106,9 @@ All of these channels appear in the binding, but only those which have a physica
| Channel | Item Type | Description |
|----------------|--------------------------|-------------|
| position | Rollershutter | The vertical position of the shade's rail -- see [next chapter](#Roller-Shutter-Up/Down-Position-vs.-Open/Close-State). Up/Down commands will move the rail completely up or completely down. Percentage commands will move the rail to an intermediate position. Stop commands will halt any current movement of the rail. |
| secondary | Rollershutter | The vertical position of the secondary rail (if any). Its function is similar to the `position` channel above -- but see [next chapter](#Roller-Shutter-Up/Down-Position-vs.-Open/Close-State). |
| vane | Dimmer | The degree of opening of the slats or vanes. Setting this to a non-zero value will first move the shade `position` fully down, since the slats or vanes can only have a defined state if the shade is in its down position -- see [Interdependency between Channel positions](#Interdependency-between-Channel-positions). |
| position | Rollershutter | The vertical position of the shade's rail (if any). -- See [next chapter](#Roller-Shutter-Up/Down-Position-vs.-Open/Close-State). Up/Down commands will move the rail completely up or completely down. Percentage commands will move the rail to an intermediate position. Stop commands will halt any current movement of the rail. |
| secondary | Rollershutter | The vertical position of the secondary rail (if any). Its function is similar to the `position` channel above. -- But see [next chapter](#Roller-Shutter-Up/Down-Position-vs.-Open/Close-State). |
| vane | Dimmer | The degree of opening of the slats or vanes (if any). On some shade types, setting this to a non-zero value might first move the shade `position` fully down, since the slats or vanes can only have a defined state if the shade is in its down position. See [Interdependency between Channel positions](#Interdependency-between-Channel-positions). |
| command | String | Send a command to the shade. Valid values are: `CALIBRATE`, `IDENTIFY` |
| lowBattery | Switch | Indicates ON when the battery level of the shade is low, as determined by the hub's internal rules. |
| batteryLevel | Number | Battery level (10% = low, 50% = medium, 100% = high)
@ -117,7 +117,9 @@ All of these channels appear in the binding, but only those which have a physica
| hubRssi | Number:Power | Received Signal Strength Indicator for Hub |
| repeaterRssi | Number:Power | Received Signal Strength Indicator for Repeater |
Please note that RSSI values will only be updated upon manual request by a `REFRESH` command (e.g. in a rule).
Notes:
- The channels `position`, `secondary` and `vane` only exist if the shade physically supports such channels.
- The RSSI values will only be updated upon manual request by a `REFRESH` command (e.g. in a rule).
### Channels for Repeaters (Thing type `repeater`)

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@ -0,0 +1,517 @@
---
id: mercedesme
label: MercedesMe
title: MercedesMe - Bindings
type: binding
description: "This binding provides similar access to your Mercedes Benz vehicle like the Smartphone App _Mercedes Me_."
since: 3x
install: manual
---
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
{% include base.html %}
# MercedesMe Binding
This binding provides similar access to your Mercedes Benz vehicle like the Smartphone App _Mercedes Me_.
For this you need a Mercedes developer account to get data from your vehicles.
Setup requires some, time so follow [the steps of bridge configuration](#bridge-configuration).
If you face some problems during setup or runtime please have a look into the [Troubleshooting section](#troubleshooting)
## Supported Things
| Type | ID | Description |
|-----------------|---------------|-------------------------------------------------|
| Bridge | `account` | Connect your Mercedes Me account |
| Thing | `combustion` | Conventional fuel vehicle |
| Thing | `hybrid` | Fuel vehicle with supporting electric engine |
| Thing | `bev` | Battery electric vehicle |
## Bridge Configuration
Bridge needs configuration in order to connect properly to your Mercedes Me Account.
### Pre-Conditions
- **each bridge shall have its own Mercedes Benz Client ID!**
Don't create several `account` bridges with the same client id! If this is not the case the tokens won't be stored properly and the authorization is jeopardized!
- **each bridge shall have its own port.**
It's absolutely necessary to assign a different port for each `account` bridge. If this is not the case the tokens won't be stored properly and the authorization is jeopardized!
### Bridge Setup
Perform the following steps to obtain the configuration data and perform the authorization flow.
1. Go to [Mercedes Developer Page](https://developer.mercedes-benz.com/). Login with your Mercedes Me credentials.
2. Create a project in the [console tab](https://developer.mercedes-benz.com/console)
- _Project Name:_ unique name e.g. **openHAB Mercedes Me binding** plus **Your bridge ID**
- _Purpose URL:_ use link towards [this binding description](https://www.openhab.org/addons/bindings/mercedesme/)
- _Business Purpose:_ e.g. **Private usage in openHAB Smarthome system**
3. After project is created subscribe [to these Mercedes Benz APIs](https://developer.mercedes-benz.com/products?vt=cars&vt=vans&vt=smart&p=BYOCAR) with _Add Products_ button
4. For all Products perform the same steps
- Select product
- Choose _Get For Free_
- Choose _BYOCAR_ (Build Your Own Car)
- Button _Confirm_
5. Select the following products
- Vehicle Status
- Vehicle Lock Status
- Pay as you drive insurance
- Electric Vehicle Status
- Fuel Status
6. Optional: Subscribe also to _Vehicle images_. Select the _Basic Trial_ version. The images will be stored so the API is used just a few times.
7. Press _Subscribe_ button. Your project should have [these product subscriptions](#mb-product-subscriptions)
8. Generate the [project credentials](#mb-credentials)
9. Open in new browser tab your openHAB page. Add a new Thing _Mercedes Me Account_
10. Copy paste _Client ID_ , _Client Secret_ and _API Key_ from the Mercedes tab into the openHAB configuration
11. Check if the registered Mercedes products _excluding Vehicle Images_ are matching exactly with the openHab configuration switches
12. Create Thing!
13. The fresh created [account has one property](#openhab-configuration) `callbackUrl`. Copy it and paste it in a new browser tab
14. A [simple HTML page is shown including a link towards the Authorization flow](#callback-page) - **don't click yet**. If page isn't shown please adapt IP and port in openHAB configuration with Advanced Options activated
15. The copied URL needs to be added in your [Mercedes project credentials](#mb-credentials) from 8
16. Now click onto the link from 14. You'll be asked one time if you [grant access](#mb-access-request) towards the API. Click OK and authorization is done!
Some supporting screenshots for the setup
### MB Credentials
<img src="./doc/MBDeveloper-Credentials.png" width="500" height="280"/>
### MB Product Subscriptions
<img src="./doc/MBDeveloper-Subscriptions.png" width="500" height="300"/>
### openHAB Configuration
<img src="./doc/MercedesMeConfiguration.png" width="400" height="500"/>
### MB Access Request
<img src="./doc/MBAccessRequest.png" width="500" height="220"/>
### Callback page
<img src="./doc/CallbackUrl_Page.png" width="500" height="350"/>
### Bridge Configuration Parameters
| Name | Type | Description | Default | Required | Advanced |
|-----------------|---------|---------------------------------------|-------------|----------|----------|
| clientId | text | Mercedes Benz Developer Client ID | N/A | yes | no |
| clientSecret | text | Mercedes Benz Developer Client Secret | N/A | yes | no |
| imageApiKey | text | Mercedes Benz Developer Image API Key | N/A | no | no |
| odoScope | boolean | PayAsYourDrive Insurance | true | yes | no |
| vehicleScope | boolean | Vehicle Status | true | yes | no |
| lockScope | boolean | Lock status of doors and trunk | true | yes | no |
| fuelScope | boolean | Fuel Status | true | yes | no |
| evScope | boolean | Electric Vehicle Status | true | yes | no |
| callbackIp | text | IP address of your openHAB server | auto detect | no | yes |
| callbackPort | integer | **Unique** port number | auto detect | no | yes |
The `callbackPort` needs to be unique for all created Mercedes Me account things. Otherwise token exchange will be corrupted.
Set the advanced options by yourself if you know your IP and Port, otherwise give auto detect a try.
## Thing Configuration
For vehicle images Mercedes Benz Developer offers only a trial version with limited calls.
Check in **beforehand** if your vehicle has some restrictions or even if it's supported at all.
Visit [Vehicle Image Details](https://developer.mercedes-benz.com/products/vehicle_images/details) in order to check your vehicle capabilities.
Visit [Image Settings](https://developer.mercedes-benz.com/products/vehicle_images/docs#_default_image_settings) to get more information about
For example the EQA doesn't provide `night` images with `background`.
If your configuration is set this way the API calls are wasted!
<img src="./doc/ImageRestrictions.png" width="800" height="36"/>
See also [image channel section](#image) for further advise.
| Name | Type | Description | Default | Required | Advanced |
|-----------------|---------|-----------------------------------------------------|---------|----------|----------|
| vin | text | Vehicle identification number | N/A | yes | no |
| refreshInterval | integer | Refresh interval in minutes | 5 | yes | no |
| background | boolean | Vehicle images provided with or without background | false | no | yes |
| night | boolean | Vehicle images in night conditions | false | no | yes |
| cropped | boolean | Vehicle images in 4:3 instead of 16:9 | false | no | yes |
| roofOpen | boolean | Vehicle images with open roof (only Cabriolet) | false | no | yes |
| format | text | Vehicle images format (webp or png) | webp | no | yes |
For all vehicles you're free to give the tank / battery capacity.
Giving these values in configuration the open fuel / charge capacities are reported in the [range](#range) channels.
| Name | Type | Description | Default | Required | Advanced | combustion | bev | hybrid |
|-----------------|---------|-----------------------------------------------------|---------|----------|----------|------------|-----|--------|
| batteryCapacity | decimal | Battery Capacity | N/A | no | no | | X | X |
| fuelCapacity | decimal | Fuel Capacity | N/A | no | no | X | | X |
## Channels
Channels are separated in groups:
| Channel Group ID | Description |
|----------------------------------|---------------------------------------------------|
| [range](#range) | Provides mileage, range and charge / fuel levels |
| [doors](#doors) | Details of all doors |
| [windows](#windows) | Current position of windows |
| [lights](#lights) | Interior lights and main light switch |
| [lock](#lock) | Overall lock state of vehicle |
| [location](#location) | Heading of the vehicle |
| [image](#image) | Images of your vehicle |
### Range
Group name: `range`
All channels `read-only`
| Channel | Type | Description | bev | hybrid | combustion |
|------------------|----------------------|------------------------------| ----|--------|------------|
| mileage | Number:Length | Total mileage | X | X | X |
| soc | Number:Dimensionless | Battery state of charge | X | X | |
| charged | Number:Energy | Charged Battery Energy | X | X | |
| uncharged | Number:Energy | Uncharged Battery Energy | X | X | |
| soc | Number:Dimensionless | Battery state of charge | X | X | |
| range-electric | Number:Length | Electric range | X | X | |
| radius-electric | Number:Length | Electric radius for map | X | X | |
| fuel-level | Number:Dimensionless | Fuel level in percent | | X | X |
| fuel-remain | Number:Volume | Reamaining Fuel | | X | X |
| fuel-open | Number:Volume | Open Fuel Capacity | | X | X |
| range-fuel | Number:Length | Fuel range | | X | X |
| radius-fuel | Number:Length | Fuel radius for map | | X | X |
| range-hybrid | Number:Length | Hybrid range | | X | |
| radius-hybrid | Number:Length | Hybrid radius for map | | X | |
| last-update | DateTime | Last range update | X | X | X |
Channels with `radius` are just giving a _guess_ which radius can be reached in a map display.
### Doors
Group name: `doors`
All channels `read-only`
| Channel | Type | Description |
|------------------|----------------------|------------------------------|
| driver-front | Contact | Driver door |
| driver-rear | Contact | Driver door reat |
| passenger-front | Contact | Passenger door |
| passenger-rear | Contact | Passenger door rear |
| deck-lid | Contact | Deck lid |
| sunroof | Number | Sun roof (only Cabriolet) |
| rooftop | Number | Roof top |
| last-update | DateTime | Last doors update |
Mapping table `sunroof`
| Number | Mapping |
|-----------------|---------------------|
| 0 | Closed |
| 1 | Open |
| 2 | Open Lifting |
| 3 | Running |
| 4 | Closing |
| 5 | Opening |
| 6 | Closing |
Mapping table `rootop`
| Number | Mapping |
|-----------------|---------------------|
| 0 | Unlocked |
| 1 | Open and locked |
| 2 | Closed and locked |
### Windows
Group name: `windows`
All channels `readonly`
| Channel | Type | Description |
|------------------|----------------------|------------------------------|
| driver-front | Number | Driver window |
| driver-rear | Number | Driver window rear |
| passenger-front | Number | Passenger window |
| passenger-rear | Number | Passenger window rear |
| last-update | DateTime | Last windows update |
Mapping table for all windows
| Number | Mapping |
|-----------------|---------------------|
| 0 | Intermediate |
| 1 | Open |
| 2 | Closed |
| 3 | Airing |
| 4 | Intermediate |
| 5 | Running |
### Lights
Group name: `lights`
All channels `read-only`
| Channel | Type | Description |
|------------------|----------------------|------------------------------|
| interior-front | Switch | Interior light front |
| interior-rear | Switch | Interior light rear |
| reading-left | Switch | Reading light left |
| reading-right | Switch | Reading light right |
| light-switch | Number | Main light switch |
| last-update | DateTime | Last lights update |
Mapping table `light-switch`
| Number | Mapping |
|-----------------|---------------------|
| 0 | Auto |
| 1 | Headlight |
| 2 | Sidelight Left |
| 3 | Sidelight Right |
| 4 | Parking Light |
### Lock
Group name: `lock`
All channels `read-only`
| Channel | Type | Description |
|------------------|----------------------|------------------------------|
| doors | Number | Lock status all doors |
| deck-lid | Switch | Deck lid lock |
| flap | Switch | Flap lock |
| last-update | DateTime | Last lock update |
Mapping table `doors`
| Number | Mapping |
|-----------------|---------------------|
| 0 | Unlocked |
| 1 | Locked Internal |
| 2 | Locked External |
| 3 | Unlocked Selective |
### Location
Group name: `location`
All channels `readonly`
| Channel | Type | Description |
|------------------|----------------------|------------------------------|
| heading | Number:Angle | Vehicle heading |
| last-update | DateTime | Last location update |
### Image
Provides exterior and interior images for your specific vehicle.
Group name: `image`
| Channel | Type | Description | Write |
|------------------|----------------------|------------------------------|-------|
| image-data | Raw | Vehicle image | |
| image-view | text | Vehicle image viewpoint | X |
| clear-cache | Switch | Remove all stored images | X |
**If** the `imageApiKey` in [Bridge Configuration Parameters](#bridge-configuration-parameters) is set the vehicle thing will try to get images.
Pay attention to the [Advanced Image Configuration Properties](#thing-configuration) before requesting new images.
Sending commands towards the `image-view` channel will change the image.
The `image-view` is providing options to select the available images for your specific vehicle.
Images are stored in `jsondb` so if you requested all images the Mercedes Benz Image API will not be called anymore which is good because you have a restricted amount of calls!
If you're not satisfied e.g. you want a background you need to
1. change the [Advanced Image Configuration Properties](#thing-configuration)
2. Switch `clear-cache` channel item to `ON` to clear all images
3. request them via `image-view`
### Image View Options
You can access the options either in a rule via `YOUR_IMAGE_VIEW_ITEM.getStateDescription().getOptions()` or in UI in widget configuration as _Action: Command options_ and as _Action Item: YOUR_IMAGE_VIEW_ITEM_
<img src="./doc/ImageView-CommandOptions.png" width="400" height="350"/>
## Troubleshooting
### Authorization fails
The configuration of openHAB account thing and the Mercedes Developer project need an extract match regarding
- MB project credentials vs. `clientId` `clientSecret` and `callbackUrl`
- MB project subscription of products vs. `scope`
If you follow the [bridge configuration steps](#bridge-configuration) both will match.
Otherwise you'll receive some error message when clicking the link after opening the `callbackUrl` in your browser
Most common errors:
- redirect URL doesn't match: Double check if `callbackUrl` is really saved correctly in your Mercedes Benz Developer project
- scope failure: the requested scope doesn't match with the subscribed products.
- Check [openHab configuration switches](#openhab-configuration)
- apply changes if necessary and don't forget to save
- after these steps refresh the `callbackUrl` in [your browser](#callback-page) to apply these changes
- try a new authorization clicking the link
### Receive no data
Especially after setting the frist Mercedes Benz Developer Project you'll receive no data.
It seems that the API isn't _filled_ yet.
**Pre-Condition**
- The Mercedes Me bridge is online = authorization is fine
- The Mercedes Me thing is online = API calls are fine
**Solution**
- Reduce `refreshInterval` to 1 minute
- Go to your vehicle, open doors and windows, turn on lights, drive a bit ...
- wait until values are providing the right states
### Images
Testing the whole image settings is hard due to the restricted call number towards the Image API.
My personal experience during limited testing
| Test |Tested | OK | Not OK | Comment |
|------------------|-------|-----|---------|---------------------------------------------------------|
| `format` webp | Yes | X | | |
| `format` png | Yes | | X | Internal Server Error 500 on Mercedes Server side |
| `format` jpeg | No | | | Not tested due to missing transparency in jpeg format |
| all options off | Yes | X | | |
| `background` | Yes | X | | |
| `night` | No | | | Not support by my vehicle |
| `roofOpen` | No | | | Not support by my vehicle |
| `cropped` | No | | | Not desired from my side |
## Storage
Data is stored in directory `%USER_DATA%/jsondb` for handling tokens and vehicle images.
* _StorageHandler.For.OAuthClientService.json_ - token is stored with key `clientId` which is provided by `account` [Brige Configuration Parameters](#bridge-configuration-parameters)
* _mercedesme_%VEHICLE_VIN%.json_ - images are stored per vehicle. File name contains `vin` configured by [vehicle Thing Configuration](#thing-configuration)
With this data the binding is able to operate without new authorization towards Mercedes each startup and reduces the restricted calls towards image API.
Also these files are properly stored in your [backup](https://community.openhab.org/t/docs-on-how-to-backup-openhab/100182) e.g. if you perform `openhab-cli backup`
## Full example
The example is based on a battery electric vehicle.
Exchange configuration parameters in the Things section
Bridge
* 4711 - your desired bridge id
* YOUR_CLIENT_ID - Client ID of the Mercedes Developer project
* YOUR_CLIENT_SECRET - Client Secret of the Mercedes Developer project
* YOUR_API_KEY - Image API Key of the Mercedes Developer project
* YOUR_OPENHAB_SERVER_IP - IP address of your openHAB server
* 8090 - a **unique** port number - each bridge in your openHAB installation needs to have different port number!
Thing
* eqa - your desired vehicle thing id
* VEHICLE_VIN - your Vehicle Identification Number
### Things file
```
Bridge mercedesme:account:4711 "MercedesMe John Doe" [ clientId="YOUR_CLIENT_ID", clientSecret="YOUR_CLIENT_SECRET", imageApiKey="YOUR_API_KEY", callbackIp="YOUR_OPENHAB_SERVER_IP", callbackPort=8092, odoScope=true, vehicleScope=true, lockScope=true, fuelScope=true, evScope=true] {
Thing bev eqa "Mercedes EQA" [ vin="VEHICLE_VIN", refreshInterval=5, background=false, night=false, cropped=false, roofOpen=false, format="webp"]
}
```
### Items file
```
Number:Length EQA_Mileage "Odometer [%d %unit%]" {channel="mercedesme:bev:4711:eqa:range#mileage" }
Number:Length EQA_Range "Range [%d %unit%]" {channel="mercedesme:bev:4711:eqa:range#range-electric"}
Number:Length EQA_RangeRadius "Range Radius [%d %unit%]" {channel="mercedesme:bev:4711:eqa:range#radius-electric"}
Number:Dimensionless EQA_BatterySoc "Battery Charge [%.1f %%]" {channel="mercedesme:bev:4711:eqa:range#soc"}
Contact EQA_DriverDoor "Driver Door [%s]" {channel="mercedesme:bev:4711:eqa:doors#driver-front" }
Contact EQA_DriverDoorRear "Driver Door Rear [%s]" {channel="mercedesme:bev:4711:eqa:doors#driver-rear" }
Contact EQA_PassengerDoor "Passenger Door [%s]" {channel="mercedesme:bev:4711:eqa:doors#passenger-front" }
Contact EQA_PassengerDoorRear "Passenger Door Rear [%s]" {channel="mercedesme:bev:4711:eqa:doors#passenger-rear" }
Number EQA_Trunk "Trunk [%s]" {channel="mercedesme:bev:4711:eqa:doors#deck-lid" }
Number EQA_Rooftop "Rooftop [%s]" {channel="mercedesme:bev:4711:eqa:doors#rooftop" }
Number EQA_Sunroof "Sunroof [%s]" {channel="mercedesme:bev:4711:eqa:doors#sunroof" }
Number EQA_DoorLock "Door Lock [%s]" {channel="mercedesme:bev:4711:eqa:lock#doors" }
Switch EQA_TrunkLock "Trunk Lock [%s]" {channel="mercedesme:bev:4711:eqa:lock#deck-lid" }
Switch EQA_FlapLock "Charge Flap Lock [%s]" {channel="mercedesme:bev:4711:eqa:lock#flap" }
Number EQA_DriverWindow "Driver Window [%s]" {channel="mercedesme:bev:4711:eqa:windows#driver-front" }
Number EQA_DriverWindowRear "Driver Window Rear [%s]" {channel="mercedesme:bev:4711:eqa:windows#driver-rear" }
Number EQA_PassengerWindow "Passenger Window [%s]" {channel="mercedesme:bev:4711:eqa:windows#passenger-front" }
Number EQA_PassengerWindowRear "Passenger Window Rear [%s]" {channel="mercedesme:bev:4711:eqa:windows#passenger-rear" }
Number:Angle EQA_Heading "Heading [%.1f %unit%]" {channel="mercedesme:bev:4711:eqa:location#heading" }
Image EQA_Image "Image" {channel="mercedesme:bev:4711:eqa:image#image-data" }
String EQA_ImageViewport "Image Viewport [%s]" {channel="mercedesme:bev:4711:eqa:image#image-view" }
Switch EQA_ClearCache "Clear Cache [%s]" {channel="mercedesme:bev:4711:eqa:image#clear-cache" }
Switch EQA_InteriorFront "Interior Front Light [%s]" {channel="mercedesme:bev:4711:eqa:lights#interior-front" }
Switch EQA_InteriorRear "Interior Rear Light [%s]" {channel="mercedesme:bev:4711:eqa:lights#interior-rear" }
Switch EQA_ReadingLeft "Reading Light Left [%s]" {channel="mercedesme:bev:4711:eqa:lights#reading-left" }
Switch EQA_ReadingRight "Reading Light Right [%s]" {channel="mercedesme:bev:4711:eqa:lights#reading-right" }
Number EQA_LightSwitch "Main Light Switch [%s]" {channel="mercedesme:bev:4711:eqa:lights#light-switch" }
```
### Sitemap
```
sitemap MB label="Mercedes Benz EQA" {
Frame label="EQA Image" {
Image item=EQA_Image
}
Frame label="Range" {
Text item=EQA_Mileage
Text item=EQA_Range
Text item=EQA_RangeRadius
Text item=EQA_BatterySoc
}
Frame label="Door Details" {
Text item=EQA_DriverDoor
Text item=EQA_DriverDoorRear
Text item=EQA_PassengerDoor
Text item=EQA_PassengerDoorRear
Text item=EQA_Trunk
Text item=EQA_Rooftop
Text item=EQA_Sunroof
Text item=EQA_DoorLock
Text item=EQA_TrunkLock
Text item=EQA_FlapLock
}
Frame label="Windows" {
Text item=EQA_DriverWindow
Text item=EQA_DriverWindowRear
Text item=EQA_PassengerWindow
Text item=EQA_PassengerWindowRear
}
Frame label="Location" {
Text item=EQA_Heading
}
Frame label="Lights" {
Text item=EQA_InteriorFront
Text item=EQA_InteriorRear
Text item=EQA_ReadingLeft
Text item=EQA_ReadingRight
Text item=EQA_LightSwitch
}
Frame label="Image Properties" {
Selection item=EQA_ImageViewport
Switch item=EQA_ClearCache
}
}
```
## Mercedes Benz Developer
Visit [Mercedes Benz Developer](https://developer.mercedes-benz.com/) to gain more deep information.

View File

@ -8,6 +8,7 @@
<item-type>Rollershutter</item-type>
<label>Position</label>
<description>The vertical position of the shade</description>
<category>blinds</category>
</channel-type>
<channel-type id="shade-vane">

View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<bridge-type id="account">
<label>Mercedes Me Account</label>
<description>Mercedes Benz account data</description>
<config-description-ref uri="thing-type:mercedesme:bridge"/>
</bridge-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-type id="driver-front-channel">
<item-type>Contact</item-type>
<label>Driver Door</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="driver-rear-channel">
<item-type>Contact</item-type>
<label>Driver Door Rear</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="passenger-front-channel">
<item-type>Contact</item-type>
<label>Passenger Door</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="passenger-rear-channel">
<item-type>Contact</item-type>
<label>Passenger Door Rear</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="deck-lid-channel">
<item-type>Contact</item-type>
<label>Deck Lid</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="rooftop-channel">
<item-type>Number</item-type>
<label>Roof top</label>
<state readOnly="true">
<options>
<option value="0">Unlocked</option>
<option value="1">Open and locked</option>
<option value="2">Closed and locked</option>
</options>
</state>
</channel-type>
<channel-type id="sunroof-channel">
<item-type>Number</item-type>
<label>Sun Roof</label>
<state readOnly="true">
<options>
<option value="0">Closed</option>
<option value="1">Open</option>
<option value="2">Open Lifting</option>
<option value="3">Running</option>
<option value="4">Closing</option>
<option value="5">Opening</option>
<option value="6">Closing</option>
</options>
</state>
</channel-type>
<channel-type id="last-doors-update-channel">
<item-type>DateTime</item-type>
<label>Last Doors Update</label>
<state pattern="%1$tA, %1$td.%1$tm. %1$tH:%1$tM" readOnly="true"/>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-group-type id="door-values">
<label>Detailed Door Status</label>
<description>Detailed Status of all Doors and Windows</description>
<channels>
<channel id="driver-front" typeId="driver-front-channel"/>
<channel id="driver-rear" typeId="driver-rear-channel"/>
<channel id="passenger-front" typeId="passenger-front-channel"/>
<channel id="passenger-rear" typeId="passenger-rear-channel"/>
<channel id="deck-lid" typeId="deck-lid-channel"/>
<channel id="sunroof" typeId="sunroof-channel"/>
<channel id="rooftop" typeId="rooftop-channel"/>
<channel id="last-update" typeId="last-doors-update-channel"/>
</channels>
</channel-group-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-type id="image-data-channel">
<item-type>Image</item-type>
<label>Rendered Vehicle Image</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="image-view-channel">
<item-type>String</item-type>
<label>Image Viewport</label>
</channel-type>
<channel-type id="clear-cache-channel">
<item-type>Switch</item-type>
<label>Remove All Stored Images</label>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-group-type id="image-values">
<label>Vehicle Images</label>
<channels>
<channel id="image-data" typeId="image-data-channel"/>
<channel id="image-view" typeId="image-view-channel"/>
<channel id="clear-cache" typeId="clear-cache-channel"/>
</channels>
</channel-group-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-type id="interior-front-channel">
<item-type>Switch</item-type>
<label>Interior Light Front</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="interior-rear-channel">
<item-type>Switch</item-type>
<label>Interior Light Rear</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="reading-left-channel">
<item-type>Switch</item-type>
<label>Reading Light Left</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="reading-right-channel">
<item-type>Switch</item-type>
<label>Reading Light Right</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="light-switch-channel">
<item-type>Number</item-type>
<label>Main Light Rotary</label>
<state readOnly="true">
<options>
<option value="0">Auto</option>
<option value="1">Headlight</option>
<option value="2">Sidelight Left</option>
<option value="3">Sidelight Right</option>
<option value="4">Parking Light</option>
</options>
</state>
</channel-type>
<channel-type id="last-lights-update-channel">
<item-type>DateTime</item-type>
<label>Last Light Update</label>
<state pattern="%1$tA, %1$td.%1$tm. %1$tH:%1$tM" readOnly="true"/>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-group-type id="light-values">
<label>Light Status</label>
<description>Light Status of interior lights and main light switch</description>
<channels>
<channel id="interior-front" typeId="interior-front-channel"/>
<channel id="interior-rear" typeId="interior-rear-channel"/>
<channel id="light-switch" typeId="light-switch-channel"/>
<channel id="reading-left" typeId="reading-left-channel"/>
<channel id="reading-right" typeId="reading-right-channel"/>
<channel id="last-update" typeId="last-lights-update-channel"/>
</channels>
</channel-group-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-group-type id="location-values">
<label>Vehicle Location</label>
<description>Heading of vehicle</description>
<channels>
<channel id="heading" typeId="heading-channel"/>
<channel id="last-update" typeId="last-location-update-channel"/>
</channels>
</channel-group-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-type id="heading-channel">
<item-type>Number:Angle</item-type>
<label>Heading Angle</label>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="last-location-update-channel">
<item-type>DateTime</item-type>
<label>Last Location Update</label>
<state pattern="%1$tA, %1$td.%1$tm. %1$tH:%1$tM" readOnly="true"/>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-type id="doors-lock-channel">
<item-type>Number</item-type>
<label>Door Lock Status</label>
<state readOnly="true">
<options>
<option value="0">Unlocked</option>
<option value="1">Locked Internal</option>
<option value="2">Locked External</option>
<option value="3">Unlocked Selective</option>
</options>
</state>
</channel-type>
<channel-type id="deck-lid-lock-channel">
<item-type>Switch</item-type>
<label>Deck Lid Lock</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="flap-lock-channel">
<item-type>Switch</item-type>
<label>Flap Lock</label>
<state readOnly="true"/>
</channel-type>
<channel-type id="last-lock-update-channel">
<item-type>DateTime</item-type>
<label>Last Lock Update</label>
<state pattern="%1$tA, %1$td.%1$tm. %1$tH:%1$tM" readOnly="true"/>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-group-type id="lock-values">
<label>Lock Status</label>
<description>Vehicle Lock Status</description>
<channels>
<channel id="doors" typeId="doors-lock-channel"/>
<channel id="deck-lid" typeId="deck-lid-lock-channel"/>
<channel id="flap" typeId="flap-lock-channel"/>
<channel id="last-update" typeId="last-lock-update-channel"/>
</channels>
</channel-group-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-type id="mileage-channel">
<item-type>Number:Length</item-type>
<label>Mileage</label>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="range-electric-channel">
<item-type>Number:Length</item-type>
<label>Electric Range</label>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="radius-electric-channel">
<item-type>Number:Length</item-type>
<label>Electric Radius</label>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="soc-channel">
<item-type>Number:Dimensionless</item-type>
<label>Battery Charge Level</label>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="charged-channel">
<item-type>Number:Energy</item-type>
<label>Charged Battery Energy</label>
<state pattern="%.2f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="uncharged-channel">
<item-type>Number:Energy</item-type>
<label>Uncharged Battery Energy</label>
<state pattern="%.2f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="range-fuel-channel">
<item-type>Number:Length</item-type>
<label>Fuel Range</label>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="radius-fuel-channel">
<item-type>Number:Length</item-type>
<label>Fuel Radius</label>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="fuel-level-channel">
<item-type>Number:Dimensionless</item-type>
<label>Fuel Level</label>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="fuel-remain-channel">
<item-type>Number:Volume</item-type>
<label>Remaining Fuel</label>
<state pattern="%.2f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="fuel-open-channel">
<item-type>Number:Volume</item-type>
<label>Open Fuel Capacity</label>
<state pattern="%.2f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="range-hybrid-channel">
<item-type>Number:Length</item-type>
<label>Hybrid Range</label>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="radius-hybrid-channel">
<item-type>Number:Length</item-type>
<label>Hybrid Radius</label>
<state pattern="%d %unit%" readOnly="true"/>
</channel-type>
<channel-type id="last-range-update-channel">
<item-type>DateTime</item-type>
<label>Last Range Update</label>
<state pattern="%1$tA, %1$td.%1$tm. %1$tH:%1$tM" readOnly="true"/>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-group-type id="range-conv-values">
<label>Range and Fuel Data</label>
<description>Provides Mileage, remaining range and fuel level values</description>
<channels>
<channel id="mileage" typeId="mileage-channel"/>
<channel id="range-fuel" typeId="range-fuel-channel"/>
<channel id="radius-fuel" typeId="radius-fuel-channel"/>
<channel id="fuel-level" typeId="fuel-level-channel"/>
<channel id="fuel-remain" typeId="fuel-remain-channel"/>
<channel id="fuel-open" typeId="fuel-open-channel"/>
<channel id="last-update" typeId="last-range-update-channel"/>
</channels>
</channel-group-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-group-type id="range-ev-values">
<label>Range and Charge Data</label>
<description>Provides Mileage, remaining range and charge level values</description>
<channels>
<channel id="mileage" typeId="mileage-channel"/>
<channel id="range-electric" typeId="range-electric-channel"/>
<channel id="radius-electric" typeId="radius-electric-channel"/>
<channel id="soc" typeId="soc-channel"/>
<channel id="charged" typeId="charged-channel"/>
<channel id="uncharged" typeId="uncharged-channel"/>
<channel id="last-update" typeId="last-range-update-channel"/>
</channels>
</channel-group-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-group-type id="range-hybrid-values">
<label>Range, Charge / Fuel Data</label>
<description>Provides mileage, remaining fuel and range data for hybrid vehicles</description>
<channels>
<channel id="mileage" typeId="mileage-channel"/>
<channel id="range-electric" typeId="range-electric-channel"/>
<channel id="radius-electric" typeId="radius-electric-channel"/>
<channel id="soc" typeId="soc-channel"/>
<channel id="charged" typeId="charged-channel"/>
<channel id="uncharged" typeId="uncharged-channel"/>
<channel id="range-fuel" typeId="range-fuel-channel"/>
<channel id="radius-fuel" typeId="radius-fuel-channel"/>
<channel id="fuel-level" typeId="fuel-level-channel"/>
<channel id="fuel-remain" typeId="fuel-remain-channel"/>
<channel id="fuel-open" typeId="fuel-open-channel"/>
<channel id="range-hybrid" typeId="range-hybrid-channel"/>
<channel id="radius-hybrid" typeId="radius-fuel-channel"/>
<channel id="last-update" typeId="last-range-update-channel"/>
</channels>
</channel-group-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<thing-type id="bev">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>Mercedes Benz BEV</label>
<description>Battery Electric Vehicle</description>
<channel-groups>
<channel-group id="range" typeId="range-ev-values"/>
<channel-group id="doors" typeId="door-values"/>
<channel-group id="windows" typeId="window-values"/>
<channel-group id="lights" typeId="light-values"/>
<channel-group id="lock" typeId="lock-values"/>
<channel-group id="location" typeId="location-values"/>
<channel-group id="image" typeId="image-values"/>
</channel-groups>
<config-description-ref uri="thing-type:mercedesme:bev"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<thing-type id="combustion">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>Mercedes Benz</label>
<description>Conventional Fuel Vehicle</description>
<channel-groups>
<channel-group id="range" typeId="range-conv-values"/>
<channel-group id="doors" typeId="door-values"/>
<channel-group id="windows" typeId="window-values"/>
<channel-group id="lights" typeId="light-values"/>
<channel-group id="lock" typeId="lock-values"/>
<channel-group id="location" typeId="location-values"/>
<channel-group id="image" typeId="image-values"/>
</channel-groups>
<config-description-ref uri="thing-type:mercedesme:conv"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<thing-type id="hybrid">
<supported-bridge-type-refs>
<bridge-type-ref id="account"/>
</supported-bridge-type-refs>
<label>Mercedes Benz Hybrid</label>
<description>Conventional Fuel Vehicle with supporting Electric Engine</description>
<channel-groups>
<channel-group id="range" typeId="range-hybrid-values"/>
<channel-group id="doors" typeId="door-values"/>
<channel-group id="windows" typeId="window-values"/>
<channel-group id="lights" typeId="light-values"/>
<channel-group id="lock" typeId="lock-values"/>
<channel-group id="location" typeId="location-values"/>
<channel-group id="image" typeId="image-values"/>
</channel-groups>
<config-description-ref uri="thing-type:mercedesme:hybrid"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-type id="window-driver-front-channel">
<item-type>Number</item-type>
<label>Driver Window</label>
<state readOnly="true">
<options>
<option value="0">Intermediate</option>
<option value="1">Open</option>
<option value="2">Closed</option>
<option value="3">Airing</option>
<option value="4">Intermediate</option>
<option value="5">Running</option>
</options>
</state>
</channel-type>
<channel-type id="window-driver-rear-channel">
<item-type>Number</item-type>
<label>Driver Window Rear</label>
<state readOnly="true">
<options>
<option value="0">Intermediate</option>
<option value="1">Open</option>
<option value="2">Closed</option>
<option value="3">Airing</option>
<option value="4">Intermediate</option>
<option value="5">Running</option>
</options>
</state>
</channel-type>
<channel-type id="window-passenger-front-channel">
<item-type>Number</item-type>
<label>Passenger Window</label>
<state readOnly="true">
<options>
<option value="0">Intermediate</option>
<option value="1">Open</option>
<option value="2">Closed</option>
<option value="3">Airing</option>
<option value="4">Intermediate</option>
<option value="5">Running</option>
</options>
</state>
</channel-type>
<channel-type id="window-passenger-rear-channel">
<item-type>Number</item-type>
<label>Passenger Window Rear</label>
<state readOnly="true">
<options>
<option value="0">Intermediate</option>
<option value="1">Open</option>
<option value="2">Closed</option>
<option value="3">Airing</option>
<option value="4">Intermediate</option>
<option value="5">Running</option>
</options>
</state>
</channel-type>
<channel-type id="last-windows-update-channel">
<item-type>DateTime</item-type>
<label>Last Window Update</label>
<state pattern="%1$tA, %1$td.%1$tm. %1$tH:%1$tM" readOnly="true"/>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mercedesme"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<channel-group-type id="window-values">
<label>Detailed Window Status</label>
<description>Detailed Status Windows</description>
<channels>
<channel id="driver-front" typeId="window-driver-front-channel"/>
<channel id="driver-rear" typeId="window-driver-rear-channel"/>
<channel id="passenger-front" typeId="window-passenger-front-channel"/>
<channel id="passenger-rear" typeId="window-passenger-rear-channel"/>
<channel id="last-update" typeId="last-windows-update-channel"/>
</channels>
</channel-group-type>
</thing:thing-descriptions>