Updated external content (Jenkins build 580)

pull/1685/head
openHAB Build Server 2021-10-25 08:46:27 +00:00
parent e75952dc6f
commit 5c480aac89
12 changed files with 199 additions and 152 deletions

File diff suppressed because one or more lines are too long

View File

@ -164,7 +164,7 @@ The following channels are available:
| power, mainZone#power, zone2#power, zone3#power, zone4#power | Power | Switch | Power ON/OFF the equipment or the zone | ON, OFF |
| source, mainZone#source, zone2#source, zone3#source, zone4#source | Source Input | String | Select the source input | CD, TUNER, TAPE, VIDEO1, VIDEO2, VIDEO3, VIDEO4, VIDEO5, VIDEO6, VIDEO7, VIDEO8, USB, PCUSB, MULTI, PHONO, BLUETOOTH, AUX, AUX1, AUX2, AUX1_COAX, AUX1_OPTICAL, COAX1, COAX2, COAX3, OPTICAL1, OPTICAL2, OPTICAL3, XLR, RCD, FM, DAB, PLAYFI, IRADIO, NETWORK |
| mainZone#recordSource | Record Source | String | Select the source to be recorded | CD, TUNER, TAPE, VIDEO1, VIDEO2, VIDEO3, VIDEO4, VIDEO5, VIDEO6, USB, MAIN |
| dsp, mainZone#dsp | DSP Mode | String | Select the DSP mode | NONE, STEREO3, STEREO5, STEREO7, STEREO9, STEREO11, MUSIC1, MUSIC2, MUSIC3, MUSIC4, PROLOGIC, PLIICINEMA, PLIIMUSIC, PLIIGAME, PLIIZ, NEO6MUSIC, NEO6CINEMA, ATMOS, NEURALX, BYPASS |
| dsp, mainZone#dsp | DSP Mode | String | Select the DSP mode | NONE, STEREO3, STEREO5, STEREO7, STEREO9, STEREO11, MUSIC1, MUSIC2, MUSIC3, MUSIC4, PROLOGIC, PLIICINEMA, PLIIMUSIC, PLIIGAME, PLIIXCINEMA, PLIIXMUSIC, PLIIXGAME, PLIIZ, NEO6MUSIC, NEO6CINEMA, ATMOS, NEURALX, BYPASS |
| mainZone#volumeUpDown, zone2#volumeUpDown | Volume | Number | Increase or decrease the volume | INCREASE, DECREASE, value |
| volume, mainZone#volume, zone2#volume, zone3#volume, zone4#volume | Volume | Dimmer | Adjust the volume | value between 0 and 100 |
| mute, mainZone#mute, zone2#mute, zone3#mute, zone4#mute | Mute | Switch | Mute/unmute the sound | ON, OFF |

View File

@ -123,8 +123,22 @@ __Common Channels:__
| playlistName | String | Read-write | The currently playing playlist. Or empty if no playing list is playing. |
| albumName | String | Read-only | Album Name of the currently playing track. |
| albumImage | RawType | Read-only | Album Image of the currently playing track. |
| albumImageUrl | String | Read-only | Url to the album Image of the currently playing track. |
| artistName | String | Read-only | Artist Name of the currently playing track. |
The `playlists` channel has 2 parameters:
| Parameter | Description |
|-----------|----------------------------------------------------------------------------|
| offset | The index of the first playlist to return. Default `0`, max `100.000` |
| limit | The maximum number of playlists to return. Default `20`, min `1`, max `50` |
The `albumImage` and `albumImageUrl` channels has 1 parameter:
| Parameter | Description |
|------------|--------------------------------------------------------------------------------------------|
| imageIndex | Index in list of to select size of the image to show. 0:large (default), 1:medium, 2:small |
Note: The `deviceName` and `playlist` channels are Selection channels.
They are dynamically populated by the binding with the user specific devices and playlists.
@ -177,6 +191,19 @@ __Advanced Channels:__
| deviceActive | Switch | Read-only | Indicates if the device is active or not. Should be the same as Thing status ONLINE/OFFLINE. |
| deviceRestricted | Switch | Read-only | Indicates if this device allows to be controlled by the API or not. If restricted it cannot be controlled. |
### Actions
The bridge supports an action to play a track or other context uri.
The following actions are supported:
```
play(String context_uri)
play(String context_uri, int offset, int position_ms)
play(String context_uri, String device_id)
play(String context_uri, String device_id, int offset, int position_ms)
```
## Full Example
In this example there is a bridge configured with Thing ID __user1__ and illustrating that the bridge is authorized to play in the context of the Spotify user account __user1__.
@ -188,24 +215,27 @@ Bridge spotify:player:user1 "Me" [clientId="<your client id>", clientSecret="<yo
Things:
device device1 "Device 1" [deviceName="<spotify device name>"]
device device2 "Device 2" [deviceName="<spotify device name>"]
Channels:
String : playlists [limit=50]
String : albumImageUrl [imageIndex=1]
}
```
spotify.items:
```
Player spotifyTrackPlayer "Player" {channel="spotify:player:user1:trackPlayer"}
String spotifyDevices "Active device [%s]" {channel="spotify:player:user1:devices"}
Switch spotifyDeviceShuffle "Shuffle mode" {channel="spotify:player:user1:deviceShuffle"}
String spotifyTrackRepeat "Repeat mode: [%s]" {channel="spotify:player:user1:trackRepeat"}
String spotifyTrackProgress "Track progress: [%s]" {channel="spotify:player:user1:trackProgress"}
String spotifyTrackDuration "Track duration: [%s]" {channel="spotify:player:user1:trackDuration"}
String spotifyTrackName "Track Name: [%s]" {channel="spotify:player:user1:trackName"}
String spotifyAlbumName "Album Name: [%s]" {channel="spotify:player:user1:albumName"}
String spotifyArtistName "Artist Name: [%s]" {channel="spotify:player:user1:artistName"}
Image spotifyAlbumImage "Album Art" {channel="spotify:player:user1:albumImage"}
String spotifyPlaylists "Playlists [%s]" {channel="spotify:player:user1:playlists"}
String spotifyPlayName "Playlist [%s]" {channel="spotify:player:user1:playlistName"}
Player spotifyTrackPlayer "Player" {channel="spotify:player:user1:trackPlayer"}
String spotifyDevices "Active device [%s]" {channel="spotify:player:user1:devices"}
Switch spotifyDeviceShuffle "Shuffle mode" {channel="spotify:player:user1:deviceShuffle"}
String spotifyTrackRepeat "Repeat mode: [%s]" {channel="spotify:player:user1:trackRepeat"}
String spotifyTrackProgress "Track progress: [%s]" {channel="spotify:player:user1:trackProgress"}
String spotifyTrackDuration "Track duration: [%s]" {channel="spotify:player:user1:trackDuration"}
String spotifyTrackName "Track Name: [%s]" {channel="spotify:player:user1:trackName"}
String spotifyAlbumName "Album Name: [%s]" {channel="spotify:player:user1:albumName"}
String spotifyArtistName "Artist Name: [%s]" {channel="spotify:player:user1:artistName"}
String spotifyAlbumImageUrl "Album Art" {channel="spotify:player:user1:albumImageUrl"}
String spotifyPlaylists "Playlists [%s]" {channel="spotify:player:user1:playlists"}
String spotifyPlayName "Playlist [%s]" {channel="spotify:player:user1:playlistName"}
String device1DeviceName {channel="spotify:device:user1:device1:deviceName"}
Player device1Player {channel="spotify:device:user1:device1:devicePlayer"}
@ -231,7 +261,7 @@ sitemap spotify label="Spotify Sitemap" {
Text item=spotifyTrackProgress label="Track progress: [%s]"
Text item=spotifyTrackDuration label="Track duration: [%s]"
Text item=spotifyTrackName label="Track Name: [%s]"
Image item=spotifyAlbumImage label="Album Art"
Image item=spotifyAlbumImageUrl label="Album Art"
Text item=spotifyAlbumName label="Currently Played Album Name: [%s]"
Text item=spotifyArtistName label="Currently Played Artist Name: [%s]"
Selection item=spotifyPlaylists label="Playlist" icon="music"
@ -253,6 +283,14 @@ sitemap spotify label="Spotify Sitemap" {
}
```
spotify.rules
```
val spotifyActions = getActions("spotify", "spotify:player:user1")
// play the song
spotifyActions.play("spotify:track:4cOdK2wGLETKBW3PvgPWqT")
```
## Binding model and Spotify Web API
The model of the binding is such that the bridge acts as a player in the context of a specific user.

View File

@ -33,7 +33,7 @@ key=value
0=OFF
ON=1
OFF=0
white\ space=showing escape
white\ space=using escape
=default
```

View File

@ -313,6 +313,7 @@
Default is "1000" which is 1 second.
</description>
<default>1000</default>
<advanced>true</advanced>
</parameter>
</config-description>
@ -559,6 +560,7 @@
Default is "1000" which is 1 second.
</description>
<default>1000</default>
<advanced>true</advanced>
</parameter>
<parameter name="ptzContinuous" type="boolean" groupName="Settings">
@ -859,6 +861,7 @@
Default is "1000" which is 1 second.
</description>
<default>1000</default>
<advanced>true</advanced>
</parameter>
</config-description>
@ -1149,6 +1152,7 @@
Default is "1000" which is 1 second.
</description>
<default>1000</default>
<advanced>true</advanced>
</parameter>
</config-description>
@ -1408,6 +1412,7 @@
Default is "1000" which is 1 second.
</description>
<default>1000</default>
<advanced>true</advanced>
</parameter>
</config-description>
@ -1685,6 +1690,7 @@
Default is "1000" which is 1 second.
</description>
<default>1000</default>
<advanced>true</advanced>
</parameter>
</config-description>
@ -1969,6 +1975,7 @@
Default is "1000" which is 1 second.
</description>
<default>1000</default>
<advanced>true</advanced>
</parameter>
</config-description>
@ -2237,6 +2244,7 @@
Default is "1000" which is 1 second.
</description>
<default>1000</default>
<advanced>true</advanced>
</parameter>
</config-description>
</thing-type>

View File

@ -43,9 +43,7 @@
<channel id="yesterday" typeId="consumption">
<label>Yesterday Consumption</label>
</channel>
<channel id="power" typeId="power">
<label>Maximum power usage yesterday</label>
</channel>
<channel id="power" typeId="power"/>
<channel id="timestamp" typeId="timestamp">
<label>Peak Timestamp</label>
<description>Maximum power usage timestamp</description>
@ -99,7 +97,7 @@
<channel-type id="power">
<item-type>Number:Power</item-type>
<label>Peak Power</label>
<label>Yesterday Peak Power</label>
<description>Maximum power usage yesterday</description>
<state readOnly="true" pattern="%.3f %unit%"/>
</channel-type>

View File

@ -5,70 +5,67 @@
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<bridge-type id="bridge">
<label>Niko Home Control I Bridge</label>
<description>This bridge represents a Niko Home Control I IP-interface</description>
<label>@text/bridgeLabel</label>
<description>@text/bridgeDescription</description>
<channels>
<channel id="alarm" typeId="alarm"/>
<channel id="notice" typeId="notice"/>
</channels>
<config-description>
<parameter name="addr" type="text" required="true">
<label>IP or Host Name</label>
<description>IP Address of Niko Home Control IP-interface</description>
<label>@text/bridgeConfigAddressLabel</label>
<description>@text/bridgeConfigAddressDescription</description>
<advanced>false</advanced>
<context>network-address</context>
</parameter>
<parameter name="port" type="integer">
<label>Bridge Port</label>
<description>Port to communicate with Niko Home Control IP-interface, default 8000</description>
<label>@text/bridgeConfigPortLabel</label>
<description>@text/bridgeConfigPortDescription</description>
<default>8000</default>
<advanced>true</advanced>
</parameter>
<parameter name="refresh" type="integer">
<label>Refresh Interval</label>
<description>Refresh interval for connection with Niko Home Control IP-interface (min), default 300. If set to 0 or
left empty, no refresh will be scheduled</description>
<label>@text/bridgeConfigRefreshLabel</label>
<description>@text/bridgeConfigRefreshDescription</description>
<default>300</default>
<advanced>true</advanced>
</parameter>
</config-description>
</bridge-type>
<bridge-type id="bridge2">
<label>Niko Home Control II Bridge</label>
<description>This bridge represents a Niko Home Control II Connected Controller</description>
<label>@text/bridge2Label</label>
<description>@text/bridge2Description</description>
<channels>
<channel id="alarm" typeId="alarm"/>
<channel id="notice" typeId="notice"/>
</channels>
<config-description>
<parameter name="addr" type="text" required="true">
<label>IP or Host Name</label>
<description>IP Address of Connected Controller</description>
<label>@text/bridgeConfigAddressLabel</label>
<description>@text/bridge2ConfigAddressDescription</description>
<advanced>false</advanced>
<context>network-address</context>
</parameter>
<parameter name="port" type="integer">
<label>Bridge Port</label>
<description>Port for secure MQTT communication with Connected Controller, default 8884</description>
<label>@text/bridgeConfigPortLabel</label>
<description>@text/bridge2ConfigPortDescription</description>
<default>8884</default>
<advanced>true</advanced>
</parameter>
<parameter name="profile" type="text">
<label>Profile</label>
<description>Profile used in Niko Home Control II for hobby API</description>
<label>@text/bridge2ConfigProfileLabel</label>
<description>@text/bridge2ConfigProfileDescription</description>
<default>hobby</default>
<advanced>true</advanced>
</parameter>
<parameter name="password" type="text" required="true">
<label>API Token</label>
<description>Token for Niko Home Control II hobby API, should not be empty. This token will have to be renewed after
expiration (1 year after creation)</description>
<label>@text/bridge2ConfigPasswordLabel</label>
<description>@text/bridge2ConfigPasswordDescription</description>
<context>password</context>
</parameter>
<parameter name="refresh" type="integer">
<label>Refresh Interval</label>
<description>Refresh interval for connection with Connected Controller (min), default 300. If set to 0 or left
empty, no refresh will be scheduled</description>
<label>@text/bridgeConfigRefreshLabel</label>
<description>@text/bridge2ConfigRefreshDescription</description>
<default>300</default>
<advanced>true</advanced>
</parameter>
@ -80,15 +77,15 @@
<bridge-type-ref id="bridge"/>
<bridge-type-ref id="bridge2"/>
</supported-bridge-type-refs>
<label>Pushbutton</label>
<description>Pushbutton type action in Niko Home Control</description>
<label>@text/pushButtonLabel</label>
<description>@text/pushButtonDescription</description>
<channels>
<channel id="button" typeId="button"/>
</channels>
<config-description>
<parameter name="actionId" type="text" required="true">
<label>Action ID</label>
<description>Niko Home Control action ID</description>
<label>@text/actionConfigActionIdLabel</label>
<description>@text/actionConfigActionIdDescription</description>
<advanced>false</advanced>
</parameter>
</config-description>
@ -98,15 +95,15 @@
<bridge-type-ref id="bridge"/>
<bridge-type-ref id="bridge2"/>
</supported-bridge-type-refs>
<label>Switch</label>
<description>On/Off type action in Niko Home Control</description>
<label>@text/onOffLabel</label>
<description>@text/onOffDescription</description>
<channels>
<channel id="switch" typeId="system.power"/>
</channels>
<config-description>
<parameter name="actionId" type="text" required="true">
<label>Action ID</label>
<description>Niko Home Control action ID</description>
<label>@text/actionConfigActionIdLabel</label>
<description>@text/actionConfigActionIdDescription</description>
<advanced>false</advanced>
</parameter>
</config-description>
@ -116,20 +113,20 @@
<bridge-type-ref id="bridge"/>
<bridge-type-ref id="bridge2"/>
</supported-bridge-type-refs>
<label>Dimmer</label>
<description>Dimmer type action in Niko Home Control</description>
<label>@text/dimmerLabel</label>
<description>@text/dimmerDescription</description>
<channels>
<channel id="brightness" typeId="system.brightness"/>
</channels>
<config-description>
<parameter name="actionId" type="text" required="true">
<label>Action ID</label>
<description>Niko Home Control action ID</description>
<label>@text/actionConfigActionIdLabel</label>
<description>@text/actionConfigActionIdDescription</description>
<advanced>false</advanced>
</parameter>
<parameter name="step" type="integer">
<label>Step Value</label>
<description>Step value used for increase/decrease of dimmer brightness, default 10%</description>
<label>@text/dimmerConfigStepLabel</label>
<description>@text/dimmerConfigStepValue</description>
<default>10</default>
<advanced>true</advanced>
</parameter>
@ -140,20 +137,20 @@
<bridge-type-ref id="bridge"/>
<bridge-type-ref id="bridge2"/>
</supported-bridge-type-refs>
<label>Shutter</label>
<description>Rollershutter type action in Niko Home Control</description>
<label>@text/blindLabel</label>
<description>@text/blindDescription</description>
<channels>
<channel id="rollershutter" typeId="rollershutter"/>
</channels>
<config-description>
<parameter name="actionId" type="text" required="true">
<label>Action ID</label>
<description>Niko Home Control action ID</description>
<label>@text/actionConfigActionIdLabel</label>
<description>@text/actionConfigActionIdDescription</description>
<advanced>false</advanced>
</parameter>
<parameter name="invert" type="boolean">
<label>Invert Direction</label>
<description>Invert rollershutter direction</description>
<label>@text/blindConfigInvertLabel</label>
<description>@text/blindConfigInvertDescription</description>
<default>false</default>
<advanced>true</advanced>
</parameter>
@ -164,8 +161,8 @@
<bridge-type-ref id="bridge"/>
<bridge-type-ref id="bridge2"/>
</supported-bridge-type-refs>
<label>Thermostat</label>
<description>Thermostat in the Niko Home Control system</description>
<label>@textThermostatLabel</label>
<description>@textThermostatDescription</description>
<channels>
<channel id="measured" typeId="measured"/>
<channel id="mode" typeId="mode"/>
@ -174,14 +171,13 @@
</channels>
<config-description>
<parameter name="thermostatId" type="text" required="true">
<label>Thermostat ID</label>
<description>Niko Home Control Thermostat ID</description>
<label>@text/thermostatConfigThermostatIdLabel</label>
<description>@text/thermostatConfigThermostatIdDescription</description>
<advanced>false</advanced>
</parameter>
<parameter name="overruleTime" type="integer">
<label>Overrule Time</label>
<description>Default overrule duration in minutes when an overrule temperature is set without providing overrule
time, 60 minutes by default</description>
<label>@text/thermostatConfigOverruleTimeLabel</label>
<description>@text/thermostatConfigOverruleTimeDescription</description>
<default>60</default>
<advanced>true</advanced>
</parameter>
@ -191,15 +187,15 @@
<supported-bridge-type-refs>
<bridge-type-ref id="bridge2"/>
</supported-bridge-type-refs>
<label>Energy Meter</label>
<description>Energy meter in the Niko Home Control system</description>
<label>@text/energyMeterLabel</label>
<description>@text/energyMeterDescription</description>
<channels>
<channel id="power" typeId="power"/>
</channels>
<config-description>
<parameter name="energyMeterId" type="text" required="true">
<label>Energy Meter ID</label>
<description>Niko Home Control Energy Meter ID</description>
<label>@text/energyMeterConfigEnergyMeterIdLabel</label>
<description>@text/energyMeterConfigEnergyMeterIdDescription</description>
<advanced>false</advanced>
</parameter>
</config-description>
@ -207,22 +203,22 @@
<channel-type id="button">
<item-type>Switch</item-type>
<label>Button</label>
<description>Pushbutton control for action in Niko Home Control</description>
<label>@text/channelButtonLabel</label>
<description>@text/channelButtonDescription</description>
<category>Switch</category>
<autoUpdatePolicy>veto</autoUpdatePolicy>
</channel-type>
<channel-type id="rollershutter">
<item-type>Rollershutter</item-type>
<label>Rollershutter</label>
<description>Rollershutter control for rollershutter action in Niko Home Control</description>
<label>@text/channelRollershutterLabel</label>
<description>@text/channelRollershutterDescription</description>
<category>Blinds</category>
</channel-type>
<channel-type id="measured">
<item-type>Number:Temperature</item-type>
<label>Measured</label>
<description>Temperature measured by thermostat</description>
<label>@text/channelMeasuredLabel</label>
<description>@text/channelMeasuredDescription</description>
<category>Temperature</category>
<tags>
<tag>Measurement</tag>
@ -232,8 +228,8 @@
</channel-type>
<channel-type id="setpoint">
<item-type>Number:Temperature</item-type>
<label>Setpoint</label>
<description>Setpoint temperature of thermostat</description>
<label>@text/channelSetpointLabel</label>
<description>@text/channelSetpointDescription</description>
<category>Temperature</category>
<tags>
<tag>Setpoint</tag>
@ -243,33 +239,33 @@
</channel-type>
<channel-type id="overruletime">
<item-type>Number</item-type>
<label>Overrule Time</label>
<description>Time duration for overruling thermostat target temperature in min.</description>
<label>@text/channelOverruletimeLabel</label>
<description>@text/channelOverruletimeDescription</description>
<category>Number</category>
<state min="0" max="1440" step="5"/>
</channel-type>
<channel-type id="mode">
<item-type>Number</item-type>
<label>Mode</label>
<description>Thermostat mode</description>
<label>@text/channelModeLabel</label>
<description>@text/channelModeDescription</description>
<category>Number</category>
<state>
<options>
<option value="0">day</option>
<option value="1">night</option>
<option value="2">eco</option>
<option value="3">off</option>
<option value="4">cool</option>
<option value="5">prog 1</option>
<option value="6">prog 2</option>
<option value="7">prog 3</option>
<option value="0">@text/channelModeOption0</option>
<option value="1">@text/channelModeOption1</option>
<option value="2">@text/channelModeOption2</option>
<option value="3">@text/channelModeOption3</option>
<option value="4">@text/channelModeOption4</option>
<option value="5">@text/channelModeOption5</option>
<option value="6">@text/channelModeOption6</option>
<option value="7">@text/channelModeOption7</option>
</options>
</state>
</channel-type>
<channel-type id="power">
<item-type>Number:Power</item-type>
<label>Power</label>
<description>Momentary power consumption/production (positive is consumption)</description>
<label>@text/channelPowerLabel</label>
<description>@text/channelPowerDescription</description>
<category>Number</category>
<state readOnly="true" pattern="%.0f %unit%"/>
</channel-type>
@ -277,13 +273,13 @@
<channel-type id="alarm">
<kind>trigger</kind>
<label>Alarm</label>
<description>Alarm from Niko Home Control</description>
<label>@text/channelAlarmLabel</label>
<description>@text/channelAlarmDescription</description>
</channel-type>
<channel-type id="notice">
<kind>trigger</kind>
<label>Notice</label>
<description>Notice from Niko Home Control</description>
<label>@text/channelNoticeLabel</label>
<description>@text/channelNoticeDescription</description>
</channel-type>
</thing:thing-descriptions>

View File

@ -51,36 +51,35 @@
<description>The TCP port to use for connecting to the Ethernet interface of the alarm system.</description>
</parameter>
<parameter name="motionOffDelay" type="integer" min="1" unit="min" required="false">
<label>Motion Reset Delay</label>
<description>The delay in minutes to reset a motion detection.</description>
<label>@text/config.motionOffDelay.label</label>
<description>@text/config.motionOffDelay.description</description>
<default>3</default>
</parameter>
<parameter name="allowArming" type="boolean" required="false">
<label>Allow Arming</label>
<description>Enable or disable arming the alarm system from openHAB.</description>
<label>@text/config.allowArming.label</label>
<description>@text/config.allowArming.description</description>
<default>false</default>
</parameter>
<parameter name="allowDisarming" type="boolean" required="false">
<label>Allow Disarming</label>
<description>Enable or disable disarming the alarm system from openHAB.</description>
<label>@text/config.allowDisarming.label</label>
<description>@text/config.allowDisarming.description</description>
<default>false</default>
</parameter>
<parameter name="pinCode" type="text" required="false">
<context>password</context>
<label>PIN Code</label>
<description>The PIN code to use for arming/disarming the alarm system from openHAB. Not required except when
Powerlink mode cannot be used.</description>
<label>@text/config.pinCode.label</label>
<description>@text/config.pinCode.description</description>
<advanced>true</advanced>
</parameter>
<parameter name="forceStandardMode" type="boolean" required="false">
<label>Force Standard Mode</label>
<description>Force the standard mode rather than trying using the Powerlink mode.</description>
<label>@text/config.forceStandardMode.label</label>
<description>@text/config.forceStandardMode.description</description>
<default>false</default>
<advanced>true</advanced>
</parameter>
<parameter name="panelType" type="text" required="false">
<label>Panel Type</label>
<description>Define the panel type. Only required when forcing the standard mode.</description>
<label>@text/config.panelType.label</label>
<description>@text/config.panelType.description</description>
<limitToOptions>true</limitToOptions>
<options>
<option value="PowerMax">PowerMax</option>
@ -97,8 +96,8 @@
<advanced>true</advanced>
</parameter>
<parameter name="autoSyncTime" type="boolean" required="false">
<label>Sync Time</label>
<description>Automatic sync time at openHAB startup.</description>
<label>@text/config.autoSyncTime.label</label>
<description>@text/config.autoSyncTime.description</description>
<default>false</default>
<advanced>true</advanced>
</parameter>

View File

@ -49,36 +49,35 @@
and /dev/ttyS0 or /dev/ttyUSB0 for Linux.</description>
</parameter>
<parameter name="motionOffDelay" type="integer" min="1" unit="min" required="false">
<label>Motion Reset Delay</label>
<description>The delay in minutes to reset a motion detection.</description>
<label>@text/config.motionOffDelay.label</label>
<description>@text/config.motionOffDelay.description</description>
<default>3</default>
</parameter>
<parameter name="allowArming" type="boolean" required="false">
<label>Allow Arming</label>
<description>Enable or disable arming the alarm system from openHAB.</description>
<label>@text/config.allowArming.label</label>
<description>@text/config.allowArming.description</description>
<default>false</default>
</parameter>
<parameter name="allowDisarming" type="boolean" required="false">
<label>Allow Disarming</label>
<description>Enable or disable disarming the alarm system from openHAB.</description>
<label>@text/config.allowDisarming.label</label>
<description>@text/config.allowDisarming.description</description>
<default>false</default>
</parameter>
<parameter name="pinCode" type="text" required="false">
<context>password</context>
<label>PIN Code</label>
<description>The PIN code to use for arming/disarming the alarm system from openHAB. Not required except when
Powerlink mode cannot be used.</description>
<label>@text/config.pinCode.label</label>
<description>@text/config.pinCode.description</description>
<advanced>true</advanced>
</parameter>
<parameter name="forceStandardMode" type="boolean" required="false">
<label>Force Standard Mode</label>
<description>Force the standard mode rather than trying using the Powerlink mode.</description>
<label>@text/config.forceStandardMode.label</label>
<description>@text/config.forceStandardMode.description</description>
<default>false</default>
<advanced>true</advanced>
</parameter>
<parameter name="panelType" type="text" required="false">
<label>Panel Type</label>
<description>Define the panel type. Only required when forcing the standard mode.</description>
<label>@text/config.panelType.label</label>
<description>@text/config.panelType.description</description>
<limitToOptions>true</limitToOptions>
<options>
<option value="PowerMax">PowerMax</option>
@ -95,8 +94,8 @@
<advanced>true</advanced>
</parameter>
<parameter name="autoSyncTime" type="boolean" required="false">
<label>Sync Time</label>
<description>Automatic sync time at openHAB startup.</description>
<label>@text/config.autoSyncTime.label</label>
<description>@text/config.autoSyncTime.description</description>
<default>false</default>
<advanced>true</advanced>
</parameter>

View File

@ -5,8 +5,8 @@
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="mainZoneType1">
<label>Main Zone</label>
<description>The controls of the main zone</description>
<label>@text/channel-group.mainZone.label</label>
<description>@text/channel-group.mainZone.description</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="source" typeId="source"/>
@ -22,8 +22,8 @@
</channel-group-type>
<channel-group-type id="mainZoneType2">
<label>Main Zone</label>
<description>The controls of the main zone</description>
<label>@text/channel-group.mainZone.label</label>
<description>@text/channel-group.mainZone.description</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="source" typeId="source"/>
@ -37,8 +37,8 @@
</channel-group-type>
<channel-group-type id="mainZoneType3">
<label>Main Zone</label>
<description>The controls of the main zone</description>
<label>@text/channel-group.mainZone.label</label>
<description>@text/channel-group.mainZone.description</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="source" typeId="source"/>
@ -53,8 +53,8 @@
</channel-group-type>
<channel-group-type id="mainZoneType4">
<label>Main Zone</label>
<description>The controls of the main zone</description>
<label>@text/channel-group.mainZone.label</label>
<description>@text/channel-group.mainZone.description</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="source" typeId="source"/>
@ -70,8 +70,8 @@
</channel-group-type>
<channel-group-type id="mainZoneType5">
<label>Main Zone</label>
<description>The controls of the main zone</description>
<label>@text/channel-group.mainZone.label</label>
<description>@text/channel-group.mainZone.description</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="source" typeId="source"/>
@ -86,8 +86,8 @@
</channel-group-type>
<channel-group-type id="zone2type1">
<label>Zone 2</label>
<description>The controls of the zone 2</description>
<label>@text/channel-group.zone2.label</label>
<description>@text/channel-group.zone2.description</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="source" typeId="source"/>
@ -97,8 +97,8 @@
</channel-group-type>
<channel-group-type id="zone2type2">
<label>Zone 2</label>
<description>The controls of the zone 2</description>
<label>@text/channel-group.zone2.label</label>
<description>@text/channel-group.zone2.description</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="source" typeId="source"/>
@ -107,8 +107,8 @@
</channel-group-type>
<channel-group-type id="zone3">
<label>Zone 3</label>
<description>The controls of the zone 3</description>
<label>@text/channel-group.zone3.label</label>
<description>T@text/channel-group.zone3.description</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="source" typeId="source"/>
@ -118,8 +118,8 @@
</channel-group-type>
<channel-group-type id="zone4">
<label>Zone 4</label>
<description>The controls of the zone 4</description>
<label>@text/channel-group.zone4.label</label>
<description>@text/channel-group.zone4.description</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="source" typeId="source"/>

View File

@ -48,6 +48,7 @@
<channel id="albumHref" typeId="currentlyPlayedAlbumHref"/>
<channel id="albumType" typeId="currentlyPlayedAlbumType"/>
<channel id="albumImage" typeId="currentlyPlayedAlbumImage"/>
<channel id="albumImageUrl" typeId="currentlyPlayedAlbumImage"/>
<channel id="albumName" typeId="currentlyPlayedAlbumName"/>
<channel id="artistId" typeId="currentlyPlayedArtistId"/>
@ -78,10 +79,8 @@
<default>10</default>
<label>Connect Refresh Period (seconds)</label>
<description>This is the frequency of the polling requests to the Spotify Connect Web API. There are limits to the
number of requests
that can be sent to the Web API. The more often you poll, the better status updates - at the risk
of running out of
your request quota.</description>
number of requests that can be sent to the Web API. The more often you poll, the better status updates - at the
risk of running out of your request quota.</description>
</parameter>
</config-description>
</bridge-type>
@ -159,6 +158,7 @@
<item-type>String</item-type>
<label>Playlists</label>
<description>List of the users playlists</description>
<config-description-ref uri="spotify:config:playlists"/>
</channel-type>
<channel-type id="playlistName">
@ -293,6 +293,14 @@
<label>Album Image</label>
<description>The cover art for the album in widest size</description>
<state readOnly="true"/>
<config-description-ref uri="spotify:config:album-image"/>
</channel-type>
<channel-type id="currentlyPlayedAlbumImageUrl">
<item-type>String</item-type>
<label>Album Image URL</label>
<description>The URL to the cover art for the album in widest size</description>
<state readOnly="true"/>
<config-description-ref uri="spotify:config:album-image"/>
</channel-type>
<channel-type id="currentlyPlayedArtistId" advanced="true">

View File

@ -11,6 +11,7 @@
</supported-bridge-type-refs>
<label>Volvo Vehicle</label>
<description>Provides all data available on a Volvo vehicle.</description>
<channel-groups>
<channel-group id="doors" typeId="doors"/>