Refactoring of nearly all markdown tables. (#869)

Signed-off-by: Jerome Luckenbach <github@luckenba.ch>
pull/870/head
Jerome Luckenbach 2019-01-13 14:25:05 +01:00 committed by GitHub
parent 69175e38d0
commit ae90389d40
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 264 additions and 264 deletions

View File

@ -10,7 +10,7 @@ title: User Interfaces
openHAB offers a variety of frontends for user interaction, from administrative web frontends to dedicated smartphone apps. openHAB offers a variety of frontends for user interaction, from administrative web frontends to dedicated smartphone apps.
| Web Application | Description | | Web Application | Description |
|-----------------|---------------| |-------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|
| [Basic UI]({{base}}/addons/uis/basic/readme.html) | The Basic UI is an HTML5 web application in Material Design, designed for operating openHAB. | | [Basic UI]({{base}}/addons/uis/basic/readme.html) | The Basic UI is an HTML5 web application in Material Design, designed for operating openHAB. |
| [Classic UI]({{base}}/addons/uis/classic/readme.html) | The Classic UI is the original openHAB 1.x webui, designed for operating openHAB. | | [Classic UI]({{base}}/addons/uis/classic/readme.html) | The Classic UI is the original openHAB 1.x webui, designed for operating openHAB. |
| [HABmin]({{base}}/addons/uis/habmin/readme.html) | HABmin is a modern, professional and portable user interface for openHAB, providing both user and administrative functions. | | [HABmin]({{base}}/addons/uis/habmin/readme.html) | HABmin is a modern, professional and portable user interface for openHAB, providing both user and administrative functions. |
@ -18,7 +18,7 @@ openHAB offers a variety of frontends for user interaction, from administrative
| [Paper UI]({{base}}/addons/uis/paper/readme.html) | The Paper UI is an AngularJS-based HTML5 web application in Material Design, designed for setup and administration purposes. | | [Paper UI]({{base}}/addons/uis/paper/readme.html) | The Paper UI is an AngularJS-based HTML5 web application in Material Design, designed for setup and administration purposes. |
| App | Description | | App | Description |
|---------|----------------------| |---------------------------------------------------------|--------------------------------------------------------|
| [Android App]({{base}}/addons/uis/apps/android.html) | The native Android app to access openHAB on the go. | | [Android App]({{base}}/addons/uis/apps/android.html) | The native Android app to access openHAB on the go. |
| [iOS App]({{base}}/addons/uis/apps/ios.html) | The native iOS app to access openHAB on the go. | | [iOS App]({{base}}/addons/uis/apps/ios.html) | The native iOS app to access openHAB on the go. |
| [Windows 10 App]({{base}}/addons/uis/apps/windows.html) | The native Windows 10 app to access openHAB on the go. | | [Windows 10 App]({{base}}/addons/uis/apps/windows.html) | The native Windows 10 app to access openHAB on the go. |
@ -33,5 +33,5 @@ Addition of personal icons and customization of the existing ones is supported a
See the instructions about [Custom Icons and Custom Dynamic Icons]({{base}}/configuration/items.html#icons) for more details. See the instructions about [Custom Icons and Custom Dynamic Icons]({{base}}/configuration/items.html#icons) for more details.
| Iconset | Description | | Iconset | Description |
|---------|----------------------| |-----------------------------------------------------------|---------------------------------------------------------------------|
| [Classic Icons]({{base}}/addons/iconsets/classic/readme.html) | This is a modernized version of the original icon set of openHAB 1. | | [Classic Icons]({{base}}/configuration/iconsets/classic/) | This is a modernized version of the original icon set of openHAB 1. |

View File

@ -8,6 +8,6 @@ title: Voice Services
# Available Voice Services # Available Voice Services
| Voice Service | Description | | Voice Service | Description |
|---------------|-------------| |---------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
{% for voice in site.addons_voices %}| [{% if voice.logo %}<img class="logo" src="{{base}}/{{voice.logo}}" title="{{ voice.label }}" alt="{{ voice.label }}" />{% else %}{{ voice.label }}{% endif %}]({{base}}{{ voice.url }}) | {{ voice.description }} | | {% for voice in site.addons_voices %} | [{% if voice.logo %}<img class="logo" src="{{base}}/{{voice.logo}}" title="{{ voice.label }}" alt="{{ voice.label }}" />{% else %}{{ voice.label }}{% endif %}]({{base}}{{ voice.url }}) |
{% endfor %} {% endfor %}

View File

@ -83,7 +83,7 @@ The full directory path depends on the installation method:
Within the `OPENHAB_USERDATA/jsondb/` directory, you will find the following files: Within the `OPENHAB_USERDATA/jsondb/` directory, you will find the following files:
| Filename | _Contents_ | | Filename | _Contents_ |
|------------------------------------------------------------------|-----------------------------------------| |-----------------------------------------------------------------|---------------------------------------|
| org.eclipse.smarthome.config.discovery.**DiscoveryResult.json** | _Results of Paper UI Discovery_ | | org.eclipse.smarthome.config.discovery.**DiscoveryResult.json** | _Results of Paper UI Discovery_ |
| org.eclipse.smarthome.core.items.**Item.json** | _Items configurations_ | | org.eclipse.smarthome.core.items.**Item.json** | _Items configurations_ |
| org.eclipse.smarthome.core.thing.link.**ItemChannelLink.json** | _Item to Channel Link configurations_ | | org.eclipse.smarthome.core.thing.link.**ItemChannelLink.json** | _Item to Channel Link configurations_ |

View File

@ -78,7 +78,7 @@ The **what** is defined by `package.subpackage` and is in most cases a binding (
The **detail** of logging is defined by one of the following levels: The **detail** of logging is defined by one of the following levels:
| Log Level | Log Weight | When it should be used | | Log Level | Log Weight | When it should be used |
|---------------------|---------------|-----------------------------------------------------------------------------------------| |-----------|------------|-----------------------------------------------------------------------------------------|
| OFF | 0 | When no events will be logged | | OFF | 0 | When no events will be logged |
| ERROR | 200 | When an error in the application, possibly recoverable | | ERROR | 200 | When an error in the application, possibly recoverable |
| WARN | 300 | When an event that might possible lead to an error | | WARN | 300 | When an event that might possible lead to an error |

View File

@ -43,76 +43,76 @@ Usage: smarthome:send <item> <command> - sends a command for an item
### Items ### Items
| Command | Description | | Command | Description |
|---------|-------------| |-------------------------------------|---------------------------------------------------------------------|
| `smarthome:status <item>` | shows the current status of an item | `smarthome:status <item>` | shows the current status of an item |
| `smarthome:update <item> <state>` | sends a status update for an item | `smarthome:update <item> <state>` | sends a status update for an item |
| `smarthome:send <item> <command>` | sends a command for an item | `smarthome:send <item> <command>` | sends a command for an item |
| `smarthome:items list [<pattern>]` | lists names and types of all items (matching the pattern, if given) | `smarthome:items list [<pattern>]` | lists names and types of all items (matching the pattern, if given) |
| `smarthome:items clear` | removes all items | `smarthome:items clear` | removes all items |
| `smarthome:items remove <itemName>` | removes the given item | `smarthome:items remove <itemName>` | removes the given item |
### Discovery ### Discovery
| Command | Description | | Command | Description |
|---------|-------------| |--------------------------------------------------------|----------------------------------------------------------------------------|
| `smarthome:discovery start <thingTypeUID!bindingID>` | runs a discovery on a given thing type or binding | `smarthome:discovery start <thingTypeUID!bindingID>` | runs a discovery on a given thing type or binding |
| `smarthome:discovery enableBackgroundDiscovery <PID>` | enables background discovery for the discovery service with the given PID | `smarthome:discovery enableBackgroundDiscovery <PID>` | enables background discovery for the discovery service with the given PID |
| `smarthome:discovery disableBackgroundDiscovery <PID>` | disables background discovery for the discovery service with the given PID | `smarthome:discovery disableBackgroundDiscovery <PID>` | disables background discovery for the discovery service with the given PID |
### Inbox ### Inbox
| Command | Description | | Command | Description |
|---------|-------------| |----------------------------------------------|------------------------------------|
| `smarthome:inbox` | lists all current inbox entries | `smarthome:inbox` | lists all current inbox entries |
| `smarthome:inbox listignored` | lists all ignored inbox entries | `smarthome:inbox listignored` | lists all ignored inbox entries |
| `smarthome:inbox approve <thingUID> <label>` | creates a thing for an inbox entry | `smarthome:inbox approve <thingUID> <label>` | creates a thing for an inbox entry |
| `smarthome:inbox clear` | clears all current inbox entries | `smarthome:inbox clear` | clears all current inbox entries |
| `smarthome:inbox ignore <thingUID>` | ignores an inbox entry permanently | `smarthome:inbox ignore <thingUID>` | ignores an inbox entry permanently |
### Things ### Things
| Command | Description | | Command | Description |
|---------|-------------| |--------------------------|----------------------------|
| `smarthome:things list` | lists all things | `smarthome:things list` | lists all things |
| `smarthome:things clear` | removes all managed things | `smarthome:things clear` | removes all managed things |
### Links ### Links
| Command | Description | | Command | Description |
|---------|-------------| |-----------------------------------------------------------|--------------------------------|
| `smarthome:links list` | lists all links | `smarthome:links list` | lists all links |
| `smarthome:links addChannelLink <itemName> <channelUID>` | links an item with a channel | `smarthome:links addChannelLink <itemName> <channelUID>` | links an item with a channel |
| `smarthome:links removeChannelLink <itemName> <thingUID>` | unlinks an item with a channel | `smarthome:links removeChannelLink <itemName> <thingUID>` | unlinks an item with a channel |
| `smarthome:links clear` | removes all managed links | `smarthome:links clear` | removes all managed links |
### Audio ### Audio
| Command | Description | | Command | Description |
|---------|-------------| |---------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|
| `smarthome:audio play [<sink>] <filename>` | plays a sound file from the `$OPENHAB_CONF/sounds` folder through the optionally specified audio sink(s) | `smarthome:audio play [<sink>] <filename>` | plays a sound file from the `$OPENHAB_CONF/sounds` folder through the optionally specified audio sink(s) |
| `smarthome:audio play <sink> <filename> <volume>` | plays a sound file from the `$OPENHAB_CONF/sounds` folder through the specified audio sink(s) with the specified volume | `smarthome:audio play <sink> <filename> <volume>` | plays a sound file from the `$OPENHAB_CONF/sounds` folder through the specified audio sink(s) with the specified volume |
| `smarthome:audio stream [<sink>] <url>` | streams the sound from the url through the optionally specified audio sink(s) | `smarthome:audio stream [<sink>] <url>` | streams the sound from the url through the optionally specified audio sink(s) |
| `smarthome:audio sources` | lists the audio sources | `smarthome:audio sources` | lists the audio sources |
| `smarthome:audio sinks` | lists the audio sinks | `smarthome:audio sinks` | lists the audio sinks |
### Voice ### Voice
| Command | Description | | Command | Description |
|---------|-------------| |---------------------------------------|------------------------------------------------------------------------|
| `smarthome:voice say <text>` | speaks a text on the default audio sink with the default TTS and voice | `smarthome:voice say <text>` | speaks a text on the default audio sink with the default TTS and voice |
| `smarthome:voice voices` | lists available voices of the active TTS services | `smarthome:voice voices` | lists available voices of the active TTS services |
| `smarthome:voice interpret <command>` | interprets a human language command | `smarthome:voice interpret <command>` | interprets a human language command |
### Automation ### Automation
| Command | Description | | Command | Description |
|---------|-------------| |----------------------------------------|-----------------------------------------------------------|
| `smarthome:script <script to execute>` | Executes a script from the `$OPENHAB_CONF/scripts` folder | `smarthome:script <script to execute>` | Executes a script from the `$OPENHAB_CONF/scripts` folder |
### Firmware ### Firmware
| Command | Description | | Command | Description |
|---------|-------------| |-----------------------------------------------------------|-------------------------------------------------|
| `smarthome:firmware list <thingTypeUID>` | Lists the available firmwares for a thing type. | `smarthome:firmware list <thingTypeUID>` | Lists the available firmwares for a thing type. |
| `smarthome:firmware status <thingUID>` | lists the firmware status for a thing | `smarthome:firmware status <thingUID>` | lists the firmware status for a thing |
| `smarthome:firmware update <thingUID> <firmware version>` | updates the firmware for a thing | `smarthome:firmware update <thingUID> <firmware version>` | updates the firmware for a thing |

View File

@ -18,13 +18,13 @@ More people will see your issue when it is posted in the forum and community mem
When no solution was found, use the table below to determine where your issue should be reported: When no solution was found, use the table below to determine where your issue should be reported:
Issue | Where to report | Issue | Where to report |
------|---------------- |--------------------------------------------------------------------------------|--------------------------------------------------------------------|
Problems and feature requests for openHAB 1 add-ons | [openHAB](https://github.com/openhab/openhab/issues) | Problems and feature requests for openHAB 1 add-ons | [openHAB](https://github.com/openhab/openhab/issues) |
Problems and feature requests for openHAB 2 add-ons | [openHAB2](https://github.com/openhab/openhab2/issues) | Problems and feature requests for openHAB 2 add-ons | [openHAB2](https://github.com/openhab/openhab2/issues) |
Issues related to the runtime environment, IDE and packaging | [openHAB-distro](https://github.com/openhab/openhab-distro/issues) | Issues related to the runtime environment, IDE and packaging | [openHAB-distro](https://github.com/openhab/openhab-distro/issues) |
Issues related to the core openHAB bundles that are not from Eclipse SmartHome | [openHAB-core](https://github.com/kaikreuzer/openhab-core/issues) | Issues related to the core openHAB bundles that are not from Eclipse SmartHome | [openHAB-core](https://github.com/kaikreuzer/openhab-core/issues) |
Issues related to Eclipse SmartHome add-ons and core runtime | [Eclipse SmartHome](https://github.com/eclipse/smarthome/issues) | Issues related to Eclipse SmartHome add-ons and core runtime | [Eclipse SmartHome](https://github.com/eclipse/smarthome/issues) |
But do not worry - if you are not clear, which category your issue belongs to - we will redirect you, if necessary. But do not worry - if you are not clear, which category your issue belongs to - we will redirect you, if necessary.

View File

@ -68,17 +68,17 @@ When in edit mode, several features are available:
The configuration dialog when clicking on a tile's gear icon contains the following settings: The configuration dialog when clicking on a tile's gear icon contains the following settings:
| Setting | Description | Setting | Description |
|---------|-------------| |------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Name | The name of the dashboard, also displayed on the tile | Name | The name of the dashboard, also displayed on the tile |
| Background URL | The URL of a background image *for the main menu tile* | Background URL | The URL of a background image *for the main menu tile* |
| Backdrop Icon | Iconset and icon displayed on the tile as a Backdrop | Backdrop Icon | Iconset and icon displayed on the tile as a Backdrop |
| Center backdrop horizontally | When unchecked, the backdrop is aligned to the right of the tile; when checked, it is centered | Center backdrop horizontally | When unchecked, the backdrop is aligned to the right of the tile; when checked, it is centered |
| Icon | Icon associated with the dashboard, currently only used in the side drawer | Icon | Icon associated with the dashboard, currently only used in the side drawer |
| Size (icon) | _(currently unused)_ | Size (icon) | _(currently unused)_ |
| Title Text Color | Color for the name of the dashboard on the tile | Title Text Color | Color for the name of the dashboard on the tile |
| Advanced tab | Contains settings currently unstable or unsupported, for advanced users only | Advanced tab | Contains settings currently unstable or unsupported, for advanced users only |
| Custom widgets tab | This [experimental feature](https://community.openhab.org/t/new-display-options-incl-experimental-custom-widgets-everywhere/34140/1) allows certain parts of a dashboard to be replaced by a custom widget (see _Custom Widgets_ below): the main menu tile, the drawer menu and the dashboard item - use with caution | Custom widgets tab | This [experimental feature](https://community.openhab.org/t/new-display-options-incl-experimental-custom-widgets-everywhere/34140/1) allows certain parts of a dashboard to be replaced by a custom widget (see _Custom Widgets_ below): the main menu tile, the drawer menu and the dashboard item - use with caution |
It also contains a **Delete** button which will delete the entire dashboard and its contents - this happens immediately and cannot be undone! It also contains a **Delete** button which will delete the entire dashboard and its contents - this happens immediately and cannot be undone!
@ -137,23 +137,23 @@ Tip: while running a dasboard, append `?kiosk=on` to the URL in the web browser
Apart from the storage configuration discussed above, the settings screen contains several settings kept as part of the panel configuration (meaning they are set separately): Apart from the storage configuration discussed above, the settings screen contains several settings kept as part of the panel configuration (meaning they are set separately):
| Setting | Description | Setting | Description |
|---------|-------------| |------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Panel name | An user-friendly name for the panel. It will be displayed in the header of the side drawer. | Panel name | An user-friendly name for the panel. It will be displayed in the header of the side drawer. |
| Theme | HABPanel comes with a number of built-in themes, with this setting a different theme may applied to the panel. Themes are not user-modifiable. | Theme | HABPanel comes with a number of built-in themes, with this setting a different theme may applied to the panel. Themes are not user-modifiable. |
| Background image | Sets the specified URL as background image for the whole panel. *Tip: the background image works best with the 'translucent' theme!* | Background image | Sets the specified URL as background image for the whole panel. *Tip: the background image works best with the 'translucent' theme!* |
| Additional stylesheet | Reference the relative URL of an additional CSS file which will be included and can be used to override the styles defined by the theme. For additional information on how you can customize HABPanel's styles, go to: [HABPanel Development & Advanced Features: Start Here!](https://community.openhab.org/t/habpanel-development-advanced-features-start-here/30755/1) | Additional stylesheet | Reference the relative URL of an additional CSS file which will be included and can be used to override the styles defined by the theme. For additional information on how you can customize HABPanel's styles, go to: [HABPanel Development & Advanced Features: Start Here!](https://community.openhab.org/t/habpanel-development-advanced-features-start-here/30755/1) |
| Drawer heading image | Reference the URL of an image (expected width: 265 pixels) which will replace the header in the side drawer | Drawer heading image | Reference the URL of an image (expected width: 265 pixels) which will replace the header in the side drawer |
| Hide the drawer's footer | Check to remove the bottom black part of the side drawer containing the date & time | Hide the drawer's footer | Check to remove the bottom black part of the side drawer containing the date & time |
| Hide toolbar buttons (speak/refresh/fullscreen) | Check those boxes to hide the corresponding button in the default dashboard header top-right corner | Hide toolbar buttons (speak/refresh/fullscreen) | Check those boxes to hide the corresponding button in the default dashboard header top-right corner |
| Show a clock in the header | If checked, a clock will be displayed in the main menu and the dashboards | Show a clock in the header | If checked, a clock will be displayed in the main menu and the dashboards |
| Header clock format (shown if "Show a clock in the header" is checked) | Use an [AngularJS' date filter format string](https://docs.angularjs.org/api/ng/filter/date) to customize the clock format in the header. The default is `HH:mm` | Header clock format (shown if "Show a clock in the header" is checked) | Use an [AngularJS' date filter format string](https://docs.angularjs.org/api/ng/filter/date) to customize the clock format in the header. The default is `HH:mm` |
| Prevent scrolling (when not editing) | When enabled, it is impossible to scroll the dashboard on a tablet (and it prevents the "elastic" bouncing effect on iOS/Safari) | Prevent scrolling (when not editing) | When enabled, it is impossible to scroll the dashboard on a tablet (and it prevents the "elastic" bouncing effect on iOS/Safari) |
| Manage > (custom widgets) | Goes to the list of custom widget definitions for the active panel configuration | Manage > (custom widgets) | Goes to the list of custom widget definitions for the active panel configuration |
| Voice | Selects a voice from the detected list for text-to-speech* | Voice | Selects a voice from the detected list for text-to-speech* |
| Speak the new value of the following item when it changes | When the selected String item change to a new text, HABPanel will use the browser's text-to-speech engine and the selected voice to read it aloud* | Speak the new value of the following item when it changes | When the selected String item change to a new text, HABPanel will use the browser's text-to-speech engine and the selected voice to read it aloud* |
| Display a floating speech button at the bottom of the screen | Use an alternative style for the Speak (voice input) button in dashboards | Display a floating speech button at the bottom of the screen | Use an alternative style for the Speak (voice input) button in dashboards |
| When this item changes to a dashboard's name, switch to it | This allows controlling the currently displayed dashboard by an openHAB item (useful with rules and as a side-effect to commands) | When this item changes to a dashboard's name, switch to it | This allows controlling the currently displayed dashboard by an openHAB item (useful with rules and as a side-effect to commands) |
*Note: the text-to-speech functionality featured in HABPanel is unrelated to the [TTS services]({{base}}/configuration/multimedia.html#text-to-speech) defined on the openHAB server, and they are not compatible (this is why a String item is required and the `say()` function cannot be used). However, HABPanel will play audio streamed through the ['webaudio' sink]({{base}}/configuration/multimedia.html#audio), including spoken text. *Note: the text-to-speech functionality featured in HABPanel is unrelated to the [TTS services]({{base}}/configuration/multimedia.html#text-to-speech) defined on the openHAB server, and they are not compatible (this is why a String item is required and the `say()` function cannot be used). However, HABPanel will play audio streamed through the ['webaudio' sink]({{base}}/configuration/multimedia.html#audio), including spoken text.

View File

@ -101,7 +101,7 @@ This optimization is reflected in the data and command types.
Available Item types are: Available Item types are:
| Type Name | Description | Command Types | | Type Name | Description | Command Types |
|----------------|-------------|---------------| |---------------|-----------------------------------------------------------------------------------------------|--------------------------------------------|
| Color | Color information (RGB) | OnOff, IncreaseDecrease, Percent, HSB | | Color | Color information (RGB) | OnOff, IncreaseDecrease, Percent, HSB |
| Contact | Status of contacts, e.g. door/window contacts. Does not accept commands, only status updates. | OpenClosed | | Contact | Status of contacts, e.g. door/window contacts. Does not accept commands, only status updates. | OpenClosed |
| DateTime | Stores date and time | - | | DateTime | Stores date and time | - |
@ -178,7 +178,7 @@ The following naming style guide is recommended:
Examples: Examples:
| Item Name | Interpretation (assumed Item type, example value) | | Item Name | Interpretation (assumed Item type, example value) |
|-----------------------------------|---------------------------------------------------| |-----------------------------------|---------------------------------------------------------------------------------------------------------|
| "`Livingroom_CeilingLight`" | Living room light (Switch, e.g. ON) | | "`Livingroom_CeilingLight`" | Living room light (Switch, e.g. ON) |
| "`Livingroom_CeilingLight_Color`" | Living room light color (Color, e.g. warm white) | | "`Livingroom_CeilingLight_Color`" | Living room light color (Color, e.g. warm white) |
| "`GF_BR_WaschingMachine_Power`" | Electric power consumed by the washing machine located in the ground floor bathroom (Number, e.g. 100W) | | "`GF_BR_WaschingMachine_Power`" | Electric power consumed by the washing machine located in the ground floor bathroom (Number, e.g. 100W) |
@ -194,7 +194,7 @@ Two naming schemes are established in the community for Group names:
2. Prepend a lowercase "g" to the name (e.g. gBattery) 2. Prepend a lowercase "g" to the name (e.g. gBattery)
| Group Name | Interpretation | | Group Name | Interpretation |
|-------------------------------------------|----------------| |-------------------------------------------|-----------------------------------------------------------------------|
| "`Batteries`" or "`gBattery`" | Group combining the states of all battery Items | | "`Batteries`" or "`gBattery`" | Group combining the states of all battery Items |
| "`Maintenance_Group`" or "`gMaintenance`" | Group containing all maintenance-related Items | | "`Maintenance_Group`" or "`gMaintenance`" | Group containing all maintenance-related Items |
| "`Livingroom_Lights`" or "`gLR_Light`" | Group containing all light Items belonging to the living room | | "`Livingroom_Lights`" or "`gLR_Light`" | Group containing all light Items belonging to the living room |
@ -378,7 +378,7 @@ String Livingroom_Light_Connection "Livingroom Ceiling Light [MAP(error.map):%s]
On the filesystem, the following icon files are provided by the user: On the filesystem, the following icon files are provided by the user:
| File name | Description | | File name | Description |
|------------------------|--------------------------------------------------------------------| |--------------------|------------------------------------------------------------------|
| `myswitch-off.svg` | Matches `OFF` or "off" state | | `myswitch-off.svg` | Matches `OFF` or "off" state |
| `myswitch-on.svg` | Matches `ON` or "on" state | | `myswitch-on.svg` | Matches `ON` or "on" state |
| `myswitch.svg` | Default icon, used when no matching icon is found (e.g. `UNDEF`) | | `myswitch.svg` | Default icon, used when no matching icon is found (e.g. `UNDEF`) |
@ -397,7 +397,7 @@ Dimmer type Items work in the same way, being limited to 0-100 anyway.
For a dimmable light (0-100%), you might provide icons as in the example: For a dimmable light (0-100%), you might provide icons as in the example:
| File name | Description | | File name | Description |
|--------------------|------------------------------------------------------| |-------------------|------------------------------------------------------|
| `mydimmer.svg` | Default icon (used in undefined states) | | `mydimmer.svg` | Default icon (used in undefined states) |
| `mydimmer-0.svg` | Matches the turned off light (0%) | | `mydimmer-0.svg` | Matches the turned off light (0%) |
| `mydimmer-1.svg` | Matches any dimmed light between 1% up to 74% | | `mydimmer-1.svg` | Matches any dimmed light between 1% up to 74% |
@ -476,7 +476,7 @@ Group[:itemtype[:function]] groupname ["labeltext"] [<iconname>] [(group1, group
Group state aggregation functions can be any of the following: Group state aggregation functions can be any of the following:
| Function | Description | | Function | Description |
|------------------------|-------------| |-----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `EQUALITY` | Default if no function is specified. If ALL members have state X the group state will be X, otherwise the group state will be `UNDEF`. | | `EQUALITY` | Default if no function is specified. If ALL members have state X the group state will be X, otherwise the group state will be `UNDEF`. |
| `AND(value1,value2)` | [Boolean](https://en.wikipedia.org/wiki/Boolean_algebra) AND operation. If all item states are 'value1', 'value1' is returned, otherwise 'value2' is returned. | | `AND(value1,value2)` | [Boolean](https://en.wikipedia.org/wiki/Boolean_algebra) AND operation. If all item states are 'value1', 'value1' is returned, otherwise 'value2' is returned. |
| `OR(value1,value2)` | [Boolean](https://en.wikipedia.org/wiki/Boolean_algebra) OR operation. If at least one item state is of 'value1', 'value1' is returned, otherwise 'value2' is returned. | | `OR(value1,value2)` | [Boolean](https://en.wikipedia.org/wiki/Boolean_algebra) OR operation. If at least one item state is of 'value1', 'value1' is returned, otherwise 'value2' is returned. |
@ -681,13 +681,13 @@ You can find the documentation of these Profiles within the [Add-On documentatio
| ID | Type | Supported Item Types | Description | | ID | Type | Supported Item Types | Description |
|---------------|---------|----------------------|------------------------------------| |---------------------------|---------|-----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `default` | State | All | If you don't specify any Profile, this Profile will be used. For State Channels, this means that states and commands are just propagated from the Channel to the Item and vice-versia without any changes. For Trigger Channels, the Default Profile won't change anything on the Item. | | `default` | State | All | If you don't specify any Profile, this Profile will be used. For State Channels, this means that states and commands are just propagated from the Channel to the Item and vice-versia without any changes. For Trigger Channels, the Default Profile won't change anything on the Item. |
| `follow` | State | All | If one device should "follow" the actions of another device, this can be used. The term "follow" in this case means that any state that is sent to an Item will be forwarded from this Item to any linked Channel with the `follow` Profile. It takes state updates on an Item and sends them as a command onto the Channel. In the direction from the ThingHandler towards the Item, this Profile ignores state updates. | `follow` | State | All | If one device should "follow" the actions of another device, this can be used. The term "follow" in this case means that any state that is sent to an Item will be forwarded from this Item to any linked Channel with the `follow` Profile. It takes state updates on an Item and sends them as a command onto the Channel. In the direction from the ThingHandler towards the Item, this Profile ignores state updates. |
| `offset` | State | Number | An offset can be specified via the parameter `offset` which has to be a `QuantityType` or `DecimalType`. The specificed offset will be added to the value from the device before it arrives at the item.| | `offset` | State | Number | An offset can be specified via the parameter `offset` which has to be a `QuantityType` or `DecimalType`. The specificed offset will be added to the value from the device before it arrives at the item. |
| `rawbutton-toggle-switch` | Trigger | Color, Dimmer, Switch | This Profile can only be used on Channels of the type `system.rawbutton`. On those channels, it will toggle the Item state when `PRESSED` events arrive. This Profile can e.g. be used to add button channels to a lighting item which will enable you to turn the lighting on and off with your button. | `rawbutton-toggle-switch` | Trigger | Color, Dimmer, Switch | This Profile can only be used on Channels of the type `system.rawbutton`. On those channels, it will toggle the Item state when `PRESSED` events arrive. This Profile can e.g. be used to add button channels to a lighting item which will enable you to turn the lighting on and off with your button. |
| `rawrocker-to-on-off` | Trigger | Dimmer, Switch | This Profile can only be used on Channels of the type `system.rawrocker`. On those channels, it will convert a press on the first rocker button to an `ON` command while the second one will be converted to an `OFF` command. | `rawrocker-to-on-off` | Trigger | Dimmer, Switch | This Profile can only be used on Channels of the type `system.rawrocker`. On those channels, it will convert a press on the first rocker button to an `ON` command while the second one will be converted to an `OFF` command. |
| `rawrocker-to-dimmer` | Trigger | Dimmer | Same as `rawrocker-to-on-off`, but additionally it allows to dim by holding the respective button. Technically, this Profile sends an `INCREASE` or `DECREASE` Command every 500 milliseconds while you hold. | `rawrocker-to-dimmer` | Trigger | Dimmer | Same as `rawrocker-to-on-off`, but additionally it allows to dim by holding the respective button. Technically, this Profile sends an `INCREASE` or `DECREASE` Command every 500 milliseconds while you hold. |
Example: You have an Item called `Bedroom_Light` that is connected to a Hue lamp Example: You have an Item called `Bedroom_Light` that is connected to a Hue lamp
```java ```java
Color Bedroom_Light { channel="hue:0210:1:bulb1:color" } Color Bedroom_Light { channel="hue:0210:1:bulb1:color" }

View File

@ -28,7 +28,7 @@ There are different options for output devices (so called audio sinks):
The distribution comes with these options built-in: The distribution comes with these options built-in:
| Output Device | Audio Sink | Description | | Output Device | Audio Sink | Description |
|---------------------|-----------------------------------|-------------| |---------------------|-----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `javasound` | System Speaker | This uses the JRE sound drivers to play audio to the local sound interface. | | `javasound` | System Speaker | This uses the JRE sound drivers to play audio to the local sound interface. |
| `enhancedjavasound` | System Speaker (with mp3 support) | This uses the JRE sound drivers plus an additional 3rd party library, which adds support for mp3 files. | | `enhancedjavasound` | System Speaker (with mp3 support) | This uses the JRE sound drivers plus an additional 3rd party library, which adds support for mp3 files. |
| `webaudio` | Web Audio | Convenient, if sounds should not be played on the server, but on the client: This sink sends the audio stream through HTTP to web clients, which then cause it to be played back by the browser. Obviously, the browser needs to be opened and have a compatible openHAB UI running. Currently, this feature is supported by Paper UI and HABPanel. | | `webaudio` | Web Audio | Convenient, if sounds should not be played on the server, but on the client: This sink sends the audio stream through HTTP to web clients, which then cause it to be played back by the browser. Obviously, the browser needs to be opened and have a compatible openHAB UI running. Currently, this feature is supported by Paper UI and HABPanel. |
@ -138,7 +138,7 @@ Human language interpreters are meant to process prose that e.g. is a result of
There are two implementations available by default: There are two implementations available by default:
| Interpreter | Type | Description | | Interpreter | Type | Description |
|-------------|------------------------|-------------| |-------------|------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `rulehli` | Rule-based Interpreter | This mimics the behavior of the Android app - it sends the string as a command to a (configurable, default is "VoiceCommand") item and expects a rule to pick it up and further process it. | | `rulehli` | Rule-based Interpreter | This mimics the behavior of the Android app - it sends the string as a command to a (configurable, default is "VoiceCommand") item and expects a rule to pick it up and further process it. |
| `system` | Built-in Interpreter | This is a simple implementation that understands basic home automation commands like "turn on the light" or "stop the music". It currently supports only English, German and French and the vocabulary is still very limited. The exact syntax still needs to be documented, for the moment you need to refer to the [source code](https://github.com/eclipse/smarthome/blob/master/bundles/core/org.eclipse.smarthome.core.voice/src/main/java/org/eclipse/smarthome/core/voice/internal/text/StandardInterpreter.java#L37). | | `system` | Built-in Interpreter | This is a simple implementation that understands basic home automation commands like "turn on the light" or "stop the music". It currently supports only English, German and French and the vocabulary is still very limited. The exact syntax still needs to be documented, for the moment you need to refer to the [source code](https://github.com/eclipse/smarthome/blob/master/bundles/core/org.eclipse.smarthome.core.voice/src/main/java/org/eclipse/smarthome/core/voice/internal/text/StandardInterpreter.java#L37). |

View File

@ -169,7 +169,7 @@ You can easily imagine that you can implement very powerful rules using this fea
Here is the full list of available persistence extensions: Here is the full list of available persistence extensions:
| Persistence Extension | Description | | Persistence Extension | Description |
|-----------------------------------------|-------------| |-----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `<item>.persist` | Persists the current State of the Item | | `<item>.persist` | Persists the current State of the Item |
| `<item>.lastUpdate` | Queries for the last update timestamp of a given Item | | `<item>.lastUpdate` | Queries for the last update timestamp of a given Item |
| `<item>.historicState(AbstractInstant)` | Retrieves the State of an Item at a certain point in time | | `<item>.historicState(AbstractInstant)` | Retrieves the State of an Item at a certain point in time |

View File

@ -182,7 +182,7 @@ You may also use [CronMaker](http://www.cronmaker.com/) or the generator at [Fre
Two system-based triggers are provided as described in the table below: Two system-based triggers are provided as described in the table below:
| Trigger | Description | | Trigger | Description |
|-------------------|--------------| |-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| System started | System started is triggered upon openHAB startup, after the rule file containing the System started trigger is modified, or after item(s) related to that rule file are modified in a .items file. | | System started | System started is triggered upon openHAB startup, after the rule file containing the System started trigger is modified, or after item(s) related to that rule file are modified in a .items file. |
| System shuts down | Rules using the 'System shuts down' trigger execute when openHAB shuts down. | | System shuts down | Rules using the 'System shuts down' trigger execute when openHAB shuts down. |
@ -591,11 +591,11 @@ To avoid an error mentioning an "Ambiguous Method Call" always cast the state of
The Player item allows to control players (e.g. audio players) with commands such as Play, Pause, Next, Previous, Rewind and Fastforward. The Player item allows to control players (e.g. audio players) with commands such as Play, Pause, Next, Previous, Rewind and Fastforward.
The Player Item carries three types with predefined commands The Player Item carries three types with predefined commands
State Type | Commands | State Type | Commands |
------------------|------------------ |---------------------------|---------------------|
**PlayPauseType** | PLAY, PAUSE | **PlayPauseType** | PLAY, PAUSE |
**RewindFastforwardType** | REWIND, FASTFORWARD | **RewindFastforwardType** | REWIND, FASTFORWARD |
**NextPreviousType** | NEXT, PREVIOUS | **NextPreviousType** | NEXT, PREVIOUS |
These types can be convert from Open and Closed to 1 and 0 with code similar to the Contact Item (OpenClosedType) These types can be convert from Open and Closed to 1 and 0 with code similar to the Contact Item (OpenClosedType)

View File

@ -110,7 +110,7 @@ sitemap <sitemapname> label="<title of the main screen>" {
The following element types may be used in a Sitemap definition file. The following element types may be used in a Sitemap definition file.
| Element | Description | | Element | Description |
|-------------------------------------------|-----------------------------------------------------------| |------------------------------------------|-------------------------------------------------------------------------------------------|
| [Chart](#element-type-chart) | Adds a time-series chart object for [persisted](persistence.html) data. | | [Chart](#element-type-chart) | Adds a time-series chart object for [persisted](persistence.html) data. |
| [Colorpicker](#element-type-colorpicker) | Allows the user to choose a color from a color wheel. | | [Colorpicker](#element-type-colorpicker) | Allows the user to choose a color from a color wheel. |
| [Default](#element-type-default) | Renders an Item in the default UI representation specified by the type of the given Item. | | [Default](#element-type-default) | Renders an Item in the default UI representation specified by the type of the given Item. |
@ -610,7 +610,7 @@ Note also, the effect of omitting `Temperature` and the comparison operator in t
Below is a list of standard colors and their respective RGB color codes. Below is a list of standard colors and their respective RGB color codes.
| Color Name | Preview and RGB Color Code | | Color Name | Preview and RGB Color Code |
|-------------|-----------------------------------------| |------------|-----------------------------------------|
| maroon | *`► #800000`*{: style="color: #800000"} | | maroon | *`► #800000`*{: style="color: #800000"} |
| red | *`► #ff0000`*{: style="color: #ff0000"} | | red | *`► #ff0000`*{: style="color: #ff0000"} |
| orange | *`► #ffa500`*{: style="color: #ffa500"} | | orange | *`► #ffa500`*{: style="color: #ffa500"} |

View File

@ -104,15 +104,15 @@ java -jar org.eclipse.osgi_3.x.x_xxxx.jar -console -configuration configuration
Once you have Equinox running, you will see a prompt. Some of the basic Once you have Equinox running, you will see a prompt. Some of the basic
osgi commands are: osgi commands are:
Command | Description | Command | Description |
--------|------- |-----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
*help* | Basic command that will list all available commands | *help* | Basic command that will list all available commands |
*install* [bundle URL] | Installs the bundle from the given URL | *install* [bundle URL] | Installs the bundle from the given URL |
*start* [bundle # or bundle name] | Starts the bundle with the given numeric or symbolic id | *start* [bundle # or bundle name] | Starts the bundle with the given numeric or symbolic id |
*stop* [bundle # or bundle name] | Stops the bundle with the given numeric or symbolic id | *stop* [bundle # or bundle name] | Stops the bundle with the given numeric or symbolic id |
*ss* | Reports a summary status of all installed bundles | *ss* | Reports a summary status of all installed bundles |
*diag* [bundle # or bundle name] | Reports any resolution problems for the bundle with the given numeric or symbolic id | *diag* [bundle # or bundle name] | Reports any resolution problems for the bundle with the given numeric or symbolic id |
*services* [filter] | Lists all available services or only services matching to [LDAP-style filter](http://www.ldapexplorer.com/en/manual/109010000-ldap-filter-syntax.htm) (e.g. services (objectClass="\*virtage\*") - will print only services having *virtage* in their class name) | *services* [filter] | Lists all available services or only services matching to [LDAP-style filter](http://www.ldapexplorer.com/en/manual/109010000-ldap-filter-syntax.htm) (e.g. services (objectClass="\*virtage\*") - will print only services having *virtage* in their class name) |
Table 1. Equinox commands (Source: <http://www.eclipse.org/equinox/documents/quickstart-framework.php>) Table 1. Equinox commands (Source: <http://www.eclipse.org/equinox/documents/quickstart-framework.php>)

View File

@ -72,14 +72,14 @@ OSGi is a dynamic platform. That means that bundles may be *installed, uninstall
The framework introduces a different states, transitions between these states and rules how this states are affecting the packages exported by the bundle and the services, that it provides. The table below shows the possible states of an OSGi bundle with a short explanation: The framework introduces a different states, transitions between these states and rules how this states are affecting the packages exported by the bundle and the services, that it provides. The table below shows the possible states of an OSGi bundle with a short explanation:
Status | Description | Status | Description |
-------|--------- |-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
INSTALLED | The bundle has been installed into the OSGi container, but some of it's dependencies are still not resolved. The bundle requires packages that have not been exported by any other bundle. | INSTALLED | The bundle has been installed into the OSGi container, but some of it's dependencies are still not resolved. The bundle requires packages that have not been exported by any other bundle. |
RESOLVED | The bundle is installed and the all the dependencies at a class level are resolved and wired. The bundle can export the packages, that it provides. | RESOLVED | The bundle is installed and the all the dependencies at a class level are resolved and wired. The bundle can export the packages, that it provides. |
STARTING | A temporary state that the bundle goes through while the bundle is starting, after all dependencies have been resolved. The bundle is permitted to register services. | STARTING | A temporary state that the bundle goes through while the bundle is starting, after all dependencies have been resolved. The bundle is permitted to register services. |
ACTIVE | The bundle is running | ACTIVE | The bundle is running |
STOPPING | A temporary state that the bundle goes through while the bundle is stopping | STOPPING | A temporary state that the bundle goes through while the bundle is stopping |
UNINSTALLED | The bundle has been removed from the OSGi container. | UNINSTALLED | The bundle has been removed from the OSGi container. |
Table 1 Bundle states description Table 1 Bundle states description

View File

@ -44,7 +44,7 @@ Oracle Java is also suitable for most configurations but licencing restrictions
OpenJDK may also be used, but it has some [known limitations](https://community.openhab.org/t/running-openhab-2-on-openjdk/21443/8?u=gatekeeper6838) with openHAB and is not recommended. OpenJDK may also be used, but it has some [known limitations](https://community.openhab.org/t/running-openhab-2-on-openjdk/21443/8?u=gatekeeper6838) with openHAB and is not recommended.
| Java Platform | Advantages | Disadvantages | | Java Platform | Advantages | Disadvantages |
|---------------|------------|---------------| |---------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Zulu](https://zulu.org/download/?show=all) | Completely open source, fully certified Java SE compliant build of OpenJDK, embedded version optimized for ARM devices [available here](http://www.azul.com/downloads/zulu-embedded/) | | | [Zulu](https://zulu.org/download/?show=all) | Completely open source, fully certified Java SE compliant build of OpenJDK, embedded version optimized for ARM devices [available here](http://www.azul.com/downloads/zulu-embedded/) | |
| [Oracle Java](https://java.com/en/) | Full openHAB support on all platforms | [Licensing restrictions](https://blog.takipi.com/running-java-on-docker-youre-breaking-the-law/), manual installation required on many Linux systems: [Ubuntu](https://help.ubuntu.com/community/Java), [Mint](https://community.linuxmint.com/tutorial/view/1091), and [Debian](https://wiki.debian.org/Java/Sun) are some examples | | [Oracle Java](https://java.com/en/) | Full openHAB support on all platforms | [Licensing restrictions](https://blog.takipi.com/running-java-on-docker-youre-breaking-the-law/), manual installation required on many Linux systems: [Ubuntu](https://help.ubuntu.com/community/Java), [Mint](https://community.linuxmint.com/tutorial/view/1091), and [Debian](https://wiki.debian.org/Java/Sun) are some examples |
| [OpenJDK](http://openjdk.java.net) | Supported by many Linux distributions, packages [typically available](http://openjdk.java.net/install/index.html) | [Performance issues](https://github.com/openhab/openhab-distro/issues/10#issuecomment-223786506) on ARM platforms, [compatibility issues](https://community.openhab.org/t/openhab-is-offline-message-fixed/17441/8) with certain bindings and certificates | | [OpenJDK](http://openjdk.java.net) | Supported by many Linux distributions, packages [typically available](http://openjdk.java.net/install/index.html) | [Performance issues](https://github.com/openhab/openhab-distro/issues/10#issuecomment-223786506) on ARM platforms, [compatibility issues](https://community.openhab.org/t/openhab-is-offline-message-fixed/17441/8) with certain bindings and certificates |