diff --git a/.vuepress/docs-sidebar.js b/.vuepress/docs-sidebar.js index 8af0c684ede93..7972631e629a1 100644 --- a/.vuepress/docs-sidebar.js +++ b/.vuepress/docs-sidebar.js @@ -28,7 +28,6 @@ module.exports = [ ['installation/macos', 'macOS'], 'installation/openhabian', 'installation/rasppi', - 'installation/pine', 'installation/armbian', 'installation/docker', 'installation/synology', @@ -77,15 +76,10 @@ module.exports = [ 'configuration/packages', 'configuration/editors', 'configuration/homebuilder', - ['configuration/paperui', 'Paper UI'], - ['configuration/ui/habmin/', 'HABmin'], ['configuration/ui/habot/', 'HABot'], 'configuration/habpanel', ['configuration/ui/basic/', 'Basic UI'], - ['configuration/ui/classic/', 'Classic UI'], 'configuration/rules-ng', - 'configuration/eclipseiotmarket', - ['configuration/restdocs', 'REST API'], ['apps/android', 'Android App'], 'apps/ios', 'apps/windows', diff --git a/README.md b/README.md index ce3f9db332b89..4daa854312400 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ The result is available at [https://next.openhab.org/docs/](https://www.openhab. ## How it works In this repo you can find and improve all *general* documentation contents. -In fact that is all you can see in the `2.5.x` branch. +In fact that is all you can see in the `main` branch. There are also other *read-only* branches, which hold external content like the *add-ons* and *concepts* documentation. We will read about them later. @@ -40,7 +40,7 @@ will help you to get it right. We use them to bring together all relevant articles or to archive versioned content. Mostly those branches will get updated automatically through our continuous integration builds. -You can read a bit more below about our external ressources and how we get them. +You can read a bit more below about our external resources and how we get them. ### Automatically Generated Parts diff --git a/addons/actions.md b/addons/actions.md index 858360d47182f..6e2b0bcbe7c97 100644 --- a/addons/actions.md +++ b/addons/actions.md @@ -210,7 +210,7 @@ Action | Returns `getNextBankHoliday` | name of the next bank holiday `getNextBankHoliday()` | name of the next bank holiday defined in `` `getNextBankHoliday()` | name of the next bank holiday after `` days from today -`getNextBankHoliday(, )` | name of the next bank holiday after `` days from today defined in `` +`getNextBankHoliday(, )` | name of the next bank holiday after `` days from today defined in ``. :warning: This action is broken in OH 2.5.x. Use `getNextBankHoliday(, )` instead by replacing `` with `ZonedDateTime.now().plusDays()` `getNextBankHoliday()` | name of the next bank holiday after the day defined by the `ZonedDateTime` `` `getNextBankHoliday(, )` | name of the next bank holiday after the day defined by the `ZonedDateTime` `` defined in `` `isBankHoliday` | `true` if today is a bank holiday (see below), `false` otherwise @@ -298,6 +298,25 @@ You can place these XML files anywhere on your file system that openHAB has perm In the calls to the Actions, use the fully qualified path. We recommend placing these custom files somewhere inside your `$OH_CONF` folder, such as `$OH_CONF/services`. +#### Localisation + +Ephemeris supports translation of holidays into many languages. Localization support files can be found in the [GitHub repo](https://github.com/svendiedrichsen/jollyday/tree/master/src/main/resources/descriptions). Currently these language supports are available: + +1. [Dutch](https://github.com/svendiedrichsen/jollyday/blob/master/src/main/resources/descriptions/holiday_descriptions_nl.properties) +1. [English](https://github.com/svendiedrichsen/jollyday/blob/master/src/main/resources/descriptions/holiday_descriptions_en.properties) +1. [French](https://github.com/svendiedrichsen/jollyday/blob/master/src/main/resources/descriptions/holiday_descriptions_fr.properties) +1. [German](https://github.com/svendiedrichsen/jollyday/blob/master/src/main/resources/descriptions/holiday_descriptions_de.properties) +1. [Portuguese](https://github.com/svendiedrichsen/jollyday/blob/master/src/main/resources/descriptions/holiday_descriptions_pt.properties) +1. [Swedish](https://github.com/svendiedrichsen/jollyday/blob/master/src/main/resources/descriptions/holiday_descriptions_sv.properties) + +Feel free to extent this list by providing additional language support files. + +To enable localization, + +* copy the file for your language to your OH setup. + * again a folder in `$OH_CONF` folder, such as `$OH_CONF/services` is proposed. +* use function 'Ephemeris.getHolidayDescription' to convert the name according to your localization file. + ## Installable Actions The following actions are available as installable add-ons. diff --git a/addons/index.md b/addons/index.md index 1e7c6943bda76..98828f7d61702 100644 --- a/addons/index.md +++ b/addons/index.md @@ -23,7 +23,7 @@ These are described under *Installation of Add-ons* below ## Installation of Add-ons -Depending on the [package]({{base}}/configuration/packages.html) you have choosen during your first time setup, there are already some pre-installed add-ons. +Depending on the [package]({{base}}/configuration/packages.html) you have chosen during your first time setup, there are already some pre-installed add-ons. Additional add-ons can be installed in the different ways, described below. ### Through Paper UI @@ -79,7 +79,7 @@ With this information we can now edit the *addons.cfg* file in the `$OPENHAB_CON The path is depending on your installation. You can find out the correct locations on the corresponding documentation pages, e.g. [Linux]({{base}}/installation/linux.html#file-locations) or [Windows]({{base}}/installation/windows.html#file-locations). -The file could look like this (depending on your choosen package and already installed add-ons): +The file could look like this (depending on your chosen package and already installed add-ons): ```text package = standard diff --git a/administration/logging.md b/administration/logging.md index 95f850b009029..4cd5a0031ac1f 100644 --- a/administration/logging.md +++ b/administration/logging.md @@ -92,12 +92,38 @@ The levels build a hierarchy with **ERROR** logging critical messages only and * **ALL** includes every log level from weight 100 to 600. Setting the log level to **DEFAULT** will log to the level defined in the package.subpackage (in most cases a binding). +If the name of `package.subpackage` is not known, the name can be found out in the console: +```text +list -s +``` +returns a list of all modules and the last column contains the information about the symbolic name of the bundle: +```text +openhab> list -s +START LEVEL 100 , List Threshold: 50 + ID │ State │ Lvl │ Version │ Symbolic name +────┼────────┼─────┼─────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + 19 │ Active │ 80 │ 5.3.1.201602281253 │ com.eclipsesource.jaxrs.publisher + 20 │ Active │ 80 │ 2.8.2.v20180104-1110 │ com.google.gson + 21 │ Active │ 80 │ 18.0.0 │ com.google.guava + 22 │ Active │ 80 │ 27.1.0.jre │ com.google.guava + 23 │ Active │ 80 │ 1.0.1 │ com.google.guava.failureaccess + 24 │ Active │ 80 │ 3.0.0.v201312141243 │ com.google.inject + +``` +The list can be also filtered with grep. To find out the Z-Wave binding the following command can be used +```Text +openhab> list -s | grep zwave +253 x Active x 80 x 2.5.5 x org.openhab.binding.zwave + +``` + Following example sets the logging for the Z-Wave binding to **DEBUG** ```text log:set DEBUG org.openhab.binding.zwave ``` + Note that the log levels set using the `log:set` commands are persistent and will be applied upon restart. To modify the stored log levels, use the console or edit the [configuration file](#config-file). diff --git a/concepts/audio.md b/concepts/audio.md index ec17bacd678ff..13ff2817847e0 100644 --- a/concepts/audio.md +++ b/concepts/audio.md @@ -9,14 +9,14 @@ title: Audio & Voice Audio and voice features are an important aspect of any smart home solution as it is a very natural way to interact with the user. -openHAB comes with a very modular architecture that enables all kinds of different use cases. +openHAB has a very modular architecture that enables many different use cases. At its core, there is the notion of an *audio stream*. Audio streams are provided by *audio sources* and consumed by *audio sinks*. ![](images/audio.png) -- *Audio Streams* are essentially a byte stream with a given *audio format*. -They do not need to be limited in size, i.e. it is also allowed to have continuous streams, e.g. the input from a microphone or from an Internet radio station. +- *Audio Streams* are essentially byte streams with a given *audio format*. +They do not need to be limited in size, i.e. it is allowed to have continuous streams, e.g. the input from a microphone or from an Internet radio station. - *Audio Formats* define the container (e.g. WAV), encoding, bit rate, sample frequency and depth and the bit order (little or big endian). - *Audio Sources* are services that are capable of producing audio streams. They can support different formats and provide a stream in a requested format upon request. diff --git a/concepts/discovery.md b/concepts/discovery.md index 7c7458f5c9bd0..b8535c4a5973b 100644 --- a/concepts/discovery.md +++ b/concepts/discovery.md @@ -9,11 +9,11 @@ title: Thing Discovery Many devices, technologies and systems can be automatically discovered on the network or browsed through some API. It therefore makes a lot of sense to use these features for a smart home solution. -In openHAB bindings therefore implement _Discovery Services_ for Things, which provide _Discovery Results_. All _Discovery Results_ are regarded as suggestions to the user and are put into the _inbox_. +openHAB bindings therefore implement _Discovery Services_ for Things, which provide _Discovery Results_. All _Discovery Results_ are regarded as suggestions to the user and are put into the _inbox_. ### Background Discovery -A couple of discovery services support automatic discovery in the background, while for others a scan needs to be triggered manually. +Some discovery services support automatic discovery in the background, while for others a scan needs to be triggered manually. Services that support background discovery usually have it enabled by default. It is possible to override this setting and deactivate background discovery for individual services by setting `discovery.:background=false`, where `serviceid` is usually identical to a binding id, e.g. the LIFX background discovery can be disabled through `discovery.lifx:background=false`. @@ -27,13 +27,14 @@ Each discovery result also has a timestamp when it was added to or updated in th Discovery results can either be ignored or approved, where in the latter case a Thing is created for them and they become available in the application. If an entry is ignored, it will be hidden in the inbox without creating a Thing for it. -openHAB offers a service to automatically ignore discovery results in the inbox, whenever a Thing is created manually, that represents the same Thing, as the respective discovery result would create. -This Thing would either have the same Thing UID or the value of its representation property is equal to the representation property's value in the discovery result. -This service is enabled by default but can be disabled by setting `org.eclipse.smarthome.inbox:autoIgnore=false`. +openHAB offers a service to automatically ignore duplicate discovery results in the inbox whenever, a) a Thing has been created manually, that represents the same Thing as the respective discovery result would create, or b) whenever a Thing has been discovered separately by two alternate discovery services. +Such duplicate Things are identified as either Things with the same Thing UID, or Things with an identical `representation property`. +For a manually created Thing, its representation property is either a `property` or a `configuration parameter` of the Thing. +This auto-ignore service is enabled by default but can be disabled by setting `org.eclipse.smarthome.inbox:autoIgnore=false`. ### Auto Approve -If the manual acceptance of discovery results by the user is not wished, it is possible to turn on the auto-approval feature of the inbox. +If the manual acceptance of discovery results by the user is not desired, it is possible to turn on the auto-approval feature of the inbox. In this case, every new entry gets automatically approved immediately (unless it has been marked as ignored as a duplicate). The auto approval can be enabled by the setting `org.eclipse.smarthome.inbox:autoApprove=true`; the default is false. diff --git a/concepts/index.md b/concepts/index.md index 17800726ecd75..780a3fd291d86 100644 --- a/concepts/index.md +++ b/concepts/index.md @@ -7,7 +7,7 @@ title: Concepts # Concepts -When first thinking about your home automation system, it may be helpful to bear in mind that there are two ways of thinking about or viewing your system; the physical view and the functional view. +When first thinking about your home automation system, it may be helpful to bear in mind that there are two ways of thinking about or viewing your system: the physical view and the functional view. The physical view will be familiar to you. This view focuses on the devices in your system, the connections between these devices (e.g. wires, Z-Wave, WiFi hardware), and other physical aspects of the system. @@ -49,4 +49,4 @@ To illustrate these concepts, consider the example below of a two-channel actuat The actuator is a Thing that might be installed in an electrical cabinet. It has a physical address and it must be configured in order to be used (remember the physical view introduced at the beginning of this article). -In order for the user to control the two lights, he or she access the capability of the actuator Thing (turning on and off two separate lights) through two Channels, that are Linked to two switch Items presented to the user through a user interface. +In order for the user to control the two lights, he or she accesses the capability of the actuator Thing (turning on and off two separate lights) through two Channels, that are Linked to two switch Items presented to the user through a user interface. diff --git a/concepts/items.md b/concepts/items.md index cf7a8e1aa207e..7aec64753cffc 100644 --- a/concepts/items.md +++ b/concepts/items.md @@ -49,25 +49,9 @@ Example for a Group Item as a simple collection of other Items: Group Items can derive their own state from their member Items. To derive a state the Group Item must be constructed using a base Item and a Group function. When calculating the state, Group functions recursively traverse the Group's members and also take members of subgroups into account. -If a subgroup however defines a state on its own (having base Item & Group function set) traversal stops and the state of the subgroup member is taken. +If a subgroup however defines a state on its own (having base Item & Group function set) traversal stops and the state of the subgroup member is taken. -Available Group functions: - -| Function | Parameters | Base Item | Description | -|--------------------|-------------------------------|---------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| -| EQUALITY | - | \ | Sets the state of the members if all have equal state. Otherwise UNDEF is set. In the Item DSL `EQUALITY` is the default and may be omitted. | -| AND, OR, NAND, NOR | , | \ (must match active & passive state) | Sets the \, if the member state \ evaluates to `true` under the boolean term. Otherwise the \ is set. | -| SUM, AVG, MIN, MAX | - | Number | Sets the state according to the arithmetic function over all member states. | -| COUNT | | Number | Sets the state to the number of members matching the given regular expression with their states. | -| LATEST, EARLIEST | - | DateTime | Sets the state to the latest/earliest date from all member states | - -Examples for derived states on Group Items when declared in the Item DSL: - -- `Group:Number:COUNT(".*")` counts all members of the Group matching the given regular expression, here any character or state (simply count all members). -- `Group:Number:AVG` calculates the average value over all member states which can be interpreted as `DecimalTypes`. -- `Group:Switch:OR(ON,OFF)` sets the Group state to `ON` if any of its members has the state `ON`, `OFF` if all are off. -- `Group:Switch:AND(ON,OFF)` sets the Group state to `ON` if all of its members have the state `ON`, `OFF` if any of the Group members has a different state than `ON`. -- `Group:DateTime:LATEST` sets the Group state to the latest date from all its members states. +For available Group functions and examples see [Configuration Guide](../configuration/items.html#group-type). ## State and Command Type Formatting @@ -99,12 +83,12 @@ Examples for derived states on Group Items when declared in the Item DSL: ### QuantityType A numerical type which carries a unit in addition to its value. -The framework is capable of automatic conversion between units depending on the users locale settings. +The framework is capable of automatic conversion between units depending on the user's locale settings. See the concept on [Units of Measurement](units-of-measurement.html) for more details. ### HSBType -HSB string values consist of three comma-separated values for hue (0-360°), saturation (0-100%), and value (0-100%) respectively, e.g. `240,100,100` for blue. +HSB string values consist of three comma-separated values for hue (0-360°), saturation (0-100%), and brightness (0-100%) respectively, e.g. `240,100,100` for "maximum" blue. ### PointType @@ -149,6 +133,11 @@ There can be metadata attached to an Item for as many namespaces as desired, lik Switch MyFan "My Fan" { homekit="Fan.v2", alexa="Fan" [ type="oscillating", speedSteps=3 ] } +The metdata can be included with the channel linking, an Alexa metadata mapping is added after the channel linking separated with a comma in the example for a ZWave switch below. +``` +Switch LightSwitch "Light Switch" {channel="zwave:device:22c99d1e:node3:switch_binary", alexa="PowerController.powerState"} +``` + The metadata can be maintained via a dedicated REST endpoint and is included in the `EnrichedItemDTO` responses. Extensions which can infer some metadata automatically need to implement and register a `MetadataProvider` service in order to make them available to the system. diff --git a/concepts/things.md b/concepts/things.md index bec14e938d841..59b494d7138ed 100644 --- a/concepts/things.md +++ b/concepts/things.md @@ -41,12 +41,12 @@ The following table provides an overview of the different statuses: | Status | Description | |---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| UNINITIALIZED | This is the initial status of a Thing, when it is added or the framework is being started. This status is also assigned, if the initializing process failed or the binding is not available. Commands which are sent to Channels will not be processed. | -| INITIALIZING | This status is assigned while the binding initializes the Thing. It depends on the binding how long the initializing process takes. Commands which are sent to Channels will not be processed. | +| UNINITIALIZED | This is the initial status of a Thing when it is added or the framework is being started. This status is also assigned if the initializing process failed or the binding is not available. Commands sent to Channels will not be processed. | +| INITIALIZING | This status is assigned while the binding initializes the Thing. It depends on the binding how long the initializing process takes. Commands sent to Channels will not be processed. | | UNKNOWN | The handler is fully initialized but due to the nature of the represented device/service it cannot really tell yet whether the Thing is ONLINE or OFFLINE. Therefore the Thing potentially might be working correctly already and may or may not process commands. But the framework is allowed to send commands, because some radio-based devices may go ONLINE if a command is sent to them. The handler should take care to switch the Thing to ONLINE or OFFLINE as soon as possible. | | ONLINE | The device/service represented by a Thing is assumed to be working correctly and can process commands. | | OFFLINE | The device/service represented by a Thing is assumed to be not working correctly and may not process commands. But the framework is allowed to send commands, because some radio-based devices may go back to ONLINE if a command is sent to them. | -| REMOVING | The device/service represented by a Thing should be removed, but the binding did not confirm the deletion yet. Some bindings need to communicate with the device to unpair it from the system. Thing is probably not working and commands cannot be processed. | +| REMOVING | The device/service represented by a Thing should be removed, but the binding has not confirmed the deletion yet. Some bindings need to communicate with the device to unpair it from the system. Thing is probably not working and commands cannot be processed. | | REMOVED | This status indicates that the device/service represented by a Thing was removed from the external system after the REMOVING was initiated by the framework. Usually this status is an intermediate status because the Thing gets removed from the database after this status was assigned. | The statuses UNINITIALIZED, INITIALIZING and REMOVING are set by the framework, whereas the statuses UNKNOWN, ONLINE and OFFLINE are assigned from a binding. @@ -73,7 +73,7 @@ The following table lists the different status details for each status: - + @@ -98,7 +98,7 @@ The following table lists the different status details for each status: To provide additional information about the current status a description is used. The status description is to be specified by the binding. -This description can be used for debugging purposes and should not be presented to the user, as it might contain unreadable technical information (e.g. an HTTP status code, or any other protocol specific information, which helps to identify the current problem). +This description can be used for debugging purposes and should not be presented to the user, as it might contain unreadable technical information (e.g. an HTTP status code, or any other protocol-specific information, which helps to identify the current problem). ### Thing Status API diff --git a/concepts/units-of-measurement.md b/concepts/units-of-measurement.md index c4357b397f0a1..741d8c0c53c1e 100644 --- a/concepts/units-of-measurement.md +++ b/concepts/units-of-measurement.md @@ -17,8 +17,8 @@ This way the framework and/or the user is able to convert the quantified value t A weather binding which reads temperature values in °C would use the `QuantityType` to indicate the unit as °C. The framework is then able to convert the values to either °F or Kelvin according to the configuration of the system. -The default conversion the framework will use is locale based: -Depended on the configured locale the framework tries to convert a `QuantityType` to the default unit of the matching measurement system. +The default conversion the framework will use is locale-based: +The framework tries to convert a `QuantityType` to the default unit of the configured locale. This is the imperial system for the United States (locale US) and Liberia (language tag "en-LR"). The metric system with SI units is used for the rest of the world. This conversion will convert the given `QuantityType` into a default unit for the specific dimension of the type. @@ -39,19 +39,19 @@ This is: In addition to the automated conversion the `NumberItem` linked to a Channel delivering `QuantityTypes` can be configured to always have state updates converted to a specific unit. The unit given in the state description is parsed and then used for conversion (if necessary). The framework assumes that the unit to parse is always the last token in the state description. -If the parsing failed the locale based default conversion takes place. +If the parsing failed the locale-based default conversion takes place. Number:Temperature temperature "Outside [%.2f °F]" { channel="...:current#temperature" } In the example the `NumberItem` is specified to bind to Channels which offer values from the dimension `Temperature`. Without the dimension information the `NumberItem` only will receive updates of type `DecimalType` without a unit and any conversion. The state description defines two decimal places for the value and the fix unit °F. -In case the state description should display the unit the binding delivers or the framework calculates through locale based conversion the pattern will look like this: +In case the state description should display the unit the binding delivers or the framework calculates through locale-based conversion the pattern will look like this: "Outside [%.2f %unit%]" The special placeholder `%unit%` will then be replaced by the actual unit symbol. -In addition the placeholder `%unit%` can be placed anywhere in the state description. +The placeholder `%unit%` can be placed anywhere in the state description. #### Defining ChannelTypes @@ -99,7 +99,7 @@ SI: | Type | Unit | Symbol | |------------------------|----------------------------------|--------| -| Acceleration | Metre per square Second | m/s² | +| Acceleration | Metre per Second squared | m/s² | | Acceleration | Standard Gravity | ɡₙ | | AmountOfSubstance | Mole | mol | | AmountOfSubstance | Deutscher Härtegrad | °dH | @@ -145,6 +145,8 @@ SI: | Energy | Watt Hour | Wh | | Energy | Kilowatt Hour | kWh | | Energy | Megawatt Hour | MWh | +| Energy | Volt-Ampere Hour | VAh | +| Energy | Volt-Ampere Reactive Hour | varh | | Energy | Kilovar Hour | kvarh | | Force | Newton | N | | Frequency | Hertz | Hz | @@ -160,6 +162,8 @@ SI: | Mass | Kilogram | kg | | Mass | Gram | g | | Power | Watt | W | +| Power | Volt-Ampere | VA | +| Power | Volt-Ampere Reactive | var | | Power | Kilovar | kvar | | Power | Decibel-Milliwatts | dBm | | Pressure | Pascal | Pa | diff --git a/configuration/addons.md b/configuration/addons.md index 191d88a8a139d..6fa1fe9884448 100644 --- a/configuration/addons.md +++ b/configuration/addons.md @@ -6,8 +6,8 @@ layout: documentation # Installation of Add-ons -Depending on the [package](/docs/configuration/packages.html) you have choosen during your first time setup, there are already some pre-installed add-ons. -Additional add-ons can be installed in the different ways, described below. +Depending on the [package](/docs/configuration/packages.html) you have chosen during your first time setup, there are already some pre-installed add-ons. +Additional add-ons can be installed in different ways, described below. ## Through Paper UI @@ -59,10 +59,10 @@ The trailing `1` has to be appended for `binding`- and `misc`-addons. It is *not needed* for other addon types like `persistence`. With this information we can now edit the *addons.cfg* file in the `$OPENHAB_CONF/services` folder on the machine you are running openHAB on. -The path is depending on your installation. +The path depends on your installation. You can find out the correct locations on the corresponding documentation pages, e.g. [Linux](/docs/installation/linux.html#file-locations) or [Windows](/docs/installation/windows.html#file-locations). -The file could look like this (depending on your choosen package and already installed add-ons): +The file could look like this (depending on your chosen package and already installed add-ons): ```text package = standard @@ -93,5 +93,5 @@ For this installation option you need a bundles `.jar` file. One way of retrieving those files is mentioned above in the openHAB console part. Place the `.jar` file in the `addons` folder on the machine you are running openHAB on. -As described already for the addons.cfg option, the path is depending on your installation. +As described already for the addons.cfg option, the path depends on your installation. Place the .jar file in the folder Additional add-on files as described in File Locations ([Linux](/docs/installation/linux.html#file-locations), [Windows](/docs/installation/windows.html#file-locations) or [macOS](/docs/installation/macos.html#file-locations)). diff --git a/configuration/items.md b/configuration/items.md index 8319a2e944ce2..1cd5fc2272162 100644 --- a/configuration/items.md +++ b/configuration/items.md @@ -119,7 +119,7 @@ More details about all of the available Item types and their commands are availa [Item Types Overview]({{base}}/concepts/items.html) To learn about the technical internals of the individual Item types, please refer to: -[Javadoc on Generic Item and its subclasses](https://eclipse.org/smarthome/documentation/javadoc/org/eclipse/smarthome/core/items/GenericItem.html) +[Javadoc on Generic Item and its subclasses](https://www.openhab.org/javadoc/v2.5/org/openhab/core/items/genericitem) Things``` page +There you will find all created things -![](images/picture_11.jpg) +![](images/create_item_simple_1.png) -Now back to your recently added thing. -Go to the "Configuration -> Things" page. -There you will find your network device thing, including the name "John's Mobile" which we defined above. +You can already see the status, "__ONLINE__", of the thing, so it's currently reachable by openHAB. +If you click on the name, you'll get to the next page showing the available channels of the thing. +Channels represent the different functions provided by the things and can be linked to items. +Those items then can be used to interact with the thing or read data from the things. +In our case you see -![](images/picture_12.jpg) +![](images/create_item_simple_2.png) -You can already see the status, "ONLINE", of the thing, so it's currently reachable by openHAB. -If you click on the name, you'll get to the next page showing the available channels of the thing. -Channels represent the different functions the items provide. -In this case you can see two channels: "Online" and "Time", the description below it says it all :) +On a fresh installation, __simple mode__ is enabled by default. +That means all available channels of the thing get automatically linked to items. +You can see that by the icon of each channel: -![](images/picture_13.jpg) +| Icon | Meaning +| ------------- | ------------- | +| ![](images/linked.png) | this channel has already at least one item linked | +| ![](images/unlinked.png) | this channel has currently no linked item| -What is very important: The channels are not "linked" after the thing discovery. -Linking means to create an openHAB "item" which represents the state of a channel of a thing. -Because we activated the "Simple Mode" before, this can be done automatically by clicking the corresponding radio button left to the channel. -Otherwise you have to define the name of the item yourself. +Since on our system, the simple mode is enabled, al our channels directly get linked to newly created items and thus you're' finished creating your thing. +Navigate to the ```CONTROL``` section and you should see the following: -So we'll link both channels of the "John's Mobile" thing now by clicking the radio buttons. +![](images/control_1.png) -![](images/picture_14.jpg) +::: tip Note +PaperUI is purely for administration purposes. +You see all things in the control section and can interact with them, but there's no customization possibility. +To create your own beautiful UIs you need to switch to the chapter [Creating a sitemap]({{base}}/tutorials/beginner/sitemap.html) +::: -For most of the bindings each thing can be configured further by clicking the pen-icon. -There you can edit the name again, chose a location (this is important for the "Control" menu item later) and, of course, change binding related options. -With the network binding for example, you can also change the IP address, the timeout, the refresh interval etc. +## Creating items manually +If you want to have more control over your items like +- item name +- item type (switch / contact /...) -![](images/picture_15.jpg) +you need to disable __simple mode__ first. +To do this, navigate to ```Configuration --> System``` (1) and scroll down to the __Item Linking__ section. +Disable simple mode (2) and click on __SAVE__ (3) to apply the changes. +You also see that the navigation bar shows a new element called ```ITEMS``` (4) -You can save changed values by clicking the check icon at the top. +![](images/disable_simple_mode.png) -Now that we linked the two channels in the previous step, we can have a look at the "Control" menu item at the top left. -On the "Control" page you can see all your linked items. -So far we added only one thing ("John's Mobile") and linked it's two channels, so that's all we see: +With that, we can create now the items on our things manually. +To do that, go back to "John's Mobile". +You see that the previous items - which were created manually - remain untouched by disabling simple mode. -![](images/picture_16.jpg) +If you now click on the blue button before the channel name the you will see all items that are linked to this channel. +The highlighted item is the automatically created item when simple mode was switched on. +![](images/create_item_1.png) -Items which are linked to channels of the same thing are displayed together, represented by the thing's name. -Here you can see the state of the "Online" and the "Time" channel. -John's mobile is online, and the ping time is 10ms. -As you can see in the screenshot with the configuration parameters of the thing above, the refresh interval is set to 60000ms by default. -This means that openHAB pings the device every 60 seconds. -If you want to set a lower value there, feel free. +You can also change this item by using the icons next to it: -**These are the basics to configure openHAB via Paper UI, meaning that the process is pretty much the same with other bindings.** +| Icon | Description +| ------------- | ------------- | +| ![](images/pen.png) | edit item profile | +| ![](images/trash.png) | delete the item| -To demonstrate that, we'll proceed and install the Zwave binding in order to add Zwave things to openHAB. +To add a new item click on the blue (+) icon next to the text __Linked items__. +![](images/create_item_2.png) -**If you do not own a Zwave controller you won't be able to follow the next steps. -However, this is a demonstration about how to install and configure add-ons. -As mentioned before, the pure procedure to install and configure add-ons is mostly the same with other addons.** +The popup asks you for a profile (leave it to __Default__) and by clicking on the empty line after *Please select the item to link*, you will have the possibility to create a new item by clicking on __"+ Create new item"__ -**More information about the Zwave binding and the other available bindings can be found [on the bindings page of the user manual](/addons/#bindings)!** +![](images/create_item_3.png) -The installation is just like the example with the network binding above. -Use the "Add-ons" menu item, search for the "Zwave" binding, click "INSTALL" and go directly to the "Inbox" afterwards. -There, we click the "+" icon again and can now choose between the "Network Binding" and the "Zwave Binding". +Fill out all the necessary data: -![](images/picture_17.jpg) +| Field | Description +| ------------- | ------------- | +| Name | The name of the new item. This name must be __UNIQUE__ | +| Label | This is the text label for the item. It will be used to display the item on the UIs.| +| Category | This can be chosen freely and will change the icon. e.g. if you select __faucet__ you will see a faucet instead of the power icon. See [Classic icons](https://www.openhab.org/docs/configuration/iconsets/classic/) in order see which icons you can use by default| +| Type | On some channels you can select different types. In this case you only __Switch__ is available. For more information see [Items]({{base}}/configuration/items.html) -The difference to the network binding is, that we have to configure the Zwave controller first. -So we are taken directly to the Zwave controller config page after clicking on the "Zwave Binding" link. -Here we configure the port and basic settings and click the check icon afterwards. +After clicking ```LINK```, your item will be created and you will see it immediately on the control tab: -![](images/picture_18.jpg) +![](images/create_item_4.png) + +Items which are linked to channels of the same thing are displayed together, represented by the thing's name. +Here you can see the state of the "Online" and the "Time" channel. +John's mobile is online, and the ping latency is 10ms. -openHAB immediately starts discovering Zwave things via the Zwave controller and shows them in the inbox. -This only happens if they already have been included. -If this is a completely new Zwave controller, you'll have to include your Zwave things first. -To set the controller into incusion mode, press the "+" icon again. -Please refer to the manual of your Zwave device in order to find out how the inclusion works there (most of the time it's pressing the tamper button thrice). -Let's assume we bought a new wallplug and included it, it's "Node 30". -For a simple sitemap and rule example on the next page, we'll configure this thing now: +## Changing parameters of the thing -![](images/picture_19.jpg) +For most of the bindings each thing can be configured further by clicking the pen-icon. +There you can edit the name again, choose a location (this is only for the "Control" menu item later) and, of course, change binding-related options. +With the network binding for example, you can change the IP address, the timeout, the refresh interval etc. -![](images/picture_20.jpg) +![](images/change_thing_parameters.png) -![](images/picture_21.jpg) +You can save changed values by clicking the check icon at the top. -Basically we gave the thing a name ("Wallplug TV") and linked the "Switch" channel. -Now we can see the wallplug (and the Zwave controller) on the "Control" page, too. -Its switch is currently turned off: +## Conclusion +Congratulations! In this chapter you have learned +- how to install a binding +- how to create a thing +- how to create items to interact with the thing +- the difference between items in simple mode and in manual mode -![](images/picture_22.jpg) -If you activate the slider of the wallplug, it will start routing power :) -**Your first action with openHAB!** [On the next page]({{base}}/tutorials/beginner/sitemap.html), we will define a sitemap to create your own view of things and items. diff --git a/tutorials/beginner/images/add_thing_1.png b/tutorials/beginner/images/add_thing_1.png new file mode 100644 index 0000000000000..7e39d522ed55a Binary files /dev/null and b/tutorials/beginner/images/add_thing_1.png differ diff --git a/tutorials/beginner/images/add_thing_2.png b/tutorials/beginner/images/add_thing_2.png new file mode 100644 index 0000000000000..76e6875fa318a Binary files /dev/null and b/tutorials/beginner/images/add_thing_2.png differ diff --git a/tutorials/beginner/images/add_thing_3.png b/tutorials/beginner/images/add_thing_3.png new file mode 100644 index 0000000000000..6d8c53357f842 Binary files /dev/null and b/tutorials/beginner/images/add_thing_3.png differ diff --git a/tutorials/beginner/images/addons.png b/tutorials/beginner/images/addons.png new file mode 100644 index 0000000000000..915f6949c0e97 Binary files /dev/null and b/tutorials/beginner/images/addons.png differ diff --git a/tutorials/beginner/images/change_thing_parameters.png b/tutorials/beginner/images/change_thing_parameters.png new file mode 100644 index 0000000000000..8432d80071dd5 Binary files /dev/null and b/tutorials/beginner/images/change_thing_parameters.png differ diff --git a/tutorials/beginner/images/check.png b/tutorials/beginner/images/check.png new file mode 100644 index 0000000000000..17b41422716e2 Binary files /dev/null and b/tutorials/beginner/images/check.png differ diff --git a/tutorials/beginner/images/control_1.png b/tutorials/beginner/images/control_1.png new file mode 100644 index 0000000000000..729474b4824a2 Binary files /dev/null and b/tutorials/beginner/images/control_1.png differ diff --git a/tutorials/beginner/images/create_item.png b/tutorials/beginner/images/create_item.png new file mode 100644 index 0000000000000..7d5600b4b3c2e Binary files /dev/null and b/tutorials/beginner/images/create_item.png differ diff --git a/tutorials/beginner/images/create_item_1.png b/tutorials/beginner/images/create_item_1.png new file mode 100644 index 0000000000000..786a4933053e9 Binary files /dev/null and b/tutorials/beginner/images/create_item_1.png differ diff --git a/tutorials/beginner/images/create_item_2.png b/tutorials/beginner/images/create_item_2.png new file mode 100644 index 0000000000000..3b6382a696f3f Binary files /dev/null and b/tutorials/beginner/images/create_item_2.png differ diff --git a/tutorials/beginner/images/create_item_3.png b/tutorials/beginner/images/create_item_3.png new file mode 100644 index 0000000000000..cf20dcd635792 Binary files /dev/null and b/tutorials/beginner/images/create_item_3.png differ diff --git a/tutorials/beginner/images/create_item_4.png b/tutorials/beginner/images/create_item_4.png new file mode 100644 index 0000000000000..78a51aaf9aee6 Binary files /dev/null and b/tutorials/beginner/images/create_item_4.png differ diff --git a/tutorials/beginner/images/create_item_simple_1.png b/tutorials/beginner/images/create_item_simple_1.png new file mode 100644 index 0000000000000..d6d31b6e21ed0 Binary files /dev/null and b/tutorials/beginner/images/create_item_simple_1.png differ diff --git a/tutorials/beginner/images/create_item_simple_2.png b/tutorials/beginner/images/create_item_simple_2.png new file mode 100644 index 0000000000000..30432ff040986 Binary files /dev/null and b/tutorials/beginner/images/create_item_simple_2.png differ diff --git a/tutorials/beginner/images/delete.png b/tutorials/beginner/images/delete.png new file mode 100644 index 0000000000000..f20d4b917c0be Binary files /dev/null and b/tutorials/beginner/images/delete.png differ diff --git a/tutorials/beginner/images/disable_simple_mode.png b/tutorials/beginner/images/disable_simple_mode.png new file mode 100644 index 0000000000000..e40561b067aee Binary files /dev/null and b/tutorials/beginner/images/disable_simple_mode.png differ diff --git a/tutorials/beginner/images/ignore.png b/tutorials/beginner/images/ignore.png new file mode 100644 index 0000000000000..ad188ee87ad03 Binary files /dev/null and b/tutorials/beginner/images/ignore.png differ diff --git a/tutorials/beginner/images/inbox.png b/tutorials/beginner/images/inbox.png new file mode 100644 index 0000000000000..d91a020c213f9 Binary files /dev/null and b/tutorials/beginner/images/inbox.png differ diff --git a/tutorials/beginner/images/install_binding_1.png b/tutorials/beginner/images/install_binding_1.png new file mode 100644 index 0000000000000..f430f80cbb4fa Binary files /dev/null and b/tutorials/beginner/images/install_binding_1.png differ diff --git a/tutorials/beginner/images/install_binding_2.png b/tutorials/beginner/images/install_binding_2.png new file mode 100644 index 0000000000000..2245f0afd57af Binary files /dev/null and b/tutorials/beginner/images/install_binding_2.png differ diff --git a/tutorials/beginner/images/linked.png b/tutorials/beginner/images/linked.png new file mode 100644 index 0000000000000..037542eccc472 Binary files /dev/null and b/tutorials/beginner/images/linked.png differ diff --git a/tutorials/beginner/images/pen.png b/tutorials/beginner/images/pen.png new file mode 100644 index 0000000000000..25341046781a7 Binary files /dev/null and b/tutorials/beginner/images/pen.png differ diff --git a/tutorials/beginner/images/picture_04.jpg b/tutorials/beginner/images/picture_04.jpg deleted file mode 100644 index 6b7e968b5aa80..0000000000000 Binary files a/tutorials/beginner/images/picture_04.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_05.jpg b/tutorials/beginner/images/picture_05.jpg deleted file mode 100644 index e1fef155a4117..0000000000000 Binary files a/tutorials/beginner/images/picture_05.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_06.jpg b/tutorials/beginner/images/picture_06.jpg deleted file mode 100644 index ae31e9a08e110..0000000000000 Binary files a/tutorials/beginner/images/picture_06.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_07.jpg b/tutorials/beginner/images/picture_07.jpg deleted file mode 100644 index 961f2db203ffd..0000000000000 Binary files a/tutorials/beginner/images/picture_07.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_08.jpg b/tutorials/beginner/images/picture_08.jpg deleted file mode 100644 index 201c9fbdd1a52..0000000000000 Binary files a/tutorials/beginner/images/picture_08.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_09.jpg b/tutorials/beginner/images/picture_09.jpg deleted file mode 100644 index 07c30e8c95ab1..0000000000000 Binary files a/tutorials/beginner/images/picture_09.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_10.jpg b/tutorials/beginner/images/picture_10.jpg deleted file mode 100644 index 3f5ca2dd4dce1..0000000000000 Binary files a/tutorials/beginner/images/picture_10.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_11.jpg b/tutorials/beginner/images/picture_11.jpg deleted file mode 100644 index 6bc55313a7a26..0000000000000 Binary files a/tutorials/beginner/images/picture_11.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_12.jpg b/tutorials/beginner/images/picture_12.jpg deleted file mode 100644 index ad8bc4d05a01c..0000000000000 Binary files a/tutorials/beginner/images/picture_12.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_13.jpg b/tutorials/beginner/images/picture_13.jpg deleted file mode 100644 index b2f26554df722..0000000000000 Binary files a/tutorials/beginner/images/picture_13.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_14.jpg b/tutorials/beginner/images/picture_14.jpg deleted file mode 100644 index 42b9173b47f95..0000000000000 Binary files a/tutorials/beginner/images/picture_14.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_15.jpg b/tutorials/beginner/images/picture_15.jpg deleted file mode 100644 index 30d16cc67878c..0000000000000 Binary files a/tutorials/beginner/images/picture_15.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_16.jpg b/tutorials/beginner/images/picture_16.jpg deleted file mode 100644 index 92b50725739fb..0000000000000 Binary files a/tutorials/beginner/images/picture_16.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_17.jpg b/tutorials/beginner/images/picture_17.jpg deleted file mode 100644 index 9f685123e08f6..0000000000000 Binary files a/tutorials/beginner/images/picture_17.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_18.jpg b/tutorials/beginner/images/picture_18.jpg deleted file mode 100644 index 9d107896d992e..0000000000000 Binary files a/tutorials/beginner/images/picture_18.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_19.jpg b/tutorials/beginner/images/picture_19.jpg deleted file mode 100644 index 6f53417300fd0..0000000000000 Binary files a/tutorials/beginner/images/picture_19.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_20.jpg b/tutorials/beginner/images/picture_20.jpg deleted file mode 100644 index d02815d535ac3..0000000000000 Binary files a/tutorials/beginner/images/picture_20.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_21.jpg b/tutorials/beginner/images/picture_21.jpg deleted file mode 100644 index c1e666c161580..0000000000000 Binary files a/tutorials/beginner/images/picture_21.jpg and /dev/null differ diff --git a/tutorials/beginner/images/picture_22.jpg b/tutorials/beginner/images/picture_22.jpg deleted file mode 100644 index 6448127dd9960..0000000000000 Binary files a/tutorials/beginner/images/picture_22.jpg and /dev/null differ diff --git a/tutorials/beginner/images/trash.png b/tutorials/beginner/images/trash.png new file mode 100644 index 0000000000000..bde812878306b Binary files /dev/null and b/tutorials/beginner/images/trash.png differ diff --git a/tutorials/beginner/images/unlinked.png b/tutorials/beginner/images/unlinked.png new file mode 100644 index 0000000000000..e9705cdfb75ed Binary files /dev/null and b/tutorials/beginner/images/unlinked.png differ diff --git a/tutorials/beginner/index.md b/tutorials/beginner/index.md index 996eca346117a..aead4d118bd3a 100644 --- a/tutorials/beginner/index.md +++ b/tutorials/beginner/index.md @@ -11,7 +11,7 @@ This part covers all the basics to use openHAB after you installed it: how to pe The goal of this tutorial is to cover the first steps for new users. After performing the first-time setup, you will learn how to install a very simple "binding", the "Network Binding". A binding is an additional package for openHAB to be able to interact with all kinds of devices or situations. -To show you the use and configuration of a more complex binding, we'll guide you through the installation of the "Zwave Binding", a binding to control devices in a Zwave network. +To show you the use and configuration of a more complex binding, we'll guide you through the installation of the "Z-Wave Binding", a binding to control devices in a Z-Wave network. At the end of this tutorial, you will be able to create a local sitemap and your first simple rules. **This tutorial assumes that you already installed openHAB on your preferred system. diff --git a/tutorials/beginner/logs.md b/tutorials/beginner/logs.md index cd0d38a4c9088..3baeedf3de02f 100644 --- a/tutorials/beginner/logs.md +++ b/tutorials/beginner/logs.md @@ -8,12 +8,12 @@ layout: tutorial-beginner While using openHAB, you may need to look at the logs generated by the software to see if there are any issues that need your attention. -Two log files are going to interest us which are openhab.log and events.log -The events.log file contains what is happening on the Openhab event bus like sensors changing states, very handy for writting rules as you can see things changing in realtime. -The other file openhab.log shows the output of all bindings and addons and allows you to fault find issues with a binding. +Two log files which are going to interest us are openhab.log and events.log +The events.log file contains what is happening on the openHAB event bus like sensors changing states, very handy for writing rules as you can see things changing in realtime. +The other file, openhab.log, shows the output of all bindings and addons and allows you to fault find issues with a binding. Before asking for help on the forum, it is worth checking openhab.log for clues as to what is causing any issues as this will result in getting help much faster. -To watch the logs in realtime with a openhabian based setup use the below linux command which can be done via SSH with a program called putty from a windows or mac machine. +To watch the logs in realtime with a openHABian-based setup use the below Linux command which can be done via SSH with a program called putty from a Windows or Mac machine. CTRL+C will close the stream. You can also use SAMBA/network shares to open or copy the file directly. @@ -23,7 +23,7 @@ tail -f /var/log/openhab2/openhab.log -f /var/log/openhab2/events.log Bindings can have the level of detail increased or decreased on a per binding basis and this is done with the Karaf console. -To find them if you are not using Openhabian: +To find them if you are not using openHABian: - open the finder, - navigate to your home folder, diff --git a/tutorials/beginner/rules.md b/tutorials/beginner/rules.md index 2ca31876b73d0..9c40fa4f29f00 100644 --- a/tutorials/beginner/rules.md +++ b/tutorials/beginner/rules.md @@ -6,7 +6,7 @@ layout: tutorial-beginner # Working with rules and scripts -Now that we have the two items - "Presence_Mobile_John" aka "Johns mobile" and "Wallplug_FF_LR_TV" aka "TV wallplug LR" - we can create a simple rule. +Now that we have the two items - "Presence_Mobile_John" aka "John's mobile" and "Wallplug_FF_LR_TV" aka "TV wallplug LR" - we can create a simple rule. Let's assume we want to turn on the wallplug (and give some juice to the connected TV) as soon as John's mobile comes online, turn it off again when the mobile goes offline (this would be a very basic "presence" rule). Rules are defined in the `$OPENHAB_CONF/rules` directory. @@ -59,7 +59,7 @@ The trigger conditions can be one of the following: - Item triggers - just like in the example above. If the state of an item changes, do something - Time triggers - do something at a specified time -- System triggers - do something after a system event happened, i.e. openHAB was started or is shut down +- System triggers - do something after a system event happened, e.g. openHAB was started or is shut down **More information on rules can be found [in the rules section of the user manual!]({{base}}/configuration/rules-dsl.html)** diff --git a/tutorials/beginner/sitemap.md b/tutorials/beginner/sitemap.md index 305f13a3b7597..cf24fec3dd990 100644 --- a/tutorials/beginner/sitemap.md +++ b/tutorials/beginner/sitemap.md @@ -7,12 +7,12 @@ layout: tutorial-beginner # Creating a sitemap Controlling your things via Paper UI is nice, but currently you can sort them only by editing the "Location" in the thing configuration. -If you want to create your own view you can use a so called "sitemap" which can be displayed in the Basic UI (you remember, it was automatically installed at the beginning). +If you want to create your own view you can use a so-called "sitemap" which can be displayed in the Basic UI (you remember, it was automatically installed at the beginning). But before that, you have to create an items file. Both the items and the sitemap files are edited in your editor of choice. The files' location is in the `$OPENHAB_CONF` directory, which is different on different operating systems. -See the linux installation instructions for the [file locations]({{base}}/installation/linux.html#file-locations) specific to linux, or the Windows [file locations]({{base}}/installation/windows.html#file-locations) specific to Windows. +See the Linux installation instructions for the [file locations]({{base}}/installation/linux.html#file-locations) specific to Linux, or the Windows [file locations]({{base}}/installation/windows.html#file-locations) specific to Windows. macOS files are located in the same place as Linux files. ```bash @@ -23,7 +23,7 @@ $OPENHAB_CONF/sitemaps <-- *.sitemap files After a fresh installation these directories are empty (except for the readme files), so you have to create a file there. We'll use "default.items" as the items file and "default.sitemap" as the sitemap file in this tutorial. **In fact, you can have multiple .items files to sort your items logically, for example lamps.items, contacts.items, network.items etc.** -**As long as the file extension is .items, it's definitions will be loaded in openHAB. The same applies to .sitemap and .rules files as well** +**As long as the file extension is .items, its definitions will be loaded in openHAB. The same applies to .sitemap and .rules files as well**. So we create the files: @@ -37,7 +37,7 @@ Let's start small. Open the default.items file and define your first item: ```java -Switch Presence_Mobile_John "Johns Mobile" { channel="network:device:192_168_1_103:online" } +Switch Presence_Mobile_John "John's Mobile" { channel="network:device:192_168_1_103:online" } ``` ::: tip Note @@ -55,7 +55,7 @@ The syntax is as follows: ItemType ItemName "ItemDescription" { ItemToThingChannelLink } ``` -You can find a detailled overview of the different item types [here]({{base}}/configuration/items.html) +You can find a detailed overview of the different item types [here]({{base}}/configuration/items.html) In this example we use "Switch" as the item's type. This results in a slider which is either turned on or turned off. @@ -107,10 +107,12 @@ Next comes the block with the actual items you want to show on your sitemap. Her The syntax is again pretty straight: ```bash -ItemType item=ItemName label="Description of the item shown on the webpage" +ElementType item=ItemName label="Description of the item shown on the webpage" ``` -where ItemType and ItemName must be the same as defined in default.items +where ItemName must be the same as defined in default.items + +You can find a detailed overview of the different element types [here]({{base}}/configuration/sitemaps.html#element-types) One last thing to do is setting the default sitemap for the "Basic UI" via "Paper UI". Browse to "Configuration -> Services" in Paper UI and click the "Configure" button of Basic UI diff --git a/tutorials/beginner/uis.md b/tutorials/beginner/uis.md index 60416b59e41a3..a31c967f558dd 100644 --- a/tutorials/beginner/uis.md +++ b/tutorials/beginner/uis.md @@ -10,19 +10,19 @@ openHAB offers different UIs in its standard configuration: the *Paper UI*, the ## The Paper UI -The Paper UI is an interface that helps setting up and configuring your openHAB instance. +The Paper UI is an interface that helps set up and configure your openHAB instance. It does not (yet) cover all aspects, so you still need to resort to textual configuration files, but it already offers the following: - Add-on management: Easily install or uninstall openHAB add-ons -![](images/picture_05.jpg) +![](/images/addons.jpg) - Thing discovery: See devices and services found on your network and add them to your setup. -![](images//picture_09.jpg) +![](/images/add_thing_2.jpg) - Linking items to channels: Instead of adding a binding configuration to your item file, you can directly link Thing channels to your items. -![](images//picture_21.jpg) +![](/images/linked.jpg) -Note that you still need to define your items, sitemaps, persistence configurations and rules in the according configuration files (as done in openHAB 1). +Note that you still need to define your items, sitemaps, persistence configurations and rules in the relevant configuration files (as done in openHAB 1). Such functionality will be added bit by bit to the Paper UI only. All these aspects are explained in the rest of this tutorial.
UNINITIALIZEDNONENo further status details available.
HANDLER_MISSING_ERRORThe handler cannot be initialized, because the responsible binding is not available or started.
HANDLER_MISSING_ERRORThe handler cannot be initialized because the responsible binding is not available or started.
HANDLER_REGISTERING_ERRORThe handler failed in the service registration phase.
HANDLER_CONFIGURATION_PENDINGThe handler is registered but cannot be initialized because of missing configuration parameters.
HANDLER_INITIALIZING_ERRORThe handler failed in the initialization phase.