Updated external content (Jenkins build 867)

pull/1839/head
openHAB Build Server 2022-03-28 03:35:16 +00:00
parent 3aff2b18eb
commit 2d2126d172
17 changed files with 348 additions and 173 deletions

File diff suppressed because one or more lines are too long

View File

@ -73,22 +73,24 @@ The binding has no configuration options, all configuration is done at `bridge`,
### Channels for `powerinverter` Thing
| Channel ID | Item Type | Description |
| ------------------------------------ | -------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `inverterdatachanneldayenergy` | Number | Energy generated on current day |
| `inverterdatachannelpac` | Number | AC power |
| `inverterdatachanneltotal` | Number | Energy generated overall |
| `inverterdatachannelyear` | Number | Energy generated in current year |
| `inverterdatachannelfac` | Number | AC frequency |
| `inverterdatachanneliac` | Number | AC current |
| `inverterdatachannelidc` | Number | DC current |
| `inverterdatachanneluac` | Number | AC voltage |
| `inverterdatachanneludc` | Number | DC voltage |
| ------------------------------------ | ------------------------ | ----------------------------------------------------------------------------------------------------------------- |
| `inverterdatachannelpac` | Number:Power | Power generated |
| `inverterdatachannelfac` | Number:Frequency | AC frequency |
| `inverterdatachanneliac` | Number:ElectricCurrent | AC current |
| `inverterdatachannelidc` | Number:ElectricCurrent | DC current |
| `inverterdatachanneluac` | Number:ElectricPotential | AC voltage |
| `inverterdatachanneludc` | Number:ElectricPotential | DC voltage |
| `inverterdatachanneldayenergy` | Number:Energy | Energy generated on current day |
| `inverterdatachannelyear` | Number:Energy | Energy generated in current year |
| `inverterdatachanneltotal` | Number:Energy | Energy generated overall |
| `inverterdatadevicestatuserrorcode` | Number | Device error code |
| `inverterdatadevicestatusstatuscode` | Number | Device status code<br />`0` - `6` Startup<br />`7` Running <br />`8` Standby<br />`9` Bootloading<br />`10` Error |
| `powerflowchannelpgrid` | Number:Power | Power (+ from grid, - to grid) |
| `powerflowchannelpload` | Number:Power | Power (+ generator, - consumer) |
| `powerflowchannelpakku` | Number:Power | Power (+ charge, - discharge) |
| `powerflowchannelppv` | Number:Power | Power (+ production) |
| `powerflowchannelpgrid` | Number:Power | Grid Power (+ from grid, - to grid) |
| `powerflowchannelpload` | Number:Power | Load Power (+ generator, - consumer) |
| `powerflowchannelpakku` | Number:Power | Battery Power (+ charge, - discharge) |
| `powerflowchannelppv` | Number:Power | Solar Power (+ production) |
| `powerflowautonomy` | Number:Dimensionless | The current relative autonomy in % |
| `powerflowselfconsumption` | Number:Dimensionless | The current relative self consumption in % |
| `powerflowinverter1power` | Number:Power | Current power of inverter 1, null if not running (+ produce/export, - consume/import) |
| `powerflowinverter1soc` | Number:Dimensionless | Current state of charge of inverter 1 in percent |
@ -113,7 +115,6 @@ The binding has no configuration options, all configuration is done at `bridge`,
| `powerfactorphase3` | Number | Power Factor on Phase 3 |
| `energyrealsumconsumed` | Number:Energy | Real Energy consumed |
| `energyrealsumproduced` | Number:Energy | Real Energy produced |
| |
### Channels for `ohmpilot` Thing
@ -125,7 +126,6 @@ The binding has no configuration options, all configuration is done at `bridge`,
| `temperaturechannel1` | Number:Temperature | Temperature |
| `errorcode` | Number | Device error code |
| `statecode` | Number | Device state code<br />`0` up and running <br />`1` keep minimum temperature <br />`2` legionella protection <br />`3` critical fault<br />`4` fault<br />`5` boost mode |
| |
## Properties
@ -159,21 +159,23 @@ Bridge fronius:bridge:mybridge [hostname="192.168.66.148", refreshInterval=5] {
demo.items:
```
Number AC_Power { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachannelpac" }
Number Day_Energy { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachanneldayenergy" }
Number Total_Energy { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachanneltotal" }
Number Year_Energy { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachannelyear" }
Number FAC { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachannelfac" }
Number IAC { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachanneliac" }
Number IDC { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachannelidc" }
Number UAC { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachanneluac" }
Number UDC { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachanneludc" }
Number:Power AC_Power { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachannelpac" }
Number:Energy Day_Energy { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachanneldayenergy" }
Number:Energy Total_Energy { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachanneltotal" }
Number:Energy Year_Energy { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachannelyear" }
Number:Frequency FAC { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachannelfac" }
Number:ElectricCurrent IAC { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachanneliac" }
Number:ElectricCurrent IDC { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachannelidc" }
Number:ElectricPotential UAC { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachanneluac" }
Number:ElectricPotential UDC { channel="fronius:powerinverter:mybridge:myinverter:inverterdatachanneludc" }
Number ErrorCode { channel="fronius:powerinverter:mybridge:myinverter:inverterdatadevicestatuserrorcode" }
Number StatusCode { channel="fronius:powerinverter:mybridge:myinverter:inverterdatadevicestatusstatuscode" }
Number:Power Grid_Power { channel="fronius:powerinverter:mybridge:myinverter:powerflowchannelpgrid" }
Number:Power Load_Power { channel="fronius:powerinverter:mybridge:myinverter:powerflowchannelpload" }
Number:Power Battery_Power { channel="fronius:powerinverter:mybridge:myinverter:powerflowchannelpakku" }
Number:Power Production_Power { channel="fronius:powerinverter:mybridge:myinverter:powerflowchannelppv" }
Number:Dimensionless Power_Autonomy { channel="fronius:powerinverter:mybridge:myinverter:powerflowautonomy" }
Number:Dimensionless Power_SelfConsumption { channel="fronius:powerinverter:mybridge:myinverter:powerflowselfconsumption" }
Number:Power Inverter1_Power { channel="fronius:powerinverter:mybridge:myinverter:powerflowinverter1power" }
Number:Dimensionless Inverter1_SOC { channel="fronius:powerinverter:mybridge:myinverter:powerflowinverter1soc" }

View File

@ -36,6 +36,7 @@ Any home automation system based on the OverKiz API is potentially supported.
- awnings (UP, DOWN, STOP control of an awning). IO Homecontrol devices are allowed to set exact position of an awning (0-100%)
- windows (UP, DOWN, STOP control of a window). IO Homecontrol devices are allowed to set exact position of a window (0-100%)
- pergolas (UP, DOWN, STOP control of a pergola). IO Homecontrol devices are allowed to set exact position of a pergola (0-100%)
- shutters (OPEN, CLOSE, STOP control of a shutter)
- on/off switches (connected by RTS, IO protocol or supported by USB stick - z-wave, enocean, ..)
- light switches (similar to on/off)
- dimmer lights (light switches with intensity setting)
@ -79,14 +80,14 @@ Please see the example below.
## Channels
| Thing | Channel | Note |
|-------------------------------------------------------------------------------|---------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|------------------------------------------------------------------------------------|---------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| bridge | N.A | bridge does not expose any channel |
| gateway | status | status of your gateway |
| gateway | scenarios | used to run the scenarios defined in the cloud portal |
| gate | gate_command | used for controlling your gate (open, close, stop, pedestrian) |
| gate | gate_state | get state of your gate (open, closed, pedestrian) |
| gate | gate_position | get position (0-100%) of your gate (where supported) |
| roller shutter, screen, venetian blind, garage door, awning, pergola, curtain | control | device controller which reacts to commands UP/DOWN/ON/OFF/OPEN/CLOSE/MY/STOP + closure 0-100 |
| roller shutter, shutter, screen, ven. blind, garage door, awning, pergola, curtain | control | device controller which reacts to commands UP/DOWN/ON/OFF/OPEN/CLOSE/MY/STOP + closure 0-100 |
| window | control | device controller which reacts to commands UP/DOWN/ON/OFF/OPEN/CLOSE/STOP + closure 0-100 |
| silent roller shutter | silent_control | similar to control channel but in silent mode |
| venetian blind, adjustable slats roller shutter, bioclimatic pergola | orientation | percentual orientation of the blind's slats, it can have value 0-100. For IO Homecontrol devices only (non RTS) |

View File

@ -32,7 +32,7 @@ A Velbus configuration module (e.g. VMBRSUSB) or a network server (e.g. [VelServ
The supported Velbus devices are:
```
vmb1bl, vmb1bls, vmb1dm, vmb1led, vmb1ry, vmb1ryno, vmb1rynos, vmb1rys, vmb1ts, vmb2bl, vmb2ble, vmb2pbn, vmb4an, vmb4dc, vmb4ry, vmb4ryld, vmb4ryno, vmb6in, vmb6pbn, vmb7in, vmb8ir, vmb8pb, vmb8pbu, vmbdme, vmbdmi, vmbdmir, vmbel1, vmbel2, vmbel4, vmbelo, vmbgp1, vmbgp2, vmbgp4, vmbgp4pir, vmbgpo, vmbgpod, vmbmeteo, vmbpirc, vmbpirm, vmbpiro, vmbvp1
vmb1bl, vmb1bls, vmb1dm, vmb1led, vmb1ry, vmb1ryno, vmb1rynos, vmb1rys, vmb1ts, vmb2bl, vmb2ble, vmb2pbn, vmb4an, vmb4dc, vmb4ry, vmb4ryld, vmb4ryno, vmb6in, vmb6pbn, vmb7in, vmb8ir, vmb8pb, vmb8pbu, vmbdme, vmbdmi, vmbdmir, vmbel1, vmbel2, vmbel4, vmbelo, vmbelpir, vmbgp1, vmbgp2, vmbgp4, vmbgp4pir, vmbgpo, vmbgpod, vmbmeteo, vmbpirc, vmbpirm, vmbpiro, vmbvp1
```
The type of a specific device can be found in the configuration section for things in the UI.
@ -112,7 +112,7 @@ or nested in the bridge configuration:
The following thing types are valid for configuration:
```
vmb1bl, vmb1bls, vmb1dm, vmb1led, vmb1ry, vmb1ryno, vmb1rynos, vmb1rys, vmb1ts, vmb2bl, vmb2ble, vmb2pbn, vmb4an, vmb4dc, vmb4ry, vmb4ryld, vmb4ryno, vmb6in, vmb6pbn, vmb7in, vmb8ir, vmb8pb, vmb8pbu, vmbdme, vmbdmi, vmbdmir, vmbel1, vmbel2, vmbel4, vmbelo, vmbgp1, vmbgp2, vmbgp4, vmbgp4pir, vmbgpo, vmbgpod, vmbmeteo, vmbpirc, vmbpirm, vmbpiro, vmbvp1
vmb1bl, vmb1bls, vmb1dm, vmb1led, vmb1ry, vmb1ryno, vmb1rynos, vmb1rys, vmb1ts, vmb2bl, vmb2ble, vmb2pbn, vmb4an, vmb4dc, vmb4ry, vmb4ryld, vmb4ryno, vmb6in, vmb6pbn, vmb7in, vmb8ir, vmb8pb, vmb8pbu, vmbdme, vmbdmi, vmbdmir, vmbel1, vmbel2, vmbel4, vmbelo, vmbelpir, vmbgp1, vmbgp2, vmbgp4, vmbgp4pir, vmbgpo, vmbgpod, vmbmeteo, vmbpirc, vmbpirm, vmbpiro, vmbvp1
```
`thingId` is the hexadecimal Velbus address of the thing.
@ -135,7 +135,7 @@ Setting the refresh interval to 0 or leaving it empty will prevent the thing fro
The following thing types support a sensor refresh interval:
```
vmb1ts, vmb4an, vmbel1, vmbel2, vmbel4, vmbelo, vmbgp1, vmbgp2, vmbgp4, vmbgp4pir, vmbgpo, vmbgpod, vmbmeteo, vmbpirc, vmbpirm, vmbpiro
vmb1ts, vmb4an, vmbel1, vmbel2, vmbel4, vmbelo, vmbelpir, vmbgp1, vmbgp2, vmbgp4, vmbgp4pir, vmbgpo, vmbgpod, vmbmeteo, vmbpirc, vmbpirm, vmbpiro
```
The `vmb7in` thing type also supports a refresh interval. For this thing type, the refresh interval is the interval at which the counter values should be refreshed.
@ -207,14 +207,15 @@ Sending an ON command will switch the dimmer to the value stored when last turni
For thing type `vmb4ry` 4 channels are available `CH1` ... `CH4`.
OnOff command types are supported.
Thing types `vmbel1`, `vmbel2`, `vmbel4`, `vmbgp1`, `vmbgp2`, `vmbgp4`, `vmbgp4pir` and `vmbpiro` have 8 trigger channels `input:CH1` ... `input:CH8` and one temperature channel `input:CH9`.
Pressed and Long_Pressed command types are supported on channels `button#CH1` ... `button#CH8`.
Thing types `vmbel1`, `vmbel2`, `vmbel4`, `vmbelpir`, `vmbgp1`, `vmbgp2`, `vmbgp4`, `vmbgp4pir` and `vmbpiro` have 8 trigger channels `input:CH1` ... `input:CH8` and one temperature channel `input:CH9`.
Pressed and Long_Pressed command types are supported on channels `button#CH1` and `button#CH2` for the thing type `vmbelpir`.
Pressed and Long_Pressed command types are supported on channels `button#CH1` ... `button#CH8` for the thing types `vmbel1`, `vmbel2`, `vmbel4`, `vmbgp1`, `vmbgp2`, `vmbgp4`, `vmbgp4pir` and `vmbpiro`.
The thing types `vmbel1` and `vmbgp1` have one channel to steer the button LED feedback `feedback:CH1`.
The thing types `vmbel2` and `vmbgp2` have two channels to steer the button LED feedback `feedback:CH1` and `feedback:CH2`.
The thing types `vmbel4`, `vmbgp4` and `vmbgp4pir` have four channels to steer the button LED feedback `feedback:CH1` ... `feedback:CH4`.
The thing type `vmbpiro` has a channel `input:LIGHT` indicating the illuminance.
Thing types `vmbel1`, `vmbel2`, `vmbel4`, `vmbgp1`, `vmbgp2`, `vmbgp4` and `vmbgp4pir` have a number of channels to set the module's alarms: `clockAlarm:clockAlarm1Enabled`, `clockAlarm:clockAlarm1Type`, `clockAlarm:clockAlarm1WakeupHour`, `clockAlarm:clockAlarm1WakeupMinute`, `clockAlarm:clockAlarm1BedtimeHour`, `clockAlarm:clockAlarm1BedtimeMinute`, `clockAlarm:clockAlarm2Enabled`, `clockAlarm:clockAlarm2Type`, `clockAlarm:clockAlarm2WakeupHour`, `clockAlarm:clockAlarm2WakeupMinute`, `clockAlarm:clockAlarm2BedtimeHour` and `clockAlarm:clockAlarm2BedtimeMinute`.
Thing types `vmbel1`, `vmbel2`, `vmbel4`, `vmbgp1`, `vmbgp2`, `vmbgp4` and `vmbgp4pir` also have a number of channels to set the module's thermostat (`thermostat:currentTemperatureSetpoint`, `thermostat:heatingModeComfortTemperatureSetpoint`, `thermostat:heatingModeDayTemperatureSetpoint`, `thermostat:heatingModeNightTemperatureSetpoint`, `thermostat:heatingModeAntiFrostTemperatureSetpoint`, `thermostat:coolingModeComfortTemperatureSetpoint`, `thermostat:coolingModeDayTemperatureSetpoint`, `thermostat:coolingModeNightTemperatureSetpoint`, `thermostat:coolingModeSafeTemperatureSetpoint`, `operatingMode` and `thermostat:mode`) and thermostat trigger channels: `thermostat:heater`, `thermostat:boost`, `thermostat:pump`, `thermostat:cooler`, `thermostat:alarm1`, `thermostat:alarm2`, `thermostat:alarm3`, `thermostat:alarm4`.
Thing types `vmbel1`, `vmbel2`, `vmbel4`, `vmbelpir`, `vmbgp1`, `vmbgp2`, `vmbgp4` and `vmbgp4pir` have a number of channels to set the module's alarms: `clockAlarm:clockAlarm1Enabled`, `clockAlarm:clockAlarm1Type`, `clockAlarm:clockAlarm1WakeupHour`, `clockAlarm:clockAlarm1WakeupMinute`, `clockAlarm:clockAlarm1BedtimeHour`, `clockAlarm:clockAlarm1BedtimeMinute`, `clockAlarm:clockAlarm2Enabled`, `clockAlarm:clockAlarm2Type`, `clockAlarm:clockAlarm2WakeupHour`, `clockAlarm:clockAlarm2WakeupMinute`, `clockAlarm:clockAlarm2BedtimeHour` and `clockAlarm:clockAlarm2BedtimeMinute`.
Thing types `vmbel1`, `vmbel2`, `vmbel4`, `vmbelpir`, `vmbgp1`, `vmbgp2`, `vmbgp4` and `vmbgp4pir` also have a number of channels to set the module's thermostat (`thermostat:currentTemperatureSetpoint`, `thermostat:heatingModeComfortTemperatureSetpoint`, `thermostat:heatingModeDayTemperatureSetpoint`, `thermostat:heatingModeNightTemperatureSetpoint`, `thermostat:heatingModeAntiFrostTemperatureSetpoint`, `thermostat:coolingModeComfortTemperatureSetpoint`, `thermostat:coolingModeDayTemperatureSetpoint`, `thermostat:coolingModeNightTemperatureSetpoint`, `thermostat:coolingModeSafeTemperatureSetpoint`, `operatingMode` and `thermostat:mode`) and thermostat trigger channels: `thermostat:heater`, `thermostat:boost`, `thermostat:pump`, `thermostat:cooler`, `thermostat:alarm1`, `thermostat:alarm2`, `thermostat:alarm3`, `thermostat:alarm4`.
Thing types `vmbelo`, `vmbgpo` and `vmbgpod` have 32 trigger channels `input:CH1` ... `input:CH32` and one temperature channel `input:CH33`.
Pressed and Long_Pressed command types are supported on channels `button#CH1` ... `button#CH32`.

View File

@ -120,30 +120,30 @@ mono_movie / movie / enhanced / 2ch_stereo / 5ch_stereo / 7ch_stereo / 9ch_stere
```
Bridge yamahamusiccast:bridge:virtual "YXC Bridge" {
Thing yamahamusiccast:device:Living "YXC Living" [host="1.2.3.4"]
Thing device Living "YXC Living" [host="1.2.3.4", defaultAfterMCLink="none", syncVolume=false]
}
```
### Basic setup
```
Switch YamahaPower "" {channel="yamahamusiccast:device:Living:main#power"}
Switch YamahaMute "" {channel="yamahamusiccast:device:Living:main#mute"}
Dimmer YamahaVolume "" {channel="yamahamusiccast:device:Living:main#volume"}
Number YamahaVolumeAbs "" {channel="yamahamusiccast:device:Living:main#volumeAbs"}
String YamahaInput "" {channel="yamahamusiccast:device:Living:main#input"}
String YamahaSelectPreset "" {channel="yamahamusiccast:device:Living:main#selectPreset"}
String YamahaSoundProgram "" {channel="yamahamusiccast:device:Living:main#soundProgram"}
Switch YamahaPower "" {channel="yamahamusiccast:device:virtual:Living:main#power"}
Switch YamahaMute "" {channel="yamahamusiccast:device:virtual:Living:main#mute"}
Dimmer YamahaVolume "" {channel="yamahamusiccast:device:virtual:Living:main#volume"}
Number YamahaVolumeAbs "" {channel="yamahamusiccast:device:virtual:Living:main#volumeAbs"}
String YamahaInput "" {channel="yamahamusiccast:device:virtual:Living:main#input"}
String YamahaSelectPreset "" {channel="yamahamusiccast:device:virtual:Living:main#selectPreset"}
String YamahaSoundProgram "" {channel="yamahamusiccast:device:virtual:Living:main#soundProgram"}
```
### Player controls
```
Player YamahaPlayer "" {channel="yamahamusiccast:device:Living:playerControls#player"}
String YamahaArt "" {channel="yamahamusiccast:device:Living:playerControls#albumArt"}
String YamahaArtist "" {channel="yamahamusiccast:device:Living:playerControls#artist"}
String YamahaTrack "" {channel="yamahamusiccast:device:Living:playerControls#track"}
String YamahaAlbum "" {channel="yamahamusiccast:device:Living:playerControls#album"}
Player YamahaPlayer "" {channel="yamahamusiccast:device:virtual:Living:playerControls#player"}
String YamahaArt "" {channel="yamahamusiccast:device:virtual:Living:playerControls#albumArt"}
String YamahaArtist "" {channel="yamahamusiccast:device:virtual:Living:playerControls#artist"}
String YamahaTrack "" {channel="yamahamusiccast:device:virtual:Living:playerControls#track"}
String YamahaAlbum "" {channel="yamahamusiccast:device:virtual:Living:playerControls#album"}
```
### MusicCast setup

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 943 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

View File

@ -472,6 +472,72 @@ or using UI
![sensor_ui_config.png](doc/sensor_ui_config.png)
### Complex accessory
Multiple HomeKit accessories can be combined to one accessory in order to group several functions provided by one or multiple physical devices.
For example, ceiling fans often include lighting functionality. Such fans can be modeled as:
- two separate HomeKit accessories - fan **and** light.
iOS home app would show them as **two tiles** that can be controlled directly from home screen.
![ios_fan_and_light_home_screen.png](doc/ios_fan_and_light_home_screen.png)
- one complex accessory - fan **with** light.
iOS home app would show them as **one tile** that opens view with two controls
![ios_fan_with_light_home_screen.png](doc/ios_fan_with_light_home_screen.png)
![ios_fan_with_light_details.png](doc/ios_fan_with_light_details.png)
The provided functionality is in both cases identical.
In order to combine multiple accessories to one HomeKit accessory you need:
- add corresponding openHAB items to one openHAB group
- configure HomeKit metadata of both HomeKit accessories at that group.
e.g. configuration for a fan with light would look as follows
```xtend
Group FanWithLight "Fan with Light" {homekit = "Fan,Light"}
Switch FanActiveStatus "Fan Active Status" (FanWithLight) {homekit = "Fan.ActiveStatus"}
Number FanRotationSpeed "Fan Rotation Speed" (FanWithLight) {homekit = "Fan.RotationSpeed"}
Switch Light "Light" (FanWithLight) {homekit = "Lighting.OnState"}
```
or in mainUI
![ui_fan_with_light_group_view.png](doc/ui_fan_with_light_group_view.png)
![ui_fan_with_light_group_code.png](doc/ui_fan_with_light_group_code.png)
![ui_fan_with_light_group_config.png](doc/ui_fan_with_light_group_config.png)
iOS home app uses by default the type of the first accessory on the list for the tile on home screen.
e.g. an accessory defined as homekit = "Fan,Light" will be shown as a fan and an accessory defined as homekit = "Light,Fan" as a light in iOS home app.
if you want to change the tile you can either change the order of types in homekit metadata or add "primary=<type>" to HomeKit metadata configuration.
e.g. following configuration will force "fan" to be used as tile
```xtend
Group FanWithLight "Fan with Light" {homekit = "Light,Fan" [primary = "Fan"]}
```
![ui_fan_with_light_primary.png](doc/ui_fan_with_light_primary.png)
However, home app does not support changing of tiles for already added accessory.
If you want to change the tile after the accessory was added, you need either to rename the group, if you use textual item configuration, or to delete and to create a new group with a different name, if you use UI for configuration.
You can combine more than two accessories as well as accessories linked to different physical devices.
You can also do unusually combinations, e.g. you can combine temperature sensor with blinds and light.
It will be represented by home app as follows
![ios_complex_accessory_detail_screen.png](doc/ios_complex_accessory_detail_screen.png)
#### Limitations
Currently, it is not possible to combine multiple accessories of the same type, e.g. 2 lights.
Support for this is planned for the future release of openHAB HomeKit binding.
## Supported accessory type

View File

@ -34,6 +34,8 @@
<channel id="powerflowchannelppv" typeId="pPv">
<label>Current Solar Yield</label>
</channel>
<channel id="powerflowautonomy" typeId="powerflow_rel_autonomy"/>
<channel id="powerflowselfconsumption" typeId="powerflow_rel_selfconsumption"/>
<channel id="powerflowinverter1power" typeId="inverter1Power">
<label>Power Flow (Inverter 1)</label>
</channel>
@ -144,58 +146,58 @@
</thing-type>
<channel-type id="day_energy">
<item-type>Number</item-type>
<item-type>Number:Energy</item-type>
<label>Day Energy</label>
<description>Energy generated on current day</description>
<state pattern="%.2f kWh" readOnly="true"></state>
</channel-type>
<channel-type id="pac">
<item-type>Number</item-type>
<item-type>Number:Power</item-type>
<label>AC Power</label>
<description>AC power</description>
<state pattern="%f W" readOnly="true"></state>
</channel-type>
<channel-type id="total_energy">
<item-type>Number</item-type>
<item-type>Number:Energy</item-type>
<label>Total Energy</label>
<description>Energy generated overall</description>
<state pattern="%.3f MWh" readOnly="true"></state>
</channel-type>
<channel-type id="year_energy">
<item-type>Number</item-type>
<item-type>Number:Energy</item-type>
<label>Year Energy</label>
<description>Energy generated in current year</description>
<state pattern="%.3f MWh" readOnly="true"></state>
</channel-type>
<channel-type id="fac">
<item-type>Number</item-type>
<item-type>Number:Frequency</item-type>
<label>AC Frequency</label>
<description>AC frequency</description>
<state pattern="%.2f Hz" readOnly="true"></state>
</channel-type>
<channel-type id="iac">
<item-type>Number</item-type>
<item-type>Number:ElectricCurrent</item-type>
<label>AC Current</label>
<description>AC current</description>
<state pattern="%.2f A" readOnly="true"></state>
</channel-type>
<channel-type id="idc">
<item-type>Number</item-type>
<item-type>Number:ElectricCurrent</item-type>
<label>DC Current</label>
<description>DC current</description>
<state pattern="%.2f A" readOnly="true"></state>
</channel-type>
<channel-type id="uac">
<item-type>Number</item-type>
<item-type>Number:ElectricPotential</item-type>
<label>AC Voltage</label>
<description>AC voltage</description>
<state pattern="%.1f V" readOnly="true"></state>
</channel-type>
<channel-type id="udc">
<item-type>Number</item-type>
<item-type>Number:ElectricPotential</item-type>
<label>DC Voltage</label>
<description>DC voltage</description>
<state pattern="%.1f V" readOnly="true"></state>
@ -238,6 +240,18 @@
<description>Current Solar Plant Power</description>
<state pattern="%.2f %unit%" readOnly="true"></state>
</channel-type>
<channel-type id="powerflow_rel_autonomy">
<item-type>Number:Dimensionless</item-type>
<label>Autonomy</label>
<description>The current relative autonomy in %, NULL if no smart meter is connected</description>
<state pattern="%.1f %unit%" readOnly="true"></state>
</channel-type>
<channel-type id="powerflow_rel_selfconsumption">
<item-type>Number:Dimensionless</item-type>
<label>Self Consumption</label>
<description>The current relative self consumption in %, NULL if no smart meter is connected</description>
<state pattern="%.1f %unit%" readOnly="true"></state>
</channel-type>
<channel-type id="inverter1Power">
<item-type>Number:Power</item-type>
<label>Inverter 1 Power</label>
@ -310,5 +324,4 @@
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="somfytahoma"
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="shutter">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Somfy Shutter</label>
<channels>
<channel id="control" typeId="control"></channel>
</channels>
<representation-property>url</representation-property>
<config-description-ref uri="thing-type:somfytahoma:device"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -7,12 +7,18 @@
<bridge-type id="bridge">
<label>Velbus Serial Bridge</label>
<description>This bridge represents a Velbus Serial-interface</description>
<channel-groups>
<channel-group id="bridgeClockAlarm" typeId="clockAlarm"/>
</channel-groups>
<config-description-ref uri="bridge-type:velbus:bridge"/>
</bridge-type>
<bridge-type id="networkbridge">
<label>Velbus Network Bridge</label>
<description>This bridge represents a Velbus connection over TCP/IP</description>
<channel-groups>
<channel-group id="bridgeClockAlarm" typeId="clockAlarm"/>
</channel-groups>
<config-description-ref uri="bridge-type:velbus:networkbridge"/>
</bridge-type>
@ -531,6 +537,25 @@
<config-description-ref uri="thing-type:velbus:33channelDeviceWithTemperatureSensor"/>
</thing-type>
<thing-type id="vmbelpir">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
<bridge-type-ref id="networkbridge"/>
</supported-bridge-type-refs>
<label>VMBELPIR</label>
<description>Edge-lit Motion detector with one touch button</description>
<channel-groups>
<channel-group id="input" typeId="9channelInputModuleWithTemperatureSensor"/>
<channel-group id="button" typeId="2channelButtonModule"/>
<channel-group id="feedback" typeId="1channelFeedbackModule"/>
<channel-group id="thermostat" typeId="thermostat"/>
<channel-group id="clockAlarm" typeId="clockAlarm"/>
</channel-groups>
<config-description-ref uri="thing-type:velbus:9channelDeviceWithTemperatureSensor"/>
</thing-type>
<thing-type id="vmbgp1">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
@ -884,7 +909,7 @@
<item-type>String</item-type>
<label>Alarm Type</label>
<description>Type (local/global) of the alarm clock in Velbus</description>
<state>
<state readOnly="true">
<options>
<option value="LOCAL">Local</option>
<option value="GLOBAL">Global</option>
@ -1292,6 +1317,16 @@
<channel id="CH32" typeId="ledFeedback"/>
</channels>
</channel-group-type>
<channel-group-type id="2channelButtonModule">
<label>Button</label>
<description>
This is a generic module with 2 button channels.
</description>
<channels>
<channel id="CH1" typeId="button-channel"/>
<channel id="CH2" typeId="button-channel"/>
</channels>
</channel-group-type>
<channel-group-type id="6channelButtonModule">
<label>Button</label>
<description>
@ -1444,8 +1479,46 @@
<channel id="CH13" typeId="windspeed"/>
</channels>
</channel-group-type>
<channel-group-type id="bridgeClockAlarm">
<label>Global Clock Alarm</label>
<description>This is a clock alarm with two configurable alarms that can be programmed with a wake up time and a bed
time.
</description>
<channels>
<channel id="clockAlarm1Enabled" typeId="switch">
<label>Clock Alarm 1 Enabled</label>
</channel>
<channel id="clockAlarm1WakeupHour" typeId="hour">
<label>Clock Alarm 1 Wakeup Hour</label>
</channel>
<channel id="clockAlarm1WakeupMinute" typeId="minute">
<label>Clock Alarm 1 Wakeup Minute</label>
</channel>
<channel id="clockAlarm1BedtimeHour" typeId="hour">
<label>Clock Alarm 1 Bedtime Hour</label>
</channel>
<channel id="clockAlarm1BedtimeMinute" typeId="minute">
<label>Clock Alarm 1 Bedtime Minute</label>
</channel>
<channel id="clockAlarm2Enabled" typeId="switch">
<label>Clock Alarm 2 Enabled</label>
</channel>
<channel id="clockAlarm2WakeupHour" typeId="hour">
<label>Clock Alarm 2 Wakeup Hour</label>
</channel>
<channel id="clockAlarm2WakeupMinute" typeId="minute">
<label>Clock Alarm 2 Wakeup Minute</label>
</channel>
<channel id="clockAlarm2BedtimeHour" typeId="hour">
<label>Clock Alarm 2 Bedtime Hour</label>
</channel>
<channel id="clockAlarm2BedtimeMinute" typeId="minute">
<label>Clock Alarm 2 Bedtime Minute</label>
</channel>
</channels>
</channel-group-type>
<channel-group-type id="clockAlarm">
<label>Clock Alarm</label>
<label>Local Clock Alarm</label>
<description>This is a clock alarm with two configurable alarms that can be programmed with a wake up time and a bed
time.
</description>