From 5d8d94cdd53e623f7385b42d53914b923cd048e5 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 1 Nov 2025 12:01:48 +0100 Subject: [PATCH 01/14] W-bindings Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.warmup/README.md | 54 +++--- .../src/main/resources/OH-INF/addon/addon.xml | 2 +- .../resources/OH-INF/i18n/warmup.properties | 26 +-- .../resources/OH-INF/thing/thing-types.xml | 29 ++- .../README.md | 68 +++---- .../main/resources/OH-INF/config/config.xml | 4 +- .../OH-INF/i18n/weathercompany.properties | 6 +- .../resources/OH-INF/thing/thing-types.xml | 4 +- .../README.md | 30 +-- .../src/main/resources/OH-INF/addon/addon.xml | 4 +- .../OH-INF/i18n/weatherunderground.properties | 6 +- .../main/resources/OH-INF/thing/bridge.xml | 2 +- .../org.openhab.binding.webexteams/README.md | 47 +++-- .../src/main/resources/OH-INF/addon/addon.xml | 4 +- .../OH-INF/i18n/webexteams.properties | 22 +-- .../resources/OH-INF/thing/thing-types.xml | 18 +- bundles/org.openhab.binding.wemo/README.md | 180 +++++++++--------- .../resources/OH-INF/i18n/wemo.properties | 18 +- .../main/resources/OH-INF/thing/channels.xml | 18 +- bundles/org.openhab.binding.wifiled/README.md | 24 +-- .../resources/OH-INF/i18n/wifiled.properties | 14 +- .../main/resources/OH-INF/thing/wifiled.xml | 14 +- .../README.md | 8 +- .../OH-INF/i18n/windcentrale.properties | 13 +- .../main/resources/OH-INF/thing/windmill.xml | 2 +- bundles/org.openhab.binding.wiz/README.md | 92 +++++---- .../main/resources/OH-INF/i18n/wiz.properties | 8 +- .../resources/OH-INF/thing/thing-types.xml | 10 +- 28 files changed, 373 insertions(+), 354 deletions(-) diff --git a/bundles/org.openhab.binding.warmup/README.md b/bundles/org.openhab.binding.warmup/README.md index 0e76056a3f007..72a81b0b9cdc5 100644 --- a/bundles/org.openhab.binding.warmup/README.md +++ b/bundles/org.openhab.binding.warmup/README.md @@ -1,6 +1,6 @@ # Warmup Binding -This binding integrates [Warmup](https://www.warmup.co.uk) Wifi enabled Thermostats via the API at . +This binding integrates [Warmup](https://www.warmup.co.uk) Wi‑Fi–enabled thermostats via the API at . Devices known to work with the binding: @@ -11,7 +11,7 @@ Device expected to work with the binding: - [Warmup 6iE](https://www.warmup.co.uk/thermostats/smart/6ie-underfloor-heating) -Devices which might work with the binding: +Devices that might work with the binding: - Other similar looking devices marketed under different brands, mentioned in the API - [Laticrete](https://laticrete.com/) @@ -20,31 +20,31 @@ Devices which might work with the binding: - Equus - [Savant](https://www.savant.com/) -Any Warmup device must be registered at prior to usage, or connected through the [MyHeating app](https://www.warmup.co.uk/thermostats/smart/myheating-app). +Any Warmup device must be registered at prior to use, or connected through the [MyHeating app](https://www.warmup.co.uk/thermostats/smart/myheating-app). -This API is not known to be documented publicly. -The binding api implementation has been derived from the implementations at and , and enhanced by inspecting the [GraphQL endpoint](https://apil.warmup.com/graphql). +The API is not publicly documented. +The binding’s API implementation is derived from the implementations at and , and has been enhanced by inspecting the [GraphQL endpoint](https://apil.warmup.com/graphql). ## Supported Things The Warmup binding supports the following thing types: -| Bridge | Label | Description | -|----------------|-------------------|----------------------------------------------------------------------------------------| -| `my-warmup` | My Warmup Account | The account credentials for my.warmup.com which acts as an API to the Warmup device(s) | +| Bridge | Label | Description | +|----------------|-------------------|-----------------------------------------------------------------------------------------| +| `my-warmup` | My Warmup Account | The account credentials for my.warmup.com, which acts as an API to the Warmup device(s) | -| Thing | Label | Description | -|----------|-------|------------------------------------------------------------------------------------------------| -| `room` | Room | A room containing an individual Warmup WiFi connected device which controls a heating circuit. | +| Thing | Label | Description | +|----------|-------|-------------------------------------------------------------------------------------------------| +| `room` | Room | A room containing an individual Warmup Wi‑Fi–connected device that controls a heating circuit. | **Room** The device is optimised for controlling underfloor heating (electric or hydronic), although it can also control central heating circuits. -The device reports the temperature from one of two thermostats, either a floor temperature probe or the air temperature at the device. -It appears to be possible to configure two devices in a primary / secondary configuration, but it is not clear how this might be represented by the API and hasn't been implemented. +The device reports the temperature from one of two sensors: either a floor temperature probe or the air temperature at the device. +It appears to be possible to configure two devices in a primary/secondary configuration, but it is not clear how this might be represented by the API and has not been implemented. ## Discovery -Once credentials are successfully added to the bridge, any rooms (devices) detected will be added as things to the inbox. +Once credentials are successfully added to the bridge, any rooms (devices) detected will be added as Things to the Inbox. ## Thing Configuration @@ -58,36 +58,36 @@ Once credentials are successfully added to the bridge, any rooms (devices) detec ### `room` Thing Configuration -Rooms are configured automatically with a Serial Number on discovery, or can be added manually using the "Device Number" from the device, excluding the last 3 characters. Changing the target temperature results in a temporary override to that temperature, for the duration configured on the thing. This defaults to 60 minutes. +Rooms are configured automatically with a serial number upon discovery, or can be added manually using the "Device Number" from the device, excluding the last 3 characters. Changing the target temperature results in a temporary override to that temperature for the duration configured on the Thing. This defaults to 60 minutes. | config parameter | type | description | required | default | |------------------|---------|--------------------------------------------------------------------|----------|---------| -| serialNumber | String | Device Serial Number, excluding last 3 characters | true | | -| overrideDuration | Integer | Duration in minutes of override when target temperature is changed | false | 60 | +| serialNumber | String | Device serial number, excluding the last 3 characters | true | | +| overrideDuration | Integer | Duration in minutes of override when target temperature is changed | true | 60 | ## Channels -| channel | type | description | read only | +| channel | type | description | read-only | |---------------------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------|-----------| | currentTemperature | Number:Temperature | Currently reported temperature | true | | targetTemperature | Number:Temperature | Target temperature | false | -| overrideRemaining | Number:Time | Duration remaining of the configured override | true | +| overrideRemaining | Number:Time | Remaining duration of the configured override | true | | fixedTemperature | Number:Temperature | Target temperature for fixed mode | false | -| energyToday | Number:Energy | Today's current energy consumption. | true | -| runMode | String | Current operating mode of the thermostat, options listed below | false | -| frostProtectionMode | Switch | Toggles between the "Frost Protection" run mode and the previously configured "active" run mode (known options are either Fixed or Schedule) | false | +| energyToday | Number:Energy | Today's current energy consumption | true | +| runMode | String | Current operating mode of the thermostat; options listed below | false | +| frostProtectionMode | Switch | Toggles between the "Frost Protection" run mode and the previously active run mode (typically Fixed or Schedule) | false | | airTemperature | Number:Temperature | Currently reported air temperature at the device | true | | floor1Temperature | Number:Temperature | Currently reported temperature from floor probe 1 on the device | true | | floor2Temperature | Number:Temperature | Currently reported temperature from floor probe 2 on the device | true | ### Run Mode Statuses -These run mode statuses are defined for the API. +These run modes are defined for the API. The descriptions are based on inspection of the device behaviour and are not sourced from documentation. -Only the value `schedule` is writeable, this reverts the device to the program/schedule configured on the device. +Only the value `schedule` is writable; this reverts the device to the program/schedule configured on the device. The value `fixed` can be set by commanding the `fixedTemperature` channel. The value `override` can be set by commanding the `targetTemperature` channel. -| api value | ui name | description | +| api value | UI name | description | |------------|------------------|---------------------------------------------------------------------------------| | not_set | Not Set | Unknown | | off | Off | Device turned off | @@ -105,7 +105,7 @@ The value `fixed` can be set by commanding the `fixedTemperature` channel. The v ### setOverride(temperature, duration) -Sets a temporary temperature override on the device +Sets a temporary temperature override on the device. Parameters: @@ -151,7 +151,7 @@ Bridge warmup:my-warmup:MyWarmup [ username="test@example.com", password="test", ```java Number:Temperature bathroom_temperature "Temperature [%.1f °C]" (GF_Bathroom, Temperature) ["Temperature"] {channel="warmup:room:MyWarmup:bathroom:currentTemperature"} -Number:Temperature bathroom_setpoint "Set Point [%.1f °C]" (GF_Bathroom) ["Set Point"] {channel="warmup:room:MyWarmup:bathroom:targetTemperature"} +Number:Temperature bathroom_setpoint "Setpoint [%.1f °C]" (GF_Bathroom) ["Setpoint"] {channel="warmup:room:MyWarmup:bathroom:targetTemperature"} Number:Time bathroom_overrideRemaining "Override Remaining [%d minutes]" (GF_Bathroom) {channel="warmup:room:MyWarmup:bathroom:overrideRemaining"} String bathroom_runMode "Run Mode [%s]" (GF_Bathroom) {channel="warmup:room:MyWarmup:bathroom:runMode"} Switch bathroom_frostProtection "Frost Protection Mode" (GF_Bathroom) {channel="warmup:room:MyWarmup:bathroom:frostProtectionMode"} diff --git a/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/addon/addon.xml b/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/addon/addon.xml index 6220c007402e7..e6b1d69ad85dd 100644 --- a/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/addon/addon.xml +++ b/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/addon/addon.xml @@ -5,7 +5,7 @@ binding Warmup Binding - This is the binding for Warmup WiFi connected Thermostats primarily used for controlling underfloor + This is the binding for Warmup Wi‑Fi–connected thermostats, primarily used for controlling underfloor heating. cloud diff --git a/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/i18n/warmup.properties b/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/i18n/warmup.properties index 8fbc64b97726b..f17bca7baae26 100644 --- a/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/i18n/warmup.properties +++ b/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/i18n/warmup.properties @@ -1,14 +1,24 @@ # add-on addon.warmup.name = Warmup Binding -addon.warmup.description = This is the binding for Warmup WiFi connected Thermostats primarily used for controlling underfloor heating. +addon.warmup.description = This is the binding for Warmup Wi‑Fi–connected thermostats, primarily used for controlling underfloor heating. # thing types thing-type.warmup.my-warmup.label = My Warmup Account -thing-type.warmup.my-warmup.description = Connection to the https://my.warmup.com site +thing-type.warmup.my-warmup.description = Connection to my.warmup.com thing-type.warmup.room.label = Room -thing-type.warmup.room.description = Warmup WiFi connected Thermostat(s) controlling a room +thing-type.warmup.room.description = Warmup Wi‑Fi–connected thermostat(s) controlling a room +thing-type.warmup.room.channel.airTemperature.label = Air Temperature +thing-type.warmup.room.channel.airTemperature.description = Currently reported air temperature at the device +thing-type.warmup.room.channel.currentTemperature.label = Current Temperature +thing-type.warmup.room.channel.currentTemperature.description = Currently reported temperature in the room +thing-type.warmup.room.channel.energyToday.label = Energy Today +thing-type.warmup.room.channel.energyToday.description = Energy used today as reported by the device +thing-type.warmup.room.channel.floor1Temperature.label = Floor 1 Temperature +thing-type.warmup.room.channel.floor1Temperature.description = Currently reported temperature from floor probe 1 on the device +thing-type.warmup.room.channel.floor2Temperature.label = Floor 2 Temperature +thing-type.warmup.room.channel.floor2Temperature.description = Currently reported temperature from floor probe 2 on the device # thing types config @@ -24,18 +34,8 @@ thing-type.config.warmup.room.serialNumber.label = Serial Number # channel types -channel-type.warmup.airTemperature.label = Air Temperature -channel-type.warmup.airTemperature.description = Currently reported air temperature at the device -channel-type.warmup.currentTemperature.label = Current Temperature -channel-type.warmup.currentTemperature.description = Current temperature in room, may be air or floor dependent on Heating Target -channel-type.warmup.energyToday.label = Energy Today -channel-type.warmup.energyToday.label = Today's current energy consumption. channel-type.warmup.fixedTemperature.label = Fixed Temperature channel-type.warmup.fixedTemperature.description = Target temperature for fixed mode on device -channel-type.warmup.floor1Temperature.label = Floor 1 Temperature -channel-type.warmup.floor1Temperature.description = Currently reported temperature from floor probe 1 on the device -channel-type.warmup.floor2Temperature.label = Floor 2 Temperature -channel-type.warmup.floor2Temperature.description = Currently reported temperature from floor probe 2 on the device channel-type.warmup.frostProtectionMode.label = Frost Protection Mode channel-type.warmup.overrideRemaining.label = Override Remaining channel-type.warmup.overrideRemaining.description = How long until the override deactivates diff --git a/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/thing/thing-types.xml index 22d04a40fc7a7..6397283cacffb 100644 --- a/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.warmup/src/main/resources/OH-INF/thing/thing-types.xml @@ -6,7 +6,7 @@ - Connection to the https://my.warmup.com site + Connection to my.warmup.com WebService WebService @@ -34,20 +34,35 @@ - Warmup WiFi connected Thermostat(s) controlling a room + Warmup Wi‑Fi–connected thermostat(s) controlling a room RadiatorControl Thermostat - + + + Currently reported temperature in the room + - + + + Energy used today as reported by the device + - - - + + + Currently reported air temperature at the device + + + + Currently reported temperature from floor probe 1 on the device + + + + Currently reported temperature from floor probe 2 on the device + diff --git a/bundles/org.openhab.binding.weathercompany/README.md b/bundles/org.openhab.binding.weathercompany/README.md index bcbd88ccf78fe..10a7ed2f9183d 100644 --- a/bundles/org.openhab.binding.weathercompany/README.md +++ b/bundles/org.openhab.binding.weathercompany/README.md @@ -3,7 +3,7 @@ Provides 5-day weather forecast and _Personal Weather Station_ (PWS) current observations from **The Weather Company**. This service is available only for PWS users who upload their PWS -weather data to WeatherUnderground. +weather data to Weather Underground. ## Supported Things @@ -98,34 +98,34 @@ The following configuration parameters are available on the Weather Observations | Channel Group ID | Channel ID | Item Type | Description | |------------------------------|---------------------------------|-------------------------|----------------------------------------------------------------| -| forcastDay(0-5)(Day\|Night) | dayPartName | String | Name of 12 hour daypart (e.g. Today, Tonight) | -| forcastDay(0-5)(Day\|Night) | dayOrNight | String | Day or night indicator (D or N) | -| forcastDay(0-5)(Day\|Night) | narrative | String | The narrative forecast for the daypart period | -| forcastDay(0-5)(Day\|Night) | wxPhraseShort | String | Sensible weather phrase | -| forcastDay(0-5)(Day\|Night) | wxPhraseLong | String | Sensible weather phrase | -| forcastDay(0-5)(Day\|Night) | temperature | Number:Temperature | Maximum temperature for daytime, minimum temperature nighttime | -| forcastDay(0-5)(Day\|Night) | temperatureHeatIndex | Number:Temperature | Maximum heat index | -| forcastDay(0-5)(Day\|Night) | temperatureWindChill | Number:Temperature | Minimum wind chill | -| forcastDay(0-5)(Day\|Night) | relativeHumidity | Number:Dimensionless | The relative humidity of the air | -| forcastDay(0-5)(Day\|Night) | cloudCover | String | Daytime average cloud cover expressed as a percentage | -| forcastDay(0-5)(Day\|Night) | windSpeed | Number:Speed | The maximum forecasted wind speed | -| forcastDay(0-5)(Day\|Night) | windDirection | Number:Angle | Average wind direction in degrees magnetic notation | -| forcastDay(0-5)(Day\|Night) | windDirectionCardinal | String | Average wind direction in cardinal notation | -| forcastDay(0-5)(Day\|Night) | windPhrase | String | A phrase that describes the wind direction and speed | -| forcastDay(0-5)(Day\|Night) | precipitationChance | Number:Dimensionless | Maximum probability of precipitation | -| forcastDay(0-5)(Day\|Night) | precipitationType | String | Type of precipitation to display (e.g. rain, snow) | -| forcastDay(0-5)(Day\|Night) | precipitationRain | Number:Length | The forecasted measurable liquid precipitation | -| forcastDay(0-5)(Day\|Night) | precipitationSnow | Number:Length | The forecasted measurable precipitation as snow | -| forcastDay(0-5)(Day\|Night) | snowRange | String | Snow accumulation amount for the forecast period | -| forcastDay(0-5)(Day\|Night) | thunderCategory | String | The description of probability of thunderstorm activity | -| forcastDay(0-5)(Day\|Night) | thunderIndex | Number | An enumeration of thunderstorm probability | -| forcastDay(0-5)(Day\|Night) | uvDescription | String | Level of risk of skin damage due to exposure | -| forcastDay(0-5)(Day\|Night) | uvIndex | Number | Maximum UV index for the forecast period | -| forcastDay(0-5)(Day\|Night) | iconCode | Number | Key to the weather icon lookup | -| forcastDay(0-5)(Day\|Night) | iconCodeExtend | String | Code representing full set sensible weather | -| forcastDay(0-5)(Day\|Night) | iconImage | Image | Image representing forecast condition | -| forcastDay(0-5)(Day\|Night) | qualifierPhrase | String | Describes special weather criteria | -| forcastDay(0-5)(Day\|Night) | qualifierCode | String | Code for special weather criteria | +| forecastDay(0-5)(Day\|Night) | dayPartName | String | Name of 12-hour daypart (e.g. Today, Tonight) | +| forecastDay(0-5)(Day\|Night) | dayOrNight | String | Day or night indicator (D or N) | +| forecastDay(0-5)(Day\|Night) | narrative | String | The narrative forecast for the daypart period | +| forecastDay(0-5)(Day\|Night) | wxPhraseShort | String | Sensible weather phrase | +| forecastDay(0-5)(Day\|Night) | wxPhraseLong | String | Sensible weather phrase | +| forecastDay(0-5)(Day\|Night) | temperature | Number:Temperature | Maximum temperature for daytime, minimum temperature nighttime | +| forecastDay(0-5)(Day\|Night) | temperatureHeatIndex | Number:Temperature | Maximum heat index | +| forecastDay(0-5)(Day\|Night) | temperatureWindChill | Number:Temperature | Minimum wind chill | +| forecastDay(0-5)(Day\|Night) | relativeHumidity | Number:Dimensionless | The relative humidity of the air | +| forecastDay(0-5)(Day\|Night) | cloudCover | String | Daytime average cloud cover expressed as a percentage | +| forecastDay(0-5)(Day\|Night) | windSpeed | Number:Speed | The maximum forecasted wind speed | +| forecastDay(0-5)(Day\|Night) | windDirection | Number:Angle | Average wind direction in degrees (magnetic notation) | +| forecastDay(0-5)(Day\|Night) | windDirectionCardinal | String | Average wind direction in cardinal notation | +| forecastDay(0-5)(Day\|Night) | windPhrase | String | A phrase that describes the wind direction and speed | +| forecastDay(0-5)(Day\|Night) | precipitationChance | Number:Dimensionless | Maximum probability of precipitation | +| forecastDay(0-5)(Day\|Night) | precipitationType | String | Type of precipitation to display (e.g. rain, snow) | +| forecastDay(0-5)(Day\|Night) | precipitationRain | Number:Length | The forecasted measurable liquid precipitation | +| forecastDay(0-5)(Day\|Night) | precipitationSnow | Number:Length | The forecasted measurable precipitation as snow | +| forecastDay(0-5)(Day\|Night) | snowRange | String | Snow accumulation amount for the forecast period | +| forecastDay(0-5)(Day\|Night) | thunderCategory | String | The description of probability of thunderstorm activity | +| forecastDay(0-5)(Day\|Night) | thunderIndex | Number | An enumeration of thunderstorm probability | +| forecastDay(0-5)(Day\|Night) | uvDescription | String | Level of risk of skin damage due to exposure | +| forecastDay(0-5)(Day\|Night) | uvIndex | Number | Maximum UV index for the forecast period | +| forecastDay(0-5)(Day\|Night) | iconCode | Number | Key to the weather icon lookup | +| forecastDay(0-5)(Day\|Night) | iconCodeExtend | String | Code representing full set of sensible weather | +| forecastDay(0-5)(Day\|Night) | iconImage | Image | Image representing forecast condition | +| forecastDay(0-5)(Day\|Night) | qualifierPhrase | String | Describes special weather criteria | +| forecastDay(0-5)(Day\|Night) | qualifierCode | String | Code for special weather criteria | ### Local Language Support @@ -180,7 +180,7 @@ Location WC_PWS_Location "Lat/Lon [%s]" { channel="weathercompany:weather Number:Length WC_PWS_Elevation "Elevation [%.0f %unit%]" { channel="weathercompany:weather-observations:myaccount:myobservations:elevation" } String WC_PWS_Neighborhood "Neighborhood [%s]" { channel="weathercompany:weather-observations:myaccount:myobservations:neighborhood" } DateTime WC_PWS_ObservationTimeLocal "Observation Time [%1$tA, %1$tm/%1$td/%1$tY %1$tl:%1$tM %1$tp]" - - Id of the default room to send messages + + ID of the default room to send messages. @@ -51,7 +51,7 @@ String - The current presence status of the person + The current presence status of the person. Status Presence @@ -61,7 +61,7 @@ DateTime - The date and time of the person's last activity within Webex + The date and time of the person's last activity within Webex. diff --git a/bundles/org.openhab.binding.wemo/README.md b/bundles/org.openhab.binding.wemo/README.md index b5329539afb8d..d19b51af4d845 100644 --- a/bundles/org.openhab.binding.wemo/README.md +++ b/bundles/org.openhab.binding.wemo/README.md @@ -1,17 +1,17 @@ -# Belkin Wemo Binding +# Belkin WeMo Binding This binding integrates the [Belkin WeMo Family](https://www.belkin.com/us/Products/c/home-automation/). -The integration happens either through the WeMo-Link bridge, which acts as an IP gateway to the Zigbee devices or through WiFi connection to standalone devices. +Integration happens either through the WeMo Link bridge, which acts as an IP gateway to Zigbee devices, or through Wi-Fi connection to standalone devices. ## Supported Things -The WeMo Binding supports the Socket, Outdoor Plug, Insight, Lightswitch, Motion, Dimmer, Coffemaker and Maker devices, as well as the WeMo-Link bridge with WeMo LED bulbs. -The Binding also supports the Crock-Pot Smart Slow Cooker, Mr. Coffee Smart Coffemaker as well as the Holmes Smart Air Purifier, Holmes Smart Humidifier and Holmes Smart Heater. +The WeMo binding supports the Socket, Outdoor Plug, Insight, Light Switch, Motion, Dimmer, Coffee Maker and Maker devices, as well as the WeMo Link bridge with WeMo LED bulbs. +The binding also supports the Crock-Pot Smart Slow Cooker, Mr. Coffee Smart Coffee Maker, Holmes Smart Air Purifier, Holmes Smart Humidifier, and Holmes Smart Heater. ## Discovery -The WeMo devices are discovered through UPnP discovery service in the network. -Devices will show up in the inbox and can be easily added as Things. +WeMo devices are discovered through UPnP discovery service in the network. +Devices will appear in the Inbox and can be easily added as Things. ## Binding Configuration @@ -19,8 +19,8 @@ The binding does not need any configuration. ## Thing Configuration -For manual Thing configuration, one needs to know the UDN of a certain WeMo device. -It can most easily be obtained by performing an auto-discovery before configuring the thing manually. +For manual Thing configuration, you need to know the UDN of a WeMo device. +It can be obtained most easily by performing auto-discovery before configuring the Thing manually. Most devices share the `udn` configuration parameter: @@ -30,7 +30,7 @@ Most devices share the `udn` configuration parameter: ### WeMo LED Light -For LED Lights paired to a WeMo Link bridge, please use the following configuration parameter: +For LED lights paired to a WeMo Link bridge, use the following configuration parameter: | Configuration Parameter | Description | |-------------------------|-------------------------------------------------| @@ -38,29 +38,29 @@ For LED Lights paired to a WeMo Link bridge, please use the following configurat ### WeMo Insight Switch -The WeMo Insight Switch has some additional parameters for controlling the behavior for channel `currentPower`. -This channel reports the current power consumption in Watt. -The internal theoretical accuracy is 5 mW, i.e. three decimals. -These raw values are reported with high frequency, often multiple updates can occur within a single second. -For example, the sequence of 40.440 W, 40.500 W and 40.485 W would result in the channel being updated with values rounded to nearest integer, respectively 40 W, 41 W and 40 W. +The WeMo Insight Switch has some additional parameters for controlling the behavior of the `currentPower` channel. +This channel reports the current power consumption in watts. +The internal theoretical accuracy is 5 mW (three decimals). +These raw values are reported with high frequency; often multiple updates occur within a single second. +For example, the sequence 40.440 W, 40.500 W and 40.485 W would result in the channel being updated with values rounded to the nearest integer: 40 W, 41 W and 40 W, respectively. -When persisting items linked to this channel, this can result in a significant amount of data being stored. +When persisting Items linked to this channel, this can result in a significant amount of data being stored. To mitigate this issue, a sliding window with a moving average calculation has been introduced. -This window is defined with a one minute default period. -This is combined with a delta trigger value, which is defaulted to 1 W. -This means that the channel is only updated when one of the following conditions are met: +This window uses a one-minute default period. +This is combined with a delta trigger value, which defaults to 1 W. +This means the channel is updated only when one of the following conditions is met: -1. The rounded value received is equal to the rounded average for the past minute, i.e. this value has stabilized. This introduces a delay for very small changes in consumption, but on the other hand it prevents excessive logging and persistence caused by temporary small changes and rounding. -1. The rounded value received is more than 1 W from the previous value. So when changes are happening fast, the channel will also be updated fast. +1. The rounded value received is equal to the rounded average for the past minute (i.e., this value has stabilized). This introduces a delay for very small changes in consumption, but it prevents excessive logging and persistence caused by temporary small changes and rounding. +1. The rounded value received is more than 1 W different from the previous value. When changes occur quickly, the channel is updated immediately. | Configuration Parameter | Description | |----------------------------|---------------------------------------------------------------------------------------| | udn | The UDN identifies the WeMo Insight Switch | | currentPowerSlidingSeconds | Sliding window in seconds for which moving average power is calculated (0 = disabled) | -| currentPowerDeltaTrigger | Delta triggering immediate channel update (in Watt) | +| currentPowerDeltaTrigger | Delta triggering immediate channel update (in watts) | The moving average calculation can be disabled by setting either `currentPowerSlidingSeconds` or `currentPowerDeltaTrigger` to 0. -This will cause the channel to be updated the same way as in openHAB versions prior to 3.3. +This causes the channel to be updated the same way as in openHAB versions prior to 3.3. ## Channels @@ -68,58 +68,58 @@ Devices support some of the following channels: | Channel Type | Item Type | Description | Available on Thing | |---------------------|---------------|----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------| -| motionDetection | Switch | On if motion is detected, off otherwise. (Motion Sensor only) | Motion | -| lastMotionDetected | DateTime | Date and Time when the last motion was detected. (Motion Sensor only) | Motion | -| state | Switch | This channel controls the actual binary State of a Device or represents Motion Detection. | All but Dimmer, Crockpot, Airpurifier and Humidifier | -| lastChangedAt | DateTime | Date and Time the device was last turned on or of. | Insight | +| motionDetection | Switch | On if motion is detected, off otherwise (Motion Sensor only). | Motion | +| lastMotionDetected | DateTime | Date and time when the last motion was detected (Motion Sensor only). | Motion | +| state | Switch | This channel controls the actual binary state of a device or represents motion detection. | All but Dimmer, Crockpot, Air Purifier and Humidifier | +| lastChangedAt | DateTime | Date and time the device was last turned on or off. | Insight | | lastOnFor | Number | Time in seconds an Insight device was last turned on for. | Insight | | onToday | Number | Time in seconds an Insight device has been switched on today. | Insight | -| onTotal | Number | Time in seconds an Insight device has been switched on totally. | Insight | -| timespan | Number | Time in seconds over which onTotal applies. Typically 2 weeks except first used. | Insight | -| averagePower | Number:Power | Average power consumption in Watts. | Insight | -| currentPower | Number:Power | Current power consumption of an Insight device. 0 if switched off. | Insight | -| currentPowerRaw | Number:Power | Current power consumption of an Insight device with full precision (5 mW accuracy, three decimals). 0 if switched off. | Insight | -| energyToday | Number:Energy | Energy in Wh used today. | Insight | -| energyTotal | Number:Energy | Energy in Wh used in total. | Insight | -| standbyLimit | Number:Power | Minimum energy draw in W to register device as switched on (default 8W, configurable via WeMo App). | Insight | +| onTotal | Number | Time in seconds an Insight device has been switched on in total. | Insight | +| timespan | Number | Time in seconds over which onTotal applies. Typically 2 weeks, except when first used. | Insight | +| averagePower | Number:Power | Average power consumption in watts. | Insight | +| currentPower | Number:Power | Current power consumption of an Insight device (0 if switched off). | Insight | +| currentPowerRaw | Number:Power | Current power consumption of an Insight device with full precision (5 mW accuracy, three decimals; 0 if switched off). | Insight | +| energyToday | Number:Energy | Energy in watt-hours used today. | Insight | +| energyTotal | Number:Energy | Energy in watt-hours used in total. | Insight | +| standbyLimit | Number:Power | Minimum energy draw in watts to register device as switched on (default 8 W, configurable via WeMo app). | Insight | | onStandBy | Switch | Read-only indication of whether or not the device plugged in to the insight switch is drawing more than the standby limit. | Insight | -| relay | Switch | Switches the integrated relay contact close/open | Maker | -| sensor | Switch | Shows the state of the integrated sensor | Maker | -| coffeeMode | String | Operation mode of a WeMo Coffee Maker | CoffeeMaker | -| modeTime | Number | Current amount of time, in minutes, that the Coffee Maker has been in the current mode | CoffeeMaker | -| timeRemaining | Number | Remaining brewing time of a WeMo Coffee Maker | CoffeeMaker | -| waterLevelReached | Switch | Indicates if the WeMo Coffee Maker needs to be refilled | CoffeeMaker | -| cleanAdvise | Switch | Indicates if a WeMo Coffee Maker needs to be cleaned | CoffeeMaker | -| filterAdvise | Switch | Indicates if a WeMo Coffee Maker needs to have the filter changed | CoffeeMaker | -| brewed | DateTime | Date/time the coffee maker last completed brewing coffee | CoffeeMaker | -| lastCleaned | DateTime | Date/time the coffee maker last completed cleaning | CoffeeMaker | -| brightness | Number | Brightness of a WeMo LED or Dimmer. | LED, DimmerSwitch | -| faderCountDownTime | Number | Dimmer fading duration time in minutes | DimmerSwitch | -| faderEnabled | Switch | Switch the fader ON/OFF | DimmerSwitch | -| timerStart | Switch | Switch the fading timer ON/OFF | DimmerSwitch | -| nightMode | Switch | Switch the nightMode ON/OFF | DimmerSwitch | -| startTime | DateTime | Time when the nightMode starts | DimmerSwitch | -| endTime | DateTime | Time when the nightMode ends | DimmerSwitch | -| nightModeBrightness | Number | Brightness used in nightMode | DimmerSwitch | -| cookMode | String | Shows the operation mode of a WeMo Crockpot (OFF, WARM, LOW, HIGH | Crockpot | -| warmCookTime | Number | Shows the timer settings for warm cooking mode | Crockpot | -| lowCookTime | Number | Shows the timer settings for low cooking mode | Crockpot | -| highCookTime | Number | Shows the timer settings for high cooking mode | Crockpot | -| cookedTime | Number | Shows the elapsed cooking time | Crockpot | -| purifierMode | String | Runmode of Air Purifier (OFF, LOW, MED, HIGH, AUTO) | Air Purifier | -| airQuality | String | Air quality (POOR, MODERATE, GOOD) | Air Purifier | -| ionizer | Switch | Indicates whether the ionizer is switched ON or OFF | Air Purifier | -| filterLife | Number | Indicates the remaining filter lifetime in Percent | Air Purifier, Humidifier | -| expiredFilterTime | Number | Indicates whether the filter lifetime has expired or not | Air Purifier, Humidifier | -| filterPresent | Switch | Indicates the presence of an air filter | Air Purifier | -| humidifierMode | String | Runmode of Humidifier (OFF, MIN, LOW, MED, HIGH, MAX) | Humidifier | -| desiredHumidity | Number | Shows desired humidity in Percent | Humidifier | -| currentHumidity | Number | Shows current humidity in Percent | Humidifier | -| heaterMode | String | Runmode of Heater (OFF, FROSTPROTECT, HIGH, LOW, ECO) | Heater | -| currentTemp | Number | Shows current temperature | Heater | -| targetTemp | Number | Shows target temperature | Heater | -| autoOffTime | DateTime | Time when the heater switches off | Heater | -| heatingRemaining | Number | Shows the remaining heating time | Heater | +| relay | Switch | Switches the integrated relay contact close/open. | Maker | +| sensor | Switch | Shows the state of the integrated sensor. | Maker | +| coffeeMode | String | Operation mode of a WeMo Coffee Maker. | Coffee Maker | +| modeTime | Number | Current amount of time, in minutes, that the Coffee Maker has been in the current mode. | Coffee Maker | +| timeRemaining | Number | Remaining brewing time of a WeMo Coffee Maker. | Coffee Maker | +| waterLevelReached | Switch | Indicates if the WeMo Coffee Maker needs to be refilled. | Coffee Maker | +| cleanAdvise | Switch | Indicates if a WeMo Coffee Maker needs to be cleaned. | Coffee Maker | +| filterAdvise | Switch | Indicates if a WeMo Coffee Maker needs the filter changed. | Coffee Maker | +| brewed | DateTime | Date/time the Coffee Maker last completed brewing coffee. | Coffee Maker | +| lastCleaned | DateTime | Date/time the Coffee Maker last completed cleaning. | Coffee Maker | +| brightness | Number | Brightness of a WeMo LED or dimmer. | LED, Dimmer Switch | +| faderCountDownTime | Number | Dimmer fading duration time in minutes. | Dimmer Switch | +| faderEnabled | Switch | Switch the fader ON/OFF. | Dimmer Switch | +| timerStart | Switch | Switch the fading timer ON/OFF. | Dimmer Switch | +| nightMode | Switch | Switch the night mode ON/OFF. | Dimmer Switch | +| startTime | DateTime | Time when the night mode starts. | Dimmer Switch | +| endTime | DateTime | Time when the night mode ends. | Dimmer Switch | +| nightModeBrightness | Number | Brightness used in night mode. | Dimmer Switch | +| cookMode | String | Shows the operation mode of a WeMo Crock-Pot (OFF, WARM, LOW, HIGH). | Crock-Pot | +| warmCookTime | Number | Shows the timer settings for warm cooking mode. | Crock-Pot | +| lowCookTime | Number | Shows the timer settings for low cooking mode. | Crock-Pot | +| highCookTime | Number | Shows the timer settings for high cooking mode. | Crock-Pot | +| cookedTime | Number | Shows the elapsed cooking time. | Crock-Pot | +| purifierMode | String | Run mode of air purifier (OFF, LOW, MED, HIGH, AUTO). | Air Purifier | +| airQuality | String | Air quality (POOR, MODERATE, GOOD). | Air Purifier | +| ionizer | Switch | Indicates whether the ionizer is switched ON or OFF. | Air Purifier | +| filterLife | Number | Indicates the remaining filter lifetime in percent. | Air Purifier, Humidifier | +| expiredFilterTime | Number | Indicates whether the filter lifetime has expired. | Air Purifier, Humidifier | +| filterPresent | Switch | Indicates the presence of an air filter. | Air Purifier | +| humidifierMode | String | Run mode of humidifier (OFF, MIN, LOW, MED, HIGH, MAX). | Humidifier | +| desiredHumidity | Number | Shows desired humidity in percent. | Humidifier | +| currentHumidity | Number | Shows current humidity in percent. | Humidifier | +| heaterMode | String | Run mode of heater (OFF, FROSTPROTECT, HIGH, LOW, ECO). | Heater | +| currentTemp | Number | Shows current temperature. | Heater | +| targetTemp | Number | Shows target temperature. | Heater | +| autoOffTime | DateTime | Time when the heater switches off. | Heater | +| heatingRemaining | Number | Shows the remaining heating time. | Heater | ## Full Example @@ -132,7 +132,7 @@ wemo:insight:Insight1 "Insight" @ "Attic" [udn="Insight-1_0-xxxxxxxxxx Bridge wemo:bridge:Bridge-1_0-231445B010xxxx [udn="Bridge-1_0-231445B010xxxx"] { MZ100 94103EA2B278xxxx "DemoLight1" @ "Living" [ deviceID="94103EA2B278xxxx" ] -MZ100 94103EA2B278xxxx "DemoLoght2" @ "Living" [ deviceID="94103EA2B278xxxx" ] +MZ100 94103EA2B278xxxx "DemoLight2" @ "Living" [ deviceID="94103EA2B278xxxx" ] } ``` @@ -173,15 +173,15 @@ Dimmer NightModeBrightness { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:ni DateTime NightModeStart { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:startTime" } DateTime NightModeEnd { channel="wemo:dimmer:Dimmer-1_0-231445B010xxxx:endTime" } -// CoffeMaker -Switch CoffeSwitch { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:state" } -String CoffeMode { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:coffeeMode" } -Number CoffeModeTime { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:modeTime" } -Number CoffeModeRemaining { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:timeRemaining" } -Switch CoffeWater { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:waterLevelReached" } -Switch CoffeCleanAdvicse { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:cleanAdvise" } -Switch CoffeFilterAdvicse { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:filterAdvise" } -DateTime CoffeLastCleaned { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:lastCleaned" } +// Coffee Maker +Switch CoffeeSwitch { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:state" } +String CoffeeMode { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:coffeeMode" } +Number CoffeeModeTime { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:modeTime" } +Number CoffeeModeRemaining { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:timeRemaining" } +Switch CoffeeWater { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:waterLevelReached" } +Switch CoffeeCleanAdvise { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:cleanAdvise" } +Switch CoffeeFilterAdvise { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:filterAdvise" } +DateTime CoffeeLastCleaned { channel="wemo:coffee:Coffee-1_0-231445B010xxxx:lastCleaned" } // Crockpot String crockpotMode { channel="wemo:crockpot:Crockpot-1_0-231445B010xxxx:cookMode" } @@ -254,15 +254,15 @@ sitemap demo label="Main Menu" Text item=NightModeStart Text item=NightModeEnd - // CoffeMaker - Switch item=CoffeSwitch - Text item=CoffeMode - Number item=CoffeModeTime - Number item=CoffeModeRemaining - Switch item=CoffeWater - Switch item=CoffeCleanAdvicse - Switch item=CoffeFilterAdvicse - DateTime item=CoffeLastCleaned + // Coffee Maker + Switch item=CoffeeSwitch + Text item=CoffeeMode + Number item=CoffeeModeTime + Number item=CoffeeModeRemaining + Switch item=CoffeeWater + Switch item=CoffeeCleanAdvise + Switch item=CoffeeFilterAdvise + DateTime item=CoffeeLastCleaned // CrockPot Switch item=crockpotMode label="Cooking Mode" mappings=[OFF="OFF", WARM="Warm", LOW="Low", HIGH="High"] diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/i18n/wemo.properties b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/i18n/wemo.properties index 875f2cc97dbb9..7ff065484f201 100644 --- a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/i18n/wemo.properties +++ b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/i18n/wemo.properties @@ -96,16 +96,16 @@ channel-type.wemo.currentTemperature.description = Shows the current temperature channel-type.wemo.desiredHumidity.label = Target Humidity channel-type.wemo.desiredHumidity.description = Shows the target humidity of a WeMo enabled Holmes Humidifier channel-type.wemo.endTime.label = NightMode End Time -channel-type.wemo.endTime.description = Time when the Night Mode ends +channel-type.wemo.endTime.description = Time when the night mode ends channel-type.wemo.endTime.state.pattern = %1$tR channel-type.wemo.energyToday.label = Energy Today -channel-type.wemo.energyToday.description = Todays power consumption +channel-type.wemo.energyToday.description = Today's power consumption channel-type.wemo.energyTotal.label = Energy Total channel-type.wemo.energyTotal.description = Total power consumption channel-type.wemo.faderCountDownTime.label = Fader CountDown Time channel-type.wemo.faderCountDownTime.description = The fading duration time in minutes channel-type.wemo.faderEnabled.label = Fader OFF/ON -channel-type.wemo.faderEnabled.description = Allows to switch the fader ON/OFF +channel-type.wemo.faderEnabled.description = Switch the fader ON/OFF channel-type.wemo.filterAdvise.label = FilterAdvise channel-type.wemo.filterAdvise.description = Indicates if a WeMo Coffee Maker needs to have the filter changed channel-type.wemo.filterExpired.label = Filter Time expired @@ -117,7 +117,7 @@ channel-type.wemo.filterPresent.description = Indicates whether the air Filter i channel-type.wemo.heaterMode.label = Operation Mode channel-type.wemo.heaterMode.description = Shows the operation mode of a WeMo enabled Heater channel-type.wemo.heaterMode.state.option.OFF = Not Running -channel-type.wemo.heaterMode.state.option.FROSTPROTECT = Running at FrostProtect +channel-type.wemo.heaterMode.state.option.FROSTPROTECT = Running at frost-protect channel-type.wemo.heaterMode.state.option.HIGH = Running at high level channel-type.wemo.heaterMode.state.option.LOW = Running at low level channel-type.wemo.heaterMode.state.option.ECO = Running in Eco mode @@ -149,8 +149,8 @@ channel-type.wemo.modeTime.label = ModeTime channel-type.wemo.modeTime.description = Shows the current amount of time, in minutes, that the Coffee Maker has been in the current mode channel-type.wemo.motionDetection.label = Motion Status channel-type.wemo.motionDetection.description = Indicates whether motion is detected or not -channel-type.wemo.nightMode.label = NightMode OFF/ON -channel-type.wemo.nightMode.description = Allows to switch the nightMode ON/OFF +channel-type.wemo.nightMode.label = Night Mode OFF/ON +channel-type.wemo.nightMode.description = Switch night mode ON/OFF channel-type.wemo.nightModeBrightness.label = Night Mode Brightness channel-type.wemo.nightModeBrightness.description = Allows setting the brightness of Night Mode channel-type.wemo.onStandBy.label = On Standby @@ -170,10 +170,10 @@ channel-type.wemo.relay.label = Relay channel-type.wemo.relay.description = Switches the integrated relay contact close/open channel-type.wemo.sensor.label = Sensor channel-type.wemo.sensor.description = Shows the state of the integrated sensor -channel-type.wemo.standByLimit.label = StandBy Limit +channel-type.wemo.standByLimit.label = Standby Limit channel-type.wemo.standByLimit.description = Minimum energy draw to register device as switched on channel-type.wemo.startTime.label = NightMode Start Time -channel-type.wemo.startTime.description = Time when the Night Mode starts +channel-type.wemo.startTime.description = Time when the night mode starts channel-type.wemo.startTime.state.pattern = %1$tR channel-type.wemo.state.label = Switch channel-type.wemo.state.description = Turns the power on or off @@ -182,7 +182,7 @@ channel-type.wemo.targetTemperature.description = Shows the target temperature f channel-type.wemo.timeRemaining.label = TimeRemaining channel-type.wemo.timeRemaining.description = Shows the remaining brewing time of a WeMo Coffee Maker channel-type.wemo.timerStart.label = Timer OFF/ON -channel-type.wemo.timerStart.description = Allows to switch the timer ON/OFF +channel-type.wemo.timerStart.description = Switch the timer ON/OFF channel-type.wemo.timespan.label = Usage Timespan (s) channel-type.wemo.timespan.description = Time used to measure average usage channel-type.wemo.warmCookTime.label = WarmCookTime diff --git a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/channels.xml b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/channels.xml index 1a151ec3b8a69..d702f94f73e3c 100644 --- a/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.wemo/src/main/resources/OH-INF/thing/channels.xml @@ -103,7 +103,7 @@ Number:Energy - Todays power consumption + Today's power consumption Energy @@ -118,7 +118,7 @@ Number:Power - + Minimum energy draw to register device as switched on Energy @@ -248,25 +248,25 @@ Switch - Allows to switch the fader ON/OFF + Switch the fader ON/OFF Switch - Allows to switch the timer ON/OFF + Switch the timer ON/OFF Switch - - Allows to switch the nightMode ON/OFF + + Switch night mode ON/OFF DateTime - Time when the Night Mode starts + Time when the night mode starts Time @@ -274,7 +274,7 @@ DateTime - Time when the Night Mode ends + Time when the night mode ends Time @@ -472,7 +472,7 @@ - + diff --git a/bundles/org.openhab.binding.wifiled/README.md b/bundles/org.openhab.binding.wifiled/README.md index c6bab4fbc9033..72b6fb723f977 100644 --- a/bundles/org.openhab.binding.wifiled/README.md +++ b/bundles/org.openhab.binding.wifiled/README.md @@ -1,7 +1,7 @@ # WiFi LED Binding -This binding is used to control LED strips connected by WiFi. -These devices are sold with different names, i.e. Magic Home LED, UFO LED, LED NET controller, etc. +This binding is used to control LED strips connected via Wi‑Fi. +These devices are sold under different names, for example Magic Home LED, UFO LED, LED NET controller, etc. ## Supported Things @@ -19,13 +19,13 @@ Other LD*** devices might work but probably need some small adaptations. ## Discovery -The LED WiFi Controllers can be auto discovered. -Your device needs to be connected to your local network (i.e. by using the WiFi PBC connection method or the native App shipped with the device). +The Wi‑Fi LED controllers can be auto-discovered. +Your device needs to be connected to your local network (for example by using the Wi‑Fi PBC connection method or the native app shipped with the device). Read the device manual for more information about how to connect your device to your network. ## Binding Configuration -No binding configuration required. +No binding configuration is required. ## Thing Configuration @@ -41,22 +41,22 @@ You can choose between two drivers with different functionality: | CLASSIC | | ✓ | ✓ | | FADING | ✓ | | | -While the CLASSIC driver lets you choose and run device internal programs (e.g. alternating blue), +While the CLASSIC driver lets you choose and run device-internal programs (e.g., alternating blue), all normal operations (e.g. turn on or off, switch color, etc.) are performed immediately and without any fading effect. -If you prefer to switch colors smoothly and to turn your light on and off by slightly increasing/decreasing the brightness, you should try the FADING driver. +If you prefer to switch colors smoothly and to turn your light on and off by slightly increasing/decreasing the brightness, try the FADING driver. If selected, you can also set the number of fading steps and the fading duration in the Thing configuration. Each fading step will at least take 10 ms to be processed. This limit comes from the speed of the LED controller and your network speed. Thus a color fading with a configured fading duration of 0s might still take some time; count on more than 1 second for 100 steps. If the FADING driver is chosen, the program and the programSpeed channels will not have any effect. -The polling period is a parameter only used by the CLASSIC driver and specifies the time in seconds after the LED state is refreshed in openHAB. +The polling period is a parameter used only by the CLASSIC driver and specifies the time in seconds after which the LED state is refreshed in openHAB. ### Device Discovery -If the automatic discovery fails, you have to set the IP address and the port of your device manually. +If automatic discovery fails, set the IP address and the port of your device manually. Make sure that the device protocol matches your device type. ## Channels @@ -106,10 +106,10 @@ Switch LED_1_preset_12 "CrossFade - Blue/Green" (LEDPresets1) Switch LED_1_preset_13 "Fade" (LEDPresets1) // Mode: 37 Switch LED_1_preset_14 "Fade - White" (LEDPresets1) // Mode: 44 Switch LED_1_preset_15 "Fade - Green" (LEDPresets1) // Mode: 39 -Switch LED_1_preset_16 "Fade - DarkBlue" (LEDPresets1) // Mode: 40 -Switch LED_1_preset_17 "Fade - Giallo" (LEDPresets1) // Mode: 41 +Switch LED_1_preset_16 "Fade - Dark Blue" (LEDPresets1) // Mode: 40 +Switch LED_1_preset_17 "Fade - Yellow" (LEDPresets1) // Mode: 41 Switch LED_1_preset_18 "Fade - Red" (LEDPresets1) // Mode: 38 -Switch LED_1_preset_19 "Fade - LightBlue" (LEDPresets1) // Mode: 42 +Switch LED_1_preset_19 "Fade - Light Blue" (LEDPresets1) // Mode: 42 Switch LED_1_preset_20 "Fade - Purple" (LEDPresets1) // Mode: 43 Switch LED_1_preset_21 "Fade - R/G/B" (LEDPresets1) // Mode: 45 Switch LED_1_preset_22 "Jump" (LEDPresets1) // Mode: 56 diff --git a/bundles/org.openhab.binding.wifiled/src/main/resources/OH-INF/i18n/wifiled.properties b/bundles/org.openhab.binding.wifiled/src/main/resources/OH-INF/i18n/wifiled.properties index cd9f0933aa859..131d19f1ba124 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/resources/OH-INF/i18n/wifiled.properties +++ b/bundles/org.openhab.binding.wifiled/src/main/resources/OH-INF/i18n/wifiled.properties @@ -6,7 +6,7 @@ addon.wifiled.description = Binding for WiFi LED devices. These are known as Mag # thing types thing-type.wifiled.wifiled.label = WiFi LED -thing-type.wifiled.wifiled.description = WiFi LED Device +thing-type.wifiled.wifiled.description = WiFi LED device # thing types config @@ -19,11 +19,11 @@ thing-type.config.wifiled.wifiled.fadeDurationInMs.description = The duration fo thing-type.config.wifiled.wifiled.fadeSteps.label = Fading Steps thing-type.config.wifiled.wifiled.fadeSteps.description = The number of steps used to fade over to the new color thing-type.config.wifiled.wifiled.ip.label = IP -thing-type.config.wifiled.wifiled.ip.description = IP address or host name of the WIFI LED Controller +thing-type.config.wifiled.wifiled.ip.description = IP address or host name of the Wi‑Fi LED controller thing-type.config.wifiled.wifiled.pollingPeriod.label = Polling Period -thing-type.config.wifiled.wifiled.pollingPeriod.description = Polling period for refreshing the data in s +thing-type.config.wifiled.wifiled.pollingPeriod.description = Polling period for refreshing data (s) thing-type.config.wifiled.wifiled.port.label = Port -thing-type.config.wifiled.wifiled.port.description = Used Port of the device +thing-type.config.wifiled.wifiled.port.description = Port used by the device thing-type.config.wifiled.wifiled.protocol.label = Device Protocol thing-type.config.wifiled.wifiled.protocol.description = The protocol used for communication with the device thing-type.config.wifiled.wifiled.protocol.option.LD382A = LD382A @@ -45,9 +45,9 @@ channel-type.wifiled.program.state.option.41 = Yellow Gradual Change channel-type.wifiled.program.state.option.42 = Cyan Gradual Change channel-type.wifiled.program.state.option.43 = Purple Gradual Change channel-type.wifiled.program.state.option.44 = White Gradual Change -channel-type.wifiled.program.state.option.45 = Red,Green Cross Fade -channel-type.wifiled.program.state.option.46 = Red, Blue Cross Fade -channel-type.wifiled.program.state.option.47 = Green, Blue Cross Fade +channel-type.wifiled.program.state.option.45 = Red/Green Cross Fade +channel-type.wifiled.program.state.option.46 = Red/Blue Cross Fade +channel-type.wifiled.program.state.option.47 = Green/Blue Cross Fade channel-type.wifiled.program.state.option.48 = Seven Colors Strobe Flash channel-type.wifiled.program.state.option.49 = Red Strobe Flash channel-type.wifiled.program.state.option.50 = Green Strobe Flash diff --git a/bundles/org.openhab.binding.wifiled/src/main/resources/OH-INF/thing/wifiled.xml b/bundles/org.openhab.binding.wifiled/src/main/resources/OH-INF/thing/wifiled.xml index d6884a847474d..42211d0a10386 100644 --- a/bundles/org.openhab.binding.wifiled/src/main/resources/OH-INF/thing/wifiled.xml +++ b/bundles/org.openhab.binding.wifiled/src/main/resources/OH-INF/thing/wifiled.xml @@ -6,7 +6,7 @@ - WiFi LED Device + WiFi LED device LightSource @@ -20,17 +20,17 @@ - IP address or host name of the WIFI LED Controller + IP address or host name of the Wi‑Fi LED controller - Used Port of the device + Port used by the device 5577 true - Polling period for refreshing the data in s + Polling period for refreshing data (s) 30 true @@ -118,9 +118,9 @@ - - - + + + diff --git a/bundles/org.openhab.binding.windcentrale/README.md b/bundles/org.openhab.binding.windcentrale/README.md index 8015b41804a61..31c4d27370026 100644 --- a/bundles/org.openhab.binding.windcentrale/README.md +++ b/bundles/org.openhab.binding.windcentrale/README.md @@ -1,6 +1,6 @@ # Windcentrale Binding -This Binding is used to display the details of Windcentrale windmills. +This binding is used to display the details of Windcentrale windmills. ## Supported Things @@ -13,11 +13,11 @@ The binding supports the following Windcentrale Things: ## Discovery -After creating an account Thing the Binding can discover windmills based on the participations linked to the account. +After creating an account Thing, the binding can discover windmills based on the participations linked to the account. ## Binding Configuration -No binding configuration required. +No binding configuration is required. ## Thing Configuration @@ -32,7 +32,7 @@ No binding configuration required. | Configuration Parameter | Required | Default | Description | |-------------------------|----------|------------------|-----------------------------------------------------| -| name | X | De Blauwe Reiger | Identifies the windmill (see names list below) | +| name | X | De Blauwe Reiger | Identifies the windmill (see the list below) | | shares | | 1 | Number of wind shares ("Winddelen") | | refreshInterval | | 30 | Refresh interval for refreshing the data in seconds | diff --git a/bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/i18n/windcentrale.properties b/bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/i18n/windcentrale.properties index 0cf1e57f4c23d..8dc6e3cebe956 100644 --- a/bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/i18n/windcentrale.properties +++ b/bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/i18n/windcentrale.properties @@ -14,8 +14,19 @@ thing-type.windcentrale.windmill.label = Windcentrale Windmill thing-type.config.windcentrale.account.password.label = Password thing-type.config.windcentrale.account.username.label = Username thing-type.config.windcentrale.windmill.name.label = Windmill +thing-type.config.windcentrale.windmill.name.option.De\ Blauwe\ Reiger = De Blauwe Reiger +thing-type.config.windcentrale.windmill.name.option.De\ Boerenzwaluw = De Boerenzwaluw +thing-type.config.windcentrale.windmill.name.option.De\ Bonte\ Hen = De Bonte Hen +thing-type.config.windcentrale.windmill.name.option.De\ Grote\ Geert = De Grote Geert +thing-type.config.windcentrale.windmill.name.option.De\ Jonge\ Held = De Jonge Held +thing-type.config.windcentrale.windmill.name.option.De\ Ranke\ Zwaan = De Ranke Zwaan +thing-type.config.windcentrale.windmill.name.option.De\ Trouwe\ Wachter = De Trouwe Wachter +thing-type.config.windcentrale.windmill.name.option.De\ Vier\ Winden = De Vier Winden +thing-type.config.windcentrale.windmill.name.option.De\ Witte\ Juffer = De Witte Juffer +thing-type.config.windcentrale.windmill.name.option.Het\ Rode\ Hert = Het Rode Hert +thing-type.config.windcentrale.windmill.name.option.Het\ Vliegend\ Hert = Het Vliegend Hert thing-type.config.windcentrale.windmill.refreshInterval.label = Refresh Interval -thing-type.config.windcentrale.windmill.refreshInterval.description = Refresh interval for refreshing the data in seconds +thing-type.config.windcentrale.windmill.refreshInterval.description = Refresh interval in seconds thing-type.config.windcentrale.windmill.shares.label = Wind Shares thing-type.config.windcentrale.windmill.shares.description = Number of wind shares ("Winddelen") diff --git a/bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/thing/windmill.xml b/bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/thing/windmill.xml index 6174ae6ef0e84..76cd6f7333402 100644 --- a/bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/thing/windmill.xml +++ b/bundles/org.openhab.binding.windcentrale/src/main/resources/OH-INF/thing/windmill.xml @@ -54,7 +54,7 @@ - Refresh interval for refreshing the data in seconds + Refresh interval in seconds 30 true diff --git a/bundles/org.openhab.binding.wiz/README.md b/bundles/org.openhab.binding.wiz/README.md index 9ede648100586..c1516bd5c675a 100644 --- a/bundles/org.openhab.binding.wiz/README.md +++ b/bundles/org.openhab.binding.wiz/README.md @@ -2,57 +2,54 @@ This binding integrates [WiZ Connected](https://www.wizconnected.com/en-US/) smart devices. These inexpensive devices, typically smart bulbs, are available online and in most Home Depot stores. -They come in a variety of bulb shapes and sizes with options of full color with tunable white, tunable white, and dimmable white. +They come in a variety of bulb shapes and sizes with options for full color with tunable white, tunable white, and dimmable white. This binding has been tested with various bulbs and switchable plugs. They are sold under the Philips brand name. -(Wiz is owned by Signify (formerly Philips Lighting).) -_Note_ that while both are sold by Philips, WiZ bulbs are _not_ part of the Hue ecosystem. +(WiZ is owned by Signify, formerly Philips Lighting.) +_Note:_ while both are sold by Philips, WiZ bulbs are not part of the Hue ecosystem. -This binding operates completely within the local network - the discovery, control, and status monitoring is entirely over UDP in the local network. -The binding never attempts to contact the WiZ servers in any way but does not stop them from doing so independently. -It should not interfere in any way with control of the bulbs via the WiZ app or any other service integrated with the WiZ app (e.g. Alexa, IFTTT, SmartThings). -Any changes made to the bulb state outside of openHAB should be detected by the binding and vice-versa. +This binding operates completely within the local network — discovery, control, and status monitoring are entirely over UDP on the local network. +The binding never attempts to contact WiZ servers and does not interfere with the WiZ app or services integrated with it (e.g., Alexa, IFTTT, SmartThings). +Any changes made to the bulb state outside of openHAB should be detected by the binding and vice versa. Before using the binding, the bulbs must be set up using the WiZ iOS or Android app. -Local control must also be enabled with-in the WiZ app in the app settings. -(This is the default.) +Local control must also be enabled within the WiZ app settings (this is the default). ## Supported Things -- WiZ Full Color with Tunable White Bulbs -- WiZ Tunable White Bulbs +- WiZ Full Color with Tunable White bulbs +- WiZ Tunable White bulbs - WiZ Dimmable single-color bulbs - WiZ Smart Plugs - Smart fans (with or without a dimmable light) -**NOTE:** This binding was created for and tested on the full color with tunable white bulbs, however, users have reported success with other bulb types and plugs. +Note: This binding was created for and tested on full color with tunable white bulbs; users have also reported success with other bulb types and plugs. ## Discovery -New devices can be discovered by scanning and may also be discovered by background discovery. -All discovered devices will default to 'Full Color' bulbs if unable to automatically detect the specific device type. -You may need to create devices manually if desired. +New devices can be discovered by scanning and may also appear via background discovery. +If a device's specific type cannot be detected, it will default to a Full Color bulb. +You can also create devices manually if desired. -Devices must first have been set up using the WiZ iOS or Android app. +Devices must first be set up in the WiZ iOS or Android app. If the binding cannot discover your device, try unplugging it, wait several seconds, and plug it back in. ## Binding Configuration -The binding does not require any special configuration. -You can optionally manually set the IP and MAC address of the openHAB instance; if you do not set them, the binding will use the system defaults. +No special configuration is required. +You can optionally set the IP and MAC address of the openHAB instance; if you don't, the binding uses system defaults. ## Thing Configuration -To create or configure a device manually you need its IP address and MAC address. -These can be quickly found in the iOS or Android app by entering the settings for device in question and clicking on the model name. -The refresh interval may also be set; if unset it defaults to 30 seconds. -If you desire instant updates, you may also enable "heart-beat" synchronization with the bulbs. -Heart-beats are not used by default. -When heart-beats are enabled, the binding will continuously re-register with the bulbs to receive sync packets on every state change and on every 5 seconds. -Enabling heart-beats causes the refresh-interval to be ignored. -If heart-beats are not enabled, the channels are only updated when polled at the set interval and thus will be slightly delayed with regard to changes made to the bulb state outside of the binding (e.g. via the WiZ app). +To create or configure a device manually, you need its IP address and MAC address. +You can find these quickly in the app by opening the device settings and tapping the model name. +The refresh interval may also be set; if unset it defaults to 60 seconds. +For instant updates, you can enable heartbeat synchronization with the bulbs (disabled by default). +When heartbeats are enabled, the binding continuously re-registers with the bulbs to receive sync packets on every state change and every 5 seconds. +Enabling heartbeats causes the refresh interval to be ignored. +If heartbeats aren't enabled, channels are only updated when polled at the set interval, so changes made outside of the binding (e.g., in the WiZ app) will be reflected with a slight delay. -**NOTE:** While the bulb's IP address is needed for initial manual configuration, this binding _does not_ require you to use a static IP for each bulb. -After initial discovery or setup, the binding will automatically search for and re-match bulbs with changed IP addresses by MAC address once every hour. +Note: While a bulb's IP address is needed for initial manual configuration, this binding does not require a static IP for each bulb. +After discovery or setup, the binding automatically searches for and re-matches bulbs whose IP addresses have changed by using the MAC address (once per hour). Thing parameters: @@ -61,19 +58,18 @@ Thing parameters: | macAddress | text | true | The MAC address of the bulb | | | ipAddress | text | true | The IP of the bulb | | | updateInterval | integer | false | Update time interval in seconds to request the status of the bulb. | 60 | -| useHeartBeats | boolean | false | Whether to register for continuous 5s heart-beats | false | -| reconnectInterval | integer | false | Interval in minutes between attempts to reconnect with a bulb that is no longer responding to status queries. When the bulb first connects to the network, it should send out a firstBeat message allowing openHAB to immediately detect it. This is only as a back-up to re-find the bulb. | 15 | +| useHeartBeats | boolean | false | Whether to register for continuous 5s heartbeats | false | +| reconnectInterval | integer | false | Interval in minutes between attempts to reconnect with a bulb that is no longer responding to status queries. When the bulb first connects to the network, it should send out a firstBeat message allowing openHAB to immediately detect it. This is only a backup to re-find the bulb. | 15 | Example Thing: ```java -Thing wiz:bulb:lamp "My Lamp" @ "Living Room" [ macAddress="accf23343cxx", ipAddress="192.168.0.xx" ] +Thing wiz:color-bulb:lamp "My Lamp" @ "Living Room" [ macAddress="accf23343cxx", ipAddress="192.168.0.xx" ] ``` ## Channels -The binding supports the following channels. If a device is only a light or only a fan, the channels will -not be in a group. +The binding supports the following channels. If a device is only a light or only a fan, the channels won't be in a group. | Channel ID | Item Type | Description | Access | |------------------------|----------------------|-------------------------------------------------------|--------| @@ -81,20 +77,19 @@ not be in a group. | light#temperature | Dimmer | Color temperature of the bulb | R/W | | light#temperature-abs | Number:Temperature | Color temperature of the bulb in Kelvin | R/W | | light#brightness | Dimmer | The brightness of the bulb | R/W | -| light#state | Switch | Whether the bulb is on or off | R/W | -| light#light-mode | Number | Preset light mode name to run | R/W | -| light#speed | Dimmer | Speed of the color changes in dynamic light modes | R/W | +| light#mode | Number | Preset light mode to run | R/W | +| light#speed | Dimmer | Speed of color/intensity changes in dynamic modes | R/W | | fan#state | Switch | Whether the fan is on or off | R/W | | fan#speed | Number | Speed of the fan, in arbitrary steps | R/W | | fan#reverse | Switch | Whether the fan direction is reversed | R/W | -| fan#mode | Number | Special fan modes (Breeze) | R/W | -| device#last-update | Time | The last time an an update was received from the bulb | R | -| device#signal-strength | Number | Quality of the bulb's WiFi connection | R | -| device#rssi | Number:Dimensionless | WiFi Received Signal Strength Indicator (in dB) | R | +| fan#mode | Number | Special fan modes (e.g., Breeze) | R/W | +| device#last-update | DateTime | The last time an update was received from the device | R | +| device#signal-strength | Number:Dimensionless | Quality of the device's Wi‑Fi connection (%) | R | +| device#rssi | Number:Power | Wi‑Fi received signal strength indicator (dBm) | R | ## Light Modes -The binding supports the following Light Modes +The binding supports the following light modes: | ID | Scene Name | |----|---------------| @@ -133,18 +128,17 @@ The binding supports the following Light Modes ## Bulb Limitations -- Full-color bulbs operate in either color mode OR tunable white/color temperature mode. -The RGB LED's are NOT used to control temperature - separate warm and cool white LED's are used. -Sending a command on the color channel or the temperature channel will cause the bulb to switch the relevant mode. +- Full-color bulbs operate in either color mode or tunable white (color temperature) mode. + The RGB LEDs are not used to control temperature — separate warm and cool white LEDs are used. Sending a command on the color channel or the temperature channel switches the bulb to the relevant mode. - Dimmable bulbs do not dim below 10%. -- The binding attempts to immediately retrieve the actual state from the device after each command is acknowledged, sometimes this means your settings don't 'stick' this is because the device itself did not accept the command or setting. -- Parameters can not be changed while the bulbs are off, sending any commands to change any settings will cause the bulbs to turn on. -- Power on behavior is configured in the app. +- The binding attempts to immediately retrieve the actual state from the device after each command is acknowledged. Sometimes settings don't "stick" — this is because the device itself did not accept the command or setting. +- Parameters cannot be changed while the bulbs are off. Sending commands to change settings will turn the bulbs on. +- Power-on behavior is configured in the app. - Fade in/out times are configured in the app. -- Sending too many commands to the bulbs too quickly can cause them to stop responding for a period of time. +- Sending too many commands too quickly can cause devices to stop responding for a period of time. ## Example Item Linked To a Channel ```java -Color LivingRoom_Light_Color "Living Room Lamp" (gLivingroom) {channel="wiz:color-bulb:accf23343cxx:color"} +Color LivingRoom_Light_Color "Living Room Lamp" (gLivingroom) { channel="wiz:color-bulb:lamp:color" } ``` diff --git a/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/i18n/wiz.properties b/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/i18n/wiz.properties index 620005071a551..33829e5c8a583 100644 --- a/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/i18n/wiz.properties +++ b/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/i18n/wiz.properties @@ -9,8 +9,8 @@ thing-type.wiz.color-bulb.label = WiZ Color Bulb thing-type.wiz.color-bulb.description = Supports WiZ Full Color with Tunable White Bulbs thing-type.wiz.dimmable-bulb.label = WiZ Dimmable Bulb thing-type.wiz.dimmable-bulb.description = Supports WiZ Single Color Dimmable Bulbs -thing-type.wiz.fan-with-dimmable-bulb.label = WiZ Ceiling Fan With Dimmable Bulb -thing-type.wiz.fan-with-dimmable-bulb.description = Supports WiZ Ceiling Fans With a Dimmable Bulb +thing-type.wiz.fan-with-dimmable-bulb.label = WiZ Ceiling Fan with Dimmable Bulb +thing-type.wiz.fan-with-dimmable-bulb.description = Supports WiZ ceiling fans with a dimmable bulb thing-type.wiz.fan.label = WiZ Ceiling Fan thing-type.wiz.fan.description = Supports WiZ Ceiling Fans thing-type.wiz.plug.label = WiZ Smart Plug @@ -48,7 +48,7 @@ channel-type.wiz.fan-reverse.state.option.ON = Reverse channel-type.wiz.fan-speed.label = Fan Speed channel-type.wiz.fan-speed.description = Speed of the fan, in arbitrary steps channel-type.wiz.last-update.label = Last Update -channel-type.wiz.last-update.description = Timestamp of last status update +channel-type.wiz.last-update.description = Timestamp of the last status update channel-type.wiz.light-mode-speed.label = Dynamic Light Mode Speed channel-type.wiz.light-mode-speed.description = Speed of color/intensity changes in dynamic light modes channel-type.wiz.light-mode.label = Light Mode @@ -85,7 +85,7 @@ channel-type.wiz.light-mode.state.option.30 = Golden White channel-type.wiz.light-mode.state.option.31 = Pulse channel-type.wiz.light-mode.state.option.32 = Steampunk channel-type.wiz.rssi.label = RSSI -channel-type.wiz.rssi.description = WiFi Received Signal Strength Indicator +channel-type.wiz.rssi.description = Wi‑Fi received signal strength indicator (dBm) # thing types config diff --git a/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/thing/thing-types.xml index d801b167a3465..e1ab866cd00c0 100644 --- a/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/thing/thing-types.xml @@ -97,8 +97,8 @@ - - Supports WiZ Ceiling Fans With a Dimmable Bulb + + Supports WiZ ceiling fans with a dimmable bulb CeilingFan @@ -112,7 +112,7 @@ - String + Number Control @@ -211,7 +211,7 @@ DateTime - Timestamp of last status update + Timestamp of the last status update Time @@ -219,7 +219,7 @@ Number:Power - WiFi Received Signal Strength Indicator + Wi‑Fi received signal strength indicator (dBm) QualityOfService Measurement From 31f5db39ef1e427df6b1f098625f2a80746130af Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 1 Nov 2025 12:11:16 +0100 Subject: [PATCH 02/14] X-bindings Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.x/README.md | 30 +++---- .../src/main/resources/OH-INF/addon/addon.xml | 2 +- .../main/resources/OH-INF/i18n/x.properties | 10 +-- .../resources/OH-INF/thing/thing-types.xml | 8 +- bundles/org.openhab.binding.xmltv/README.md | 90 ++++++++++--------- .../src/main/resources/OH-INF/addon/addon.xml | 4 +- .../resources/OH-INF/i18n/xmltv.properties | 38 ++++---- .../resources/OH-INF/thing/thing-types.xml | 34 +++---- .../org.openhab.binding.xmppclient/README.md | 22 ++--- .../OH-INF/i18n/xmppclient.properties | 23 +++-- .../resources/OH-INF/thing/thing-types.xml | 23 ++--- 11 files changed, 148 insertions(+), 136 deletions(-) diff --git a/bundles/org.openhab.binding.x/README.md b/bundles/org.openhab.binding.x/README.md index 846ee864b1164..692e1664967c8 100644 --- a/bundles/org.openhab.binding.x/README.md +++ b/bundles/org.openhab.binding.x/README.md @@ -1,30 +1,30 @@ # X Binding -The X (formerly known as Twitter) binding allows your home to post 280 characters at a time. It also supports direct messages and posting with media. +The X (formerly known as Twitter) binding lets your home post messages (up to 280 characters), send direct messages, and post with media. ## Supported Things ```text -account - X Account. +`account` — X account ``` ## Thing Configuration -The X Account Thing requires you to create a X App in the X Developer Page. +The X account thing requires you to create an app in the X Developer Portal and obtain API keys/tokens. -| Property | Default | Required | Description | +| Property | Default | Required | Description | |-------------------|---------|:--------:|-----------------------------------| | consumerKey | | Yes | Consumer API Key | | consumerSecret | | Yes | Consumer API Secret | | accessToken | | Yes | Access Token | | accessTokenSecret | | Yes | Access Token Secret | -| refresh | 30 | No | Post refresh interval in minutes | +| refresh | 30 | No | Refresh interval in minutes | ## Channels -| channel | type | description | -|----------|--------|-----------------------------------------------| -| lastpost | String | This channel provides the Latest post message | +| channel | type | description | +|----------|--------|--------------------------------| +| lastpost | String | The user's latest post message | ## Full Example @@ -42,7 +42,7 @@ String sample_post "Latest post: [%s]" { channel="x:account:sampleaccount:last ## Rule Action -This binding includes rule actions for sending posts and direct messages. +This binding includes rule actions for sending posts (optionally with media) and direct messages. - `boolean success = sendPost(String text)` - `boolean success = sendPostWithAttachment(String text, String URL)` @@ -51,10 +51,10 @@ This binding includes rule actions for sending posts and direct messages. Examples: ```java -val postActions = getActions("x","x:account:sampleaccount") -val success = postActions.sendPost("This is A Post") -val success2 = postActions.sendPostWithAttachment("This is A Post with a Pic", file:///tmp/201601011031.jpg) -val success3 = postActions.sendPostWithAttachment("Windows Picture", "D:\\Test.png" ) -val success4 = postActions.sendPostWithAttachment("HTTP Picture", "http://www.mywebsite.com/Test.png" ) -val success5 = postActions.sendDirectMessage("1234567", "Wake Up" ) +val postActions = getActions("x", "x:account:sampleaccount") +val success = postActions.sendPost("This is a post") +val success2 = postActions.sendPostWithAttachment("This is a post with a picture", "file:///tmp/201601011031.jpg") +val success3 = postActions.sendPostWithAttachment("Windows picture", "D:\\Test.png") +val success4 = postActions.sendPostWithAttachment("HTTP picture", "http://www.mywebsite.com/Test.png") +val success5 = postActions.sendDirectMessage("1234567", "Wake up") ``` diff --git a/bundles/org.openhab.binding.x/src/main/resources/OH-INF/addon/addon.xml b/bundles/org.openhab.binding.x/src/main/resources/OH-INF/addon/addon.xml index acb27648087c2..2af93ca9bcea1 100644 --- a/bundles/org.openhab.binding.x/src/main/resources/OH-INF/addon/addon.xml +++ b/bundles/org.openhab.binding.x/src/main/resources/OH-INF/addon/addon.xml @@ -5,7 +5,7 @@ binding X Binding - Supports adding Thing for getting the Last Post. Send Posts and Pictures with Actions. + Provides an X account thing to get the latest post and rule actions to send posts and media. cloud diff --git a/bundles/org.openhab.binding.x/src/main/resources/OH-INF/i18n/x.properties b/bundles/org.openhab.binding.x/src/main/resources/OH-INF/i18n/x.properties index 66bc6924ed3df..a920bfed40851 100644 --- a/bundles/org.openhab.binding.x/src/main/resources/OH-INF/i18n/x.properties +++ b/bundles/org.openhab.binding.x/src/main/resources/OH-INF/i18n/x.properties @@ -1,12 +1,12 @@ # add-on addon.x.name = X Binding -addon.x.description = Supports adding Thing for getting the Last Post. Send Posts and Pictures with Actions. +addon.x.description = Provides an X account thing to get the latest post and rule actions to send posts and media. # thing types thing-type.x.account.label = X Account -thing-type.x.account.description = Account uses for sending posts +thing-type.x.account.description = Account used for sending posts # thing types config @@ -14,13 +14,13 @@ thing-type.config.x.account.accessToken.label = Access Token thing-type.config.x.account.accessTokenSecret.label = Access Token Secret thing-type.config.x.account.consumerKey.label = Consumer API Key thing-type.config.x.account.consumerSecret.label = Consumer API Secret -thing-type.config.x.account.refresh.label = Refresh Time -thing-type.config.x.account.refresh.description = Refresh Time for This Account in Mins +thing-type.config.x.account.refresh.label = Refresh Interval +thing-type.config.x.account.refresh.description = Refresh interval for this account (minutes) # channel types channel-type.x.lastpost.label = Last Post -channel-type.x.lastpost.description = Users Last Post +channel-type.x.lastpost.description = User's last post # actions diff --git a/bundles/org.openhab.binding.x/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.x/src/main/resources/OH-INF/thing/thing-types.xml index d18df8f5e1c0c..63c840e54cc72 100644 --- a/bundles/org.openhab.binding.x/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.x/src/main/resources/OH-INF/thing/thing-types.xml @@ -5,7 +5,7 @@ - Account uses for sending posts + Account used for sending posts @@ -29,8 +29,8 @@ password - - Refresh Time for This Account in Mins + + Refresh interval for this account (minutes) 30 @@ -40,7 +40,7 @@ String - Users Last Post + User's last post diff --git a/bundles/org.openhab.binding.xmltv/README.md b/bundles/org.openhab.binding.xmltv/README.md index 4dc7676857647..39875f01de3b0 100644 --- a/bundles/org.openhab.binding.xmltv/README.md +++ b/bundles/org.openhab.binding.xmltv/README.md @@ -1,81 +1,83 @@ -# XmlTV Binding +# XMLTV Binding -XMLTV is an XML based file format for describing TV listings. -This format is often used by Home Theater software to produce their Electronic Program Guide () +XMLTV is an XML-based file format for describing TV listings. +It's commonly used by home theater software to produce an electronic program guide (EPG). +See the XMLTV project wiki for details: -The norm allows to separate program display from its building. -The building of the XMLTV file itself is taken in charge by so called "grabbers" (). +The format separates building the guide from displaying it. +The XMLTV file itself is produced by so‑called "grabbers": -Some websites provides updated XMLTV files than can be directly downloaded. +Some websites provide updated XMLTV files that can be downloaded directly (for example, France and Switzerland: ). -Here is a sample for France and Switzerland: +This binding reads an XMLTV file and creates a thing for each channel contained in it. +Channels from the XMLTV file are represented as "Media Channels" to avoid confusion with openHAB Channels. -This binding takes an XMLTV file as input and creates a thing for each channel contained in it. -XmlTV channels are called Media Channels in this binding in order to avoid messing with openHAB Channels. - -For each thing, you will be able to get information regarding the current program and the next to come. +Each channel thing exposes information about the current program and the next one. ## Supported Things +- xmltvfile — Bridge to an XMLTV file (reads and parses the file) +- channel — A TV channel defined in the XMLTV file + ## Discovery -Once the XmlTV bridge to a file is created, you can add all known channels by searching new things. +Once the XMLTV file bridge is created, you can add all known channels by scanning for new things. ## Binding Configuration -| Configuration Parameter | Required | Description | Default | -|-------------------------|----------|-----------------------------------------------------|---------| -| filePath | X | Full path (including filename) to an Xml TV file | | -| refresh | X | XMLTV file reload interval in hours | 24h | -| encoding | X | XMLTV file encoding | UTF8 | +| Configuration Parameter | Required | Description | Default | +|-------------------------|----------|------------------------------------------------|---------| +| filePath | Yes | Full path (including filename) to an XMLTV file | | +| refresh | No | XMLTV file reload interval (hours) | 24 h | +| encoding | Yes | XMLTV file encoding | UTF-8 | ## Thing Configuration -| Configuration Parameter | Required | Description | Default | -|-------------------------|----------|----------------------------------------------------------------|---------| -| channelId | X | Id of the channel as presented in the XmlTV file | | -| offset | X | Offset applied to program times (forward or backward (minutes) | 0 | -| refresh | X | Refresh interval in seconds | 60 | +| Configuration Parameter | Required | Description | Default | +|-------------------------|----------|------------------------------------------------------|---------| +| channelId | Yes | ID of the channel as presented in the XMLTV file | | +| offset | No | Offset applied to program times (minutes; +/-) | 0 | +| refresh | No | Refresh interval (seconds) | 60 | ## Channels -| Channel Type ID | Item Type | Description | -|-----------------|----------------------|-------------------------------------| -| iconUrl | String | Channel Icon URL | -| icon | Image | Icon of the channel | +| Channel Type ID | Item Type | Description | +|-----------------|-----------|--------------------------| +| iconUrl | String | Channel icon URL | +| icon | Image | Icon of the channel | -### Current program (currentprog) Channels Group +### Current program (currentprog) channel group | Channel Type ID | Item Type | Description | |-----------------|----------------------|---------------------------------------------| -| progStart | DateTime | Program Start Time | -| progEnd | DateTime | Program End Time | -| progTitle | String | Program Title | -| progCategory | String | Program Category | +| progStart | DateTime | Program start time | +| progEnd | DateTime | Program end time | +| progTitle | String | Program title | +| progCategory | String | Program category | | progIconUrl | String | URL to an image of the program | | icon | Image | Icon of the program | -| elapsedTime | Number:Time | Current time of currently playing program | -| remainingTime | Number:Time | Time remaining until end of the program | +| elapsedTime | Number:Time | Elapsed time of the current program | +| remainingTime | Number:Time | Time remaining until the end of the program | | progress | Number:Dimensionless | Relative progression of the current program | -### Next program (nextprog) Channels Group +### Next program (nextprog) channel group -| Channel Type ID | Item Type | Description | -|-----------------|----------------------|---------------------------------------------| -| progStart | DateTime | Program Start Time | -| timeLeft | Number:Time | Time left before program start | -| progEnd | DateTime | Program End Time | -| progTitle | String | Program Title | -| progCategory | String | Program Category | -| progIconUrl | String | URL to an image of the program | -| icon | Image | Icon of the program | +| Channel Type ID | Item Type | Description | +|-----------------|------------|------------------------------------| +| progStart | DateTime | Program start time | +| timeLeft | Number:Time| Time left before program start | +| progEnd | DateTime | Program end time | +| progTitle | String | Program title | +| progCategory | String | Program category | +| progIconUrl | String | URL to an image of the program | +| icon | Image | Icon of the program | ## Full Example ### xmltv.things ```java -Bridge xmltv:xmltvfile:france "XmlTV" @ "TV" [filePath="/etc/openhab/scripts/tvguide.xml"] +Bridge xmltv:xmltvfile:france "XMLTV" @ "TV" [filePath="/etc/openhab/scripts/tvguide.xml"] { Thing channel france2 "France 2" @ "TV" [channelId="C4.api.telerama.fr", offset=0, refresh=60] } diff --git a/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/addon/addon.xml b/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/addon/addon.xml index 3525b8413e410..efcdfd294ee2d 100644 --- a/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/addon/addon.xml +++ b/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/addon/addon.xml @@ -4,8 +4,8 @@ xsi:schemaLocation="https://openhab.org/schemas/addon/v1.0.0 https://openhab.org/schemas/addon-1.0.0.xsd"> binding - XmlTV Binding - This is the binding for reading and parsing XmlTV files + XMLTV Binding + Binding for reading and parsing XMLTV files. local diff --git a/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/i18n/xmltv.properties b/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/i18n/xmltv.properties index bef390226912e..392aea323db49 100644 --- a/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/i18n/xmltv.properties +++ b/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/i18n/xmltv.properties @@ -1,24 +1,24 @@ # add-on -addon.xmltv.name = XmlTV Binding -addon.xmltv.description = This is the binding for reading and parsing XmlTV files +addon.xmltv.name = XMLTV Binding +addon.xmltv.description = Binding for reading and parsing XMLTV files. # thing types thing-type.xmltv.channel.label = Channel -thing-type.xmltv.channel.description = This represent a channel on a given TV file -thing-type.xmltv.xmltvfile.label = XmlTVFile -thing-type.xmltv.xmltvfile.description = This is the interface to a XmlTV file +thing-type.xmltv.channel.description = Represents a channel from the XMLTV file. +thing-type.xmltv.xmltvfile.label = XMLTV File +thing-type.xmltv.xmltvfile.description = Interface to an XMLTV file. # thing types config -thing-type.config.xmltv.channel.channelId.label = Channel Id -thing-type.config.xmltv.channel.channelId.description = Id of the channel as presented in the XmlTV file. +thing-type.config.xmltv.channel.channelId.label = Channel ID +thing-type.config.xmltv.channel.channelId.description = ID of the channel as presented in the XMLTV file. thing-type.config.xmltv.channel.offset.label = Offset -thing-type.config.xmltv.channel.offset.description = Moves an event or datetime value forward or backward (in minutes) +thing-type.config.xmltv.channel.offset.description = Moves an event or datetime value forward or backward (in minutes). thing-type.config.xmltv.channel.refresh.label = Refresh Interval thing-type.config.xmltv.channel.refresh.description = Specifies the refresh interval in seconds. -thing-type.config.xmltv.xmltvfile.encoding.label = File encoding +thing-type.config.xmltv.xmltvfile.encoding.label = File Encoding thing-type.config.xmltv.xmltvfile.encoding.description = Specifies the XMLTV file encoding. thing-type.config.xmltv.xmltvfile.filePath.label = XmlTV File Path thing-type.config.xmltv.xmltvfile.filePath.description = Path to an XmlTV file. @@ -32,34 +32,34 @@ channel-group-type.xmltv.channelprops.description = Properties of the current ch channel-group-type.xmltv.currentprog.label = Current Program channel-group-type.xmltv.currentprog.description = Program currently on air on this channel. channel-group-type.xmltv.nextprog.label = Next Program -channel-group-type.xmltv.nextprog.description = Program which will follow current program on this channel. +channel-group-type.xmltv.nextprog.description = Program that will follow the current program on this channel. # channel types -channel-type.xmltv.elapsedTime.label = Current Time -channel-type.xmltv.elapsedTime.description = Current time of currently playing program. +channel-type.xmltv.elapsedTime.label = Elapsed Time +channel-type.xmltv.elapsedTime.description = Elapsed time of the currently playing program. channel-type.xmltv.icon.label = Icon -channel-type.xmltv.icon.description = Icon of the channel / program. +channel-type.xmltv.icon.description = Icon of the channel/program. channel-type.xmltv.iconUrl.label = Channel Icon URL channel-type.xmltv.iconUrl.description = Icon URL of the TV channel. channel-type.xmltv.progCategory.label = Category -channel-type.xmltv.progCategory.description = Program Category. +channel-type.xmltv.progCategory.description = Program category. channel-type.xmltv.progEnd.label = End Time -channel-type.xmltv.progEnd.description = Program End Time +channel-type.xmltv.progEnd.description = Program end time channel-type.xmltv.progEnd.state.pattern = %1$tF %1$tR -channel-type.xmltv.progIconUrl.label = Program URL +channel-type.xmltv.progIconUrl.label = Program Icon URL channel-type.xmltv.progIconUrl.description = URL to an image of the program. channel-type.xmltv.progStart.label = Start Time -channel-type.xmltv.progStart.description = Program Start Time +channel-type.xmltv.progStart.description = Program start time channel-type.xmltv.progStart.state.pattern = %1$tF %1$tR channel-type.xmltv.progTitle.label = Title -channel-type.xmltv.progTitle.description = Program Title. +channel-type.xmltv.progTitle.description = Program title. channel-type.xmltv.progress.label = Progress channel-type.xmltv.progress.description = Relative progression of the current program. channel-type.xmltv.remainingTime.label = Remaining Time channel-type.xmltv.remainingTime.description = Time remaining until end of the program. channel-type.xmltv.timeLeft.label = Time Left -channel-type.xmltv.timeLeft.description = Time left before program start +channel-type.xmltv.timeLeft.description = Time left before program start. # messages diff --git a/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/thing/thing-types.xml index c967130922c0d..bb83fc7889332 100644 --- a/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.xmltv/src/main/resources/OH-INF/thing/thing-types.xml @@ -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"> - - This is the interface to a XmlTV file + + Interface to an XMLTV file. @@ -19,7 +19,7 @@ 24 - + Specifies the XMLTV file encoding. UTF8 @@ -31,7 +31,7 @@ - This represent a channel on a given TV file + Represents a channel from the XMLTV file. @@ -41,13 +41,13 @@ - - Id of the channel as presented in the XmlTV file. + + ID of the channel as presented in the XMLTV file. - Moves an event or datetime value forward or backward (in minutes) + Moves an event or datetime value forward or backward (in minutes). 0 @@ -88,7 +88,7 @@ - Program which will follow current program on this channel. + Program that will follow the current program on this channel. @@ -109,7 +109,7 @@ String - + URL to an image of the program. @@ -117,21 +117,21 @@ String - Program Title. + Program title. String - Program Category. + Program category. DateTime - Program Start Time + Program start time Status Timestamp @@ -142,7 +142,7 @@ DateTime - Program End Time + Program end time Forecast Timestamp @@ -152,8 +152,8 @@ Number:Time - - Current time of currently playing program. + + Elapsed time of the currently playing program. Measurement Duration @@ -171,7 +171,7 @@ Number:Time - Time left before program start + Time left before program start. @@ -189,7 +189,7 @@ Image - Icon of the channel / program. + Icon of the channel/program. diff --git a/bundles/org.openhab.binding.xmppclient/README.md b/bundles/org.openhab.binding.xmppclient/README.md index 156f6eb8e1aef..480ec75fd2c20 100644 --- a/bundles/org.openhab.binding.xmppclient/README.md +++ b/bundles/org.openhab.binding.xmppclient/README.md @@ -1,10 +1,10 @@ # XMPPClient Binding -XMPPClient binding provides support for sending and receiving XMPP (Jabber) messages. +The XMPPClient binding provides support for sending and receiving XMPP (Jabber) messages. ## Supported Things -xmppBridge - Basic XMPP (Jabber) client thing, that can send and receive messages. +- xmppBridge — XMPP (Jabber) client bridge that can send and receive messages. You can add publish trigger channels to it. ## Thing Configuration @@ -12,15 +12,15 @@ Sample configurations: ```java Bridge xmppclient:xmppBridge:xmpp "XMPP Client" [ username="openhab", domain="example.com", password="********" ] { - Channels: - Trigger String : xmpp_command [ separator="##" ] + Channels: + Trigger String : xmpp_command [ separator="##" ] } ``` ```java Bridge xmppclient:xmppBridge:xmpp "XMPP Client" [ host="xmpp.example.com", port=7222, username="openhab", domain="example.com", password="********" ] { - Channels: - Trigger String : xmpp_command [ separator="##" ] + Channels: + Trigger String : xmpp_command [ separator="##" ] } ``` @@ -31,18 +31,20 @@ Bridge xmppclient:xmppBridge:xmpp "XMPP Client" [ host="xmpp.example.com", port= | username | Username | The XMPP username (left part of JID) | true | - | | domain | Domain | The XMPP domain name (right part of JID) | true | - | | password | Password | The XMPP user password | true | - | -| host | Server Hostname/IP | The IP/Hostname of the XMPP server | false | as "domain" parameter | -| port | XMPP server Port | The typical port is 5222 | false | 5222 | +| host | Server Hostname/IP | The IP address or hostname of the XMPP server | false | as "domain" parameter | +| port | XMPP Server Port | Port for the XMPP server | false | 5222 | | securityMode | Security Mode | Sets the TLS security mode: `required`, `ifpossible` or `disabled` | false | `required` | ## Channels +You can add `publishTrigger` channels to the bridge to react to incoming messages. + **publishTrigger** parameters: | Name | Label | Description | Required | |-----------|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------| | payload | Payload condition | An optional condition on the value | false | -| separator | Separator character | The trigger channel payload usually only contains the received text. If you define a separator character, for example '#', the sender UID and received text will be in the trigger channel payload. For example: `pavel@example.com#My Message Text` | false | +| separator | Separator character | The trigger payload usually contains only the received text. If you define a separator character (e.g., `#`), the sender UID and received text will both be included in the payload. For example: `pavel@example.com#My Message Text` | false | ## Example Rules @@ -82,7 +84,7 @@ then Group_Light_Home_All.sendCommand(OFF) val actions = getActions("xmppclient","xmppclient:xmppBridge:xmpp") - actions.publishXMPP(actionName.get(0),"All lights was turned off") + actions.publishXMPP(actionName.get(0),"All lights were turned off") } end ``` diff --git a/bundles/org.openhab.binding.xmppclient/src/main/resources/OH-INF/i18n/xmppclient.properties b/bundles/org.openhab.binding.xmppclient/src/main/resources/OH-INF/i18n/xmppclient.properties index 1635cbe75ec2e..ad9e68558becb 100644 --- a/bundles/org.openhab.binding.xmppclient/src/main/resources/OH-INF/i18n/xmppclient.properties +++ b/bundles/org.openhab.binding.xmppclient/src/main/resources/OH-INF/i18n/xmppclient.properties @@ -6,20 +6,27 @@ addon.xmppclient.description = This is the binding for XMPP (Jabber) notificatio # thing types thing-type.xmppclient.xmppBridge.label = XMPP Client -thing-type.xmppclient.xmppBridge.description = A connection to a XMPP server +thing-type.xmppclient.xmppBridge.description = A connection to an XMPP server # thing types config thing-type.config.xmppclient.xmppBridge.domain.label = Domain -thing-type.config.xmppclient.xmppBridge.domain.description = The XMPP Domain (the right side of JID, e.g. example.com for JID user@example.com) +thing-type.config.xmppclient.xmppBridge.domain.description = The XMPP domain (the right part of the JID, e.g., example.com for user@example.com) thing-type.config.xmppclient.xmppBridge.host.label = Server Hostname/IP -thing-type.config.xmppclient.xmppBridge.host.description = The IP/Hostname of the XMPP server (if not specified, the Domain will be used) +thing-type.config.xmppclient.xmppBridge.host.description = The IP address or hostname of the XMPP server (if not specified, the domain will be used) +thing-type.config.xmppclient.xmppBridge.nickname.label = Nickname +thing-type.config.xmppclient.xmppBridge.nickname.description = The XMPP nickname to use in multi-user chats (defaults to the username) thing-type.config.xmppclient.xmppBridge.password.label = Password -thing-type.config.xmppclient.xmppBridge.password.description = The XMPP Password +thing-type.config.xmppclient.xmppBridge.password.description = The XMPP password thing-type.config.xmppclient.xmppBridge.port.label = XMPP Server Port -thing-type.config.xmppclient.xmppBridge.port.description = The default port is 5222. +thing-type.config.xmppclient.xmppBridge.port.description = Port for the XMPP server +thing-type.config.xmppclient.xmppBridge.securityMode.label = Security Mode +thing-type.config.xmppclient.xmppBridge.securityMode.description = TLS security modes available when connecting to the XMPP server +thing-type.config.xmppclient.xmppBridge.securityMode.option.required = Required +thing-type.config.xmppclient.xmppBridge.securityMode.option.ifpossible = Optional +thing-type.config.xmppclient.xmppBridge.securityMode.option.disabled = Disabled thing-type.config.xmppclient.xmppBridge.username.label = Username -thing-type.config.xmppclient.xmppBridge.username.description = The XMPP Username (the left side of JID, e.g. user for JID user@example.com) +thing-type.config.xmppclient.xmppBridge.username.description = The XMPP username (the left part of the JID, e.g., "user" for user@example.com) # channel types @@ -29,6 +36,6 @@ channel-type.xmppclient.publishTrigger.description = This channel is triggered w # channel types config channel-type.config.xmppclient.publishTrigger.payload.label = Payload Condition -channel-type.config.xmppclient.publishTrigger.payload.description = An optional condition on the value +channel-type.config.xmppclient.publishTrigger.payload.description = Optional condition on the payload value channel-type.config.xmppclient.publishTrigger.separator.label = Separator Character -channel-type.config.xmppclient.publishTrigger.separator.description = The trigger channel payload usually only contains the received text. If you define a separator character, for example '#', the sender UID and received text will be in the trigger channel payload. For example: pavel@example.com#My Message Text. +channel-type.config.xmppclient.publishTrigger.separator.description = The trigger channel payload usually only contains the received text. If you define a separator character (e.g., '#'), the sender UID and received text will both be included. For example: "pavel@example.com#My Message Text". diff --git a/bundles/org.openhab.binding.xmppclient/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.xmppclient/src/main/resources/OH-INF/thing/thing-types.xml index db15e6ca45c83..13a009c8a488d 100644 --- a/bundles/org.openhab.binding.xmppclient/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.xmppclient/src/main/resources/OH-INF/thing/thing-types.xml @@ -6,40 +6,41 @@ - A connection to a XMPP server + A connection to an XMPP server - The XMPP Username (the left side of JID, e.g. user for JID user@example.com) + The XMPP username (the left part of the JID, e.g., "user" for user@example.com) - The XMPP Nickname to use in multi user chats. (Defaults to Username) + The XMPP nickname to use in multi-user chats (defaults to the username) true - The XMPP Domain (the right side of JID, e.g. example.com for JID user@example.com) + The XMPP domain (the right part of the JID, e.g., example.com for user@example.com) network-address - The XMPP Password + The XMPP password password - The IP/Hostname of the XMPP server (if not specified, the Domain will be used) + The IP address or hostname of the XMPP server (if not specified, the domain will be used) network-address - The default port is 5222. + Port for the XMPP server + 5222 true - An enumeration for TLS security modes that are available when making a connection to the XMPP server. + TLS security modes available when connecting to the XMPP server true @@ -61,13 +62,13 @@ - An optional condition on the value + Optional condition on the payload value The trigger channel payload usually only contains the received text. If you define a separator - character, for example '#', the sender UID and received text will be in the trigger channel payload. For example: - pavel@example.com#My Message Text. + character (e.g., '#'), the sender UID and received text will both be included. For example: "pavel@example.com#My + Message Text". From b437ec5e15909f8b06908f8d585905a2f3bc231d Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 1 Nov 2025 13:19:55 +0100 Subject: [PATCH 03/14] Y-bindings Signed-off-by: Leo Siepel --- .../README.md | 86 +++++++++---------- .../OH-INF/i18n/yamahamusiccast.properties | 10 +-- .../resources/OH-INF/thing/thing-types.xml | 10 +-- .../README.md | 78 ++++++++--------- .../src/main/resources/OH-INF/addon/addon.xml | 4 +- .../OH-INF/i18n/yamahareceiver.properties | 36 ++++---- .../resources/OH-INF/thing/thing-types.xml | 53 ++++++------ .../org.openhab.binding.yeelight/README.md | 26 +++--- .../main/resources/OH-INF/config/config.xml | 4 +- .../resources/OH-INF/i18n/yeelight.properties | 16 ++-- .../main/resources/OH-INF/thing/channels.xml | 15 ++-- .../org.openhab.binding.yioremote/README.md | 24 +++--- .../OH-INF/i18n/yioremote.properties | 14 +-- .../resources/OH-INF/thing/thing-types.xml | 16 ++-- 14 files changed, 195 insertions(+), 197 deletions(-) diff --git a/bundles/org.openhab.binding.yamahamusiccast/README.md b/bundles/org.openhab.binding.yamahamusiccast/README.md index 4f10fe10f6951..31482243cad64 100644 --- a/bundles/org.openhab.binding.yamahamusiccast/README.md +++ b/bundles/org.openhab.binding.yamahamusiccast/README.md @@ -1,9 +1,9 @@ # Yamaha MusicCast Binding Binding to control Yamaha models via their MusicCast protocol (aka Yamaha Extended Control). -With support for 4 zones: main, zone2, zone3, zone4. Main is always present. Zone2, Zone3, Zone4 are read from the model. +Supports up to four zones: main, zone2, zone3, and zone4. Main is always present; additional zones are detected from the model. -UDP events are captured to reflect changes in the binding for +UDP events are captured to reflect changes for: - Power - Mute @@ -19,64 +19,64 @@ UDP events are captured to reflect changes in the binding for - Shuffle - Play Time - Total Time -- Musiccast Link +- MusicCast Link -If your Yamaha model doesn't support the MusicCast protocol, please try the [Yamaha Receiver Binding](https://www.openhab.org/addons/bindings/yamahareceiver/#yamaha-receiver-binding) instead. +If your Yamaha model doesn't support the MusicCast protocol, try the [Yamaha Receiver Binding](https://www.openhab.org/addons/bindings/yamahareceiver/#yamaha-receiver-binding) instead. The Yamaha Receiver will send update messages to UDP port 41100. ## Supported Things -Each model (AV Receiver, ...) is a Thing (Thing Type ID: yamahamusiccast:device). Things are linked to a Bridge (Thing Type ID: yamahamusiccast:bridge) for receiving UDP events. +Each model (AV receiver, etc.) is a thing (Thing Type ID: `yamahamusiccast:device`). Things are linked to a bridge (Thing Type ID: `yamahamusiccast:bridge`) for receiving UDP events. ## Discovery -No auto discovery +Auto-discovery via UPnP is supported for Yamaha devices that advertise as MediaRenderer. You can also add things manually. ## Thing Configuration -| Parameter | Type | Description | Advanced | Required | -|--------------------|---------|---------------------------------------------------------|----------|---------------| -| host | String | IP address of the Yamaha model (AVR, ...) | false | true | -| syncVolume | Boolean | Sync volume across linked models (default=false) | false | false | -| defaultAfterMCLink | String | Default Input value for client when MC Link is broken | false | false | -| volumeDbMin | Number | Lowest volume in dB. | true | false | -| volumeDbMax | Number | Highest volume in dB. | true | false | +| Parameter | Type | Description | Advanced | Required | +|--------------------|---------|----------------------------------------------------------|----------|----------| +| host | String | IP address of the Yamaha model (AVR, etc.) | false | true | +| syncVolume | Boolean | Sync volume across linked models (default: false) | false | false | +| defaultAfterMCLink | String | Default input value for the client when MC Link is broken | false | false | +| volumeDbMin | Number | Lowest volume in dB | true | false | +| volumeDbMax | Number | Highest volume in dB | true | false | -Default value for _defaultAfterMCLink_ is _NET RADIO_ (as _net_radio_) as most of the models have this on board. +Default value for _defaultAfterMCLink_ is _NET RADIO_ (as _net_radio_) since most models have this on board. You can also use _RADIO / TUNER_ (as _tuner_). ## Channels -| channel | type | description | -|-----------------|----------------------|---------------------------------------------------------------------| -| power | Switch | Power ON/OFF | -| mute | Switch | Mute ON/OFF | -| volume | Dimmer | Volume as % (recalculated based on Max Volume Model) | -| volumeAbs | Number | Volume as absolute value | -| volumeDB | Number:Dimensionless | Volume in decibel (dB) (availability depends on device) | -| input | String | See below for list | -| soundProgram | String | See below for list | -| selectPreset | String | Select Netradio/USB preset (fetched from Model) | +| channel | type | description | +|----------------|----------------------|----------------------------------------------------------------------| +| power | Switch | Power ON/OFF | +| mute | Switch | Mute ON/OFF | +| volume | Dimmer | Volume in % (scaled to the model's maximum volume) | +| volumeAbs | Number | Volume as an absolute value | +| volumeDB | Number:Dimensionless | Volume in decibels (dB); availability depends on device | +| input | String | See the list below | +| soundProgram | String | See the list below | +| selectPreset | String | Select Net Radio/USB preset (fetched from the model) | | selectPresetDAB | String | Select DAB tuner preset (fetched from Model) | | selectPresetFM | String | Select FM tuner preset (fetched from Model) | -| sleep | Number | Fixed values for Sleep: 0/30/60/90/120 in minutes | -| recallScene | Number | Select a scene (8 defaults scenes are foreseen) | -| player | Player | PLAY/PAUSE/NEXT/PREVIOUS/REWIND/FASTFORWARD | -| artist | String | Artist | -| track | String | Track | -| album | String | Album | -| albumArt | Image | Album Art | -| repeat | String | Toggle Repeat. Available values: Off, One, All | -| shuffle | String | Toggle Shuffle. Available values: Off, On, Songs, Album | -| playTime | String | Play time of current selection: radio, song, track, ... | -| totalTime | String | Total time of current selection: radio, song, track, ... | -| mclinkStatus | String | Select your Musiccast Server or set to Standalone, Server or Client | +| sleep | Number | Fixed values for sleep: 0/30/60/90/120 minutes | +| recallScene | Number | Select a scene (8 default scenes are provided) | +| player | Player | PLAY/PAUSE/NEXT/PREVIOUS/REWIND/FASTFORWARD | +| artist | String | Artist | +| track | String | Track | +| album | String | Album | +| albumArt | Image | Album art | +| repeat | String | Toggle repeat: Off, One, All | +| shuffle | String | Toggle shuffle: Off, On, Songs, Albums | +| playTime | Number:Time | Play time of the current selection: radio, song, track, ... | +| totalTime | String | Total time of the current selection: radio, song, track, ... | +| mclinkStatus | String | Choose your MusicCast server or set to Standalone, Server, or Client | | Zones | description | |----------------------|------------------------------------------------------| -| zone1-4 | Zone 1 to 4 to control Power, Volume, ... | -| playerControls | Separate zone for Play, Pause, ... | +| zone1-4 | Zones 1 to 4 to control Power, Volume, etc. | +| playerControls | Separate zone for Play, Pause, etc. | ## Input List @@ -137,7 +137,7 @@ String YamahaSoundProgram "" {channel="yamahamusiccast:device:virtual:Living:mai ```java Player YamahaPlayer "" {channel="yamahamusiccast:device:virtual:Living:playerControls#player"} -String YamahaArt "" {channel="yamahamusiccast:device:virtual:Living:playerControls#albumArt"} +Image 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"} @@ -145,7 +145,7 @@ String YamahaAlbum "" {channel="yamahamusiccast:device:virtual:Living:playerCont ### MusicCast setup -The idea here is to select what device/model will be the master. This needs to be done per device/model which will then be the slave. +The idea here is to select which device/model will be the master. This needs to be done for each device/model that will be a slave. If you want the _Living_ to be the master for the _Kitchen_, select _Living - zone (IP)_ from the thing _Kitchen_. The binding will check if there is already a group active for which _Living_ is the master. If yes, this group will be used and _Kitchen_ will be added. If not, a new group will be created. @@ -153,14 +153,14 @@ If not, a new group will be created. _Device A_: Living with IP 192.168.1.1 _Device B_: Kitchen with IP 192.168.1.2 -Set **mclinkStatus** to _Standalone_ to remove the device/model from the current active group. The group will keep on exist with other devices/models. +Set **mclinkStatus** to _Standalone_ to remove the device/model from the current active group. The group will continue to exist with other devices/models. If the device/model is the server, the group will be disbanded. ```java String YamahaMCLinkStatus "" {channel="yamahamusiccast:device:Living:main#mclinkStatus"} ``` -During testing with the Yamaha Musiccast app, when removing a slave from the group, the status of the client remained _client_ and **input** stayed on _mclink_. Only when changing input, the slave was set to _standalone_. Therefor you can set the parameter **defaultAfterMCLink** to an input value supported by your device to break the whole Musiccast Link in OH. +During testing with the Yamaha MusicCast app, when removing a slave from the group, the status of the client remained _client_ and **input** stayed on _mclink_. Only when changing input was the slave set to _standalone_. Therefore you can set the parameter **defaultAfterMCLink** to an input value supported by your device to break the whole MusicCast Link in openHAB. #### How to use this in a rule? @@ -176,5 +176,5 @@ sendCommand(Kitchen_YamahaMCServer, "client") ## Tested Models -RX-D485 / WX-010 / WX-030 / ISX-80 / YSP-1600 / RX-A860 / R-N303D / EX-A1080 / WXA-050 / HTR-4068 (RX-V479) +RX-D485 / WX-010 / WX-030 / ISX-80 / YSP-1600 / RX-A860 / R-N303D / RX-A1080 / WXA-050 / HTR-4068 (RX-V479) MusicCast 20 / WCX-50 / RX-V4A / RX-V6A / YAS-306 / ISX-18D / WX-021 / YAS-408 diff --git a/bundles/org.openhab.binding.yamahamusiccast/src/main/resources/OH-INF/i18n/yamahamusiccast.properties b/bundles/org.openhab.binding.yamahamusiccast/src/main/resources/OH-INF/i18n/yamahamusiccast.properties index 175059b2d3b08..3d7c36b320a14 100644 --- a/bundles/org.openhab.binding.yamahamusiccast/src/main/resources/OH-INF/i18n/yamahamusiccast.properties +++ b/bundles/org.openhab.binding.yamahamusiccast/src/main/resources/OH-INF/i18n/yamahamusiccast.properties @@ -13,14 +13,14 @@ thing-type.yamahamusiccast.device.description = Your Yamaha model with MusicCast # thing types config thing-type.config.yamahamusiccast.device.defaultAfterMCLink.label = MC Link Default Value -thing-type.config.yamahamusiccast.device.defaultAfterMCLink.description = Default value for client when MC Link is broken +thing-type.config.yamahamusiccast.device.defaultAfterMCLink.description = Default input value for the client when MC Link is broken. thing-type.config.yamahamusiccast.device.defaultAfterMCLink.option.none = None thing-type.config.yamahamusiccast.device.defaultAfterMCLink.option.net_radio = Net Radio thing-type.config.yamahamusiccast.device.defaultAfterMCLink.option.tuner = Radio thing-type.config.yamahamusiccast.device.host.label = Address thing-type.config.yamahamusiccast.device.host.description = The IP address of the AVR to control. thing-type.config.yamahamusiccast.device.syncVolume.label = Sync Volume -thing-type.config.yamahamusiccast.device.syncVolume.description = Sync Volume across linked Music Cast models +thing-type.config.yamahamusiccast.device.syncVolume.description = Sync volume across linked MusicCast models. thing-type.config.yamahamusiccast.device.volumeDbMax.label = Maximum Volume thing-type.config.yamahamusiccast.device.volumeDbMax.description = Highest volume in dB. thing-type.config.yamahamusiccast.device.volumeDbMin.label = Minimum Volume @@ -44,8 +44,8 @@ channel-type.yamahamusiccast.artist.label = Artist channel-type.yamahamusiccast.artist.description = Artist channel-type.yamahamusiccast.input.label = Input channel-type.yamahamusiccast.input.description = Input source -channel-type.yamahamusiccast.mclinkStatus.label = Status MusicCast -channel-type.yamahamusiccast.mclinkStatus.description = MusicCast Status +channel-type.yamahamusiccast.mclinkStatus.label = MusicCast Link Status +channel-type.yamahamusiccast.mclinkStatus.description = Status of the MusicCast link channel-type.yamahamusiccast.playTime.label = Play Time channel-type.yamahamusiccast.playTime.description = Play Time channel-type.yamahamusiccast.player.label = NetRadio/USB Player @@ -85,7 +85,7 @@ channel-type.yamahamusiccast.sleep.state.option.60 = 60 min channel-type.yamahamusiccast.sleep.state.option.90 = 90 min channel-type.yamahamusiccast.sleep.state.option.120 = 120 min channel-type.yamahamusiccast.soundProgram.label = Sound Program -channel-type.yamahamusiccast.soundProgram.description = SoundProgram +channel-type.yamahamusiccast.soundProgram.description = Sound program channel-type.yamahamusiccast.totalTime.label = Total Time channel-type.yamahamusiccast.totalTime.description = Total Time channel-type.yamahamusiccast.track.label = Track diff --git a/bundles/org.openhab.binding.yamahamusiccast/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.yamahamusiccast/src/main/resources/OH-INF/thing/thing-types.xml index 9b789071e0dd7..b328f639e77e3 100644 --- a/bundles/org.openhab.binding.yamahamusiccast/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.yamahamusiccast/src/main/resources/OH-INF/thing/thing-types.xml @@ -28,12 +28,12 @@ - Sync Volume across linked Music Cast models + Sync volume across linked MusicCast models. false - Default value for client when MC Link is broken + Default input value for the client when MC Link is broken. net_radio @@ -118,7 +118,7 @@ String - SoundProgram + Sound program Status SoundVolume @@ -246,8 +246,8 @@ String - - MusicCast Status + + Status of the MusicCast link Number:Time diff --git a/bundles/org.openhab.binding.yamahareceiver/README.md b/bundles/org.openhab.binding.yamahareceiver/README.md index c7d659ca36efa..1fb95d4647a35 100644 --- a/bundles/org.openhab.binding.yamahareceiver/README.md +++ b/bundles/org.openhab.binding.yamahareceiver/README.md @@ -1,10 +1,10 @@ # Yamaha Receiver Binding -This binding connects openHAB with Yamaha Receivers of product line CX-A5000, RX-A860, RX-A30xx, RX-A20xx, RX-A10xx, RX-Vxxx, RX-Z7, DSP-Z7, RX-S600, RX-S601D, HTR-xxxx. +This binding connects openHAB with Yamaha receivers of product lines CX-A5000, RX-A860, RX-A30xx, RX-A20xx, RX-A10xx, RX-Vxxx, RX-Z7, DSP-Z7, RX-S600, RX-S601D, HTR-xxxx. -If your hardware is on the list but still does not work, please fill a bug report! +If your hardware is on the list but still does not work, please file a bug report! -If your Yamaha receiver is not on the list, it likely is a newer model that supports MusicCast, please try the [MusicCast Binding](https://www.openhab.org/addons/bindings/yamahamusiccast/) instead. +If your Yamaha receiver is not on the list, it likely is a newer model that supports MusicCast; try the [MusicCast Binding](https://www.openhab.org/addons/bindings/yamahamusiccast/) instead. ## Supported Things @@ -15,9 +15,9 @@ If your Yamaha receiver is not on the list, it likely is a newer model that supp ## Discovery -Just use the auto discovery feature to detect your hardware. +Use the auto-discovery feature to detect your hardware. Initially a thing for the main zone will be created. -This will trigger a zone detection internally and all available additional zones will appear as new things. +This will trigger a zone detection internally, and all available additional zones will appear as new things. ## Thing Configuration @@ -34,22 +34,22 @@ Bridge yamahareceiver:yamahaAV:ReceiverID "Yamaha Receiver Bridge Name" [host="a Configuration parameters for Bridge `yamahaAV`: -| Parameter | Required | Default | Description | -|-------------------|----------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------| -| `host` | yes | N/A | The IP address of the AVR to control | -| `port` | no | 80 | The API port of the AVR to control | -| `refreshInterval` | no | 60 | Refresh interval in seconds | -| `albumUrl` | no | embedded image URL | When the album image is not provided by the Yamaha input source, you can specify the default image URL to apply | -| `inputMapping` | no | "" (empty string) | Some Yamaha models return different input values on status update than required in the change input commands. See [below](#input-values) for details | +| Parameter | Required | Default | Description | +|-------------------|----------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| +| `host` | yes | N/A | The IP address of the AVR to control | +| `port` | no | 80 | The API port of the AVR to control | +| `refreshInterval` | no | 60 | Refresh interval in seconds | +| `albumUrl` | no | embedded image URL | When the album image is not provided by the Yamaha input source, you can specify a default image URL to use | +| `inputMapping` | no | "" (empty string) | Some Yamaha models return different input values on status update than required in the change input commands; see [below](#input-values) for details | Configuration parameters for Thing `zone`: -| Parameter | Required | Default | Description | -|------------------------------|----------|---------|----------------------------------------------------------------------------| +| Parameter | Required | Default | Description | +|------------------------------|----------|---------|-----------------------------------------------------------------------------| | `zone` | yes | / | The zone can be Main_Zone, Zone_2, Zone_3, Zone_4 depending on your device | -| `volumeRelativeChangeFactor` | no | 2 | Relative volume change in percent | -| `volumeDbMin` | no | -80 | Lowest volume in dB | -| `volumeDbMax` | no | 12 | Highest volume in dB | +| `volumeRelativeChangeFactor` | no | 2 | Relative volume change in % | +| `volumeDbMin` | no | -80 | Lowest volume in dB | +| `volumeDbMax` | no | 12 | Highest volume in dB | ## Channels @@ -57,10 +57,10 @@ The implemented channels for the `yamahaAV` bridge are: | Channel | openHAB Type | Comment | |---------------------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `power` | `Switch` | Switches the AVR ON or OFF. Your receiver has to be in network standby for this to work. | -| `party_mode` | `Switch` | Switches the party mode. May not be supported on all models. | -| `party_mode_mute` | `Switch` | Switches the mute ON or OFF when in party mode. Write only (state updates are not available). Applicable only when party mode is on. May not be supported on all models. | -| `party_mode_volume` | `Dimmer` | Increase or decrease volume when in party mode. Write only (state updates are not available). INCREASE / DECREASE commands only. Applicable only when party mode is on. May not be supported on all models. | +| `power` | `Switch` | Switches the AVR on or off. Your receiver must be in network standby for this to work. | +| `party_mode` | `Switch` | Switches party mode on or off. May not be supported on all models. | +| `party_mode_mute` | `Switch` | Switches mute on or off when in party mode. Write only (state updates are not available). Applicable only when party mode is on. May not be supported on all models. | +| `party_mode_volume` | `Dimmer` | Increase or decrease volume when in party mode. Write only (state updates are not available). INCREASE/DECREASE commands only. Applicable only when party mode is on. May not be supported on all models. | The implemented channels for a `zone` thing are grouped in three groups. These are the zones supported: `Main_Zone`, `Zone_2`, `Zone_3`, `Zone_4`. @@ -68,24 +68,24 @@ Zone control channels are: | Channel | openHAB Type | Comment | |-----------------------------------------------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `zone_channels#power` | `Switch` | Switches the zone ON or OFF. Your receiver has to be in network standby for this to work. | -| `zone_channels#mute` | `Switch` | Mute or Unmute the receiver. | -| `zone_channels#volume` | `Dimmer` | Sets the receivers volume as percentage. | -| `zone_channels#volumeDB` | `Number` | Sets the receivers volume in dB. | -| `zone_channels#input` | `String` | Sets the input selection, depends on your receiver's real inputs. Examples: HDMI1, HDMI2, AV4, TUNER, NET RADIO, etc. | -| `zone_channels#surroundProgram` | `String` | Sets the surround mode. Examples: `2ch Stereo`, `7ch Stereo`, `Hall in Munic`, `Straight`, `Surround Decoder`. | -| `zone_channels#scene` | `String` | Sets the scene. Examples: `Scene 1`, `Scene 2`, `Scene 3`, `Scene 4`. Write only (state updates are not available). May not be supported on all models (e.g. RX-V3900). | -| `zone_channels#dialogueLevel` | `Number` | Sets the receivers dialogue level. May not be supported on all models. | -| `zone_channels#hdmi1Out` | `Number` | Switches the HDMI1 Output ON or OFF (channel in desc.xml is placed in Main_Zone but in fact it is more some kind of system parameter). May not be supported on all models. | -| `zone_channels#hdmi2Out` | `Number` | Switches the HDMI2 Output ON or OFF (channel is desc.xml is placed in Main_Zone but in fact it is more some kind of system parameter). May not be supported on all models. | -| `playback_channels#preset` | `Number` | Set a preset. Not supported by `Spotify` input. For `NET RADIO` input there is no way to get current preset (tested on RX-S601D, RX-V3900), so the preset is write only. For RX-V3900 the presets are alphanumeric `A1`,`A2`,`B1`,`B2` thus you need to use numbers grater than 100 that represent these presets as follows: 101, 102, 201, 202. | -| `playback_channels#playback` | `String` | Set a play mode or get the current play mode. Values supported: `Previous`, `Play`, `Pause`, `Stop`, `Next`. Applies for inputs which support playback (`Spotify`, `SERVER`, `NET RADIO`, `Bluetooth`). Note that some values may not be supported on certain input type and AVR model combination. For `Spotify` and `Bluetooth` all values work, but for `NET RADIO` input only `Play` and `Stop` are supported (tested on RX-S601D). | -| `playback_channels#playback_station` | `String` | Get the current played station (radio). Applies to `TUNER` and `NET RADIO` inputs only. | -| `playback_channels#playback_artist` | `String` | Get the current played artist. | -| `playback_channels#playback_album` | `String` | Get the current played album. | -| `playback_channels#playback_song` | `String` | Get the current played song. | -| `playback_channels#playback_song_image_url` | `String` | Get the current played song image URL. Applies to `Spotify` and `NET RADIO` inputs only. | -| `playback_channels#tuner_band` | `String` | Set the band (FM or DAB) for tuner input when device supports DAB+ (e.g. RX-S601D). Values supported: `FM`, `DAB`. Applies to `TUNER` input only. | +| `zone_channels#power` | `Switch` | Switches the zone on or off. Your receiver must be in network standby for this to work. | +| `zone_channels#mute` | `Switch` | Mute or unmute the receiver. | +| `zone_channels#volume` | `Dimmer` | Sets the receiver's volume as a percentage. | +| `zone_channels#volumeDB` | `Number` | Sets the receiver's volume in dB. | +| `zone_channels#input` | `String` | Sets the input selection; depends on your receiver's actual inputs. Examples: HDMI1, HDMI2, AV4, TUNER, NET RADIO, etc. | +| `zone_channels#surroundProgram` | `String` | Sets the surround mode. Examples: `2ch Stereo`, `7ch Stereo`, `Hall in Munich`, `Straight`, `Surround Decoder`. | +| `zone_channels#scene` | `String` | Sets the scene. Examples: `Scene 1`, `Scene 2`, `Scene 3`, `Scene 4`. Write only (state updates are not available). May not be supported on all models (e.g., RX-V3900). | +| `zone_channels#dialogueLevel` | `Number` | Sets the receiver's dialogue level. May not be supported on all models. | +| `zone_channels#hdmi1Out` | `Switch` | Switches the HDMI1 output on or off (channel is placed in Main_Zone but is effectively a system parameter). May not be supported on all models. | +| `zone_channels#hdmi2Out` | `Switch` | Switches the HDMI2 output on or off (channel is placed in Main_Zone but is effectively a system parameter). May not be supported on all models. | +| `playback_channels#preset` | `Number` | Set a preset. Not supported by `Spotify` input. For `NET RADIO` input there is no way to get the current preset (tested on RX-S601D, RX-V3900), so the preset is write only. For RX-V3900 the presets are alphanumeric `A1`, `A2`, `B1`, `B2`, so you need to use numbers greater than 100 to represent these presets as follows: 101, 102, 201, 202. | +| `playback_channels#playback` | `String` | Set a play mode or get the current play mode. Supported values: `Previous`, `Play`, `Pause`, `Stop`, `Next`. Applies to inputs that support playback (`Spotify`, `SERVER`, `NET RADIO`, `Bluetooth`). Note that some values may not be supported for certain input type and AVR model combinations. For `Spotify` and `Bluetooth` all values work, but for `NET RADIO` input only `Play` and `Stop` are supported (tested on RX-S601D). | +| `playback_channels#playback_station` | `String` | Get the currently played station (radio). Applies to `TUNER` and `NET RADIO` inputs only. | +| `playback_channels#playback_artist` | `String` | Get the currently played artist. | +| `playback_channels#playback_album` | `String` | Get the currently played album. | +| `playback_channels#playback_song` | `String` | Get the currently played song. | +| `playback_channels#playback_song_image_url` | `String` | Get the currently played song image URL. Applies to `Spotify` and `NET RADIO` inputs only. | +| `playback_channels#tuner_band` | `String` | Set the band (FM or DAB) for tuner input when the device supports DAB+ (e.g., RX-S601D). Supported values: `FM`, `DAB`. Applies to `TUNER` input only. | | `navigation_channels#navigation_menu` | `String` | Select or display the full or relative path to an item. | | `navigation_channels#navigation_current_item` | `Number` | Get the current item of the current menu. | | `navigation_channels#navigation_total_items` | `Number` | Get the total count items in the current menu. | diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/addon/addon.xml b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/addon/addon.xml index a8724b936d3bf..d52364ae13f55 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/addon/addon.xml +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/addon/addon.xml @@ -4,8 +4,8 @@ xsi:schemaLocation="https://openhab.org/schemas/addon/v1.0.0 https://openhab.org/schemas/addon-1.0.0.xsd"> binding - YamahaReceiver Binding - This is the binding for network enabled Yamaha receivers (without MusicCast support). + Yamaha Receiver Binding + This is the binding for network-enabled Yamaha receivers (without MusicCast support). local diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/i18n/yamahareceiver.properties b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/i18n/yamahareceiver.properties index e297ca4c08f59..525a2af43e7f5 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/i18n/yamahareceiver.properties +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/i18n/yamahareceiver.properties @@ -1,25 +1,25 @@ # add-on -addon.yamahareceiver.name = YamahaReceiver Binding -addon.yamahareceiver.description = This is the binding for network enabled Yamaha receivers (without MusicCast support). +addon.yamahareceiver.name = Yamaha Receiver Binding +addon.yamahareceiver.description = This is the binding for network-enabled Yamaha receivers (without MusicCast support). # thing types thing-type.yamahareceiver.yamahaAV.label = Yamaha Receiver -thing-type.yamahareceiver.yamahaAV.description = Yamaha Receiver of product line CX-A5000, RX-A30xx, RX-A20xx, RX-A10xx, RX-Vxxx, RX-Z7, DSP-Z7, RX-S600, HTR-xxxx +thing-type.yamahareceiver.yamahaAV.description = Yamaha receiver of product lines CX-A5000, RX-A30xx, RX-A20xx, RX-A10xx, RX-Vxxx, RX-Z7, DSP-Z7, RX-S600, HTR-xxxx thing-type.yamahareceiver.zone.label = Yamaha Receiver Zone thing-type.yamahareceiver.zone.description = Yamaha Receiver Zone # thing types config thing-type.config.yamahareceiver.yamahaAV.albumUrl.label = Album URL -thing-type.config.yamahareceiver.yamahaAV.albumUrl.description = When the album image is not provided by the Yamaha input source, you can specify the default image URL to apply. +thing-type.config.yamahareceiver.yamahaAV.albumUrl.description = When the album image is not provided by the Yamaha input source, you can specify a default image URL to use. thing-type.config.yamahareceiver.yamahaAV.host.label = Address thing-type.config.yamahareceiver.yamahaAV.host.description = The address of the AVR to control. thing-type.config.yamahareceiver.yamahaAV.inputMapping.label = Input Mapping -thing-type.config.yamahareceiver.yamahaAV.inputMapping.description = Some Yamaha models return different input values on status update than required in the change input commands. For example: HDMI1 command may be reported as HDMI_1 after status update. There are other related edge cases (USB, iPad_USB). This setting allows the user to customize the return input mapping to meet their AVR model. The setting is a comma separated list of value mapping from to. Example: HDMI_1=HDMI1,HDMI 1=HDMI1,HDMI1=HDMI1 +thing-type.config.yamahareceiver.yamahaAV.inputMapping.description = Some Yamaha models return different input values on status update than required in the change input commands. For example, an HDMI1 command may be reported as HDMI_1 after status update. There are other related edge cases (USB, iPad_USB). This setting allows you to customize the return input mapping to meet your AVR model requirements. The setting is a comma-separated list of value mappings in the format from=to. Example: HDMI_1=HDMI1,HDMI 1=HDMI1,HDMI1=HDMI1 thing-type.config.yamahareceiver.yamahaAV.port.label = Port -thing-type.config.yamahareceiver.yamahaAV.port.description = The API port of the AVR to control. Usually 80 +thing-type.config.yamahareceiver.yamahaAV.port.description = The API port of the AVR to control (usually 80). thing-type.config.yamahareceiver.yamahaAV.refreshInterval.label = Refresh Interval thing-type.config.yamahareceiver.yamahaAV.refreshInterval.description = Refresh interval in seconds. thing-type.config.yamahareceiver.zone.volumeDbMax.label = Maximum Volume @@ -27,9 +27,9 @@ thing-type.config.yamahareceiver.zone.volumeDbMax.description = Highest volume i thing-type.config.yamahareceiver.zone.volumeDbMin.label = Minimum Volume thing-type.config.yamahareceiver.zone.volumeDbMin.description = Lowest volume in dB. thing-type.config.yamahareceiver.zone.volumeRelativeChangeFactor.label = Relative Volume Change -thing-type.config.yamahareceiver.zone.volumeRelativeChangeFactor.description = Relative volume change in percent. +thing-type.config.yamahareceiver.zone.volumeRelativeChangeFactor.description = Relative volume change in %. thing-type.config.yamahareceiver.zone.zone.label = Zone -thing-type.config.yamahareceiver.zone.zone.description = The zone can be Main_Zone, ZONE_2, ZONE_3, ZONE_4 depending on your device. +thing-type.config.yamahareceiver.zone.zone.description = The zone: Main_Zone, ZONE_2, ZONE_3, or ZONE_4 depending on your device. # channel group types @@ -87,11 +87,11 @@ channel-type.yamahareceiver.defaultpreset.state.option.40 = Item_40 channel-type.yamahareceiver.dialogueLevel.label = Dialogue Level channel-type.yamahareceiver.dialogueLevel.description = Set the dialogue level channel-type.yamahareceiver.hdmi1Out.label = HDMI1 Output -channel-type.yamahareceiver.hdmi1Out.description = Switch the HDMI1 Output ON/OFF +channel-type.yamahareceiver.hdmi1Out.description = Switch the HDMI1 output on/off channel-type.yamahareceiver.hdmi2Out.label = HDMI2 Output -channel-type.yamahareceiver.hdmi2Out.description = Switch the HDMI2 Output ON/OFF +channel-type.yamahareceiver.hdmi2Out.description = Switch the HDMI2 output on/off channel-type.yamahareceiver.mute.label = Mute -channel-type.yamahareceiver.mute.description = Enable/Disable Mute on the AVR +channel-type.yamahareceiver.mute.description = Enable/disable mute on the AVR channel-type.yamahareceiver.navigation_back.label = Back channel-type.yamahareceiver.navigation_back.description = Go one level back channel-type.yamahareceiver.navigation_backtoroot.label = Back to Root @@ -99,21 +99,21 @@ channel-type.yamahareceiver.navigation_backtoroot.description = Go back to the r channel-type.yamahareceiver.navigation_current_item.label = Item channel-type.yamahareceiver.navigation_current_item.description = Shows the current item number channel-type.yamahareceiver.navigation_leftright.label = Left/Right -channel-type.yamahareceiver.navigation_leftright.description = Allows to move the cursor left/right +channel-type.yamahareceiver.navigation_leftright.description = Move the cursor left/right channel-type.yamahareceiver.navigation_level.label = Menu Depth channel-type.yamahareceiver.navigation_level.description = Hierarchical level channel-type.yamahareceiver.navigation_menu.label = Menu -channel-type.yamahareceiver.navigation_menu.description = Shows the current navigation menu and allows to change to a channel by a full path. For example for net radio: Bookmarks/__My_Favorites/radio_station_name. You can also just use the station name without a full path if the AVR is in that navigation menu already. +channel-type.yamahareceiver.navigation_menu.description = Shows the current navigation menu and allows changing to a channel by a full path. For example, for Net Radio: Bookmarks/__My_Favorites/radio_station_name. You can also just use the station name without a full path if the AVR is in that navigation menu already. channel-type.yamahareceiver.navigation_select.label = Select channel-type.yamahareceiver.navigation_select.description = Select the current cursor item channel-type.yamahareceiver.navigation_total_items.label = Items channel-type.yamahareceiver.navigation_total_items.description = Shows the maximum item number channel-type.yamahareceiver.navigation_updown.label = Up/Down -channel-type.yamahareceiver.navigation_updown.description = Allows to move the cursor up/down +channel-type.yamahareceiver.navigation_updown.description = Move the cursor up/down channel-type.yamahareceiver.party_mode.label = Party Mode -channel-type.yamahareceiver.party_mode.description = Party mode ON/OFF +channel-type.yamahareceiver.party_mode.description = Party mode on/off channel-type.yamahareceiver.party_mode_mute.label = Party Mode Mute -channel-type.yamahareceiver.party_mode_mute.description = Mute when party mode +channel-type.yamahareceiver.party_mode_mute.description = Mute when in party mode channel-type.yamahareceiver.party_mode_volume.label = Party Mode Volume Up/Down channel-type.yamahareceiver.party_mode_volume.description = Increase or decrease of party mode volume channel-type.yamahareceiver.playback.label = Playback Control @@ -136,7 +136,7 @@ channel-type.yamahareceiver.playback_song_image_url.description = Track picture channel-type.yamahareceiver.playback_station.label = Station channel-type.yamahareceiver.playback_station.description = Current station name channel-type.yamahareceiver.power.label = Power -channel-type.yamahareceiver.power.description = Power the AVR or zone ON/OFF +channel-type.yamahareceiver.power.description = Power the AVR or zone on/off channel-type.yamahareceiver.scene.label = Scene channel-type.yamahareceiver.scene.description = Set the active scene of the AVR channel-type.yamahareceiver.scene.state.option.Scene\ 1 = Scene 1 @@ -178,4 +178,4 @@ channel-type.yamahareceiver.tuner_band.state.option.DAB = DAB+ channel-type.yamahareceiver.volume.label = Volume channel-type.yamahareceiver.volume.description = Set the volume level channel-type.yamahareceiver.volumeDB.label = Volume in dB -channel-type.yamahareceiver.volumeDB.description = Set the volume level (dB) +channel-type.yamahareceiver.volumeDB.description = Set the volume level in dB diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/thing/thing-types.xml index 3e05b41a96916..fd15910553b63 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/thing/thing-types.xml @@ -6,7 +6,7 @@ - Yamaha Receiver of product line CX-A5000, RX-A30xx, RX-A20xx, RX-A10xx, RX-Vxxx, RX-Z7, DSP-Z7, + Yamaha receiver of product lines CX-A5000, RX-A30xx, RX-A20xx, RX-A10xx, RX-Vxxx, RX-Z7, DSP-Z7, RX-S600, HTR-xxxx @@ -34,7 +34,7 @@ - The API port of the AVR to control. Usually 80 + The API port of the AVR to control (usually 80). 80 true @@ -47,9 +47,8 @@ - When the album image is not provided by the Yamaha input source, you can specify the default image - URL - to apply. + When the album image is not provided by the Yamaha input source, you can specify a default image URL to + use. data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gBKRmlsZSBzb3VyY2U6IGh0dHBzOi8vY29tbW9ucy53aWtpbWVkaWEub3JnL3dpa2kvRmlsZTpSZWNvcmQtQWxidW0tMDIuanBn/+ICHElDQ19QUk9GSUxFAAEBAAACDGxjbXMCEAAAbW50clJHQiBYWVogB9wAAQAZAAMAKQA5YWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1sY21zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZGVzYwAAAPwAAABeY3BydAAAAVwAAAALd3RwdAAAAWgAAAAUYmtwdAAAAXwAAAAUclhZWgAAAZAAAAAUZ1hZWgAAAaQAAAAUYlhZWgAAAbgAAAAUclRSQwAAAcwAAABAZ1RSQwAAAcwAAABAYlRSQwAAAcwAAABAZGVzYwAAAAAAAAADYzIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABGQgAAWFlaIAAAAAAAAPbWAAEAAAAA0y1YWVogAAAAAAAAAxYAAAMzAAACpFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2N1cnYAAAAAAAAAGgAAAMsByQNjBZIIawv2ED8VURs0IfEpkDIYO5JGBVF3Xe1rcHoFibGafKxpv33Tw+kw////2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAClANwDASIAAhEBAxEB/8QAHAAAAAcBAQAAAAAAAAAAAAAAAAECAwQFBgcI/8QAQxAAAgEDAQUFBQYCCAUFAAAAAQIDAAQRBQYSITFBEyJRYXEHMoGRoRRCUrHB0WJyIzNDgpKi4fAIFRYkUzSDstLx/8QAGgEAAgMBAQAAAAAAAAAAAAAAAgMBBAUABv/EACwRAAICAQMDAwMEAwEAAAAAAAECAAMREiExBCJBUWHwE3HBMqGx4QUzgUL/2gAMAwEAAhEDEQA/APMv3vIgGiPM8uQ50XUcuooxksAOZGPGr0RFDiT54NK6nx4VJi0+6kQydj2cIHGSU7ij4molxLFESI5O2fqwBC/XifkKIqVGW2gBgxwu8cHM+AP6U20yL1zx6VDeRn5n4dKRSzb6Rgr9ZKN1gd1R8eNINxIevD5UxR0OsmHpEWZGPWiLsebH50mjrskzsQ8k9TQ+NFR4NEJ0Ug8zVpYouRnBHmAarUiZjwFXOkQRqQJn3RnjVmhSWAxK/UMAssZBB9mKmGDOPeCYPzBqkeR4JC0EjoR1ViD8xxq42jdGjjFowYAccDBrMtI59459aude4DaAOPMrdIhZdR8y8s9p9XtSNy+mYeEh7Qf5uP1q+stvpwAt9aQSjq0ZMbfLiKwy8VzxFGaqL1FicNHP0lL8rN7/ANRWjast7au8OcFllXGCOB4jgRXR7FvtunpexRObdju74GVDeGeVeeVZlPdJFXOgbT6toUu/pl9PbZ95Y2yjfzIe6flVivriP1iVbf8AHBt1M7kIFI4AVValazjUY7i3z3YuzwOB5/WqjQvaVZ3m7HrtkIZDwN1YjA9Wi/8Ar8q3Nsba+tBdafcQ3lqf7SI5x5MOYPrV5bVtHaZSNL0nuG0xGsWtnPazSXmnWzzKhYSGLdcEDhxqPtTawS6Js/b3qs9uRGxCtulid/Iz6YrSbVssWiXu4B/VFfnw/WqjaPThfX+l2rM4SFLbgPHcz+tLtXsYDk4nfUGtD4GfxK620nRLbjBo1qX8ZWaX6E4rQaal5cz26Kewt4mDbiKEUAdAorQR6ZEGPAk56cPyqakEVun3Yx58KBatJ5/EY9oYY5jSxnwpE00cT7r53sdBmmtQ1e2tEbDZbHx+X6ms8bLWNWJu4DHFE3BQ7lSR48q5798JuYtaM7tsJzW30GAEGeSSU+A7o/ejvb+w0cGOCCNrn8Cjl/Mf051C1vXsb1vp7eTTD8l/esyck5J41Tu6lKu2gb+sv09NZd3Xk49JL1DUbnUJN65kLAckHBV9BUShQrNYljljkzTVQgwowIKFHRVEKCjoUKkSIdChRgUwSIKUCPCiApQx4kUQkRyJ+QCk1bWdtLMO4VX+Y4qqjYD7zE1ZRiRYTJ2fcHNt7GPrVqjGreVr8+I3cOI2KSEAiojhW5EGnJnEvVW9TTAG70IobGyYSLge8PGBimiDSyxzw+lDIxSjGjaN8RQ50sqCOFIKEUJkwxkEHrVro+tXumXIntLiWCXl2kRwSPAjkw9aqVJHPlTygEZFSrFTkQXUEYM6tee0W62h2fGkXul6T2knZxrewQFJcBgTnieJxx5VN2z1BtL2vhVJFRY5Y99DjDhY4xjPTrXNdkITPtPp8SgnfkHAdeI6VvNvZ7RduZDfQLPGs0rMB76gSbuR4+7yq8js1ROd8zKuRRcARkAfP4mll2jmmyIYkTPRCz/lTCjVL5v6OORQep7o/etjp0NleWkV3ZMk1tKMpIpyD+xHUdKsUtlX3RgelOKFuTA+oB+kTJ6ZsyqOJb5u1ccQn3Qf1+NaRYd1QAOFTlh408sIxyqVATYRTFnO88Y0dChisCejgFHRUK6dBR0VHRCRBR0KMDNGBIgoCnkhzxY/AU+qqg5BaYFgFwJFWN25KxpYgkP3R860+jbJa/rIDabo97PGeUnZ7qf4mwK1Np7H9rZlBkgsbfylulz9M05aGPiKN85pFE6sMgfOrCaVltQisxzzWuhv7F9qlXKvpbnwFzj8xVVqXsx2wslLNo0k6L1tpFl+gOacqOgOBFM4Ygmc8IO9xBB8xSmOMAVZXtrPZTmC9gmt5h/ZzIUb5GoxhUngMHyquVIjhYDzI2KQw4cONOzIy8xlfEU0OFAYwHO8IEjzp1MMKLAbHQ9MdaG6QeHP86icd4sxg9KTgoeHOnYm3ufP8qcaPI5VOIvVjYzS+yuH7X7QtHjGQe2QcP5hT3tLmMm2VxIrYPekBHTeldv1qf7CbcP7SbBm4iJu0+ABb9Ko9s27Taa6BOWRIkPruA/rVjij/spnfqT6afz/AHLrYPa250K8JUGW2cg3Frng4/Gngw/0Nd/064ttRsIb2wlE1rMN5HH1BHQjkR0ryhEWRlZCQwOQfCuk+zTa/wD5Hd7tyWOlzsBcxjiYX/8AIo/MdR5imU2k7GJur0nIncVi606sPCpSIrKrIyujAMrKchgeIIPhinBFw4YppMWBPDXZGkshFTu2QjmKYkYMeFZpUTaVieRI2KGKkxIGyTRMg7xHIcKDRC1eJHxR4p5Ii65ojC1donahGwCTT8SUmNa2ns02RfazXhBIWTTrcCS6kXnu9FHmadVWWIUcxdjhRkwbC7C6ptbLvWwFtp6HEl3IO6PJR9413nZXYHZ3ZpUeGzW7vRzuroB2z5DkvwrR2sEFhZw2llCkNvEu7HGgwFFOqOprWroWsbcyizluZI7ZmAHQchRqX/FimhShIB1phkR0b34jTis4NNLID1p1TmhMmI1GxsNYtjbavZW95Cfuzxh/keYrk+2vsRikjku9jpTHIO8bCd8q3kjniD5H512BBmpMJKHypLqG5hCeJry0uLK7mtb2CS3uYm3JIpFwynwIqDcWuMvEPVa9b+1b2fW+2Wkvd2SJHr1shMMgGO2Uf2bePkehry4YnjkZJEZJEJVlYYKkcCDVRqoX1ChzKNR15jqKeUbwwefQ+NP3lv2bh1HcbmPA00q8cePL1qsRpODH6wwyIjdIOeo+tSYe8BRFcqHAOfD9KOIbsgA+9y9en7VI2gscidH9gcQ/6v1C5I/9PaXMn+GFqxe1UmdrNVYclm3MeSgD9K6J7Abdiu1F/uN2aWcke9jhvSOqAZ8cMa5xtBiTXdTlXk93Kf8AOcU5/wDSuPf5+8rV/wC98+3z9pHC8ARyNSrKb7PMJD7nuyDxHj8KYtOKsjchxHp1/enlGD3h5NQp6iS+N1M757HNoTNE2z95Jl4VMlk7H3o+sfwzkeR8q6gEOK8r7NahPZSQXNsxF1p8gdDnmvQfEZWvVGi3kWsaVbX9qQYp0Djjyz0qy3AMqIdyp8TwUDR5pAo6yQxm9iLDHPOj3jypsUYogxnYjiysvAHhS1lY5HjTFOQDL48qJWJgkCSY18a9LexbSk07YW2n3QJr5muJD1xnCj5D615tVcj4V6m9mc63GwOiPHyWDsz6qSDWn0Q3JlG85xNGOLE04KbXmfWnBV8xIiSSSAOZqZDAgGWBbhk45momCrq2OVTc9pEwU8wV+BGKEyRMpsZtgNo9R+xPpz20nYPO4IYdgQ+6ImLAbzle9w4DPXnWuki3OK8vCq7RtCisboT78rFARGrybwXIxnlzxVxMw3d0cSaWdjtCA9YUQyKlIlNQJgCpiLgcaUxhAR60BBwOnKvNft60CPSNvpLi3QLBqUQusAcA/J/qM/GvTVqneriH/EvuPrOz8Q/rEtpWb0LDH5GlA5bEG7ZMzhlxb79u646ZHwqoC90VrUt+4xI4bp/Ks0qd08KTcu4g9OxwYI1yT5gN+9IK4U/wmpUCd6P+Vv8A5U3OuEmPguaXp2jA287/AOxe33PZQ7HgZpAD/ekPGoG1/sF1COeaXZzVLe9Ejswt7sdjIOOeDjKn1O76VX+yDbFf+W6Ts09kXinmhWOeDLOHDDIZPDnxHL0r0siZdnb3mPrgeFMyCokEEMZ4h1vZnXNmLtE17SbyxG9jfljJRgfBxlT86ivHh8Ecxg+o4V6K9t+s2etpNshDtJY6UbZklvFuYpnWRiMqm9GpC44E5HMjwrk11sHrbQmfTEtNbhTvPJpFytyVGBkmMf0g455rXVkcGLtDbECZzR3KX8PTtVMZ9eY+o+tdl9nO0Z0/Z9rN7hYhBOyoGP3SAwx6Zx8K4qMwMWIKvBMrFSMFSGGQR051or2x7W4Yh2ULw4HHXP61cRNS4EzbbAj5Pn5+ZyKhQoVgiepgoxQoVInQ6XE27IpPKkgUKYoxBMtUFdo9g20KBbjZ65fDljPa5PvfiX9a4nYyh13G99eXmKs7SWW2uIri2kaKeJg6OpwVI61o9O+k6hKFoPBnrl0wcilqM1iPZ57QbTaOKOy1N47XWAMYY7qXHmp6HyremEqeAwfA1oZzEiJCDFLWPB7pxQXI5inkxQkwhAqv+I1IijA50SCpCYzS2MMCOxJUqNcnFNRITyFT4kWNGeQqqKMszHAUeJPSkM2IYEdgQIpZyFUDeZjyA6mvL3tI1obU7aXl/CSbRMW9t5ovX4nJrf8AtP8AaCmpQy6Js7KTaN3bq8Xh2g/Anl4nrXMYrYKBgYHSoRSNzK1zhthxKfUALexlbqV3R6nhWWEWEGaudb1Jbi77CDDQRni34j1NRIhHK3f4Ko3m9P8AfCgbubaQDpXeMwwkOOHuoB8Tx/ao1+u5a3LeQWrhYtyJnYd5iWP7fl8qg6hazTW8dtbRPNczOqJGgyzsxwFA6nlROulDFVWarAPeaT2EbJajtJrt/cW17e6fZ6ZAZ5Lu1n7F0kx3VRyCFY8cnHIEHnXZdoNtNrNgdJhvNVurPXLGdhFbyX1ubS8ViuQwKZSVV6n96tPZnsvZ6XsdpOmaVPDcB0Nxfyq26xmPFwQcHgAEHgFPWvP/ALcduztXtofsjiXS9Ozb2oPBXxwZ8D8R+gFVTpSoHkn9pfBd7TttKDULue+vJ7m5kaWaZ2lkdubsTkk/OrOHfgS3mhd4pk3CskbFWU4PEEcRVHZym5txMybpOeANaC4UxhU6qwU5/hUL+YNW6FGmZ3UudYHBj20Ot3+tW+9qtw11cQRlRcSgGVl4EBnxvPjHNiTVzcZEnqqn/KKydy2YJhjixCj4kCtrcwE3Eij7mF+QFW+nXkD2/MzetfdS3v8AicNoxRUBXnBPZQ6OhR4pgEiGvhSt0n1/OkgcccjT8eCN1udNUQScREeQQykhhxBq2tLlZMLJ3X+hqAUwcngfxdD6+FKxjgw401GKcRFgDiXQHzHEeIrfbK+1HXdESO3vCuqWa8Ak5xIo8n/fNcuiupIuHvr4GpkV7C/vEofOrSXDwcSo1TLvPSWje1fZi/CreSXGmynms8e8ufJlz+Va6x2g0C9ANrrWmyZ8LhQfkcV5KiKsMqwI8jUkQjdXKg/CnhsxRtK8z1+t1pwXeN/ZBfE3CfvUa62p2asFJutc01MdFmDt8lzXk1IFz7g+VTYIOWFA+FdpzAbq9PAnoLVfa/odqrJo9rdanL0Yr2UWfU8T8q53tJtlru1BMd/OIbLPC0t8qn97q3xrKQta2yA3E8SfzNx+VMXO0lrD3bOJ55PEjdX96WdKmdqssGTL6KNY4y7lUjUcWJwAKzeu679pRrXTiRGeDy8i3kPAVVX1/d6gR9qlxGOUa8APhTcUZZTu4SNfedjhR6n/AGaAsW2E7AXcxuOIkqkalmJwMdasLO2D4IwYUOSw5SMPD+EdPE8actbTfXiGWE8GY8GkHhj7q+XM9alu2/mOHCoo7zdFH706uvG5lW2/JwPnz5vGG78hJ/q04t5noKk6NqF3ouo2e0FrEssun3Hbxxsm+JCqnJI/CN4ZPTIxTcEP2p+zQmO2iwZHAyRnwHVjyA/SrjU76LZ3R3vHjAnKiKCHOd3mQuevVmPU5o2rDqdRwPJiRc1TroGWJ2E1W1Xtt0LXNjb8zbNxR7RzxmATxuUhIZSN9t1gWIzwU548civPEK9o+CfWmpWeWZ5ZCC7sWY4xknnVnpduYy0kq4PIAj61gompsCeodtC5MvNIEbdju4McY3m9BxwasJ5Dv97mo4+p4mqqG2MSdvBIYZW7xHNSvQEeZ/KjE8xO5NHhmOSynINaiOUXBExbKw7llMtdKh+2atp9t/5J1Zv5R3jVxrM9/JfM1hGWQ8X8mJJH+UrTGxsBaW+1B+6kSfZYj/G/vH4Ln510X2d6fFe6A99Io/7ud5VB6JwVf8qimszLUNBwSf2EqhVfqDqGQo/c/wBfxPMooUKOsUDM9TAKWtIpa8DTUgmPCLI6/qKNVxgMPQinYsHHjT+4DnkPyNPC5iC+NjGkOBx4jxpWAR3SMeB5f6Ul42TiOHry+f70jOD3gVP513HMHGdxDK46FfqKWoz03h5caCMQeBBp1ShP9ImD44xXAAyCSI/YRh5VAGTnlVrqTt3QCyEDHOmdMUxyrNEC+70YkindRL3MpdyqZPu4zWig00keTKFjarR6CV/bz9J3+Bo9+R/fmkP9404sAz70Z/un96kxW4/HGP8A2gfzzVQho3UviR4kjJAUbzeHM1J7Nl94LEp/Gd3Pw50//RBcPO5XwD7o+QxS4ZI0/qIcn8QHP40SpF2XHGwhQWu9xVC/8UmUX5e8fpU5Y4od15mEjr7uRhV/lUcqimZz78ioPBeJo4WZyTbRlsc5WPAerHgKsLgcSk+puT8+8mSSs4zITHH4feb9qOCJ7sJugxW2cAqMlj4KPvN58h1NLs9OMh7SXEnXefIjHw5t9B61bI6Q8UJaQjBduePAdAPIcKsJWW3MqPaqbLuY/axR2ka5RVKZKRg5CE82J+8x6n4DArK7ewXV+tr9nCyJFvFkDd7Jxxx8KtLzUAgbDAnqegrN39+0pKqTg8z40HUshrNcPoarBcLvImesrZjLvyqQqnkepq4t07V8tncXnjr5Cm40aVjg4A4sx6VJJCKEQYx9PM+ZrNrQKJtW2FzHJX3mxwwDk45Z/YcqaG+7qsSl5pGCRqOZJ5CkMRg8QFHM1q9krJbG1bX78iLCN9k3vuKPemPpyXxPpTUBtbSJXtYdOmo/89zJOsQjTNIs9BtTv3EpMTlfvO2O1b8kHr5Vu01Sy2ctbXTpphG0cQOAfX9QaxuxVudR1S416+Ux21uN2FX+6By+I4k+Z8q6TsJ7KLT2i6K+020N1c2v2yd/sUceB/2y4VGIPiQ59CKm7qAvcOOB9hF0dMQNLc8n7meTyMUdTr2ye0k3Jgdz7r/vUSSJo+fEeNUChU4m6rhhkRIFHjHp40VOxnxHA1KjMkmCOQp5ipcUob9qYMAIyhA/L59PjTZRkOGBBpoysWQrS0Qg5wfhSTGp5DHpy+VQklZefGpEdwDzOPWj1gxJrI4ivs2TwHyOPoaWkUqHgT8Qf0zS45FP+hqZbsCRg0SoDxFO7DmWeiws8DybxjKg5KkVAvSzSH+jd/PjU6Id3OaIxRsctGhPjir1mSgUTPVsOWMqlRieEEnyNSEhm4Ys5CPNTVikMWf6pPlUhIYQeEEOf5BVf6RjD1A9JVokwPBYUPmy5Hw4mpUdlPLjed2H8CHHzbH5VZKwQcCqjwGBSvtEYPFyfSmrUPJlZ72P6RGrfS0XBkCZ8XO+flwFWCpEmCF32XkX449ByHwFV8uoJGOg/mNV1zq2chSW9OApv1K64n6Vtx3l9PeKpO82T4Cqm91TA3c/3RVLNeSSZ47o8BTKK8hO4pOOZ6D1NIs6otsJbq6FU3aPXFy8p7xwPAUmKJpMEkqh69T6ClrEkY3pCGP0+XX8vWiklLZ5gcsnmf8AfhVY5O7S4ABssdLBQFjAGPjj9z500W545dTTTyADJO6orRaBs59ojS/1oNBp+N+ODO684HU59xPFj8KlVaw6VgWWJSupzBsvoY1Ii91BWXSo2wF5NcuPuL5Dq3QVNvbmfazWEsbEgWSMN90GEIXgMD8C8lHU8ajarqtxtFcrpukIEswvZlkG6hQfdUfdj+rVprSEbP2cGn6VbveaxeOIoYYx35ZDwAHh+gppKhSint8n19hEIru4tsHd/wCR6e59/n2vtK0B9p9b07YrSMx2W72upXC/2Nsp73H8THujzOeleqLS2gtLSG2tYlhtoEWKKNRwRFGAo9AKxnso2Jj2K2faK4dLjW75hPqNyvJ5McEU/gQHA+J4ZrdDlWdY5dszRrTSMTwHELbU7Ue62Rkjn8vKs/qOmS2DEopktz05kVp9Z2emsp2u9HXHHee3BwD5p4Hy/wDyollqsN2jR3A3XHdYMMYPgw6VuW0Bzos7W8HwZm1WlBrqOV8jyJkjbJKu/bsP5Ty/0psIUbdYFH8D1rTaloJZjPYNuOeO7ng1UrzGNuw1CHcI/EOH+lZ1lBqOHGPfxNKrqBaOw59vMaUEHqpp1Twww4eQ4fKnkgBUGCQFT91zkfBqQ6GP+sVo/M8VPx5V2krOLAxtoI393uny4/SmTbuPdw3oePyqSVPPAI8RQBI4Z+BoSohByJFCshwQVPnwqZZu/bIoOcmloxxgjh5H9OVTLFIzKrFBkHPu/tR1V5YYMXZZ2nIlteKLe0RuJZuHGqR71t73RVxfukyorcAo8SKqvs0Jbi7f4x+1WuozqwvEpU6cZYRIvn/D9aWL9+irShaQ/wDkf/GtKFrbjnI/+MfoKr6X9Y0mv0jZvpiOGB6Cm3uZW96Q49cVJ7G1HTe/vsf0o8wp7kS+u5+5NdpbyZwKeFkFQ8jYRWdvIZNOrbSE94qnkTk/IU+8zEYIAXwY8Plyplpc8N4keC8BQ6QOYQYniKEUMfvZdv4v2H6mg8p6DCjlnp6DkKZZ8DPBR4mnLCzvNSk3bC2luPFgMIvqx4Cu9hJOANTGNs+TkcT4ml2Frdalc9hYQPcTczu+6o8WPID1rRQ7M2llD9p2gv49wc4YX3U9DIefooNN3W04MQsNm7NUgzgER7qE+IXmx82+VFoC72HH8xZtZtqVz7nYD58MlW+naXs5Et5q00V5efcXG9Eh/gXnI3me6POoM02p7W3TKd+KyLAvvHO9jkXPU+CjgKd07ZyWeY3mtzs8h5hm4+hPQeQrQWT3N9qEWi7MWTXeoMMCOMbqxL1Z25Ivrx+dNI7e7tX08n7xSV9+rOp/XwPtBALbQIYrSwhe41CdhHHFGu9JLIeAAHU+XIV3v2Qezxtmw2ubQ7k201ym6ADvJYxnnGh6sfvN8BwySj2X+ziz2SzqOoSrqG0Uq7r3RXuQKfuQg+6PE8z5cq6PESSBzY8OHWqtrF9sYA8S2iBN+T6ychp4OMVkto9stE2bcw6jehr4LvCytV7a4I58UHujzYqPOuV6t7f1ivXSys9LjhXgFuJpZn+LRDc+AJ9aQUJjQZjpYVdcNxzWZ1/Z21v5BIGaG6A7s6c/j4ihQr2ZrW0aXGRPNB2r70ODMTpepzpNNbndbsmIJxwbBxy6fCtB2FvqVmhuIFZWGcHiR6GhQrL/AMextTS+4/uafXKK21JsdpnNc0VdKVZ7O4kVWPuEZ+tV9pqMhkETKOJxkcM+ooUKz+tUUdToq2G0u9Gxvo1WbmTTFEzkbm434ozu/TlSbqBrdA2+HU9CvGhQrmUaSYIY6gIzCVkPBd30NWtimDzJoUKLptyDB6jbaOXOQTxqEXweQNChRW/qi6hkQ+259wUYmJ5KBQoUvMYVEMlyud4D4UySTzY0KFcZyxiWXc+7n1NX+zmz7a0pd7wwIvEqkeSfiT+lChUUKHt0txA6xzVTrTmXMGj6XZXBRbMXEy8e1unMn+XgKpNQ2uvZZ2tLZEgRDugnvY9FwFHyoUKHqnatOzbeP6KlLbM2DOBneK07RzrN0Zb+7mlZRnLcT6DoPlWlitLbTIR9lhUEkLvHmc+JoUKf0iKKvqY39YPWEm76fjbaFsvYz7Y7ZroJvHsYVQySTRKGcgYyFzwU8efGvS2yGzGk7KaaLTRbVII2IZ35ySN+J25sf9ihQpGS2WbnJjXUIdK8S21rURpOiXuovCZxawtN2Qfc38DlnBx8jXnHa/2wbQ6posd5A/8Ay2wuWdFtLJzG/A4/pJvfb0XcoUKEgYz95y8zk17qt3do0ckgSBjvGGIbiE88kfePm2TULNChVcmME//Z @@ -60,13 +59,14 @@ Some Yamaha models return different input values on status update than required in the change input - commands. For example: HDMI1 command may be reported as HDMI_1 after status update. - There are other related edge - cases (USB, iPad_USB). This setting allows the user to customize the - return input mapping to meet their AVR model. - - The setting is a comma separated list of value mapping from to. - Example: HDMI_1=HDMI1,HDMI 1=HDMI1,HDMI1=HDMI1 + commands. + For example, an HDMI1 command may be reported as HDMI_1 after status update. There are other related edge + cases + (USB, iPad_USB). This setting allows you to customize the return input mapping to meet your AVR model + requirements. + The setting is a comma-separated list of value mappings in the format from=to. + Example: + HDMI_1=HDMI1,HDMI 1=HDMI1,HDMI1=HDMI1 true @@ -93,11 +93,11 @@ - The zone can be Main_Zone, ZONE_2, ZONE_3, ZONE_4 depending on your device. + The zone: Main_Zone, ZONE_2, ZONE_3, or ZONE_4 depending on your device. - Relative volume change in percent. + Relative volume change in %. 2.0 true @@ -142,7 +142,7 @@ Switch - Power the AVR or zone ON/OFF + Power the AVR or zone on/off switch Switch @@ -153,7 +153,7 @@ Switch - Party mode ON/OFF + Party mode on/off switch Switch @@ -175,7 +175,7 @@ Switch - Mute when party mode + Mute when in party mode SoundVolume Switch @@ -235,7 +235,7 @@ Number - Set the volume level (dB) + Set the volume level in dB SoundVolume @@ -243,7 +243,7 @@ Switch - Enable/Disable Mute on the AVR + Enable/disable mute on the AVR SoundVolume Switch @@ -266,7 +266,7 @@ Switch - Switch the HDMI1 Output ON/OFF + Switch the HDMI1 output on/off switch Switch @@ -277,7 +277,7 @@ Switch - Switch the HDMI2 Output ON/OFF + Switch the HDMI2 output on/off switch Switch @@ -478,10 +478,9 @@ String - Shows the current navigation menu and allows to change to a channel by a full path. - For example for net - radio: Bookmarks/__My_Favorites/radio_station_name. You can also just use the station - name + Shows the current navigation menu and allows changing to a channel by a full path. + For example, for Net + Radio: Bookmarks/__My_Favorites/radio_station_name. You can also just use the station name without a full path if the AVR is in that navigation menu already. @@ -523,14 +522,14 @@ trigger - Allows to move the cursor up/down + Move the cursor up/down Navigation trigger - Allows to move the cursor left/right + Move the cursor left/right Navigation diff --git a/bundles/org.openhab.binding.yeelight/README.md b/bundles/org.openhab.binding.yeelight/README.md index ba34c9fd933c2..11a11f3bc9136 100644 --- a/bundles/org.openhab.binding.yeelight/README.md +++ b/bundles/org.openhab.binding.yeelight/README.md @@ -17,10 +17,10 @@ This binding integrates the [Yeelight Lighting Product](https://www.yeelight.com ## Preconditions -To control Yeelight devices with this binding, you need to connect the device to your local network at first with the Yeelight app. -This app is available in the iOS AppStore and on Google Play. +To control Yeelight devices with this binding, you need to connect the device to your local network first using the Yeelight app. +This app is available in the iOS App Store and on Google Play. -Then you need to activate LAN control mode by enable Developer Mode in device settings, after which it will become discoverable by openHAB. +Then you need to activate LAN control mode by enabling Developer Mode in device settings, after which it will become discoverable by openHAB. ## Discovery @@ -30,10 +30,10 @@ Yeelight smart LED devices announce themselves on the network through UPnP, so t All Yeelight things require the `deviceId` from the device as a configuration parameter. This table shows all available parameters: -| Parameter | Values | Mandatory | -|---------------------|------------------------------------------------|-----------| -| deviceId | ID of the Yeelight device | Yes | -| duration | Duration for changing between different states | No | +| Parameter | Values | Mandatory | +|---------------------|--------------------------------------------------|-----------| +| deviceId | ID of the Yeelight device | Yes | +| duration | Duration for transition between different states | No | ## Channels @@ -41,12 +41,12 @@ All devices support some of the following channels: | Channel | Item Type | Description | |--------|------|------| -|`brightness` | `Dimmer` | This channel supports adjusting the brightness value, it is available on `dolphin` and `ceiling`.| -|`color` | `Color` | This channel supports color control, it is available on `wonder` and `stripe`.| -|`colorTemperature` | `Dimmer` | This channel supports adjusting the color temperature, it is available on `wonder` and `stripe` and `ceiling`.| -|`command` | `String` | This channel sends a command directly to the device, it is available on all Yeelight Things.| -|`backgroundColor` | `Color` or `Dimmer` | This channel supports color control for the ambient light, it is available on `ceiling4`.| -|`nightlight` | `Switch` | This supports switching to nightlight mode, it is available on `ceiling1` or `ceiling4`.| +|`brightness` | `Dimmer` | This channel supports adjusting the brightness value; it is available on `dolphin` and `ceiling`.| +|`color` | `Color` | This channel supports color control; it is available on `wonder` and `stripe`.| +|`colorTemperature` | `Dimmer` | This channel supports adjusting the color temperature; it is available on `wonder`, `stripe`, and `ceiling`.| +|`command` | `String` | This channel sends a command directly to the device; it is available on all Yeelight things.| +|`backgroundColor` | `Color` or `Dimmer` | This channel supports color control for the ambient light; it is available on `ceiling4`.| +|`nightlight` | `Switch` | This channel supports switching to nightlight mode; it is available on `ceiling1` and `ceiling4`.| ## Full Example diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/config/config.xml index 53f3e1656b48d..8e7e79690d027 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/config/config.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/config/config.xml @@ -8,11 +8,11 @@ - Id of the Yeelight device to connect with. + ID of the Yeelight device to connect to. - Duration of transition of events such as on/off, change of brightness and change of color, in + Duration of transition for events such as on/off, brightness changes, and color changes, in milliseconds. milliseconds 500 diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/i18n/yeelight.properties b/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/i18n/yeelight.properties index 81e923a73dc13..81e82b44af1dc 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/i18n/yeelight.properties +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/i18n/yeelight.properties @@ -25,21 +25,21 @@ thing-type.yeelight.wonder.description = Yeelight Color LED Bulb # thing types config thing-type.config.yeelight.device.deviceId.label = Device ID -thing-type.config.yeelight.device.deviceId.description = Id of the Yeelight device to connect with. +thing-type.config.yeelight.device.deviceId.description = ID of the Yeelight device to connect to. thing-type.config.yeelight.device.duration.label = Duration -thing-type.config.yeelight.device.duration.description = Duration of transition of events such as on/off, change of brightness and change of color, in milliseconds. +thing-type.config.yeelight.device.duration.description = Duration of transition for events such as on/off, brightness changes, and color changes, in milliseconds. # channel types channel-type.yeelight.backgroundColor.label = Background Color -channel-type.yeelight.backgroundColor.description = The color channel allows to control the color of a light. +channel-type.yeelight.backgroundColor.description = Control the color of the background (ambient) light. channel-type.yeelight.brightness.label = Brightness -channel-type.yeelight.brightness.description = The brightness channel allows to control the brightness of a light. It is also possible to switch the light on and off. +channel-type.yeelight.brightness.description = Control the brightness of the light. It is also possible to switch the light on and off. channel-type.yeelight.color.label = Color -channel-type.yeelight.color.description = The color channel allows to control the color of a light. +channel-type.yeelight.color.description = Control the color of the light. channel-type.yeelight.colorTemperature.label = Color Temperature -channel-type.yeelight.colorTemperature.description = The CT channel allows to control the CT of a light. +channel-type.yeelight.colorTemperature.description = Control the color temperature of the light. channel-type.yeelight.command.label = Command channel-type.yeelight.command.description = Send a command directly to the device. For advanced users only. -channel-type.yeelight.nightlight.label = nightlight -channel-type.yeelight.nightlight.description = The nightlight channel allows to switch to nightlight mode. +channel-type.yeelight.nightlight.label = Nightlight +channel-type.yeelight.nightlight.description = Switch to nightlight mode. diff --git a/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/thing/channels.xml b/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/thing/channels.xml index 1372138fadee6..d2e81c2858857 100644 --- a/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/thing/channels.xml +++ b/bundles/org.openhab.binding.yeelight/src/main/resources/OH-INF/thing/channels.xml @@ -8,9 +8,8 @@ Dimmer - The brightness channel allows to control the brightness of a light. - It is also possible to switch the - light on and off. + Control the brightness of the light. + It is also possible to switch the light on and off. Light @@ -23,7 +22,7 @@ Color - The color channel allows to control the color of a light. + Control the color of the light. ColorLight Control @@ -35,7 +34,7 @@ Dimmer - The CT channel allows to control the CT of a light. + Control the color temperature of the light. ColorLight Control @@ -54,7 +53,7 @@ Color - The color channel allows to control the color of a light. + Control the color of the background (ambient) light. ColorLight Control @@ -64,8 +63,8 @@ Switch - - The nightlight channel allows to switch to nightlight mode. + + Switch to nightlight mode. diff --git a/bundles/org.openhab.binding.yioremote/README.md b/bundles/org.openhab.binding.yioremote/README.md index a14b90e312255..6b30d5d3f88ea 100644 --- a/bundles/org.openhab.binding.yioremote/README.md +++ b/bundles/org.openhab.binding.yioremote/README.md @@ -1,10 +1,10 @@ # YIOremote Binding -This binding will control a YIO Dock/Remote combination. YIO Remote/Dock is a smart home solution that includes an IP based remote. More information can be found at [yio-remote](https://www.yio-remote.com/) or in the forums at [yio-remote](https://community.yio-remote.com/). +This binding controls a YIO Remote/Dock setup. YIO Remote/Dock is a smart-home solution that includes an IP‑based remote. More information is available at [yio-remote.com](https://www.yio-remote.com/) or in the [community forum](https://community.yio-remote.com/). -This binding has been designed to compliment the YIO websocket Transport Protocol. +This binding has been designed to complement the YIO WebSocket transport protocol. -Since this binding allows actual you to trigger IR send/receive actions on YIO Dock, this allows you to use the YIO Dock as an IR solution to openHAB and even learn new IR codes from your remotes. In other words, if the IR code is known then openHAB can use the YIO Dock to control that Device regardless if there is an openHAB binding for it or not. +Since this binding lets you trigger IR send/receive actions on the YIO Dock, you can use the dock as an IR solution for openHAB and even learn new IR codes from your remotes. In other words, if the IR code is known, openHAB can use the YIO Dock to control that device even if there is no dedicated openHAB binding for it. ## Supported Things @@ -16,8 +16,8 @@ The following are the configurations available to each of the bridges/things: | Name | Type | Required | Default | Description | | ----------- | ------ | -------- | ------- | --------------------------------------------------- | -| host | string | Yes | (None) | Host/IP Address or host name of the YIO Dock | -| accesstoken | string | Yes | 0 | The authentication token for the access currently 0 | +| host | string | Yes | (None) | Host/IP address or host name of the YIO Dock | +| accessToken | string | Yes | 0 | Authentication token (default: 0) | ## Channels @@ -25,10 +25,10 @@ The following are the configurations available to each of the bridges/things: The YIO Dock has the following channels: -| Channel | Input/Output | Item Type | Description | -| -------------- | ------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| receiverswitch | Input | Switch | The switch to enable disable the IR receiving diode/function | -| status | Output | String | The status of the YIO Dock. If the receiver is on than the recognized IR code will be displayed otherwise the IR send status is displayed of the last IR code send. | +| Channel | Input/Output | Item Type | Description | +| -------------- | ------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| receiverswitch | Input | Switch | Enable/disable the IR receiver diode/function | +| status | Output | String | Status of the YIO Dock. If the receiver is on, the recognized IR code is displayed; otherwise the send status of the last IR code is displayed. | # Actions @@ -58,14 +58,14 @@ end .things ```java -yioremote:yioRemoteDock:livingroom [ host="xxx.xxx.xxx.xxx", accesstoken="0" ] +yioremote:yioRemoteDock:livingroom [ host="xxx.xxx.xxx.xxx", accessToken="0" ] ``` .items ```java -Switch receiverswitch "IR receiving switch" {channel="yioremote:yioRemoteDock:livingroom:input# receiverswitch"} -String status "YIO Dock status[%s]" {channel="yioremote:yioRemoteDock:livingroom:output# status"} +Switch receiverswitch "IR receiving switch" { channel="yioremote:yioRemoteDock:livingroom:input#receiverswitch" } +String status "YIO Dock status [%s]" { channel="yioremote:yioRemoteDock:livingroom:output#status" } ``` .sitemap diff --git a/bundles/org.openhab.binding.yioremote/src/main/resources/OH-INF/i18n/yioremote.properties b/bundles/org.openhab.binding.yioremote/src/main/resources/OH-INF/i18n/yioremote.properties index daa3aa7862c20..2c23460ef3125 100644 --- a/bundles/org.openhab.binding.yioremote/src/main/resources/OH-INF/i18n/yioremote.properties +++ b/bundles/org.openhab.binding.yioremote/src/main/resources/OH-INF/i18n/yioremote.properties @@ -6,25 +6,25 @@ addon.yioremote.description = This is the binding for YIOremote. # thing types thing-type.yioremote.yioRemoteDock.label = YIO Remote Dock -thing-type.yioremote.yioRemoteDock.description = YIOremote Dock Binding Thing +thing-type.yioremote.yioRemoteDock.description = YIO Remote Dock thing # thing types config thing-type.config.yioremote.yioRemoteDock.accessToken.label = Access Token -thing-type.config.yioremote.yioRemoteDock.accessToken.description = The authentication token for the access currently 0 +thing-type.config.yioremote.yioRemoteDock.accessToken.description = Authentication token (default is 0). thing-type.config.yioremote.yioRemoteDock.host.label = Network Address -thing-type.config.yioremote.yioRemoteDock.host.description = Network address of the YIO Remote Dock +thing-type.config.yioremote.yioRemoteDock.host.description = Network address of the YIO Remote Dock. # channel group types channel-group-type.yioremote.input.label = Inputs -channel-group-type.yioremote.input.description = The channels used for Input +channel-group-type.yioremote.input.description = Channels used for input channel-group-type.yioremote.output.label = Outputs -channel-group-type.yioremote.output.description = The channels used for Output +channel-group-type.yioremote.output.description = Channels used for output # channel types channel-type.yioremote.receiverswitch.label = Receiver Switch -channel-type.yioremote.receiverswitch.description = The switch to enable disable the IR receiving diode/function +channel-type.yioremote.receiverswitch.description = Enable/disable the IR receiver diode/function. channel-type.yioremote.status.label = Status -channel-type.yioremote.status.description = The status of the YIO Dock. If the receiver is on than the recognized IR code will be displayed otherwise the IR send status is displayed of the last IR code send. +channel-type.yioremote.status.description = Status of the YIO Dock. If the receiver is on, the recognized IR code is displayed; otherwise the send status of the last IR code is displayed. diff --git a/bundles/org.openhab.binding.yioremote/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.yioremote/src/main/resources/OH-INF/thing/thing-types.xml index e1f671ea95aa4..17c46cbc6ba2d 100644 --- a/bundles/org.openhab.binding.yioremote/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.yioremote/src/main/resources/OH-INF/thing/thing-types.xml @@ -6,7 +6,7 @@ - YIOremote Dock Binding Thing + YIO Remote Dock thing @@ -14,26 +14,26 @@ - Network address of the YIO Remote Dock + Network address of the YIO Remote Dock. network-address - The authentication token for the access currently 0 + Authentication token (default is 0). 0 - The channels used for Input + Channels used for input - The channels used for Output + Channels used for output @@ -41,12 +41,12 @@ Switch - The switch to enable disable the IR receiving diode/function + Enable/disable the IR receiver diode/function. String - The status of the YIO Dock. If the receiver is on than the recognized IR code will be displayed otherwise - the IR send status is displayed of the last IR code send. + Status of the YIO Dock. If the receiver is on, the recognized IR code is displayed; otherwise the send + status of the last IR code is displayed. From 1a700af4f7c3b7ff8ef5fc75ac0aac7895da030d Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 1 Nov 2025 13:57:05 +0100 Subject: [PATCH 04/14] Z-bindings Signed-off-by: Leo Siepel --- .../org.openhab.binding.zoneminder/README.md | 92 +++++++++---------- .../main/resources/OH-INF/config/config.xml | 36 ++++---- .../OH-INF/i18n/zoneminder.properties | 48 +++++----- .../resources/OH-INF/thing/thing-types.xml | 20 ++-- bundles/org.openhab.binding.zwavejs/README.md | 20 ++-- .../OH-INF/config/channel-config.xml | 36 ++++---- .../resources/OH-INF/i18n/zwavejs.properties | 50 ++++++---- .../resources/OH-INF/thing/thing-types.xml | 22 ++--- 8 files changed, 168 insertions(+), 156 deletions(-) diff --git a/bundles/org.openhab.binding.zoneminder/README.md b/bundles/org.openhab.binding.zoneminder/README.md index 8903f8cc08daf..b21e075e62313 100644 --- a/bundles/org.openhab.binding.zoneminder/README.md +++ b/bundles/org.openhab.binding.zoneminder/README.md @@ -16,20 +16,18 @@ The following thing types are supported: The binding requires ZoneMinder version 1.34.0 or greater and API version 2.0 or greater. It also requires that you enable the **OPT_USE_API** parameter in the ZoneMinder configuration. -If your ZoneMinder is installed using a non-standard URL path or port number, that must be specified when you add the ZoneMinder server thing. +If your ZoneMinder is installed using a non-standard URL path or port number, you must specify that when you add the ZoneMinder server thing. There are two different styles of operation, depending on whether or not you have ZoneMinder configured to use authentication. ### Non-Authenticated -If ZoneMinder authentication is not used, the User and Password parameters should be empty in the _ZoneMinder Server_ thing configuration. -No other configuration is required. +If ZoneMinder authentication is not used, leave the User and Password parameters empty in the _ZoneMinder Server_ thing configuration. No other configuration is required. ### Authenticated The binding can access ZoneMinder with or without authentication. -If ZoneMinder authentication is used, first make sure the ZoneMinder user has the **API Enabled** permission set in the ZoneMinder Users configuration. -Then, enter the user name and password into the ZoneMinder Server thing configuration. +If ZoneMinder authentication is used, first make sure the ZoneMinder user has the **API Enabled** permission set in the ZoneMinder Users configuration. Then, enter the username and password into the ZoneMinder Server thing configuration. ## Discovery @@ -46,16 +44,15 @@ The following configuration parameters are available on the Server thing: | Parameter | Parameter ID | Required/Optional | Description | |-----------|--------------|-------------------|-------------| | Host | host | Required | Host name or IP address of the ZoneMinder server. | -| Use secure connection | useSSL | Required | Use http or https for connection to ZoneMinder. Default is http. | +| Use secure connection | useSSL | Required | Use HTTP or HTTPS for connection to ZoneMinder. Default is HTTP. | | Port Number | portNumber | Optional | Port number if not on ZoneMinder default port 80. | -| Url Path | urlPath | Required | Path where Zoneminder is installed. Default is /zm. Enter / if Zoneminder is installed under root directory. | +| URL Path | urlPath | Required | Path where ZoneMinder is installed. Default is /zm. Enter / if ZoneMinder is installed under the root directory. | | Refresh Interval | refreshInterval | Required | Frequency in seconds at which monitor status will be updated. | -| Default Alarm Duration | defaultAlarmDuration | Required | Can be used to set the default alarm duration on discovered monitors. | -| Default Image Refresh Interval | defaultImageRefreshInterval | Optional | Can be used to set the image refresh interval in seconds on discovered monitors. Leave empty to not set an image refresh interval. | -| Monitor Discovery Enabled | discoveryEnabled | Required | Enable/disable the automatic discovery of monitors. Default is enabled. | -| Monitor Discovery Interval | discoveryInterval | Required | Frequency in seconds at which the binding will try to discover monitors. Default is 300 seconds. | -| User ID | user | Optional | User ID of ZoneMinder user when using authentication. | -| Password | pass | Optional | Password of ZoneMinder user when using authentication. | +| Default Alarm Duration | defaultAlarmDuration | Required | Sets the default alarm duration for discovered monitors. | +| Default Image Refresh Interval | defaultImageRefreshInterval | Optional | Sets the image refresh interval in seconds for discovered monitors. Leave empty to not set an image refresh interval. | +| Monitor Discovery Enabled | discoveryEnabled | Required | Enable or disable the automatic discovery of monitors. Default is enabled. | +| User ID | user | Optional | User ID of the ZoneMinder user when using authentication. | +| Password | pass | Optional | Password of the ZoneMinder user when using authentication. | ### Monitor Thing @@ -63,9 +60,9 @@ The following configuration parameters are available on the Monitor thing: | Parameter | Parameter ID | Required/Optional | Description | |-----------|--------------|-------------------|-------------| -| Monitor ID | monitorId | Required | Id of monitor defined in ZoneMinder. | -| Image Refresh Interval | imageRefreshInterval | Optional | Interval in seconds in which snapshot image channel will be updated. | -| Alarm Duration | alarmDuration | Required | How long the alarm will run once triggered by the triggerAlarm channel. | +| Monitor ID | monitorId | Required | ID of monitor defined in ZoneMinder. | +| Image Refresh Interval | imageRefreshInterval | Optional | Interval in seconds at which the snapshot image channel will be updated. | +| Alarm Duration | alarmDuration | Required | Duration the alarm will run once triggered by the triggerAlarm channel. | ## Channels @@ -73,41 +70,40 @@ The following configuration parameters are available on the Monitor thing: | Channel | Type | Description | |----------|--------|--------------| -| imageMonitorId | String | Monitor ID to use for selecting an image URL. Also, sending an OFF command to this channel will reset the monitor id and url to UNDEF. | -| imageUrl | String | Image URL for monitor id specified by imageMonitorId. Channel is UNDEF if the monitor id is not set, or if an OFF command is sent to the imageMonitorId channel. | -| videoMonitorId | String | Monitor ID to use for selecting a video URL. Also, sending an OFF command to this channel will reset the monitor id and url to UNDEF. | -| videoUrl | String | Video URL for monitor id specified by videoMonitorId. Channel is UNDEF if the monitor id is not set, or if an OFF command is sent to the videoMonitorId channel. | -| runState | String | Set the run state for the ZoneMinder server | +| imageMonitorId | String | Monitor ID to use for selecting an image URL. Sending an OFF command to this channel will reset the monitor ID and URL to UNDEF. | +| imageUrl | String | Image URL for the monitor ID specified by imageMonitorId. Channel is UNDEF if the monitor ID is not set, or if an OFF command is sent to the imageMonitorId channel. | +| videoMonitorId | String | Monitor ID to use for selecting a video URL. Sending an OFF command to this channel will reset the monitor ID and URL to UNDEF. | +| videoUrl | String | Video URL for the monitor ID specified by videoMonitorId. Channel is UNDEF if the monitor ID is not set, or if an OFF command is sent to the videoMonitorId channel. | +| runState | String | Set the run state for the ZoneMinder server. | ### Monitor Thing | Channel | Type | Description | |----------|--------|--------------| -| id | String | Monitor ID | -| name | String | Monitor name | -| image | Image | Snapshot image | -| enable | Switch | Enable/disable monitor | -| function | String | Monitor function (e.g. Nodect, Mocord) | -| alarm | Switch | Monitor is alarming | -| state | String | Monitor state (e.g. IDLE, ALARM, TAPE) | -| triggerAlarm | Switch | Turn alarm on/off | -| hourEvents | Number | Number of events in last hour | -| dayEvents | Number | Number of events in last day | -| weekEvents | Number | Number of events in last week | -| monthEvents | Number | Number of events in last month | -| yearEvents | Number | Number of events in last year | -| totalEvents | Number | Total number of events | -| imageUrl | String | URL for image snapshot | -| videoUrl | String | URL for JPEG video stream | -| eventId | String | ID of most recently completed event | -| eventName | String | Name of most recently completed event | -| eventCause | String | Cause of most recently completed event | -| eventNotes | String | Notes of most recently completed event | -| eventStart | DateTime | Start date/time of most recently completed event | -| eventEnd | DateTime | End date/time of most recently completed event | -| eventFrames | Number | Number of frames of most recently completed event | -| eventAlarmFrames | Number | Number of alarm frames of most recently completed event | -| eventLength | Number:Time | Length in seconds of most recently completed event | +| id | String | Monitor ID. | +| name | String | Monitor name. | +| image | Image | Snapshot image. | +| enable | Switch | Enable or disable monitor. | +| function | String | Monitor function (e.g., Nodect, Mocord). | +| alarm | Switch | Monitor is alarming. | +| state | String | Monitor state (e.g., IDLE, ALARM, TAPE). | +| triggerAlarm | Switch | Turn alarm on or off. | +| hourEvents | Number | Number of events in the last hour. | +| dayEvents | Number | Number of events in the last day. | +| weekEvents | Number | Number of events in the last week. | +| monthEvents | Number | Number of events in the last month. | +| totalEvents | Number | Total number of events. | +| imageUrl | String | URL for image snapshot. | +| videoUrl | String | URL for JPEG video stream. | +| eventId | String | ID of the most recently completed event. | +| eventName | String | Name of the most recently completed event. | +| eventCause | String | Cause of the most recently completed event. | +| eventNotes | String | Notes of the most recently completed event. | +| eventStart | DateTime | Start date/time of the most recently completed event. | +| eventEnd | DateTime | End date/time of the most recently completed event. | +| eventFrames | Number | Number of frames of the most recently completed event. | +| eventAlarmFrames | Number | Number of alarm frames of the most recently completed event. | +| eventLength | Number:Time | Length in seconds of the most recently completed event. | ## Thing Actions @@ -157,7 +153,7 @@ The API must be enabled in the ZoneMinder configuration using the **OPT_USE_API* ### Things ```java -Bridge zoneminder:server:server [ host="192.168.1.100", refreshInterval=5, defaultAlarmDuration=120, discoveryEnabled=true, useDefaultUrlPath=true ] +Bridge zoneminder:server:server [ host="192.168.1.100", refreshInterval=5, defaultAlarmDuration=120, discoveryEnabled=true ] Thing zoneminder:monitor:1 "Monitor 1" (zoneminder:server:server) [ monitorId="1", imageRefreshInterval=10, alarmDuration=180 ] @@ -222,7 +218,7 @@ rule "Record When Motion Detected Using Channel" when Item MotionSensorAlarm changed to ON then - ZM_TriggerAlarm.sendComand(ON) + ZM_TriggerAlarm.sendCommand(ON) end ``` diff --git a/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/config/config.xml index 18227c978ac7e..fed1097e9f739 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/config/config.xml +++ b/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/config/config.xml @@ -17,71 +17,73 @@ - - ZoneMinder server name or IP address + + Host name or IP address of the ZoneMinder server. network-address - - Enables use of https for connection to ZoneMinder + + Use HTTP or HTTPS for connection to ZoneMinder. Default is HTTP. false - Port Number (leave blank if Zoneminder installed on default port) + Port number if not on ZoneMinder default port 80. - URL path (Default is /zm. Use / if Zoneminder installed under the root directory) + Path where ZoneMinder is installed. Default is /zm. Enter / if ZoneMinder is installed under the root + directory. /zm - Interval in seconds at which monitor status is updated + Frequency in seconds at which monitor status will be updated. 5 - Duration in seconds after which the alarm will be turned off + Sets the default alarm duration for discovered monitors (in seconds). 60 - Interval in seconds at which monitor image snapshot will be updated + Sets the image refresh interval in seconds for discovered monitors. Leave empty to not set an image + refresh interval. - Enable/disable background discovery of monitors + Enable or disable the automatic discovery of monitors. Default is enabled. true - - User name (if authentication enabled in ZoneMinder) + + User ID of the ZoneMinder user when using authentication. - Password (if authentication enabled in ZoneMinder) + Password of the ZoneMinder user when using authentication. password - - Id of the monitor + + ID of monitor defined in ZoneMinder. - Interval in seconds with which monitor image is refreshed + Interval in seconds at which the snapshot image channel will be updated. - Duration in seconds after which the alarm will be turned off + Duration the alarm will run once triggered by the triggerAlarm channel. diff --git a/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/i18n/zoneminder.properties b/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/i18n/zoneminder.properties index dabe6b6d11d38..8892245e90758 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/i18n/zoneminder.properties +++ b/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/i18n/zoneminder.properties @@ -16,44 +16,44 @@ thing-type.zoneminder.monitor.channel.videoUrl.label = Video URL thing-type.zoneminder.monitor.channel.weekEvents.label = Week Events thing-type.zoneminder.server.label = ZoneMinder Server thing-type.zoneminder.server.description = Represents a ZoneMinder server -thing-type.zoneminder.server.channel.imageMonitorId.label = Image Monitor Id -thing-type.zoneminder.server.channel.imageMonitorId.description = Monitor ID for Image URL Channel +thing-type.zoneminder.server.channel.imageMonitorId.label = Image Monitor ID +thing-type.zoneminder.server.channel.imageMonitorId.description = Monitor ID to use for selecting an image URL. Sending an OFF command to this channel will reset the monitor ID and URL to UNDEF. thing-type.zoneminder.server.channel.imageUrl.label = Image URL -thing-type.zoneminder.server.channel.videoMonitorId.label = Video Monitor Id -thing-type.zoneminder.server.channel.videoMonitorId.description = Monitor ID for Video URL Channel +thing-type.zoneminder.server.channel.videoMonitorId.label = Video Monitor ID +thing-type.zoneminder.server.channel.videoMonitorId.description = Monitor ID to use for selecting a video URL. Sending an OFF command to this channel will reset the monitor ID and URL to UNDEF. thing-type.zoneminder.server.channel.videoUrl.label = Video URL # thing types config thing-type.config.zoneminder.monitor.alarmDuration.label = Alarm Duration -thing-type.config.zoneminder.monitor.alarmDuration.description = Duration in seconds after which the alarm will be turned off +thing-type.config.zoneminder.monitor.alarmDuration.description = Duration the alarm will run once triggered by the triggerAlarm channel. thing-type.config.zoneminder.monitor.imageRefreshInterval.label = Image Refresh Interval -thing-type.config.zoneminder.monitor.imageRefreshInterval.description = Interval in seconds with which monitor image is refreshed -thing-type.config.zoneminder.monitor.monitorId.label = Monitor Id -thing-type.config.zoneminder.monitor.monitorId.description = Id of the monitor +thing-type.config.zoneminder.monitor.imageRefreshInterval.description = Interval in seconds at which the snapshot image channel will be updated. +thing-type.config.zoneminder.monitor.monitorId.label = Monitor ID +thing-type.config.zoneminder.monitor.monitorId.description = ID of monitor defined in ZoneMinder. thing-type.config.zoneminder.server.defaultAlarmDuration.label = Default Alarm Duration -thing-type.config.zoneminder.server.defaultAlarmDuration.description = Duration in seconds after which the alarm will be turned off +thing-type.config.zoneminder.server.defaultAlarmDuration.description = Sets the default alarm duration for discovered monitors (in seconds). thing-type.config.zoneminder.server.defaultImageRefreshInterval.label = Default Image Refresh Interval -thing-type.config.zoneminder.server.defaultImageRefreshInterval.description = Interval in seconds at which monitor image snapshot will be updated +thing-type.config.zoneminder.server.defaultImageRefreshInterval.description = Sets the image refresh interval in seconds for discovered monitors. Leave empty to not set an image refresh interval. thing-type.config.zoneminder.server.discoveryEnabled.label = Background Discovery Enabled -thing-type.config.zoneminder.server.discoveryEnabled.description = Enable/disable background discovery of monitors +thing-type.config.zoneminder.server.discoveryEnabled.description = Enable or disable the automatic discovery of monitors. Default is enabled. thing-type.config.zoneminder.server.group.auth-info.label = Authentication Information thing-type.config.zoneminder.server.group.config-info.label = Bridge Configuration thing-type.config.zoneminder.server.group.url-info.label = ZoneMinder URL Information -thing-type.config.zoneminder.server.host.label = Server -thing-type.config.zoneminder.server.host.description = ZoneMinder server name or IP address +thing-type.config.zoneminder.server.host.label = Host +thing-type.config.zoneminder.server.host.description = Host name or IP address of the ZoneMinder server. thing-type.config.zoneminder.server.pass.label = Password -thing-type.config.zoneminder.server.pass.description = Password (if authentication enabled in ZoneMinder) +thing-type.config.zoneminder.server.pass.description = Password of the ZoneMinder user when using authentication. thing-type.config.zoneminder.server.portNumber.label = Port Number -thing-type.config.zoneminder.server.portNumber.description = Port Number (leave blank if Zoneminder installed on default port) +thing-type.config.zoneminder.server.portNumber.description = Port number if not on ZoneMinder default port 80. thing-type.config.zoneminder.server.refreshInterval.label = Refresh Interval -thing-type.config.zoneminder.server.refreshInterval.description = Interval in seconds at which monitor status is updated +thing-type.config.zoneminder.server.refreshInterval.description = Frequency in seconds at which monitor status will be updated. thing-type.config.zoneminder.server.urlPath.label = URL Path -thing-type.config.zoneminder.server.urlPath.description = URL path (Default is /zm. Use / if Zoneminder installed under the root directory) -thing-type.config.zoneminder.server.useSSL.label = Use https -thing-type.config.zoneminder.server.useSSL.description = Enables use of https for connection to ZoneMinder -thing-type.config.zoneminder.server.user.label = User Name -thing-type.config.zoneminder.server.user.description = User name (if authentication enabled in ZoneMinder) +thing-type.config.zoneminder.server.urlPath.description = Path where ZoneMinder is installed. Default is /zm. Enter / if ZoneMinder is installed under the root directory. +thing-type.config.zoneminder.server.useSSL.label = Use Secure Connection +thing-type.config.zoneminder.server.useSSL.description = Use HTTP or HTTPS for connection to ZoneMinder. Default is HTTP. +thing-type.config.zoneminder.server.user.label = User ID +thing-type.config.zoneminder.server.user.description = User ID of the ZoneMinder user when using authentication. # channel types @@ -72,8 +72,8 @@ channel-type.zoneminder.eventEnd.description = End date/time of the event channel-type.zoneminder.eventEnd.state.pattern = %1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS channel-type.zoneminder.eventFrames.label = Event Frames channel-type.zoneminder.eventFrames.description = Number of frames in the event -channel-type.zoneminder.eventId.label = Event Id -channel-type.zoneminder.eventId.description = Id of the event +channel-type.zoneminder.eventId.label = Event ID +channel-type.zoneminder.eventId.description = ID of the event channel-type.zoneminder.eventLength.label = Event Length channel-type.zoneminder.eventLength.description = Length of the event in seconds channel-type.zoneminder.eventName.label = Event Name @@ -86,7 +86,7 @@ channel-type.zoneminder.eventStart.state.pattern = %1$tY-%1$tm-%1$td %1$tH:%1$tM channel-type.zoneminder.events.label = Number of Events channel-type.zoneminder.events.description = Number of events in time period channel-type.zoneminder.function.label = Function -channel-type.zoneminder.function.description = State of the monitor (e.g. Nodect, Record) +channel-type.zoneminder.function.description = State of the monitor (e.g., Nodect, Record) channel-type.zoneminder.function.state.option.None = None channel-type.zoneminder.function.state.option.Monitor = Monitor channel-type.zoneminder.function.state.option.Modect = Modect diff --git a/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/thing/thing-types.xml index a25a310126900..f8082c93235b1 100644 --- a/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.zoneminder/src/main/resources/OH-INF/thing/thing-types.xml @@ -10,15 +10,17 @@ AlarmSystem - - Monitor ID for Image URL Channel + + Monitor ID to use for selecting an image URL. Sending an OFF command to this channel will reset the + monitor ID and URL to UNDEF. - - Monitor ID for Video URL Channel + + Monitor ID to use for selecting a video URL. Sending an OFF command to this channel will reset the + monitor ID and URL to UNDEF. @@ -123,7 +125,7 @@ String - State of the monitor (e.g. Nodect, Record) + State of the monitor (e.g., Nodect, Record) @@ -179,8 +181,8 @@ String - - Id of the event + + ID of the event @@ -217,13 +219,13 @@ Number Number of frames in the event - + Number Number of alarm frames in the event - + Number:Time diff --git a/bundles/org.openhab.binding.zwavejs/README.md b/bundles/org.openhab.binding.zwavejs/README.md index ca27f01d147dc..bf78fe796ca72 100644 --- a/bundles/org.openhab.binding.zwavejs/README.md +++ b/bundles/org.openhab.binding.zwavejs/README.md @@ -1,6 +1,6 @@ # Z-Wave JS Binding -The `zwavejs` binding integrates Z-Wave JS with openHAB, allowing you to control and monitor Z-Wave devices using the Z-Wave JS Webservice (part of Z-Wave JS UI). +The `zwavejs` binding integrates Z-Wave JS with openHAB, allowing you to control and monitor Z-Wave devices using the Z-Wave JS web service (part of Z-Wave JS UI). This binding supports a wide range of Z-Wave devices, including sensors, switches, dimmers, and more. For documentation about Z-Wave JS UI, please visit the [Z-Wave JS UI documentation](https://zwave-js.github.io/zwave-js-ui/). @@ -10,7 +10,7 @@ Before using the `zwavejs` binding, ensure the following prerequisites are met: - You have a running instance of [Z-Wave JS](https://zwave-js.github.io/zwave-js-ui/). - Your Z-Wave controller is properly connected and recognized by Z-Wave JS. -- The Z-Wave JS instance has the Webservice enabled (Settings -> Home Assistant -> WS Server). +- The Z-Wave JS instance has the web service (WebSocket server) enabled (Settings → Home Assistant → WS Server). - Network connectivity exists between openHAB and the Z-Wave JS Webservice (the hostname and port must be reachable from openHAB). **Note**: If you are transitioning from the native Z-Wave binding to the `zwavejs` binding, you can safely test this binding without permanently affecting your setup. All node information will remain on your controller as usual. However, please avoid performing a manual reset unless absolutely necessary, as it may complicate reverting to the native binding. @@ -19,14 +19,14 @@ Before using the `zwavejs` binding, ensure the following prerequisites are met: This binding supports the following types of things: -- `gateway`: Represents the Z-Wave JS Webservice bridge. This is required to communicate with the Z-Wave network. +- `gateway`: Represents the Z-Wave JS web service bridge. This is required to communicate with the Z-Wave network. - `node`: Represents a Z-Wave device (node) in the network. Each node can have multiple channels corresponding to its capabilities. **Note**: This binding does not maintain a Z-Wave device database and relies on the external Z-Wave JS project for device compatibility and functionality. ## Discovery -The `zwavejs` binding supports auto-discovery of Z-Wave devices. +The `zwavejs` binding supports automatic discovery of Z-Wave devices. When the bridge is added and connected, it will automatically discover and add Z-Wave nodes to the openHAB system. The following discovery features are available: @@ -35,15 +35,15 @@ The following discovery features are available: ## Bridge Configuration -The `zwavejs` binding requires configuration of the bridge to connect to the Z-Wave JS Webservice. +The `zwavejs` binding requires configuration of the bridge to connect to the Z-Wave JS web service. The configuration options include: | Name | Type | Description | Default | Required | Advanced | |-----------------------|---------|------------------------------------------------------|----------|----------|----------| | hostname | text | Hostname or IP address of the server | N/A | yes | no | -| port | number | Port number to access the service | 3000 | yes | no | -| maxMessageSize | number | Maximum size of messages in bytes | 16777216 | no | yes | -| configurationChannels | boolean | Expose the command class 'configuration' as channels | false | no | yes | +| port | integer | Port number to access the service | 3000 | yes | no | +| maxMessageSize | integer | Maximum size of messages in bytes | 16777216 | no | yes | +| configurationChannels | boolean | Expose the Command Class "Configuration" as channels | false | no | yes | ## Thing Configuration @@ -76,7 +76,7 @@ The following devices and parameters support inversion: - `inverted`: Reverses the logical state, similar to the above. - `isUpdownInverted`: Independently inverts the up and down directions. -**note:** Without any inversion, the binding regards 100% as fully open (up position) and 0% is fully closed (down position). +**note:** Without any inversion, the binding considers 100% fully open (up position) and 0% fully closed (down position). ## Full Example @@ -99,7 +99,7 @@ Switch LightSwitch "Light Switch" { channel="zwavejs:node:myBridge:node1:binary- If you encounter issues with the `zwavejs` binding, check the following: -- Ensure the Z-Wave JS Webservice is running and accessible at the configured hostname and port. +- Ensure the Z-Wave JS web service is running and accessible at the configured hostname and port. - Check the openHAB logs for any error messages related to the `zwavejs` binding. - Verify the configuration of the bridge and nodes in the openHAB UI or configuration files. diff --git a/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/config/channel-config.xml b/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/config/channel-config.xml index 1c24c6c009958..c49219150c9f7 100644 --- a/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/config/channel-config.xml +++ b/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/config/channel-config.xml @@ -10,7 +10,7 @@ true - + true @@ -28,11 +28,11 @@ 1 - + true - + true @@ -40,11 +40,11 @@ true - + true - + true @@ -55,7 +55,7 @@ true - + true @@ -73,11 +73,11 @@ 1 - + true - + true @@ -85,16 +85,16 @@ true - + true - + true - When True the value will be inverted for OpenClose, OnOff and Percentage types. + When true, the value will be inverted for OpenClose, OnOff, and Percentage types. false @@ -105,7 +105,7 @@ true - + true @@ -123,11 +123,11 @@ 1 - + true - + true @@ -135,21 +135,21 @@ true - + true - + true - When True the position of the RollerShutter will be inverted. + When true, the position of the rollershutter will be inverted. false - When True the Up/Down commands will be inverted. + When true, the Up/Down commands will be inverted. false diff --git a/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/i18n/zwavejs.properties b/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/i18n/zwavejs.properties index f60afaf52bc31..34ad8ac446db5 100644 --- a/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/i18n/zwavejs.properties +++ b/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/i18n/zwavejs.properties @@ -7,45 +7,57 @@ addon.zwavejs.description = This is the binding for Z-Wave JS. thing-type.zwavejs.gateway.label = Z-Wave JS Gateway thing-type.zwavejs.gateway.description = The Z-Wave JS server that acts as a bridge to the Z-Wave network -thing-type.zwavejs.node.label = Z-Wave node -thing-type.zwavejs.node.description = A Z-Wave node provided by Zwave JS +thing-type.zwavejs.node.label = Z-Wave Node +thing-type.zwavejs.node.description = A Z-Wave node provided by Z-Wave JS. # thing types config -thing-type.config.zwavejs.gateway.configurationChannels.label = Configuration As Channels -thing-type.config.zwavejs.gateway.configurationChannels.description = When set to `true`, the Z-Wave CommandClass "Configuration" is exposed in openHAB as channels instead of Thing configuration. This allows you to modify the configuration in rules, such as changing codes for locks. +thing-type.config.zwavejs.gateway.configurationChannels.label = Configuration as Channels +thing-type.config.zwavejs.gateway.configurationChannels.description = When set to true, the Z-Wave Command Class "Configuration" is exposed in openHAB as channels instead of Thing configuration. This allows you to modify the configuration in rules, such as changing codes for locks. thing-type.config.zwavejs.gateway.hostname.label = Hostname -thing-type.config.zwavejs.gateway.hostname.description = Hostname or IP address of Z-Wave JS server +thing-type.config.zwavejs.gateway.hostname.description = Hostname or IP address of the Z-Wave JS server. thing-type.config.zwavejs.gateway.maxMessageSize.label = Maximum Message Size -thing-type.config.zwavejs.gateway.maxMessageSize.description = The maximum size of the message (in bytes) that the ZWave-JS server can send +thing-type.config.zwavejs.gateway.maxMessageSize.description = The maximum size of the message (in bytes) that the Z-Wave JS server can send. thing-type.config.zwavejs.gateway.port.label = Port -thing-type.config.zwavejs.gateway.port.description = Port the remote Z-Wave JS server listens on +thing-type.config.zwavejs.gateway.port.description = Port the remote Z-Wave JS server listens on. thing-type.config.zwavejs.node.id.label = ID -channel-type.config.zwavejs.base-channel.commandClassId.label = Command Class Id +channel-type.config.zwavejs.base-channel.commandClassId.label = Command Class ID channel-type.config.zwavejs.base-channel.commandClassName.label = Command Class Name channel-type.config.zwavejs.base-channel.endpoint.label = Endpoint Index channel-type.config.zwavejs.base-channel.factor.label = Factor channel-type.config.zwavejs.base-channel.incomingUnit.label = Incoming Unit -channel-type.config.zwavejs.base-channel.propertyKeyInt.label = Property Key Int -channel-type.config.zwavejs.base-channel.propertyKeyStr.label = Property Key Str +channel-type.config.zwavejs.base-channel.propertyKeyInt.label = Property Key (Integer) +channel-type.config.zwavejs.base-channel.propertyKeyStr.label = Property Key (String) channel-type.config.zwavejs.base-channel.readProperty.label = Read Property -channel-type.config.zwavejs.base-channel.writePropertyInt.label = Write Property Int -channel-type.config.zwavejs.base-channel.writePropertyStr.label = Write Property Str -channel-type.config.zwavejs.rollershutter-channel.commandClassId.label = Command Class Id +channel-type.config.zwavejs.base-channel.writePropertyInt.label = Write Property (Integer) +channel-type.config.zwavejs.base-channel.writePropertyStr.label = Write Property (String) +channel-type.config.zwavejs.invertible-channel.commandClassId.label = Command Class ID +channel-type.config.zwavejs.invertible-channel.commandClassName.label = Command Class Name +channel-type.config.zwavejs.invertible-channel.endpoint.label = Endpoint Index +channel-type.config.zwavejs.invertible-channel.factor.label = Factor +channel-type.config.zwavejs.invertible-channel.incomingUnit.label = Incoming Unit +channel-type.config.zwavejs.invertible-channel.inverted.label = Inverted +channel-type.config.zwavejs.invertible-channel.inverted.description = When true, the value will be inverted for OpenClose, OnOff, and Percentage types. +channel-type.config.zwavejs.invertible-channel.propertyKeyInt.label = Property Key (Integer) +channel-type.config.zwavejs.invertible-channel.propertyKeyStr.label = Property Key (String) +channel-type.config.zwavejs.invertible-channel.readProperty.label = Read Property +channel-type.config.zwavejs.invertible-channel.writePropertyInt.label = Write Property (Integer) +channel-type.config.zwavejs.invertible-channel.writePropertyStr.label = Write Property (String) +channel-type.config.zwavejs.rollershutter-channel.commandClassId.label = Command Class ID channel-type.config.zwavejs.rollershutter-channel.commandClassName.label = Command Class Name channel-type.config.zwavejs.rollershutter-channel.endpoint.label = Endpoint Index channel-type.config.zwavejs.rollershutter-channel.factor.label = Factor channel-type.config.zwavejs.rollershutter-channel.incomingUnit.label = Incoming Unit channel-type.config.zwavejs.rollershutter-channel.inverted.label = Inverted -channel-type.config.zwavejs.rollershutter-channel.inverted.description = When True the position of the RollerShutter will be inverted. +channel-type.config.zwavejs.rollershutter-channel.inverted.description = When true, the position of the rollershutter will be inverted. channel-type.config.zwavejs.rollershutter-channel.isUpDownInverted.label = Up/Down Inverted -channel-type.config.zwavejs.rollershutter-channel.isUpDownInverted.description = When True the Up/Down commands will be inverted. -channel-type.config.zwavejs.rollershutter-channel.propertyKeyInt.label = Property Key Int -channel-type.config.zwavejs.rollershutter-channel.propertyKeyStr.label = Property Key Str +channel-type.config.zwavejs.rollershutter-channel.isUpDownInverted.description = When true, the Up/Down commands will be inverted. +channel-type.config.zwavejs.rollershutter-channel.propertyKeyInt.label = Property Key (Integer) +channel-type.config.zwavejs.rollershutter-channel.propertyKeyStr.label = Property Key (String) channel-type.config.zwavejs.rollershutter-channel.readProperty.label = Read Property -channel-type.config.zwavejs.rollershutter-channel.writePropertyInt.label = Write Property Int -channel-type.config.zwavejs.rollershutter-channel.writePropertyStr.label = Write Property Str +channel-type.config.zwavejs.rollershutter-channel.writePropertyInt.label = Write Property (Integer) +channel-type.config.zwavejs.rollershutter-channel.writePropertyStr.label = Write Property (String) # thing status descriptions diff --git a/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/thing/thing-types.xml index 1aac69d5479f6..4750eacd66fde 100644 --- a/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.zwavejs/src/main/resources/OH-INF/thing/thing-types.xml @@ -15,23 +15,23 @@ network-address - Hostname or IP address of Z-Wave JS server + Hostname or IP address of the Z-Wave JS server. - + - Port the remote Z-Wave JS server listens on + Port the remote Z-Wave JS server listens on. 3000 - - - When set to `true`, the Z-Wave CommandClass "Configuration" is exposed in openHAB as channels instead - of Thing configuration. This allows you to modify the configuration in rules, such as changing codes for locks. + + + When set to true, the Z-Wave Command Class "Configuration" is exposed in openHAB as channels instead of + Thing configuration. This allows you to modify the configuration in rules, such as changing codes for locks. false true - + - The maximum size of the message (in bytes) that the ZWave-JS server can send + The maximum size of the message (in bytes) that the Z-Wave JS server can send. 16777216 true @@ -44,8 +44,8 @@ - - A Z-Wave node provided by Zwave JS + + A Z-Wave node provided by Z-Wave JS. id From 0db73feb8c4a67f00f2efc5d62cc1272150b6c5f Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Mon, 3 Nov 2025 19:25:33 +0100 Subject: [PATCH 05/14] Wiz review Signed-off-by: Leo Siepel --- .../src/main/resources/OH-INF/thing/thing-types.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/thing/thing-types.xml index e1ab866cd00c0..23b571a4bc621 100644 --- a/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.wiz/src/main/resources/OH-INF/thing/thing-types.xml @@ -112,7 +112,7 @@ - Number + String Control From 1083090c0fb7e000abcaf09ccd7454055f9e3025 Mon Sep 17 00:00:00 2001 From: lsiepel Date: Mon, 10 Nov 2025 23:10:09 +0100 Subject: [PATCH 06/14] Update bundles/org.openhab.binding.wemo/README.md Co-authored-by: Jacob Laursen Signed-off-by: lsiepel --- bundles/org.openhab.binding.wemo/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.wemo/README.md b/bundles/org.openhab.binding.wemo/README.md index d19b51af4d845..50b52cba1ae48 100644 --- a/bundles/org.openhab.binding.wemo/README.md +++ b/bundles/org.openhab.binding.wemo/README.md @@ -93,7 +93,7 @@ Devices support some of the following channels: | filterAdvise | Switch | Indicates if a WeMo Coffee Maker needs the filter changed. | Coffee Maker | | brewed | DateTime | Date/time the Coffee Maker last completed brewing coffee. | Coffee Maker | | lastCleaned | DateTime | Date/time the Coffee Maker last completed cleaning. | Coffee Maker | -| brightness | Number | Brightness of a WeMo LED or dimmer. | LED, Dimmer Switch | +| brightness | Number | Brightness of a WeMo LED or Dimmer Switch. | LED, Dimmer Switch | | faderCountDownTime | Number | Dimmer fading duration time in minutes. | Dimmer Switch | | faderEnabled | Switch | Switch the fader ON/OFF. | Dimmer Switch | | timerStart | Switch | Switch the fading timer ON/OFF. | Dimmer Switch | From 8689a8ad38a8da3b3143faa792d089e7fbb3d808 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sun, 7 Dec 2025 09:40:35 +0100 Subject: [PATCH 07/14] Fix thing => Thing Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.warmup/README.md | 2 +- .../org.openhab.binding.weathercompany/README.md | 16 ++++++++-------- .../README.md | 6 +++--- bundles/org.openhab.binding.wlanthermo/README.md | 4 ++-- bundles/org.openhab.binding.wled/README.md | 8 ++++---- .../org.openhab.binding.wolfsmartset/README.md | 6 +++--- .../README.md | 10 +++++----- bundles/org.openhab.binding.x/README.md | 2 +- bundles/org.openhab.binding.xmltv/README.md | 4 ++-- .../README.md | 4 ++-- .../org.openhab.binding.yamahareceiver/README.md | 6 +++--- bundles/org.openhab.binding.zoneminder/README.md | 14 +++++++------- bundles/org.openhab.binding.zway/README.md | 14 +++++++------- 13 files changed, 48 insertions(+), 48 deletions(-) diff --git a/bundles/org.openhab.binding.warmup/README.md b/bundles/org.openhab.binding.warmup/README.md index 72a81b0b9cdc5..c4676bb648527 100644 --- a/bundles/org.openhab.binding.warmup/README.md +++ b/bundles/org.openhab.binding.warmup/README.md @@ -27,7 +27,7 @@ The binding’s API implementation is derived from the implementations at or with your individual thing id! +Make sure to replace or with your individual Thing id! ```java Group gWlanThermoNano "WlanThermo Nano" diff --git a/bundles/org.openhab.binding.wled/README.md b/bundles/org.openhab.binding.wled/README.md index c7443f9700680..95251f302d626 100644 --- a/bundles/org.openhab.binding.wled/README.md +++ b/bundles/org.openhab.binding.wled/README.md @@ -7,15 +7,15 @@ This binding allows you to auto discover and use LED strings based on the WLED p | Thing Type ID | Description | |-|-| -| `json` | A bridge to a WLED device using the JSON API. Add this thing first. | +| `json` | A bridge to a WLED device using the JSON API. Add this Thing first. | | `segment` | A segment is used to turn a LED strip or string, into 1 or more lights. Each segment is like a separate light globe that can have its own color or effect. | ## Discovery The auto discovery will find your WLED if your network supports mDNS and the UDP port 5353 is not blocked by a fire wall. Before discovering any WLED devices, you may wish to name them by providing a 'Server description' in the WLED web page, CONFIG>User Interface> setup page. -openHAB will then discover and auto name your WLED bridge thing to the name provided as the 'Server description'. -Segments will be discovered with an Inbox scan after the bridge thing is first showing up as ONLINE. +openHAB will then discover and auto name your WLED bridge Thing to the name provided as the 'Server description'. +Segments will be discovered with an Inbox scan after the bridge Thing is first showing up as ONLINE. Any segments that have been given a name in the WLED firmware, will be given the same name when discovery adds them to the Inbox. ## Bridge Thing Configuration @@ -83,7 +83,7 @@ getActions("wled", "wled:json:XmasTree").savePreset(5,"Flashy Preset") ## Sitemap Example -If you use the ADMIN>MODEL>`Create equipment from thing` feature you can use the below and just change the name before the underscore to match what you named the `segment` thing when it was added via the Inbox. +If you use the ADMIN>MODEL>`Create equipment from Thing` feature you can use the below and just change the name before the underscore to match what you named the `segment` Thing when it was added via the Inbox. *.sitemap diff --git a/bundles/org.openhab.binding.wolfsmartset/README.md b/bundles/org.openhab.binding.wolfsmartset/README.md index a6fa4365645ce..b837ac9ed1024 100644 --- a/bundles/org.openhab.binding.wolfsmartset/README.md +++ b/bundles/org.openhab.binding.wolfsmartset/README.md @@ -14,14 +14,14 @@ Wolf systems are connected with official gateways (Wolf Link Home or Wolf Link P ## Discovery -- System things (bridge) are discovered after Account thing (bridge) is set up +- System things (bridge) are discovered after Account Thing (bridge) is set up - Unit things are discovered after System things are set up ## Thing Configuration ### Account (bridge) -The account thing holds the credentials to connect to the wolf-smartset online portal. +The account Thing holds the credentials to connect to the wolf-smartset online portal. | Parameter | Type | Defaut | Description | |-----------------|---------|----------|---------------------------------------------------------------------| @@ -33,7 +33,7 @@ The account thing holds the credentials to connect to the wolf-smartset online p ### System (bridge) -The system thing represents one wolf system connected via a WOLF Link home or a WOLF Link pro to the wolf-smartset online portal. +The system Thing represents one wolf system connected via a WOLF Link home or a WOLF Link pro to the wolf-smartset online portal. You have access to your own or to shared systems. | Parameter | Type | Defaut | Description | diff --git a/bundles/org.openhab.binding.wundergroundupdatereceiver/README.md b/bundles/org.openhab.binding.wundergroundupdatereceiver/README.md index a646034fd6781..e014751f06f76 100644 --- a/bundles/org.openhab.binding.wundergroundupdatereceiver/README.md +++ b/bundles/org.openhab.binding.wundergroundupdatereceiver/README.md @@ -29,9 +29,9 @@ Any request with an unregistered stationId is recorded and if auto-discovery is For each request parameter a channel is generated, based on a list of known parameters from and other observed parameters from various devices. If you have a device that submits a parameter that is unknown in the current version of the binding please feel free to submit an issue to have it added. -While discovery is active, either in the background or during a manual scan, any request parameters that don't have a channel associated with them are added to the thing's channels. +While discovery is active, either in the background or during a manual scan, any request parameters that don't have a channel associated with them are added to the Thing's channels. This supports using multiple devices that submit measurements to the same station ID. -The thing is the wunderground account, not the individual devices submitting measurements. +The Thing is the wunderground account, not the individual devices submitting measurements. ## Thing Configuration @@ -133,7 +133,7 @@ sendHttpGetRequest("https://rtupdate.wunderground.com/weatherstation/updateweath ``` The PASSWORD, action and realtime parameters are ignored, as they are wunderground technical constants, that devices must send. -The ID parameter is used to identify the correct thing the request pertains to, i.e. the stationId configuration value. +The ID parameter is used to identify the correct Thing the request pertains to, i.e. the stationId configuration value. As described by the wunderground specification a device can submit multiple values for the outdoor temperature, soil temperature, soil moisture and leaf wetness channels by inserting an index number into the name of the request parameter, fx. tempf can be temp1f, temp2f, etc. This is supported by the discovery mechanism, creating a channel for each of the values. @@ -142,13 +142,13 @@ This is supported by the discovery mechanism, creating a channel for each of the ## Thing file -Configuration using thing and item files is not the recommended method, as you have to manually replicate the configuration discovery produces. +Configuration using Thing and item files is not the recommended method, as you have to manually replicate the configuration discovery produces. Channels _must_ be named as the request parameters in the channel type table, otherwise the binding will not be able to update with values from requests. So the request parameter names submitted by your particular device(s) need to be found before being able to write appropriate thing files. You need to intercept a request from your devices(s) using something like wireshark. Both thing and item files must be created manually to produce a result practically identical to the one produced through automatic discovery. -Assuming you have intercepted a request such as `https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php?ID=MYSTATIONID&PASSWORD=XXXXXX&windspeedmph=3.11&dateutc=2021-02-07%2014:04:03&softwaretype=WH2600%20V2.2.8&action=updateraw&realtime=1&rtfreq=5`, you can configure a thing to intercept the request thus: +Assuming you have intercepted a request such as `https://rtupdate.wunderground.com/weatherstation/updateweatherstation.php?ID=MYSTATIONID&PASSWORD=XXXXXX&windspeedmph=3.11&dateutc=2021-02-07%2014:04:03&softwaretype=WH2600%20V2.2.8&action=updateraw&realtime=1&rtfreq=5`, you can configure a Thing to intercept the request thus: ```java Thing wundergroundupdatereceiver:wundergroundUpdateReceiver:ATHINGID "Foo" [stationId="MYSTATIONID"] { diff --git a/bundles/org.openhab.binding.x/README.md b/bundles/org.openhab.binding.x/README.md index 692e1664967c8..84866bb4f2693 100644 --- a/bundles/org.openhab.binding.x/README.md +++ b/bundles/org.openhab.binding.x/README.md @@ -10,7 +10,7 @@ The X (formerly known as Twitter) binding lets your home post messages (up to 28 ## Thing Configuration -The X account thing requires you to create an app in the X Developer Portal and obtain API keys/tokens. +The X account Thing requires you to create an app in the X Developer Portal and obtain API keys/tokens. | Property | Default | Required | Description | |-------------------|---------|:--------:|-----------------------------------| diff --git a/bundles/org.openhab.binding.xmltv/README.md b/bundles/org.openhab.binding.xmltv/README.md index 39875f01de3b0..c85a9da55c307 100644 --- a/bundles/org.openhab.binding.xmltv/README.md +++ b/bundles/org.openhab.binding.xmltv/README.md @@ -9,10 +9,10 @@ The XMLTV file itself is produced by so‑called "grabbers": ). -This binding reads an XMLTV file and creates a thing for each channel contained in it. +This binding reads an XMLTV file and creates a Thing for each channel contained in it. Channels from the XMLTV file are represented as "Media Channels" to avoid confusion with openHAB Channels. -Each channel thing exposes information about the current program and the next one. +Each channel Thing exposes information about the current program and the next one. ## Supported Things diff --git a/bundles/org.openhab.binding.yamahamusiccast/README.md b/bundles/org.openhab.binding.yamahamusiccast/README.md index 31482243cad64..13976c2569351 100644 --- a/bundles/org.openhab.binding.yamahamusiccast/README.md +++ b/bundles/org.openhab.binding.yamahamusiccast/README.md @@ -27,7 +27,7 @@ The Yamaha Receiver will send update messages to UDP port 41100. ## Supported Things -Each model (AV receiver, etc.) is a thing (Thing Type ID: `yamahamusiccast:device`). Things are linked to a bridge (Thing Type ID: `yamahamusiccast:bridge`) for receiving UDP events. +Each model (AV receiver, etc.) is a Thing (Thing Type ID: `yamahamusiccast:device`). Things are linked to a bridge (Thing Type ID: `yamahamusiccast:bridge`) for receiving UDP events. ## Discovery @@ -146,7 +146,7 @@ String YamahaAlbum "" {channel="yamahamusiccast:device:virtual:Living:playerCont ### MusicCast setup The idea here is to select which device/model will be the master. This needs to be done for each device/model that will be a slave. -If you want the _Living_ to be the master for the _Kitchen_, select _Living - zone (IP)_ from the thing _Kitchen_. +If you want the _Living_ to be the master for the _Kitchen_, select _Living - zone (IP)_ from the Thing _Kitchen_. The binding will check if there is already a group active for which _Living_ is the master. If yes, this group will be used and _Kitchen_ will be added. If not, a new group will be created. diff --git a/bundles/org.openhab.binding.yamahareceiver/README.md b/bundles/org.openhab.binding.yamahareceiver/README.md index 1fb95d4647a35..ebdc8af822254 100644 --- a/bundles/org.openhab.binding.yamahareceiver/README.md +++ b/bundles/org.openhab.binding.yamahareceiver/README.md @@ -16,7 +16,7 @@ If your Yamaha receiver is not on the list, it likely is a newer model that supp ## Discovery Use the auto-discovery feature to detect your hardware. -Initially a thing for the main zone will be created. +Initially a Thing for the main zone will be created. This will trigger a zone detection internally, and all available additional zones will appear as new things. ## Thing Configuration @@ -62,7 +62,7 @@ The implemented channels for the `yamahaAV` bridge are: | `party_mode_mute` | `Switch` | Switches mute on or off when in party mode. Write only (state updates are not available). Applicable only when party mode is on. May not be supported on all models. | | `party_mode_volume` | `Dimmer` | Increase or decrease volume when in party mode. Write only (state updates are not available). INCREASE/DECREASE commands only. Applicable only when party mode is on. May not be supported on all models. | -The implemented channels for a `zone` thing are grouped in three groups. These are the zones supported: `Main_Zone`, `Zone_2`, `Zone_3`, `Zone_4`. +The implemented channels for a `zone` Thing are grouped in three groups. These are the zones supported: `Main_Zone`, `Zone_2`, `Zone_3`, `Zone_4`. Zone control channels are: @@ -260,7 +260,7 @@ The `openhab.log` will contain internal workings of the binding: Certain AVR models in the XML protocol require different values for the input (i.e. `HDMI1` vs `HDMI_1`). On top of that some AVR models during status updates report different value than sent in the command (i.e. return `HDMI_1` for `HDMI1` command). -To account for all variations a Yamaha thing setting got introduced: `Input mapping`. +To account for all variations a Yamaha Thing setting got introduced: `Input mapping`. This allows to map the input value reported by the AVR after status update to the desired canonical value. Use the UI to customize the setting for your particular AVR: `Things > Edit > Yamaha Receiver XXX > Input mapping`. diff --git a/bundles/org.openhab.binding.zoneminder/README.md b/bundles/org.openhab.binding.zoneminder/README.md index b21e075e62313..4cce82d4a62d8 100644 --- a/bundles/org.openhab.binding.zoneminder/README.md +++ b/bundles/org.openhab.binding.zoneminder/README.md @@ -4,7 +4,7 @@ Supports the ZoneMinder video surveillance system. ## Supported Things -The following thing types are supported: +The following Thing types are supported: | Thing | ID | Discovery | Description | |----------|----------|-----------|-------------| @@ -16,18 +16,18 @@ The following thing types are supported: The binding requires ZoneMinder version 1.34.0 or greater and API version 2.0 or greater. It also requires that you enable the **OPT_USE_API** parameter in the ZoneMinder configuration. -If your ZoneMinder is installed using a non-standard URL path or port number, you must specify that when you add the ZoneMinder server thing. +If your ZoneMinder is installed using a non-standard URL path or port number, you must specify that when you add the ZoneMinder server Thing. There are two different styles of operation, depending on whether or not you have ZoneMinder configured to use authentication. ### Non-Authenticated -If ZoneMinder authentication is not used, leave the User and Password parameters empty in the _ZoneMinder Server_ thing configuration. No other configuration is required. +If ZoneMinder authentication is not used, leave the User and Password parameters empty in the _ZoneMinder Server_ Thing configuration. No other configuration is required. ### Authenticated The binding can access ZoneMinder with or without authentication. -If ZoneMinder authentication is used, first make sure the ZoneMinder user has the **API Enabled** permission set in the ZoneMinder Users configuration. Then, enter the username and password into the ZoneMinder Server thing configuration. +If ZoneMinder authentication is used, first make sure the ZoneMinder user has the **API Enabled** permission set in the ZoneMinder Users configuration. Then, enter the username and password into the ZoneMinder Server Thing configuration. ## Discovery @@ -39,7 +39,7 @@ all monitors associated with the ZoneMinder server will be discovered. ### Server Thing -The following configuration parameters are available on the Server thing: +The following configuration parameters are available on the Server Thing: | Parameter | Parameter ID | Required/Optional | Description | |-----------|--------------|-------------------|-------------| @@ -56,7 +56,7 @@ The following configuration parameters are available on the Server thing: ### Monitor Thing -The following configuration parameters are available on the Monitor thing: +The following configuration parameters are available on the Monitor Thing: | Parameter | Parameter ID | Required/Optional | Description | |-----------|--------------|-------------------|-------------| @@ -125,7 +125,7 @@ duration - The number of seconds for which the alarm should run. ### triggerAlarm The `triggerAlarm` action triggers an alarm that runs for the number of seconds specified -in the Monitor thing configuration. +in the Monitor Thing configuration. #### triggerAlarm - trigger an alarm diff --git a/bundles/org.openhab.binding.zway/README.md b/bundles/org.openhab.binding.zway/README.md index e8c9bf701bfe5..45152cfd37bac 100644 --- a/bundles/org.openhab.binding.zway/README.md +++ b/bundles/org.openhab.binding.zway/README.md @@ -28,19 +28,19 @@ The Binding uses the Z-Way library for Java ([GitHub](https://github.com/pathec/ ## Supported Things -The Z-Way Binding provides different thing types. +The Z-Way Binding provides different Thing types. The core component is the bridge which represents the Z-Way server. -For the integration of devices, two thing types are available. +For the integration of devices, two Thing types are available. In Z-Way there are devices which represent physical devices and (virtual) devices which are defined in Apps. The difference is that physical devices usually have several functions. Z-Way server constructs (virtual) devices for each function, such as motion sensors or door contacts. In openHAB, these functions are bundled into physical devices and represented as things with channels for each function. -This type of thing is a _Z-Wave Device_. +This type of Thing is a _Z-Wave Device_. On the other hand all virtual devices are mapped to _Z-Way Virtual Devices_ with exactly one channel. - _Z-Way Server_ (Bridge) represents a bridge with general settings and communication tasks. -- _Z-Way Virtual Device_ represents one (virtual) device with the corresponding channel. A bridge is necessary as an intermediary between openHAB thing and Z-Way device. -- _Z-Wave Device_ represents a device of real world. Each device function will be mapped to a separate channel. The bridge is necessary as an intermediary between openHAB thing and Z-Way device. +- _Z-Way Virtual Device_ represents one (virtual) device with the corresponding channel. A bridge is necessary as an intermediary between openHAB Thing and Z-Way device. +- _Z-Wave Device_ represents a device of real world. Each device function will be mapped to a separate channel. The bridge is necessary as an intermediary between openHAB Thing and Z-Way device. ## Discovery @@ -161,13 +161,13 @@ Unsupported Z-Way device types: Camera, SensorMultiline, Text. The integration o ## Locations The locations of the Z-Way devices are loaded during the discovery. -Based on the location ID of Z-Way device, the name of the Z-Way room is then allocated to the location property of the thing. +Based on the location ID of Z-Way device, the name of the Z-Way room is then allocated to the location property of the Thing. ## Developer stuff ### Known issues -- The Z-Way Binding only works, when simple mode of item linking is enabled during thing creation. +- The Z-Way Binding only works, when simple mode of item linking is enabled during Thing creation. ### Structure of Z-Way Binding From cfb3487a96938548d3bb88eb0bf482b08b30418b Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sun, 28 Dec 2025 22:19:25 +0100 Subject: [PATCH 08/14] Table alignment W-Z Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.warmup/README.md | 36 ++-- .../README.md | 164 +++++++++--------- .../README.md | 110 ++++++------ .../org.openhab.binding.webthing/README.md | 10 +- bundles/org.openhab.binding.wemo/README.md | 106 +++++------ bundles/org.openhab.binding.wifiled/README.md | 2 +- bundles/org.openhab.binding.wiz/README.md | 62 +++---- .../org.openhab.binding.wlanthermo/README.md | 8 +- bundles/org.openhab.binding.wled/README.md | 90 +++++----- .../README.md | 88 +++++----- bundles/org.openhab.binding.x/README.md | 14 +- bundles/org.openhab.binding.xmltv/README.md | 42 ++--- .../org.openhab.binding.xmppclient/README.md | 10 +- .../README.md | 70 ++++---- .../README.md | 36 ++-- .../org.openhab.binding.yeelight/README.md | 24 +-- .../org.openhab.binding.yioremote/README.md | 16 +- .../org.openhab.binding.zoneminder/README.md | 106 +++++------ 18 files changed, 497 insertions(+), 497 deletions(-) diff --git a/bundles/org.openhab.binding.warmup/README.md b/bundles/org.openhab.binding.warmup/README.md index c4676bb648527..bf46547be588c 100644 --- a/bundles/org.openhab.binding.warmup/README.md +++ b/bundles/org.openhab.binding.warmup/README.md @@ -29,13 +29,13 @@ The binding’s API implementation is derived from the implementations at | -| password | text | | password to authenticate to | -| refreshIntervalStructure | integer | 10 | Specifies the refresh interval to refresh the Structure in minutes | -| refreshIntervalValues | integer | 15 | Specifies time in seconds to refresh values | -| discoveryEnabled | boolean | true | disable the Thing discovery | +| Parameter | Type | Defaut | Description | +|--------------------------|---------|--------|--------------------------------------------------------------------| +| username | text | | username to authenticate to | +| password | text | | password to authenticate to | +| refreshIntervalStructure | integer | 10 | Specifies the refresh interval to refresh the Structure in minutes | +| refreshIntervalValues | integer | 15 | Specifies time in seconds to refresh values | +| discoveryEnabled | boolean | true | disable the Thing discovery | ### System (bridge) The system Thing represents one wolf system connected via a WOLF Link home or a WOLF Link pro to the wolf-smartset online portal. You have access to your own or to shared systems. -| Parameter | Type | Defaut | Description | -|-----------------|---------|----------|---------------------------------------------------------------------| -| systemId | integer | | System ID assigned to the system by WolfSmartset | +| Parameter | Type | Defaut | Description | +|-----------|---------|--------|--------------------------------------------------| +| systemId | integer | | System ID assigned to the system by WolfSmartset | ### Unit @@ -46,26 +46,26 @@ A system is divided into different units. In the wolf-smartset portal, the system has an "Expert" section, each submenu item within the "Expert" section has multiple tabs. Each of these tabs is treated as one unit. -| Parameter | Type | Defaut | Description | -|-----------------|---------|----------|---------------------------------------------------------------------| -| unitId | integer | | The BundleId assigned to the unit by WolfSmartset | +| Parameter | Type | Defaut | Description | +|-----------|---------|--------|---------------------------------------------------| +| unitId | integer | | The BundleId assigned to the unit by WolfSmartset | ## Tested WOLF-Devices -| WOLF Equipment | openHAB Version | Used gateway | -|-------------------|-----------------|---------------| -| CSZ (CGB and SM1) | 3.1 | WOLF Link Pro | -| CGB-2 | 3.1 | WOLF Link home| +| WOLF Equipment | openHAB Version | Used gateway | +|-------------------|-----------------|----------------| +| CSZ (CGB and SM1) | 3.1 | WOLF Link Pro | +| CGB-2 | 3.1 | WOLF Link home | ## Channels -| channel | type | description | -|----------|--------|------------------------------| -| number | Number | a generic number | -| contact | Contact | a generic contact | -| temperature | Number:Temperature | a generic temperature | -| string | String | a generic String | -| datetime | DateTime | a generic DateTime | +| channel | type | description | +|-------------|--------------------|-----------------------| +| number | Number | a generic number | +| contact | Contact | a generic contact | +| temperature | Number:Temperature | a generic temperature | +| string | String | a generic String | +| datetime | DateTime | a generic DateTime | ## Full Example @@ -119,29 +119,29 @@ All devices able to be connected to [Wolf Product Documentation](https://oxomi.com/service/json/catalog/pdf?portal=2024876&catalog=10406695) -| Heating system | WOLF Link home | WOLF Link pro | -|-------------------------------------------|-----------------------|--------------------| -| Gas condensing boiler CGB-2, CGW-2, CGS-2 | ✅ | ✅ | -| Oil condensing boiler TOB | ✅ | ✅ | -| MGK-2 gas condensing boiler | ✅ | ✅ | -| split air/water heat pump BWL-1S | ✅ | ✅ | -| Oil condensing boiler COB | | ✅ | -| gas condensing boiler MGK | | ✅ | -| Gas condensing boilers CGB, CGW, CGS, FGB | | ✅ | -| Gas condensing boilers CGG-2, CGU-2 | | ✅ | -| Boiler controls R2, R3, R21 | | ✅ | -| Monobloc heat pumps BWW-1, BWL-1, BWS-1 | | ✅ | -| mixer module MM, MM-2 | ⬜ | ✅ | -| cascade module KM, KM-2 | ⬜ | ✅ | -| solar modules SM1, SM1-2, SM-2, SM2-2 | ⬜ | ✅ | -| Comfort apartment ventilation CWL Excellent | ⬜ | ✅ | -| Air handling units KG Top, CKL Pool``*`` | | ✅ | -| Air handling units CKL, CFL, CRL``*`` | | ✅ | -| Combined heat and power units | | ✅ | +| Heating system | WOLF Link home | WOLF Link pro | +|---------------------------------------------|----------------|---------------| +| Gas condensing boiler CGB-2, CGW-2, CGS-2 | Y | Y | +| Oil condensing boiler TOB | Y | Y | +| MGK-2 gas condensing boiler | Y | Y | +| split air/water heat pump BWL-1S | Y | Y | +| Oil condensing boiler COB | | Y | +| gas condensing boiler MGK | | Y | +| Gas condensing boilers CGB, CGW, CGS, FGB | | Y | +| Gas condensing boilers CGG-2, CGU-2 | | Y | +| Boiler controls R2, R3, R21 | | Y | +| Monobloc heat pumps BWW-1, BWL-1, BWS-1 | | Y | +| mixer module MM, MM-2 | O | Y | +| cascade module KM, KM-2 | O | Y | +| solar modules SM1, SM1-2, SM-2, SM2-2 | O | Y | +| Comfort apartment ventilation CWL Excellent | O | Y | +| Air handling units KG Top, CKL Pool``*`` | | Y | +| Air handling units CKL, CFL, CRL``*`` | | Y | +| Combined heat and power units | | Y | Note: -⬜ possible in connection with a WOLF Link home compatible heater, +O) possible in connection with a WOLF Link home compatible heater, full functionality only for devices with current software version. ``*`` Modbus interface required in the device, diff --git a/bundles/org.openhab.binding.x/README.md b/bundles/org.openhab.binding.x/README.md index 84866bb4f2693..529b11b3691d5 100644 --- a/bundles/org.openhab.binding.x/README.md +++ b/bundles/org.openhab.binding.x/README.md @@ -12,13 +12,13 @@ The X (formerly known as Twitter) binding lets your home post messages (up to 28 The X account Thing requires you to create an app in the X Developer Portal and obtain API keys/tokens. -| Property | Default | Required | Description | -|-------------------|---------|:--------:|-----------------------------------| -| consumerKey | | Yes | Consumer API Key | -| consumerSecret | | Yes | Consumer API Secret | -| accessToken | | Yes | Access Token | -| accessTokenSecret | | Yes | Access Token Secret | -| refresh | 30 | No | Refresh interval in minutes | +| Property | Default | Required | Description | +|-------------------|---------|:--------:|-----------------------------| +| consumerKey | | Yes | Consumer API Key | +| consumerSecret | | Yes | Consumer API Secret | +| accessToken | | Yes | Access Token | +| accessTokenSecret | | Yes | Access Token Secret | +| refresh | 30 | No | Refresh interval in minutes | ## Channels diff --git a/bundles/org.openhab.binding.xmltv/README.md b/bundles/org.openhab.binding.xmltv/README.md index c85a9da55c307..8c59375ca2d32 100644 --- a/bundles/org.openhab.binding.xmltv/README.md +++ b/bundles/org.openhab.binding.xmltv/README.md @@ -25,26 +25,26 @@ Once the XMLTV file bridge is created, you can add all known channels by scannin ## Binding Configuration -| Configuration Parameter | Required | Description | Default | -|-------------------------|----------|------------------------------------------------|---------| +| Configuration Parameter | Required | Description | Default | +|-------------------------|----------|-------------------------------------------------|---------| | filePath | Yes | Full path (including filename) to an XMLTV file | | | refresh | No | XMLTV file reload interval (hours) | 24 h | -| encoding | Yes | XMLTV file encoding | UTF-8 | +| encoding | Yes | XMLTV file encoding | UTF-8 | ## Thing Configuration -| Configuration Parameter | Required | Description | Default | -|-------------------------|----------|------------------------------------------------------|---------| -| channelId | Yes | ID of the channel as presented in the XMLTV file | | -| offset | No | Offset applied to program times (minutes; +/-) | 0 | -| refresh | No | Refresh interval (seconds) | 60 | +| Configuration Parameter | Required | Description | Default | +|-------------------------|----------|--------------------------------------------------|---------| +| channelId | Yes | ID of the channel as presented in the XMLTV file | | +| offset | No | Offset applied to program times (minutes; +/-) | 0 | +| refresh | No | Refresh interval (seconds) | 60 | ## Channels -| Channel Type ID | Item Type | Description | -|-----------------|-----------|--------------------------| -| iconUrl | String | Channel icon URL | -| icon | Image | Icon of the channel | +| Channel Type ID | Item Type | Description | +|-----------------|-----------|---------------------| +| iconUrl | String | Channel icon URL | +| icon | Image | Icon of the channel | ### Current program (currentprog) channel group @@ -62,15 +62,15 @@ Once the XMLTV file bridge is created, you can add all known channels by scannin ### Next program (nextprog) channel group -| Channel Type ID | Item Type | Description | -|-----------------|------------|------------------------------------| -| progStart | DateTime | Program start time | -| timeLeft | Number:Time| Time left before program start | -| progEnd | DateTime | Program end time | -| progTitle | String | Program title | -| progCategory | String | Program category | -| progIconUrl | String | URL to an image of the program | -| icon | Image | Icon of the program | +| Channel Type ID | Item Type | Description | +|-----------------|-------------|--------------------------------| +| progStart | DateTime | Program start time | +| timeLeft | Number:Time | Time left before program start | +| progEnd | DateTime | Program end time | +| progTitle | String | Program title | +| progCategory | String | Program category | +| progIconUrl | String | URL to an image of the program | +| icon | Image | Icon of the program | ## Full Example diff --git a/bundles/org.openhab.binding.xmppclient/README.md b/bundles/org.openhab.binding.xmppclient/README.md index 480ec75fd2c20..78cc2ca3b2430 100644 --- a/bundles/org.openhab.binding.xmppclient/README.md +++ b/bundles/org.openhab.binding.xmppclient/README.md @@ -31,8 +31,8 @@ Bridge xmppclient:xmppBridge:xmpp "XMPP Client" [ host="xmpp.example.com", port= | username | Username | The XMPP username (left part of JID) | true | - | | domain | Domain | The XMPP domain name (right part of JID) | true | - | | password | Password | The XMPP user password | true | - | -| host | Server Hostname/IP | The IP address or hostname of the XMPP server | false | as "domain" parameter | -| port | XMPP Server Port | Port for the XMPP server | false | 5222 | +| host | Server Hostname/IP | The IP address or hostname of the XMPP server | false | as "domain" parameter | +| port | XMPP Server Port | Port for the XMPP server | false | 5222 | | securityMode | Security Mode | Sets the TLS security mode: `required`, `ifpossible` or `disabled` | false | `required` | ## Channels @@ -41,9 +41,9 @@ You can add `publishTrigger` channels to the bridge to react to incoming message **publishTrigger** parameters: -| Name | Label | Description | Required | -|-----------|---------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------| -| payload | Payload condition | An optional condition on the value | false | +| Name | Label | Description | Required | +|-----------|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------| +| payload | Payload condition | An optional condition on the value | false | | separator | Separator character | The trigger payload usually contains only the received text. If you define a separator character (e.g., `#`), the sender UID and received text will both be included in the payload. For example: `pavel@example.com#My Message Text` | false | ## Example Rules diff --git a/bundles/org.openhab.binding.yamahamusiccast/README.md b/bundles/org.openhab.binding.yamahamusiccast/README.md index 13976c2569351..4441cb75af67f 100644 --- a/bundles/org.openhab.binding.yamahamusiccast/README.md +++ b/bundles/org.openhab.binding.yamahamusiccast/README.md @@ -35,48 +35,48 @@ Auto-discovery via UPnP is supported for Yamaha devices that advertise as MediaR ## Thing Configuration -| Parameter | Type | Description | Advanced | Required | -|--------------------|---------|----------------------------------------------------------|----------|----------| -| host | String | IP address of the Yamaha model (AVR, etc.) | false | true | -| syncVolume | Boolean | Sync volume across linked models (default: false) | false | false | +| Parameter | Type | Description | Advanced | Required | +|--------------------|---------|-----------------------------------------------------------|----------|----------| +| host | String | IP address of the Yamaha model (AVR, etc.) | false | true | +| syncVolume | Boolean | Sync volume across linked models (default: false) | false | false | | defaultAfterMCLink | String | Default input value for the client when MC Link is broken | false | false | -| volumeDbMin | Number | Lowest volume in dB | true | false | -| volumeDbMax | Number | Highest volume in dB | true | false | +| volumeDbMin | Number | Lowest volume in dB | true | false | +| volumeDbMax | Number | Highest volume in dB | true | false | Default value for _defaultAfterMCLink_ is _NET RADIO_ (as _net_radio_) since most models have this on board. You can also use _RADIO / TUNER_ (as _tuner_). ## Channels -| channel | type | description | -|----------------|----------------------|----------------------------------------------------------------------| -| power | Switch | Power ON/OFF | -| mute | Switch | Mute ON/OFF | -| volume | Dimmer | Volume in % (scaled to the model's maximum volume) | -| volumeAbs | Number | Volume as an absolute value | -| volumeDB | Number:Dimensionless | Volume in decibels (dB); availability depends on device | -| input | String | See the list below | -| soundProgram | String | See the list below | -| selectPreset | String | Select Net Radio/USB preset (fetched from the model) | -| selectPresetDAB | String | Select DAB tuner preset (fetched from Model) | -| selectPresetFM | String | Select FM tuner preset (fetched from Model) | -| sleep | Number | Fixed values for sleep: 0/30/60/90/120 minutes | -| recallScene | Number | Select a scene (8 default scenes are provided) | -| player | Player | PLAY/PAUSE/NEXT/PREVIOUS/REWIND/FASTFORWARD | -| artist | String | Artist | -| track | String | Track | -| album | String | Album | -| albumArt | Image | Album art | -| repeat | String | Toggle repeat: Off, One, All | -| shuffle | String | Toggle shuffle: Off, On, Songs, Albums | -| playTime | Number:Time | Play time of the current selection: radio, song, track, ... | -| totalTime | String | Total time of the current selection: radio, song, track, ... | -| mclinkStatus | String | Choose your MusicCast server or set to Standalone, Server, or Client | - -| Zones | description | -|----------------------|------------------------------------------------------| -| zone1-4 | Zones 1 to 4 to control Power, Volume, etc. | -| playerControls | Separate zone for Play, Pause, etc. | +| channel | type | description | +|-----------------|----------------------|----------------------------------------------------------------------| +| power | Switch | Power ON/OFF | +| mute | Switch | Mute ON/OFF | +| volume | Dimmer | Volume in % (scaled to the model's maximum volume) | +| volumeAbs | Number | Volume as an absolute value | +| volumeDB | Number:Dimensionless | Volume in decibels (dB); availability depends on device | +| input | String | See the list below | +| soundProgram | String | See the list below | +| selectPreset | String | Select Net Radio/USB preset (fetched from the model) | +| selectPresetDAB | String | Select DAB tuner preset (fetched from Model) | +| selectPresetFM | String | Select FM tuner preset (fetched from Model) | +| sleep | Number | Fixed values for sleep: 0/30/60/90/120 minutes | +| recallScene | Number | Select a scene (8 default scenes are provided) | +| player | Player | PLAY/PAUSE/NEXT/PREVIOUS/REWIND/FASTFORWARD | +| artist | String | Artist | +| track | String | Track | +| album | String | Album | +| albumArt | Image | Album art | +| repeat | String | Toggle repeat: Off, One, All | +| shuffle | String | Toggle shuffle: Off, On, Songs, Albums | +| playTime | Number:Time | Play time of the current selection: radio, song, track, ... | +| totalTime | String | Total time of the current selection: radio, song, track, ... | +| mclinkStatus | String | Choose your MusicCast server or set to Standalone, Server, or Client | + +| Zones | description | +|----------------|---------------------------------------------| +| zone1-4 | Zones 1 to 4 to control Power, Volume, etc. | +| playerControls | Separate zone for Play, Pause, etc. | ## Input List diff --git a/bundles/org.openhab.binding.yamahareceiver/README.md b/bundles/org.openhab.binding.yamahareceiver/README.md index ebdc8af822254..2f9953fa47d78 100644 --- a/bundles/org.openhab.binding.yamahareceiver/README.md +++ b/bundles/org.openhab.binding.yamahareceiver/README.md @@ -34,33 +34,33 @@ Bridge yamahareceiver:yamahaAV:ReceiverID "Yamaha Receiver Bridge Name" [host="a Configuration parameters for Bridge `yamahaAV`: -| Parameter | Required | Default | Description | -|-------------------|----------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| -| `host` | yes | N/A | The IP address of the AVR to control | -| `port` | no | 80 | The API port of the AVR to control | -| `refreshInterval` | no | 60 | Refresh interval in seconds | -| `albumUrl` | no | embedded image URL | When the album image is not provided by the Yamaha input source, you can specify a default image URL to use | +| Parameter | Required | Default | Description | +|-------------------|----------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------| +| `host` | yes | N/A | The IP address of the AVR to control | +| `port` | no | 80 | The API port of the AVR to control | +| `refreshInterval` | no | 60 | Refresh interval in seconds | +| `albumUrl` | no | embedded image URL | When the album image is not provided by the Yamaha input source, you can specify a default image URL to use | | `inputMapping` | no | "" (empty string) | Some Yamaha models return different input values on status update than required in the change input commands; see [below](#input-values) for details | Configuration parameters for Thing `zone`: -| Parameter | Required | Default | Description | -|------------------------------|----------|---------|-----------------------------------------------------------------------------| +| Parameter | Required | Default | Description | +|------------------------------|----------|---------|----------------------------------------------------------------------------| | `zone` | yes | / | The zone can be Main_Zone, Zone_2, Zone_3, Zone_4 depending on your device | -| `volumeRelativeChangeFactor` | no | 2 | Relative volume change in % | -| `volumeDbMin` | no | -80 | Lowest volume in dB | -| `volumeDbMax` | no | 12 | Highest volume in dB | +| `volumeRelativeChangeFactor` | no | 2 | Relative volume change in % | +| `volumeDbMin` | no | -80 | Lowest volume in dB | +| `volumeDbMax` | no | 12 | Highest volume in dB | ## Channels The implemented channels for the `yamahaAV` bridge are: -| Channel | openHAB Type | Comment | -|---------------------|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `power` | `Switch` | Switches the AVR on or off. Your receiver must be in network standby for this to work. | -| `party_mode` | `Switch` | Switches party mode on or off. May not be supported on all models. | -| `party_mode_mute` | `Switch` | Switches mute on or off when in party mode. Write only (state updates are not available). Applicable only when party mode is on. May not be supported on all models. | -| `party_mode_volume` | `Dimmer` | Increase or decrease volume when in party mode. Write only (state updates are not available). INCREASE/DECREASE commands only. Applicable only when party mode is on. May not be supported on all models. | +| Channel | openHAB Type | Comment | +|---------------------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `power` | `Switch` | Switches the AVR on or off. Your receiver must be in network standby for this to work. | +| `party_mode` | `Switch` | Switches party mode on or off. May not be supported on all models. | +| `party_mode_mute` | `Switch` | Switches mute on or off when in party mode. Write only (state updates are not available). Applicable only when party mode is on. May not be supported on all models. | +| `party_mode_volume` | `Dimmer` | Increase or decrease volume when in party mode. Write only (state updates are not available). INCREASE/DECREASE commands only. Applicable only when party mode is on. May not be supported on all models. | The implemented channels for a `zone` Thing are grouped in three groups. These are the zones supported: `Main_Zone`, `Zone_2`, `Zone_3`, `Zone_4`. @@ -78,7 +78,7 @@ Zone control channels are: | `zone_channels#dialogueLevel` | `Number` | Sets the receiver's dialogue level. May not be supported on all models. | | `zone_channels#hdmi1Out` | `Switch` | Switches the HDMI1 output on or off (channel is placed in Main_Zone but is effectively a system parameter). May not be supported on all models. | | `zone_channels#hdmi2Out` | `Switch` | Switches the HDMI2 output on or off (channel is placed in Main_Zone but is effectively a system parameter). May not be supported on all models. | -| `playback_channels#preset` | `Number` | Set a preset. Not supported by `Spotify` input. For `NET RADIO` input there is no way to get the current preset (tested on RX-S601D, RX-V3900), so the preset is write only. For RX-V3900 the presets are alphanumeric `A1`, `A2`, `B1`, `B2`, so you need to use numbers greater than 100 to represent these presets as follows: 101, 102, 201, 202. | +| `playback_channels#preset` | `Number` | Set a preset. Not supported by `Spotify` input. For `NET RADIO` input there is no way to get the current preset (tested on RX-S601D, RX-V3900), so the preset is write only. For RX-V3900 the presets are alphanumeric `A1`, `A2`, `B1`, `B2`, so you need to use numbers greater than 100 to represent these presets as follows: 101, 102, 201, 202. | | `playback_channels#playback` | `String` | Set a play mode or get the current play mode. Supported values: `Previous`, `Play`, `Pause`, `Stop`, `Next`. Applies to inputs that support playback (`Spotify`, `SERVER`, `NET RADIO`, `Bluetooth`). Note that some values may not be supported for certain input type and AVR model combinations. For `Spotify` and `Bluetooth` all values work, but for `NET RADIO` input only `Play` and `Stop` are supported (tested on RX-S601D). | | `playback_channels#playback_station` | `String` | Get the currently played station (radio). Applies to `TUNER` and `NET RADIO` inputs only. | | `playback_channels#playback_artist` | `String` | Get the currently played artist. | diff --git a/bundles/org.openhab.binding.yeelight/README.md b/bundles/org.openhab.binding.yeelight/README.md index 11a11f3bc9136..d3ef37293643d 100644 --- a/bundles/org.openhab.binding.yeelight/README.md +++ b/bundles/org.openhab.binding.yeelight/README.md @@ -30,23 +30,23 @@ Yeelight smart LED devices announce themselves on the network through UPnP, so t All Yeelight things require the `deviceId` from the device as a configuration parameter. This table shows all available parameters: -| Parameter | Values | Mandatory | -|---------------------|--------------------------------------------------|-----------| -| deviceId | ID of the Yeelight device | Yes | -| duration | Duration for transition between different states | No | +| Parameter | Values | Mandatory | +|-----------|--------------------------------------------------|-----------| +| deviceId | ID of the Yeelight device | Yes | +| duration | Duration for transition between different states | No | ## Channels All devices support some of the following channels: -| Channel | Item Type | Description | -|--------|------|------| -|`brightness` | `Dimmer` | This channel supports adjusting the brightness value; it is available on `dolphin` and `ceiling`.| -|`color` | `Color` | This channel supports color control; it is available on `wonder` and `stripe`.| -|`colorTemperature` | `Dimmer` | This channel supports adjusting the color temperature; it is available on `wonder`, `stripe`, and `ceiling`.| -|`command` | `String` | This channel sends a command directly to the device; it is available on all Yeelight things.| -|`backgroundColor` | `Color` or `Dimmer` | This channel supports color control for the ambient light; it is available on `ceiling4`.| -|`nightlight` | `Switch` | This channel supports switching to nightlight mode; it is available on `ceiling1` and `ceiling4`.| +| Channel | Item Type | Description | +|--------------------|---------------------|--------------------------------------------------------------------------------------------------------------| +| `brightness` | `Dimmer` | This channel supports adjusting the brightness value; it is available on `dolphin` and `ceiling`. | +| `color` | `Color` | This channel supports color control; it is available on `wonder` and `stripe`. | +| `colorTemperature` | `Dimmer` | This channel supports adjusting the color temperature; it is available on `wonder`, `stripe`, and `ceiling`. | +| `command` | `String` | This channel sends a command directly to the device; it is available on all Yeelight things. | +| `backgroundColor` | `Color` or `Dimmer` | This channel supports color control for the ambient light; it is available on `ceiling4`. | +| `nightlight` | `Switch` | This channel supports switching to nightlight mode; it is available on `ceiling1` and `ceiling4`. | ## Full Example diff --git a/bundles/org.openhab.binding.yioremote/README.md b/bundles/org.openhab.binding.yioremote/README.md index 6b30d5d3f88ea..c1a24f37c99e1 100644 --- a/bundles/org.openhab.binding.yioremote/README.md +++ b/bundles/org.openhab.binding.yioremote/README.md @@ -14,10 +14,10 @@ The following are the configurations available to each of the bridges/things: ### YIO Dock -| Name | Type | Required | Default | Description | -| ----------- | ------ | -------- | ------- | --------------------------------------------------- | -| host | string | Yes | (None) | Host/IP address or host name of the YIO Dock | -| accessToken | string | Yes | 0 | Authentication token (default: 0) | +| Name | Type | Required | Default | Description | +|-------------|--------|----------|---------|----------------------------------------------| +| host | string | Yes | (None) | Host/IP address or host name of the YIO Dock | +| accessToken | string | Yes | 0 | Authentication token (default: 0) | ## Channels @@ -25,10 +25,10 @@ The following are the configurations available to each of the bridges/things: The YIO Dock has the following channels: -| Channel | Input/Output | Item Type | Description | -| -------------- | ------------ | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| receiverswitch | Input | Switch | Enable/disable the IR receiver diode/function | -| status | Output | String | Status of the YIO Dock. If the receiver is on, the recognized IR code is displayed; otherwise the send status of the last IR code is displayed. | +| Channel | Input/Output | Item Type | Description | +|----------------|--------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------| +| receiverswitch | Input | Switch | Enable/disable the IR receiver diode/function | +| status | Output | String | Status of the YIO Dock. If the receiver is on, the recognized IR code is displayed; otherwise the send status of the last IR code is displayed. | # Actions diff --git a/bundles/org.openhab.binding.zoneminder/README.md b/bundles/org.openhab.binding.zoneminder/README.md index 4cce82d4a62d8..6df5c3e7c1b82 100644 --- a/bundles/org.openhab.binding.zoneminder/README.md +++ b/bundles/org.openhab.binding.zoneminder/README.md @@ -6,10 +6,10 @@ Supports the ZoneMinder video surveillance system. The following Thing types are supported: -| Thing | ID | Discovery | Description | -|----------|----------|-----------|-------------| -| Server | server | Manual | Server bridge manages all communication with ZoneMinder server | -| Monitor | monitor | Automatic | Monitor represents a ZoneMinder camera monitor | +| Thing | ID | Discovery | Description | +|---------|---------|-----------|----------------------------------------------------------------| +| Server | server | Manual | Server bridge manages all communication with ZoneMinder server | +| Monitor | monitor | Automatic | Monitor represents a ZoneMinder camera monitor | ## Installation @@ -41,69 +41,69 @@ all monitors associated with the ZoneMinder server will be discovered. The following configuration parameters are available on the Server Thing: -| Parameter | Parameter ID | Required/Optional | Description | -|-----------|--------------|-------------------|-------------| -| Host | host | Required | Host name or IP address of the ZoneMinder server. | -| Use secure connection | useSSL | Required | Use HTTP or HTTPS for connection to ZoneMinder. Default is HTTP. | -| Port Number | portNumber | Optional | Port number if not on ZoneMinder default port 80. | -| URL Path | urlPath | Required | Path where ZoneMinder is installed. Default is /zm. Enter / if ZoneMinder is installed under the root directory. | -| Refresh Interval | refreshInterval | Required | Frequency in seconds at which monitor status will be updated. | -| Default Alarm Duration | defaultAlarmDuration | Required | Sets the default alarm duration for discovered monitors. | -| Default Image Refresh Interval | defaultImageRefreshInterval | Optional | Sets the image refresh interval in seconds for discovered monitors. Leave empty to not set an image refresh interval. | -| Monitor Discovery Enabled | discoveryEnabled | Required | Enable or disable the automatic discovery of monitors. Default is enabled. | -| User ID | user | Optional | User ID of the ZoneMinder user when using authentication. | -| Password | pass | Optional | Password of the ZoneMinder user when using authentication. | +| Parameter | Parameter ID | Required/Optional | Description | +|--------------------------------|-----------------------------|-------------------|-----------------------------------------------------------------------------------------------------------------------| +| Host | host | Required | Host name or IP address of the ZoneMinder server. | +| Use secure connection | useSSL | Required | Use HTTP or HTTPS for connection to ZoneMinder. Default is HTTP. | +| Port Number | portNumber | Optional | Port number if not on ZoneMinder default port 80. | +| URL Path | urlPath | Required | Path where ZoneMinder is installed. Default is /zm. Enter / if ZoneMinder is installed under the root directory. | +| Refresh Interval | refreshInterval | Required | Frequency in seconds at which monitor status will be updated. | +| Default Alarm Duration | defaultAlarmDuration | Required | Sets the default alarm duration for discovered monitors. | +| Default Image Refresh Interval | defaultImageRefreshInterval | Optional | Sets the image refresh interval in seconds for discovered monitors. Leave empty to not set an image refresh interval. | +| Monitor Discovery Enabled | discoveryEnabled | Required | Enable or disable the automatic discovery of monitors. Default is enabled. | +| User ID | user | Optional | User ID of the ZoneMinder user when using authentication. | +| Password | pass | Optional | Password of the ZoneMinder user when using authentication. | ### Monitor Thing The following configuration parameters are available on the Monitor Thing: -| Parameter | Parameter ID | Required/Optional | Description | -|-----------|--------------|-------------------|-------------| -| Monitor ID | monitorId | Required | ID of monitor defined in ZoneMinder. | +| Parameter | Parameter ID | Required/Optional | Description | +|------------------------|----------------------|-------------------|--------------------------------------------------------------------------| +| Monitor ID | monitorId | Required | ID of monitor defined in ZoneMinder. | | Image Refresh Interval | imageRefreshInterval | Optional | Interval in seconds at which the snapshot image channel will be updated. | -| Alarm Duration | alarmDuration | Required | Duration the alarm will run once triggered by the triggerAlarm channel. | +| Alarm Duration | alarmDuration | Required | Duration the alarm will run once triggered by the triggerAlarm channel. | ## Channels ### Server Thing -| Channel | Type | Description | -|----------|--------|--------------| -| imageMonitorId | String | Monitor ID to use for selecting an image URL. Sending an OFF command to this channel will reset the monitor ID and URL to UNDEF. | -| imageUrl | String | Image URL for the monitor ID specified by imageMonitorId. Channel is UNDEF if the monitor ID is not set, or if an OFF command is sent to the imageMonitorId channel. | -| videoMonitorId | String | Monitor ID to use for selecting a video URL. Sending an OFF command to this channel will reset the monitor ID and URL to UNDEF. | -| videoUrl | String | Video URL for the monitor ID specified by videoMonitorId. Channel is UNDEF if the monitor ID is not set, or if an OFF command is sent to the videoMonitorId channel. | -| runState | String | Set the run state for the ZoneMinder server. | +| Channel | Type | Description | +|----------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| imageMonitorId | String | Monitor ID to use for selecting an image URL. Sending an OFF command to this channel will reset the monitor ID and URL to UNDEF. | +| imageUrl | String | Image URL for the monitor ID specified by imageMonitorId. Channel is UNDEF if the monitor ID is not set, or if an OFF command is sent to the imageMonitorId channel. | +| videoMonitorId | String | Monitor ID to use for selecting a video URL. Sending an OFF command to this channel will reset the monitor ID and URL to UNDEF. | +| videoUrl | String | Video URL for the monitor ID specified by videoMonitorId. Channel is UNDEF if the monitor ID is not set, or if an OFF command is sent to the videoMonitorId channel. | +| runState | String | Set the run state for the ZoneMinder server. | ### Monitor Thing -| Channel | Type | Description | -|----------|--------|--------------| -| id | String | Monitor ID. | -| name | String | Monitor name. | -| image | Image | Snapshot image. | -| enable | Switch | Enable or disable monitor. | -| function | String | Monitor function (e.g., Nodect, Mocord). | -| alarm | Switch | Monitor is alarming. | -| state | String | Monitor state (e.g., IDLE, ALARM, TAPE). | -| triggerAlarm | Switch | Turn alarm on or off. | -| hourEvents | Number | Number of events in the last hour. | -| dayEvents | Number | Number of events in the last day. | -| weekEvents | Number | Number of events in the last week. | -| monthEvents | Number | Number of events in the last month. | -| totalEvents | Number | Total number of events. | -| imageUrl | String | URL for image snapshot. | -| videoUrl | String | URL for JPEG video stream. | -| eventId | String | ID of the most recently completed event. | -| eventName | String | Name of the most recently completed event. | -| eventCause | String | Cause of the most recently completed event. | -| eventNotes | String | Notes of the most recently completed event. | -| eventStart | DateTime | Start date/time of the most recently completed event. | -| eventEnd | DateTime | End date/time of the most recently completed event. | -| eventFrames | Number | Number of frames of the most recently completed event. | -| eventAlarmFrames | Number | Number of alarm frames of the most recently completed event. | -| eventLength | Number:Time | Length in seconds of the most recently completed event. | +| Channel | Type | Description | +|------------------|-------------|--------------------------------------------------------------| +| id | String | Monitor ID. | +| name | String | Monitor name. | +| image | Image | Snapshot image. | +| enable | Switch | Enable or disable monitor. | +| function | String | Monitor function (e.g., Nodect, Mocord). | +| alarm | Switch | Monitor is alarming. | +| state | String | Monitor state (e.g., IDLE, ALARM, TAPE). | +| triggerAlarm | Switch | Turn alarm on or off. | +| hourEvents | Number | Number of events in the last hour. | +| dayEvents | Number | Number of events in the last day. | +| weekEvents | Number | Number of events in the last week. | +| monthEvents | Number | Number of events in the last month. | +| totalEvents | Number | Total number of events. | +| imageUrl | String | URL for image snapshot. | +| videoUrl | String | URL for JPEG video stream. | +| eventId | String | ID of the most recently completed event. | +| eventName | String | Name of the most recently completed event. | +| eventCause | String | Cause of the most recently completed event. | +| eventNotes | String | Notes of the most recently completed event. | +| eventStart | DateTime | Start date/time of the most recently completed event. | +| eventEnd | DateTime | End date/time of the most recently completed event. | +| eventFrames | Number | Number of frames of the most recently completed event. | +| eventAlarmFrames | Number | Number of alarm frames of the most recently completed event. | +| eventLength | Number:Time | Length in seconds of the most recently completed event. | ## Thing Actions From 9ac20635bd9b567d5852457dca65e520db6016eb Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Fri, 2 Jan 2026 12:23:30 +0100 Subject: [PATCH 09/14] Fixed wunderground Signed-off-by: Leo Siepel --- .../OH-INF/i18n/wundergroundupdatereceiver.properties | 10 +++++----- .../src/main/resources/OH-INF/thing/thing-types.xml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bundles/org.openhab.binding.wundergroundupdatereceiver/src/main/resources/OH-INF/i18n/wundergroundupdatereceiver.properties b/bundles/org.openhab.binding.wundergroundupdatereceiver/src/main/resources/OH-INF/i18n/wundergroundupdatereceiver.properties index db1a1691b2af0..db27f5a32c2ce 100644 --- a/bundles/org.openhab.binding.wundergroundupdatereceiver/src/main/resources/OH-INF/i18n/wundergroundupdatereceiver.properties +++ b/bundles/org.openhab.binding.wundergroundupdatereceiver/src/main/resources/OH-INF/i18n/wundergroundupdatereceiver.properties @@ -11,7 +11,7 @@ thing-type.wundergroundupdatereceiver.wundergroundUpdateReceiver.description = A # thing types config thing-type.config.wundergroundupdatereceiver.wundergroundUpdateReceiver.stationId.label = Station ID -thing-type.config.wundergroundupdatereceiver.wundergroundUpdateReceiver.stationId.description =
The wunderground.com update api requires a station id, that is defined for the WeatherUnderground account measurements are to be submitted to.

In this binding it is used to identify a unique thing, so each weather-station or other apparatus submitting measurements can have a separate id, but if you don't intend to forward the observations to wunderground.com, this value can be any non-blank string. +thing-type.config.wundergroundupdatereceiver.wundergroundUpdateReceiver.stationId.description = The wunderground.com update api requires a station id, that is defined for the WeatherUnderground account measurements are to be submitted to.

In this binding it is used to identify a unique thing, so each device or other apparatus submitting measurements can have a separate id, but if you don't intend to forward the observations to wunderground.com, this value can be any non-blank string. # channel group types @@ -59,9 +59,9 @@ channel-type.wundergroundupdatereceiver.indoor-humidity.label = Indoor Humidity channel-type.wundergroundupdatereceiver.indoor-humidity.description = Indoor humidity in %. channel-type.wundergroundupdatereceiver.indoor-temperature.label = Indoor Temperature channel-type.wundergroundupdatereceiver.indoor-temperature.description = Indoor temperature. -channel-type.wundergroundupdatereceiver.last-query-state.label = Last query +channel-type.wundergroundupdatereceiver.last-query-state.label = The last query channel-type.wundergroundupdatereceiver.last-query-state.description = The query part of the last request from the device -channel-type.wundergroundupdatereceiver.last-query-trigger.label = Last query +channel-type.wundergroundupdatereceiver.last-query-trigger.label = The last query channel-type.wundergroundupdatereceiver.last-query-trigger.description = The query part of the last request from the device channel-type.wundergroundupdatereceiver.last-received-datetime.label = Last Received channel-type.wundergroundupdatereceiver.last-received-datetime.description = The date and time of the last update. @@ -111,7 +111,7 @@ channel-type.wundergroundupdatereceiver.soil-moisture.description = Soil moistur channel-type.wundergroundupdatereceiver.soil-temperature.label = Soil Temperature channel-type.wundergroundupdatereceiver.soil-temperature.description = Soil temperature. channel-type.wundergroundupdatereceiver.solarradiation.label = Solar Radiation -channel-type.wundergroundupdatereceiver.solarradiation.description = Solar radiation, W/m2 +channel-type.wundergroundupdatereceiver.solarradiation.description = Solar radiation in W/m2. channel-type.wundergroundupdatereceiver.sulfur-dioxide-trace-levels.label = Sulfur Dioxide Trace Levels channel-type.wundergroundupdatereceiver.sulfur-dioxide-trace-levels.description = Sulfur Dioxide, trace levels ppb. channel-type.wundergroundupdatereceiver.sulfur-dioxide.label = Sulfur Dioxide @@ -121,7 +121,7 @@ channel-type.wundergroundupdatereceiver.total-reactive-nitrogen.description = To channel-type.wundergroundupdatereceiver.uv.label = UV Index channel-type.wundergroundupdatereceiver.uv.description = UV index. channel-type.wundergroundupdatereceiver.visibility.label = Visibility -channel-type.wundergroundupdatereceiver.visibility.description = Visibility in nautical miles. +channel-type.wundergroundupdatereceiver.visibility.description = Visibility. channel-type.wundergroundupdatereceiver.wind-chill.label = Wind Chill channel-type.wundergroundupdatereceiver.wind-chill.description = The apparent wind chill temperature. channel-type.wundergroundupdatereceiver.wind-direction-avg-2min.label = Wind Direction 2min Average diff --git a/bundles/org.openhab.binding.wundergroundupdatereceiver/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.wundergroundupdatereceiver/src/main/resources/OH-INF/thing/thing-types.xml index fd0be9f5984c1..8f171d7063ccb 100644 --- a/bundles/org.openhab.binding.wundergroundupdatereceiver/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.wundergroundupdatereceiver/src/main/resources/OH-INF/thing/thing-types.xml @@ -25,7 +25,7 @@ - +
From 8c845c56d3fc34a9bea1d57e1ca579629fb1929d Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sun, 1 Feb 2026 16:01:16 +0100 Subject: [PATCH 10/14] Fix review comments Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.warmup/README.md | 4 +++- .../src/main/resources/OH-INF/config/config.xml | 6 +----- .../OH-INF/i18n/weathercompany.properties | 2 +- .../README.md | 16 ++++++++++++---- .../README.md | 6 ++++-- .../main/resources/OH-INF/thing/thing-types.xml | 16 +++++----------- 6 files changed, 26 insertions(+), 24 deletions(-) diff --git a/bundles/org.openhab.binding.warmup/README.md b/bundles/org.openhab.binding.warmup/README.md index bf46547be588c..b03b59d08d682 100644 --- a/bundles/org.openhab.binding.warmup/README.md +++ b/bundles/org.openhab.binding.warmup/README.md @@ -58,7 +58,9 @@ Once credentials are successfully added to the bridge, any rooms (devices) detec ### `room` Thing Configuration -Rooms are configured automatically with a serial number upon discovery, or can be added manually using the "Device Number" from the device, excluding the last 3 characters. Changing the target temperature results in a temporary override to that temperature for the duration configured on the Thing. This defaults to 60 minutes. +Rooms are configured automatically with a serial number upon discovery, or can be added manually using the "Device Number" from the device, excluding the last 3 characters. +Changing the target temperature results in a temporary override to that temperature for the duration configured on the Thing. +This defaults to 60 minutes. | config parameter | type | description | required | default | |------------------|---------|--------------------------------------------------------------------|----------|---------| diff --git a/bundles/org.openhab.binding.weathercompany/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.binding.weathercompany/src/main/resources/OH-INF/config/config.xml index 98cf29dac9662..8247c7b366814 100644 --- a/bundles/org.openhab.binding.weathercompany/src/main/resources/OH-INF/config/config.xml +++ b/bundles/org.openhab.binding.weathercompany/src/main/resources/OH-INF/config/config.xml @@ -42,11 +42,7 @@ location - The location of this weather forecast.

-

Coordinates as <latitude>,<longitude>[<altitude>]

-

Example: "52.5200066,13.4049540" (Berlin)

-]]> +
diff --git a/bundles/org.openhab.binding.weathercompany/src/main/resources/OH-INF/i18n/weathercompany.properties b/bundles/org.openhab.binding.weathercompany/src/main/resources/OH-INF/i18n/weathercompany.properties index ac8ac3fe0460a..085ccc58aa236 100644 --- a/bundles/org.openhab.binding.weathercompany/src/main/resources/OH-INF/i18n/weathercompany.properties +++ b/bundles/org.openhab.binding.weathercompany/src/main/resources/OH-INF/i18n/weathercompany.properties @@ -66,7 +66,7 @@ thing-type.weathercompany.weather-observations.channel.currentWindSpeedGust.labe thing-type.config.weathercompany.account.apiKey.label = API Key thing-type.config.weathercompany.account.apiKey.description = Enter the API key thing-type.config.weathercompany.weather-forecast.geocode.label = Location -thing-type.config.weathercompany.weather-forecast.geocode.description =

The location of this weather forecast.

Coordinates as <latitude>,<longitude>[<altitude>]

Example: "52.5200066,13.4049540" (Berlin)

+thing-type.config.weathercompany.weather-forecast.geocode.description = The location of this weather forecast. Coordinates as <latitude>,<longitude>[<altitude>]. Example: "52.5200066,13.4049540" (Berlin) thing-type.config.weathercompany.weather-forecast.iataCode.label = IATA Code thing-type.config.weathercompany.weather-forecast.iataCode.description = IATA airport code (e.g. BWI) thing-type.config.weathercompany.weather-forecast.language.label = Language diff --git a/bundles/org.openhab.binding.weatherunderground/README.md b/bundles/org.openhab.binding.weatherunderground/README.md index d259513a1e926..60975bf91e58b 100644 --- a/bundles/org.openhab.binding.weatherunderground/README.md +++ b/bundles/org.openhab.binding.weatherunderground/README.md @@ -10,7 +10,12 @@ To use this binding, you first need to [register and get your API key](https://w ## Supported Things -There are exactly two supported Thing types. The first one is the Bridge Thing, which represents the connection to the Weather Underground service through the API key. It has the ID `bridge`. The second one is the Weather Thing, which represents the weather information for an observed location. It has the ID `weather`. Each `weather` Thing uses a `bridge` Thing; it cannot be set online if no `bridge` Thing is defined. +There are exactly two supported Thing types. +The first one is the Bridge Thing, which represents the connection to the Weather Underground service through the API key. +It has the ID `bridge`. +The second one is the Weather Thing, which represents the weather information for an observed location. +It has the ID `weather`. +Each `weather` Thing uses a `bridge` Thing; it cannot be set online if no `bridge` Thing is defined. ## Discovery @@ -46,14 +51,17 @@ For the location parameter, different syntaxes are possible: |--------------------|------------------| | US state/city | CA/San_Francisco | | US zipcode | 60290 | -| country/city | Australia/Sydney | | latitude,longitude | 37.8,-122.4 | | airport code | KJFK | | PWS id | pws:KCASANFR70 | -It can happen that the service is not able to determine the station to use, for example when you select as the location a city in which several stations are registered. In this case, the Thing configuration will fail because the service will not return the data expected by the binding. The best solution in this case is to use latitude and longitude; the service will automatically select a station based on this position. +It can happen that the service is not able to determine the station to use, for example when you select as the location a city in which several stations are registered. +In this case, the Thing configuration will fail because the service will not return the data expected by the binding. +The best solution in this case is to use latitude and longitude; the service will automatically select a station based on this position. -For the language parameter, Weather Underground uses a special set of language codes that are different from the ISO 639-1 standard. For example, for German use `DL`, or for Swedish use `SW`. See the [Weather Underground language support documentation](https://www.wunderground.com/weather/api/d/docs?d=language-support) for a detailed list. +For the language parameter, Weather Underground uses a special set of language codes that are different from the ISO 639-1 standard. +For example, for German use `DL`, or for Swedish use `SW`. +See the [Weather Underground language support documentation](https://www.wunderground.com/weather/api/d/docs?d=language-support) for a detailed list. ## Channels diff --git a/bundles/org.openhab.binding.yamahamusiccast/README.md b/bundles/org.openhab.binding.yamahamusiccast/README.md index 4441cb75af67f..41da0f2e7ccec 100644 --- a/bundles/org.openhab.binding.yamahamusiccast/README.md +++ b/bundles/org.openhab.binding.yamahamusiccast/README.md @@ -27,11 +27,13 @@ The Yamaha Receiver will send update messages to UDP port 41100. ## Supported Things -Each model (AV receiver, etc.) is a Thing (Thing Type ID: `yamahamusiccast:device`). Things are linked to a bridge (Thing Type ID: `yamahamusiccast:bridge`) for receiving UDP events. +Each model (AV receiver, etc.) is a Thing (Thing Type ID: `yamahamusiccast:device`). +Things are linked to a bridge (Thing Type ID: `yamahamusiccast:bridge`) for receiving UDP events. ## Discovery -Auto-discovery via UPnP is supported for Yamaha devices that advertise as MediaRenderer. You can also add things manually. +Auto-discovery via UPnP is supported for Yamaha devices that advertise as MediaRenderer. +You can also add things manually. ## Thing Configuration diff --git a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/thing/thing-types.xml index fd15910553b63..023e7ed6b98de 100644 --- a/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.yamahareceiver/src/main/resources/OH-INF/thing/thing-types.xml @@ -59,13 +59,9 @@ Some Yamaha models return different input values on status update than required in the change input - commands. - For example, an HDMI1 command may be reported as HDMI_1 after status update. There are other related edge - cases - (USB, iPad_USB). This setting allows you to customize the return input mapping to meet your AVR model - requirements. - The setting is a comma-separated list of value mappings in the format from=to. - Example: + commands. For example, an HDMI1 command may be reported as HDMI_1 after status update. There are other related edge + cases (USB, iPad_USB). This setting allows you to customize the return input mapping to meet your AVR model + requirements. The setting is a comma-separated list of value mappings in the format from=to. Example: HDMI_1=HDMI1,HDMI 1=HDMI1,HDMI1=HDMI1 @@ -478,10 +474,8 @@ String - Shows the current navigation menu and allows changing to a channel by a full path. - For example, for Net - Radio: Bookmarks/__My_Favorites/radio_station_name. You can also just use the station name - without a full path if the + Shows the current navigation menu and allows changing to a channel by a full path. For example, for Net + Radio: Bookmarks/__My_Favorites/radio_station_name. You can also just use the station name without a full path if the AVR is in that navigation menu already. Navigation From 57efe791b80ed14342dcf18cce6f948c7b7ae825 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sun, 1 Feb 2026 16:34:46 +0100 Subject: [PATCH 11/14] postalCode Signed-off-by: Leo Siepel --- .../internal/config/WeatherCompanyForecastConfig.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/config/WeatherCompanyForecastConfig.java b/bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/config/WeatherCompanyForecastConfig.java index f58ae798a75e4..dd6236d026fde 100644 --- a/bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/config/WeatherCompanyForecastConfig.java +++ b/bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/config/WeatherCompanyForecastConfig.java @@ -23,7 +23,7 @@ @NonNullByDefault public class WeatherCompanyForecastConfig { /** - * Type of location (postal, geocode, etc.) + * Type of location (postalCode, geocode, IATA code etc.) */ public @Nullable String locationType; From 98b732cd61730157955293c345822222e7b5ad2a Mon Sep 17 00:00:00 2001 From: lsiepel Date: Sun, 1 Feb 2026 17:48:38 +0100 Subject: [PATCH 12/14] Apply suggestions from code review Co-authored-by: Jacob Laursen Signed-off-by: lsiepel --- bundles/org.openhab.binding.warmup/README.md | 4 ++-- .../internal/config/WeatherCompanyForecastConfig.java | 2 +- bundles/org.openhab.binding.yamahamusiccast/README.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bundles/org.openhab.binding.warmup/README.md b/bundles/org.openhab.binding.warmup/README.md index b03b59d08d682..4b1fbf44e1afc 100644 --- a/bundles/org.openhab.binding.warmup/README.md +++ b/bundles/org.openhab.binding.warmup/README.md @@ -152,8 +152,8 @@ Bridge warmup:my-warmup:MyWarmup [ username="test@example.com", password="test", ### .items file ```java -Number:Temperature bathroom_temperature "Temperature [%.1f °C]" (GF_Bathroom, Temperature) ["Temperature"] {channel="warmup:room:MyWarmup:bathroom:currentTemperature"} -Number:Temperature bathroom_setpoint "Setpoint [%.1f °C]" (GF_Bathroom) ["Setpoint"] {channel="warmup:room:MyWarmup:bathroom:targetTemperature"} +Number:Temperature bathroom_temperature "Temperature [%.1f °C]" (GF_Bathroom, Temperature) ["Measurement", "Temperature"] {channel="warmup:room:MyWarmup:bathroom:currentTemperature"} +Number:Temperature bathroom_setpoint "Setpoint [%.1f °C]" (GF_Bathroom) ["Setpoint", "Temperature"] {channel="warmup:room:MyWarmup:bathroom:targetTemperature"} Number:Time bathroom_overrideRemaining "Override Remaining [%d minutes]" (GF_Bathroom) {channel="warmup:room:MyWarmup:bathroom:overrideRemaining"} String bathroom_runMode "Run Mode [%s]" (GF_Bathroom) {channel="warmup:room:MyWarmup:bathroom:runMode"} Switch bathroom_frostProtection "Frost Protection Mode" (GF_Bathroom) {channel="warmup:room:MyWarmup:bathroom:frostProtectionMode"} diff --git a/bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/config/WeatherCompanyForecastConfig.java b/bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/config/WeatherCompanyForecastConfig.java index dd6236d026fde..d8cc84ee5305f 100644 --- a/bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/config/WeatherCompanyForecastConfig.java +++ b/bundles/org.openhab.binding.weathercompany/src/main/java/org/openhab/binding/weathercompany/internal/config/WeatherCompanyForecastConfig.java @@ -23,7 +23,7 @@ @NonNullByDefault public class WeatherCompanyForecastConfig { /** - * Type of location (postalCode, geocode, IATA code etc.) + * Type of location (postalCode, geocode, iataCode) */ public @Nullable String locationType; diff --git a/bundles/org.openhab.binding.yamahamusiccast/README.md b/bundles/org.openhab.binding.yamahamusiccast/README.md index 41da0f2e7ccec..56a1a813b8c1f 100644 --- a/bundles/org.openhab.binding.yamahamusiccast/README.md +++ b/bundles/org.openhab.binding.yamahamusiccast/README.md @@ -33,7 +33,7 @@ Things are linked to a bridge (Thing Type ID: `yamahamusiccast:bridge`) for rece ## Discovery Auto-discovery via UPnP is supported for Yamaha devices that advertise as MediaRenderer. -You can also add things manually. +You can also add Things manually. ## Thing Configuration From b73a8c86d92bb5e1ba815b99b45d20b45ebde98f Mon Sep 17 00:00:00 2001 From: Jacob Laursen Date: Sun, 1 Feb 2026 19:00:20 +0100 Subject: [PATCH 13/14] Remove excess spaces Signed-off-by: Jacob Laursen --- bundles/org.openhab.binding.warmup/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.warmup/README.md b/bundles/org.openhab.binding.warmup/README.md index 4b1fbf44e1afc..44a35ff84ecce 100644 --- a/bundles/org.openhab.binding.warmup/README.md +++ b/bundles/org.openhab.binding.warmup/README.md @@ -152,7 +152,7 @@ Bridge warmup:my-warmup:MyWarmup [ username="test@example.com", password="test", ### .items file ```java -Number:Temperature bathroom_temperature "Temperature [%.1f °C]" (GF_Bathroom, Temperature) ["Measurement", "Temperature"] {channel="warmup:room:MyWarmup:bathroom:currentTemperature"} +Number:Temperature bathroom_temperature "Temperature [%.1f °C]" (GF_Bathroom, Temperature) ["Measurement", "Temperature"] {channel="warmup:room:MyWarmup:bathroom:currentTemperature"} Number:Temperature bathroom_setpoint "Setpoint [%.1f °C]" (GF_Bathroom) ["Setpoint", "Temperature"] {channel="warmup:room:MyWarmup:bathroom:targetTemperature"} Number:Time bathroom_overrideRemaining "Override Remaining [%d minutes]" (GF_Bathroom) {channel="warmup:room:MyWarmup:bathroom:overrideRemaining"} String bathroom_runMode "Run Mode [%s]" (GF_Bathroom) {channel="warmup:room:MyWarmup:bathroom:runMode"} From b487a2dabe54f435b40588594182a4da6ffdd0b9 Mon Sep 17 00:00:00 2001 From: Jacob Laursen Date: Sun, 1 Feb 2026 19:01:45 +0100 Subject: [PATCH 14/14] Split line into one sentence per line Signed-off-by: Jacob Laursen --- bundles/org.openhab.binding.yamahamusiccast/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.yamahamusiccast/README.md b/bundles/org.openhab.binding.yamahamusiccast/README.md index 56a1a813b8c1f..e9e1594f71334 100644 --- a/bundles/org.openhab.binding.yamahamusiccast/README.md +++ b/bundles/org.openhab.binding.yamahamusiccast/README.md @@ -162,7 +162,9 @@ If the device/model is the server, the group will be disbanded. String YamahaMCLinkStatus "" {channel="yamahamusiccast:device:Living:main#mclinkStatus"} ``` -During testing with the Yamaha MusicCast app, when removing a slave from the group, the status of the client remained _client_ and **input** stayed on _mclink_. Only when changing input was the slave set to _standalone_. Therefore you can set the parameter **defaultAfterMCLink** to an input value supported by your device to break the whole MusicCast Link in openHAB. +During testing with the Yamaha MusicCast app, when removing a slave from the group, the status of the client remained _client_ and **input** stayed on _mclink_. +Only when changing input was the slave set to _standalone_. +Therefore you can set the parameter **defaultAfterMCLink** to an input value supported by your device to break the whole MusicCast Link in openHAB. #### How to use this in a rule?