Remove redundant/outdated content (#271)

Signed-off-by: Thomas Dietrich <Thomas.Dietrich@tu-ilmenau.de>
pull/273/head
Thomas Dietrich 2017-01-25 15:11:56 +01:00 committed by GitHub
parent 2ee37ccbd4
commit f484c210f1
811 changed files with 25 additions and 13206 deletions

View File

@ -1,10 +0,0 @@
---
layout: documentation
title: Miscellaneous Add-ons
---
{% include base.html %}
# Miscellaneous Add-ons
{% include contribution-wanted.html %}

View File

@ -1,24 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Downloads
The openHAB distribution is built on our [Cloudbees Jenkins](https://openhab.ci.cloudbees.com/), where you can get the latest snapshots:
- [Offline Distribution](https://openhab.ci.cloudbees.com/job/openHAB-Distribution/lastSuccessfulBuild/artifact/distributions/openhab-offline/target/openhab-offline-2.0.0-SNAPSHOT.zip)
- [Online Distribution](https://openhab.ci.cloudbees.com/job/openHAB-Distribution/lastSuccessfulBuild/artifact/distributions/openhab-online/target/openhab-online-2.0.0-SNAPSHOT.zip)
## Designer Builds
The Designer is the tool for textual configuration of your runtime. You will only need it, if your solution makes use of the [textual configuration support](../features/dsl.html) of Eclipse SmartHome.
The 0.7.0 release of the Designer package can be found here:
- [Eclipse SmartHome Designer (Windows 32bit)](http://eclipse.org/downloads/download.php?file=/smarthome/releases/0.7.0/eclipsesmarthome-incubation-0.7.0-designer-win.zip)
- [Eclipse SmartHome Designer (Windows 64bit)](http://eclipse.org/downloads/download.php?file=/smarthome/releases/0.7.0/eclipsesmarthome-incubation-0.7.0-designer-win64.zip)
- [Eclipse SmartHome Designer (Mac OSX 64bit)](http://eclipse.org/downloads/download.php?file=/smarthome/releases/0.7.0/eclipsesmarthome-incubation-0.7.0-designer-macosx64.zip)
- [Eclipse SmartHome Designer (Linux 32bit)](http://eclipse.org/downloads/download.php?file=/smarthome/releases/0.7.0/eclipsesmarthome-incubation-0.7.0-designer-linux.zip)
- [Eclipse SmartHome Designer (Linux 64bit)](http://eclipse.org/downloads/download.php?file=/smarthome/releases/0.7.0/eclipsesmarthome-incubation-0.7.0-designer-linux64.zip)

View File

@ -1,7 +1,7 @@
---
layout: redirected
sitemap: false
redirect_to: /installation/nginx.html
redirect_to: /installation/security.html
---
<!-- Note to authors: This file was created in December 2016. Feel free to remove it after a few months... -->

View File

@ -1,25 +1,7 @@
---
layout: documentation
title: Add-ons
layout: redirected
sitemap: false
redirect_to: /addons/index.html
---
{% include base.html %}
# Available Add-ons
All optional add-ons for openHAB 2 are part of the distribution. This includes all new 2.0 bindings as well as all 1.x add-ons that were reported to be compatible.
_Note_: If you are successfully using a 1.x add-on with the 2.0 runtime, which is not yet on this list, please create a PR for adding it!
| Add-on Type | Description |
|-------------|----------------------|
|[Bindings](bindings.html)| Bindings integrate physical hardware, external systems and web services in openHAB |
|[User Interfaces](uis.html)| User interfaces are either native smartphone apps or web applications that access the openHAB server through the REST API |
|[System Integration](io.html)| System integrations expose openHAB to an external system |
...
## Compatible Applications
| Application | Description |
|-------|----------------------|
| [iot_bridge](https://github.com/openhab/openhab/wiki/ROS-Robot-Operating-System) | Bridge between ROS Robot Operating System and openHAB |
<!-- Note to authors: This file was created in December 2016. Feel free to remove it after a few months... -->

View File

@ -1,103 +1,7 @@
---
layout: documentation
title: Bindings
layout: redirected
sitemap: false
redirect_to: /addons/bindings.html
---
{% include base.html %}
# List of Available Bindings
## 2.0 Bindings
{% assign bindings = site.data.bindings | sort: 'label.toLowerCase()' %}
| Binding | Description |
|-------|----------------------|
{% for binding in bindings %}| [{{ binding.label }}]({{docu}}/features/bindings/{{ binding.id }}/readme.html) | {{ binding.description }} |
{% endfor %}
## Compatible 1.x Add-ons
| Add-on | Type |
|--------|------|
| Anel | Binding |
| Astro | Binding |
| Comfo Air | Binding |
| Denon | Binding |
| DMX (OLA) | Binding |
| Ecobee | Action |
| Ecobee | Binding |
| EDS OWServer | Binding |
| Energenie | Binding |
| Enocean | Binding |
| Enphaseenergy | Binding |
| Epsonprojector | Binding |
| Exec | Binding |
| Freebox | Binding |
| Freeswitch | Binding |
| FS20 | Binding |
| Heatmiser | Binding |
| Homematic | Binding |
| HTTP | Binding |
| IHC | Binding |
| Intertechno | Binding |
| IRtrans | Binding |
| KNX | Binding |
| LCN | Binding |
| Milight | Binding |
| MiOS | Binding |
| Modbus | Binding |
| MQTT | Binding |
| MyQ | Binding |
| NeoHub | Binding |
| Nest | Binding |
| Netatmo | Binding |
| Networkhealth | Binding |
| Nibeheatpump | Binding |
| NTP | Binding |
| Onkyo | Binding |
| OpenEnergyMonitor | Binding |
| OneWire | Binding |
| RFXCOM | Binding |
| RWE SmartHome | Binding |
| Samsung AC | Binding |
| Sapp | Binding |
| Satel | Binding |
| Serial | Binding |
| SNMP | Binding |
| SwegonVentilation | Binding |
| SystemInfo | Binding |
| TCP | Binding |
| Tellstick | Binding |
| Tinkerforge | Binding |
| Weather | Binding |
| WOL | Binding |
| XBMC | Binding |
| ZWave | Binding |
| InfluxDB | Persistence |
| rrd4j | Persistence |
| MySQL | Persistence |
| MongoDB | Persistence |
| JPA | Persistence |
| Mail | Action |
| MiOS | Action |
| Pushover | Action |
| Telegram | Action |
| XBMC | Action |
| XMPP | Action |
| GoogleTTS | TTS engine |
| MaryTTS | TTS engine |
## Currently Incompatible 1.x Add-ons:
| Add-on | Type | Reason
|--------|------|------|
| CalDAV | Binding | see [issue 4074](https://github.com/openhab/openhab/issues/4074) |
| InsteonPLM | Binding | see [issue 3922](https://github.com/openhab/openhab/issues/3922) |
| SagerCaster | Binding | Not following the architecture guidelines, see [issue 3754](https://github.com/openhab/openhab/issues/3754) |
| Logging | Persistence | openHAB 2 does not use logback anymore |
## Compatible Applications
| Application | Description |
|-------|----------------------|
| [iot_bridge](https://github.com/openhab/openhab/wiki/ROS-Robot-Operating-System) | Bridge between ROS Robot Operating System and openHAB |
<!-- Note to authors: This file was created in December 2016. Feel free to remove it after a few months... -->

View File

@ -1,75 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Astro Binding
The Astro binding is used for calculating many DateTime and positional values for sun and moon.
## Supported Things
This binding supports two Things: Sun and Moon
## Discovery
Discovery is not necessary, because all calculations are done within the binding.
## Binding Configuration
No binding configuration required.
## Thing Configuration
The things 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.
## Channels
* **thing** `sun`
* **group** `rise, set, noon, night, morningNight, astroDawn, nauticDawn, civilDawn, astroDusk, nauticDusk, civilDusk, eveningNight, daylight`
* **channel** `start, end` (DateTime), `duration` (Number)
* **group** `position`
* **channel** `azimuth, elevation` (Number)
* **group** `zodiac`
* **channel** `start, end` (DateTime), `sign` (String)
* **group** `season`
* **channel**: `spring, summer, autumn, winter` (DateTime), `name` (String)
* **group** `eclipse`
* **channel**: `total, partial, ring` (DateTime)
* **thing** `moon`
* **group** `rise, set`
* **channel** `start, end` (DateTime), `duration` (Number), **Note:** start and end is always equal, duration always 0.
* **group** `phase`
* **channel**: `firstQuarter, thirdQuarter, full, new` (DateTime), `age, illumination` (Number), `name` (String)
* **group** `eclipse`
* **channel**: `total, partial` (DateTime)
* **group** `distance`
* **channel**: `date` (DateTime), `kilometer, miles` (Number)
* **group** `perigee`
* **channel**: `date` (DateTime), `kilometer, miles` (Number)
* **group** `apogee`
* **channel**: `date` (DateTime), `kilometer, miles` (Number)
* **group** `zodiac`
* **channel** `sign` (String)
* **group** `position`
* **channel** `azimuth, elevation` (Number)
## Full Example
Things:
```
astro:sun:home [ geolocation="xx.xxxxxx,xx.xxxxxx", interval=60]
astro:moon:home [ geolocation="xx.xxxxxx,xx.xxxxxx", interval=60]
```
Items:
```
DateTime Sunrise_Time "Sunrise [%1$tH:%1$tM]" { channel="astro:sun:home:rise#start" }
DateTime Sunset_Time "Sunset [%1$tH:%1$tM]" { channel="astro:sun:home:set#start" }
Number Azimuth "Azimuth" { channel="astro:sun:home:position#azimuth" }
Number Elevation "Elevation" { channel="astro:sun:home:position#elevation" }
String MoonPhase "MoonPhase" { channel="astro:moon:home:phase#name" }
```

View File

@ -1,97 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Autelis Pool Control Binding
Autelis manufactures a network enabled pool interface for many popular pool systems. See [the Autelis website](http://www.autelis.com) and the [Autelis Command Protocol](http://www.autelis.com/wiki/index.php?title=Pool_Control_(PI)_HTTP_Command_Reference) for more information.
This binding supports:
* Read circuit, auxiliary, temperature, pump, chemistry and system values
* Control circuit, auxiliary lighting scenes, and temperature set points
## Discovery
The binding will automatically look for a device with the DNS name 'poolcontrol'. If found it will try and connect with the factory default username and password.
## Binding Configuration
The binding requires no special configuration
## Thing Configuration
The Autelis binding requires the host, port, username and password
In the thing file, this looks e.g. like
```
Thing autelis:myPool [ host="192.168.1.10", port="80", user="admin", password="admin"]
```
## Channels
All devices support some of the following channels:
| Channel Type ID | Item Type | Description |
|-------------------------|------------------------|--------------|----------------- |------------- |
| system-runstate| Switch |
| system-model| Number |
| system-haddr| Number |
| system-opmode| Number |
| system-freeze| Number |
| system-sensor1| Number |
| system-sensor2| Number |
| system-sensor3| Number |
| system-sensor4| Number |
| system-sensor5| Number |
| system-version| String |
| system-time| Number |
| equipment-circuit1| Switch |
| equipment-circuit2| Switch |
| equipment-circuit3| Switch |
| equipment-circuit4| Switch |
| equipment-circuit5| Switch |
| equipment-circuit6| Switch |
| equipment-circuit7| Switch |
| equipment-circuit8| Switch |
| equipment-circuit9| Switch |
| equipment-circuit10| Switch |
| equipment-feature1| Number |
| equipment-feature2| Number |
| equipment-feature3| Number |
| equipment-feature4| Number |
| equipment-feature5| Number |
| equipment-feature6| Number |
| equipment-feature7| Number |
| equipment-feature8| Number |
| equipment-feature9| Number |
| equipment-feature10| Number |
| temp-poolht| Number |
| temp-spaht| Number |
| temp-htstatus| Number |
| temp-poolsp| Number |
| temp-spasp| Number |
| temp-pooltemp| Number |
| temp-spatemp| Number |
| temp-airtemp| Number |
| temp-tempunits| String |
| temp-htpump| Number |
| pump-pump1| String |
| pump-pump2| String |
| pump-pump3| String |
| pump-pump4| String |
| pump-pump5| String |
| pump-pump6| String |
| pump-pump7| String |
| pump-pump8| String |
| chlor-chloren| Number |
| chlor-poolsp| Number |
| chlor-spasp| Number |
| chlor-salt| Number |
| chlor-super| Number |
| chlor-chlorerr| Number |
| chlor-chlorname| String |
| lightscmd| String |

View File

@ -1,97 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# AVM FRITZ! Binding
The binding integrates the AHA ( [AVM Home Automation](http://avm.de/ratgeber/smart-home/) ) system.
## Supported Things
### FRITZ!Box
The well known FRITZ!Boxes are supported as bridge for accessing other AHA devices. It is planned to support some channels directly at the bridge like call monitoring and others - but these things are under current development by now. The Box has to run at least on firmware FRITZ!OS 6.00 and hast to support the "Smart Home" service.
### FRITZ!DECT 200
This [switchable outlet](http://avm.de/produkte/fritzdect/fritzdect-200/) has to be connected to a FRITZ!Box by DECT protocol. It supports switching the outlet, current power and accumulated energy consumption and temperature readings.
### FRITZ!Powerline 546E
This [powerline adapter](http://avm.de/produkte/fritzpowerline/fritzpowerline-546e/) can be used via the bridge or in standalone mode. It supports switching the outlet and current power and energy consumption readings. This device does not contain a temperature sensor.
## Discovery
The FRITZ!Box and the powerline adapter are discovered through UPNP in the local network. When added as things, a username/password has eventually to be set depending on your Box/Powerline security configuration. The credentials given in the settings must have HomeAuto permissions.
If correct credentials are set in the bridge configuration, connected AHA devices are discovered automatically (may last up to 3 minutes).
## Thing Configuration
### FRITZ!Box
* ipAddress (mandatory), default "fritz.box"
* protocol (optional, http or https), default "http"
* port (optional, 0 to 65335), no default (derived from protocol: 80 or 443)
* password (optional), no default (depends on FRITZ!Box security configuration)
* user (optional), no default (depends on FRITZ!Box security configuration)
* pollingInterval (optional, 5 to 60), default 15 (in seconds)
* asyncTimeout (optional, 1000 to 60000), default 10000 (in millis)
* syncTimeout (optional, 500 to 15000), default 2000 (in millis)
### FRITZ!Powerline 546E
* ipAddress (mandatory), default "fritz.powerline"
* protocol (optional, http or https), default "http"
* port (optional, 0 to 65335), no default (derived from protocol: 80 or 443)
* password (optional), no default (depends on FRITZ!Powerline security configuration)
* pollingInterval (optional, 5 to 60), default 15 (in seconds)
* asyncTimeout (optional, 1000 to 60000), default 10000 (in millis)
* syncTimeout (optional, 500 to 15000), default 2000 (in millis)
### AHA things connected to FRITZ!Box bridge
* AIN (mandatory), no default (AIN number of device)
## Channels
| Channel Type ID | Item Type | Description | Available on thing |
|-------------|--------|-----------------------------|------------------------------------|
| temperature | Number | Actual measured temperature | FRITZ!DECT 200 |
| energy | Number | Accumulated energy consumption | FRITZ!DECT 200, FRITZ!Powerline 546E |
| power | Number | Current power consumption | FRITZ!DECT 200, FRITZ!Powerline 546E |
| outlet | Switch | Switchable outlet | FRITZ!DECT 200, FRITZ!Powerline 546E |
## Full Example
demo.Things:
```
Bridge avm:fritzbox:192.168.178.1 [ ipAddress="192.168.0.64" ] {
FRITZ_DECT_200 DECT1 [ ain="xxxxxxxxxxx" ]
FRITZ_Powerline_546E PL1 [ ain="yy:yy:yy:yy:yyy" ]
}
```
demo.items:
```
Number Temp { channel="avmfritz:FRITZ_DECT_200:1:DECT1:temperature" }
Switch Outlet2 { channel="avmfritz:FRITZ_Powerline_546E:1:PL1:outlet" }
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame {
Text item=Temp
Switch item=Outlet2
}
}
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

View File

@ -1,237 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# digitalSTROM Binding
This binding integrates the [digitalSTROM-System](http://www.digitalstrom.de/).
The integration happens through the digitalSTROM-Server, which acts as a gateway to connect the digitalSTROM-Devices. The digitalSTROM-Server communicates through the digitalSTROM-Meters with the digitalSTROM-Devices, which are directly connected to the power-line.
**Note:** All was tested with digitalSTROM-Server firmware version 1.9.3 to 1.10.3.
![various_digitalSTROM_clamps](doc/DS-Clamps.jpg)
## Supported Things
### digitalSTROM-Server
The digitalSTROM-Server is required for accessing any other digitalSTROM-Devices. It acts like a *"bridge"*.
### digitalSTROM-Devices
At this point almost all available **GE**, **SW** and **GR** digitalSTROM-Devices with an set output-mode, unequal *disabled* or *PWM*, are supported by this binding.
For that there are identically named thing types. Only the *GR* type has a channel (shade), which cannot be changed. The other two types adds their channels dynamically affected by the set color-group and output-mode. They also automatically change or add the channels, if the color-group or output-mode has changed through the dSS-web-configuration or the configured sensor priorities of the thing has changed.
The following table shows all tested digitalSTROM-Devices with their output-modes.
| HW-Type | Output-Mode | Tested color group |
|-----------------|------------------------|--------------|----------------- |------------- |
| GE-KL200 | switched | yellow |
| GE-KM200 | switched, dimmed | yellow |
| GE-TKM210 | switched, dimmed | yellow |
| GE-SDM200 | switched, dimmed | yellow |
| GR-KL200 | standard output-mode | grey |
| GR-KL210 | standard output-mode| grey |
| GR-KL220 | standard output-mode | grey |
| SW-KL200 | switch, powersave, wipe | black, yellow |
| SW-UMR200 | single switched, combined switch, combined 2 stage switch, combined 3 stage switch | yellow , black |
| SW-ZWS200 | switch, powersave, wipe | black, yellow |
### digitalSTROM-Scenes
Furthermore the digitalSTROM-Scene concept is part of the digitalSTROM-Binding. This scenes are implemented as virtual things. The difference scene thing types are list in the following table.
| Thing-Type-ID | Label | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| appScene | Apartment-Scene | Represents a digitalSTROM Apartment-Scene. |
| zoneScene | Zone-Scene | Represents a digitalSTROM Zone-Scene. |
| groupScene | Group-Scene | Represents a digitalSTROM Group-Scene. |
| namedScene | Named-Scene | Represents a digitalSTROM Scene, which has a user defined name. |
## Discovery
The digitalSTROM-Server is discovered by mDNS or *dss.local.* at the local network. Once the server is added as a thing, you have to set a user name and password or insert a valid Application-Token to authenticate with the server. If the binding is authorized, it automatically reads all supported devices, that are set up on the digitalSTROM-System and puts them into the *inbox*.
digitalSTROM-Scenes can be discovered, too. The background scene-discovery is deactivated by default to not flood the inbox. Otherwise it will discover so many scenes, that it can be difficult to find the searched devices.
Discoverable scenes are all user named scenes, group scenes that are reachable by local push-buttons, zone scenes and apartment scenes. The discovery also will discover all called scenes, if they aren't automatically discovered yet.
If you only want to discover one of the thing types, you can start a discovery scan on the thing type you wish have discovered. You can use the command line command, e.g.: ``smarthome:discovery start digitalstrom:namedScene`` to start the scan. What thing types this binding supports please have a look at **Supported Things**.
## digitalSTROM-Scenes
### General
The device scene configuration will be saved persistently to the things to update the device state faster. For that each scene configuration of each device has to read out first, because of the digitalSTROM-rule 9 that requires a waiting period of one minute, that take some time so that at the first start a scene call can be take some time to read it out and update the device state. To read it out faster only the discovered or called scenes will be red out.
**Note:**
Because the digitalSTROM-Server can't inform the binding about save scene events at this time, the persistently saved scene configurations can't be updated. The current troubleshooting to read out the new scene configuration after a save scene action at the digitalSTROM-Server is the following:
1. delete the thing to delete the persistently saved scene configuration
2. restart the server to delete the temporary saved scene configuration
3. add the thing again to red out the scene configuration again.
## Thing Configuration
### digitalSTROM-Server:
The digitalSTROM-Server thing has the following configuration parameter groups *Connection configuration*, *Server information* and *General configurations*.
#### Connection configuration:
If the digitalSTROM-Server isnt found automatically, e.g. because the server isnt placed at the local network or the mDNS-service is deactivated, you have to insert the network address or URL and the authentication data manually through the graphical user interface or type it into the \*.thing with textual configuration.
| Parameter Label | Parameter ID | Description | Required | Advanced
|-----------------|------------------------|--------------|----------------- |------------- |
| Network address | ipAddress | Network address of the digitalSTROM-Server.| true | false |
| User name | userName | Name of a registered user to authenticate to the digitalSTROM-Server.| user name and password or Application-Token | false |
| Password | password | Password of a registered user to authenticate to the digitalSTROM-Server. | user name and password or Application-Token | false |
| Application-Token | applicationToken | The Application-Token to authenticate to the digitalSTROM-Server. | user name and password or Application-Token| false |
#### Server information:
The group parameters *Server information* only includes informative parameters, which have no special functionality.
| Parameter Label | Parameter ID| Description | Required | Advanced
|-----------------|------------------------|--------------|----------------- |------------- |
| dSID | dSID | The unique identifier of a digitalSTOM-server. | false| false |
| digitalSTROM-Installation name | dsName | The user defined name of the digitalSTROM-Installation. | false | false | false |
#### General configuration:
Here you can set general binding configuration parameters, which shown in following table:
| Parameter Label | Parameter ID| Description | Required | Advanced | default
|-----------------|------------------------|--------------|----------------- |------------- | ----------------- |
| Sensor update interval | sensorDataUpdateInterval | Sets the seconds after the digitalSTROM-Device sensor data will be updated. If the priority is higher than 'never'. | false | false | 60 |
| Total power update interval | totalPowerUpdateInterval | Sets the interval in seconds, after the digitalSTROM total power consumption and total electric meter sensor data will be updated. | false | false | 30 |
| Days to be slaked trash bin devices | defaultTrashBinDeleateTime| Sets the days after the temporary saved digitalSTROM-Device configuration from not reachable digitalSTROM-Devices get permanently deleted. | false | false | 7 |
| Wait time sensor reading | sensorWaitTime| Waiting time between the evaluation of the sensor values and the reading of the scenes in seconds. **ATTENTION:** digitalSTROM rule 8 and 9 require a waiting period of 1 minute. Values less than 60 seconds could affect the digitalSTROM system. | false | true | 60 |
At the thing file, a manual configuration looks e.g. like
```
Bridge digitalstrom:dssBridge:dssBridge1 [ ipAddress="dss.local.", userName="dssadmin", password=“dssadmin", sensorDataUpdateIntervall="180"]
```
### digitalSTROM-Devices:
The digitalSTROM-Device things have the following configuration parameter groups *Device information* and *Sensor setup*.
#### Device information
Each digitalSTROM-Device needs the device ID named dSID as configuration parameter. The device ID is printed as serial number at the digitalSTOM-Device and can also be found within the web-interface of the digitalSTROM-Server.
Furthermore a supported digitalSTROM-Device has only informative parameter at this point.
The following table shows all parameters:
| Parameter Label | Parameter ID| Description | Required | Advanced
|-----------------|------------------------|--------------|----------------- |------------- |
| ID | dSID| The unique identifier of a digitalSTOM-device. | true | false |
| UID | dSUID | The unique identifier of a digitalSTOM-device with virtual devices. | false | false |
| Name | deviceName | he name of a digitalSTROM-Device. | false | false |
| Meter dSID | meterDSID | Identifier of the meter to which the device is connected. | false | false |
| Device hardware type | hwInfo | The hardware type from this digitalSTROM-Device. | false | false |
| Zone ID | zoneID |The digitalSTROM-Device is part of this zone. | false | false |
| Group ID's | groups | The digitalSTROM-Device is part of this user-defined or functional groups. | false | false |
| Output mode | output mode | The current digitalSTROM-Device output mode e.g. 22 = dimmable. | false | false |
| Functional color group | funcColorGroup | The current digitalSTROM-Device functional color group e.g. yellow = light. | false | false |
#### Sensor setup
The GE and SW digitalSTROM-Devices have usually sensors to capture power consumption data. So these devices have the following parameters to read them out.
| Parameter Label | Parameter ID| Description | Required | Advanced | Default |
|-----------------|------------------------|--------------|----------------- |------------- | -----------|
| Active power refresh priority | activePowerRefreshPriority | Sets the refresh priority for the active power sensor value. Can be never, low priority, medium priority or high priority. | false | false | never |
| Electric meter refresh priority | electricMeterRefreshPriority | Sets the refresh priority for the electric meter sensor value. Can be never, low priority, medium priority or high priority. | false | false | never |
| Output current refresh priority | outputCurrentRefreshPriority | Sets the refresh priority for the output current sensor value. Can be never, low priority, medium priority or high priority. | false | false | never |
### digitalSTROM-Scenes
The digitalSTROM-Scenes can be defined with following parameters.
| Parameter Label | Parameter ID| Description | Required | Advanced |
|-----------------|------------------------|--------------|----------------- |------------- |
| Scene name | sceneName | The name of a digitalSTROM scene. | false | false |
| Zone ID or name | zoneID | The zone ID or zone name of the called scene. 0 or empty is broadcast to all. | false | false |
| Group ID or name | groupID | The group ID or group name of the called scene. 0 or empty is broadcast to all. | false | false |
| Scene ID or name | sceneID |The call scene ID or scene name, e.g. preset 1 for scene ID 5. Callable scenes are from 0 to 126. | false | false |
The Scene-Thing-Type *Named-Scene* and *Group-Scene* have all parameters. The *Apartment-Scene* have only the parameters *Scene name* and *Scene ID* an the *Zone-Scene* have all parameters without *Group ID or name*.
Usually the discovery works reliable, so that a manual configuration is not needed.
However, at the thing file, a manual configuration looks e.g. like
```
Thing digitalstrom:GE:GE-KM200 [ dSID="´3504175fe0000000000043d4", activePowerRefreshPriority="low", electricMeterRefreshPriority=“medium", outputCurrentRefreshPriority="high"]
Thing digitalstrom:GR:GR-KM200 [ dSID="3504175fe0000000000043d5"]
```
## Channels
All devices support some of the following channels:
| Channel Type ID | Item Type | Description | supported device type |
|-----------------|------------------------|--------------|----------------- |------------- |
| brightness| Dimmer | The brightness channel allows to dimm a light device. | GE, SW |
| lightSwitch | Switch | The light switch channel allows to turn a light device on or off. | GE, SW |
| combined2StageSwitch | String| The 2 stage light switch channel allows to turn both light devices on or off or switch only 1 of the both light device on or off. | SW-UMR200 |
| combined3StageSwitch | String | The 3 stage light switch channel allows to turn both light devices on or off or switch both light devices separated from each other on or off. | SW-UMR200 |
| shade | Rollershutter | The shade control channel allows to control shade device e.g. a roller shutter or awnings. | GR |
| generalDimm | Dimmer | The device power control channel allows to control the power of a device e.g. a ceiling fan. | SW |
| generalSwitch | Switch | The device switch channel allows to turn a device on or off e.g. a HIFI-System. | SW |
| generalCombined3StageSwitch | String | The 2 stage device switch channel allows to turn both relais of the device on or off or switch only 1 of the both relais on or off. | SW-UMR200 |
| generalCombined3StageSwitch | String | The 3 stage device device channel allows to turn both relais of the device on or off or switch both relais of the device separated from each other on or off. | SW-UMR200 |
| activePower | Number | The active power channel indicates the current active power in watt (W) of the device." | GE, SW |
| outputCurrent | Number | The output current channel indicates the current output current in amper (A) of the device." | GE, SW |
| electricMeter | Number | The electric meter channel indicates the current electric meter value in killowatts hours (kWh) of the device. | GE, SW |
| totalActivePower | | The total power consumption channel indicates the current consumption power in watt (W) of all connected circuits to the digitalSTROM-System. | dssBridge |
| totalElectricMeter | Number | The total electric meter channel indicates the current electric meter value in killowatt hours of all connected circuits to the digitalSTROM-System. | dssBridge |
| scene | Switch | The scene channel allows to call or undo a scene from digitalSTROM. | Scene |
## Full Example
demo.things:
```
Bridge digitalstrom:dssBridge:1 [ ipAddress="dss.local.", userName="dssadmin", password="dssadmin", sensorDataUpdateIntervall=180] {
GE GE-KM200 [ dSID="3504175fe0000000000043d4", ActivePowerRefreshPriority="low", ElectricMeterRefreshPriority="medium", OutputCurrentRefreshPriority="high"]
GR GR-KM200 [ dSID="3504175fe0000000000043d5"]
namedScene scene1 [zoneID="0", groupID="0", sceneID="5"]
}
```
demo.items:
```
Dimmer Brightness { channel="digitalstrom:GE:GE-KM200-1:brightness" }
Number ActivePower { channel="digitalstrom:GE:GE-KM200-1:activePower" }
Number OutputCurrent { channel="digitalstrom:GE:GE-KM200-1:outputCurrent"}
Number ElectricMeter { channel="digitalstrom:GE:GE-KM200-1:electricMeter" }
Number TotalActivePower { channel="digitalstrom:dssBridge:dssBridge1:totalActivePower "}
Number TotalElectricMeter { channel="digitalstrom:dssBridge:dssBridge1:totalElectricMeter "}
Rollershutter Shade { channel="digitalstrom:GR:GR-KM200-1:shade" }
Switch Scene { channel="digitalstrom:namedScene:scene1:scene" }
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame {
Slider item=Brightness
Switch item=Brightness
Text item=ActivePower
Text item=OutputCurrent
Text item=ElectricMeter
}
Frame {
Text item=TotalActivePower
Text item=TotalElectricMeter
}
Frame {
Switch item=Scene
}
Frame {
Slider item=Shade
}
}
```

View File

@ -1,594 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# DSC Alarm Binding
This is an OpenHAB binding for a DSC PowerSeries Alarm System utilizing the EyezOn Envisalink 3/2DS interface or the DSC IT-100 RS-232 interface.
The DSC PowerSeries Alarm System is a popular do-it-yourself home security system, which can be monitored and controlled remotely through a standard web-browser or mobile device.
The OpenHAB DSC Alarm binding provides connectivity to the DSC Alarm panel via a TCP socket connection to the EyesOn Envisalink 3/2DS interface or a RS-232 serial connection to the DSC IT-100 interface.
## Supported Things
This binding supports the following thing types
<table>
<tr><td><b>Thing</b></td><td><b>Thing Type</b></td><td><b>Description</b></td></tr>
<tr><td>envisalink</td><td>Bridge</td><td>The EyezOn Envisalink 3/2DS interface.</td></tr>
<tr><td>it100</td><td>Bridge</td><td>The DSC IT-100 RS-232 interface.</td></tr>
<tr><td>tcpserver</td><td>Bridge</td><td>The DSC IT-100 TCP Server network interface.</td></tr>
<tr><td>panel</td><td>Thing</td><td>The basic representation of the DSC Alarm System.</td></tr>
<tr><td>partition</td><td>Thing</td><td>Represents a controllable area within a DSC Alarm system.</td></tr>
<tr><td>zone</td><td>Thing</td><td>Represents a physical device such as a door, window, or motion sensor.</td></tr>
<tr><td>keypad</td><td>Thing</td><td>Represents the central administrative unit.</td></tr>
</table>
## Binding Configuration
There are essentially no overall binding configuration settings that need to be set. Most settings are through thing configuration parameters.
## Discovery
The DSC Alarm binding incorporates several discovery modes in order to find DSC Alarm systems. First, there is the Envisalink bridge discovery mode which performs a network query for any Envisalink adapters and adds them to the discovery inbox. Second, there is The IT-100 bridge discovery mode which will search serial ports for any IT-100 adapters and add them to the discovery inbox. Third, after a bridge is discovered and available to OpenHAB, the binding will attempt to discover DSC Alarm devices and add them to the discovery inbox. The TCP Server bridge does not implement bridge discovery but will utilize device discovery once it is online.
## Thing Configuration
DSC Alarm things can be configured either through the online configuration utility via discovery, or manually through the 'dscalarm.thing' configuration file. The following table shows the available configuration parameters for each thing.
<table>
<tr><td><b>Thing</b></td><td><b>Configuration Parameters</b></td></tr>
<tr><td>envisalink</td><td><table><tr><td><b>ipAddress</b> - IP address for the Envisalink adapter - Required.</td></tr><tr><td><b>port</b> - TCP port for the Envisalink adapter - Not Required - default = 4025.</td></tr><tr><td><b>password</b> - Password to login to the Envisalink bridge - Not Required.</td></tr><tr><td><b>connectionTimeout</b> - TCP socket connection timeout in milliseconds - Not Required - default=5000.<br/></td></tr><tr><td><b>pollPeriod</b> - Period of time in minutes between the poll command being sent to the Envisalink bridge - Not Required - default=1.</td></tr></table></td></tr>
<tr><td>it100</td><td><table><tr><td><b>serialPort</b> - Serial port for the IT-100s bridge - Required.</td></tr><tr><td><b>baud</b> - Baud rate of the IT-100 bridge - Not Required - default = 9600.</td></tr><tr><td><b>pollPeriod</b> - Period of time in minutes between the poll command being sent to the IT-100 bridge - Not Required - default=1.</td></tr></table></td></tr>
<tr><td>tcpserver</td><td><table><tr><td><b>ipAddress</b> - IP address for the TCP Server - Required.</td></tr><tr><td><b>port</b> - TCP port for the TCP Server - Required.</td></tr><tr><td><b>connectionTimeout</b> - TCP socket connection timeout in milliseconds - Not Required - default=5000.<br/></td></tr><tr><td><b>pollPeriod</b> - Period of time in minutes between the poll command being sent to the TCP Server bridge - Not Required - default=1.</td></tr></table></td></tr>
<tr><td>panel</td><td><table><tr><td><b>userCode</b> - User code for the DSC alarm panel - Not Required.</td></tr><tr><td><b>suppressAcknowledgementMsgs</b> - Suppress the display of acknowledgement messages when received - Not Required - default = false.</td></tr></table></td></tr>
<tr><td>partition</td><td><b>partitionNumber</b> - Partition number (1-8) - Required.</td></tr>
<tr><td>zone</td><td><table><tr><td><b>partitionNumber</b> - Partition number (1-8) - Not Required - default=1.</td></tr><tr><td><b>zoneNumber</b> - Zone number (1-64) - Required.</td></tr></table></td></tr>
<tr><td>keypad</td><td>No parameters</td></tr>
</table>
The binding can be configured manually if discovery is not used. A thing configuration file in the format 'bindingName.thing' would need to be created, and placed in the 'conf/things' folder. Here is an example of a thing configuration file called 'dscalarm.thing':
```
Bridge dscalarm:envisalink:mybridge [ ipAddress="192.168.0.100" ]
{
Thing panel panel
Thing partition partition1 [ partitionNumber=1 ]
Thing zone zone1 [ partitionNumber=1, zoneNumber=1 ]
Thing zone zone9 [ partitionNumber=1, zoneNumber=9 ]
Thing zone zone10 [ partitionNumber=1, zoneNumber=10 ]
Thing zone zone11 [ partitionNumber=1, zoneNumber=11 ]
Thing zone zone12 [ partitionNumber=1, zoneNumber=12 ]
Thing zone zone13 [ partitionNumber=1, zoneNumber=13 ]
Thing zone zone14 [ partitionNumber=1, zoneNumber=14 ]
Thing zone zone15 [ partitionNumber=1, zoneNumber=15 ]
Thing zone zone21 [ partitionNumber=1, zoneNumber=21 ]
Thing zone zone22 [ partitionNumber=1, zoneNumber=22 ]
Thing zone zone23 [ partitionNumber=1, zoneNumber=23 ]
Thing zone zone24 [ partitionNumber=1, zoneNumber=24 ]
Thing zone zone25 [ partitionNumber=1, zoneNumber=25 ]
Thing keypad keypad
}
```
## Channels
DSC Alarm things support a variety of channels as seen below in the following table:
<table>
<tr><td><b>Channel</b></td><td><b>Item Type</b></td><td><b>Description</b></td></tr>
<tr><td>bridge_reset</td><td>Switch</td><td>Reset the bridge connection.</td></tr>
<tr><td>panel_message</td><td>String</td><td>Event messages received from the DSC Alarm system.</td></tr>
<tr><td>panel_system_error</td><td>String</td><td>DSC Alarm system error.</td></tr>
<tr><td>panel_trouble_message</td><td>String</td><td>Displays any trouble messages the panel might send.</td></tr>
<tr><td>panel_trouble_led</td><td>Switch</td><td>The panel trouble LED is on.</td></tr>
<tr><td>panel_service_required</td><td>Switch</td><td>Service is required on the panel.</td></tr>
<tr><td>panel_ac_trouble</td><td>Switch</td><td>The panel has lost AC power.</td></tr>
<tr><td>panel_telephone_trouble</td><td>Switch</td><td>Telephone line fault.</td></tr>
<tr><td>panel_ftc_trouble</td><td>Switch</td><td>Failure to communicate with monitoring station.</td></tr>
<tr><td>panel_zone_fault</td><td>Switch</td><td>There is a fault condition on a zone/sensor.</td></tr>
<tr><td>panel_zone_tamper</td><td>Switch</td><td>There is a tamper condition on a zone/sensor.</td></tr>
<tr><td>panel_time_low_battery</td><td>Switch</td><td>There is a low battery condition on a zone/sensor.</td></tr>
<tr><td>panel_time_loss</td><td>Switch</td><td>Loss of time on the panel.</td></tr>
<tr><td>panel_time</td><td>DateTime</td><td>DSC Alarm system time and date.</td></tr>
<tr><td>panel_time_stamp</td><td>Switch</td><td>Turn DSC Alarm message time stamping ON/OFF.</td></tr>
<tr><td>panel_time_broadcast</td><td>Switch</td><td>Turn DSC Alarm time broadcasting ON/OFF.</td></tr>
<tr><td>panel_fire_key_alarm</td><td>Switch</td><td>A fire key alarm has happened.</td></tr>
<tr><td>panel_panic_key_alarm</td><td>Switch</td><td>A panic key alarm has happened.</td></tr>
<tr><td>panel_aux_key_alarm</td><td>Switch</td><td>An auxiliary key alarm has happened.</td></tr>
<tr><td>panel_aux_input_alarm</td><td>Switch</td><td>An auxiliary input alarm has happened.</td></tr>
<tr><td>partition_status</td><td>String</td><td>A partitions current status.</td></tr>
<tr><td>partition_arm_mode</td><td>Number</td><td>A partitions current arm mode. The possible values are:
<br/>
0=disarmed<br/>
1=armed away<br/>
2=armed stay<br/>
3=away no delay<br/>
4=stay no delay<br/>
</td></tr>
<tr><td>partition_armed</td><td>Switch</td><td>A partition has been armed.</td></tr>
<tr><td>partition_entry_delay</td><td>Switch</td><td>A partition is in entry delay mode.</td></tr>
<tr><td>partition_exit_delay</td><td>Switch</td><td>A partition is in exit delay mode.</td></tr>
<tr><td>partition_in_alarm</td><td>Switch</td><td>A partition is in alarm.</td></tr>
<tr><td>partition_opening_closing_mode</td><td>String</td><td>Displays the opening/closing mode of a partition.</td></tr>
<tr><td>zone_status</td><td>Contact</td><td>A zones general (open/closed) status.</td></tr>
<tr><td>zone_message</td><td>String</td><td>A zone status message.</td></tr>
<tr><td>zone_bypass_mode</td><td>Switch</td><td>A zone bypass mode (OFF=Armed, ON=Bypassed).</td></tr>
<tr><td>zone_in_alarm</td><td>Switch</td><td>A zone is in alarm.</td></tr>
<tr><td>zone_tamper</td><td>Switch</td><td>A zone tamper condition has happened.</td></tr>
<tr><td>zone_fault</td><td>Switch</td><td>A zone fault condition has happened.</td></tr>
<tr><td>zone_tripped</td><td>Switch</td><td>A zone has tripped.</td></tr>
<tr><td>keypad_ready_led</td><td>Number</td><td>Keypad Ready LED Status. The values are:
<br/>
0=OFF<br/>
1=ON<br/>
2=Flashing<br/>
</td></tr>
<tr><td>keypad_armed_led</td><td>Number</td><td>Keypad Armed LED Status. The values are:
<br/>
0=OFF<br/>
1=ON<br/>
2=Flashing<br/></td></tr>
<tr><td>keypad_memory_led</td><td>Number</td><td>Keypad Memory LED Status. The values are:
<br/>
0=OFF<br/>
1=ON<br/>
2=Flashing<br/></td></tr>
<tr><td>keypad_bypass_led</td><td>Number</td><td>Keypad Bypass LED Status. The values are:
<br/>
0=OFF<br/>
1=ON<br/>
2=Flashing<br/></td></tr>
<tr><td>keypad_trouble_led</td><td>Number</td><td>Keypad Trouble LED Status. The values are:
<br/>
0=OFF<br/>
1=ON<br/>
2=Flashing<br/></td></tr>
<tr><td>keypad_program_led</td><td>Number</td><td>Keypad Program LED Status. The values are:
<br/>
0=OFF<br/>
1=ON<br/>
2=Flashing<br/></td></tr>
<tr><td>keypad_fire_led</td><td>Number</td><td>Keypad Fire LED Status. The values are:
<br/>
0=OFF<br/>
1=ON<br/>
2=Flashing<br/></td></tr>
<tr><td>keypad_backlight_led</td><td>Number</td><td>Keypad Backlight LED Status. The values are:
<br/>
0=OFF<br/>
1=ON<br/>
2=Flashing<br/></td></tr>
<tr><td>keypad_ac_led</td><td>Number</td><td>Keypad AC LED Status. The values are:
<br/>
0=OFF<br/>
1=ON<br/>
2=Flashing<br/></td></tr>
</table>
## Full Example
The following is an example of an item file (dscalarm.items):
```
Group DSCAlarm
Group DSCAlarmPanel (DSCAlarm)
Group DSCAlarmPartitions (DSCAlarm)
Group DSCAlarmZones (DSCAlarm)
Group DSCAlarmKeypads (DSCAlarm)
/* Groups By Device Type */
Group:Contact:OR(OPEN, CLOSED) DSCAlarmDoorWindow <door>
Group:Contact:OR(OPEN, CLOSED) DSCAlarmMotion <motionDetector>
Group:Contact:OR(OPEN, CLOSED) DSCAlarmSmoke <smokeDetector>
/* DSC Alarm Items */
Switch BRIDGE_CONNECTION {channel="dscalarm:envisalink:192_168_0_100:bridge_reset"}
/* DSC Alarm Panel Items */
String PANEL_MESSAGE "Panel Message: [%s]" (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_message"}
Number PANEL_COMMAND "Panel Commands" (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_command"}
String PANEL_SYSTEM_ERROR "Panel System Error: [%s]" (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_system_error"}
String PANEL_TROUBLE_MESSAGE "Panel Trouble Message: [%s]" <"shieldGreen"> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_trouble_message"}
Switch PANEL_TROUBLE_LED "Panel Trouble LED" <warning> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_trouble_led"}
Switch PANEL_SERVICE_REQUIRED <yellowLED> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_service_required"}
Switch PANEL_AC_TROUBLE <yellowLED> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_ac_trouble"}
Switch PANEL_TELEPHONE_TROUBLE <yellowLED> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_telephone_trouble"}
Switch PANEL_FTC_TROUBLE <yellowLED> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_ftc_trouble"}
Switch PANEL_ZONE_FAULT <yellowLED> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_zone_fault"}
Switch PANEL_ZONE_TAMPER <yellowLED> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_zone_tamper"}
Switch PANEL_ZONE_LOW_BATTERY <yellowLED> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_zone_low_battery"}
Switch PANEL_TIME_LOSS <yellowLED> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_time_loss"}
DateTime PANEL_TIME "Panel Time [%1$tA, %1$tm/%1$td/%1$tY %1tT]" <calendar> (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_time"}
Switch PANEL_TIME_STAMP (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_time_stamp"}
Switch PANEL_TIME_BROADCAST (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_time_broadcast"}
Switch PANEL_FIRE_KEY_ALARM (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_fire_key_alarm"}
Switch PANEL_PANIC_KEY_ALARM (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_panic_key_alarm"}
Switch PANEL_AUX_KEY_ALARM (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_aux_key_alarm"}
Switch PANEL_AUX_INPUT_ALARM (DSCAlarmPanel) {channel="dscalarm:panel:192_168_0_100:panel:panel_aux_input_alarm"}
/* DSC Alarm Partition Items */
String PARTITION1_STATUS "Partition 1 Status: [%s]" (DSCAlarmPartitions) {channel="dscalarm:partition:192_168_0_100:partition1:partition_status"}
Number PARTITION1_ARM_MODE "Partition 1 Arm Mode: [%d]" (DSCAlarmPartitions) {channel="dscalarm:partition:192_168_0_100:partition1:partition_arm_mode"}
Switch PARTITION1_ARMED (DSCAlarmPartitions) {channel="dscalarm:partition:192_168_0_100:partition1:partition_armed"}
Switch PARTITION1_ENTRY_DELAY (DSCAlarmPartitions) {channel="dscalarm:partition:192_168_0_100:partition1:partition_entry_delay"}
Switch PARTITION1_EXIT_DELAY (DSCAlarmPartitions) {channel="dscalarm:partition:192_168_0_100:partition1:partition_exit_delay"}
Switch PARTITION1_IN_ALARM (DSCAlarmPartitions) {channel="dscalarm:partition:192_168_0_100:partition1:partition_in_alarm"}
String PARTITION1_OPENING_CLOSING_MODE "Opening/Closing Mode: [%s]" (DSCAlarmPartitions) {channel="dscalarm:partition:192_168_0_100:partition1:partition_opening_closing_mode"}
/* DSC Alarm Zones Items */
Contact ZONE1_STATUS "Tamper Switch (Zone 1)" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone1:zone_status"}
String ZONE1_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone1:zone_message"}
Switch ZONE1_BYPASS_MODE "Tamper Switch Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone1:zone_bypass_mode"}
Switch ZONE1_IN_ALARM "Zone 1 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone1:zone_in_alarm"}
Switch ZONE1_TAMPER "Zone 1 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone1:zone_tamper"}
Switch ZONE1_FAULT "Zone 1 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone1:zone_fault"}
Switch ZONE1_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone1:zone_tripped"}
Contact ZONE9_STATUS "Front Door Sensor (Zone 9)" <door> (DSCAlarmZones, FrontFoyer, DSCAlarmDoorWindow) {channel="dscalarm:zone:192_168_0_100:zone9:zone_status"}
String ZONE9_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone9:zone_message"}
Switch ZONE9_BYPASS_MODE "Front Door Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone9:zone_bypass_mode"}
Switch ZONE9_IN_ALARM "Zone 9 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone9:zone_in_alarm"}
Switch ZONE9_TAMPER "Zone 9 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone9:zone_tamper"}
Switch ZONE9_FAULT "Zone 9 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone9:zone_fault"}
Switch ZONE9_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone9:zone_tripped"}
Contact ZONE10_STATUS "Deck Door Sensor (Zone 10)" <door> (DSCAlarmZones, FamilyRoom, DSCAlarmDoorWindow) {channel="dscalarm:zone:192_168_0_100:zone10:zone_status"}
String ZONE10_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone10:zone_message"}
Switch ZONE10_BYPASS_MODE "Deck Door Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone10:zone_bypass_mode"}
Switch ZONE10_IN_ALARM "Zone 10 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone10:zone_in_alarm"}
Switch ZONE10_TAMPER "Zone 10 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone10:zone_tamper"}
Switch ZONE10_FAULT "Zone 10 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone10:zone_fault"}
Switch ZONE10_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone10:zone_tripped"}
Contact ZONE11_STATUS "Back Door Sensor (Zone 11)" <door> (DSCAlarmZones, UtilityRoom, DSCAlarmDoorWindow) {channel="dscalarm:zone:192_168_0_100:zone11:zone_status"}
String ZONE11_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone11:zone_message"}
Switch ZONE11_BYPASS_MODE "Back Door Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone11:zone_bypass_mode"}
Switch ZONE11_IN_ALARM "Zone 11 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone11:zone_in_alarm"}
Switch ZONE11_TAMPER "Zone 11 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone11:zone_tamper"}
Switch ZONE11_FAULT "Zone 11 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone11:zone_fault"}
Switch ZONE11_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone11:zone_tripped"}
Contact ZONE12_STATUS "Side Door Sensor (Zone 12)" <door> (DSCAlarmZones, SideFoyer, DSCAlarmDoorWindow) {channel="dscalarm:zone:192_168_0_100:zone12:zone_status"}
String ZONE12_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone12:zone_message"}
Switch ZONE12_BYPASS_MODE "Side Door Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone12:zone_bypass_mode"}
Switch ZONE12_IN_ALARM "Zone 12 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone12:zone_in_alarm"}
Switch ZONE12_TAMPER "Zone 12 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone12:zone_tamper"}
Switch ZONE12_FAULT "Zone 12 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone12:zone_fault"}
Switch ZONE12_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone12:zone_tripped"}
Contact ZONE13_STATUS "Garage Door 1 Sensor (Zone 13)" <door> (DSCAlarmZones, Garage, DSCAlarmDoorWindow) {channel="dscalarm:zone:192_168_0_100:zone13:zone_status"}
String ZONE13_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone13:zone_message"}
Switch ZONE13_BYPASS_MODE "Garage Door 1 Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone13:zone_bypass_mode"}
Switch ZONE13_IN_ALARM "Zone 13 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone13:zone_in_alarm"}
Switch ZONE13_TAMPER "Zone 13 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone13:zone_tamper"}
Switch ZONE13_FAULT "Zone 13 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone13:zone_fault"}
Switch ZONE13_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone13:zone_tripped"}
Contact ZONE14_STATUS "Garage Door 2 Sensor (Zone 14)" <garagedoor> (DSCAlarmZones, Garage, DSCAlarmDoorWindow) {channel="dscalarm:zone:192_168_0_100:zone14:zone_status"}
String ZONE14_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone14:zone_message"}
Switch ZONE14_BYPASS_MODE "Garage Door 2 Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone14:zone_bypass_mode"}
Switch ZONE14_IN_ALARM "Zone 14 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone14:zone_in_alarm"}
Switch ZONE14_TAMPER "Zone 14 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone14:zone_tamper"}
Switch ZONE14_FAULT "Zone 14 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone14:zone_fault"}
Switch ZONE14_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone14:zone_tripped"}
Contact ZONE15_STATUS "Garage Window Sensor (Zone 15)" (DSCAlarmZones, Garage, DSCAlarmDoorWindow) {channel="dscalarm:zone:192_168_0_100:zone15:zone_status"}
String ZONE15_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone15:zone_message"}
Switch ZONE15_BYPASS_MODE "Garage Window Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone15:zone_bypass_mode"}
Switch ZONE15_IN_ALARM "Zone 15 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone15:zone_in_alarm"}
Switch ZONE15_TAMPER "Zone 15 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone15:zone_tamper"}
Switch ZONE15_FAULT "Zone 15 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone15:zone_fault"}
Switch ZONE15_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone15:zone_tripped"}
Contact ZONE21_STATUS "Family Room Motion Sensor (Zone 21)" <motionDetector> (DSCAlarmZones, FamilyRoom, DSCAlarmMotion) {channel="dscalarm:zone:192_168_0_100:zone21:zone_status"}
String ZONE21_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone21:zone_message"}
Switch ZONE21_BYPASS_MODE "Family Room Motion Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone21:zone_bypass_mode"}
Switch ZONE21_IN_ALARM "Zone 21 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone21:zone_in_alarm"}
Switch ZONE21_TAMPER "Zone 21 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone21:zone_tamper"}
Switch ZONE21_FAULT "Zone 21 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone21:zone_fault"}
Switch ZONE21_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone21:zone_tripped"}
Contact ZONE22_STATUS "Office Motion Sensor (Zone 22)" <motionDetector> (DSCAlarmZones, Office, DSCAlarmMotion) {channel="dscalarm:zone:192_168_0_100:zone22:zone_status"}
String ZONE22_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone22:zone_message"}
Switch ZONE22_BYPASS_MODE "Office Motion Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone22:zone_bypass_mode"}
Switch ZONE22_IN_ALARM "Zone 22 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone22:zone_in_alarm"}
Switch ZONE22_TAMPER "Zone 22 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone22:zone_tamper"}
Switch ZONE22_FAULT "Zone 22 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone22:zone_fault"}
Switch ZONE22_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone22:zone_tripped"}
Contact ZONE23_STATUS "Dining Room Motion Sensor (Zone 23)" <motionDetector> (DSCAlarmZones, DiningRoom, DSCAlarmMotion) {channel="dscalarm:zone:192_168_0_100:zone23:zone_status"}
String ZONE23_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone23:zone_message"}
Switch ZONE23_BYPASS_MODE "Dining Room Motion Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone23:zone_bypass_mode"}
Switch ZONE23_IN_ALARM "Zone 23 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone23:zone_in_alarm"}
Switch ZONE23_TAMPER "Zone 23 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone23:zone_tamper"}
Switch ZONE23_FAULT "Zone 23 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone23:zone_fault"}
Switch ZONE23_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone23:zone_tripped"}
Contact ZONE24_STATUS "Living Room Motion Sensor (Zone 24)" <motionDetector> (DSCAlarmZones, LivingRoom, DSCAlarmMotion) {channel="dscalarm:zone:192_168_0_100:zone24:zone_status"}
String ZONE24_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone24:zone_message"}
Switch ZONE24_BYPASS_MODE "Living Room Motion Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone24:zone_bypass_mode"}
Switch ZONE24_IN_ALARM "Zone 24 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone24:zone_in_alarm"}
Switch ZONE24_TAMPER "Zone 24 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone24:zone_tamper"}
Switch ZONE24_FAULT "Zone 24 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone24:zone_fault"}
Switch ZONE24_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone24:zone_tripped"}
Contact ZONE25_STATUS "Utility Room Motion Sensor (Zone 25)" <motionDetector> (DSCAlarmZones, UtilityRoom, DSCAlarmMotion) {channel="dscalarm:zone:192_168_0_100:zone25:zone_status"}
String ZONE25_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone25:zone_message"}
Switch ZONE25_BYPASS_MODE "Utility Room Motion Sensor Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone25:zone_bypass_mode"}
Switch ZONE25_IN_ALARM "Zone 25 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone25:zone_in_alarm"}
Switch ZONE25_TAMPER "Zone 25 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone25:zone_tamper"}
Switch ZONE25_FAULT "Zone 25 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone25:zone_fault"}
Switch ZONE25_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone25:zone_tripped"}
Contact ZONE51_STATUS "Utility Room Smoke Detector (Zone 51)" <smokeDetector> (DSCAlarmZones, UtilityRoom, DSCAlarmSmoke) {channel="dscalarm:zone:192_168_0_100:zone51:zone_status"}
String ZONE51_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone51:zone_message"}
Switch ZONE51_BYPASS_MODE "Utility Room Smoke Detector Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone51:zone_bypass_mode"}
Switch ZONE51_IN_ALARM "Zone 51 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone51:zone_in_alarm"}
Switch ZONE51_TAMPER "Zone 51 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone51:zone_tamper"}
Switch ZONE51_FAULT "Zone 51 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone51:zone_fault"}
Switch ZONE51_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone51:zone_tripped"}
Contact ZONE52_STATUS "Dining Room Smoke Detector (Zone 52)" <smokeDetector> (DSCAlarmZones, DiningRoom, DSCAlarmSmoke) {channel="dscalarm:zone:192_168_0_100:zone52:zone_status"}
String ZONE52_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone52:zone_message"}
Switch ZONE52_BYPASS_MODE "Dining Room Smoke Detector Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone52:zone_bypass_mode"}
Switch ZONE52_IN_ALARM "Zone 52 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone52:zone_in_alarm"}
Switch ZONE52_TAMPER "Zone 52 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone52:zone_tamper"}
Switch ZONE52_FAULT "Zone 52 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone52:zone_fault"}
Switch ZONE52_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone52:zone_tripped"}
Contact ZONE53_STATUS "Front Foyer Smoke Detector (Zone 53)" <smokeDetector> (DSCAlarmZones, FrontFoyer, DSCAlarmSmoke) {channel="dscalarm:zone:192_168_0_100:zone53:zone_status"}
String ZONE53_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone53:zone_message"}
Switch ZONE53_BYPASS_MODE "Front Foyer Smoke Detector Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone53:zone_bypass_mode"}
Switch ZONE53_IN_ALARM "Zone 53 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone53:zone_in_alarm"}
Switch ZONE53_TAMPER "Zone 53 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone53:zone_tamper"}
Switch ZONE53_FAULT "Zone 53 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone53:zone_fault"}
Switch ZONE53_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone53:zone_tripped"}
Contact ZONE54_STATUS "Upstairs Hall Smoke Detector (Zone 54)" <smokeDetector> (DSCAlarmZones, UpstairsHall, DSCAlarmSmoke) {channel="dscalarm:zone:192_168_0_100:zone54:zone_status"}
String ZONE54_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone54:zone_message"}
Switch ZONE54_BYPASS_MODE "Upstairs Hall Smoke Detector Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone54:zone_bypass_mode"}
Switch ZONE54_IN_ALARM "Zone 54 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone54:zone_in_alarm"}
Switch ZONE54_TAMPER "Zone 54 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone54:zone_tamper"}
Switch ZONE54_FAULT "Zone 54 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone54:zone_fault"}
Switch ZONE54_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone54:zone_tripped"}
Contact ZONE55_STATUS "Master Bedroom Smoke Detector (Zone 55)" <smokeDetector> (DSCAlarmZones, Bedroom, DSCAlarmSmoke) {channel="dscalarm:zone:192_168_0_100:zone55:zone_status"}
String ZONE55_MESSAGE "Zone Message: [%s]" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone55:zone_message"}
Switch ZONE55_BYPASS_MODE "Master Bedroom Smoke Detector Bypass Mode" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone55:zone_bypass_mode"}
Switch ZONE55_IN_ALARM "Zone 55 Alarm Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone55:zone_in_alarm"}
Switch ZONE55_TAMPER "Zone 55 Tamper Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone55:zone_tamper"}
Switch ZONE55_FAULT "Zone 55 Fault Condition" (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone55:zone_fault"}
Switch ZONE55_TRIPPED (DSCAlarmZones) {channel="dscalarm:zone:192_168_0_100:zone55:zone_tripped"}
/* DSC Alarm Keypad Items */
Number KEYPAD_READY_LED "Ready LED Status" <readyLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:192_168_0_100:keypad:keypad_ready_led"}
Number KEYPAD_ARMED_LED "Armed LED Status" <armedLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:192_168_0_100:keypad:keypad_armed_led"}
Number KEYPAD_MEMORY_LED "Memory LED Status" <memoryLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:192_168_0_100:keypad:keypad_memory_led"}
Number KEYPAD_BYPASS_LED "Bypass LED Status" <bypassLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:192_168_0_100:keypad:keypad_bypass_led"}
Number KEYPAD_TROUBLE_LED "Trouble LED Status" <troubleLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:192_168_0_100:keypad:keypad_trouble_led"}
Number KEYPAD_PROGRAM_LED "Program LED Status" <programLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:192_168_0_100:keypad:keypad_program_led"}
Number KEYPAD_FIRE_LED "Fire LED Status" <fireLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:192_168_0_100:keypad:keypad_fire_led"}
Number KEYPAD_BACKLIGHT_LED "Backlight LED Status" <backlightLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:192_168_0_100:keypad:keypad_backlight_led"}
Number KEYPAD_AC_LED "AC LED Status" <acLED> (DSCAlarmKeypads) {channel="dscalarm:keypad:192_168_0_100:keypad:keypad_ac_led"}
```
Here is an example sitemap:
```
Frame label="Alarm System" {
Text label="DSC Alarm System" icon="DSC" {
Frame label="Panel" {
Switch item=BRIDGE_CONNECTION label="Panel Connection" mappings=[ON="Connected", OFF="Disconnected"]
Text item=PANEL_MESSAGE icon="returnpipe"
Selection item=PANEL_COMMAND icon="flowpipe" mappings=[0="Poll", 1="Status Report", 2="Labels Request (Serial Only)", 8="Dump Zone Timers (TCP Only)", 10="Set Time/Date", 200="Send User Code"]
Text item=PANEL_TIME {
Switch item=PANEL_TIME_STAMP label="Panel Time Stamp"
Switch item=PANEL_TIME_BROADCAST label="Panel Time Broadcast"
}
Text item=PANEL_SYSTEM_ERROR icon="systemError"
Text item=PANEL_TROUBLE_LED label="Panel Trouble Condition" {
Text item=PANEL_TROUBLE_MESSAGE icon="shieldRed"
Text item=PANEL_SERVICE_REQUIRED label="Service Required"
Text item=PANEL_AC_TROUBLE label="AC Trouble"
Text item=PANEL_TELEPHONE_TROUBLE label="Telephone Line Trouble"
Text item=PANEL_FTC_TROUBLE label="Failed to Communicate Trouble"
Text item=PANEL_ZONE_FAULT label="Zone Fault"
Text item=PANEL_ZONE_TAMPER label="Zone Tamper"
Text item=PANEL_ZONE_LOW_BATTERY label="Zone Low Battery"
Text item=PANEL_TIME_LOSS label="Panel Time Loss"
}
}
Frame label="Partitions" {
Text item=PARTITION1_STATUS icon="shieldGreen" {
Switch item=PARTITION1_ARM_MODE label="Partition 1 Arm Options" icon="shieldGreen" mappings=[0="Disarm", 1="Away", 2="Stay", 3="No Entry Delay", 4="With User Code"]
Text item=PARTITION1_OPENING_CLOSING_MODE icon="shieldGreen"
}
}
Frame label="Keypad" {
Text label="Keypad LED Status" icon="DSCKeypad" {
Text item=KEYPAD_READY_LED label="Ready LED Status"
Text item=KEYPAD_ARMED_LED label="Armed LED Status"
Text item=KEYPAD_MEMORY_LED label="Memory LED Status"
Text item=KEYPAD_BYPASS_LED label="Bypass LED Status"
Text item=KEYPAD_TROUBLE_LED label="Trouble LED Status"
Text item=KEYPAD_PROGRAM_LED label="Program LED Status"
Text item=KEYPAD_FIRE_LED label="Fire LED Status"
Text item=KEYPAD_BACKLIGHT_LED label="Backlight LED Status"
Text item=KEYPAD_AC_LED label="AC LED Status"
}
}
Frame label="Zones" {
Text label="All Zones" icon="ZoneAlarm" {
Text item=ZONE1_STATUS {
Switch item=ZONE1_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE1_IN_ALARM icon="statusWarning"
Switch item=ZONE1_TAMPER icon="statusWarning"
Switch item=ZONE1_FAULT icon="statusWarning"
}
}
Text item=ZONE9_STATUS {
Switch item=ZONE9_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE9_IN_ALARM icon="statusWarning"
Switch item=ZONE9_TAMPER icon="statusWarning"
Switch item=ZONE9_FAULT icon="statusWarning"
}
}
Text item=ZONE10_STATUS {
Switch item=ZONE10_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE10_IN_ALARM icon="statusWarning"
Switch item=ZONE10_TAMPER icon="statusWarning"
Switch item=ZONE10_FAULT icon="statusWarning"
}
}
Text item=ZONE11_STATUS {
Switch item=ZONE11_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE11_IN_ALARM icon="statusWarning"
Switch item=ZONE11_TAMPER icon="statusWarning"
Switch item=ZONE11_FAULT icon="statusWarning"
}
}
Text item=ZONE12_STATUS {
Switch item=ZONE12_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE12_IN_ALARM icon="statusWarning"
Switch item=ZONE12_TAMPER icon="statusWarning"
Switch item=ZONE12_FAULT icon="statusWarning"
}
}
Text item=ZONE13_STATUS {
Switch item=ZONE13_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE13_IN_ALARM icon="statusWarning"
Switch item=ZONE13_TAMPER icon="statusWarning"
Switch item=ZONE13_FAULT icon="statusWarning"
}
}
Text item=ZONE14_STATUS {
Switch item=ZONE14_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE14_IN_ALARM icon="statusWarning"
Switch item=ZONE14_TAMPER icon="statusWarning"
Switch item=ZONE14_FAULT icon="statusWarning"
}
}
Text item=ZONE15_STATUS {
Switch item=ZONE15_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE15_IN_ALARM icon="statusWarning"
Switch item=ZONE15_TAMPER icon="statusWarning"
Switch item=ZONE15_FAULT icon="statusWarning"
}
}
Text item=ZONE21_STATUS {
Switch item=ZONE21_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE21_IN_ALARM icon="statusWarning"
Switch item=ZONE21_TAMPER icon="statusWarning"
Switch item=ZONE21_FAULT icon="statusWarning"
}
}
Text item=ZONE22_STATUS {
Switch item=ZONE22_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE22_IN_ALARM icon="statusWarning"
Switch item=ZONE22_TAMPER icon="statusWarning"
Switch item=ZONE22_FAULT icon="statusWarning"
}
}
Text item=ZONE23_STATUS {
Switch item=ZONE23_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE23_IN_ALARM icon="statusWarning"
Switch item=ZONE23_TAMPER icon="statusWarning"
Switch item=ZONE23_FAULT icon="statusWarning"
}
}
Text item=ZONE24_STATUS {
Switch item=ZONE24_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE24_IN_ALARM icon="statusWarning"
Switch item=ZONE24_TAMPER icon="statusWarning"
Switch item=ZONE24_FAULT icon="statusWarning"
}
}
Text item=ZONE25_STATUS {
Switch item=ZONE25_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE25_IN_ALARM icon="statusWarning"
Switch item=ZONE25_TAMPER icon="statusWarning"
Switch item=ZONE25_FAULT icon="statusWarning"
}
}
Text item=ZONE51_STATUS {
Switch item=ZONE51_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE51_IN_ALARM icon="statusWarning"
Switch item=ZONE51_TAMPER icon="statusWarning"
Switch item=ZONE51_FAULT icon="statusWarning"
}
}
Text item=ZONE52_STATUS {
Switch item=ZONE52_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE52_IN_ALARM icon="statusWarning"
Switch item=ZONE52_TAMPER icon="statusWarning"
Switch item=ZONE52_FAULT icon="statusWarning"
}
}
Text item=ZONE53_STATUS {
Switch item=ZONE53_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE53_IN_ALARM icon="statusWarning"
Switch item=ZONE53_TAMPER icon="statusWarning"
Switch item=ZONE53_FAULT icon="statusWarning"
}
}
Text item=ZONE54_STATUS {
Switch item=ZONE54_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE54_IN_ALARM icon="statusWarning"
Switch item=ZONE54_TAMPER icon="statusWarning"
Switch item=ZONE54_FAULT icon="statusWarning"
}
}
Text item=ZONE55_STATUS {
Switch item=ZONE55_BYPASS_MODE icon="ZoneAlarm" mappings=[OFF="Armed", ON="Bypassed"]
Frame label="Other Status:" {
Switch item=ZONE55_IN_ALARM icon="statusWarning"
Switch item=ZONE55_TAMPER icon="statusWarning"
Switch item=ZONE55_FAULT icon="statusWarning"
}
}
}
Group item=DSCAlarmDoorWindow label="Door/Window Sensors"
Group item=DSCAlarmMotion label="Motion Sensors"
Group item=DSCAlarmSmoke label="Smoke Detectors"
}
}
}
```
## Change Log
###OpenHAB 2.0.0 Beta 1
* Initial commit of the DSC Alarm Binding. ([#324](https://github.com/openhab/openhab2-addons/pull/324))

View File

@ -1,68 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Freebox Binding
This binding integrates the [Freebox Revolution](http://www.free.fr/adsl/freebox-revolution.html) to your openHab installation.
## Binding configuration
The binding will use the default address used by Free to access your Freebox Server (mafreebox.freebox.fr).
## Authentication
You'll have to authorise openHAB to connect to your Freebox. Here is the process described :
**Step 1** At binding startup, if no token is recorded in the Item configuration, the following message
will be displayed in the OSGi console :
```
####################################################################
# Please accept activation request directly on your freebox #
# Once done, record Apptoken in the Freebox Item configuration #
# bEK7a7O8GkxxxxxxxxxxXBsKu/xxxttttwj5bXSssd5gUvSXs4vrpuhZwelEo804 #
####################################################################
```
**Step 2** Run to your Freebox and approve the pairing request for openHAB Freebox Binding that is displayed on the Freebox screen
**Step 3** Record the apptoken in the Freebox Item configuration
**Optionally** you can log in your Freebox admin console to allocate needed rights to openhab
Once initialized, the Item will generate all available chanels.
## Channels
* fwversion
* uptime
* restarted
* tempcpum
* tempcpub
* tempswitch
* fanspeed
* reboot
* lcd_brightness
* lcd_orientation
* lcd_forced
* wifi_status
* xdsl_status
* line_status
* ipv4
* rate_up
* rate_down
* bytes_up
* bytes_down
* onhook
* ringing
* call_number
* call_duration
* call_timestamp
* call_status
* call_name

View File

@ -1,98 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# FS Internet Radio Binding
This binding integrates internet radios based on the [Frontier Silicon chipset](http://www.frontier-silicon.com/).
## Supported Things
Successfully tested are internet radios [Hama IR100](https://de.hama.com/00054823/hama-internetradio-ir110), [Medion MD87180](http://internetradio.medion.com/), and [MEDION MD86988](http://internetradio.medion.com/).
But in principle, all internet radios based on the [Frontier Silicon chipset](http://www.frontier-silicon.com/) should be supported because they share the same API.
## Discovery
The radios are discovered through UPnP in the local network.
If your radio is not discovered, please try to access its API via: `http://<radio-ip>/fsapi/CREATE_SESSION?pin=1234` (1234 is default pin, if you get a 403 error, check the radio menu for the correct pin).
If you get a result like `FS_OK 1902014387`, your radio is supported.
If this is the case, please [add your model to this documentation](https://github.com/eclipse/smarthome/edit/master/extensions/binding/org.eclipse.smarthome.binding.fsinternetradio/README.md) and provide discovery information [in this thread](https://community.openhab.org/t/internet-radio-i-need-your-help/2131).
## Binding Configuration
The binding itself does not need a configuration.
## Thing Configuration
Each radio must be configured via its ip address, port, pin, and a refresh rate.
* If the ip address is not discovered automatically, it must be manually set.
* The default port is `80` which should work for most radios.
* The default pin is `1234` for most radios, but if it does not work or if it was changed, look it up in the on-screen menu of the radio.
* The default refresh rate for the radio items is `60` seconds; `0` disables periodic refresh.
## Channels
All devices support some of the following channels:
| Channel Type ID | Item Type | Description | Access |
|-----------------|-----------|-------------|------- |
| power | Switch | Switch the radio on or off | R/W |
| volume-percent | Dimmer | Radio volume (min=0, max=100) | R/W |
| volume-absolute | Number | Radio volume (min=0, max=32) | R/W |
| mute | Switch | Mute the radio | R/W |
| mode | Number | The radio mode, e.g. FM radio, internet radio, AUX, etc. (model-specific, see list below) | R/W |
| preset | Number | Preset radio stations configured in the radio (write-only) | W |
| play-info-name | String | The name of the current radio station or track | R |
| play-info-text | String | Additional information e.g. of the current radio station | R |
The radio mode depends on the internet radio model (and probably its firmware version):
| Radio mode | Hama IR110 | Medion MD87180 | Medion MD 86988 |
|------------|------------|----------------|-----------------|
| 0 | Internet Radio | Internet Radio | Internet Radio |
| 1 | Spotify | Music Player (USB, LAN) | Music Player |
| 2 | Player | DAB Radio | FM Radio |
| 3 | AUX in | FM Radio | AUX in |
| 4 | - | AUX in | - |
## Full Example
demo.things:
```
fsinternetradio:radio:radioInKitchen [ ip="192.168.0.42" ]
```
demo.items:
```
Switch RadioPower "Radio Power" { channel="fsinternetradio:radio:radioInKitchen:power" }
Switch RadioMute "Radio Mute" { channel="fsinternetradio:radio:radioInKitchen:mute" }
Dimmer RadioVolume "Radio Volume" { channel="fsinternetradio:radio:radioInKitchen:volume-percent" }
Number RadioMode "Radio Mode" { channel="fsinternetradio:radio:radioInKitchen:mode" }
Number RadioPreset "Radio Stations" { channel="fsinternetradio:radio:radioInKitchen:preset" }
String RadioInfo1 "Radio Info1" { channel="fsinternetradio:radio:radioInKitchen:play-info-name" }
String RadioInfo2 "Radio Info2" { channel="fsinternetradio:radio:radioInKitchen:play-info-text" }
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame {
Switch item=RadioPower
Slider visibility=[RadioPower==ON] item=RadioVolume
Switch visibility=[RadioPower==ON] item=RadioMute
Selection visibility=[RadioPower==ON] item=RadioPreset mappings=[0="Favourit 1", 1="Favourit 2", 2="Favourit 3", 3="Favourit 4"]
Selection visibility=[RadioPower==ON] item=RadioMode mappings=[0="Internet Radio", 1="Musik Player", 2="DAB", 3="FM", 4="AUX"]
Text visibility=[RadioPower==ON] item=RadioInfo1
Text visibility=[RadioPower==ON] item=RadioInfo2
}
}
```

View File

@ -1,85 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Logitech Harmony Hub Binding
The Harmony Hub binding is used to enable communication between openHAB2 and multiple Logitech Harmony Hub devices. The API exposed by the Harmony Hub is relatively limited, but it does allow for reading the current activity as well as setting the activity and sending device commands.
##Overview
The Harmony binding represents a "Hub" as a bridge thing type and "Devices" as things connected to the bridge.
###Hub
A hub (bridge thing) represents a physical Harmony Hub. The hub possesses a single channel with the id "activity" which is a StringType set to the name of the current activity. This channel is dynamically generated with the possible activity strings listed as channel state options.
### Devices
Devices are dynamically created. There is a single device thing for every physical device configured on the harmony hub. Each device has a single channel with the id "button" which sends a string with the name of the button to press on the device. This channel is dynamically generated with the possible button press strings listed as channel state options.
## Discovery
The Harmony binding will automatically find all Harmony Hubs on the local network and add them to the inbox. Once a Hub has been added, any connected devices will also added to the Inbox.
## Binding Configuration
The binding requires no special configuration
## Thing Configuration
This is optional, it is recommended to let the binding discover and add hubs and devices.
To manually configure a Harmony Hub thing you may specify its name ("name") as well as an optional search timeout value in seconds ("discoveryTimeout") .
In the thing file, this looks e.g. like
```
Bridge harmonyhub:hub:GreatRoom [ name="Great Room"]
```
To manually configure a Harmony device thing you may specify its numeric id ("id") or its name ("name"), but not both. Note that this is prefixed by the hub the device is controlled from.
In the thing file, this looks e.g. like
```
Bridge harmonyhub:hub:great [ name="Great Room"] {
device denon [ name="Denon AV Receiver"]
}
```
or
```
Bridge harmonyhub:hub:great [ name="Great Room"] {
device denon [ id=176254]
}
```
## Channels
Hubs can report and change the current activity:
items:
```
String HarmonyGreatRoomActivity "Current Activity [%s]" (gMain) { channel="harmonyhub:hub:GreatRoom:activity" }
```
Devices can send button presses
```
String HarmonyGreatRoomDenon "Denon Button Press" (gMain) { channel="harmonyhub:device:GreatRoom:29529817:buttonPress" }
```
## Example Sitemap
Using the above things channels and items
Sitemap:
```
sitemap demo label="Main Menu" {
Frame {
Switch item=HarmonyGreatRoomActivity mappings=[PowerOff="PowerOff", TIVO="TIVO", Music="Music","APPLE TV"="APPLE TV", NETFLIX="NETFLIX"]
Switch item=HarmonyGreatRoomDenon mappings=["Volume Up"="Volume Up","Volume Down"="Volume Down"]
}
}
```

View File

@ -1,259 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Homematic Binding
This is the binding for the [eQ-3 Homematic Solution](http://www.eq-3.de/).
This binding allows you to integrate, view, control and configure all Homematic devices in the openHAB environment.
## Supported Bridges
All gateways which provides the Homematic BIN- or XML-RPC API:
- CCU 1+2
- [Homegear](https://www.homegear.eu)
- [LXCCU](http://www.lxccu.com)
- [Windows BidCos service](http://www.eq-3.de/downloads.html?kat=download&id=125)
- [OCCU](https://github.com/eq-3/occu)
The Homematic IP Access Point does not support this API and can't be used with this binding. But you can control Homematic IP devices with a CCU2 with at least firmware 2.17.15.
These ports are used by the binding by default:
RF components: 2001
WIRED components: 2000
HMIP components: 2010
CUxD: 8701
TclRegaScript: 8181
**Note:** The binding tries to identify the gateway with XML-RPC and uses henceforth:
- BIN-RPC for a Homegear gateway
- BIN-RPC for a gateway NOT supporting Homematic IP
- XML-RPC for a gateway supporting Homematic IP (Homematic IP does not support BIN-RPC)
## Supported Things
All devices connected to a Homematic gateway. All required openHAB metadata are generated during device discovery. With Homegear or a CCU, variables and scripts are supported too.
## Discovery
Gateway discovery is only available for Homegear, you need at least 0.6.x for gateway discovery. For all other gateways you have to manually add a bridge in a things file.
Device discovery is supported for all gateways.
The binding has a gateway type autodetection, but sometimes a gateway does not clearly notify the type. If you are using a LXCCU for example, you have to manually set the gateway type in the bride configuration to CCU.
If autodetection can not identify the gateway, the binding uses the default gateway implementation. The difference is, that variables, scripts and device names are not supported, everything else is the same.
## Bridge Configuration
There are several settings for a bridge:
- **gatewayAddress** (required)
Network address of the Homematic gateway
- **gatewayType**
Hint for the binding to identify the gateway type (auto|ccu) (default = auto)
- **callbackHost**
Callback network address of the openHAB server, default is auto-discovery
- **callbackPort**
Callback port of the openHAB server, default is 9125 and counts up for each additional bridge
- **aliveInterval**
The interval in seconds to check if the communication with the Homematic gateway is still alive. If no message receives from the Homematic gateway, the RPC server restarts (default = 300)
- **reconnectInterval**
The interval in seconds to force a reconnect to the Homematic gateway, disables aliveInterval! (0 = disabled, default = disabled)
If you have no sensors which sends messages in regular intervals and/or you have low communication, the aliveInterval may restart the connection to the Homematic gateway to often. The reconnectInterval disables the aliveInterval and reconnects after a fixed period of time.
Think in hours when configuring (one hour = 3600)
- **timeout**
The timeout in seconds for connections to a Homematic gateway (default = 15)
- **socketMaxAlive**
The maximum lifetime of a pooled socket connection to the Homematic gateway in seconds (default = 900)
- **rfPort**
The port number of the RF daemon (default = 2001)
- **wiredPort**
The port number of the HS485 daemon (default = 2000)
- **hmIpPort**
The port number of the HMIP server (default = 2010)
- **cuxdPort**
The port number of the CUxD daemon (default = 8701)
The syntax for a bridge is:
```
homematic:bridge:NAME
```
- **homematic** the binding id, fixed
- **bridge** the type, fixed
- **name** the name of the bridge
#### Example
- minimum configuration
```
Bridge homematic:bridge:ccu [ gatewayAddress="..."]
```
- with callback settings
```
Bridge homematic:bridge:ccu [ gatewayAddress="...", callbackHost="...", callbackPort=... ]
```
- multiple bridges
```
Bridge homematic:bridge:lxccu [ gatewayAddress="..."]
Bridge homematic:bridge:occu [ gatewayAddress="..."]
```
## Thing Configuration
Things are all discovered automatically, you can handle them in PaperUI.
If you really like to manually configure a thing:
```
Bridge homematic:bridge:ccu [ gatewayAddress="..." ]
{
Thing HM-LC-Dim1T-Pl-2 JEQ0999999
}
```
The first parameter after Thing is the device type, the second the serial number. If you are using Homegear, you have to add the prefix ```HG-``` for each type.
```
Thing HG-HM-LC-Dim1T-Pl-2 JEQ0999999
```
This is necessary, because the Homegear devices supports more datapoints than Homematic devices.
### Items
In the items file, you can map the datapoints, the syntax is:
```
homematic:TYPE:BRIDGE:SERIAL:CHANNELNUMBER#DATAPOINTNAME
```
* **homematic:** the binding id, fixed
* **type:** the type of the Homematic device
* **bridge:** the name of the bridge
* **serial:** the serial number of the Homematic device
* **channelnumber:** the channel number of the Homematic datapoint
* **datapointname:** the name of the Homematic datapoint
```
Switch RC_1 "Remote Control Button 1" { channel="homematic:HM-RC-19-B:ccu:KEQ0099999:1#PRESS_SHORT" }
Dimmer Light "Light [%d %%]" { channel="homematic:HM-LC-Dim1T-Pl-2:ccu:JEQ0555555:1#LEVEL" }
```
**Note:** don't forget to add the ```HG-``` type prefix for Homegear devices
## Virtual device and datapoints
The binding supports one virtual device and some virtual datapoints. Virtual datapoints are generated by the binding and provides special functionality.
#### GATEWAY-EXTRAS
The GATEWAY-EXTRAS is a virtual device which contains a switch to reload all values from all devices and also a switch to put the gateway in the install mode to add new devices. If the gateway supports variables and scripts, you can handle them with this device too
The type is generated: GATEWAY-EXTRAS-[BRIDGE_ID]. Example: bridgeId=ccu, type=GATEWAY-EXTRAS-CCU
Address: fixed GWE00000000
#### RELOAD_ALL_FROM_GATEWAY
A virtual datapoint (Switch) to reload all values for all devices, available in channel 0 in GATEWAY-EXTRAS
#### INSTALL_MODE
A virtual datapoint (Switch) to start the install mode on the gateway, available in channel 0 in GATEWAY-EXTRAS
#### INSTALL_MODE_DURATION
A virtual datapoint (Integer) to hold the duration for the install mode, available in channel 0 in GATEWAY-EXTRAS (max 300 seconds, default = 60)
#### DELETE_MODE
A virtual datapoint (Switch) to remove the device from the gateway, available in channel 0 for each device. Deleting a device is only possible if DELETE_DEVICE_MODE is not LOCKED
#### DELETE_DEVICE_MODE
A virtual datapoint (Enum) to configure the device deletion with DELETE_MODE, available in channel 0 for each device
* **LOCKED:** (default) device can not be deleted
* **RESET:** device is reset to factory settings before deleting
* **FORCE:** device is also deleted if it is not reachable
* **DEFER:** if the device can not be reached, it is deleted at the next opportunity
**Note:** if you change the value and don't delete the device, the virtual datapoints resets to LOCKED after 30 seconds
#### ON_TIME_AUTOMATIC
A virtual datapoint (Number) to automatically set the ON_TIME datapoint before the STATE or LEVEL datapoint is sent to the gateway, available for all devices which supports the ON_TIME datapoint
This is usefull to automatically turn off the datapoint after the specified time
#### DISPLAY_OPTIONS
A virtual datapoint (String) to control the display of a 19 button Homematic remote control (HM-RC-19), available on channel 18
The remote control display is limited to five characters, a longer text is truncated.
You have several additional options to control the display.
* BEEP _(TONE1, TONE2, TONE3)_ - let the remote control beep
* BACKLIGHT _(BACKLIGHT_ON, BLINK_SLOW, BLINK_FAST)_ - control the display backlight
* UNIT _(PERCENT, WATT, CELSIUS, FAHRENHEIT)_ - display one of these units
* SYMBOL _(BULB, SWITCH, WINDOW, DOOR, BLIND, SCENE, PHONE, BELL, CLOCK, ARROW_UP, ARROW_DOWN)_ - display symbols, multiple symbols possible
You can combine any option, they must be separated by a comma. If you specify more than one option for BEEP, BACKLIGHT and UNIT, only the first one is taken into account and all others are ignored. For SYMBOL you can specify multiple options.
**Examples:**
Assumed you mapped the virtual datapoint to a String item called Display_Options
```
String Display_Options "Display_Options" { channel="homematic:HM-RC-19-B:ccu:KEQ0099999:18#DISPLAY_OPTIONS" }
```
show message TEST:
```
smarthome send Display_Options "TEST"
```
show message TEXT, beep once and turn backlight on:
```
smarthome send Display_Options "TEXT, TONE1, BACKLIGHT_ON"
```
show message 15, beep once, turn backlight on and shows the celsius unit:
```
smarthome send Display_Options "15, TONE1, BACKLIGHT_ON, CELSIUS"
```
show message ALARM, beep three times, let the backlight blink fast and shows a bell symbol:
```
smarthome send Display_Options "ALARM, TONE3, BLINK_FAST, BELL"
```
Duplicate options: TONE3 is ignored, because TONE1 is specified previously.
```
smarthome send Display_Options "TEXT, TONE1, BLINK_FAST, TONE3"
```
### Troubleshooting
**SHORT & LONG_PRESS events of push buttons do not occur on the event bus**
It seems buttons like the HM-PB-2-WM55 do just send these kind of events to the CCU if they are mentioned in a CCU program. A simple workaround to make them send these events is, to create a program (rule inside the CCU) that does just have a "When" part and no "Then" part, in this "When" part each channel needs to be mentioned at least once. As the HM-PB-2-WM55 for instance has two channels, it is enough to mention the SHORT_PRESS event of channel 1 & 2. The LONG_PRESS events will work automatically as they are part of the same channels. After the creation of this program, the button device will receive configuration data from the CCU which have to be accepted by pressing the config-button at the back of the device.
**INSTALL_TEST**
If a button is still not working and you do not see any PRESS_LONG / SHORT in your log file (loglevel DEBUG), it could be because of enabled security. Try to disable security of your buttons in the HomeMatic Web GUI and try again. If you can't disable security try to use key INSTALL_TEST which gets updated to ON for each key press
**-1 Failure**
A device may return this failure while fetching the datapoint values. I've tested pretty much but i did not found the reason. The HM-ES-TX-WM device for example always returns this failure, it's impossible with the current CCU2 firmware (2.17.15) to fetch the values. I've implemented two workarounds, if a device returns the failure, workaround one is executed, if the device still returns the failure, workaround two is executed. This always works in my tests, but you may see a OFFLINE, ONLINE cycle for the device.
Fetching values is only done at startup or if you trigger a REFRESH. I hope this will be fixed in one of the next CCU firmwares.
With [Homegear](https://www.homegear.eu) everything works as expected.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -1,84 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Philips Hue Binding
This binding integrates the [Philips Hue Lighting system](http://www.meethue.com).
The integration happens through the Hue bridge, which acts as an IP gateway to the ZigBee devices.
![Philips Hue](doc/hue.jpg)
## Supported Things
The Hue bridge is required as a "bridge" for accessing any other Hue devies.
Almost all available Hue devices are supported by this binding. This includes not only the "friends of Hue", but also products like the LivingWhites adapter. Additionally, it is possible to use Osram Lightify bulbs as well as other ZigBee LightLink compatible products like e.g. the [GE bulb](http://gelinkbulbs.com/). Please note that the devices need to be registered with the Hue bridge before it is possible for this binding to use them.
## Discovery
The Hue bridge is discovered through UPnP in the local network. Once it is added as a Thing, its authentication button (in the middle) needs to be pressed in order to authorize the binding to access it. Once the binding is authorized, it automatically reads all devices that are set up on the Hue bridge and puts them in the Inbox.
## Thing Configuration
The Hue bridge requires the ip address as a configuration value in order for the binding to know where to access it.
In the thing file, this looks e.g. like
```
Bridge hue:bridge:1 [ ipAddress="192.168.0.64" ]
```
A user to authenticate against the Hue bridge is automatically generated. Please note that the generated user name cannot be written automatically to the .thing file, and has to be set manually. The generated user name can be found in the log files after pressing the authentication button on the bridge.
The user name can be set using the `userName` configuration value, e.g.:
```
Bridge hue:bridge:1 [ ipAddress="192.168.0.64", userName="qwertzuiopasdfghjklyxcvbnm1234" ]
```
The bulbs are identified by the number that the Hue bridge assigns to them (also shown in the Hue app as an identifier).
Thus, all if needs for manual configuration is this single value like
```
LCT001 bulb1 [ lightId="1" ]
```
## Channels
All devices support some of the following channels:
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| color | Color | This channel supports full color control with hue, saturation and brightness values. |
| brightness | Dimmer | This channel supports adjusting the brightness value. Note that this is not available, if the color channel is supported. |
| color_temperature | Dimmer | This channel supports adjusting the color temperature from cold (0%) to warm (100%) |
## Full Example
demo.things:
```
Bridge hue:bridge:1 [ ipAddress="192.168.0.64" ] {
LCT001 bulb1 [ lightId="1" ]
ZLL_Light geBulb [ lightId="2" ]
}
```
demo.items:
```
Color Light { channel="hue:LCT001:1:bulb1:color" }
Dimmer Light_ColorTemp { channel="hue:LCT001:1:bulb1:color_temperature" }
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame {
Colorpicker item=Light
Slider item=Light_ColorTemp
}
}
```

View File

@ -1,37 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# IPP Binding
This binding integrates printers, which implement the Internet Printing protocol (IPP). This is the successor of the CUPS binding.
The main purpose is to check if there are waiting print jobs on a printer, which can be switched on in this case.
## Supported Things
The binding has been tested against a CUPS Server (which implements the Internet Printing Protocol).
So all printers in a CUPS envorinment should work fine. Many network printers also use IPP,
but there are many differencies on which parts of IPP are supported, is is not guaranteed, that every printer will work.
## Discovery
The printers are discovered through mDNS in the local network. As mentioned before: a printer may be discoverable but not
usable by the binding.
## Thing Configuration
## Channels
All devices support some of the following channels:
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| jobs | Number | Total number of print jobs on the printer |
| waitingJobs | Number | Number of waiting print jobs on the printer |
| doneJobs | Number | Number of completed print jobs on the printer |
## Full Example

View File

@ -1,95 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Keba Binding
This binding integrates the [Keba KeContact EV Charging Stations](http://www.keba.com).
## Supported Things
Currently the Keba KeContact P20 stations are supported by this binding.
## Binding Configuration
The binding uses the default UDP port number to connect to the Keba Charging Station. So, no special configuration of the binding itself is required.
## Thing Configuration
The Keba KeContact P20 requires the ip address as a configuration value in order for the binding to know where to access it. Optionally, a refresh interval (in seconds) can be defined that steers the polling of the actual state of the charging station
In the thing file, this looks e.g. like
```
Thing keba:kecontactp20:1 [ ipAddress="192.168.0.64", refreshInterval=30 ]
```
the refreshInterval can optinally be used in combination with ```autoupdate="false"``` in the .items file so that the Items are updated with the latest actual value sent by the charging station
## Channels
All devices support the following channels (non exhaustive):
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| state | Number | This channel indicates the current operational state of the wallbox |
| maxpresetcurrent | Number | This channel supports adjusting the maximim current the charging station should deliver to the EV |
| power | Number | This channel indicates the active power delivered by the charging station |
| I1/2/3 | Number | This channel indicates the current for the given phase |
| U1/2/3 | Number | This channel indicates the voltage for the given phase |
## Full Example
demo.Things:
```
Thing keba:kecontactp20:1 [ipAddress="192.168.0.64", refreshInterval=30]
```
demo.items:
```
Dimmer KebaCurrentRange {channel="keba:kecontactp20:1:maxpresetcurrentrange", autoupdate="false"}
Number KebaCurrent {channel="keba:kecontactp20:1:maxpresetcurrent", autoupdate="false"}
Number KebaSystemCurrent {channel="keba:kecontactp20:1:maxsystemcurrent"}
Number KebaFailSafeCurrent {channel="keba:kecontactp20:1:failsafecurrent"}
String KebaState {channel="keba:kecontactp20:1:state"}
Switch KebaSwitch {channel="keba:kecontactp20:1:enabled", autoupdate="false"}
Switch KebaWallboxPlugged {channel="keba:kecontactp20:1:wallbox"}
Switch KebaVehiclePlugged {channel="keba:kecontactp20:1:vehicle"}
Switch KebaPlugLocked {channel="keba:kecontactp20:1:locked"}
DateTime KebaUptime "Uptime [%1$tY Y, %1$tm M, %1$td D, %1$tT]" {channel="keba:kecontactp20:1:uptime"}
Number KebaI1 {channel="keba:kecontactp20:1:I1"}
Number KebaI2 {channel="keba:kecontactp20:1:I2"}
Number KebaI3 {channel="keba:kecontactp20:1:I3"}
Number KebaU1 {channel="keba:kecontactp20:1:U1"}
Number KebaU2 {channel="keba:kecontactp20:1:U2"}
Number KebaU3 {channel="keba:kecontactp20:1:U3"}
Number KebaPower {channel="keba:kecontactp20:1:power"}
Number KebaSessionEnergy {channel="keba:kecontactp20:1:sessionconsumptio"}
Number KebaTotalEnergy {channel="keba:kecontactp20:1:totalconsumption"}
Switch KebaInputSwitch {channel="keba:kecontactp20:1:input"}
Switch KebaOutputSwitch {channel="keba:kecontactp20:1:output"}
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Text label="Charging Station" {
Text item=KebaState label="Operating State [%s]"
Text item=KebaUptime
Switch item=KebaSwitch label="Enabled" mappings=[ON=ON, OFF=OFF ]
Switch item=KebaWallboxPlugged label="Plugged into wallbox" mappings=[ON=ON, OFF=OFF ]
Switch item=KebaVehiclePlugged label="Plugged into vehicle" mappings=[ON=ON, OFF=OFF ]
Switch item=KebaPlugLocked label="Plug locked" mappings=[ON=ON, OFF=OFF ]
Slider item=KebaCurrentRange switchSupport label="Maximum supply current [%.1f %%]"
Text item=KebaCurrent label="Maximum supply current [%.0f mA]"
Text item=KebaSystemCurrent label="Maximum system supply current [%.0f mA]"
Text item=KebaFailSafeCurrent label="Failsafe supply current [%.0f mA]"
Text item=KebaSessionEnergy label="Energy during current session [%.0f Wh]"
Text item=KebaTotalEnergy label="Energy during all sessions [%.0f Wh]"
}
}
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 188 KiB

View File

@ -1,49 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Kostal inverter Binding
![LIFX E27](doc/kostalpico.jpg)
Scrapes the web interface of the inverter for the metrics of the supported channels below.
## Supported Things
Tested with Kostal Inverter Pico but might work with other inverters from kostal too.
## Discovery
None
## Channels
acPower
totalEnergy
dayEnergy
status
## Thing Configuration
demo.things
```
Thing kostalpico:kostalpico:inverter [ url="http://192.168.0.128" ]
```
If the thing goes online then the connection to the web interface is successful. In case
it is offline you should see an error message.
## Items
demo.items:
```
Number SolarPower "Solar power [%.2f Watt]" <energy> (gGF) { channel="kostalpico:kostalpico:inverter:acPower" }
Number SolarEnergyDay "Solar day energy[%.2f kwh]" <energy> (gGF) { channel="kostalpico:kostalpico:inverter:dayEnergy" }
Number SolarTotalEnergy "Solar total energy[%.2f kwh]" <energy> (gGF) { channel="kostalpico:kostalpico:inverter:totalEnergy" }
String SolarStatus "Solar status [%s]" <energy> (gGF) { channel="kostalpico:kostalpico:inverter:status" }
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@ -1,65 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# LIFX Binding
This binding integrates the [LIFX LED Bulb](http://www.lifx.com/). All LIFX bulbs are directly connected to the WLAN and the binding communicates with them over a UDP protocol.
![LIFX E27](doc/lifx_e27.jpg)
## Supported Things
The binding was mainly developed for the E27 original LIFX bulb. Other bulbs like the GU10 model are not tested, but should also be supported.
## Discovery
The binding is able to auto-discover all bulbs in a network over the LIFX UDP protocol. Therefore all bulbs must be turned on.
*Note:* To get the binding working, all bulbs must be added to the WLAN network first with the help of the [LIFX smart phone applications](http://www.lifx.com/pages/go). The binding is NOT able to add or detect bulbs outside the network.
## Thing Configuration
Each bulb needs the device ID as configuration parameter. The device ID is printed as serial number on the bulb and can also be found within the native LIFX Android or iOS application. But usually the discovery works quite reliable, so that a manual configuration is not needed.
However, in the thing file, a manual configuration looks e.g. like
```
Thing lifx:light:light1 [ deviceId="D073D5010E20" ]
```
## Channels
The bulb only supports the color channel:
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| color | Color | This channel supports full color control with hue, saturation and brightness values. |
## Full Example
demo.things:
```
Thing lifx:light:light1 [ deviceId="D073D5010E20" ]
```
demo.items:
```
Color Light { channel="lifx:light:light1:color" }
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame {
Colorpicker item=Light
}
}
```

View File

@ -1,91 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Lutron Binding
This binding integrates with [Lutron](http://www.lutron.com) light control systems.
**Note:** while the integration protocol should be largely similar with other Lutron systems such as Homeworks QS, this binding has only been tested with RadioRa 2.
## Supported Things
This binding currently supports the following thing types:
* dimmer
* switch
* keypad
* occupancysensor
## Discovery
This binding does not support discovery.
## Binding Configuration
This binding does not require any special configuration.
## Thing Configuration
The bridge requires the IP address of the bridge as well as the telnet username and password to log in to the bridge.
```
Thing lutron:ipbridge:radiora2 [ ipAddress="192.168.1.2", user="lutron", password="integration" ]
```
Each Lutron thing requires the integration ID of the corresponding item in the Lutron system. The integration IDs can be retrieved from the integration report generated by the Lutron software. Dimmers can optionally be configured to specify a fade in and fade out time in seconds. In the thing file, this looks e.g. like
```
Thing lutron:dimmer:livingroom (lutron:ipbridge:radiora2) [ integrationId=8, fadeInTime=0.5, fadeOutTime=5 ]
```
## Channels
The following channels are supported:
| Thing Type | Channel Type ID | Item Type | Description |
|-----------------|-------------------|--------------|--------------------------------------------- |
| dimmer | lightlevel | Dimmer | Increase/decrease the light level |
| switch | switchstatus | Switch | On/off status of the switch |
| occupancysensor | occupancystatus | Switch | Occupancy status |
| keypad | button1 | Switch | Button to trigger a scene or rule |
| keypad | button2 | Switch | Button to trigger a scene or rule |
| keypad | button3 | Switch | Button to trigger a scene or rule |
| keypad | button4 | Switch | Button to trigger a scene or rule |
| keypad | button5 | Switch | Button to trigger a scene or rule |
| keypad | button6 | Switch | Button to trigger a scene or rule |
| keypad | button7 | Switch | Button to trigger a scene or rule |
| keypad | buttontopraise | Switch | Button to trigger a scene or rule |
| keypad | buttontoplower | Switch | Button to trigger a scene or rule |
| keypad | buttonbottomraise | Switch | Button to trigger a scene or rule |
| keypad | buttonbottomlower | Switch | Button to trigger a scene or rule |
| keypad | led1 | Switch | LED indicator for the associated button |
| keypad | led2 | Switch | LED indicator for the associated button |
| keypad | led3 | Switch | LED indicator for the associated button |
| keypad | led4 | Switch | LED indicator for the associated button |
| keypad | led5 | Switch | LED indicator for the associated button |
| keypad | led6 | Switch | LED indicator for the associated button |
| keypad | led7 | Switch | LED indicator for the associated button |
Currently there is only one keypad thing type to cover all keypads. Not all channels will be available on all keypads.
## Full Example
demo.Things:
```
lutron:dimmer:theater (lutron:ipbridge:radiora2) [ integrationId=8, fadeOutTime=2 ]
lutron:occupancysensor:theater (lutron:ipbridge:radiora2) [ integrationId=9 ]
lutron:keypad:theater (lutron:ipbridge:radiora2) [ integrationId=10 ]
```
demo.items:
```
Dimmer TheaterLights { channel="lutron:dimmer:theater:lightlevel" }
Switch TheaterMotion { channel="lutron:occupancysensor:theater:occupancystatus" }
Switch TheaterScene1 { channel="lutron:keypad:theater:button1" }
Switch TheaterScene2 { channel="lutron:keypad:theater:button2" }
```

View File

@ -1,135 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# MAX! Binding
This is the binding for the [eQ-3 MAX! Home Solution](http://www.eq-3.de/).
This binding allows you to integrate, view and control the MAX! Thermostats in the Openhab environment
## Supported Things
This binding support 6 different things types
| Thing | Type | Description |
|----------------|---------|-----------------------------------|
| bridge | Bridge | This is the MAX! Cube LAN gateway |
| thermostat | Thing | This is for the MAX! Heating Thermostat. This is also used for the powerplug switch "Zwischenstecker-Schaltaktor". |
| thermostatplus | Thing | This is for the MAX! Heating Thermostat+. This is the type that can hold the program by itself |
| wallthermostat | Thing | MAX! Wall Thermostat. |
| ecoswitch | Thing | MAX! Ecoswitch. |
| shuttercontact | Thing | MAX! Shuttercontact / Window Contact. |
Generally one does not have to worry about the thing types as they are automatically defined.
If for any reason you need to manually define the Things and you are not exactly sure what type of thermostat you have, you can choose `thermostat` for both the thermostat and thermostat+, this will not affect their working.
## Discovery
The discovery process for the MAX! binding works in 2 steps.
When the binding is started or when manually triggered, the network is queried for the existence of a MAX! Cube lan gateway. When the Cube is found, it will become available in the discovery inbox. Periodically the network is queried again for a Cube.
Once the Cube is available in Openhab, all the devices connected to it are discovered and added to the discovery inbox. No scan is needed to trigger this.
## Binding Configuration
In the Openhab2 version of this binding there are no binding wide settings.
All the configuration settings are now per MAX! Cube, hence in case you have multiple Cubes, they can run with alternative settings.
## Thing Configuration
All the things are identified by their Serial number, hence this is mandatory.
The Cube (`bridge` thing) also requires the IP address to be defined.
All other configuration is optional.
Note that several configuration options are automatically populated. Later versions of the binding may allow you to update this information. These properties can be found in the `Device Settings` section of parameters.
## Channels
Depending on the thing it supports different Channels
| Channel Type ID | Item Type | Description |
|------------------|------------------------|--------------|----------------- |------------- |
| mode | String | This channel indicates the mode of a thermostat |
| battery_low | Switch | This channel indicates if the device battery is low |
| set_temp | Number | This channel indicates the sets temperature of a thermostat. |
| actual_temp | Number | This channel indicates the measured temperature of a thermostat. see below for more details|
| valve | Number | This channel indicates the valve opening in %. Note this is an advaned setting, normally not visible |
| contact_state | Contact | This channel indicates the contact state for a shutterswitch |
| free_mem | Number |This channel indicates the free available memory on the cube to hold send commands. Note this is an advanced setting, normally not visible |
| duty_cycle | Number | This channel indicates the duty cycle (due to regulatory compliance reasons the cube is allowed only to send for a limited time. Duty cycle indicates how much of the available time is consumed) Note this is an advanced setting, normally not visible. |
## Full Example
In most cases no Things need to be defined manually. In case your Cube can't be discovered you need a `max:bridge` definition incl the right IP address of the Cube. Only in exceptional cases you would need to define the thermostats etc.
max.things:
```
Bridge max:bridge:KEQ0565026 [ ipAddress="192.168.3.9", serialNumber="KEQ0565026" ]
max:thermostat:KEQ0565026 [ serialNumber="KEQ0565123" ]
```
max.items:
```
Group gMAX "MAX Heating" <temperature> [ "home-group" ]
Switch maxBattery "Battery Low" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ0648949:battery_low"}
String maxMode "Thermostat Mode Setting" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ0648949:mode"}
Number maxActual "Actual measured room temperature [%.1f <20>C]" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ0648949:actual_temp"}
Number maxSetTemp "Thermostat temperature setpoint [%.1f <20>C]" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ0648949:set_temp"}
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame label="MAX Heating System" {
Switch item=maxMode icon="climate" mappings=[AUTOMATIC=AUTOMATIC, MANUAL=MANUAL, BOOST=BOOST]
Setpoint item=maxSetTemp minValue=4.5 maxValue=32 step=0.5 icon="temperature"
Text item=maxActual icon="temperature"
Switch item=maxBattery
}
}
```
## Actual Temperature Update
Please be aware that the actual temperature measure for thermostats is only updated after the valve moved position or the thermostats mode has changed. Hence the temperature you see may be hours old. In that case you can update the temperature by changing the mode, wait approx. 2 minutes and change the mode back.
There is an experimental mode that does this automatically. This can be enabled by showing the "advanced settings"(e.g. in Habmin UI. Than the "Actual Temperature Refresh Rate" can be set. Minimum refresh rate once/10 minutes, recommended 60min to avoid excessive battery drain.
## New Device Inclusion
When clicking the discovery button for MAX! devices manually in the UI, you will start New Device Inclusion mode for 60s. During this time holding the _boost_ button on your device will link it to the Cube.
## Device configuration
In the _Configuration Parameters_ section of the device things you can update some of the device configuration parameters. Currently the following parameters can be updated:
* _name_ Name of the thermostat stored in the Cube (also used by the eq3 software).
_Cube device configurable parameters_
* _ntpServer1_ The hostname for NTP Server 1 used by the Cube to get the time
* _ntpServer2_ The hostname for NTP Server 2 used by the Cube to get the time
## Action Buttons (visible in Habmin)
In the Habmin thing configuration screen several action buttons are available to trigger special actions on the Cube
* _Reset Cube Configuration_. This resets the MAX! Cube room and device information. Devices will need to be included again! To use this button you need to enable 'Advanced settings'
* _Restart Cube_, triggers the reboot of a Cube. This can be used if a Cube became unresponsive to commands or no connection can be made. (e.g. if you tried to connect to the Cube with multiple applications at the same time)
On the MAX! devices you can trigger the following action
* _Delete Device from Cube_. Deletes the device from the MAX! Cube. Device will need to be included again! To use this button you need to enable 'Advanced settings'
Note: In PaperUI there are no action buttons. You can trigger these actions changing from 'No Action' in the dropdown to the action value.

View File

@ -1,274 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Netatmo Binding
The Netatmo binding integrates the following Netatmo products :
- *Personal Weather Station*. Reports temperature, humidity, air pressure, carbon dioxide concentration in the air, as well as the ambient noise level.
- *Thermostat*. Reports ambient temperature, allow to check target temperature, consult and change furnace heating status.
See http://www.netatmo.com/ for details on their product.
## Binding Configuration
The binding has no configuration options itself, all configuration is done at 'Things' level but before, you'll have to grant openHab to access Netatmo API. Here is the procedure :
### 1. Application creation
Create an application at https://dev.netatmo.com/dev/createapp
The variables you'll need to get to setup the binding are:
* `<CLIENT_ID>` Your client ID taken from your App at https://dev.netatmo.com/dev/listapps
* `<CLIENT_SECRET>` A token provided along with the `<CLIENT_ID>`.
* `<USERNAME>` The username you use to connect to the Netatmo API (usually your mail address).
* `<PASSWORD>` The password attached to the above username.
## 2.Bridge and Things Configuration
Once you'll get needed informations from the Netatmo API, you'll be able to configure bridge and things.
E.g.
```
Bridge netatmo:netatmoapi:home [ clientId="<CLIENT_ID>", clientSecret="<CLIENT_SECRET>", username = "<USERNAME>", password = "<PASSWORD>", readStation=true|false, readThermostat=true|false] {
Thing NAMain inside [ equipmentId="aa:aa:aa:aa:aa:aa", [refreshInterval=60000] ]
Thing NAModule1 outside [ equipmentId="yy:yy:yy:yy:yy:yy", parentId="aa:aa:aa:aa:aa:aa" ]
Thing NAPlug plugtherm [ equipmentId="bb:bb:bb:bb:bb:bb", [refreshInterval=60000] ]
Thing NATherm1 thermostat [ equipmentId="xx:xx:xx:xx:xx:xx", parentId="bb:bb:bb:bb:bb:bb" ]
...
}
```
### Configure Things
The IDs for the modules can be extracted from the developer documentation on the netatmo site.
First login with your user. Then some examples of the documentation contain the **real results** of your weather station. Get the IDs of your devices (indoor, outdoor, rain gauge) here:
```
https://dev.netatmo.com/doc/methods/devicelist
```
main_device is the ID of the "main device", the indoor sensor. This is equal to the MAC address of the Netatmo.
The other modules you can recognize by "module_name" and then note the "_id" which you need later.
**Another way to get the IDs is to calculate them:**
You have to calculate the ID for the outside module as follows: (it cannot be read from the app)
if the first serial character is "h": start with "02",
if the first serial character is "i": start with "03",
append ":00:00:",
split the rest into three parts of two characters and append with a colon as delimeter.
For example your serial number "h00bcdc" should end up as "02:00:00:00:bc:dc".
## Discovery
If you don't manually create things in the *.things file, the Netatmo Binding is able to discover automatically all depending modules and devices from Netatmo website.
## Channels
### Weather Station Main Indoor Device
Example item for the **indoor module**:
```
Number Netatmo_Indoor_CO2 "CO2" <carbondioxide> { channel = "netatmo:NAMain:home:inside:Co2" }
```
**Supported types for the indoor module:**
* Temperature
* Humidity
* Co2
* Pressure
* AbsolutePressure
* Noise
* WifiStatus
* Location
* TimeStamp
* HeatIndex
* Humidex
* Dewpoint
* DewpointDepression
* WifiStatus
* LastStatusStore
### Weather Station Outdoor module
Example item for the **outdoor module**
```
Number Netatmo_Outdoor_Temperature "Temperature" { channel = "netatmo:NAModule1:home:outside:Temperature" }
```
**Supported types for the outdoor module:**
* Temperature
* Humidity
* RfStatus
* BatteryVP
* TimeStamp
* Humidex
* HeatIndex
* Dewpoint
* DewpointDepression
* LastMessage
* LowBattery
### Weather Station Additional Indoor module
Example item for the **indoor module**
```
Number Netatmo_Indoor2_Temperature "Temperature" { channel = "netatmo:NAModule4:home:insidesupp:Temperature" }
```
**Supported types for the additional indoor module:**
* Co2
* Temperature
* Humidity
* RfStatus
* BatteryVP
* TimeStamp
* Humidex
* HeatIndex
* Dewpoint
* DewpointDepression
* LastMessage
* LowBattery
### Rain
Example item for the **rain gauge**
```
Number Netatmo_Rain_Current "Rain [%.1f mm]" { channel = "netatmo:NAModule3:home:rain:Rain" }
```
**Supported types for the rain guage:**
* Rain
* RfStatus
* BatteryVP
* LastMessage
* LowBattery
### Weather Station Wind module
Example item for the **wind module** :
```
Number Netatmo_Wind_Strength "Wind Strength [%.0f KPH]" { channel = "netatmo:NAModule2:home:wind:WindStrength" }
```
**Supported types for the wind module:**
* WindStrength
* WindAngle
* GustStrength
* GustAngle
* LastMessage
* LowBattery
* RfStatus
* BatteryVP
### Thermostat Relay Device
**Supported types for the thermostat relay device:**
* LastStatusStore
* WifiStatus
* Location
### Thermostat Module
**Supported types for the thermostat module:**
* Temperature
* SetpointTemperature
* SetpointMode
* BoilerOn
* BoilerOff
* TimeStamp
# Common problems
## Missing Certificate Authority
This version of the binding has been modified to avoid the need to impoort StartCom certificate in the local JDK certificate store.
```
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException:
PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
```
can be solved by installing the StartCom CA Certificate into the local JDK like this:
* Download the certificate from https://www.startssl.com/certs/ca.pem or use wget https://www.startssl.com/certs/ca.pem
* Then import it into the keystore (the password is "changeit")
```
$JAVA_HOME/bin/keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -alias StartCom-Root-CA -file ca.pem
```
If $JAVA_HOME is not set then run the command:
update-alternatives --list java
This should output something similar to:
/usr/lib/jvm/java-8-oracle/jre/bin/java
Use everything before /jre/... to set the JAVA_HOME environment variable:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
After you set the environment variable, try:
ls -l $JAVA_HOME/jre/lib/security/cacerts
If it's set correctly then you should see something similar to:
-rw-r--r-- 1 root root 101992 Nov 4 10:54 /usr/lib/jvm/java-8-oracle/jre/lib/security/cacerts
Now try and rerun the keytool command. If you didn't get errors, you should be good to go.
source: http://jinahya.wordpress.com/2013/04/28/installing-the-startcom-ca-certifcate-into-the-local-jdk/
alternative approach if above solution does not work:
```
sudo keytool -delete -alias StartCom-Root-CA -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit
```
download the certificate from https://api.netatmo.net to $JAVA_HOME/jre/lib/security/ and save it as api.netatmo.net.crt (X.509 / PEM)
```
sudo $JAVA_HOME/bin/keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -alias StartCom-Root-CA -file api.netatmo.net.crt
```
The password is "changeit".
# Sample data
If you want to evaluate this binding but have not got a Netatmo station yourself
yet, you can add the Netatmo office in Paris to your account:
http://www.netatmo.com/en-US/addguest/index/TIQ3797dtfOmgpqUcct3/70:ee:50:00:02:20
# Icons
The following icons are used by original Netatmo web app:
## Modules
http://my.netatmo.com/img/my/app/module_int.png
http://my.netatmo.com/img/my/app/module_ext.png
http://my.netatmo.com/img/my/app/module_rain.png
## Battery status
http://my.netatmo.com/img/my/app/battery_verylow.png
http://my.netatmo.com/img/my/app/battery_low.png
http://my.netatmo.com/img/my/app/battery_medium.png
http://my.netatmo.com/img/my/app/battery_high.png
http://my.netatmo.com/img/my/app/battery_full.png
## Signal status
http://my.netatmo.com/img/my/app/signal_verylow.png
http://my.netatmo.com/img/my/app/signal_low.png
http://my.netatmo.com/img/my/app/signal_medium.png
http://my.netatmo.com/img/my/app/signal_high.png
http://my.netatmo.com/img/my/app/signal_full.png
## Wifi status
http://my.netatmo.com/img/my/app/wifi_low.png
http://my.netatmo.com/img/my/app/wifi_medium.png
http://my.netatmo.com/img/my/app/wifi_high.png
http://my.netatmo.com/img/my/app/wifi_full.png

View File

@ -1,81 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Network Binding
This binding integrates a way to check whether a device is currently available on the network and the required ping time.
## Supported Things
Every device with an ip address in the local LAN is supported.
## Discovery
Network devices can be manually discovered by sending a PING to every IP on the network. This functionality should be used with caution, because it produces heavy load to the operating hardware. For this reason, the binding does not do an automatic background discovery, but discovery needs to be triggered manually.
## Thing Configuration
```
network:device:1 [ hostname="192.168.0.64", port="0", retry="1", timeout="5000", refresh_interval="60000", use_system_ping="false", dhcplisten="true" ]
```
- hostname: IP address or hostname of the device
- port: An open Port where the device can be accessed
- retry: After how many PING retries shall the device be stated as offline
- timeout: How long shall the PING wait for an answer
- refresh_interval: How often shall the device be checked
- use\_system\_ping: Uses the ping of the operating system, instead of the Java ping. Useful if the devices cannot be reached by the Java ping.
- dhcplisten: Listen for DHCP Request messages. If devices leave and reenter a network, they usually request their last IP address by a udp
broadcast message (DHCP, Message type Request). If we listen for those messages, we can make the status update more "real-time" and do not
have to wait for the next refresh cycle.
## Limitations
This binding uses ping packets, if port is set to 0, to detect the status of a device.
If you want to detect IoT devices, usually you have to configure them to support ping.
If you want to use "dhcplisten": Please make sure that the process which hosts this binding has elevated privileges for listening to sockets below port 1024.
For example by setting the **cap_net_bind_service** capability:
* __setcap 'cap_net_bind_service=+ep' /usr/bin/java__
* Check with: __getcap /usr/bin/java__
/usr/bin/java = cap_net_bind_service+ep
## Channels
All devices support some of the following channels:
| Channel Type ID | Item Type | Description |
|-----------------|--------------|----------------------------------------------- |
| online | Switch | This channel indicates whether a device is online or not |
| time | Number | This channel indicates the Ping time in milliseconds. Maybe 0 if no time is available. |
## Full Example
demo.Things:
```
network:device:1 [ hostname="192.168.0.64", port="0", retry="1", timeout="5000", refresh_interval="60000", use_system_ping="false", dhcplisten="true" ]
```
demo.items:
```
Switch MyDevice { channel="network:device:1:online" }
Number MyTime { channel="network:device:1:time" }
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame {
Switch item=MyDevice
Number item=MyTime
}
}
```

View File

@ -1,52 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# NTP Binding
The NTP binding is used for displaying the local date and time based update from an NTP server.
## Supported Things
This binding supports one ThingType: ntp
## Discovery
Discovery is used to place one default item in the inbox as convenient way to add a Thing for the local time.
## Binding Configuration
The binding has no configuration options, all configuration is done at Thing level.
## Thing Configuration
The things has a few configuration options:
| Option | Description |
|-----------------|--------------------------------------------------- |
| hostname | NTP host server, e.g. nl.pool.ntp.org |
| refreshInterval | Interval that new time updates are posted to the eventbus in seconds |
| refreshNtp | Number of updates between querying the NTP server (e.g. with refreshinterval = 60 (seconds) and refreshNtp = 30 the NTP server is queried each half hour. |
| timeZone | Timezone, can be left blank for using the default system one |
| locale | Locale, can be left blank for using the default system one |
## Channels
The ntp binding has only one channel `dateTime`
## Full Example
Things:
```
ntp:ntp:demo [ hostname="nl.pool.ntp.org", refreshInterval=60, refreshNtp=30 ]
```
Items:
```
DateTime Date "Date [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="ntp:ntp:demo:dateTime" }
```

View File

@ -1,137 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# OpenSprinkler Binding
This binding allows allows basic control of the OpenSprinkler and OpenSprinkler PI (Plus) devices. Stations can be controlled to be turned on or off and rain sensor state can be read.
## Supported Things
* OpenSprinkler using the HTTP API access on the network.
* OpenSprinkler PI (Plus) through the GPIO when openHAB is installed on the same Raspberry Pi used in the OpenSprinkler PI.
## Discovery
* OpenSprinkler devices can be manually discovered by sending a request to every IP on the network. Discovery needs to be run manually as this is a brute force method of finding devices that can saturate network or device available bandwidth.
## Thing Configuration
OpenSprinkler
```
opensprinkler:http:1 [ hostname="127.0.0.1", port="80", password="opendoor", refresh="60" ]
```
- hostname: Hostname or IP address of the OpenSprinkler HTTP API.
- port: Port the OpenSprinkler device is listening on. Usually 80.
- password: Admin password of the API. Factory default is: opendoor
- refresh: Number of seconds in between refreshing the Thing state with the API.
OpenSprinkler PI
```
opensprinkler:pi:1 [ stations="8", refresh="60" ]
```
- stations: Number of stations to control.
- refresh: Number of seconds in between refreshing the Thing state with the API.
## Channels
The following channels are supported by all devices.
| Channel Type ID | Item Type | | Description |
|-----------------|-----------|---|-------------|----------------- |------------- |
| station01 | Switch | RW | This channel indicates whether station 01 is on or off. |
| station02 | Switch | RW | This channel indicates whether station 02 is on or off. |
| station03 | Switch | RW | This channel indicates whether station 03 is on or off. |
| station04 | Switch | RW | This channel indicates whether station 04 is on or off. |
| station05 | Switch | RW | This channel indicates whether station 05 is on or off. |
| station06 | Switch | RW | This channel indicates whether station 06 is on or off. |
| station07 | Switch | RW | This channel indicates whether station 07 is on or off. |
| station08 | Switch | RW | This channel indicates whether station 08 is on or off. |
| station09 | Switch | RW | This channel indicates whether station 09 is on or off. |
| station10 | Switch | RW | This channel indicates whether station 10 is on or off. |
| station11 | Switch | RW | This channel indicates whether station 11 is on or off. |
| station12 | Switch | RW | This channel indicates whether station 12 is on or off. |
| station13 | Switch | RW | This channel indicates whether station 13 is on or off. |
| station14 | Switch | RW | This channel indicates whether station 14 is on or off. |
| station15 | Switch | RW | This channel indicates whether station 15 is on or off. |
| station16 | Switch | RW | This channel indicates whether station 16 is on or off. |
| station17 | Switch | RW | This channel indicates whether station 17 is on or off. |
| station18 | Switch | RW | This channel indicates whether station 18 is on or off. |
| station19 | Switch | RW | This channel indicates whether station 19 is on or off. |
| station20 | Switch | RW | This channel indicates whether station 20 is on or off. |
| station21 | Switch | RW | This channel indicates whether station 21 is on or off. |
| station22 | Switch | RW | This channel indicates whether station 22 is on or off. |
| station23 | Switch | RW | This channel indicates whether station 23 is on or off. |
| station24 | Switch | RW | This channel indicates whether station 24 is on or off. |
| station25 | Switch | RW | This channel indicates whether station 25 is on or off. |
| station26 | Switch | RW | This channel indicates whether station 26 is on or off. |
| station27 | Switch | RW | This channel indicates whether station 27 is on or off. |
| station28 | Switch | RW | This channel indicates whether station 28 is on or off. |
| station29 | Switch | RW | This channel indicates whether station 29 is on or off. |
| station30 | Switch | RW | This channel indicates whether station 30 is on or off. |
| station31 | Switch | RW | This channel indicates whether station 31 is on or off. |
| station32 | Switch | RW | This channel indicates whether station 32 is on or off. |
| station33 | Switch | RW | This channel indicates whether station 33 is on or off. |
| station34 | Switch | RW | This channel indicates whether station 34 is on or off. |
| station35 | Switch | RW | This channel indicates whether station 35 is on or off. |
| station36 | Switch | RW | This channel indicates whether station 36 is on or off. |
| station37 | Switch | RW | This channel indicates whether station 37 is on or off. |
| station38 | Switch | RW | This channel indicates whether station 38 is on or off. |
| station39 | Switch | RW | This channel indicates whether station 39 is on or off. |
| station40 | Switch | RW | This channel indicates whether station 40 is on or off. |
| station41 | Switch | RW | This channel indicates whether station 41 is on or off. |
| station42 | Switch | RW | This channel indicates whether station 42 is on or off. |
| station43 | Switch | RW | This channel indicates whether station 43 is on or off. |
| station44 | Switch | RW | This channel indicates whether station 44 is on or off. |
| station45 | Switch | RW | This channel indicates whether station 45 is on or off. |
| station46 | Switch | RW | This channel indicates whether station 46 is on or off. |
| station47 | Switch | RW | This channel indicates whether station 47 is on or off. |
| station48 | Switch | RW | This channel indicates whether station 48 is on or off. |
The following are only support by the OpenSprinkler using the HTTP API interface.
| Channel Type ID | Item Type | | Description |
|-----------------|-----------|---|-------------|----------------- |------------- |
| rainsensor | Switch | RO | This channel indicates whether rain is detected by the device or not. |
## Full Example
demo.Things:
```
opensprinkler:http:1 [ hostname="192.168.1.23", port=80, password="opendoor", refresh=60 ]
```
demo.items:
```
Group stations
Switch Station01 (stations) { channel="opensprinkler:http:1:station01" }
Switch Station02 (stations) { channel="opensprinkler:http:1:station02" }
Switch Station03 (stations) { channel="opensprinkler:http:1:station03" }
Switch Station04 (stations) { channel="opensprinkler:http:1:station04" }
Switch Station05 (stations) { channel="opensprinkler:http:1:station05" }
Switch Station06 (stations) { channel="opensprinkler:http:1:station06" }
Switch Station07 (stations) { channel="opensprinkler:http:1:station07" }
Switch Station08 (stations) { channel="opensprinkler:http:1:station08" }
Switch RainSensor { channel="opensprinkler:http:1:rainsensor" }
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame {
Text item=RainSensor label="Rain [%s]"
Group item=stations label="Water Stations"
}
}
```

View File

@ -1,61 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Orvibo Binding
This binding integrates Orvibo devices that communicate using UDP. Primarily this was designed for S20 Wifi Sockets but other products using the same protocol may be implemented in future.
## Supported Things
* S20 Wifi Sockets
## Discovery
This binding can automatically discover devices that have already been added to the Wifi network. Please see the check your instruction manual or the help guide in the app for instructions on how to add your device to your Wifi network.
## Binding Configuration
This binding does not require any special configuration.
## Thing Configuration
This is optional, it is recommended to let the binding discover and add Orvibo devices.
To manually configure an S20 Thing you must specify its deviceId (MAC address).
In the thing file, this looks e.g. like
```
Thing orvibo:s20:mysocket [ deviceId="AABBCCDDEEFF"]
```
## Channels
### S20:
|Channel | Description | Example |
|------- | -------- | ---- |
|power | Current power state of switch | orvibo:s20:mysocket:power |
## Items:
```
Switch MySwitch "Switch state [%s]" { channel="orvibo:s20:mysocket:power" }
```
## Example Sitemap
Using the above things channels and items
Sitemap:
```
sitemap demo label="Main Menu" {
Frame {
Switch item=MySwitch
}
}
```

View File

@ -1,119 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# PioneerAVR Binding Configuration
## Binding configuration
The binding can auto-discover the Pioneer AVRs present on your local network. The auto-discovery is enabled by default. To disable it, you can create a file in the services directory called pioneeravr.cfg with the following content:
```
#Put your configuration here
org.openhab.pioneeravr:enableAutoDiscovery=false
```
This configuration parameter only control the PioneerAVR auto-discovery process, not the OpenHAB auto-discovery. Moreover,
if the OpenHAB auto-discovery is disabled, the PioneerAVR auto-discovery is disabled too.
##Thing configuration
In the things folder, create a file called pioneeravr.things (or any other name) and configure your AVRs inside.
The binding can control AVRs through the local network (ipAvr/ipAvrUnsupported thing type) or through a Serial connection (serialAvr) if the AVR is directly connected to your computer.
Configuration of ipAvr/ipAvrUnsupported:
* address: the hostname/ipAddress of the AVR on the local network. (mandatory)
* tcpPort: the port number to use to connect to the AVR. (optional, default to 23)
Configuration of serialAvr:
* serialPort: the name of the serial port on your computer. (mandatory)
Example:
```
pioneeravr:ipAvr:vsx921IP [ address="192.168.1.25", tcpPort="23" ]
pioneeravr:serialAvr:vsx921Serial [ serialPort="COM9" ]
```
## Channels
* power: power On/Off the AVR. Receive power events.
* volumeDimmer: Increase/Decrease the volume on the AVR or set the volume as %. Receive volume change events (in %).
* volumeDb: Set the volume of the AVR in dB (from -80.0 to 12 with 0.5 dB steps). Receive volume change events (in dB).
* mute: Mute/Unmute the AVR. Receive mute events.
* setInputSource: Set the input source of the AVR. See input source mapping for more details. Receive source input change events with the input source ID.
* displayInformation: Receive display events. Reflect the display on the AVR front panel.
##Input Source Mapping
Here after are the ID values of the input sources:
* 04: DVD
* 25: BD
* 05: TV/SAT
* 15: DVR/BDR
* 10: VIDEO 1(VIDEO)
* 14: VIDEO 2
* 19: HDMI 1
* 20: HDMI 2
* 21: HDMI 3
* 22: HDMI 4
* 23: HDMI 5
* 26: HOME MEDIA GALLERY(Internet Radio)
* 17: iPod/USB
* 18: XM RADIO
* 01: CD
* 03: CD-R/TAPE
* 02: TUNER
* 00: PHONO
* 12: MULTI CH IN
* 33: ADAPTER PORT
* 27: SIRIUS
* 31: HDMI (cyclic)
## Full example
*demo.Things:
```
pioneeravr:ipAvr:vsx921 [ address="192.168.188.89" ]
```
*demo.items:
```
/* Pioneer AVR Items */
Switch vsx921PowerSwitch "Power" (All) { channel="pioneeravr:ipAvr:vsx921:power" }
Switch vsx921MuteSwitch "Mute" <none> (All) { channel="pioneeravr:ipAvr:vsx921:mute" }
Dimmer vsx921VolumeDimmer "Volume [%.1f] %" <none> (All) { channel="pioneeravr:ipAvr:vsx921:volumeDimmer" }
Number vsx921VolumeNumber "Volume [%.1f] dB" <none> (All) { channel="pioneeravr:ipAvr:vsx921:volumeDb" }
String vsx921InputSourceSet "Input" <none> (All) { channel="pioneeravr:ipAvr:vsx921:setInputSource" }
String vsx921InformationDisplay "Information [%s]" <none> (All) { channel="pioneeravr:ipAvr:vsx921:displayInformation" }
```
*demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame label="Pioneer AVR" {
Switch item=vsx921PowerSwitch
Switch item=vsx921MuteSwitch mappings=[ON="Mute", OFF="Un-Mute"]
Slider item=vsx921VolumeDimmer
Setpoint item=vsx921VolumeNumber minValue="-80" maxValue="12" step="0.5"
Switch item=vsx921InputSourceSet mappings=[04="DVD", 15="DVR/BDR", 25="BD"]
Text item=vsx921InformationDisplay
}
}
```

View File

@ -1,46 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Pulseaudio Binding
This binding integrates pulseaudio devices.
## Supported Things
The Pulseaudio bridge is required as a "bridge" for accessing any other Pulseaudio devices.
You need a running pulseaudio server whith module module-cli-protocol-tcp loaded and accessible by the server
which runs your openHAB instance. The following pulseaudio devices are supported:
* Sink
* Source
* Sink-Input
* Source-Output
* Combined-Sink
## Discovery
The Pulseaudio bridge is discovered through mDNS in the local network.
## Thing Configuration
The Pulseaudio bridge requires the ip address (or a hostname) and a port (default: 4712) as a configuration value in order for the binding to know where to access it.
## Channels
All devices support some of the following channels:
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| volume | Dimmer | Volume of an audio device in percent |
| mute | Switch | Mutes the device |
| state | String | Current state of the device (suspended, idle, running, corked, drained) |
| slaves | String | Slave sinks of a combined sink |
| routeToSink | String | Shows the sink a sink-input is currently routed to |
## Full Example
t.b.d.

View File

@ -1,106 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# RFXCOM Binding
This binding integrates large number of sensors and actuators from several different manufactures throug the [RFXCOM transceivers](http://www.rfxcom.com).
RFXCOM transceivers supports RF 433 Mhz protocols like:
* HomeEasy
* Cresta
* X10
* La Crosse
* OWL
* CoCo (KlikAanKlikUit),
* PT2262
* Oregon etc.
See RFXtrx User Guide for the complete list of supported sensors and devices from [RFXCOM](http://www.rfxcom.com) and firmware update announcements.
## Supported Things
Binding should support RFXtrx433E and RFXtrx315 transceivers and RFXrec433 receiver as bridge for accessing different sensors and actuators.
RFXCOM binding currently supports following packet types:
* Blinds1
* Curtain1
* Energy
* Humidity
* Lighting1
* Lighting2
* Lighting4
* Lighting5
* Lighting6
* Rain
* Rfy
* Security1
* Temperature
* TemperatureHumidity
* Thermostat1
* Wind
## Discovery
The transceivers/receivers are automatically discovered by the JD2XX library and put in the Inbox.
Apple OS X note:
Apple provides build-in FTDI drivers for OS X, which need to be disabled to get JD2XX work properly.
FTDI driver disabling can be done by the following command
```
sudo kextload -b com.apple.driver.AppleUSBFTDI
```
FTDI driver can be enabled by the following command
```
sudo kextunload -b com.apple.driver.AppleUSBFTDI
```
If you meet any problems with JD2XX or you don't want to disable FTDI driver on OS X, you can also configure RFXCOM transceivers/receivers manually.
After bridge is configured and transceiver receives message from any sensor and actuator, device is put in the Inbox. Because RFXCOM communication is one way protocol, receiver actuators can't be discovered automatically.
Both bridges and sensor/actuators are easy to configure from the Paper UI. However, a manual configuration looks (thing file) e.g. like
```
Bridge rfxcom:bridge:usb0 [ serialPort="/dev/tty.usbserial-06VVEG1Y" ] {
Thing lighting2 100001_1 [deviceId="100001.1", subType="AC"]
}
```
## Channels
Currently supported channels:
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|
| command | Switch | Command channel. |
| contact | Contact | Contact channel. |
| dimminglevel | Dimmer | Dimming level channel. |
| mood | Number | Mood channel. |
| status | String | Status channel. |
| setpoint | Number | Requested temperature. |
| motion | Switch | Motion detection sensor state. |
| rainrate | Number | Rain fall rate in millimeters per hour. |
| raintotal | Number | Total rain in millimeters. |
| shutter | Rollershutter | Shutter channel. |
| instantpower | Number | Instant power consumption in Watts. |
| totalusage | Number | Used energy in Watt hours. |
| instantamp | Number | Instant current in Amperes. |
| totalamphours | Number | Used "energy" in ampere-hours. |
| temperature | Number | Current temperature in degree Celsius. |
| humidity | Number | Relative humidity level in percentages. |
| humiditystatus | String | Current humidity status. |
| signallevel | Number | Received signal strength level. |
| batterylevel | Number | Battery level. |
| windspeed | Number | Average wind speed in meters per second. |
| winddirection | Number | Wind direction in degrees. |

View File

@ -1,52 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# RME Binding
This binding integrates the RME RainManager rain water pump and management system
## Supported Things
Manager
## Thing Configuration
The Thing configuration requires the name of the serial port that is used to connect the ESH host with the RME unit
## Channels
All devices support some of the following channels:
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| waterlevel | Number | Indicates the % the cistern is filled with water |
| mode | String | Indicates the operation mode of the RME Rain Manager, Automatic or Manual |
| source | String | Indicates water source used to supply water, e.g cistern or city |
| exitpump | Switch | Indicates whether the exit pump is switched on |
| entrypump | Switch | Indicates whether the entry pump is switched on |
## Full Example
.things
```
Thing rme:manager:m1 [ port="/dev/tty.usbserial-FTGVQA6D" ]
```
.items
```
Number RMECisternLevel "Water level [%.1f %%]"(rme) {channel="rme:manager:m1:waterlevel"}
String RMEMode (rme) {channel="rme:manager:m1:mode"}
String RMESource (rme) {channel="rme:manager:m1:source"}
Switch RMEExitPump (rme) {channel="rme:manager:m1:exitpump"}
Switch RMEEntryPump (rme) {channel="rme:manager:m1:entrypump"}
Switch RMEWaterExchange (rme) {channel="rme:manager:m1:waterexchange"}
Switch RMECisternSupply (rme) {channel="rme:manager:m1:cisternsupplyalarm"}
Switch RMEOverflowAlarm (rme) {channel="rme:manager:m1:overflowalarm"}
Switch RMECisternBlockedAlarm (rme) {channel="rme:manager:m1:cisternblockedalarm"}
Switch RMEFilterCleaning(rme) {channel="rme:manager:m1:filtercleaning"}
```

View File

@ -1,60 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Samsung TV Binding
This binding integrates the [Samsung TV's](http://www.samsung.com).
## Supported Things
Samsung TV C (2010), D (2011) and E (2012) models should be supported. Because Samsung haven't publish any documentation about the TV's UPnP interface, there could be differences between different TV models, which could lead to mismatch problems.
Tested TV models:
| Model | State | Notes |
|-----------|-------|--------------------------------------------------------------------|
| UE46E5505 | OK | Initial contribution is done by this model |
## Discovery
The TV's are discovered through UPnP protocol in the local network and all devices are put in the Inbox.
## Binding Configuration
The binding does not require any special configuration
## Thing Configuration
The Samsung TV Thing requires the host name and port address as a configuration value in order for the binding to know how to access it. Samsung TV publish several UPnP devices and hostname is used to recognize those UPnP devices. Port address is used for remote control emulation protocol. Additionally, a refresh interval can be configured in milliseconds to specify how often TV resources are polled.
E.g.
```
Thing samsungtv:tv:livingroom [ hostName="192.168.1.10", port=55000, refreshInterval=1000]
```
## Channels
TV's support the following channels:
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|
| volume | Dimmer | Volume level of the TV. |
| mute | Switch | Mute state of the TV. |
| brightness | Dimmer | Brightness of the TV picture. |
| contrast | Dimmer | Contrast of the TV picture. |
| sharpness | Dimmer | Sharpness of the TV picture. |
| colortemperature | Number | Color temperature of the TV picture. Minimum value is 0 and maximum 4. |
| sourcename | String | Name of the current source. |
| sourceid | Number | Id of the current source. |
| channel | Number | Selected TV channel number. |
| programtitle | String | Program title of the current channel. |
| channelname | String | Name of the current TV channel. |
| url | String | Start TV web browser and go the given web page. |
| stopbrowser | Switch | Stop TV's web browser and go back to TV mode. |
| power | Switch | TV power. Some of the Samsung TV models doesn't allow to set Power ON remotely. |
| keycode | String | The key code channel emulates the infrared remote controller and allows to send virtual button presses. |

View File

@ -1,35 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# SMA Energy Meter Binding
This Binding is used to display the measured values of a SMA Energy Meter device. It shows purchased and grid feed-in power and energy.
## Supported Things
This Binding supports SMA Energy Meter devices.
## Discovery
The Energy Meter is discovered by receiving data on the default multicast IP address.
## Binding Configuration
No binding configuration required.
## Thing Configuration
Usually no manual configuration is required, as the multicast IP address and the port remain on their factory set values. Optionally, a refresh interval (in seconds) can be defined.
## Channels
- **powerIn** Purchased power [W]
- **powerOut** Grid feed-in power [W]
- **energyIn** Purchased energy [kWh]
- **energyOut** Grid feed-in energy [kWh]
## Full example
N/A

View File

@ -1,71 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Sonos Binding
This binding integrates the [Sonos Multi-Room Audio system](http://www.sonos.com).
## Supported Things
All available Sonos (playback) devices are supported by this binding. This includes the Play:1, Play:3, Play:5, Connect, Connect:Amp, Playbar, and Sub. The Bridge and Boost are not supported, but these devices do only have an auxiliary role in the Sonos network and do not have any playback capability.
When being defined in a *.things file, the specific thing types PLAY1, PLAY3, PLAY5, PLAYBAR, CONNECT and CONNECTAMP should be used.
## Discovery
The Sonos devices are discovered through UPnP in the local network and all devices are put in the Inbox. Beware that all Sonos devices have to added to the local Sonos installation as described in the Sonos setup procedure, e.g. through the Sonos Controller software or smartphone app.
## Binding Configuration
The binding does not require any special configuration
## Thing Configuration
The Sonos Thing requires the UPnP UDN (Unique Device Name) as a configuration value in order for the binding to know how to access it. All the Sonos UDN have the "RINCON_000E58D8403A0XXXX" format. Additionally, a refresh interval, used to poll the Sonos device, can be specified (in seconds)
In the thing file, this looks e.g. like
```
Thing sonos:PLAY1:1 [ udn="RINCON_000E58D8403A0XXXX", refresh=60]
```
## Channels
All devices support the following channels (non-exhaustive):
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| currenttrack | String | This channel indicates the name of the track or radio station currently playing |
| playlinein | String | This channel supports playing the audio source connected to the line-in of the zoneplayer identified by the Thing UID or UPnP UDN provided by the String. |
| volume | Dimmer | This channel supports setting the master volume of the zoneplayer |
| control | Player | This channel supports controlling the zoneplayer, e.g. start/stop/next/previous |
## Full Example
demo.things:
```
Thing sonos:PLAY3:1 [ udn="RINCON_000E58D8403A0XXXX", refresh=60]
```
demo.items:
```
Dimmer Volume {channel="sonos:PLAY3:1:volume"}
String LineInUDN {channel="sonos:PLAY3:1:playlinein"}
Player Controller (controllerGroup) {channel="sonos:PLAY3:1:control"}
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame label="Sonos" {
Group item=controllerGroup label="Sonos" icon="settings"
Slider item=Volume label="Sonos - Volume [%.1f %%]"
Text item=CurrentTrack label="Sonos - Current Track [%s]"
}
}
```

View File

@ -1,70 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Logitech Squeezebox Binding
This binding integrates the [Logitech Media Server](http://www.mysqueezebox.com) and compatible Squeeze players.
## Introduction
Slim Devices was established in 2000, and was first known for its SlimServer used for streaming music, but launched a hardware player named SliMP3 able to play these streams in 2001. Although the first player was fairly simple only supporting wired Ethernet and MP3 natively, it was followed two years later by a slightly more advanced player which was renamed to Squeezebox. Other versions followed, gradually adding native support for additional file formats, Wi-Fi-support, gradually adding larger and more advanced displays as well as a version targeting audiophile users. Support for playing music from external streaming platforms such as Pandora, Napster, Last.fm and Sirius were also added. The devices in general have two operating modes; either standalone where the device connects to an internet streaming service directly, or to a local computer running the Logitech Media Server or a network-attached storage device. Both the server software and large parts of the firmware on the most recent players are released under open source licenses.
In 2006, Slim Devices was acquired by Logitech for $20 million USD. Logitech continued the development of the player until they announced in August 2012 that it would be discontinued. Given the cross-platform nature of the server and software client, some users have ensured the continued use of the platform by utilizing the Raspberry Pi as dedicated Squeezebox device (both client and server).
Taken from: [Wiki](http://en.wikipedia.org/wiki/Squeezebox_%28network_music_player%29)
## Supported Things
At least one Squeeze Server is required to act as a bridge for Squeeze players on the network. Squeeze players may be official Logitech products or other players like [Squeeze Lites](https://code.google.com/p/squeezelite/).
## Discovery
A Squeeze Server is discovered through UPnP in the local network. Once it is added as a Thing the Squeeze Server bridge will discover Squeeze Players automatically.
## Binding Configuration
The binding requires no special configuration
## Thing Configuration
The Squeeze Server bridge requires the ip address, web port, and cli port to access it on.
In the thing file, this looks e.g. like
```
Bridge squeezebox:squeezeboxserver:myServer [ ipAddress="192.168.1.10", webport=9000, cliport=9090 ]
```
Squeeze Players are identified by their MAC address.
```
Thing squeezebox:squeezeboxplayer:myServer:myPlayer[ mac="00:f1:bb:00:00:f1" ]
```
## Channels
All devices support some of the following channels:
| Channel Type ID | Item Type | Description |
|-------------------------|------------------------|--------------|----------------- |------------- |
| power | Switch | Power on/off your device |
| mute | Switch | Mute/unmute your device |
| volume | Dimmer | Volume of your device |
| stop | Switch | Stop the current title|
| control | Player | Control the Zone Player, e.g. play/pause/next/previous/ffward/rewind|
| stream | String | Play the given HTTP or file stream (file:// or http://)|
| sync | String | Add another player to your device for synchronized playback (other player mac address)|
| playListIndex | Number | Playlist Index|
| currentPlayingTime| | Number | Current Playing Time|
| currentPlaylistShuffle | Number | Current playlist shuffle mode (0 No Shuffle, 1 Shuffle Songs, 2 Shuffle Albums)|
| currentPlaylistRepeat | Number | Current playlist repeat Mode (0 No Repeat, 1 Repeat Song, 2 Repeat Playlist)|
| title | String | Title of the current song |
| remotetitle | String | Remote Title (Radio) of the current song|
| album | String | Album name of the current song|
| artist | String | Artist name of the current song|
| year | String | Release year of the current song|
| genre | String | Genre name of the current song|
| coverartdata | Image | Image data of cover art of the current song|
| ircode | String | Received IR code|
| numberPlaylistTracks | Number | Number of playlist tracks|

View File

@ -1,203 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Systeminfo Binding
System information Binding provides operating system and hardware information including:
- Operating system name, version and manufacturer
- CPU average recent load and load for last 1, 5, 15 minutes, name, description, number of physical and logical cores, running threads number, system uptime
- Free, total and available memory
- Free, total and available swap memory
- Hard drive name, model and serial number
- Free, total, available storage space and storage type (NTSFS, FAT32 ..)
- Battery information - estimated remaining time, capacity, name
- Sensors information - CPU voltage and temperature, fan speeds
- Display information
- Network IP,name and adapter name, mac, data sent and received, packages sent and received
The binding uses [oshi](https://github.com/dblock/oshi) API to access this information regardless of the underlying platform and does not need any native parts.
## Supported Things
The binding supports only one thing type - **computer**. This thing represents a system with one storage volume, one display device and one network adapter.
The thing has the following properties:
- `cpu_logicalCores` - Number of CPU logical cores
- `cpu_physicalCores` - Number of CPU physical cores
- `os_manufacturer` - The manufacturer of the operating system
- `os_version` - The version of the operating system
- `os_family` - The family of the operating system
If multiple storage or display devices support is needed, new thing type has to be defined. This is workaround until [this issue] (https://github.com/eclipse/smarthome/issues/588) is resolved and it is possible to add dynamically channels to DSL defined thing.
## Discovery
The discovery service implementation tries to resolve the computer name. If the resolving process fails, the computer name is set to "Unknown". In both cases it creates a Discovery Result with thing type **computer**.
When [this issue] (https://github.com/eclipse/smarthome/issues/1118) is resolved it will be possible to implement creation of dynamic channels (e.g. the binding will scan how much storage devices are present and create channel groups for them). At the moment this is not supported.
## Binding configuration
No binding configuration required.
## Thing configuration
The configuration of the Thing gives the user the possibility to update channels at different intervals.
The thing has two configuration parameters:
* **interval_high** - refresh interval in seconds for channels with 'High' priority configuration. Default value is 1 s.
* **interval_medium** - refresh interval in seconds for channels with 'Medium' priority configuration. Default value is 60s.
That means that by default configuration:
* channels with priority set to 'High' are updated every second
* channels with priority set to 'Medium' - every minute
* channels with priority set to 'Low' only at initializing or at Refresh command.
For more info see [channel configuration](#channel-configuration)
## Channels
The binding support several channel group. Each channel group, contains one or more channels. In the list below, you can find, how are channel group and channels id`s related.
**thing** `computer`
* **group** `memory`
**channel** `available, total, used, available_percent`
* **group** `swap`
**channel** `available, total, used, available_percent`
* **group** `storage` (deviceIndex)
**channel** `available, total, used, available_percent, name, description, type`
* **group** `drive` (deviceIndex)
**channel** `name, model, serial`
* **group** `display` (deviceIndex)
**channel** `information`
* **group** `battery` (deviceIndex)
**channel** `name, remainingCapacity, remainingTime`
* **group** `cpu`
**channel** `name, description, load, load1, load5, load15, uptime`
* **group** `sensors`
**channel** `cpuTemp, cpuVoltage, fanSpeed`
* **group** `network` (deviceIndex)
**channel** `ip, mac, networkDisplayName, networkName, packagesSent, packagesReceived, dataSent, dataReceived`
The groups marked with "deviceIndex" may have device index attached to the Channel Group.
- channel ::= chnanel_group & (deviceIndex) & # channel_id
- deviceIndex ::= number > 0
- (e.g. *storage1#available*)
The binding uses this index to get information about a specific device from a list of devices.
(e.g on a single computer could be installed several local disks with names C:\, D:\, E:\ - the first will have deviceIndex=0, the second deviceIndex=1 ant etc). If device with this index is not existing, the binding will display an error message on the console.
In the table is shown more detailed information about each Channel type.
The binding introduces the following channels:
| Chnanel ID | Channel Description | Supported item type | Default priority | Advanced |
| ------------- | ------------- |------------|----------|----------|
| load | Recent load in percents | Number | High | False |
| load1 | Load in percents for the last 1 minutes | Number | Medium | True |
| load5 | Load in percents for the last 5 minutes | Number | Medium | True |
| load15 | Load in percents for the last 1 minutes | Number | Medium | True |
| threads | Number of threads currently running | Number | Medium | True |
| uptime | System uptime (time after start) in minutes | Number | Medium | True |
| name | Name of the device | String | Low | False |
| available | Available size in MB | Number | High | False |
| used | Used size in MB | Number | High | False |
| total | Total size in MB | Number | Low | False |
| availablePercent | Available size in % | Number | High | False |
| model | The model of the device | String | Low | True |
| serial | The serial number of the device | String | Low | True |
| description | Description of the device | String | Low | True |
| type | Storage type | String | Low | True |
| cpuTemp | CPU Temperature in Celsius degrees | Number | High | True |
| cpuVoltage | CPU Voltage in V | Number | Medium | True |
| fanSpeed | Fan speed in rpm | Number | Medium | True |
| remainingTime | Remaining time in minutes | Number | Medium | False |
| remainingCapacity | Remaining capacity in percents | Number | Medium | False |
| information | Product, manufacturer, SN, width and height of the display in cm | String | Low | True |
| ip | Host IP address of the network | String | Low | False |
| mac | MAC address | String | Low | True |
| networkName | The name of the network. | String | Low | False |
| networkDisplayName | The display name of the network | String | Low | False |
| packagesSent | Number of packages sent | Number | Medium | True |
| packagesReceived | Number of packages received | Number | Medium | True |
| dataSent | Data sent in MB | Number | Medium | True |
| dataReceived | Data received in MB | Number | Medium | True |
## Channel configuration
Each of the channels has a default configuration parameter - priority. It has the following options:
- **High**
- **Medium**
- **Low**
## Full example
Things:
```
systeminfo:computer:work [interval_high=3, interval_medium=60]
```
Items:
```
/* Network information*/
String Network_AdapterName { channel="systeminfo:computer:work:network#networkDisplayName" }
String Network_Name { channel="systeminfo:computer:work:network#networkName" }
String Network_IP { channel="systeminfo:computer:work:network#ip" }
String Network_Mac { channel="systeminfo:computer:work:network#mac" }
Number Network_DataSent { channel="systeminfo:computer:work:network#dataSent" }
Number Network_DataRecevied { channel="systeminfo:computer:work:network#dataReceived" }
Number Network_PackagesSent { channel="systeminfo:computer:work:network#packagesSent" }
Number Network_PackagesRecevied { channel="systeminfo:computer:work:network#packagesReceived" }
/* CPU information*/
String CPU_Name { channel="systeminfo:computer:work:cpu#name" }
String CPU_Description { channel="systeminfo:computer:work:cpu#description" }
Number CPU_Load { channel="systeminfo:computer:work:cpu#load"}
Number CPU_Load1 { channel="systeminfo:computer:work:cpu#load1" }
Number CPU_Load5 { channel="systeminfo:computer:work:cpu#load5" }
Number CPU_Load15 { channel="systeminfo:computer:work:cpu#load15" }
Number CPU_Load1 { channel="systeminfo:computer:work:cpu#load1" }
Number CPU_Threads { channel="systeminfo:computer:work:cpu#threads" }
Number CPU_Uptime { channel="systeminfo:computer:work:cpu#uptime" }
/* Drive information*/
String Drive_Name { channel="systeminfo:computer:work:drive#name" }
String Drive_Model { channel="systeminfo:computer:work:drive#model" }
String Drive_Serial { channel="systeminfo:computer:work:drive#serial" }
/* Storage information*/
String Storage_Name { channel="systeminfo:computer:work:storage#name" }
String Storage_Type { channel="systeminfo:computer:work:storage#type" }
String Storage_Description { channel="systeminfo:computer:work:storage#description" }
Number Storage_Available { channel="systeminfo:computer:work:storage#available" }
Number Storage_Used { channel="systeminfo:computer:work:storage#used" }
Number Storage_Total { channel="systeminfo:computer:work:storage#total" }
Number Storage_Available_Percent { channel="systeminfo:computer:work:storage#availablePercent" }
/* Memory information*/
Number Memory_Available { channel="systeminfo:computer:work:memory#available" }
Number Memory_Used { channel="systeminfo:computer:work:memory#used" }
Number Memory_Total { channel="systeminfo:computer:work:memory#total" }
Number Memory_Available_Percent { channel="systeminfo:computer:work:memory#availablePercent" }
/* Swap memory information*/
Number Swap_Available { channel="systeminfo:computer:work:swap#available" }
Number Swap_Used { channel="systeminfo:computer:work:swap#used" }
Number Swap_Total { channel="systeminfo:computer:work:swap#total" }
Number Swap_Available_Percent { channel="systeminfo:computer:work:swap#availablePercent" }
/* Battery information*/
String Battery_Name { channel="systeminfo:computer:work:battery#name" }
Number Battery_RemainingCapacity { channel="systeminfo:computer:work:battery#remainingCapacity" }
Number Battery_RemainingTime { channel="systeminfo:computer:work:battery#remainingTime" }
/* Display information*/
String Display_Description { channel="systeminfo:computer:work:display#information" }
/* Sensors information*/
Number Sensor_CPUTemp { channel="systeminfo:computer:work:sensors#cpuTemp" }
Number Sensor_CPUVoltage { channel="systeminfo:computer:work:sensors#cpuVoltage" }
Number Sensor_FanSpeed { channel="systeminfo:computer:work:sensors#fanSpeed" }
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View File

@ -1,114 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Tesla Binding
This binding integrates the [Tesla Electrical Vehicle](http://www.teslamotors.com).
The integration happens through the Tesla Owners Remote API.
## Supported Things
Currently, the Tesla Model S is supported by this binding.
![Tesla](doc/tesla.jpg)
## Binding Configuration
The binding uses a the owner's email address and password in order to access the Tesla Owners Remote API. This is the same email address and password as used in the Tesla smartphone app, that allows to remotely control the Tesla Model S
## Thing Configuration
The Tesla Thing requires the username and password as a configuration value in order for the binding to log into the Tesla service, as well as the VIN (Vehicle Identfication Number) to identify the vehicle tracked by the Thing.
In the thing file, this looks e.g. like
```
Thing tesla:models:1 [ username="your.email@company.com", password="somepassword", vin="5YJSA7H25FFP53746"]
```
## Channels
All devices support the following channels (non exhaustive):
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| charge | Switch | This channel supports starting or stopping the charging process of the vehicle |
| location | Location | This channel indicates the actual location (latitude, longitude, elevation) of the vehicle |
| doorlock | Switch | This channel supports locking or unlocking the doors of the vehicle |
| insidetemp | Number | This channel indicates the inside temperature of the vehicle |
| odometer | Number | This channel indicates the actual state of the vehicle's odometer, in km or miles along the build of the vehicle (EU or US) |
| batterylevel | Number | This channel indicates the actual state of the vehicle's battery, in % |
## Full Example
demo.Things:
```
Thing tesla:models:1 [ username="your.email@company.com", password="somepassword", vin="5YJSA7H25FFP53746"]
```
demo.items:
```
Switch TeslaCharge {channel="tesla:models:1:charge"}
Location TeslaLocation {channel="tesla:models:1:location"}
Dimmer TeslaChargeLimit {channel="tesla:models:1:chargelimit"}
String TeslaChargeRate {channel="tesla:models:1:chargerate"}
String TeslaChargingState {channel="tesla:models:1:chargingstate"}
Number TeslaTimeToFullCharge {channel="tesla:models:1:timetofullcharge"}
Number TeslaChargerPower {channel="tesla:models:1:chargerpower"}
DateTime TeslaScheduledChargingStart {channel="tesla:models:1:scheduledchargingstart"}
Dimmer TeslaSoC "State of Charge [%.1f %%]" {channel="tesla:models:1:soc"}
Number TeslaSpeed {channel="tesla:models:1:speed"}
String TeslaState {channel="tesla:models:1:state"}
Number TeslaPower {channel="tesla:models:1:power"}
Number TeslaInsideTemperature {channel="tesla:models:1:insidetemp"}
Number TeslaOutsideTemperature {channel="tesla:models:1:outsidetemp"}
Switch TeslaAutoconditioning {channel="tesla:models:1:autoconditioning"}
Number TeslaTemperature {channel="tesla:models:1:temperature"}
String TeslaShiftState {channel="tesla:models:1:shiftstate"}
Number TeslaBatteryCurrent {channel="tesla:models:1:batterycurrent"}
Number TeslaBatteryLevel {channel="tesla:models:1:batterylevel"}
DateTime TeslaEventstamp {channel="tesla:models:1:eventstamp"}
Number TeslaOdometer {channel="tesla:models:1:odometer"}
Number TeslaLatitude {channel="tesla:models:1:latitude"}
Number TeslaLongitude {channel="tesla:models:1:longitude"}
Number TeslaElevation {channel="tesla:models:1:elevation"}
Number TeslaHeading {channel="tesla:models:1:heading"}
DateTime TeslaGPSStamp {channel="tesla:models:1:gpstimestamp"}
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Text label="Car" {
Text label="Drive" {
Text item=TeslaEventstamp label="Last Event Timestamp [%1$td.%1$tm.%1$tY %1$tT]"
Text item=TeslaState label="State [%s]"
Text item=TeslaSpeed label="Speed [%.1f]"
Text item=TeslaShiftState label="Shift State [%s]"
Text item=TeslaOdometer label="Odometer [%.1f km]"
}
Text label="Climate" {
Switch item=TeslaAutoconditioning label="Auto Conditioning" mappings=[ON=ON, OFF=OFF ]
Setpoint item=TeslaTemperature step=0.5 minValue=18 maxValue=34 label="Auto Conditioning Temperature [%.1f °C]" icon="temperature"
Text item=TeslaInsideTemperature label="Inside Temperature [%.1f]"
}
Text label="Power" {
Text item=TeslaBatteryCurrent label="Current [%.1f]"
}
Text item=TeslaSoC {
Switch item=TeslaCharge label="Charge" mappings=[ON=ON, OFF=OFF ]
Slider item=TeslaChargeLimit label="Charge Limit [%.1f]"
Text item=TeslaChargingState label="Charging State [%s]"
Text item=TeslaChargeRate label="Charge Rate [%s]"
Text item=TeslaScheduledChargingStart label="Charging Start [%1$td.%1$tm.%1$tY %1$tT]"
Text item=TeslaTimeToFullCharge label="Time To Full Charge [%.1f hours]"
}
}
}
```

View File

@ -1,30 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Somfy URTSI II Binding
The addressable Universal RTS Interface II (URTSI II) can be used to communicate between home automation or other third party systems and SOMFYs RTS Motors and controls. It is capable of individual or group control, and can be operated via infrared remote, RS232 and RS485 serial communication. Once an input is activated, an RTS radio command is sent to the automated window treatment.
The binding supports the RS232 communication.
## Supported Things
There are two supported things:
* URTSI II Device: Bridge
* RTS Device (e.g. Rollershutter): Thing
## Discovery
Discovery is not supported.
## Thing Configuration
### URTSI II Device:
* Port: The port which is used to access the device (e.g. /dev/ttyUSB0)
* Command execution interval: The time (in ms) the binding should wait between sending commands to the device
### RTS Device (e.g. rollershutter):
* Channel: The URTSI II channel the RTS device is assigned to at URTSI II.
## Channels
* Position: Change the position of a device. This is used in order to interact with the device (move it up, down or stop).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@ -1,120 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# vitotronic Binding
Viessmann heating systems with vitotronic has a optolink Interface for maintenance.
This interface can use for get/set data in the heating system. [see on openv](http://openv.wikispaces.com)
The vitotronic binding is a solution to bind this interface into openHAB2.
It supports the separation of the heating adaption from the integration in [openHAB2](http://www.openhab.org/).
![Architectur](doc/architecture_vitotronic.jpg)
The adapter transform the address oriented raw interface of the vitotronic to a abstract format.
The adapter itself is not a part of the openhab2 binding.
[A alpha version is available here](https://github.com/steand/optolink)
[More Information about the adapter](https://github.com/steand/optolink/wiki)
## Supported Things
For easy using are the main things of a heating system are already define in this binding:
* heating (Vitotronic core system)
* pelletburner (Pellet Fireplace, works for wood also)
* oilburner (Oil Fireplace)
* storagetank (Storage Tank, stores heat in a water tank on 3 levels: bottom, middle, top=hot water)
* circuit (Heating circuit controls the flow between the heating system and the radiators in the rooms)
* solar (Solar water heating (SWH): Convert sunlight into energy for water heating)
For advanced used 3 basic things of a headingsystem define also.
* temperaturesensor (Single temperature sensor)
* pump (Single pump)
* valve (Single valve)
Note: The mapping of things and channels to the heating system addresses must be done in the adapter.
## Discovery
The binding discovers the adapter with broadcast and put the found `vitotronic:bridge` into the inbox. For automatic detection the adapter and **openHAB** must be on the same LAN. The discovery itself must be start in the Paper-UI.
If the bridge isn't on the same LAN the bridge can also add manually. In this case the `IP-Address` and the `adapterID` is required.
Íf the `vitotronic:bridge` added a second discovery will be start. It discovers all things, define in the adapter and put found things into the inbox.
## Binding Configuration
Binding itself has 4 configuration parameters:
* ipAddress (The IP address of the Optolink adapter)
* port (Port of the LAN gateway. Default: 31113)
* adapterID (The ID/Name of the adapter)
* refreshInterval (Refresh time for data in seconds. Default: 600 seconds)
If the adapter is automatic discovered the ipAddress, and adapterID will be set by discovery.
The rereshInterval can be set between 60 and 600 seconds. The minimal setting is dependent of the performance of the adapter.
## Thing Configuration
There is no configuration of Things necessary. Only some channels are set active by default. If this channels are defined in the adapter and will be used in **openHAB** it must set active manually.
Don't change the Thing Name. It is the reference to the name in the adapter.
## Channels
The follow channels are implemented:
| Channel Type ID | Item Type | Description |
| --------------- | ------------ | ----------- |
| systemtime | DateTime | DateTime of the heating system |
| outside_temp | Number | Outside temperature sensor |
| boiler_temp | Number | Temperature sensor of boiler (fireplace) |
| flowuprating | Switch | Pump state of flow up rating |
| flame_temp | Number | Temperature of flame |
| airshutter_prim | Number | Position of the primary air shutter |
| airshutter_sec | Number | Position of the secondary air shutter |
| lambdasensor | Number | Oxygen content of the exhaust air |
| fanspeed | Number | Fan Speed in rpm |
| fanspeed_target | Number | Fan Speed in rpm |
| error | Switch | |
| starts | Number | Count of starts |
| ontime | Number | Ontime in hours |
| consumedpellets | Number | Consumed Pellets since start of heating in tons |
| power | Number | Power of the pellet burner |
| powerlevel | Number | Power of the oil burner |
| actualpower | Number | Actual power of the burner |
| ontimelevel1 | Number | Ontime in hours |
| ontimelevel2 | Number | Ontime in hours |
| consumedoil | Number | Consumed Oil since start of heating in Liter |
| hotwater_temp | Number | Temperature sensor of the hot water |
| middle_temp | Number | Temperature sensor in the middle of the storage tank |
| bottom_temp | Number | Temperature sensor at the bottom of the storage tank |
| circuitpump | Switch | Circuit pump state |
| flowtemperature | Number | Temperature sensor of the ciruit flow |
| pump | Switch | Pump state |
| operationmode | Number | Operationmode |
| savemode | Switch | Savemode on/off |
| partymode | Switch | Partymode on/off |
| party_temp | Number | Target temperature of party mode |
| room_temp | Number | Target temperature of rooms |
| save_temp | Number | Target temperature of save mode |
| gradient | Number | The gradient relativ to outside temperature |
| niveau | Number | The niveau relativ to outside temperature |
| collector_temp | Number | Actual temperature of the collector |
| storagetank_temp | Number | Actual temperature of the storage tank (solar sensor) |
| bufferload | Switch | State of the pump (on/off) |
| loadsuppression | Switch | State of the load suppression (on/off) |
| producedheat | Number | Produced heat since starting solar system |
| temperature | Number | Generic temperature sensor |
| valve | Number | Value of a generic valve |
## Full Example
t.b.d

View File

@ -1,87 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# Belkin Wemo Binding
This binding integrates the [Belkin WeMo Family](http://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.
## Supported Things
The WeMo Binding supports the Socket, Insight, Lightswitch, Motion and Maker devices, as well as the WeMo-Link bridge with WeMo LED bulbs.
## 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.
## Binding Configuration
The binding does not need any special configuration
## Thing Configuration
For manual Thing configuration, one needs to know the UUID of a certain WeMo device.
In the thing file, this looks e.g. like
```
wemo:socket:Switch1 [udn="Socket-1_0-221242K11xxxxx"]
```
## Channels
Devices support some of the following channels:
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| state | Switch | This channel controls the actual binary State of a Device or represents Motion Detection. |
| lastChangedAt | DateTime | Representing the Date and Time the device was last turned on or of. |
| lastOnFor | Number | Time in seconds an Insight device was last turned on for. |
| onToday | Number | Time in seconds an Insight device has been switched on today. |
| onTotal | Number | Time in seconds an Insight device has been switched on totally. |
| timespan | Number | Time in seconds over which onTotal applies. Typically 2 weeks except first used. |
| averagePower | Number | Average power consumption in Watts.
| currentPower | Number | Current power consumption of an Insight device. 0 if switched off. |
| energyToday | Number | Energy in Wh used today. |
| energyTotal | Number | Energy in Wh used in total. |
| standbyLimit | Number | Minimum energy draw in W to register device as switched on (default 8W, configurable via WeMo App). |
| brightness | Number | Brightness of a WeMo LED. |
## Full Example
demo.things:
```
wemo:socket:Switch1 [udn="Socket-1_0-221242K11xxxxx"]
```
demo.items:
```
Switch DemoSwitch { channel="wemo:socket:Switch1:state" }
Switch LightSwitch { channel="wemo:lightswitch:Lightswitch1:state" }
Switch MotionSensor { channel="wemo:Motion:Sensor1:state" }
Number InsightPower { channel="wemo:insight:Insight1:currentPower" }
Number InsightLastOn { channel="wemo:insight:Insight1:lastOnFor" }
Number InsightToday { channel="wemo:insight:Insight1:onToday" }
Number InsightTotal { channel="wemo:insight:Insight1:onTotal" }
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame label="WeMo" {
Switch item=DemoSwitch
Switch item=LightSwitch
Switch item=MotionSensor
Number item=InsightPower
Number item=InsightLastOn
Number item=InsightToday
Number item=InsightTotal
}
}
```

View File

@ -1,56 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# YahooWeather Binding
This binding uses the [Yahoo Weather service](https://developer.yahoo.com/weather/) for providing current weather information.
_Note:_ The Yahoo Weather API is provided by Yahoo free of charge for personal, non-commercial uses, but it requires attribution and the acceptance of their terms of use.
By using this binding, you confirm that you agree with this - please read the details on [https://developer.yahoo.com/weather/](https://developer.yahoo.com/weather/).
## Supported Things
There is exactly one supported thing, which represents the weather service. It has the id `weather`.
## Thing Configuration
Besides the location (as ```location``` as a [WOEID](https://en.wikipedia.org/wiki/WOEID) number), the second configuration parameter is ```refresh``` which defines the refresh interval in seconds.
## Channels
The weather information that is retrieved is available as these channels:
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|------------- |
| temperature | Number | The current temperature in degrees celsius |
| humidity | Number | The current humidity in % |
| pressure | Number | The current pressure in millibar (hPa) |
## Full Example
demo.things:
```
yahooweather:weather:berlin [ location="638242" ]
```
demo.items:
```
Number Temperature "Outside Temperature" { channel="yahooweather:weather:berlin:temperature" }
```
demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame {
Text item=Temperature
}
}
```

View File

@ -1,35 +0,0 @@
---
layout: documentation
---
{% include base.html %}
# ZWave Binding
The ZWave binding supports an interface to a wireless ZWave home automation network.
ZWave is a wireless home automation protocol with reliable two way communications between nodes. It supports a mesh network where mains powered nodes can route messages between nodes that could otherwise not communicate with each other. The network supports hop distances of up to four hops.
A wide range of devices are supported from lights, switches and sensors to smoke alarms, window coverings and keyfobs. ZWave certification guarantees that certified devices will be compatible with each other and the network.
## Supported Things
### ZWave Serial Adapter
Before the binding can be used, a serial adapter must be added. This needs to be done manually. Select `Serial ZStick`, and enter the serial port.
## Discovery
Once the binding is authorized, and an adapter is added, it automatically reads all devices that are set up on the ZWave controller and puts them in the Inbox.
## Binding Configuration
## Thing Configuration
## Channels

View File

@ -1,46 +0,0 @@
---
layout: documentation
title: Compatibility
---
{% include base.html %}
# Compatibility Layer for openHAB 1.x Add-ons
openHAB 2 used [Eclipse SmartHome](https://www.eclipse.org/smarthome/) as its core framework. Although many classes are similar, all of them have at least a different namespace (`org.eclipse.smarthome` instead of `org.openhab`) - as a result, none the existing 1.x add-ons would work on openHAB 2.
To still make it possible to use 1.x add-ons, there is a special bundle in openHAB 2, which serves as a compatibility layer. It effectively exposes and consumes all relevant classes and services from the `org.openhab` namespace and internally delegates or proxies them to the according `org.eclipse.smarthome` classes and services.
Currently, the compatibility layer focuses on the official APIs, i.e. an add-ons that does no dirty things should be able to run. Taking the huge number of 1.x add-ons into account, it is likely that there are a couple of problems with one or another. Some problems might be due to bugs in the compatibility bundle, others might be solvable within the add-on.
## How to use openHAB 1.x Add-ons that are not part of the distribution
While the openHAB distribution already contains many add-ons of openHAB 1, there are still quite some of them missing - please help testing them - if they are confirmed to be working, they can be included in the distribution.
Test a not included add-on is very straight forward:
- Start your runtime
- Install the 1.x compatibility layer by running `feature:install openhab-runtime-compat1x` in the openHAB console
- As with openHAB 1.x, simply take the jar file of your add-on and place it in the `${openhab.home}/addons` folder.
- Copy your personal `openhab.cfg` file to `${openhab.home}/conf/services/openhab.cfg`.
## How to solve problems with a certain add-on?
All developers are encouraged to help on this in order to quickly make as many 1.x add-ons compatible with the openHAB 2 runtime as possible.
Here is what you need to do:
- Setup a the [openHAB 2 IDE](../development/ide.md).
- Import your 1.x add-on from your local openHAB 1 git clone into your workspace.
- If it compiles, the first major step is already done. If not, try to figure out why there are compilation problems and if you cannot solve them, ask on the mailing list for help.
- After adding some configuration, start up the runtime through the launch configuration (make sure your bundle is activated and started by default) from within the IDE.
- Go and test and report your findings by creating issues or pull requests for the [add-on in openHAB 1](https://github.com/openhab/openhab/issues).
## How to add a successfully tested 1.x Add-on to the distribution
1. The first step is to create a "Karaf feature" for it, in which required dependencies (i.e. to io.transport bundles) can also be declared. Such a feature can also include the required configuration, therefore you should create a file `<youraddon>.cfg` in `features/openhab-addons-external/src/main/resources/conf` with the same content as what is within `openhab.cfg`, but without the `<yourbinding>:` prefix on the lines of the parameters.
This config file then needs to be added to `features/openhab-addons-external/pom.xml` so that the build is aware of it.
The feature itself is then added to `features/openhab-addons/src/main/feature/feature.xml`, referencing the bundle, the config file and its dependencies (if any). The result should look [similar to this](https://github.com/openhab/openhab/pull/3988/files).
This will automatically make the add-on a part of the distro with the next build.
1. Note that with defining a Karaf feature, bindings are available for installation through the Paper UI in the "Extensions" menu, but they are not listed under "Configuration->Bindings" (although it is fully operational after installation). In order to have bindings listed there as well, you need to add some meta-information to the binding bundle. This information should be put into `ESH-INF/binding/binding.xml` and its content is [described here](https://www.eclipse.org/smarthome/documentation/development/bindings/xml-reference.html#xml-structure-for-binding-definitions). Do not forget to add `ESH-INF` to your `build.properties`, so that it is packaged in the bundle. See a [real life example of such meta-data here](https://github.com/openhab/openhab/pull/4271/files).
## Future Plans
Note that the maintenance and support of the 1.x add-ons will continue. There is absolutely no need and no rush to port them to the new 2.x APIs - especially as there are only new APIs for bindings so far, but nothing yet for actions, persistence services or other types of add-ons. Even for bindings you have to be aware that the new APIs are not yet stable and are likely to change over time. Nonetheless, if you [start a completely new binding](../development/bindings.md) for openHAB, you are encouraged to go for openHAB 2 APIs directly - especially, if your devices can be discovered and formally described. A positive side effect of implementing a binding against the new APIs is the fact that your code is potentially automatically compatible with other Eclipse-SmartHome-based systems (of which there will be more in future).

View File

@ -1,155 +0,0 @@
#!/bin/sh
#
# Create needed icon copies.
#
# Aliases
cp -f house.png group.png
cp -f house.svg group.svg
# Alternative Types
cp -f dimmablelight-0.png light-off.png
cp -f dimmablelight-0.svg light-off.svg
cp -f dimmablelight-100.png light-on.png
cp -f dimmablelight-100.svg light-on.svg
cp -f garagedoor-70.png garagedoor-ajar.png
cp -f garagedoor-70.svg garagedoor-ajar.svg
cp -f garagedoor-100.png garagedoor-closed.png
cp -f garagedoor-100.svg garagedoor-closed.svg
cp -f garagedoor-0.png garagedoor-open.png
cp -f garagedoor-0.svg garagedoor-open.svg
cp -f garagedoor-ajar.png garagedoor.png
cp -f garagedoor-ajar.svg garagedoor.svg
cp -f heating-0.png heating-off.png
cp -f heating-0.svg heating-off.svg
cp -f heating-100.png heating-on.png
cp -f heating-100.svg heating-on.svg
# Uninitialized State
cp -f dimmablelight-100.png dimmablelight.png
cp -f dimmablelight-100.svg dimmablelight.svg
cp -f fire-on.png fire.png
cp -f fire-on.svg fire.svg
cp -f heating-on.png heating.png
cp -f heating-on.svg heating.svg
cp -f light-on.png light.png
cp -f light-on.svg light.svg
cp -f lock-closed.png lock.png
cp -f lock-closed.svg lock.svg
cp -f receiver-on.png receiver.png
cp -f receiver-on.svg receiver.svg
cp -f signal-4.png signal.png
cp -f signal-4.svg signal.svg
cp -f siren-on.png siren.png
cp -f siren-on.svg siren.svg
cp -f soundvolume-100.png soundvolume.png
cp -f soundvolume-100.svg soundvolume.svg
# ESH Channel Categories
cp -f siren.png alarm.png
cp -f siren.svg alarm.svg
cp -f battery-0.png battery.png
cp -f battery-0.svg battery.svg
cp -f rollershutter-0.png blinds-0.png
cp -f rollershutter-0.svg blinds-0.svg
cp -f rollershutter-10.png blinds-10.png
cp -f rollershutter-10.svg blinds-10.svg
cp -f rollershutter-20.png blinds-20.png
cp -f rollershutter-20.svg blinds-20.svg
cp -f rollershutter-30.png blinds-30.png
cp -f rollershutter-30.svg blinds-30.svg
cp -f rollershutter-40.png blinds-40.png
cp -f rollershutter-40.svg blinds-40.svg
cp -f rollershutter-50.png blinds-50.png
cp -f rollershutter-50.svg blinds-50.svg
cp -f rollershutter-60.png blinds-60.png
cp -f rollershutter-60.svg blinds-60.svg
cp -f rollershutter-70.png blinds-70.png
cp -f rollershutter-70.svg blinds-70.svg
cp -f rollershutter-80.png blinds-80.png
cp -f rollershutter-80.svg blinds-80.svg
cp -f rollershutter-90.png blinds-90.png
cp -f rollershutter-90.svg blinds-90.svg
cp -f rollershutter-100.png blinds-100.png
cp -f rollershutter-100.svg blinds-100.svg
cp -f rollershutter.png blinds.png
cp -f rollershutter.svg blinds.svg
cp -f colorwheel.png colorlight.png
cp -f colorwheel.svg colorlight.svg
cp -f window-ajar.png contact-ajar.png
cp -f window-ajar.svg contact-ajar.svg
cp -f window-closed.png contact-closed.png
cp -f window-closed.svg contact-closed.svg
cp -f window-open.png contact-open.png
cp -f window-open.svg contact-open.svg
cp -f window.png contact.png
cp -f window.svg contact.svg
cp -f dimmablelight-0.png slider-0.png
cp -f dimmablelight-0.svg slider-0.svg
cp -f dimmablelight-10.png slider-10.png
cp -f dimmablelight-10.svg slider-10.svg
cp -f dimmablelight-20.png slider-20.png
cp -f dimmablelight-20.svg slider-20.svg
cp -f dimmablelight-30.png slider-30.png
cp -f dimmablelight-30.svg slider-30.svg
cp -f dimmablelight-40.png slider-40.png
cp -f dimmablelight-40.svg slider-40.svg
cp -f dimmablelight-50.png slider-50.png
cp -f dimmablelight-50.svg slider-50.svg
cp -f dimmablelight-60.png slider-60.png
cp -f dimmablelight-60.svg slider-60.svg
cp -f dimmablelight-70.png slider-70.png
cp -f dimmablelight-70.svg slider-70.svg
cp -f dimmablelight-80.png slider-80.png
cp -f dimmablelight-80.svg slider-80.svg
cp -f dimmablelight-90.png slider-90.png
cp -f dimmablelight-90.svg slider-90.svg
cp -f dimmablelight-100.png slider-100.png
cp -f dimmablelight-100.svg slider-100.svg
cp -f dimmablelight.png slider.png
cp -f dimmablelight.svg slider.svg
cp -f fan_box.png fan.png
cp -f fan_box.svg fan.svg
cp -f receiver.png player.png
cp -f receiver.svg player.svg
cp -f signal-0.png qualityofservice-0.png
cp -f signal-0.svg qualityofservice-0.svg
cp -f signal-1.png qualityofservice-1.png
cp -f signal-1.svg qualityofservice-1.svg
cp -f signal-2.png qualityofservice-2.png
cp -f signal-2.svg qualityofservice-2.svg
cp -f signal-3.png qualityofservice-3.png
cp -f signal-3.svg qualityofservice-3.svg
cp -f signal-4.png qualityofservice-4.png
cp -f signal-4.svg qualityofservice-4.svg
cp -f signal.png qualityofservice.png
cp -f signal.svg qualityofservice.svg
cp -f microphone.png recorder.png
cp -f microphone.svg recorder.svg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,8 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m6 58.5c-.83 0-1.5-.67-1.5-1.5v-4.15c0-.83.67-1.5 1.5-1.5h52c.83 0 1.5.67 1.5 1.5v4.15c0 .83-.67 1.5-1.5 1.5h-52" style="fill:#afafaf"/>
<path d="m58 51.86c.55 0 1 .45 1 1v4.14c0 .55-.45 1-1 1h-52c-.55 0-1-.45-1-1v-4.15c0-.55.45-1 1-1h52m0-.99h-52c-1.1 0-2 .9-2 2v4.14c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-4.15c0-1.1-.9-1.99-2-1.99z" style="fill:#787878"/>
<path d="m8.42 50.5l.06-.55c.41-3.83.75-7.97 1.08-11.99 1.25-15.24 2.43-29.63 7.3-31.43 5.26-1.95 14.12-2.03 15.11-2.03 1.04 0 9.91.08 15.18 2.03 4.87 1.81 6.05 16.2 7.3 31.43.33 4.01.67 8.16 1.08 11.99l.06.55h-47.17" style="fill:#ef4d4d"/>
<path d="m32.02 5c.51 0 9.68.04 14.95 2 5.83 2.17 6.17 25.33 8.05 43h-8.78-14.22-.05-14.21-8.78c1.88-17.67 2.22-40.84 8.05-43 5.27-1.96 14.45-2 14.95-2 0 0 .02 0 .02 0s.02 0 .02 0m0-1v1l-.02-1c-1.03 0-9.97.07-15.32 2.06-5.17 1.92-6.3 15.8-7.62 31.86-.33 4.01-.67 8.15-1.07 11.97l-.13 1.11h1.11 8.78 14.22 14.27 8.78 1.11l-.12-1.11c-.41-3.82-.75-7.96-1.07-11.97-1.32-16.07-2.45-29.94-7.62-31.86-5.36-1.99-14.29-2.06-15.3-2.06z" style="fill:#cc2929"/>
<path d="m32.01 6.99c0 0-10.38-.94-14.01 2.01-4.92 4-6.08 22.75-7 39h21.01v-41.01" style="fill:#ffce00"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 B

View File

@ -1,44 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<defs>
<linearGradient id="0" gradientUnits="userSpaceOnUse" x1="3" x2="61">
<stop style="stop-color:#fff;stop-opacity:0"/>
<stop offset=".2"/>
<stop offset=".8"/>
<stop offset="1" style="stop-color:#fff;stop-opacity:0"/>
</linearGradient>
</defs>
<path d="m3 46h58v1h-58z" style="fill:url(#0)"/>
<path d="m12.5 59.5v-45.19l19.5-9.75 19.5 9.75v45.19z" style="fill:#f0f0f0"/>
<path d="M32,5.12l19,9.5V59H13V14.62L32,5.12 M32,4L12,14v46h40V14L32,4L32,4z" style="fill:#c8c8c8"/>
<path d="m12.5 33.5h39v13h-39z" style="fill:#f0f0f0"/>
<path d="m51 34v12h-38v-12h38m1-1h-40v14h40v-14z" style="fill:#c8c8c8"/>
<path d="m12.5 20.5h39v13h-39z" style="fill:#f0f0f0"/>
<path d="m51 21v12h-38v-12h38m1-1h-40v14h40v-14z" style="fill:#c8c8c8"/>
<path d="m17.43 23.43h5.13v6.13h-5.13z" style="fill:#f0f0f0"/>
<path d="m22.13 23.87v5.27h-4.27v-5.27h4.27m.87-.87h-6v7h6v-7z" style="fill:#c8c8c8"/>
<path d="m22.43 23.43h5.13v6.13h-5.13z" style="fill:#f0f0f0"/>
<path d="m27.13 23.87v5.27h-4.27v-5.27h4.27m.87-.87h-6v7h6v-7z" style="fill:#c8c8c8"/>
<path d="m40.5 36.5h6v10h-6z" style="fill:#f0f0f0"/>
<path d="m46 37v9h-5v-9h5m1-1h-7v11h7v-11z" style="fill:#c8c8c8"/>
<path d="m31.43 23.43h5.13v6.13h-5.13z" style="fill:#f0f0f0"/>
<path d="m36.13 23.87v5.27h-4.27v-5.27h4.27m.87-.87h-6v7h6v-7z" style="fill:#c8c8c8"/>
<path d="m17.43 36.43h5.13v6.13h-5.13z" style="fill:#f0f0f0"/>
<path d="m22.13 36.87v5.27h-4.27v-5.27h4.27m.87-.87h-6v7h6v-7z" style="fill:#c8c8c8"/>
<path d="m22.43 36.43h5.13v6.13h-5.13z" style="fill:#f0f0f0"/>
<path d="m27.13 36.87v5.27h-4.27v-5.27h4.27m.87-.87h-6v7h6v-7z" style="fill:#c8c8c8"/>
<path d="m31.43 36.43h5.13v6.13h-5.13z" style="fill:#f0f0f0"/>
<path d="m36.13 36.87v5.27h-4.27v-5.27h4.27m.87-.87h-6v7h6v-7z" style="fill:#c8c8c8"/>
<path d="m40.47 23.47h6.06v6.06h-6.06z" style="fill:#f0f0f0"/>
<g style="fill:#c8c8c8">
<path d="m46.06 23.94v5.13h-5.13v-5.13h5.13m.94-.94h-7v7h7v-7z"/>
<path d="m44 41h1v1h-1z"/>
</g>
<path d="m12.5 20.5v-6.19l19.5-9.75 19.5 9.75v6.19z" style="fill:#ffccd3"/>
<path d="M32,5.12l19,9.5V20H13v-5.38L32,5.12 M32,4L12,14v7h40v-7L32,4L32,4z" style="fill:#f66"/>
<path d="m58 17.5l-26-13-26 13" style="fill:none;stroke-miterlimit:10;stroke:#2e7de5;stroke-width:1.5"/>
<path d="m25.5 12.5h5v5h-5z" style="fill:#ffccd3"/>
<path d="m30 13v4h-4v-4h4m1-1h-6v6h6v-6z" style="fill:#f66"/>
<path d="m33.5 12.5h5v5h-5z" style="fill:#ffccd3"/>
<path d="m38 13v4h-4v-4h4m1-1h-6v6h6v-6z" style="fill:#f66"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m32 17.5c-4.7 0-8.5-3.8-8.5-8.5s3.8-8.5 8.5-8.5 8.5 3.8 8.5 8.5-3.8 8.5-8.5 8.5" style="fill:#f4d0b1"/>
<path d="m32 1c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8m0-1c-5 0-9 4-9 9 0 5 4 9 9 9s9-4 9-9c0-5-4-9-9-9z" style="fill:#e5b795"/>
<path d="m27.6 63.5c-.7 0-1.3-.3-1.8-.7l-8.5-8.5c-2.1-2.1-2.1-5.6 0-7.8l5.3-5.3 5.7 5.7-5.3 5.3 6.7 6.7c.5.5.7 1.1.7 1.8 0 .7-.3 1.3-.7 1.8l-.4.4c-.4.3-1 .6-1.7.6" style="fill:#f4d0b1"/>
<path d="m22.7 41.9l4.9 4.9-4.6 4.7-.7.7.7.7 6.4 6.4c.8.8.8 2 0 2.8l-.4.3c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-6.4-6.4-2.1-2.1c-1.9-1.9-1.9-5.1 0-7.1l5-4.9m0-1.4l-5.7 5.7c-2.3 2.3-2.3 6.1 0 8.5l2.1 2.1 6.4 6.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l.4-.4c1.2-1.2 1.2-3.1 0-4.2l-6.4-6.4 5.3-5.3-6.3-6.4z" style="fill:#e5b795"/>
<path d="m36.4 63.5c-.7 0-1.3-.3-1.8-.7l-.4-.4c-.5-.5-.7-1.1-.7-1.8 0-.7.3-1.3.7-1.8l6.7-6.7-5.3-5.3 5.7-5.7 5.3 5.3c2.1 2.1 2.1 5.6 0 7.8l-8.5 8.5c-.4.5-1.1.8-1.7.8" style="fill:#f4d0b1"/>
<path d="m41.3 41.9l4.9 4.9c1.9 1.9 1.9 5.1 0 7.1l-2.1 2.1-6.4 6.4c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-.4-.4c-.8-.8-.8-2 0-2.8l6.4-6.4.7-.7-.6-.6-4.6-4.6 4.9-5m0-1.4l-6.3 6.4 5.3 5.3-6.4 6.4c-1.2 1.2-1.2 3.1 0 4.2l.4.4c.6.6 1.4.9 2.1.9.8 0 1.5-.3 2.1-.9l6.4-6.4 2.1-2.1c2.3-2.3 2.3-6.1 0-8.5l-5.7-5.7z" style="fill:#e5b795"/>
<path d="m51.2 38c-.7 0-1.3-.3-1.8-.7l-9-9v8h-17v-8l-9 9c-.5.5-1.1.7-1.8.7-.7 0-1.3-.3-1.8-.7-1-1-1-2.6 0-3.5l12.9-12.8c.5-.5 1.1-.7 1.8-.7h.1.1 12.6c0 0 .1 0 .1 0 .7 0 1.4.3 1.8.7l12.8 12.7c1 1 1 2.6 0 3.5-.5.5-1.1.8-1.8.8" style="fill:#f4d0b1"/>
<path d="m38.3 20.8h.1.1c.5 0 1 .2 1.4.6l12.7 12.7c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-8.1-8.1-1.7-1.7v2.4 6.3h-16v-6.3-2.4l-1.7 1.7-8.1 8.1c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6-.8-.8-.8-2 0-2.8l12.7-12.7c.4-.4.9-.6 1.4-.6h.1c0 0 .1 0 .1 0h12.6m0-1h-12.6c0 0-.1 0-.1 0 0 0-.1 0-.1 0-.8 0-1.5.3-2.1.9l-12.8 12.7c-1.2 1.2-1.2 3.1 0 4.2.6.6 1.4.9 2.1.9.8 0 1.5-.3 2.1-.9l8.1-8.1v7.3h18v-7.3l8.1 8.1c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.2 1.2-3.1 0-4.2l-12.6-12.8c-.6-.6-1.4-.9-2.1-.9 0 .1-.1.1-.2.1z" style="fill:#e5b795"/>
<path d="m23 36.8l-.3 3.7 6.3 6.4h6l6.3-6.4-.3-3.7z" style="fill:#fff;stroke-miterlimit:10;stroke:#e8e8e8;stroke-linecap:round;stroke-linejoin:round"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m32 17.5c-4.7 0-8.5-3.8-8.5-8.5s3.8-8.5 8.5-8.5 8.5 3.8 8.5 8.5-3.8 8.5-8.5 8.5" style="fill:#e7b48f"/>
<path d="m32 1c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8m0-1c-5 0-9 4-9 9 0 5 4 9 9 9s9-4 9-9c0-5-4-9-9-9z" style="fill:#d89f79"/>
<path d="m27.6 63.5c-.7 0-1.3-.3-1.8-.7l-8.5-8.5c-2.1-2.1-2.1-5.6 0-7.8l5.3-5.3 5.7 5.7-5.3 5.3 6.7 6.7c.5.5.7 1.1.7 1.8 0 .7-.3 1.3-.7 1.8l-.4.4c-.4.3-1 .6-1.7.6" style="fill:#e7b48f"/>
<path d="m22.7 41.9l4.9 4.9-4.6 4.7-.7.7.7.7 6.4 6.4c.8.8.8 2 0 2.8l-.4.3c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-6.4-6.4-2.1-2.1c-1.9-1.9-1.9-5.1 0-7.1l5-4.9m0-1.4l-5.7 5.7c-2.3 2.3-2.3 6.1 0 8.5l2.1 2.1 6.4 6.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l.4-.4c1.2-1.2 1.2-3.1 0-4.2l-6.4-6.4 5.3-5.3-6.3-6.4z" style="fill:#d89f79"/>
<path d="m36.4 63.5c-.7 0-1.3-.3-1.8-.7l-.4-.4c-.5-.5-.7-1.1-.7-1.8 0-.7.3-1.3.7-1.8l6.7-6.7-5.3-5.3 5.7-5.7 5.3 5.3c2.1 2.1 2.1 5.6 0 7.8l-8.5 8.5c-.4.5-1.1.8-1.7.8" style="fill:#e7b48f"/>
<path d="m41.3 41.9l4.9 4.9c1.9 1.9 1.9 5.1 0 7.1l-2.1 2.1-6.4 6.4c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-.4-.4c-.8-.8-.8-2 0-2.8l6.4-6.4.7-.7-.6-.6-4.6-4.6 4.9-5m0-1.4l-6.3 6.4 5.3 5.3-6.4 6.4c-1.2 1.2-1.2 3.1 0 4.2l.4.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l6.4-6.4 2.1-2.1c2.3-2.3 2.3-6.1 0-8.5l-5.7-5.7z" style="fill:#d89f79"/>
<path d="m51.2 38c-.7 0-1.3-.3-1.8-.7l-9-9v8h-17v-8l-9 9c-.5.5-1.1.7-1.8.7-.7 0-1.3-.3-1.8-.7-1-1-1-2.6 0-3.5l12.9-12.8c.5-.5 1.1-.7 1.8-.7h.1.1 12.6c0 0 .1 0 .1 0 .7 0 1.4.3 1.8.7l12.8 12.7c1 1 1 2.6 0 3.5-.5.5-1.1.8-1.8.8" style="fill:#e7b48f"/>
<path d="m38.3 20.8h.1.1c.5 0 1 .2 1.4.6l12.7 12.7c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-8.1-8.1-1.7-1.7v2.4 6.3h-16v-6.3-2.4l-1.7 1.7-8.1 8.1c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6c-.8-.8-.8-2 0-2.8l12.7-12.7c.4-.4.9-.6 1.4-.6h.1c0 0 .1 0 .1 0h12.6m0-1h-12.6c0 0-.1 0-.1 0 0 0-.1 0-.1 0-.8 0-1.5.3-2.1.9l-12.8 12.7c-1.2 1.2-1.2 3.1 0 4.2.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l8.1-8.1v7.3h18v-7.3l8.1 8.1c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.2 1.2-3.1 0-4.2l-12.6-12.8c-.6-.6-1.4-.9-2.1-.9 0 .1-.1.1-.2.1z" style="fill:#d89f79"/>
<path d="m23 36.8l-.3 3.7 6.3 6.4h6l6.3-6.4-.3-3.7z" style="fill:#fff;stroke-miterlimit:10;stroke:#e8e8e8;stroke-linecap:round;stroke-linejoin:round"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m32 17.5c-4.7 0-8.5-3.8-8.5-8.5s3.8-8.5 8.5-8.5 8.5 3.8 8.5 8.5-3.8 8.5-8.5 8.5" style="fill:#d29e7c"/>
<path d="m32 1c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8m0-1c-5 0-9 4-9 9 0 5 4 9 9 9s9-4 9-9c0-5-4-9-9-9z" style="fill:#c18a6b"/>
<path d="m27.6 63.5c-.7 0-1.3-.3-1.8-.7l-8.5-8.5c-2.1-2.1-2.1-5.6 0-7.8l5.3-5.3 5.7 5.7-5.3 5.3 6.7 6.7c.5.5.7 1.1.7 1.8 0 .7-.3 1.3-.7 1.8l-.4.4c-.4.3-1 .6-1.7.6" style="fill:#d29e7c"/>
<path d="m22.7 41.9l4.9 4.9-4.6 4.7-.7.7.7.7 6.4 6.4c.8.8.8 2 0 2.8l-.4.3c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-6.4-6.4-2.1-2.1c-1.9-1.9-1.9-5.1 0-7.1l5-4.9m0-1.4l-5.7 5.7c-2.3 2.3-2.3 6.1 0 8.5l2.1 2.1 6.4 6.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l.4-.4c1.2-1.2 1.2-3.1 0-4.2l-6.4-6.4 5.3-5.3-6.3-6.4z" style="fill:#c18a6b"/>
<path d="m36.4 63.5c-.7 0-1.3-.3-1.8-.7l-.4-.4c-.5-.5-.7-1.1-.7-1.8 0-.7.3-1.3.7-1.8l6.7-6.7-5.3-5.3 5.7-5.7 5.3 5.3c2.1 2.1 2.1 5.6 0 7.8l-8.5 8.5c-.4.5-1.1.8-1.7.8" style="fill:#d29e7c"/>
<path d="m41.3 41.9l4.9 4.9c1.9 1.9 1.9 5.1 0 7.1l-2.1 2.1-6.4 6.4c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-.4-.4c-.8-.8-.8-2 0-2.8l6.4-6.4.7-.7-.6-.6-4.6-4.6 4.9-5m0-1.4l-6.3 6.4 5.3 5.3-6.4 6.4c-1.2 1.2-1.2 3.1 0 4.2l.4.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l6.4-6.4 2.1-2.1c2.3-2.3 2.3-6.1 0-8.5l-5.7-5.7z" style="fill:#c18a6b"/>
<path d="m51.2 38c-.7 0-1.3-.3-1.8-.7l-9-9v8h-17v-8l-9 9c-.5.5-1.1.7-1.8.7-.7 0-1.3-.3-1.8-.7-1-1-1-2.6 0-3.5l12.9-12.8c.5-.5 1.1-.7 1.8-.7h.1.1 12.6c0 0 .1 0 .1 0 .7 0 1.4.3 1.8.7l12.8 12.7c1 1 1 2.6 0 3.5-.5.5-1.1.8-1.8.8" style="fill:#d29e7c"/>
<path d="m38.3 20.8h.1.1c.5 0 1 .2 1.4.6l12.7 12.7c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-8.1-8.1-1.7-1.7v2.4 6.3h-16v-6.3-2.4l-1.7 1.7-8.1 8.1c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6c-.8-.8-.8-2 0-2.8l12.7-12.7c.4-.4.9-.6 1.4-.6h.1c0 0 .1 0 .1 0h12.6m0-1h-12.6c0 0-.1 0-.1 0 0 0-.1 0-.1 0-.8 0-1.5.3-2.1.9l-12.8 12.7c-1.2 1.2-1.2 3.1 0 4.2.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l8.1-8.1v7.3h18v-7.3l8.1 8.1c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.2 1.2-3.1 0-4.2l-12.6-12.8c-.6-.6-1.4-.9-2.1-.9 0 .1-.1.1-.2.1z" style="fill:#c18a6b"/>
<path d="m23 36.8l-.3 3.7 6.3 6.4h6l6.3-6.4-.3-3.7z" style="fill:#fff;stroke-miterlimit:10;stroke:#e8e8e8;stroke-linecap:round;stroke-linejoin:round"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m32 17.5c-4.7 0-8.5-3.8-8.5-8.5s3.8-8.5 8.5-8.5 8.5 3.8 8.5 8.5-3.8 8.5-8.5 8.5" style="fill:#ba7750"/>
<path d="m32 1c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8m0-1c-5 0-9 4-9 9 0 5 4 9 9 9s9-4 9-9c0-5-4-9-9-9z" style="fill:#a35c3d"/>
<path d="m27.6 63.5c-.7 0-1.3-.3-1.8-.7l-8.5-8.5c-2.1-2.1-2.1-5.6 0-7.8l5.3-5.3 5.7 5.7-5.3 5.3 6.7 6.7c.5.5.7 1.1.7 1.8 0 .7-.3 1.3-.7 1.8l-.4.4c-.4.3-1 .6-1.7.6" style="fill:#ba7750"/>
<path d="m22.7 41.9l4.9 4.9-4.6 4.7-.7.7.7.7 6.4 6.4c.8.8.8 2 0 2.8l-.4.3c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-6.4-6.4-2.1-2.1c-1.9-1.9-1.9-5.1 0-7.1l5-4.9m0-1.4l-5.7 5.7c-2.3 2.3-2.3 6.1 0 8.5l2.1 2.1 6.4 6.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l.4-.4c1.2-1.2 1.2-3.1 0-4.2l-6.4-6.4 5.3-5.3-6.3-6.4z" style="fill:#a35c3d"/>
<path d="m36.4 63.5c-.7 0-1.3-.3-1.8-.7l-.4-.4c-.5-.5-.7-1.1-.7-1.8 0-.7.3-1.3.7-1.8l6.7-6.7-5.3-5.3 5.7-5.7 5.3 5.3c2.1 2.1 2.1 5.6 0 7.8l-8.5 8.5c-.4.5-1.1.8-1.7.8" style="fill:#ba7750"/>
<path d="m41.3 41.9l4.9 4.9c1.9 1.9 1.9 5.1 0 7.1l-2.1 2.1-6.4 6.4c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-.4-.4c-.8-.8-.8-2 0-2.8l6.4-6.4.7-.7-.6-.6-4.6-4.6 4.9-5m0-1.4l-6.3 6.4 5.3 5.3-6.4 6.4c-1.2 1.2-1.2 3.1 0 4.2l.4.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l6.4-6.4 2.1-2.1c2.3-2.3 2.3-6.1 0-8.5l-5.7-5.7z" style="fill:#a35c3d"/>
<path d="m51.2 38c-.7 0-1.3-.3-1.8-.7l-9-9v8h-17v-8l-9 9c-.5.5-1.1.7-1.8.7-.7 0-1.3-.3-1.8-.7-1-1-1-2.6 0-3.5l12.9-12.8c.5-.5 1.1-.7 1.8-.7h.1.1 12.6c0 0 .1 0 .1 0 .7 0 1.4.3 1.8.7l12.8 12.7c1 1 1 2.6 0 3.5-.5.5-1.1.8-1.8.8" style="fill:#ba7750"/>
<path d="m38.3 20.8h.1.1c.5 0 1 .2 1.4.6l12.7 12.7c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-8.1-8.1-1.7-1.7v2.4 6.3h-16v-6.3-2.4l-1.7 1.7-8.1 8.1c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6c-.8-.8-.8-2 0-2.8l12.7-12.7c.4-.4.9-.6 1.4-.6h.1c0 0 .1 0 .1 0h12.6m0-1h-12.6c0 0-.1 0-.1 0 0 0-.1 0-.1 0-.8 0-1.5.3-2.1.9l-12.8 12.7c-1.2 1.2-1.2 3.1 0 4.2.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l8.1-8.1v7.3h18v-7.3l8.1 8.1c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.2 1.2-3.1 0-4.2l-12.6-12.8c-.6-.6-1.4-.9-2.1-.9 0 .1-.1.1-.2.1z" style="fill:#a35c3d"/>
<path d="m23 36.8l-.3 3.7 6.3 6.4h6l6.3-6.4-.3-3.7z" style="fill:#fff;stroke-miterlimit:10;stroke:#e8e8e8;stroke-linecap:round;stroke-linejoin:round"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m32 17.5c-4.7 0-8.5-3.8-8.5-8.5s3.8-8.5 8.5-8.5 8.5 3.8 8.5 8.5-3.8 8.5-8.5 8.5" style="fill:#a55d2b"/>
<path d="m32 1c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8m0-1c-5 0-9 4-9 9 0 5 4 9 9 9s9-4 9-9c0-5-4-9-9-9z" style="fill:#89471b"/>
<path d="m27.6 63.5c-.7 0-1.3-.3-1.8-.7l-8.5-8.5c-2.1-2.1-2.1-5.6 0-7.8l5.3-5.3 5.7 5.7-5.3 5.3 6.7 6.7c.5.5.7 1.1.7 1.8 0 .7-.3 1.3-.7 1.8l-.4.4c-.4.3-1 .6-1.7.6" style="fill:#a55d2b"/>
<path d="m22.7 41.9l4.9 4.9-4.6 4.7-.7.7.7.7 6.4 6.4c.8.8.8 2 0 2.8l-.4.3c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-6.4-6.4-2.1-2.1c-1.9-1.9-1.9-5.1 0-7.1l5-4.9m0-1.4l-5.7 5.7c-2.3 2.3-2.3 6.1 0 8.5l2.1 2.1 6.4 6.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l.4-.4c1.2-1.2 1.2-3.1 0-4.2l-6.4-6.4 5.3-5.3-6.3-6.4z" style="fill:#89471b"/>
<path d="m36.4 63.5c-.7 0-1.3-.3-1.8-.7l-.4-.4c-.5-.5-.7-1.1-.7-1.8 0-.7.3-1.3.7-1.8l6.7-6.7-5.3-5.3 5.7-5.7 5.3 5.3c2.1 2.1 2.1 5.6 0 7.8l-8.5 8.5c-.4.5-1.1.8-1.7.8" style="fill:#a55d2b"/>
<path d="m41.3 41.9l4.9 4.9c1.9 1.9 1.9 5.1 0 7.1l-2.1 2.1-6.4 6.4c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-.4-.4c-.8-.8-.8-2 0-2.8l6.4-6.4.7-.7-.6-.6-4.6-4.6 4.9-5m0-1.4l-6.3 6.4 5.3 5.3-6.4 6.4c-1.2 1.2-1.2 3.1 0 4.2l.4.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l6.4-6.4 2.1-2.1c2.3-2.3 2.3-6.1 0-8.5l-5.7-5.7z" style="fill:#89471b"/>
<path d="m51.2 38c-.7 0-1.3-.3-1.8-.7l-9-9v8h-17v-8l-9 9c-.5.5-1.1.7-1.8.7-.7 0-1.3-.3-1.8-.7-1-1-1-2.6 0-3.5l12.9-12.8c.5-.5 1.1-.7 1.8-.7h.1.1 12.6c0 0 .1 0 .1 0 .7 0 1.4.3 1.8.7l12.8 12.7c1 1 1 2.6 0 3.5-.5.5-1.1.8-1.8.8" style="fill:#a55d2b"/>
<path d="m38.3 20.8h.1.1c.5 0 1 .2 1.4.6l12.7 12.7c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-8.1-8.1-1.7-1.7v2.4 6.3h-16v-6.3-2.4l-1.7 1.7-8.1 8.1c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6-.8-.8-.8-2 0-2.8l12.7-12.7c.4-.4.9-.6 1.4-.6h.1c0 0 .1 0 .1 0h12.6m0-1h-12.6c0 0-.1 0-.1 0 0 0-.1 0-.1 0-.8 0-1.5.3-2.1.9l-12.8 12.7c-1.2 1.2-1.2 3.1 0 4.2.6.6 1.4.9 2.1.9.8 0 1.5-.3 2.1-.9l8.1-8.1v7.3h18v-7.3l8.1 8.1c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.2 1.2-3.1 0-4.2l-12.6-12.8c-.6-.6-1.4-.9-2.1-.9 0 .1-.1.1-.2.1z" style="fill:#89471b"/>
<path d="m23 36.8l-.3 3.7 6.3 6.4h6l6.3-6.4-.3-3.7z" style="fill:#fff;stroke-miterlimit:10;stroke:#e8e8e8;stroke-linecap:round;stroke-linejoin:round"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,12 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m32 17.5c-4.7 0-8.5-3.8-8.5-8.5s3.8-8.5 8.5-8.5 8.5 3.8 8.5 8.5-3.8 8.5-8.5 8.5" style="fill:#3c201d"/>
<path d="m32 1c4.4 0 8 3.6 8 8s-3.6 8-8 8-8-3.6-8-8 3.6-8 8-8m0-1c-5 0-9 4-9 9 0 5 4 9 9 9s9-4 9-9c0-5-4-9-9-9z" style="fill:#1e0e0e"/>
<path d="m27.6 63.5c-.7 0-1.3-.3-1.8-.7l-8.5-8.5c-2.1-2.1-2.1-5.6 0-7.8l5.3-5.3 5.7 5.7-5.3 5.3 6.7 6.7c1 1 1 2.6 0 3.5l-.4.4c-.4.4-1 .7-1.7.7" style="fill:#3c201d"/>
<path d="m22.7 41.9l4.9 4.9-4.6 4.7-.7.7.7.7 6.4 6.4c.8.8.8 2 0 2.8l-.4.3c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-6.4-6.4-2.1-2.1c-1.9-1.9-1.9-5.1 0-7.1l5-4.9m0-1.4l-5.7 5.7c-2.3 2.3-2.3 6.1 0 8.5l2.1 2.1 6.4 6.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l.4-.4c1.2-1.2 1.2-3.1 0-4.2l-6.4-6.4 5.3-5.3-6.3-6.4z" style="fill:#1e0e0e"/>
<path d="m36.4 63.5c-.7 0-1.3-.3-1.8-.7l-.4-.4c-1-1-1-2.6 0-3.5l6.7-6.7-5.3-5.3 5.7-5.7 5.3 5.3c2.1 2.1 2.1 5.6 0 7.8l-8.5 8.5c-.4.4-1.1.7-1.7.7" style="fill:#3c201d"/>
<path d="m41.3 41.9l4.9 4.9c1.9 1.9 1.9 5.1 0 7.1l-2.1 2.1-6.4 6.4c-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-.4-.4c-.8-.8-.8-2 0-2.8l6.4-6.4.7-.7-.6-.6-4.6-4.6 4.9-5m0-1.4l-6.3 6.4 5.3 5.3-6.4 6.4c-1.2 1.2-1.2 3.1 0 4.2l.4.4c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9l6.4-6.4 2.1-2.1c2.3-2.3 2.3-6.1 0-8.5l-5.7-5.7z" style="fill:#1e0e0e"/>
<path d="m51.2 38c-.7 0-1.3-.3-1.8-.7l-9-9v8h-17v-8l-9 9c-.5.5-1.1.7-1.8.7-.7 0-1.3-.3-1.8-.7-1-1-1-2.6 0-3.5l12.9-12.8c.5-.5 1.1-.7 1.8-.7h.1.1 12.6c0 0 .1 0 .1 0 .7 0 1.4.3 1.8.7l12.8 12.7c1 1 1 2.6 0 3.5-.5.5-1.1.8-1.8.8" style="fill:#3c201d"/>
<path d="m38.3 20.8h.1.1c.5 0 1 .2 1.4.6l12.7 12.7c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-8.1-8.1-1.7-1.7v2.4 6.3h-16v-6.3-2.4l-1.7 1.7-8.1 8.1c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6-.8-.8-.8-2 0-2.8l12.7-12.7c.4-.4.9-.6 1.4-.6h.1c0 0 .1 0 .1 0h12.6m0-1h-12.6c0 0-.1 0-.1 0 0 0-.1 0-.1 0-.8 0-1.5.3-2.1.9l-12.8 12.7c-1.2 1.2-1.2 3.1 0 4.2.6.6 1.4.9 2.1.9.8 0 1.5-.3 2.1-.9l8.1-8.1v7.3h18v-7.3l8.1 8.1c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.2 1.2-3.1 0-4.2l-12.6-12.8c-.6-.6-1.4-.9-2.1-.9 0 .1-.1.1-.2.1z" style="fill:#1e0e0e"/>
<path d="m23 36.8l-.3 3.7 6.3 6.4h6l6.3-6.4-.3-3.7z" style="fill:#fff;stroke-miterlimit:10;stroke:#e8e8e8;stroke-linecap:round;stroke-linejoin:round"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 979 B

View File

@ -1,15 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<defs>
<linearGradient id="0" gradientUnits="userSpaceOnUse" y1="26.1191" x2="0" y2="46.5">
<stop style="stop-color:#fafafa"/>
<stop offset="1" style="stop-color:#dcdcdc"/>
</linearGradient>
</defs>
<path d="m3.12 24.88v-1.88c0-2.14 1.74-3.88 3.88-3.88h6c1.03 0 1.88.84 1.88 1.88v.88h-1.75v-.38c0-.34-.28-.62-.62-.62h-5.51c-1.17 0-2.12.95-2.12 2.12v1.88h-1.76" style="fill:#c5c6c8"/>
<path d="m13 19.25c.96 0 1.75.79 1.75 1.75v.75h-1.5v-.25c0-.41-.34-.75-.75-.75h-5.5c-1.24 0-2.25 1.01-2.25 2.25v1.75h-1.5v-1.75c0-2.07 1.68-3.75 3.75-3.75h6m0-.25h-6c-2.2 0-4 1.8-4 4v2h2v-2c0-1.1.9-2 2-2h5.5c.28 0 .5.22.5.5v.5h2v-1c0-1.1-.9-2-2-2z" style="fill:#8c8c8c"/>
<path d="m13.7 46.5c-9.6 0-11.72-16.74-12.04-19.96l60.67-.42c-.17 1.57-.96 6.5-4.36 12.71-3.97 7.25-9 7.65-9.21 7.67h-35.06" style="fill:url(#0)"/>
<path d="m61.77 26.62c-.28 1.95-1.21 6.44-4.23 11.97-3.88 7.08-8.6 7.4-8.76 7.41h-35.08c-8.72 0-11.01-14.82-11.48-18.96l59.55-.42m1.11-1.01l-61.76.44c0 0 1.43 20.95 12.58 20.95s35.07 0 35.07 0 5.39-.18 9.63-7.93c4.25-7.74 4.48-13.46 4.48-13.46z" style="fill:#b4b4b4"/>
<path d="m1 26.58c-.28 0-.5-.22-.5-.5v-1.58h63v1.58c0 .28-.22.5-.5.5h-62" style="fill:#f0f0f0"/>
<path d="m63 25v1.08h-62v-1.08h62m1-1h-64v2.08c0 .55.45 1 1 1h62c.55 0 1-.45 1-1v-2.08z" style="fill:#b4b4b4"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 B

View File

@ -1,7 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
</svg>

Before

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
<path d="m9 46h-6c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h6v28" style="fill:#f00014"/>
<path d="m8 18h1v28h-1z" style="fill:#d6001a"/>
</svg>

Before

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 B

View File

@ -1,8 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
<path d="m54 46h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2" style="fill:#00c83c"/>
</svg>

Before

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
<path d="m15 46h-12c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h12v28" style="fill:#ff6400"/>
<path d="m14 18h1v28h-1z" style="fill:#e55200"/>
</svg>

Before

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
<path d="m20 46h-17c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h17v28" style="fill:#ffd200"/>
<path d="m19 18h1v28h-1z" style="fill:#e5b900"/>
</svg>

Before

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
<path d="m25 46h-22c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h22v28" style="fill:#ffd200"/>
<path d="m24 18h1v28h-1z" style="fill:#e5b900"/>
</svg>

Before

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
<path d="m30 46h-27c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h27v28" style="fill:#ffd200"/>
<path d="m29 18h1v28h-1z" style="fill:#e5b900"/>
</svg>

Before

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 316 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
<path d="m35 46h-32c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h32v28" style="fill:#00c83c"/>
<path d="m34 18h1v28h-1z" style="fill:#00b22a"/>
</svg>

Before

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
<path d="m40 46h-37c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h37v28" style="fill:#00c83c"/>
<path d="m39 18h1v28h-1z" style="fill:#00b22a"/>
</svg>

Before

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 315 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
<path d="m45 46h-42c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h42v28" style="fill:#00c83c"/>
<path d="m44 18h1v28h-1z" style="fill:#00b22a"/>
</svg>

Before

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 B

View File

@ -1,9 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
<path d="m50 46h-47c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h47v28" style="fill:#00c83c"/>
<path d="m49 18h1v28h-1z" style="fill:#00b22a"/>
</svg>

Before

Width:  |  Height:  |  Size: 898 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 B

View File

@ -1,7 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<path d="m57 39.5c-.3 0-.5-.2-.5-.5v-14c0-.3.2-.5.5-.5h5c.8 0 1.5.7 1.5 1.5v12c0 .8-.7 1.5-1.5 1.5h-5" style="fill:#bebec8"/>
<path d="m62 25c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1h-5v-14h5m0-1h-5c-.6 0-1 .4-1 1v14c0 .6.4 1 1 1h5c1.1 0 2-.9 2-2v-12c0-1.1-.9-2-2-2z" style="fill:#34383f"/>
<path d="m3 46.5c-1.4 0-2.5-1.1-2.5-2.5v-24c0-1.4 1.1-2.5 2.5-2.5h51c1.4 0 2.5 1.1 2.5 2.5v24c0 1.4-1.1 2.5-2.5 2.5h-51" style="fill:#f0f0f0"/>
<path d="m54 18c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2h-51c-1.1 0-2-.9-2-2v-24c0-1.1.9-2 2-2h51m0-1h-51c-1.7 0-3 1.3-3 3v24c0 1.7 1.3 3 3 3h51c1.7 0 3-1.3 3-3v-24c0-1.7-1.3-3-3-3z" style="fill:#34383f"/>
</svg>

Before

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,30 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<defs>
<linearGradient id="3" gradientUnits="userSpaceOnUse" x1="-47.0055" x2="-39.6209" gradientTransform="matrix(1.2374.212-.1689.9856 78.2996 32.5442)">
<stop style="stop-color:#b4b4b4"/>
<stop offset=".4354" style="stop-color:#a9a9a9"/>
<stop offset="1" style="stop-color:#a0a0a0"/>
</linearGradient>
<linearGradient id="2" gradientUnits="userSpaceOnUse" y1="24.75" x2="0" y2="46">
<stop style="stop-color:#fff"/>
<stop offset="1" style="stop-color:#b4b4b4"/>
</linearGradient>
<linearGradient id="0" gradientUnits="userSpaceOnUse" x1="18" x2="58" xlink:href="#3"/>
<linearGradient id="1" gradientUnits="userSpaceOnUse" x1="19.71" y1="25.8551" x2="11.1441" y2="34.421">
<stop style="stop-color:#fff"/>
<stop offset="1" style="stop-color:#c8c8c8"/>
</linearGradient>
</defs>
<path d="m58.5 25.5h5v24h-5z" style="fill:#845340"/>
<path d="m63 26v23h-4v-23h4m1-1h-6v25h6v-25z" style="fill:#663629"/>
<path d="m20.75 36.92c-.5 0-.98-.11-1.43-.33l-11.38-5.62c-.78-.38-1.36-1.05-1.64-1.87-.28-.82-.22-1.71.16-2.48l.71-1.45c.54-1.1 1.69-1.81 2.92-1.81.5 0 .98.11 1.43.33l11.38 5.61c1.61.79 2.27 2.74 1.48 4.35l-.71 1.45c-.53 1.1-1.68 1.82-2.92 1.82" style="fill:url(#1)"/>
<path d="m10.1 23.61c.46 0 .9.1 1.32.31l11.39 5.61c.72.35 1.25.97 1.51 1.73s.21 1.57-.15 2.29l-.71 1.45c-.5 1.02-1.56 1.67-2.7 1.67-.46 0-.9-.1-1.32-.31l-11.39-5.61c-1.48-.73-2.1-2.53-1.37-4.02l.71-1.45c.51-1.01 1.57-1.67 2.71-1.67m0-.5c-1.29 0-2.54.72-3.15 1.95l-.71 1.45c-.85 1.73-.13 3.84 1.59 4.69l11.39 5.61c.49.24 1.02.36 1.54.36 1.29 0 2.54-.72 3.15-1.95l.71-1.45c.85-1.73.13-3.84-1.59-4.69l-11.39-5.61c-.5-.24-1.02-.36-1.54-.36z" style="fill:#bebebe"/>
<path d="m5.5 32.5h53v10h-53z" style="fill:#845340"/>
<path d="m58 33v9h-52v-9h52m1-1h-54v11h54v-11z" style="fill:#663629"/>
<path d="M54.25,31H40.5c0,0-7.6-0.1-12.5-2.5 c-4.9-2.4-10-3.75-10-3.75V31v11.25c0,2.07,1.68,3.75,3.75,3.75H53c2.76,0,5-2.24,5-5v-6.25C58,32.68,56.32,31,54.25,31z" style="fill:url(#2);stroke-miterlimit:10;stroke:#bebebe;stroke-width:.5"/>
<path d="m19 26.08c1.79.55 5.24 1.69 8.56 3.32 5.04 2.46 12.61 2.6 12.94 2.6h13.75c1.52 0 2.75 1.23 2.75 2.75v6.25c0 2.21-1.79 4-4 4h-31.25c-1.52 0-2.75-1.23-2.75-2.75v-11.25-4.92m-1-1.33v6.25 11.25c0 2.07 1.68 3.75 3.75 3.75h31.25c2.76 0 5-2.24 5-5v-6.25c0-2.07-1.68-3.75-3.75-3.75h-13.75c0 0-7.6-.1-12.5-2.5-4.9-2.4-10-3.75-10-3.75z" style="fill:url(#0)"/>
<path d="m27.79 32.78l-9.14-1.57.21-1.21 9.14 1.57z" style="fill:url(#3)"/>
<path d="m.5 14.5h5v35h-5z" style="fill:#845340"/>
<path d="m5 15v34h-4v-34h4m1-1h-6v36h6v-36z" style="fill:#663629"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@ -1,34 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<defs>
<linearGradient id="3" gradientUnits="userSpaceOnUse" x1="19.7097" y1="25.8555" x2="11.1442" y2="34.421">
<stop style="stop-color:#fff"/>
<stop offset="1" style="stop-color:#c8c8c8"/>
</linearGradient>
<linearGradient id="2" gradientUnits="userSpaceOnUse" x1="2.4692" x2="9.8538" gradientTransform="matrix(1.2374.212-.1689.9856 18.7773 12.1372)">
<stop style="stop-color:#00255f"/>
<stop offset=".0124" style="stop-color:#00255e"/>
<stop offset=".6276" style="stop-color:#001945"/>
<stop offset="1" style="stop-color:#00143c"/>
</linearGradient>
<linearGradient id="0" gradientUnits="userSpaceOnUse" x1="18" x2="58" xlink:href="#2"/>
<linearGradient id="1" gradientUnits="userSpaceOnUse" y1="24.75" x2="0" y2="46">
<stop style="stop-color:#0062ca"/>
<stop offset=".28" style="stop-color:#004ca0"/>
<stop offset=".5974" style="stop-color:#003678"/>
<stop offset=".8485" style="stop-color:#00295e"/>
<stop offset="1" style="stop-color:#002455"/>
</linearGradient>
</defs>
<path d="m58.5 25.5h5v24h-5z" style="fill:#845340"/>
<path d="m63 26v23h-4v-23h4m1-1h-6v25h6v-25z" style="fill:#663629"/>
<path d="m20.75 36.92c-.5 0-.98-.11-1.43-.33l-11.38-5.62c-.78-.38-1.36-1.05-1.64-1.87-.28-.82-.22-1.71.16-2.48l.71-1.45c.54-1.1 1.69-1.81 2.93-1.81.5 0 .98.11 1.43.33l11.38 5.61c.78.38 1.36 1.05 1.64 1.87.28.83.22 1.71-.16 2.48l-.71 1.45c-.54 1.1-1.69 1.82-2.93 1.82" style="fill:url(#3)"/>
<path d="m10.1 23.11v.5c.46 0 .9.1 1.32.31l11.39 5.61c.72.35 1.25.97 1.51 1.73s.21 1.57-.15 2.29l-.71 1.45c-.5 1.02-1.56 1.67-2.7 1.67-.46 0-.9-.1-1.32-.31l-11.39-5.61c-1.48-.73-2.1-2.53-1.37-4.02l.71-1.45c.5-1.02 1.56-1.67 2.7-1.67v-.5m.01 0c-1.29 0-2.54.72-3.15 1.95l-.71 1.45c-.85 1.73-.13 3.84 1.59 4.69l11.39 5.61c.49.24 1.02.36 1.54.36 1.29 0 2.54-.72 3.15-1.95l.71-1.45c.85-1.73.13-3.84-1.59-4.69l-11.39-5.61c-.5-.24-1.02-.36-1.54-.36" style="fill:#bebebe"/>
<path d="m5.5 32.5h53v10h-53z" style="fill:#845340"/>
<path d="m58 33v9h-52v-9h52m1-1h-54v11h54v-11z" style="fill:#663629"/>
<path d="m54.25 31h-13.75c0 0-7.6-.1-12.5-2.5-4.9-2.4-10-3.75-10-3.75v6.25 11.25c0 2.07 1.68 3.75 3.75 3.75h31.25c2.76 0 5-2.24 5-5v-6.25c0-2.07-1.68-3.75-3.75-3.75" style="fill:url(#1)"/>
<path d="m19 26.08c1.8.55 5.25 1.69 8.56 3.32 5.04 2.46 12.61 2.6 12.94 2.6h13.75c1.52 0 2.75 1.23 2.75 2.75v6.25c0 2.21-1.79 4-4 4h-31.25c-1.52 0-2.75-1.23-2.75-2.75v-11.25-4.92m-1-1.33v6.25 11.25c0 2.07 1.68 3.75 3.75 3.75h31.25c2.76 0 5-2.24 5-5v-6.25c0-2.07-1.68-3.75-3.75-3.75h-13.75c0 0-7.6-.1-12.5-2.5-4.9-2.4-10-3.75-10-3.75z" style="fill:url(#0)"/>
<path d="m27.79 32.78l-9.14-1.57.21-1.21 9.14 1.57z" style="fill:url(#2);opacity:.6"/>
<path d="m.5 14.5h5v35h-5z" style="fill:#845340"/>
<path d="m5 15v34h-4v-34h4m1-1h-6v36h6v-36z" style="fill:#663629"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<defs>
<linearGradient id="3" gradientUnits="userSpaceOnUse" x1="19.7097" y1="25.8555" x2="11.1442" y2="34.421">
<stop style="stop-color:#fff"/>
<stop offset="1" style="stop-color:#c8c8c8"/>
</linearGradient>
<linearGradient id="2" gradientUnits="userSpaceOnUse" x1="19.6626" x2="27.0472" gradientTransform="matrix(1.2374.212-.1689.9856-.2171-4.8231)">
<stop style="stop-color:#cc9200"/>
<stop offset=".5481" style="stop-color:#de820f"/>
<stop offset="1" style="stop-color:#e77a17"/>
</linearGradient>
<linearGradient id="0" gradientUnits="userSpaceOnUse" x1="18" x2="58" xlink:href="#2"/>
<linearGradient id="1" gradientUnits="userSpaceOnUse" y1="24.75" x2="0" y2="46">
<stop style="stop-color:#f6b501"/>
<stop offset=".3311" style="stop-color:#f09c0a"/>
<stop offset=".7476" style="stop-color:#e98314"/>
<stop offset="1" style="stop-color:#e77a17"/>
</linearGradient>
</defs>
<path d="m58.5 25.5h5v24h-5z" style="fill:#845340"/>
<path d="m63 26v23h-4v-23h4m1-1h-6v25h6v-25z" style="fill:#663629"/>
<path d="m20.75 36.92c-.5 0-.98-.11-1.43-.33l-11.38-5.62c-.78-.38-1.36-1.05-1.64-1.87-.28-.82-.22-1.71.16-2.48l.71-1.45c.54-1.1 1.69-1.81 2.93-1.81.5 0 .98.11 1.43.33l11.38 5.61c.78.38 1.36 1.05 1.64 1.87.28.83.22 1.71-.16 2.48l-.71 1.45c-.54 1.1-1.69 1.82-2.93 1.82" style="fill:url(#3)"/>
<path d="m10.1 23.11v.5c.46 0 .9.1 1.32.31l11.39 5.61c.72.35 1.25.97 1.51 1.73s.21 1.57-.15 2.29l-.71 1.45c-.5 1.02-1.56 1.67-2.7 1.67-.46 0-.9-.1-1.32-.31l-11.39-5.61c-1.48-.73-2.1-2.53-1.37-4.02l.71-1.45c.5-1.02 1.56-1.67 2.7-1.67v-.5m.01 0c-1.29 0-2.54.72-3.15 1.95l-.71 1.45c-.85 1.73-.13 3.84 1.59 4.69l11.39 5.61c.49.24 1.02.36 1.54.36 1.29 0 2.54-.72 3.15-1.95l.71-1.45c.85-1.73.13-3.84-1.59-4.69l-11.39-5.61c-.5-.24-1.02-.36-1.54-.36" style="fill:#bebebe"/>
<path d="m5.5 32.5h53v10h-53z" style="fill:#845340"/>
<path d="m58 33v9h-52v-9h52m1-1h-54v11h54v-11z" style="fill:#663629"/>
<path d="m54.25 31h-13.75c0 0-7.6-.1-12.5-2.5-4.9-2.4-10-3.75-10-3.75v6.25 11.25c0 2.07 1.68 3.75 3.75 3.75h31.25c2.76 0 5-2.24 5-5v-6.25c0-2.07-1.68-3.75-3.75-3.75" style="fill:url(#1)"/>
<path d="m19 26.08c1.8.55 5.25 1.69 8.56 3.32 5.04 2.46 12.61 2.6 12.94 2.6h13.75c1.52 0 2.75 1.23 2.75 2.75v6.25c0 2.21-1.79 4-4 4h-31.25c-1.52 0-2.75-1.23-2.75-2.75v-11.25-4.92m-1-1.33v6.25 11.25c0 2.07 1.68 3.75 3.75 3.75h31.25c2.76 0 5-2.24 5-5v-6.25c0-2.07-1.68-3.75-3.75-3.75h-13.75c0 0-7.6-.1-12.5-2.5-4.9-2.4-10-3.75-10-3.75z" style="fill:url(#0)"/>
<path d="m27.79 32.78l-9.14-1.57.21-1.21 9.14 1.57z" style="fill:url(#2);opacity:.6"/>
<path d="m.5 14.5h5v35h-5z" style="fill:#845340"/>
<path d="m5 15v34h-4v-34h4m1-1h-6v36h6v-36z" style="fill:#663629"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1,37 +0,0 @@
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" style="enable-background:new 0 0 64 64">
<defs>
<linearGradient id="3" gradientUnits="userSpaceOnUse" x1="19.7097" y1="25.8555" x2="11.1442" y2="34.421">
<stop style="stop-color:#fff"/>
<stop offset="1" style="stop-color:#c8c8c8"/>
</linearGradient>
<linearGradient id="2" gradientUnits="userSpaceOnUse" x1="-14.7243" x2="-7.3397" gradientTransform="matrix(1.2374.212-.1689.9856 37.7717 29.0976)">
<stop style="stop-color:#a10012"/>
<stop offset="1" style="stop-color:#7c0009"/>
</linearGradient>
<linearGradient id="0" gradientUnits="userSpaceOnUse" x1="18" x2="58">
<stop style="stop-color:#880012"/>
<stop offset=".1945" style="stop-color:#7c000d"/>
<stop offset=".6962" style="stop-color:#630004"/>
<stop offset="1" style="stop-color:#5a0000"/>
</linearGradient>
<linearGradient id="1" gradientUnits="userSpaceOnUse" y1="24.75" x2="0" y2="46">
<stop style="stop-color:#e9002d"/>
<stop offset=".3361" style="stop-color:#b2001e"/>
<stop offset=".6299" style="stop-color:#890012"/>
<stop offset=".8607" style="stop-color:#6f000c"/>
<stop offset="1" style="stop-color:#660009"/>
</linearGradient>
</defs>
<path d="m58.5 25.5h5v24h-5z" style="fill:#845340"/>
<path d="m63 26v23h-4v-23h4m1-1h-6v25h6v-25z" style="fill:#663629"/>
<path d="m20.75 36.92c-.5 0-.98-.11-1.43-.33l-11.38-5.62c-.78-.38-1.36-1.05-1.64-1.87-.28-.82-.22-1.71.16-2.48l.71-1.45c.54-1.1 1.69-1.81 2.93-1.81.5 0 .98.11 1.43.33l11.38 5.61c.78.38 1.36 1.05 1.64 1.87.28.83.22 1.71-.16 2.48l-.71 1.45c-.54 1.1-1.69 1.82-2.93 1.82" style="fill:url(#3)"/>
<path d="m10.1 23.11v.5c.46 0 .9.1 1.32.31l11.39 5.61c.72.35 1.25.97 1.51 1.73s.21 1.57-.15 2.29l-.71 1.45c-.5 1.02-1.56 1.67-2.7 1.67-.46 0-.9-.1-1.32-.31l-11.39-5.61c-1.48-.73-2.1-2.53-1.37-4.02l.71-1.45c.5-1.02 1.56-1.67 2.7-1.67v-.5m.01 0c-1.29 0-2.54.72-3.15 1.95l-.71 1.45c-.85 1.73-.13 3.84 1.59 4.69l11.39 5.61c.49.24 1.02.36 1.54.36 1.29 0 2.54-.72 3.15-1.95l.71-1.45c.85-1.73.13-3.84-1.59-4.69l-11.39-5.61c-.5-.24-1.02-.36-1.54-.36" style="fill:#bebebe"/>
<path d="m5.5 32.5h53v10h-53z" style="fill:#845340"/>
<path d="m58 33v9h-52v-9h52m1-1h-54v11h54v-11z" style="fill:#663629"/>
<path d="m54.25 31h-13.75c0 0-7.6-.1-12.5-2.5-4.9-2.4-10-3.75-10-3.75v6.25 11.25c0 2.07 1.68 3.75 3.75 3.75h31.25c2.76 0 5-2.24 5-5v-6.25c0-2.07-1.68-3.75-3.75-3.75" style="fill:url(#1)"/>
<path d="m19 26.08c1.79.55 5.24 1.69 8.56 3.32 5.04 2.46 12.61 2.6 12.94 2.6h13.75c1.52 0 2.75 1.23 2.75 2.75v6.25c0 2.21-1.79 4-4 4h-31.25c-1.52 0-2.75-1.23-2.75-2.75v-11.25-4.92m-1-1.33v6.25 11.25c0 2.07 1.68 3.75 3.75 3.75h31.25c2.76 0 5-2.24 5-5v-6.25c0-2.07-1.68-3.75-3.75-3.75h-13.75c0 0-7.6-.1-12.5-2.5-4.9-2.4-10-3.75-10-3.75z" style="fill:url(#0)"/>
<path d="m27.79 32.78l-9.14-1.57.21-1.21 9.14 1.57z" style="fill:url(#2);opacity:.6"/>
<path d="m.5 14.5h5v35h-5z" style="fill:#845340"/>
<path d="m5 15v34h-4v-34h4m1-1h-6v36h6v-36z" style="fill:#663629"/>
</svg>

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 184 B

Some files were not shown because too many files have changed in this diff Show More