diff --git a/_addons_bindings/milight/readme.md b/_addons_bindings/milight/readme.md index a35d0e1b9..1c5cb4188 100644 --- a/_addons_bindings/milight/readme.md +++ b/_addons_bindings/milight/readme.md @@ -21,7 +21,7 @@ This binding is for using your Milight, Easybulb or LimitlessLed bulbs and the i ## Supported Things The binding supports Milight/Easybulb bridges from 2014+, iBox from 2016 and iBox2 from 2017 and their respective bulbs. -The Dual White bulbs from 2015 and the new generation of Dual White bulbs is supported. +The Dual White bulbs from 2015 and the new generation of Dual White bulbs are supported. RGB/White from 2014 and the new generation RGB/White from 2016 as well as RGB/Cold,Warmwhite and iBox bulbs work. | Bulb Type | Milight Bridge | iBox | iBox2 | @@ -40,8 +40,7 @@ Please note that LD382, LD382A, LD686 RGB stripes and bulbs are supported by the All supported bridges can be discovered by triggering a search in openHAB's Inbox. Found bridges will show up and can easily be added as things. Unfortunately Milight like bulbs have no back channel and can not report their presence, therefore -all possible bulbs are listed as new things after a bridge has been added. -Add the bulbs you actually configured and hide the rest of the detected things. +bulb discovery is not possible. Your device needs to be connected to your local network (i.e. by using the WPS button 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. @@ -53,19 +52,19 @@ configuration file. iBox and iBox2 have the version 6, older milight bridges have the version 3. The ID is the MAC address of the bridge in hexadecimal digits. - Bridge milight:bridgeV3:ACCF23A6C0B4 [ ADDR="192.168.0.70", ID="ACCF23A6C0B4" ] { - Thing whiteLed 0 - Thing rgbwwLed 4 - Thing rgbLed 1 + Bridge milight:bridgeV3:mybridge [ host="192.168.0.70", bridgeid="ACCF23A6C0B4", passwordByte1=0, passwordByte2=0 ] { + Thing whiteLed myWhite [ zone="0" ] + Thing rgbwwLed myRGB [ zone="4" ] + Thing rgbLed myOldRGB [ zone="1" ] } The Thing configuration for the bridge uses the following syntax -* Bridge milight:bridgeV3: &lsqb ADDR="", ID="" &rsqb -* Bridge milight:bridgeV6: &lsqb ADDR="", ID="" &rsqb +* Bridge milight:bridgeV3: &lsqb host="", bridgeid="" &rsqb +* Bridge milight:bridgeV6: &lsqb host="", bridgeid="", passwordByte1="<0-255>", passwordByte2="<0-255>" &rsqb The Thing configuration for the bulbs uses the following syntax: -&lsqbThing&rsqb +&lsqbThing&rsqb &lsqb zone="<0-4>" &rsqb The following bulb types are valid for configuration: @@ -76,7 +75,7 @@ The following bulb types are valid for configuration: * rgbwLed: The 2016/2017 color bulb without saturation support. About 6630 (255*26) colors. * rgbwwLed: The 2016/2017 color bulb with saturation support. About 1.044.480 (255*64*64) different color shades. Use this also for the newer generation of the dual white bulbs. -The zone number is either 0 for meaning all bulbs of the same type or a valid zone number (1-4 with bridges up to and including version 6). +The zone number is either 0 for meaning all bulbs of the same type or a valid zone number (1-4). Future bridges may support more zones. ## Features @@ -157,47 +156,3 @@ Limitations: Switch item=AnimationSpeed mappings=[DECREASE='-', INCREASE='+'] Switch item=Light_GroundfloorN mappings=[ON='Night Mode'] -## Example for Scenes - - .items - - Number Light_scene "Scenes" - Color Light_scene_ColorSelect "Scene Selector" (MiLight) - # Link this item in paperui now. - - .sitemap - - Selection item=Light_scene mappings=[0="weiß", 1="rot", 2="gelb", 3="grün", 4="dunkelgrün", 5="cyan", 6="blau", 7="magenta"] - - .rules - # [https://en.wikipedia.org/wiki/HSL_and_HSV](https://en.wikipedia.org/wiki/HSL_and_HSV) - - rule "Light Scenes" - when - Item Light_scene received command - then - if (receivedCommand==0) { - sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(0),new PercentType(0),new PercentType(100))) - } - if (receivedCommand==1) { - sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(0),new PercentType(100),new PercentType(100))) - } - if (receivedCommand==2) { - sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(60),new PercentType(100),new PercentType(100))) - } - if (receivedCommand==3) { - sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(120),new PercentType(100),new PercentType(100))) - } - if (receivedCommand==4) { - sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(120),new PercentType(100),new PercentType(50))) - } - if (receivedCommand==5) { - sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(180),new PercentType(100),new PercentType(100))) - } - if (receivedCommand==6) { - sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(240),new PercentType(100),new PercentType(100))) - } - if (receivedCommand==7) { - sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(300),new PercentType(100),new PercentType(100))) - } - end diff --git a/_addons_bindings/openweathermap/readme.md b/_addons_bindings/openweathermap/readme.md new file mode 100644 index 000000000..64c24e333 --- /dev/null +++ b/_addons_bindings/openweathermap/readme.md @@ -0,0 +1,283 @@ +--- +id: openweathermap +label: OpenWeatherMap +title: OpenWeatherMap - Bindings +type: binding +description: "This binding integrates the [OpenWeatherMap weather API](https://openweathermap.org/api)." +since: 2x +install: auto +--- + + + +{% include base.html %} + +--- +layout: documentation +--- + +{% include base.html %} + +# OpenWeatherMap Binding + +This binding integrates the [OpenWeatherMap weather API](https://openweathermap.org/api). + +## Supported Things + +There are two supported things. + +### OpenWeatherMap Account + +First one is a bridge `weather-api` which represents the OpenWeatherMap account. +The bridge holds the mandatory API key to access the OpenWeatherMap API and several global configuration parameters. +If your system language is supported by the OpenWeatherMap API it will be used as default language for the requested data. + +### Current Weather And Forecast + +The second thing `weather-and-forecast` supports the [current weather](https://openweathermap.org/current), [5 day / 3 hour forecast](https://openweathermap.org/forecast5) and optional [16 day / daily forecast](https://openweathermap.org/forecast16) services for a specific location. +It requires coordinates of the location of your interest. +You can add as many `weather-and-forecast` things for different locations to your setup as you like to observe. +**Attention**: The daily forecast is only available for [paid accounts](https://openweathermap.org/price). +The binding tries to request daily forecast data from the OpenWeatherMap API. +If the request fails, all daily forecast channel groups will be removed from the thing and further request will be omitted. + +## Discovery + +If a system location is set, a "Local Weather And Forecast" (`weather-and-forecast`) thing will be automatically discovered for this location. +Once the system location will be changed, the background discovery updates the configuration of "Local Weather And Forecast" accordingly. + +## Thing Configuration + +### OpenWeatherMap Account + +| Parameter | Description | +|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| apikey | API key to access the OpenWeatherMap API. **Mandatory** | +| refreshInterval | Specifies the refresh interval (in minutes). Optional, the default value is 60, the minimum value is 10. | +| language | Language to be used by the OpenWeatherMap API. Optional, valid values are: `ar`, `bg`, `ca`, `de`, `el`, `en`, `es`, `fa`, `fi`, `fr`, `gl`, `hr`, `hu`, `it`, `ja`, `kr`, `la`, `lt`, `mk`, `nl`, `pl`, `pt`, `ro`, `ru`, `sk`, `sl`, `sw`, `tr`, `ua`, `vi`, `zh_cn`, `zh_tw`. | + +### Current Weather And Forecast + +| Parameter | Description | +|----------------|--------------------------------------------------------------------------------------------------------------------------------| +| location | Location of weather in geographical coordinates (latitude/longitude/altitude). **Mandatory** | +| forecastHours | Number of hours for hourly forecast. Optional, the default value is 24 (min="0", max="120", step="3"). | +| forecastDays | Number of days for daily forecast (including todays forecast). Optional, the default value is 6 (min="0", max="16", step="1"). | + +Once the parameters `forecastHours` or `forecastDays` will be changed, the available channel groups on the thing will be created or removed accordingly. + +## Channels + +### Station + +| Channel Group ID | Channel ID | Item Type | Description | +|------------------|------------|-----------|----------------------------------------------| +| station | id | String | Id of the weather station or the city. | +| station | name | String | Name of the weather station or the city. | +| station | location | Location | Location of the weather station or the city. | + +### Current Weather + +| Channel Group ID | Channel ID | Item Type | Description | +|------------------|-----------------|----------------------|---------------------------------------------------| +| current | time-stamp | DateTime | Time of data observation. | +| current | condition | String | Current weather condition. | +| current | condition-id | String | Id of the current weather condition. **Advanced** | +| current | icon | Image | Icon representing the current weather condition. | +| current | temperature | Number:Temperature | Current temperature. | +| current | pressure | Number:Pressure | Current barometric pressure. | +| current | humidity | Number:Dimensionless | Current atmospheric humidity. | +| current | wind-speed | Number:Speed | Current wind speed. | +| current | wind-direction | Number:Angle | Current wind direction. | +| current | gust-speed | Number:Speed | Current gust speed. **Advanced** | +| current | cloudiness | Number:Dimensionless | Current cloudiness. | +| current | rain | Number:Length | Rain volume for the last three hours. | +| current | snow | Number:Length | Snow volume for the last three hours. | + +### 3 Hour Forecast + +| Channel Group ID | Channel ID | Item Type | Description | +|--------------------------------------------------------|----------------|----------------------|------------------------------------------------------| +| forecastHours03, forecastHours06, ... forecastHours120 | time-stamp | DateTime | Time of data forecasted. | +| forecastHours03, forecastHours06, ... forecastHours120 | condition | String | Forecast weather condition. | +| forecastHours03, forecastHours06, ... forecastHours120 | condition-id | String | Id of the forecasted weather condition. **Advanced** | +| forecastHours03, forecastHours06, ... forecastHours120 | icon | Image | Icon representing the forecasted weather condition. | +| forecastHours03, forecastHours06, ... forecastHours120 | temperature | Number:Temperature | Forecasted temperature. | +| forecastHours03, forecastHours06, ... forecastHours120 | pressure | Number:Pressure | Forecasted barometric pressure. | +| forecastHours03, forecastHours06, ... forecastHours120 | humidity | Number:Dimensionless | Forecasted atmospheric humidity. | +| forecastHours03, forecastHours06, ... forecastHours120 | wind-speed | Number:Speed | Forecasted wind speed. | +| forecastHours03, forecastHours06, ... forecastHours120 | wind-direction | Number:Angle | Forecasted wind direction. | +| forecastHours03, forecastHours06, ... forecastHours120 | gust-speed | Number:Speed | Forecasted gust speed. **Advanced** | +| forecastHours03, forecastHours06, ... forecastHours120 | cloudiness | Number:Dimensionless | Forecasted cloudiness. | +| forecastHours03, forecastHours06, ... forecastHours120 | rain | Number:Length | Expected rain volume for the next 3 hours. | +| forecastHours03, forecastHours06, ... forecastHours120 | snow | Number:Length | Expected snow volume for the next 3 hours. | + +### Daily Forecast + +| Channel Group ID | Channel ID | Item Type | Description | +|------------------------------------------------------------------|-----------------|----------------------|------------------------------------------------------| +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | time-stamp | DateTime | Time of data forecasted. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | condition | String | Forecast weather condition. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | condition-id | String | Id of the forecasted weather condition. **Advanced** | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | icon | Image | Icon representing the forecasted weather condition. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | min-temperature | Number:Temperature | Minimum forecasted temperature of a day. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | max-temperature | Number:Temperature | Maximum forecasted temperature of a day. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | pressure | Number:Pressure | Forecasted barometric pressure. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | humidity | Number:Dimensionless | Forecasted atmospheric humidity. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | wind-speed | Number:Speed | Forecasted wind speed. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | wind-direction | Number:Angle | Forecasted wind direction. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | gust-speed | Number:Speed | Forecasted gust speed. **Advanced** | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | cloudiness | Number:Dimensionless | Forecasted cloudiness. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | rain | Number:Length | Expected rain volume of a day. | +| forecastToday, forecastTomorrow, forecastDay2, ... forecastDay16 | snow | Number:Length | Expected snow volume of a day. | + +## Full Example + +### Things + +demo.things + +```java +Bridge openweathermap:weather-api:api "OpenWeatherMap Account" [apikey="AAA", refreshInterval=30, language="de"] { + Thing weather-and-forecast local "Local Weather And Forecast" [location="XXX,YYY", forecastHours=0, forecastDays=7] + Thing weather-and-forecast miami "Weather And Forecast In Miami" [location="25.782403,-80.264563", forecastHours=24, forecastDays=0] +} +``` + +### Items + +demo.items + +```java +String localStationId "ID [%s]" { channel="openweathermap:weather-and-forecast:api:local:station#id" } +String localStationName "Name [%s]" { channel="openweathermap:weather-and-forecast:api:local:station#name" } +Location localStationLocation "Location [%2$s°N %3$s°E]" { channel="openweathermap:weather-and-forecast:api:local:station#location" } + +DateTime localLastMeasurement "Timestamp of last measurement [%1$tY-%1$tm-%1$tdT%1$tH:%1$tM:%1$tS]"