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

@ -9,18 +9,18 @@ title: User Interfaces
openHAB offers a variety of frontends for user interaction, from administrative web frontends to dedicated smartphone apps.
| 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. |
| [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. |
| [HABPanel]({{base}}/addons/uis/habpanel/readme.html) | HABPanel is a lightweight dashboard interface for openHAB. |
| [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. |
| 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. |
| [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. |
| [HABPanel]({{base}}/addons/uis/habpanel/readme.html) | HABPanel is a lightweight dashboard interface for openHAB. |
| [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 |
|---------|----------------------|
| [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. |
| App | Description |
|---------------------------------------------------------|--------------------------------------------------------|
| [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. |
| [Windows 10 App]({{base}}/addons/uis/apps/windows.html) | The native Windows 10 app to access openHAB on the go. |
## Iconsets
@ -32,6 +32,6 @@ Currently only the Classic Icon Set is provided.
Addition of personal icons and customization of the existing ones is supported and encouraged.
See the instructions about [Custom Icons and Custom Dynamic Icons]({{base}}/configuration/items.html#icons) for more details.
| Iconset | Description |
|---------|----------------------|
| [Classic Icons]({{base}}/addons/iconsets/classic/readme.html) | This is a modernized version of the original icon set of openHAB 1. |
| Iconset | Description |
|-----------------------------------------------------------|---------------------------------------------------------------------|
| [Classic Icons]({{base}}/configuration/iconsets/classic/) | This is a modernized version of the original icon set of openHAB 1. |

View File

@ -7,7 +7,7 @@ title: Voice Services
# Available Voice Services
| 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 }} |
| 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 }}) |
{% endfor %}

View File

@ -82,13 +82,13 @@ The full directory path depends on the installation method:
Within the `OPENHAB_USERDATA/jsondb/` directory, you will find the following files:
| Filename | _Contents_ |
|------------------------------------------------------------------|-----------------------------------------|
| 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.thing.link.**ItemChannelLink.json** | _Item to Channel Link configurations_ |
| org.eclipse.smarthome.core.thing.link.**ItemThingLink.json** | _Item to Thing Link configurations_ |
| org.eclipse.smarthome.core.thing.**Thing.json** | _Things configurations_ |
| Filename | _Contents_ |
|-----------------------------------------------------------------|---------------------------------------|
| 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.thing.link.**ItemChannelLink.json** | _Item to Channel Link configurations_ |
| org.eclipse.smarthome.core.thing.link.**ItemThingLink.json** | _Item to Thing Link configurations_ |
| org.eclipse.smarthome.core.thing.**Thing.json** | _Things configurations_ |
## Example Use

View File

@ -77,15 +77,15 @@ log:set LEVEL package.subpackage
The **what** is defined by `package.subpackage` and is in most cases a binding (like `org.openhab.binding.zwave`).
The **detail** of logging is defined by one of the following levels:
| Log Level | Log Weight | When it should be used |
|---------------------|---------------|-----------------------------------------------------------------------------------------|
| OFF | 0 | When no events will be logged |
| ERROR | 200 | When an error in the application, possibly recoverable |
| WARN | 300 | When an event that might possible lead to an error |
| INFO | 400 | When an event for informational purposes |
| DEBUG | 500 | When a general debugging event required |
| TRACE | 600 | When a fine grained debug message, typically capturing the flow through the application |
| ALL | MAX | When all events should be logged |
| Log Level | Log Weight | When it should be used |
|-----------|------------|-----------------------------------------------------------------------------------------|
| OFF | 0 | When no events will be logged |
| ERROR | 200 | When an error in the application, possibly recoverable |
| WARN | 300 | When an event that might possible lead to an error |
| INFO | 400 | When an event for informational purposes |
| DEBUG | 500 | When a general debugging event required |
| TRACE | 600 | When a fine grained debug message, typically capturing the flow through the application |
| ALL | MAX | When all events should be logged |
The levels build a hierarchy with **ERROR** logging critical messages only and **DEBUG** logging nearly everything.
**DEBUG** combines all logs from weight 100 to 500, while **TRACE** adds further messages in addition to what **DEBUG** displays.

View File

@ -42,77 +42,77 @@ Usage: smarthome:send <item> <command> - sends a command for an item
### Items
| Command | Description |
|---------|-------------|
| `smarthome:status <item>` | shows the current status of an item
| `smarthome:update <item> <state>` | sends a status update 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 clear` | removes all items
| `smarthome:items remove <itemName>` | removes the given item
| Command | Description |
|-------------------------------------|---------------------------------------------------------------------|
| `smarthome:status <item>` | shows the current status of an item |
| `smarthome:update <item> <state>` | sends a status update 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 clear` | removes all items |
| `smarthome:items remove <itemName>` | removes the given item |
### Discovery
| Command | Description |
|---------|-------------|
| `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 disableBackgroundDiscovery <PID>` | disables background discovery for the discovery service with the given PID
| Command | Description |
|--------------------------------------------------------|----------------------------------------------------------------------------|
| `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 disableBackgroundDiscovery <PID>` | disables background discovery for the discovery service with the given PID |
### Inbox
| Command | Description |
|---------|-------------|
| `smarthome:inbox` | lists all current inbox entries
| `smarthome:inbox listignored` | lists all ignored inbox entries
| `smarthome:inbox approve <thingUID> <label>` | creates a thing for an inbox entry
| `smarthome:inbox clear` | clears all current inbox entries
| `smarthome:inbox ignore <thingUID>` | ignores an inbox entry permanently
| Command | Description |
|----------------------------------------------|------------------------------------|
| `smarthome:inbox` | lists all current inbox entries |
| `smarthome:inbox listignored` | lists all ignored inbox entries |
| `smarthome:inbox approve <thingUID> <label>` | creates a thing for an inbox entry |
| `smarthome:inbox clear` | clears all current inbox entries |
| `smarthome:inbox ignore <thingUID>` | ignores an inbox entry permanently |
### Things
| Command | Description |
|---------|-------------|
| `smarthome:things list` | lists all things
| `smarthome:things clear` | removes all managed things
| Command | Description |
|--------------------------|----------------------------|
| `smarthome:things list` | lists all things |
| `smarthome:things clear` | removes all managed things |
### Links
| Command | Description |
|---------|-------------|
| `smarthome:links list` | lists all links
| `smarthome:links addChannelLink <itemName> <channelUID>` | links an item with a channel
| `smarthome:links removeChannelLink <itemName> <thingUID>` | unlinks an item with a channel
| `smarthome:links clear` | removes all managed links
| Command | Description |
|-----------------------------------------------------------|--------------------------------|
| `smarthome:links list` | lists all links |
| `smarthome:links addChannelLink <itemName> <channelUID>` | links an item with a channel |
| `smarthome:links removeChannelLink <itemName> <thingUID>` | unlinks an item with a channel |
| `smarthome:links clear` | removes all managed links |
### Audio
| 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> <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 sources` | lists the audio sources
| `smarthome:audio sinks` | lists the audio sinks
| 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> <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 sources` | lists the audio sources |
| `smarthome:audio sinks` | lists the audio sinks |
### Voice
| Command | Description |
|---------|-------------|
| `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 interpret <command>` | interprets a human language command
| Command | Description |
|---------------------------------------|------------------------------------------------------------------------|
| `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 interpret <command>` | interprets a human language command |
### Automation
| Command | Description |
|---------|-------------|
| `smarthome:script <script to execute>` | Executes a script from the `$OPENHAB_CONF/scripts` folder
| Command | Description |
|----------------------------------------|-----------------------------------------------------------|
| `smarthome:script <script to execute>` | Executes a script from the `$OPENHAB_CONF/scripts` folder |
### Firmware
| Command | Description |
|---------|-------------|
| `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 update <thingUID> <firmware version>` | updates the firmware for a thing
| Command | Description |
|-----------------------------------------------------------|-------------------------------------------------|
| `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 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:
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 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 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)
| 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 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 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) |
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:
| Setting | Description
|---------|-------------|
| Name | The name of the dashboard, also displayed on the 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
| 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
| Size (icon) | _(currently unused)_
| 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
| 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
| Setting | Description |
|------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Name | The name of the dashboard, also displayed on the 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 |
| 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 |
| Size (icon) | _(currently unused)_ |
| 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 |
| 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!
@ -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):
| Setting | Description
|---------|-------------|
| 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.
| 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)
| 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 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
| 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)
| 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*
| 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
| 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)
| Setting | Description |
|------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 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. |
| 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) |
| 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 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 |
| 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) |
| 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* |
| 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 |
| 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.

View File

@ -100,20 +100,20 @@ This optimization is reflected in the data and command types.
Available Item types are:
| Type Name | Description | Command Types |
|----------------|-------------|---------------|
| 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 |
| DateTime | Stores date and time | - |
| Dimmer | Percentage value for dimmers | OnOff, IncreaseDecrease, Percent |
| Group | Item to nest other items / collect them in groups | - |
| Image | Binary data of an image | - |
| Location | GPS coordinates | Point |
| Number | Values in number format | Decimal |
| Player | Allows control of players (e.g. audio players) | PlayPause, NextPrevious, RewindFastforward |
| Rollershutter | Roller shutter Item, typically used for blinds | UpDown, StopMove, Percent |
| String | Stores texts | String |
| Switch | Switch Item, used for anything that needs to be switched ON and OFF | OnOff |
| Type Name | Description | Command Types |
|---------------|-----------------------------------------------------------------------------------------------|--------------------------------------------|
| 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 |
| DateTime | Stores date and time | - |
| Dimmer | Percentage value for dimmers | OnOff, IncreaseDecrease, Percent |
| Group | Item to nest other items / collect them in groups | - |
| Image | Binary data of an image | - |
| Location | GPS coordinates | Point |
| Number | Values in number format | Decimal |
| Player | Allows control of players (e.g. audio players) | PlayPause, NextPrevious, RewindFastforward |
| Rollershutter | Roller shutter Item, typically used for blinds | UpDown, StopMove, Percent |
| String | Stores texts | String |
| Switch | Switch Item, used for anything that needs to be switched ON and OFF | OnOff |
More details about all of the available Item types and their commands are available under Concepts, see:
[Item Types Overview]({{base}}/concepts/items.html)
@ -177,13 +177,13 @@ The following naming style guide is recommended:
Examples:
| Item Name | Interpretation (assumed Item type, example value) |
|-----------------------------------|---------------------------------------------------|
| "`Livingroom_CeilingLight`" | Living room light (Switch, e.g. ON) |
| "`Livingroom_CeilingLight_Color`" | Living room light color (Color, e.g. warm white) |
| Item Name | Interpretation (assumed Item type, example value) |
|-----------------------------------|---------------------------------------------------------------------------------------------------------|
| "`Livingroom_CeilingLight`" | Living room light (Switch, e.g. ON) |
| "`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) |
| "`Lighting_Scene`" | Overall lighting scene of the house (String, e.g. Party) |
| "`Presence_John_Smartphone`" | An Item indicating if John is home or not, based on smartphone detection (Switch, e.g. Offline) |
| "`Lighting_Scene`" | Overall lighting scene of the house (String, e.g. Party) |
| "`Presence_John_Smartphone`" | An Item indicating if John is home or not, based on smartphone detection (Switch, e.g. Offline) |
[Group](#groups) is a special Item type that may be used to nest or combine Items.
Users are encouraged to apply the style guide above to group names as well as Item names.
@ -193,11 +193,11 @@ Two naming schemes are established in the community for Group names:
Otherwise the word "Group" may be appended for clarity.
2. Prepend a lowercase "g" to the name (e.g. gBattery)
| Group Name | Interpretation |
|-------------------------------------------|----------------|
| "`Batteries`" or "`gBattery`" | Group combining the states of all battery 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 |
| Group Name | Interpretation |
|-------------------------------------------|-----------------------------------------------------------------------|
| "`Batteries`" or "`gBattery`" | Group combining the states of all battery 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`" or "`gLR`" | Group for *all* Items (including lights) belonging to the living room |
{: #label}
@ -377,11 +377,11 @@ String Livingroom_Light_Connection "Livingroom Ceiling Light [MAP(error.map):%s]
On the filesystem, the following icon files are provided by the user:
| File name | Description |
|------------------------|--------------------------------------------------------------------|
| `myswitch-off.svg` | Matches `OFF` or "off" state |
| `myswitch-on.svg` | Matches `ON` or "on" state |
| `myswitch.svg` | Default icon, used when no matching icon is found (e.g. `UNDEF`) |
| File name | Description |
|--------------------|------------------------------------------------------------------|
| `myswitch-off.svg` | Matches `OFF` or "off" state |
| `myswitch-on.svg` | Matches `ON` or "on" state |
| `myswitch.svg` | Default icon, used when no matching icon is found (e.g. `UNDEF`) |
| File name | Description |
|------------------------|--------------------------------------------------------------------|
@ -396,12 +396,12 @@ The default icon will be used for negative numbers, or above 100 i.e. the availa
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:
| File name | Description |
|--------------------|------------------------------------------------------|
| `mydimmer.svg` | Default icon (used in undefined states) |
| `mydimmer-0.svg` | Matches the turned off light (0%) |
| `mydimmer-1.svg` | Matches any dimmed light between 1% up to 74% |
| `mydimmer-75.svg` | Matches the bright light state from 75% to full 100% |
| File name | Description |
|-------------------|------------------------------------------------------|
| `mydimmer.svg` | Default icon (used in undefined states) |
| `mydimmer-0.svg` | Matches the turned off light (0%) |
| `mydimmer-1.svg` | Matches any dimmed light between 1% up to 74% |
| `mydimmer-75.svg` | Matches the bright light state from 75% to full 100% |
Just as with regular icons, user-defined dynamic icon sets may be configured via the custom icons folder `$OPENHAB_CONF/icons/classic/`.
@ -475,17 +475,17 @@ Group[:itemtype[:function]] groupname ["labeltext"] [<iconname>] [(group1, group
Group state aggregation functions can be any of the following:
| 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`. |
| `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. |
| 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`. |
| `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. |
| `NAND(value1,value2)` | [Boolean](https://en.wikipedia.org/wiki/Boolean_algebra) NAND (not AND) operation. Returns the opposite of the AND operation. |
| `NOR(value1,value2)` | [Boolean](https://en.wikipedia.org/wiki/Boolean_algebra) NOR (not OR) operation. Returns the opposite of the OR operation. |
| `AVG` | Calculates the numeric average over all Item states of decimal type. |
| `MAX` | Calculates the maximum value of all Item states of decimal type. |
| `MIN` | Calculates the minimum value of all Item states of decimal type. |
| `SUM` | Calculates the sum of all Item states in the Group. |
| `NAND(value1,value2)` | [Boolean](https://en.wikipedia.org/wiki/Boolean_algebra) NAND (not AND) operation. Returns the opposite of the AND operation. |
| `NOR(value1,value2)` | [Boolean](https://en.wikipedia.org/wiki/Boolean_algebra) NOR (not OR) operation. Returns the opposite of the OR operation. |
| `AVG` | Calculates the numeric average over all Item states of decimal type. |
| `MAX` | Calculates the maximum value of all Item states of decimal type. |
| `MIN` | Calculates the minimum value of all Item states of decimal type. |
| `SUM` | Calculates the sum of all Item states in the Group. |
Boolean group state functions additionally return a number representing the count of member Items of value 'value1' (see example below).
@ -680,14 +680,14 @@ You can find the documentation of these Profiles within the [Add-On documentatio
| 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. |
| `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.|
| `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-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.
| 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. |
| `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. |
| `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-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
```java
Color Bedroom_Light { channel="hue:0210:1:bulb1:color" }

View File

@ -27,10 +27,10 @@ There are different options for output devices (so called audio sinks):
The distribution comes with these options built-in:
| Output Device | Audio Sink | Description |
|---------------------|-----------------------------------|-------------|
| `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. |
| Output Device | Audio Sink | Description |
|---------------------|-----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `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. |
| `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. |
Additionally, certain bindings register their supported devices as audio sinks, e.g. Sonos speakers.
@ -137,9 +137,9 @@ Human language interpreters are meant to process prose that e.g. is a result of
There are two implementations available by default:
| 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. |
| 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. |
| `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). |
To test the interpreter, you can enter such a command on the console (assuming you have an item with label 'light'):

View File

@ -168,20 +168,20 @@ You can easily imagine that you can implement very powerful rules using this fea
Here is the full list of available persistence extensions:
| Persistence Extension | Description |
|-----------------------------------------|-------------|
| `<item>.persist` | Persists the current State of the 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>.changedSince(AbstractInstant)` | Checks if the State of the Item has (ever) changed since a certain point in time |
| `<item>.updatedSince(AbstractInstant)` | Checks if the state of the Item has been updated since a certain point in time |
| `<item>.maximumSince(AbstractInstant)` | Gets the maximum value of the State of a persisted Item since a certain point in time |
| `<item>.minimumSince(AbstractInstant)` | Gets the minimum value of the State of a persisted Item since a certain point in time |
| `<item>.averageSince(AbstractInstant)` | Gets the average value of the State of a persisted Item since a certain point in time |
| `<item>.deltaSince(AbstractInstant)` | Gets the difference in value of the State of a given Item since a certain point in time |
| `<item>.previousState()` | Gets the previous State of a persisted Item (returns HistoricItem) |
| Persistence Extension | Description |
|-----------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `<item>.persist` | Persists the current State of the 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>.changedSince(AbstractInstant)` | Checks if the State of the Item has (ever) changed since a certain point in time |
| `<item>.updatedSince(AbstractInstant)` | Checks if the state of the Item has been updated since a certain point in time |
| `<item>.maximumSince(AbstractInstant)` | Gets the maximum value of the State of a persisted Item since a certain point in time |
| `<item>.minimumSince(AbstractInstant)` | Gets the minimum value of the State of a persisted Item since a certain point in time |
| `<item>.averageSince(AbstractInstant)` | Gets the average value of the State of a persisted Item since a certain point in time |
| `<item>.deltaSince(AbstractInstant)` | Gets the difference in value of the State of a given Item since a certain point in time |
| `<item>.previousState()` | Gets the previous State of a persisted Item (returns HistoricItem) |
| `<item>.previousState(true)` | Gets the previous State of a persisted Item, skips Items with equal State values and searches the first Item with State not equal the current State (returns HistoricItem) |
| `<item>.sumSince(AbstractInstant)` | Gets the sum of the previous States of a persisted Item since a certain point in time |
| `<item>.sumSince(AbstractInstant)` | Gets the sum of the previous States of a persisted Item since a certain point in time |
These extensions use the default persistence service.
(Refer to 'Default Persistence Service' above to configure this.)

View File

@ -181,10 +181,10 @@ 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:
| 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 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. |
You may wish to use the 'System started' trigger to initialize values at startup if they are not already set.
@ -294,8 +294,8 @@ The following table summarizes the impact of the two manipulator commands on the
| Command \ Rule Trigger | `received update` | `received command` | `changed` |
|--------------------------|-------------------|--------------------|-----------|
| postUpdate | ⚡ rule fires | ❌ | (depends) |
| sendCommand | (❌) see below | ⚡ rule fires | (depends) |
| postUpdate | ⚡ rule fires | ❌ | (depends) |
| sendCommand | (❌) see below | ⚡ rule fires | (depends) |
| *Change through Binding* | ⚡ rule fires | ⚡ rule fires | (depends) |
**Beware:**
@ -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 carries three types with predefined commands
State Type | Commands
------------------|------------------
**PlayPauseType** | PLAY, PAUSE
**RewindFastforwardType** | REWIND, FASTFORWARD
**NextPreviousType** | NEXT, PREVIOUS
| State Type | Commands |
|---------------------------|---------------------|
| **PlayPauseType** | PLAY, PAUSE |
| **RewindFastforwardType** | REWIND, FASTFORWARD |
| **NextPreviousType** | NEXT, PREVIOUS |
These types can be convert from Open and Closed to 1 and 0 with code similar to the Contact Item (OpenClosedType)

View File

@ -109,22 +109,22 @@ sitemap <sitemapname> label="<title of the main screen>" {
The following element types may be used in a Sitemap definition file.
| Element | Description |
|-------------------------------------------|-----------------------------------------------------------|
| [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. |
| [Default](#element-type-default) | Renders an Item in the default UI representation specified by the type of the given Item. |
| [Frame](#element-type-frame) | Establishes an area containing various other Sitemap elements. |
| [Group](#element-type-group) | Concentrates all elements of a given group in a nested block. |
| [Image](#element-type-image) | Renders an image given by an URL. |
| [Mapview](#element-type-mapview) | Displays an OSM map based on a given Location Item. |
| [Selection](#element-type-selection) | Provides a dropdown or modal popup presenting values to choose from for an Item. |
| [Setpoint](#element-type-setpoint) | Renders a value between an increase and a decrease buttons. |
| [Slider](#element-type-slider) | Presents a value in a progress-bar-like slider. |
| [Switch](#element-type-switch) | Renders an Item as an ON/OFF or multi-button switch. |
| [Text](#element-type-text) | Renders an Item as text. |
| [Video](#element-type-video) | Displays a video stream, given a direct URL. |
| [Webview](#element-type-webview) | Displays the content of a webpage. |
| Element | Description |
|------------------------------------------|-------------------------------------------------------------------------------------------|
| [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. |
| [Default](#element-type-default) | Renders an Item in the default UI representation specified by the type of the given Item. |
| [Frame](#element-type-frame) | Establishes an area containing various other Sitemap elements. |
| [Group](#element-type-group) | Concentrates all elements of a given group in a nested block. |
| [Image](#element-type-image) | Renders an image given by an URL. |
| [Mapview](#element-type-mapview) | Displays an OSM map based on a given Location Item. |
| [Selection](#element-type-selection) | Provides a dropdown or modal popup presenting values to choose from for an Item. |
| [Setpoint](#element-type-setpoint) | Renders a value between an increase and a decrease buttons. |
| [Slider](#element-type-slider) | Presents a value in a progress-bar-like slider. |
| [Switch](#element-type-switch) | Renders an Item as an ON/OFF or multi-button switch. |
| [Text](#element-type-text) | Renders an Item as text. |
| [Video](#element-type-video) | Displays a video stream, given a direct URL. |
| [Webview](#element-type-webview) | Displays the content of a webpage. |
<!-- TODO: check for new element types -->
@ -609,25 +609,25 @@ 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.
| Color Name | Preview and RGB Color Code |
|-------------|-----------------------------------------|
| maroon | *`► #800000`*{: style="color: #800000"} |
| red | *`► #ff0000`*{: style="color: #ff0000"} |
| orange | *`► #ffa500`*{: style="color: #ffa500"} |
| olive | *`► #808000`*{: style="color: #808000"} |
| yellow | *`► #ffff00`*{: style="color: #ffff00"} |
| purple | *`► #800080`*{: style="color: #800080"} |
| fuchsia | *`► #ff00ff`*{: style="color: #ff00ff"} |
| white | *`► #ffffff`*{: style="color: #ffffff"} |
| lime | *`► #00ff00`*{: style="color: #00ff00"} |
| green | *`► #008000`*{: style="color: #008000"} |
| navy | *`► #000080`*{: style="color: #000080"} |
| blue | *`► #0000ff`*{: style="color: #0000ff"} |
| teal | *`► #008080`*{: style="color: #008080"} |
| aqua | *`► #00ffff`*{: style="color: #00ffff"} |
| black | *`► #000000`*{: style="color: #000000"} |
| silver | *`► #c0c0c0`*{: style="color: #c0c0c0"} |
| gray | *`► #808080`*{: style="color: #808080"} |
| Color Name | Preview and RGB Color Code |
|------------|-----------------------------------------|
| maroon | *`► #800000`*{: style="color: #800000"} |
| red | *`► #ff0000`*{: style="color: #ff0000"} |
| orange | *`► #ffa500`*{: style="color: #ffa500"} |
| olive | *`► #808000`*{: style="color: #808000"} |
| yellow | *`► #ffff00`*{: style="color: #ffff00"} |
| purple | *`► #800080`*{: style="color: #800080"} |
| fuchsia | *`► #ff00ff`*{: style="color: #ff00ff"} |
| white | *`► #ffffff`*{: style="color: #ffffff"} |
| lime | *`► #00ff00`*{: style="color: #00ff00"} |
| green | *`► #008000`*{: style="color: #008000"} |
| navy | *`► #000080`*{: style="color: #000080"} |
| blue | *`► #0000ff`*{: style="color: #0000ff"} |
| teal | *`► #008080`*{: style="color: #008080"} |
| aqua | *`► #00ffff`*{: style="color: #00ffff"} |
| black | *`► #000000`*{: style="color: #000000"} |
| silver | *`► #c0c0c0`*{: style="color: #c0c0c0"} |
| gray | *`► #808080`*{: style="color: #808080"} |
Please take note that colors other than those listed in the list above may be used.
Generally, you can expected that valid HTML colors will be accepted (e.g. "green", "lightgrey", "#334455"), but note that a UI may only accept internally defined colors, or work with a special theme.

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
osgi commands are:
Command | Description
--------|-------
*help* | Basic command that will list all available commands
*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
*stop* [bundle # or bundle name] | Stops the bundle with the given numeric or symbolic id
*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
*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)
| Command | Description |
|-----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| *help* | Basic command that will list all available commands |
| *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 |
| *stop* [bundle # or bundle name] | Stops the bundle with the given numeric or symbolic id |
| *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 |
| *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>)

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:
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.
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.
ACTIVE | The bundle is running
STOPPING | A temporary state that the bundle goes through while the bundle is stopping
UNINSTALLED | The bundle has been removed from the OSGi container.
| 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. |
| 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. |
| ACTIVE | The bundle is running |
| STOPPING | A temporary state that the bundle goes through while the bundle is stopping |
| UNINSTALLED | The bundle has been removed from the OSGi container. |
Table 1 Bundle states description

View File

@ -43,11 +43,11 @@ Zulu is currently the recommended Java platform for openHAB.
Oracle Java is also suitable for most configurations but licencing restrictions may apply.
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 |
|---------------|------------|---------------|
| [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 |
| [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 |
| 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/) | |
| [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 |
Please download and install the Java 8 version of the JVM.
openHAB is known not to work on Java 9 and Java 10.