Updated external content (Jenkins build 1120)

pull/1969/head
openHAB Build Server 2022-09-11 03:34:57 +00:00
parent 0962a505c1
commit f783e30428
9 changed files with 613 additions and 1 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,193 @@
---
id: easee
label: Easee
title: Easee - Bindings
type: binding
description: "The Easee binding can be used to retrieve data from the Easee Cloud API and also to control your wallbox via the Cloud API."
since: 3x
logo: images/addons/easee.png
install: manual
---
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
{% include base.html %}
# Easee Binding
The Easee binding can be used to retrieve data from the Easee Cloud API and also to control your wallbox via the Cloud API.
This allows you to dynamically adjust the charge current for your car depending on production of your solar plant.
## Supported Things
This binding provides three thing types:
| Thing/Bridge | Thing Type | Description |
|---------------------|---------------------|-----------------------------------------------------------------------------------------------|
| bridge | site | cloud connection to a site within an Easee account |
| thing | charger | the physical charger which is connected to a circuit within the given site |
| thing | mastercharger | like the "normal" charger but with additional capability to control the circuit |
Basically any Easee wallbox that supports the Cloud API should automatically be supported by this binding.
## Discovery
Auto-discovery is supported and will discover all circuits and chargers assigned to a given site.
## Bridge Configuration
The following configuration parameters are available for the binding/bridge:
| Configuration Parameter | Required | Description |
|-------------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| username | yes | The username to login at Easee Cloud service. This should be an e-mail address or phone number. |
| passord | yes | Your password to login at Easee Cloud service. |
| siteId | yes | The ID of the site containing the wallbox(es) and circuit(s) that should be integrated into openHAB. The ID of your site can be found via the sites overview (https://easee.cloud/sites). You just need to click one of the sites listed there, the id will be part of the URL which is then opened. It will be a number with typically 6 digits. |
| dataPollingInterval | no | Interval (seconds) in which live data values are retrieved from the Easee Cloud API. (default = 120) |
## Thing configuration
It is recommended to use auto discovery which does not require further configuration.
If manual configuration is preferred you need to specify configuration as below.
### Charger
| Configuration Parameter | Required | Description |
|-------------------------|----------|------------------------------------------------------------------------------------------------------------------------|
| id | yes | The id of the charger that will be represented by this thing. |
### Mastercharger
| Configuration Parameter | Required | Description |
|-------------------------|----------|------------------------------------------------------------------------------------------------------------------------|
| id | yes | The id of the charger that will be represented by this thing. |
| circuitId | yes | The id of the circuit that is controlled by this charger. |
## Channels
The binding only supports a subset of the available endpoints provided by the Easee Cloud API.
The tables below show all available channels and which of them are writable.
The settings that start with "dynamic" can be changed frequently, the others are written to flash and thus should not be changed too often as this could result in damage of your flash.
### Charger Channels
| Channel | Item Type | Writable | Description | Allowed Values (write access) |
|---------------------------------------------|--------------------------|----------|------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| state#smartCharging | Switch | no | | |
| state#cableLocked | Switch | no | | |
| state#chargerOpMode | Number | no | | |
| state#totalPower | Number:Power | no | current session total power (all phases) | |
| state#sessionEnergy | Number:Energy | no | current session | |
| state#dynamicCircuitCurrentP1 | Number:ElectricCurrent | no | | |
| state#dynamicCircuitCurrentP2 | Number:ElectricCurrent | no | | |
| state#dynamicCircuitCurrentP3 | Number:ElectricCurrent | no | | |
| state#latestPulse | DateTime | no | | |
| state#chargerFirmware | Number | no | | |
| state#latestFirmware | Number | no | | |
| state#voltage | Number:ElectricPotential | no | | |
| state#outputCurrent | Number:ElectricCurrent | no | | |
| state#isOnline | Switch | no | | |
| state#dynamicChargerCurrent | Number:ElectricCurrent | yes | | 0, 6-32 |
| state#reasonForNoCurrent | Number | no | | |
| state#lifetimeEnergy | Number:Energy | no | | |
| state#errorCode | Number | no | | |
| state#fatalErrorCode | Number | no | | |
| config#lockCablePermanently | Switch | yes | | true/false |
| config#authorizationRequired | Switch | yes | | true/false |
| config#limitToSinglePhaseCharging | Switch | yes | | true/false |
| config#phaseMode | Number | yes | 1=1phase, 2=auto, 3=3phase | 1-3 |
| config#maxChargerCurrent | Number:ElectricCurrent | no | write access not yet implemented | |
| commands#genericCommand | String | yes | Generic Endpoint to send commands | reboot, update_firmware, poll_all, smart_charging, start_charging, stop_charging, pause_charging, resume_charging, toggle_charging, override_schedule |
| commands#startStop | Switch | yes | Start/Stop Charing, only works with authorization | |
| commands#pauseResume | Switch | yes | Pause/Resume Charing | |
| latestSession#sessionEnergy | Number:Energy | no | latest (already ended) session | |
| latestSession#sessionStart | DateTime | no | | |
| latestSession#sessionEnd | DateTime | no | | |
### Master Charger Channels
The Master Charger is like the "normal" charger but has some extra channels to control the circuit. These additional channels are listed in the table below.
| Channel | Item Type | Writable | Description | Allowed Values (write access) |
|---------------------------------------------|--------------------------|----------|------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------|
| dynamicCurrent#phase1 | Number:ElectricCurrent | no | | |
| dynamicCurrent#phase2 | Number:ElectricCurrent | no | | |
| dynamicCurrent#phase3 | Number:ElectricCurrent | no | | |
| dynamicCurrent#dynamicCurrents | String | yes | read/write only for all phases. | <value phase1>;<value phase2>;<value phase3> valid values for each phase are 0, 6-32 |
| settings#maxCircuitCurrentP1 | Number:ElectricCurrent | no | | |
| settings#maxCircuitCurrentP2 | Number:ElectricCurrent | no | | |
| settings#maxCircuitCurrentP3 | Number:ElectricCurrent | no | | |
| settings#maxCurrents | String | yes | read/write only for all phases. | <value phase1>;<value phase2>;<value phase3> valid values for each phase are 0, 6-32 |
| settings#offlineMaxCircuitCurrentP1 | Number:ElectricCurrent | no | | |
| settings#offlineMaxCircuitCurrentP2 | Number:ElectricCurrent | no | | |
| settings#offlineMaxCircuitCurrentP3 | Number:ElectricCurrent | no | | |
| settings#offlineMaxCurrents | String | yes | read/write only for all phases. | <value phase1>;<value phase2>;<value phase3> valid values for each phase are 0, 6-32 |
| settings#enableIdleCurrent | Switch | yes | | true/false |
| settings#allowOfflineMaxCircuitCurrent | Switch | no | | |
## Full Example
### Thing
#### Minimum configuration
```
Bridge easee:site:mysite1 [ username="abc@def.net", password="secret", siteId="123456" ]
```
#### Manual configuration with two chargers, pollingInterval set to 60 seconds.
```
Bridge easee:site:mysite1 [ username="abc@def.net", password="secret", siteId="471111", dataPollingInterval=60 ] {
Thing mastercharger myCharger1 [ id="EHXXXXX1", circuitId="1234567" ]
Thing charger myCharger2 [ id="EHXXXXX2" ]
}
```
### Items
```
Number:ElectricCurrent Easee_Circuit_Phase1 "Phase 1" { channel="easee:mastercharger:mysite1:myCharger1:dynamicCurrent#phase1" }
Number:ElectricCurrent Easee_Circuit_Phase2 "Phase 2" { channel="easee:mastercharger:mysite1:myCharger1:dynamicCurrent#phase2" }
Number:ElectricCurrent Easee_Circuit_Phase3 "Phase 3" { channel="easee:mastercharger:mysite1:myCharger1:dynamicCurrent#phase3" }
String Easee_Circuit_Dynamic_Phases "Dynamic Power [MAP(easeePhases.map):%s]" { channel="easee:mastercharger:mysite1:myCharger1:dynamicCurrent#setDynamicCurrents" }
Switch Easee_Charger_Start_Stop "Start / Stop" { channel="easee:mastercharger:mysite1:myCharger1:commands#startStop" }
```
### Sitemap
```
Switch item=Easee_Circuit_Dynamic_Phases mappings=["0;0;0"="0.00 kW", "6;0;0"="1.44 kW", "7;0;0"="1.68 kW", "8;0;0"="1.92 kW", "9;0;0"="2.16 kW", "10;0;0"="2.40 kW", "16;0;0"="3.72 kW", "16;16;16"="11.1 kW"] icon="energy"
```
### Mapping
easeePhases.map will make the phase setting more readable.
```
0;0;0=0.00 kW
6;0;0=1.44 kW
7;0;0=1.68 kW
8;0;0=1.92 kW
9;0;0=2.16 kW
10;0;0=2.40 kW
11;0;0=2.64 kW
12;0;0=2.88 kW
13;0;0=3.12 kW
14;0;0=3.36 kW
15;0;0=3.60 kW
16;0;0=3.72 kW
6;6;6=4.32 kW
7;7;7=5.04 kW
8;8;8=5.76 kW
9;9;9=6.48 kW
10;10;10=7.20 kW
11;11;11=7.92 kW
12;12;12=8.64 kW
13;13;13=9.36 kW
14;14;14=10.1 kW
15;15;15=10.8 kW
16;16;16=11.1 kW
```

View File

@ -63,6 +63,11 @@ You will need to add channels for the zones that you have connected and configur
You will need to configure each channel with the appropriate zone number corresponding to the zone on The Konnected Alarm Panel.
Then you need to link the corresponding item to the channel.
Switches and actuators can be configured as high or low level triggered.
This is done though setting the parameter onValue to 1 for high level trigger or 0 for low level trigger.
The default setting is high level triggered (1).
It may for example be useful to set channel to low level trigger when using a low level trigger relay board, to avoid inverting the switch logic.
For the actuator type channels you can also add configuration parameters times, pause and momentary which will be added to the payload that is sent to the Konnected Alarm Panel.
These parameters will tell the module to pulse the actuator for certain time period.
A momentary switch actuates a switch for a specified time (in milliseconds) and then reverts it back to the off state.

View File

@ -88,6 +88,10 @@ Start and end day are formatted yyyy-mm-dd.
Here is an example of command you can run: `openhab:linky linky:linky:local report 2020-11-15 2020-12-15`.
## Docker specificities
In case you are running openHAB inside Docker, the binding will work only if you set the environment variable `CRYPTO_POLICY` to the value "unlimited" as documented [here](https://github.com/openhab/openhab-docker#java-cryptographic-strength-policy).
## Full Example
### Thing

View File

@ -0,0 +1,179 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="easee"
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="charger-state">
<label>Charger Status</label>
<channels>
<channel id="smartCharging" typeId="type-switch">
<label>Smart Charging</label>
<description>Smart Charging status of the wallbox.</description>
</channel>
<channel id="cableLocked" typeId="type-switch">
<label>Cable Locked</label>
<description>Cable Locked status of the wallbox.</description>
</channel>
<channel id="chargerOpMode" typeId="type-integer-charger-op-mode">
<label>Charger Operation Mode</label>
<description>Current operation mode.</description>
</channel>
<channel id="totalPower" typeId="type-power">
<label>Total Power</label>
<description>Total Power for all active phases.</description>
</channel>
<channel id="sessionEnergy" typeId="type-energy">
<label>Session Energy</label>
<description>Energy for current session.</description>
</channel>
<channel id="dynamicCircuitCurrentP1" typeId="type-current">
<label>Dynamic Circuit Current P1</label>
<description>Dynamic set circuit current for phase 1.</description>
</channel>
<channel id="dynamicCircuitCurrentP2" typeId="type-current">
<label>Dynamic Circuit Current P2</label>
<description>Dynamic set circuit current for phase 2.</description>
</channel>
<channel id="dynamicCircuitCurrentP3" typeId="type-current">
<label>Dynamic Circuit Current P3</label>
<description>Dynamic set circuit current for phase 3.</description>
</channel>
<channel id="latestPulse" typeId="type-date">
<label>Latest Pulse</label>
<description>Last data received from charger.</description>
</channel>
<channel id="chargerFirmware" typeId="type-integer">
<label>Current Firmware</label>
<description>Current Firmware of the wallbox.</description>
</channel>
<channel id="latestFirmware" typeId="type-integer">
<label>Latest Firmware</label>
<description>Latest Firmware which is available for the wallbox.</description>
</channel>
<channel id="voltage" typeId="type-volt">
<label>Voltage</label>
<description>Voltage</description>
</channel>
<channel id="outputCurrent" typeId="type-current">
<label>Output Current</label>
<description>Actual charging current.</description>
</channel>
<channel id="isOnline" typeId="type-switch">
<label>Online</label>
<description>Online status of the wallbox.</description>
</channel>
<channel id="dynamicChargerCurrent" typeId="rwtype-current">
<label>Dynamic Charger Current</label>
<description>Dynamic set charging current.</description>
<properties>
<property name="writeCommand">ChangeConfiguration</property>
<property name="validationExpression">(0|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32)</property>
</properties>
</channel>
<channel id="reasonForNoCurrent" typeId="type-integer">
<label>Reason for no Current</label>
<description>Reason for no Current.</description>
</channel>
<channel id="lifetimeEnergy" typeId="type-energy">
<label>Lifetime Energy</label>
<description>Total lifetime energy.</description>
</channel>
<channel id="errorCode" typeId="type-integer">
<label>Error Code</label>
<description>Error Code.</description>
</channel>
<channel id="fatalErrorCode" typeId="type-integer">
<label>Fatal Error Code</label>
<description>Fatal Error Code.</description>
</channel>
</channels>
</channel-group-type>
<channel-group-type id="charger-config">
<label>Charger Configuration</label>
<channels>
<channel id="lockCablePermanently" typeId="rwtype-switch">
<label>Lock Cable Permanently</label>
<description>Lock Cable Permanently status of the wallbox.</description>
<properties>
<property name="writeCommand">ChangeConfiguration</property>
<property name="validationExpression">.*</property>
</properties>
</channel>
<channel id="authorizationRequired" typeId="rwtype-switch">
<label>Authorization Required</label>
<description>Indicates if authorization is required to start charging.</description>
<properties>
<property name="writeCommand">ChangeConfiguration</property>
<property name="validationExpression">.*</property>
</properties>
</channel>
<channel id="limitToSinglePhaseCharging" typeId="rwtype-switch">
<label>Limit To Single Phase Charging</label>
<description>Indicates if charging should be limited to single phase mode.</description>
<properties>
<property name="writeCommand">ChangeConfiguration</property>
<property name="validationExpression">.*</property>
</properties>
</channel>
<channel id="phaseMode" typeId="rwtype-integer-phase-mode">
<label>Phase Mode</label>
<description>Phase Mode.</description>
<properties>
<property name="writeCommand">ChangeConfiguration</property>
<property name="validationExpression">(1|2|3)</property>
</properties>
</channel>
<channel id="maxChargerCurrent" typeId="type-current">
<label>Max Charger Current</label>
<description>Max charging current.</description>
</channel>
</channels>
</channel-group-type>
<channel-group-type id="charger-latestSession">
<label>Last Charging Session</label>
<channels>
<channel id="sessionEnergy" typeId="type-energy">
<label>Total Session Energy</label>
<description>Total Energy for last session.</description>
</channel>
<channel id="sessionStart" typeId="type-date">
<label>Session Start</label>
<description>Date/Time when session started.</description>
</channel>
<channel id="sessionEnd" typeId="type-date">
<label>Session End</label>
<description>Date/Time when session ended.</description>
</channel>
</channels>
</channel-group-type>
<channel-group-type id="charger-commands">
<label>Charger Commands</label>
<channels>
<channel id="genericCommand" typeId="rwtype-charger-command">
<label>Generic Charger Command</label>
<description>Sends a command to the charger. Write only channel.</description>
<properties>
<property name="writeCommand">SendCommand</property>
<property name="validationExpression">(reboot|update_firmware|poll_all|smart_charging|start_charging|stop_charging|pause_charging|resume_charging|toggle_charging|override_schedule)</property>
</properties>
</channel>
<channel id="startStop" typeId="rwtype-switch">
<label>Start/Stop Charging</label>
<description>Starts/Stops charging. Only relevant if authorization is required.</description>
<properties>
<property name="writeCommand">SendCommandStartStop</property>
<property name="validationExpression">.*</property>
</properties>
</channel>
<channel id="pauseResume" typeId="rwtype-switch">
<label>Pause/Resume Charging</label>
<description>Pauses/Resumes charging. Pausing works by setting Dynamic Charger Current to 0.</description>
<properties>
<property name="writeCommand">SendCommandPauseResume</property>
<property name="validationExpression">.*</property>
</properties>
</channel>
</channels>
</channel-group-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,88 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="easee"
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="circuit-settings">
<label>Circuit Settings</label>
<channels>
<channel id="maxCircuitCurrentP1" typeId="type-current">
<label>Max Current P1</label>
<description>Max circuit current for phase 1.</description>
</channel>
<channel id="maxCircuitCurrentP2" typeId="type-current">
<label>Max Current P2</label>
<description>Max circuit current for phase 2.</description>
</channel>
<channel id="maxCircuitCurrentP3" typeId="type-current">
<label>Max Current P3</label>
<description>Max circuit current for phase 3.</description>
</channel>
<channel id="maxCurrents" typeId="rwtype-currents">
<label>Max Currents</label>
<description>Max circuit currents for phases 1,2,3.</description>
<properties>
<property name="writeCommand">SetMaxCircuitCurrents</property>
<property name="validationExpression">(0|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32);(0|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32);(0|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32)</property>
</properties>
</channel>
<channel id="offlineMaxCircuitCurrentP1" typeId="type-current">
<label>Offline Max Current P1</label>
<description>Max circuit current for phase 1 in offline mode.</description>
</channel>
<channel id="offlineMaxCircuitCurrentP2" typeId="type-current">
<label>Offline Max Current P2</label>
<description>Max circuit current for phase 2 in offline mode.</description>
</channel>
<channel id="offlineMaxCircuitCurrentP3" typeId="type-current">
<label>Offline Max Current P3</label>
<description>Max circuit current for phase 3 in offline mode.</description>
</channel>
<channel id="offlineMaxCurrents" typeId="rwtype-currents">
<label>Offline Max Currents</label>
<description>Offline Max circuit currents for phases 1,2,3.</description>
<properties>
<property name="writeCommand">SetOfflineMaxCircuitCurrents</property>
<property name="validationExpression">(0|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32);(0|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32);(0|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32)</property>
</properties>
</channel>
<channel id="enableIdleCurrent" typeId="rwtype-switch">
<label>Enable Idle Current</label>
<description>This will block 6A Idle current for each charger in the current.</description>
<properties>
<property name="writeCommand">SetCircuitSettings</property>
<property name="validationExpression">.*</property>
</properties>
</channel>
<channel id="allowOfflineMaxCircuitCurrent" typeId="type-switch">
<label>Allow Offline Max Circuit Current</label>
<description>Allow Offline Max Circuit Current.</description>
</channel>
</channels>
</channel-group-type>
<channel-group-type id="circuit-dynamicCurrent">
<label>Circuit Dynamic Current</label>
<channels>
<channel id="phase1" typeId="type-current">
<label>Dynamic Current P1</label>
<description>Dynamic set circuit current for phase 1.</description>
</channel>
<channel id="phase2" typeId="type-current">
<label>Dynamic Current P2</label>
<description>Dynamic set circuit current for phase 2.</description>
</channel>
<channel id="phase3" typeId="type-current">
<label>Dynamic Current P3</label>
<description>Dynamic set circuit current for phase 3.</description>
</channel>
<channel id="dynamicCurrents" typeId="rwtype-currents">
<label>Dynamic Currents</label>
<description>Dynamic circuit currents for phases 1,2,3.</description>
<properties>
<property name="writeCommand">SetDynamicCircuitCurrents</property>
<property name="validationExpression">(0|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32);(0|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32);(0|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32)</property>
</properties>
</channel>
</channels>
</channel-group-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="easee"
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="type-power">
<item-type>Number:Power</item-type>
<label>Power</label>
<state pattern="%.2f %unit%" readOnly="true">
</state>
</channel-type>
<channel-type id="type-energy">
<item-type>Number:Energy</item-type>
<label>Energy</label>
<state pattern="%.1f %unit%" readOnly="true">
</state>
</channel-type>
<channel-type id="type-current">
<item-type>Number:ElectricCurrent</item-type>
<label>ElectricCurrent</label>
<state pattern="%.1f %unit%" readOnly="true">
</state>
</channel-type>
<channel-type id="type-switch">
<item-type>Switch</item-type>
<label>Switch</label>
<state readOnly="true"></state>
</channel-type>
<channel-type id="type-volt">
<item-type>Number:ElectricPotential</item-type>
<label>ElectricPotential</label>
<state pattern="%.1f %unit%" readOnly="true">
</state>
</channel-type>
<channel-type id="type-integer">
<item-type>Number</item-type>
<label>Generic Integer</label>
<state pattern="%d" readOnly="true">
</state>
</channel-type>
<channel-type id="type-integer-charger-op-mode">
<item-type>Number</item-type>
<label>Charger Operation Mode</label>
<state readOnly="true">
<options>
<option value="0">Offline</option>
<option value="1">Disconnected</option>
<option value="2">AwaitingStart</option>
<option value="3">Charging</option>
<option value="4">Completed</option>
<option value="5">Error</option>
<option value="6">ReadyToCharge</option>
</options>
</state>
</channel-type>
<channel-type id="type-date">
<item-type>DateTime</item-type>
<label>DateTime</label>
<state readOnly="true">
</state>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="easee"
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="rwtype-switch">
<item-type>Switch</item-type>
<label>Switch</label>
<state readOnly="false"></state>
</channel-type>
<channel-type id="rwtype-current">
<item-type>Number:ElectricCurrent</item-type>
<label>Electric Current</label>
<state pattern="%.1f %unit%" readOnly="false">
</state>
</channel-type>
<channel-type id="rwtype-integer-phase-mode">
<item-type>Number</item-type>
<label>Phase Mode</label>
<state readOnly="false">
<options>
<option value="1">1-Phase</option>
<option value="2">Auto</option>
<option value="3">3-Phase</option>
</options>
</state>
</channel-type>
<channel-type id="rwtype-currents">
<item-type>String</item-type>
<label>Currents Phase 1;2;3</label>
<state pattern="%s" readOnly="false">
</state>
</channel-type>
<channel-type id="rwtype-charger-command">
<item-type>String</item-type>
<label>Charger Command</label>
<state pattern="%s" readOnly="false">
</state>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="easee"
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="site">
<label>Easee Site</label>
<description>Cloud connection to an Easee site.</description>
<config-description-ref uri="thing-type:easee:site"/>
</bridge-type>
<thing-type id="mastercharger">
<supported-bridge-type-refs>
<bridge-type-ref id="site"/>
</supported-bridge-type-refs>
<label>Easee Master Charger</label>
<description>Cloud connected Easee Master Charger which also controls the circuit.</description>
<channel-groups>
<channel-group typeId="charger-state" id="state"/>
<channel-group typeId="charger-config" id="config"/>
<channel-group typeId="charger-commands" id="commands"/>
<channel-group typeId="charger-latestSession" id="latestSession"/>
<channel-group typeId="circuit-dynamicCurrent" id="dynamicCurrent"/>
<channel-group typeId="circuit-settings" id="settings"/>
</channel-groups>
<config-description-ref uri="thing-type:easee:mastercharger"/>
</thing-type>
<thing-type id="charger">
<supported-bridge-type-refs>
<bridge-type-ref id="site"/>
</supported-bridge-type-refs>
<label>Easee Charger</label>
<description>Cloud connected Easee Charger.</description>
<channel-groups>
<channel-group typeId="charger-state" id="state"/>
<channel-group typeId="charger-config" id="config"/>
<channel-group typeId="charger-commands" id="commands"/>
<channel-group typeId="charger-latestSession" id="latestSession"/>
</channel-groups>
<config-description-ref uri="thing-type:easee:charger"/>
</thing-type>
</thing:thing-descriptions>