updated generated content

Signed-off-by: Kai Kreuzer <kai@openhab.org>
pull/307/merge
Kai Kreuzer 2017-06-27 18:43:49 +02:00
parent 4fa5c4b1ec
commit 320428c524
No known key found for this signature in database
GPG Key ID: 5110767B6248D3C0
10 changed files with 1385 additions and 155 deletions

View File

@ -24,7 +24,9 @@ This binding supports two Things: Sun and Moon
## Discovery
Discovery is not necessary, because all calculations are done within the binding.
If a system location is set, "Local Sun" and a "Local Moon" will be automatically discovered for this location.
If the system location is changed, the background discovery updates the configuration of "Local Sun" and "Local Moon" automatically.
## Binding Configuration
@ -32,9 +34,10 @@ No binding configuration required.
## Thing Configuration
A thing requires the geolocation (latitude, longitude) for which the calculation is done.
Optionally, a refresh interval (in seconds) can be defined to also calculate positional data like azimuth and elevation.
An complementary altitude (optional) configuration item can also be specified to sharpen results provided by Radiation group.
All Things require the parameter `geolocation` (as "<latitude>,<longitude>,[<altitude in m>]") for which the calculation is done.
The altitude segment is optional and sharpens results provided by the Radiation group.
Optionally, a refresh `interval` (in seconds) can be defined to also calculate positional data like azimuth and elevation.
## Channels
@ -137,26 +140,26 @@ sunrise is 22:10 but `latest` is set to 20:00 so the event/datetime value is mov
Things:
```
astro:sun:home [ geolocation="xx.xxxxxx,xx.xxxxxx", altitude=100, interval=60 ]
astro:moon:home [ geolocation="xx.xxxxxx,xx.xxxxxx", interval=60 ]
astro:sun:home [ geolocation="52.5200066,13.4049540,100", interval=60 ]
astro:moon:home [ geolocation="52.5200066,13.4049540", interval=60 ]
```
or optionally with an event offset
```
astro:sun:home [ geolocation="xx.xxxxxx,xx.xxxxxx", altitude=100, interval=60 ] {
astro:sun:home [ geolocation="52.5200066,13.4049540,100", interval=60 ] {
Channels:
Type rangeEvent : rise#event [
offset=-30
]
}
astro:moon:home [ geolocation="xx.xxxxxx,xx.xxxxxx", interval=60 ]
astro:moon:home [ geolocation="52.5200066,13.4049540", interval=60 ]
```
or a datetime offset
```
astro:sun:home [ geolocation="xx.xxxxxx,xx.xxxxxx", altitude=100, interval=60 ] {
astro:sun:home [ geolocation="52.5200066,13.4049540,100", interval=60 ] {
Channels:
Type start : rise#start [
offset=5
@ -170,7 +173,7 @@ astro:sun:home [ geolocation="xx.xxxxxx,xx.xxxxxx", altitude=100, interval=60 ]
or a offset and latest
```
astro:sun:home [ geolocation="xx.xxxxxx,xx.xxxxxx", altitude=100, interval=60 ] {
astro:sun:home [ geolocation="52.5200066,13.4049540,100", interval=60 ] {
Channels:
Type rangeEvent : rise#event [
offset=-10,
@ -201,3 +204,7 @@ then
...
end
```
## Tips
Do not worry if for example the "astro dawn" is undefined at your location. The reason might be that you live in a northern country and it is summer, such that the sun is not 18 degrees below the horizon in the morning. For details see [this Wikipedia article](https://en.wikipedia.org/wiki/Dawn). The "civil dawn" event might often be the better choice.

350
_bindings/mihome/readme.md Normal file
View File

@ -0,0 +1,350 @@
---
id: mihome
label: Xiaomi Mi Smart Home
title: Xiaomi Mi Smart Home - Bindings
type: binding
description: "This binding allows your openHAB to communicate with the Xiaomi Smart Home Suite."
since: 2x
install: auto
---
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
{% include base.html %}
# Xiaomi Mi Smart Home Binding
This binding allows your openHAB to communicate with the Xiaomi Smart Home Suite.
In order to connect the Gateway, you need to install the MiHome app
from the [Google Play](https://play.google.com/store/apps/details?id=com.xiaomi.smarthome) or [AppStore](https://itunes.apple.com/app/mi-home-xiaomi-for-your-smarthome/id957323480).
## Supported devices
* Xiaomi Smart Gateway v2 (with radio support)
* Xiaomi Smart Temperature and Humidity Sensor (round one)
* Xiaomi Smart Door/Window Sensor (round one)
* Xiaomi Wireless Switch (round one)
* Xiaomi Motion Sensor / IR Human Body sensor
* Xiaomi Smart Plug
* Xiaomi Smart Magic Cube
* Xiaomi Aqara ZigBee Wired Wall Switch (1 and 2 buttons)
* Xiaomi Aqara ZigBee Wireless Wall Switch (1 and 2 buttons)
* Xiaomi Aqara Smart Curtain
(not yet confirmed)
* Xiaomi Aqara Neutral Wall Switch (1 and 2 buttons)
* Xiaomi Mijia Honeywell Gas Alarm Detector
* Xiaomi Mijia Honeywell Fire Alarm Detector
## Setup
* Install the binding
* Setup Gateway to be discoverable
1. Add Gateway 2 or 3 to your WiFi Network
1. Install MiHome app from [Google Play](https://play.google.com/store/apps/details?id=com.xiaomi.smarthome) or [AppStore](https://itunes.apple.com/app/mi-home-xiaomi-for-your-smarthome/id957323480) (your phone may need to be changed to English language first)
1. Set your region to Mainland China under Settings -> Locale (seems to be required)
1. Update gateway to the latest firmware (note that update window may pop up sequentially)
1. Enable developer mode:
1. Select your Gateway in the MiHome app
1. Go to the "..." menu on the top right corner and click "About"
1. Tap the version number "Version : 2.XX" at the bottom of the screen repeatedly until you enable developer mode
1. You should now have 2 extra options listed: `local area network communication protocol` and `gateway information`
1. Choose `local area network communication protocol`
1. Tap the toggle switch to enable LAN functions. Note down the developer key (something like: 91bg8zfkf9vd6uw7)
1. Make sure you hit the OK button (to the right of the cancel button) to save your changes
* In openHAB you should now be able to discover the Xiaomi Gateway
* From now on you don't really need the app anymore - only if you're keen on updates or you want to add devices (see below), which also can be done without the app
* Enter the previously noted developer key in openHAB Paper UI -> Configuration -> Things -> Xiaomi Gateway -> Edit -> Developer Key. Save
(This is required if you want to be able to send controls to the devices like the light of the gateway)
* Your sensors should be getting discovered by openHAB as you add and use them
## Connecting sub-devices (sensors) to the Gateway
There are two ways of connecting Xiaomi devices to the gateway:
* Online - within the MiHome App
* Offline - manual
1. Click 3 times on the Gateway's button
1. Gateway will flash in blue and you will hear female voice in Chinese
1. Place the needle into the sensor and hold it for at least 3 seconds
1. You'll hear confirmation message in Chinese
1. The device appears in openHAB thing Inbox
* If you don't want to hear the Chinese voice every time, you can disable it by setting the volume to minimum in the MiHome App (same for the blinking light)
* The devices don't need an Internet connection to be working after you have set up the developer mode BUT you won't be able to connect to them via App anymore - easiest way is to block their outgoing Internet connection in your router and enable it later, when you want to check for updates etc.
## Important information
The binding requires port `9898` to not be used by any other service on the system.
## Full Example
### xiaomi.things:
```
Bridge mihome:bridge:f0b429XXXXXX "Xiaomi Gateway" [ serialNumber="f0b429XXXXXX", ipAddress="192.168.0.3", port=9898, key="XXXXXXXXXXXXXXXX", pollingInterval=6000 ] {
Thing mihome:gateway:f0b429XXXXXX "Xiaomi Mi Smart Home Gateway" [itemId="f0b429XXXXXX"]
Thing mihome:sensor_ht:158d0001XXXXXX "Xiaomi Temperature Sensor" [itemId="158d0001XXXXXX"]
Thing mihome:sensor_motion:158d0001XXXXXX "Xiaomi Motion Sensor" [itemId="158d0001XXXXXX"]
Thing mihome:sensor_plug:158d0001XXXXXX "Xiaomi Plug" [itemId="158d0001XXXXXX"]
Thing mihome:sensor_magnet:158d0001XXXXXX "Xiaomi Door Sensor" [itemId="158d0001XXXXXX"]
Thing mihome:sensor_switch:158d0001XXXXXX "Xiaomi Mi Wireless Switch" [itemId="158d0001XXXXXX"]
Thing mihome:86sw2:158d0001XXXXXX "Aqara Wireless Wall Switch" [itemId="158d0001XXXXXX"]
}
```
### xiaomi.items:
```
// Xiaomi Gateway
Switch Gateway_LightSwitch <light> { channel="mihome:gateway:<ID>:brightness" }
Dimmer Gateway_Brightness <dimmablelight> { channel="mihome:gateway:<ID>:brightness" }
Color Gateway_Color <rgb> { channel="mihome:gateway:<ID>:color" }
Dimmer Gateway_ColorTemperature <heating> { channel="mihome:gateway:<ID>:colorTemperature" }
Number Gateway_AmbientLight <sun> { channel="mihome:gateway:<ID>:illumination" }
Number Gateway_Sound <soundvolume-0> { channel="mihome:gateway:<ID>:sound" }
Switch Gateway_SoundSwitch <soundvolume_mute> { channel="mihome:gateway:<ID>:enableSound" }
Dimmer Gateway_SoundVolume <soundvolume> { channel="mihome:gateway:<ID>:volume" }
// Xiaomi Temperature and Humidity Sensor
Number HT_Temperature <temperature> { channel="mihome:sensor_ht:<ID>:temperature" }
Number HT_Humidity <humidity> { channel="mihome:sensor_ht:<ID>:humidity" }
Number HT_Battery <battery> { channel="mihome:sensor_ht:<ID>:batteryLevel" }
Switch HT_BatteryLow <energy> { channel="mihome:sensor_ht:<ID>:lowBattery" }
// Xiaomi Motion Sensor
Switch MotionSensor_MotionStatus <motion> { channel="mihome:sensor_motion:<ID>:motion" }
// minimum 5 seconds - remember that the sensor only triggers every minute to save energy
Number MotionSensor_MotionTimer <clock> { channel="mihome:sensor_motion:<ID>:motionOffTimer" }
DateTime MotionSensor_LastMotion "[%1$tY-%1$tm-%1$td %1$tH:%1$tM]" <clock-on> { channel="mihome:sensor_motion:<ID>:lastMotion" }
Number MotionSensor_Battery <battery> { channel="mihome:sensor_motion:<ID>:batteryLevel" }
Switch MotionSensor_BatteryLow <energy> { channel="mihome:sensor_motion:<ID>:lowBattery" }
// Xiaomi Plug
Switch Plug_Switch <switch> { channel="mihome:sensor_plug:<ID>:power" }
Switch Plug_Active <switch> { channel="mihome:sensor_plug:<ID>:inUse" }
Number Plug_Power <energy> { channel="mihome:sensor_plug:<ID>:loadPower" }
Number Plug_Consumption <line-incline> { channel="mihome:sensor_plug:<ID>:powerConsumed" }
// Xiaomi Window Switch
Contact WindowSwitch_Status <window> { channel="mihome:sensor_magnet:<ID>:isOpen" }
// minimum 30 seconds
Number WindowSwitch_AlarmTimer <clock> { channel="mihome:sensor_magnet:<ID>:isOpenAlarmTimer" }
DateTime WindowSwitch_LastOpened "[%1$tY-%1$tm-%1$td %1$tH:%1$tM]" <clock-on> { channel="mihome:sensor_magnet:<ID>:lastOpened" }
Number WindowSwitch_Battery <battery> { channel="mihome:sensor_magnet:<ID>:batteryLevel" }
Switch WindowSwitch_BatteryLow <energy> { channel="mihome:sensor_magnet:<ID>:lowBattery" }
// Xiaomi Cube - see "xiaomi.rules" for action triggers
Number Cube_RotationAngle { channel="mihome:sensor_cube:<ID>:rotationAngle" }
Number Cube_RotationTime { channel="mihome:sensor_cube:<ID>:rotationTime" }
Number Cube_Battery <battery> { channel="mihome:sensor_cube:<ID>:batteryLevel" }
Switch Cube_BatteryLow <energy> { channel="mihome:sensor_cube:<ID>:lowBattery" }
// Xiaomi Switch - see "xiaomi.rules" for action triggers
Number Switch_Battery <battery> { channel="mihome:sensor_switch:<ID>:batteryLevel" }
Switch Switch_BatteryLow <energy> { channel="mihome:sensor_switch:<ID>:lowBattery" }
// Xiaomi Aqara Battery Powered Switch 1- see "xiaomi.rules" for action triggers
Number AqaraSwitch1_Battery <battery> { channel="mihome:86sw1:<ID>:batteryLevel" }
Switch AqaraSwitch1_BatteryLow <energy> { channel="mihome:86sw1:<ID>:lowBattery" }
// Xiaomi Aqara Battery Powered Switch 2- see "xiaomi.rules" for action triggers
Number AqaraSwitch2_Battery <battery> { channel="mihome:86sw2:<ID>:batteryLevel" }
Switch AqaraSwitch2_BatteryLow <energy> { channel="mihome:86sw2:<ID>:lowBattery" }
// Xiaomi Aqara Mains Powered Wall Switch 1
Switch AqaraWallSwitch <switch> { channel="mihome:ctrl_neutral1:<ID>:ch1" }
// Xiaomi Aqara Mains Powered Wall Switch 2
Switch AqaraWallSwitch1 <switch> { channel="mihome:ctrl_neutral2:<ID>:ch1" }
Switch AqaraWallSwitch2 <switch> { channel="mihome:ctrl_neutral2:<ID>:ch2" }
// Xiaomi Aqara Intelligent Curtain Motor
Rollershutter CurtainMotorControl <blinds> { channel="curtain:<ID>:curtainControl" }
```
### xiaomi.rules:
```
rule "Xiaomi Switch"
when
Channel "mihome:sensor_switch:<ID>:button" triggered
then
var actionName = receivedEvent.getEvent()
switch(actionName) {
case "SHORT_PRESSED": {
<ACTION>
}
case "DOUBLE_PRESSED": {
<ACTION>
}
case "LONG_PRESSED": {
<ACTION>
}
case "LONG_RELEASED": {
<ACTION>
}
}
end
rule "Xiaomi Cube"
when
Channel 'mihome:sensor_cube:<ID>:action' triggered
then
var actionName = receivedEvent.getEvent()
switch(actionName) {
case "MOVE": {
<ACTION>
}
case "ROTATE_RIGHT": {
<ACTION>
}
case "ROTATE_LEFT": {
<ACTION>
}
case "FLIP90": {
<ACTION>
}
case "FLIP180": {
<ACTION>
}
case "TAP_TWICE": {
<ACTION>
}
case "SHAKE_AIR": {
<ACTION>
}
case "FREE_FALL": {
<ACTION>
}
case "ALERT": {
<ACTION>
}
}
end
rule "Xiaomi Motion Sensor"
when
Item MotionSensor_MotionStatus changed
then
if (MotionSensor_MotionStatus.state == ON) {
<ACTION>
} else {
<ACTION>
}
end
rule "Xiaomi Window Switch"
when
Item WindowSwitch_Status changed
then
if (WindowSwitch_Status.state == OPEN) {
<ACTION>
} else {
<ACTION>
}
end
rule "Xiaomi Window Switch - Window is open alarm"
when
Channel "mihome:sensor_magnet:<ID>:isOpenAlarm" triggered ALARM
then
<ACTION>
end
rule "Xiaomi Aqara Battery Powered 1 Button Switch"
when
Channel "mihome:86sw1:<ID>:ch1" triggered SHORT_PRESSED
then
<ACTION>
end
rule "Xiaomi Aqara Battery Powered 2 Button Switch"
when
Channel "mihome:86sw2:<ID>:ch1" triggered SHORT_PRESSED
then
<ACTION>
end
rule "Xiaomi Aqara Battery Powered 2 Button Switch"
when
Channel "mihome:86sw2:<ID>:ch2" triggered SHORT_PRESSED
then
<ACTION>
end
rule "Xiaomi Aqara Battery Powered 2 Button Switch"
when
Channel "mihome:86sw2:<ID>:dual_ch" triggered SHORT_PRESSED
then
<ACTION>
end
// This rule is applicable for every battery powered sensor device
rule "Xiaomi Motion Sensor Low Battery"
when
Channel "mihome:sensor_motion:<ID>:lowBattery" changed to ON
then
<ACTION>
end
rule "Play quiet knock-knock ringtone with the Xiaomi Gateway"
when
// Item ExampleSwitch changed to ON
then
sendCommand(Gateway_SoundVolume, 2)
sendCommand(Gateway_Sound, 11)
Thread::sleep(2000) /* wait for 2 seconds */
sendCommand(Gateway_Sound, 10000)
sendCommand(Gateway_SoundVolume, 0)
end
```
### xiaomi.sitemap:
```
sitemap xiaomi label="Xiaomi" {
Frame {
...
// Selection for Xiaomi Gateway Sounds
// 10000 is STOP
// >10001 are own sounds you uploaded to the gateway
Selection item=Gateway_Sound mappings=[ 0="police car 1",
1="police car 2",
2="accident",
3="countdown",
4="ghost",
5="sniper rifle",
6="battle",
7="air raid",
8="bark",
10="doorbell",
11="knock at a door",
12="amuse",
13="alarm clock",
20="mimix",
21="enthusuastic",
22="guitar classic",
23="ice world piano",
24="leisure time",
25="child hood",
26="morning stream liet",
27="music box",
28="orange",
29="thinker"]
}
}
```

File diff suppressed because it is too large Load Diff

View File

@ -19,30 +19,50 @@ The ZigBee binding supports an interface to a wireless ZigBee home automation ne
## Supported Things
### ZigBee TI2531 Coordinator
### Coordinators
Before the binding can be used, a coordinator must be added. This needs to be done manually and the serial port must be set.
#### TI2531 Coordinator
## Discovery
This needs to be done manually and the serial port must be set.
Once the binding is authorized, and an adapter is added, it automatically reads all devices that are set up on the ZigBee controller and puts them in the Inbox.
## Thing Configuration
The binding will attempt to automatically detect new devices, and will read their supported clusters upon startup. A set of channels will then be created depending on what clusters and endpoints a device supports.
## TI2531 - Firmware
##### TI2531 - Firmware
The TI2531 USB dongle must be flashed with the correct firmware in order to work with this binding.
The file can be downloaded from TI website archives (http://www.ti.com/tool/z-stack-archive) as part
of the `Z-STACK-HOME v.1.2.2a` package.
The file name is `CC2531ZNP-Pro-Secure_Standard.hex` and its sha256 is `3cc5dc571ef0f49e3f42c6c2ca076d6f8fef33a945c71e6f951b839ba0599d3c`.
### Flashing on Linux
##### Flashing on Linux
It's possible to flash the dongle using Linux, using `cc-tool` (https://github.com/dashesy/cc-tool.git).
The software has been tested and confirmed working on Ubuntu 16.10 and 17.04.
The required dependencies can be installed with `sudo apt install build-essential libusb-1.0-0-dev libboost-all-dev`,
and the binary compiled with `./configure && make`. Do not forget to install the `udev` rules, as described at https://github.com/dashesy/cc-tool/blob/master/README , or the software might not be able to access the USB programmer.
The required dependencies can be installed with `sudo apt install build-essential libusb-1.0-0-dev libboost-all-dev`, and the binary compiled with `./configure && make`. Do not forget to install the `udev` rules, as described at https://github.com/dashesy/cc-tool/blob/master/README , or the software might not be able to access the USB programmer.
The firmware can be flashed with `./cc-tool -e -w CC2531ZNP-Pro-Secure_Standard.hex -v r`. Change the path to the firmware accordingly.
#### Ember EZSP NCP Coordinator
The Ember EZSP NCP (Network Co-Processor) supports the Silabs EM358 or MightyGecko dongles with the standard NCP firmware.
### Devices
The following devices have been tested with the binding
| Device | Description |
|------------------|----------------|
| Hue Bulbs | Color LED Bulb |
| SmartThings Plug | Metered Plug |
## Discovery
Once the binding is authorized, and an adapter is added, it automatically reads all devices that are set up on the ZigBee controller and puts them in the Inbox.
## Thing Configuration
The binding will attempt to automatically detect new devices, and will read their supported clusters upon startup. A set of channels will then be created depending on what clusters and endpoints a device supports.

View File

@ -143,7 +143,7 @@ The table below summarises the channels available in the controller. These provi
This section provides a summary of the device attributes that are displayed in the user interface.
####Using Security
#### Using Security
This indicates that the device is currently securely included in the network and that some classes are handled securely. This will only be true if secure inclusion has been successfully completed.
#### Routing

View File

@ -3,7 +3,7 @@ id: classic
label: Classic Icon Set
title: Classic Icon Set - Icon Sets
type: iconset
description: "This is a modernized version of the original icon set of openHAB 1.<br/><br/>"
description: "This is a modernized version of the original icon set of openHAB 1. The set is provided with the distribution in both the PNG and SVG file format. Move your mouse over an icon to learn its name.<br/><br/>"
since: 2x
install: manual
---
@ -14,7 +14,7 @@ install: manual
# Classic Icon Set
This is a modernized version of the original icon set of openHAB 1.<br/><br/>
This is a modernized version of the original icon set of openHAB 1. The set is provided with the distribution in both the PNG and SVG file format. Move your mouse over an icon to learn its name.<br/><br/>
![alarm](icons/alarm.png "alarm")
![attic](icons/attic.png "attic")
@ -25,9 +25,9 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![baby_5](icons/baby_5.png "baby_5")
![baby_6](icons/baby_6.png "baby_6")
![bath](icons/bath.png "bath")
![battery](icons/battery.png "battery")
![battery-0](icons/battery-0.png "battery-0")
![battery-10](icons/battery-10.png "battery-10")
![battery-100](icons/battery-100.png "battery-100")
![battery-20](icons/battery-20.png "battery-20")
![battery-30](icons/battery-30.png "battery-30")
![battery-40](icons/battery-40.png "battery-40")
@ -36,14 +36,16 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![battery-70](icons/battery-70.png "battery-70")
![battery-80](icons/battery-80.png "battery-80")
![battery-90](icons/battery-90.png "battery-90")
![battery](icons/battery.png "battery")
![battery-100](icons/battery-100.png "battery-100")
![battery-off](icons/battery-off.png "battery-off")
![battery-on](icons/battery-on.png "battery-on")
![bedroom](icons/bedroom.png "bedroom")
![bedroom_blue](icons/bedroom_blue.png "bedroom_blue")
![bedroom_orange](icons/bedroom_orange.png "bedroom_orange")
![bedroom_red](icons/bedroom_red.png "bedroom_red")
![blinds](icons/blinds.png "blinds")
![blinds-0](icons/blinds-0.png "blinds-0")
![blinds-10](icons/blinds-10.png "blinds-10")
![blinds-100](icons/blinds-100.png "blinds-100")
![blinds-20](icons/blinds-20.png "blinds-20")
![blinds-30](icons/blinds-30.png "blinds-30")
![blinds-40](icons/blinds-40.png "blinds-40")
@ -52,7 +54,7 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![blinds-70](icons/blinds-70.png "blinds-70")
![blinds-80](icons/blinds-80.png "blinds-80")
![blinds-90](icons/blinds-90.png "blinds-90")
![blinds](icons/blinds.png "blinds")
![blinds-100](icons/blinds-100.png "blinds-100")
![bluetooth](icons/bluetooth.png "bluetooth")
![boiler_viessmann](icons/boiler_viessmann.png "boiler_viessmann")
![boy_1](icons/boy_1.png "boy_1")
@ -67,9 +69,9 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![cellar](icons/cellar.png "cellar")
![chart](icons/chart.png "chart")
![cinema](icons/cinema.png "cinema")
![cinemascreen](icons/cinemascreen.png "cinemascreen")
![cinemascreen-0](icons/cinemascreen-0.png "cinemascreen-0")
![cinemascreen-10](icons/cinemascreen-10.png "cinemascreen-10")
![cinemascreen-100](icons/cinemascreen-100.png "cinemascreen-100")
![cinemascreen-20](icons/cinemascreen-20.png "cinemascreen-20")
![cinemascreen-30](icons/cinemascreen-30.png "cinemascreen-30")
![cinemascreen-40](icons/cinemascreen-40.png "cinemascreen-40")
@ -78,10 +80,10 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![cinemascreen-70](icons/cinemascreen-70.png "cinemascreen-70")
![cinemascreen-80](icons/cinemascreen-80.png "cinemascreen-80")
![cinemascreen-90](icons/cinemascreen-90.png "cinemascreen-90")
![cinemascreen](icons/cinemascreen.png "cinemascreen")
![cinemascreen-100](icons/cinemascreen-100.png "cinemascreen-100")
![cistern](icons/cistern.png "cistern")
![cistern-0](icons/cistern-0.png "cistern-0")
![cistern-10](icons/cistern-10.png "cistern-10")
![cistern-100](icons/cistern-100.png "cistern-100")
![cistern-20](icons/cistern-20.png "cistern-20")
![cistern-30](icons/cistern-30.png "cistern-30")
![cistern-40](icons/cistern-40.png "cistern-40")
@ -90,21 +92,22 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![cistern-70](icons/cistern-70.png "cistern-70")
![cistern-80](icons/cistern-80.png "cistern-80")
![cistern-90](icons/cistern-90.png "cistern-90")
![cistern](icons/cistern.png "cistern")
![climate-on](icons/climate-on.png "climate-on")
![cistern-100](icons/cistern-100.png "cistern-100")
![climate](icons/climate.png "climate")
![clock-on](icons/clock-on.png "clock-on")
![climate-on](icons/climate-on.png "climate-on")
![clock](icons/clock.png "clock")
![clock-on](icons/clock-on.png "clock-on")
![colorlight](icons/colorlight.png "colorlight")
![colorpicker](icons/colorpicker.png "colorpicker")
![colorwheel](icons/colorwheel.png "colorwheel")
![contact](icons/contact.png "contact")
![contact-ajar](icons/contact-ajar.png "contact-ajar")
![contact-closed](icons/contact-closed.png "contact-closed")
![contact-open](icons/contact-open.png "contact-open")
![contact](icons/contact.png "contact")
![corridor](icons/corridor.png "corridor")
![dimmablelight](icons/dimmablelight.png "dimmablelight")
![dimmablelight-0](icons/dimmablelight-0.png "dimmablelight-0")
![dimmablelight-10](icons/dimmablelight-10.png "dimmablelight-10")
![dimmablelight-100](icons/dimmablelight-100.png "dimmablelight-100")
![dimmablelight-20](icons/dimmablelight-20.png "dimmablelight-20")
![dimmablelight-30](icons/dimmablelight-30.png "dimmablelight-30")
![dimmablelight-40](icons/dimmablelight-40.png "dimmablelight-40")
@ -113,38 +116,36 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![dimmablelight-70](icons/dimmablelight-70.png "dimmablelight-70")
![dimmablelight-80](icons/dimmablelight-80.png "dimmablelight-80")
![dimmablelight-90](icons/dimmablelight-90.png "dimmablelight-90")
![dimmablelight](icons/dimmablelight.png "dimmablelight")
![dimmablelight-100](icons/dimmablelight-100.png "dimmablelight-100")
![door](icons/door.png "door")
![door-closed](icons/door-closed.png "door-closed")
![door-open](icons/door-open.png "door-open")
![door](icons/door.png "door")
![dryer](icons/dryer.png "dryer")
![dryer-0](icons/dryer-0.png "dryer-0")
![dryer-1](icons/dryer-1.png "dryer-1")
![dryer-2](icons/dryer-2.png "dryer-2")
![dryer-3](icons/dryer-3.png "dryer-3")
![dryer-4](icons/dryer-4.png "dryer-4")
![dryer-5](icons/dryer-5.png "dryer-5")
![dryer](icons/dryer.png "dryer")
![energy](icons/energy.png "energy")
![error](icons/error.png "error")
![fan](icons/fan.png "fan")
![fan_box](icons/fan_box.png "fan_box")
![fan_ceiling](icons/fan_ceiling.png "fan_ceiling")
![faucet](icons/faucet.png "faucet")
![fire](icons/fire.png "fire")
![fire-off](icons/fire-off.png "fire-off")
![fire-on](icons/fire-on.png "fire-on")
![fire](icons/fire.png "fire")
![firstfloor](icons/firstfloor.png "firstfloor")
![flow](icons/flow.png "flow")
![flowpipe](icons/flowpipe.png "flowpipe")
![frontdoor](icons/frontdoor.png "frontdoor")
![frontdoor-closed](icons/frontdoor-closed.png "frontdoor-closed")
![frontdoor-open](icons/frontdoor-open.png "frontdoor-open")
![frontdoor](icons/frontdoor.png "frontdoor")
![garage](icons/garage.png "garage")
![garage_detached](icons/garage_detached.png "garage_detached")
![garage_detached_selected](icons/garage_detached_selected.png "garage_detached_selected")
![garagedoor](icons/garagedoor.png "garagedoor")
![garagedoor-0](icons/garagedoor-0.png "garagedoor-0")
![garagedoor-10](icons/garagedoor-10.png "garagedoor-10")
![garagedoor-100](icons/garagedoor-100.png "garagedoor-100")
![garagedoor-20](icons/garagedoor-20.png "garagedoor-20")
![garagedoor-30](icons/garagedoor-30.png "garagedoor-30")
![garagedoor-40](icons/garagedoor-40.png "garagedoor-40")
@ -153,10 +154,12 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![garagedoor-70](icons/garagedoor-70.png "garagedoor-70")
![garagedoor-80](icons/garagedoor-80.png "garagedoor-80")
![garagedoor-90](icons/garagedoor-90.png "garagedoor-90")
![garagedoor-100](icons/garagedoor-100.png "garagedoor-100")
![garagedoor-ajar](icons/garagedoor-ajar.png "garagedoor-ajar")
![garagedoor-closed](icons/garagedoor-closed.png "garagedoor-closed")
![garagedoor-open](icons/garagedoor-open.png "garagedoor-open")
![garagedoor](icons/garagedoor.png "garagedoor")
![garage_detached](icons/garage_detached.png "garage_detached")
![garage_detached_selected](icons/garage_detached_selected.png "garage_detached_selected")
![garden](icons/garden.png "garden")
![gas](icons/gas.png "gas")
![girl_1](icons/girl_1.png "girl_1")
@ -169,19 +172,19 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![greenhouse](icons/greenhouse.png "greenhouse")
![groundfloor](icons/groundfloor.png "groundfloor")
![group](icons/group.png "group")
![heating](icons/heating.png "heating")
![heating-0](icons/heating-0.png "heating-0")
![heating-100](icons/heating-100.png "heating-100")
![heating-20](icons/heating-20.png "heating-20")
![heating-40](icons/heating-40.png "heating-40")
![heating-60](icons/heating-60.png "heating-60")
![heating-80](icons/heating-80.png "heating-80")
![heating-100](icons/heating-100.png "heating-100")
![heating-off](icons/heating-off.png "heating-off")
![heating-on](icons/heating-on.png "heating-on")
![heating](icons/heating.png "heating")
![house](icons/house.png "house")
![humidity](icons/humidity.png "humidity")
![humidity-0](icons/humidity-0.png "humidity-0")
![humidity-10](icons/humidity-10.png "humidity-10")
![humidity-100](icons/humidity-100.png "humidity-100")
![humidity-20](icons/humidity-20.png "humidity-20")
![humidity-30](icons/humidity-30.png "humidity-30")
![humidity-40](icons/humidity-40.png "humidity-40")
@ -190,20 +193,20 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![humidity-70](icons/humidity-70.png "humidity-70")
![humidity-80](icons/humidity-80.png "humidity-80")
![humidity-90](icons/humidity-90.png "humidity-90")
![humidity](icons/humidity.png "humidity")
![humidity-100](icons/humidity-100.png "humidity-100")
![incline](icons/incline.png "incline")
![keyring](icons/keyring.png "keyring")
![kitchen](icons/kitchen.png "kitchen")
![light](icons/light.png "light")
![light-off](icons/light-off.png "light-off")
![light-on](icons/light-on.png "light-on")
![light](icons/light.png "light")
![line](icons/line.png "line")
![line-decline](icons/line-decline.png "line-decline")
![line-incline](icons/line-incline.png "line-incline")
![line-stagnation](icons/line-stagnation.png "line-stagnation")
![line](icons/line.png "line")
![lock](icons/lock.png "lock")
![lock-closed](icons/lock-closed.png "lock-closed")
![lock-open](icons/lock-open.png "lock-open")
![lock](icons/lock.png "lock")
![man_1](icons/man_1.png "man_1")
![man_2](icons/man_2.png "man_2")
![man_3](icons/man_3.png "man_3")
@ -214,9 +217,9 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![moon](icons/moon.png "moon")
![motion](icons/motion.png "motion")
![movecontrol](icons/movecontrol.png "movecontrol")
![network](icons/network.png "network")
![network-off](icons/network-off.png "network-off")
![network-on](icons/network-on.png "network-on")
![network](icons/network.png "network")
![niveau](icons/niveau.png "niveau")
![office](icons/office.png "office")
![oil](icons/oil.png "oil")
@ -263,35 +266,35 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![pie](icons/pie.png "pie")
![piggybank](icons/piggybank.png "piggybank")
![player](icons/player.png "player")
![poweroutlet-au](icons/poweroutlet-au.png "poweroutlet-au")
![poweroutlet-eu](icons/poweroutlet-eu.png "poweroutlet-eu")
![poweroutlet](icons/poweroutlet.png "poweroutlet")
![poweroutlet-off](icons/poweroutlet-off.png "poweroutlet-off")
![poweroutlet-on](icons/poweroutlet-on.png "poweroutlet-on")
![poweroutlet-uk](icons/poweroutlet-uk.png "poweroutlet-uk")
![poweroutlet-us](icons/poweroutlet-us.png "poweroutlet-us")
![poweroutlet](icons/poweroutlet.png "poweroutlet")
![present-off](icons/present-off.png "present-off")
![poweroutlet_au](icons/poweroutlet_au.png "poweroutlet_au")
![poweroutlet_eu](icons/poweroutlet_eu.png "poweroutlet_eu")
![poweroutlet_uk](icons/poweroutlet_uk.png "poweroutlet_uk")
![poweroutlet_us](icons/poweroutlet_us.png "poweroutlet_us")
![present](icons/present.png "present")
![present-off](icons/present-off.png "present-off")
![pressure](icons/pressure.png "pressure")
![projector_benq](icons/projector_benq.png "projector_benq")
![pump](icons/pump.png "pump")
![qualityofservice](icons/qualityofservice.png "qualityofservice")
![qualityofservice-0](icons/qualityofservice-0.png "qualityofservice-0")
![qualityofservice-1](icons/qualityofservice-1.png "qualityofservice-1")
![qualityofservice-2](icons/qualityofservice-2.png "qualityofservice-2")
![qualityofservice-3](icons/qualityofservice-3.png "qualityofservice-3")
![qualityofservice-4](icons/qualityofservice-4.png "qualityofservice-4")
![qualityofservice](icons/qualityofservice.png "qualityofservice")
![radiator](icons/radiator.png "radiator")
![rain](icons/rain.png "rain")
![receiver](icons/receiver.png "receiver")
![receiver-off](icons/receiver-off.png "receiver-off")
![receiver-on](icons/receiver-on.png "receiver-on")
![receiver](icons/receiver.png "receiver")
![recorder](icons/recorder.png "recorder")
![returnpipe](icons/returnpipe.png "returnpipe")
![rgb](icons/rgb.png "rgb")
![rollershutter](icons/rollershutter.png "rollershutter")
![rollershutter-0](icons/rollershutter-0.png "rollershutter-0")
![rollershutter-10](icons/rollershutter-10.png "rollershutter-10")
![rollershutter-100](icons/rollershutter-100.png "rollershutter-100")
![rollershutter-20](icons/rollershutter-20.png "rollershutter-20")
![rollershutter-30](icons/rollershutter-30.png "rollershutter-30")
![rollershutter-40](icons/rollershutter-40.png "rollershutter-40")
@ -300,11 +303,11 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![rollershutter-70](icons/rollershutter-70.png "rollershutter-70")
![rollershutter-80](icons/rollershutter-80.png "rollershutter-80")
![rollershutter-90](icons/rollershutter-90.png "rollershutter-90")
![rollershutter](icons/rollershutter.png "rollershutter")
![rollershutter-100](icons/rollershutter-100.png "rollershutter-100")
![settings](icons/settings.png "settings")
![sewerage](icons/sewerage.png "sewerage")
![sewerage-0](icons/sewerage-0.png "sewerage-0")
![sewerage-10](icons/sewerage-10.png "sewerage-10")
![sewerage-100](icons/sewerage-100.png "sewerage-100")
![sewerage-20](icons/sewerage-20.png "sewerage-20")
![sewerage-30](icons/sewerage-30.png "sewerage-30")
![sewerage-40](icons/sewerage-40.png "sewerage-40")
@ -313,22 +316,22 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![sewerage-70](icons/sewerage-70.png "sewerage-70")
![sewerage-80](icons/sewerage-80.png "sewerage-80")
![sewerage-90](icons/sewerage-90.png "sewerage-90")
![sewerage](icons/sewerage.png "sewerage")
![sewerage-100](icons/sewerage-100.png "sewerage-100")
![shield](icons/shield.png "shield")
![shield-0](icons/shield-0.png "shield-0")
![shield-1](icons/shield-1.png "shield-1")
![shield](icons/shield.png "shield")
![signal](icons/signal.png "signal")
![signal-0](icons/signal-0.png "signal-0")
![signal-1](icons/signal-1.png "signal-1")
![signal-2](icons/signal-2.png "signal-2")
![signal-3](icons/signal-3.png "signal-3")
![signal-4](icons/signal-4.png "signal-4")
![signal](icons/signal.png "signal")
![siren](icons/siren.png "siren")
![siren-off](icons/siren-off.png "siren-off")
![siren-on](icons/siren-on.png "siren-on")
![siren](icons/siren.png "siren")
![slider](icons/slider.png "slider")
![slider-0](icons/slider-0.png "slider-0")
![slider-10](icons/slider-10.png "slider-10")
![slider-100](icons/slider-100.png "slider-100")
![slider-20](icons/slider-20.png "slider-20")
![slider-30](icons/slider-30.png "slider-30")
![slider-40](icons/slider-40.png "slider-40")
@ -337,30 +340,30 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![slider-70](icons/slider-70.png "slider-70")
![slider-80](icons/slider-80.png "slider-80")
![slider-90](icons/slider-90.png "slider-90")
![slider](icons/slider.png "slider")
![slider-100](icons/slider-100.png "slider-100")
![smiley](icons/smiley.png "smiley")
![smoke](icons/smoke.png "smoke")
![sofa](icons/sofa.png "sofa")
![softener](icons/softener.png "softener")
![solarplant](icons/solarplant.png "solarplant")
![soundvolume](icons/soundvolume.png "soundvolume")
![soundvolume-0](icons/soundvolume-0.png "soundvolume-0")
![soundvolume-100](icons/soundvolume-100.png "soundvolume-100")
![soundvolume-33](icons/soundvolume-33.png "soundvolume-33")
![soundvolume-66](icons/soundvolume-66.png "soundvolume-66")
![soundvolume](icons/soundvolume.png "soundvolume")
![soundvolume-100](icons/soundvolume-100.png "soundvolume-100")
![soundvolume_mute](icons/soundvolume_mute.png "soundvolume_mute")
![status](icons/status.png "status")
![suitcase](icons/suitcase.png "suitcase")
![sun](icons/sun.png "sun")
![sun_clouds](icons/sun_clouds.png "sun_clouds")
![sunrise](icons/sunrise.png "sunrise")
![sunset](icons/sunset.png "sunset")
![sun_clouds](icons/sun_clouds.png "sun_clouds")
![switch](icons/switch.png "switch")
![switch-off](icons/switch-off.png "switch-off")
![switch-on](icons/switch-on.png "switch-on")
![switch](icons/switch.png "switch")
![television](icons/television.png "television")
![television-off](icons/television-off.png "television-off")
![television-on](icons/television-on.png "television-on")
![television](icons/television.png "television")
![temperature](icons/temperature.png "temperature")
![temperature_cold](icons/temperature_cold.png "temperature_cold")
![temperature_hot](icons/temperature_hot.png "temperature_hot")
@ -369,22 +372,22 @@ This is a modernized version of the original icon set of openHAB 1.<br/><br/>
![toilet](icons/toilet.png "toilet")
![vacation](icons/vacation.png "vacation")
![video](icons/video.png "video")
![wallswitch](icons/wallswitch.png "wallswitch")
![wallswitch-off](icons/wallswitch-off.png "wallswitch-off")
![wallswitch-on](icons/wallswitch-on.png "wallswitch-on")
![wallswitch](icons/wallswitch.png "wallswitch")
![wardrobe](icons/wardrobe.png "wardrobe")
![washingmachine](icons/washingmachine.png "washingmachine")
![washingmachine_2](icons/washingmachine_2.png "washingmachine_2")
![washingmachine_2-0](icons/washingmachine_2-0.png "washingmachine_2-0")
![washingmachine_2-1](icons/washingmachine_2-1.png "washingmachine_2-1")
![washingmachine_2-2](icons/washingmachine_2-2.png "washingmachine_2-2")
![washingmachine_2-3](icons/washingmachine_2-3.png "washingmachine_2-3")
![washingmachine_2](icons/washingmachine_2.png "washingmachine_2")
![water](icons/water.png "water")
![wind](icons/wind.png "wind")
![window](icons/window.png "window")
![window-ajar](icons/window-ajar.png "window-ajar")
![window-closed](icons/window-closed.png "window-closed")
![window-open](icons/window-open.png "window-open")
![window](icons/window.png "window")
![woman_1](icons/woman_1.png "woman_1")
![woman_2](icons/woman_2.png "woman_2")
![woman_3](icons/woman_3.png "woman_3")

@ -1 +1 @@
Subproject commit e11b8929c359e1dfbf20f8832503a3062e0a6b02
Subproject commit f42f3e85a1197b9830aea2bfc12b109ef9138e17

@ -1 +1 @@
Subproject commit b9f699c1b1e8839269bd7db560c7d30f34138230
Subproject commit d395831f81a6a023f05a8e8b1cb3742910e66b4b

@ -1 +1 @@
Subproject commit 875b61eafedba22d44840ccb836dd15f62033c9d
Subproject commit 1890327677540776060f92d04c05da99fae895c2

@ -1 +1 @@
Subproject commit 1b8405b22f26cb1546d2fea143fd254e11d65edc
Subproject commit a015460f0f3706152d5f3783135ffe6388bbf669