[intesis] - added IntesisBox support (#8694)

* Intesis Binding - added IntesisBox support

Signed-off-by: Hans-Jörg Merk <github@hmerk.de>
This commit is contained in:
Hans-Jörg Merk
2020-10-24 20:17:56 +02:00
committed by GitHub
parent 8b8b79cf04
commit 91fbe746e9
16 changed files with 900 additions and 43 deletions

View File

@@ -1,7 +1,6 @@
# Intesis Binding
This binding connects to WiFi [IntesisHome](http://www.intesishome.com/) devices using their local REST Api.
It does actually not support [IntesisBox](http://www.intesisbox.com/) devices but support is planned in upcoming version.
This binding connects to WiFi [IntesisHome](https://www.intesis.com/products/cloud-solutions/ac-cloud-control) devices using their local REST Api and to [IntesisBox](https://www.intesis.com/products/ac-interfaces/wifi-gateways) devices using TCP connection.
@@ -9,9 +8,10 @@ It does actually not support [IntesisBox](http://www.intesisbox.com/) devices bu
This binding only supports one thing type:
| Thing | Thing Type | Description |
|------------ |------------|---------------------------------|
| intesisHome | Thing | Represents a single WiFi device |
| Thing | Thing Type | Description |
|-------------|------------|---------------------------------------------|
| intesisHome | Thing | Represents a single IntesisHome WiFi device |
| intesisBox | Thing | Represents a single IntesisBox WiFi device |
## Discovery
@@ -19,35 +19,40 @@ Intesis devices do not support auto discovery.
## Thing Configuration
The binding needs two configuration parameters.
The binding uses the following configuration parameters.
| Parameter | Description |
|-----------|---------------------------------------------------|
| ipAddress | IP-Address of the device |
| password | Password to login to the local webserver of device |
| Parameter | Valid for ThingType | Description |
|-----------|---------------------|----------------------------------------------------------------|
| ipAddress | Both | IP-Address of the device |
| password | IntesisHome | Password to login to the local webserver of IntesisHome device |
| port | IntesisBox | TCP port to connect to IntesisBox device, defaults to 3310 |
## Channels
| Channel ID | Item Type | Description | Possible Values |
|--------------------|--------------------|---------------------------------------------|---------------------------|
| power | Switch | Turns power on/off for your climate system. | ON, OFF |
| mode | String | The heating/cooling mode. | AUTO,HEAT,DRY,FAN,COOL |
| fanSpeed | String | Fan speed (if applicable) | AUTO,1-10 |
| vanesUpDown | String | Control of up/down vanes (if applicable) | AUTO,1-9,SWING,SWIRL,WIDE |
| vanesUpDown | String | Control of left/right vanes (if applicable) | AUTO,1-9,SWING,SWIRL,WIDE |
| targetTemperature | Number:Temperature | The currently set target temperature. | |
| ambientTemperature | Number:Temperature | (Readonly) The ambient air temperature. | |
| outdoorTemperature | Number:Temperature | (Readonly) The outdoor air temperature. | |
| Channel ID | Item Type | Description | Possible Values |
|--------------------|--------------------|--------------------------------------------------------|---------------------------------------------------------|
| power | Switch | Turns power on/off for your climate system. | ON,OFF |
| mode | String | The heating/cooling mode. | AUTO,HEAT,DRY,FAN,COOL |
| fanSpeed | String | Fan speed (if applicable) | AUTO,1-10 |
| vanesUpDown | String | Control of up/down vanes (if applicable) | AUTO,1-9,SWING,SWIRL,WIDE |
| vanesUpDown | String | Control of left/right vanes (if applicable) | AUTO,1-9,SWING,SWIRL,WIDE |
| targetTemperature | Number:Temperature | The currently set target temperature (if applicable) | range between 18°C and 30°C |
| ambientTemperature | Number:Temperature | (Readonly) The ambient air temperature (if applicable) | |
| outdoorTemperature | Number:Temperature | (Readonly) The outdoor air temperature (if applicable) | |
| errorStatus | String | (Readonly) The error status of the device | OK,ERR |
| errorCode | String | (Readonly) The error code if an error encountered | not documented |
| wifiSignal | Number | (Readonly) WiFi signal strength (IntesisBox only) | 4=excellent, 3=good, 2=not string, 1=unreliable, 0=none |
Note that individual A/C units may not support all channels, or all possible values for those channels.
The binding will add all supported channels and possible values on first thing initialization and list them as thing properties.
If new channels or values might be supported after firmware upgrades, deleting the thing and reading is necessary.
For example, not all A/C units have controllable vanes. Or fan speed may be limited to 1-4, instead of all of 1-9.
The set point temperature is also limited to a device specific range. For set point temperature, sending an invalid value
If new channels or values might be supported after firmware upgrades, deleting the thing and re-adding is necessary.
For example, not all A/C units have controllable vanes or fan speed may be limited to 1-4, instead of all of 1-9.
The target temperature is also limited to a device specific range. For target temperature, sending an invalid value
will cause it to choose the minimum/maximum allowable value as appropriate. The device will also round it to
whatever step size it supports. For all other channels, invalid values are ignored.
IntesisBox firmware 1.3.3 reports temperatures by full degrees only (e.g. 23.0) even if a half degree (e.g. 23.5) was set.
## Full Example
@@ -55,8 +60,9 @@ The binding can be fully setup from the UI but if you decide to use files here i
**Things**
```intesisHome.things
```
Thing intesis:intesisHome:acOffice "AC Unit Adapter" @ "AC" [ipAddress="192.168.1.100", password="xxxxx"]
Thing intesis:intesisBox:acOffice "AC Unit Adapter" @ "AC" [ipAddress="192.168.1.100", port=3310]
```
**Items**
@@ -89,4 +95,3 @@ sitemap intesishome label="My AC control" {
}
}
```