Updated external content (Jenkins build 2303)
parent
2b0c2d4d90
commit
77316d0c07
|
@ -3,7 +3,7 @@ id: groovyscripting
|
|||
label: Groovy Scripting
|
||||
title: Groovy Scripting - Automation
|
||||
type: automation
|
||||
description: "This add-on provides support for [Groovy](https://groovy-lang.org/) 4.0.22 that can be used as a scripting language within automation rules and which eliminates the need to manually install Groovy."
|
||||
description: "This add-on provides support for [Groovy](https://groovy-lang.org/) 4.0.23 that can be used as a scripting language within automation rules and which eliminates the need to manually install Groovy."
|
||||
since: 3x
|
||||
logo: images/addons/groovyscripting.svg
|
||||
install: auto
|
||||
|
@ -15,7 +15,7 @@ install: auto
|
|||
|
||||
# Groovy Scripting
|
||||
|
||||
This add-on provides support for [Groovy](https://groovy-lang.org/) 4.0.22 that can be used as a scripting language within automation rules and which eliminates the need to manually install Groovy.
|
||||
This add-on provides support for [Groovy](https://groovy-lang.org/) 4.0.23 that can be used as a scripting language within automation rules and which eliminates the need to manually install Groovy.
|
||||
|
||||
## Creating Groovy Scripts
|
||||
|
||||
|
|
|
@ -487,6 +487,9 @@ Calling `Item.persistence` returns an `ItemPersistence` object with the followin
|
|||
- .minimumSince(timestamp, serviceId) ⇒ `PersistedItem | null`
|
||||
- .minimumUntil(timestamp, serviceId) ⇒ `PersistedItem | null`
|
||||
- .minimumBetween(begin, end, serviceId) ⇒ `PersistedItem | null`
|
||||
- .medianSince(timestamp, serviceId) ⇒ `PersistedState | null`
|
||||
- .medianUntil(timestamp, serviceId) ⇒ `PersistedState | null`
|
||||
- .medianBetween(begin, end, serviceId) ⇒ `PersistedState | null`
|
||||
- .persist(serviceId): Tells the persistence service to store the current Item state, which is then done asynchronously.
|
||||
**Warning:** This has the side effect, that if the Item state changes shortly after `.persist` has been called, the new Item state will be persisted. See [JSDoc](https://openhab.github.io/openhab-js/items.ItemPersistence.html#persist) for a possible work-around.
|
||||
- .persist(timestamp, state, serviceId): Tells the persistence service to store the given state at the given timestamp, which is then done asynchronously.
|
||||
|
@ -764,11 +767,13 @@ There are three different types of notifications:
|
|||
In addition to that, notifications can be updated later be re-using the same `referenceId` and hidden/removed either by `referenceId` or `tag`.
|
||||
|
||||
To send these three types of notifications, use the `notificationBuilder(message)` method of the `actions` namespace.
|
||||
`message` is optional and may be omitted.
|
||||
It returns a new `NotificationBuilder` object, which by default sends a broadcast notification and provides the following methods:
|
||||
|
||||
- `.logOnly()`: Send a log notification only.
|
||||
- `.hide()`: Hides notifications with the specified `referenceId` or `tag`.
|
||||
- `.hide()`: Hides notification(s) with the specified `referenceId` or `tag` (`referenceId` has precedence over `tag`).
|
||||
- `.addUserId(emailAddress)`: By adding the email address(es) of specific openHAB Cloud user(s), the notification is only sent to this (these) user(s).
|
||||
To add multiple users, either call `addUserId` multiple times or pass mutiple emails as multiple params, e.g. `addUserId(emailAddress1, emailAddress2)`.
|
||||
- `.withIcon(icon)`: Sets the icon of the notification.
|
||||
- `.withTag(tag)`: Sets the tag of the notification. Used for grouping notifications and to hide/remove groups of notifications.
|
||||
- `.withTitle(title)`: Sets the title of the notification.
|
||||
|
@ -1303,6 +1308,8 @@ Additionally, all the above triggers have the following functions:
|
|||
- `if(optionalFunction)`
|
||||
- `.stateOfItem(itemName)`
|
||||
- `is(state)`
|
||||
- `isOn()`
|
||||
- `isOff()`
|
||||
- `in(state...)`
|
||||
|
||||
#### Rule Builder Operations
|
||||
|
@ -1383,6 +1390,8 @@ This table gives an overview over the `event` object:
|
|||
| `thingUID` | `Thing****Trigger` | UID of Thing that triggered event | N/A |
|
||||
| `cronExpression` | `GenericCronTrigger` | Cron expression of the trigger | N/A |
|
||||
| `time` | `TimeOfDayTrigger` | Time of day value of the trigger | N/A |
|
||||
| `timeOnly` | `DateTimeTrigger` | Whether the trigger only considers the time part of the DateTime Item | N/A |
|
||||
| `offset` | `DateTimeTrigger` | Offset in seconds added to the time of the DateTime Item | N/A |
|
||||
| `eventType` | all except `PWMTrigger`, `PIDTrigger` | Type of event that triggered event (change, command, triggered, update, time) | N/A |
|
||||
| `triggerType` | all except `PWMTrigger`, `PIDTrigger` | Type of trigger that triggered event | N/A |
|
||||
| `eventClass` | all | Java class name of the triggering event | N/A |
|
||||
|
@ -1453,76 +1462,24 @@ If you want to get some advanced information, you can read [this blog post](http
|
|||
|
||||
### @runtime
|
||||
|
||||
One can access many useful utilities and types using `require("@runtime")`, e.g.
|
||||
In most cases, the [Standard Library](#standard-library) provides pure-JS APIs to interact with the openHAB runtime.
|
||||
Generally speaking, you should therefore prefer to use [Standard Library](#standard-library) provided by this library instead.
|
||||
|
||||
However, in some cases, e.g. when needing a [`HSBType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/hsbtype), one needs to access raw Java utilities and types.
|
||||
This can be achieved by using `require('@runtime')`, e.g.
|
||||
|
||||
```javascript
|
||||
var { ON, OFF, QuantityType } = require("@runtime");
|
||||
var { ON, OFF, QuantityType } = require('@runtime');
|
||||
// Alternative, more verbose way to achieve the same:
|
||||
//
|
||||
// var runtime = require("@runtime");
|
||||
// var runtime = require('@runtime');
|
||||
//
|
||||
// var ON = runtime.ON;
|
||||
// var OFF = runtime.OFF;
|
||||
// var QuantityType = runtime.QuantityType;
|
||||
```
|
||||
|
||||
| Variable | Description |
|
||||
|-------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `State` | [`org.openhab.core.types.State`](https://www.openhab.org/javadoc/latest/org/openhab/core/types/state) |
|
||||
| `Command` | [`org.openhab.core.types.Command`](https://www.openhab.org/javadoc/latest/org/openhab/core/types/command) |
|
||||
| `URLEncoder` | [`java.net.URLEncoder`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/URLEncoder.html) |
|
||||
| `File` | [`java.io.File`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/File.html) |
|
||||
| `Files` | [`java.nio.file.Files`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/file/Files.html) |
|
||||
| `Path` | [`java.nio.file.Path`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/file/Path.html) |
|
||||
| `Paths` | [`java.nio.file.Paths`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/nio/file/Paths.html) |
|
||||
| `IncreaseDecreaseType` | [`org.openhab.core.library.types.IncreaseDecreaseType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/increasedecreasetype) |
|
||||
| `DECREASE` | `IncreaseDecreaseType` enum item |
|
||||
| `INCREASE` | `IncreaseDecreaseType` enum item |
|
||||
| `OnOffType` | [`org.openhab.core.library.types.OnOffType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/onofftype) |
|
||||
| `ON` | `OnOffType` enum item |
|
||||
| `OFF` | `OnOffType` enum item |
|
||||
| `OpenClosedType` | [`org.openhab.core.library.types.OpenClosedType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/openclosedtype) |
|
||||
| `OPEN` | `OpenClosedType` enum item |
|
||||
| `CLOSED` | `OpenClosedType` enum item |
|
||||
| `StopMoveType` | [`org.openhab.core.library.types.StopMoveType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/stopmovetype) |
|
||||
| `STOP` | `StopMoveType` enum item |
|
||||
| `MOVE` | `StopMoveType` enum item |
|
||||
| `UpDownType` | [`org.openhab.core.library.types.UpDownType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/updowntype) |
|
||||
| `UP` | `UpDownType` enum item |
|
||||
| `DOWN` | `UpDownType` enum item |
|
||||
| `UnDefType` | [`org.openhab.core.library.types.UnDefType`](https://www.openhab.org/javadoc/latest/org/openhab/core/types/undeftype) |
|
||||
| `NULL` | `UnDefType` enum item |
|
||||
| `UNDEF` | `UnDefType` enum item |
|
||||
| `RefreshType` | [`org.openhab.core.library.types.RefreshType`](https://www.openhab.org/javadoc/latest/org/openhab/core/types/refreshtype) |
|
||||
| `REFRESH` | `RefreshType` enum item |
|
||||
| `NextPreviousType` | [`org.openhab.core.library.types.NextPreviusType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/nextprevioustype) |
|
||||
| `NEXT` | `NextPreviousType` enum item |
|
||||
| `PREVIOUS` | `NextPreviousType` enum item |
|
||||
| `PlayPauseType` | [`org.openhab.core.library.types.PlayPauseType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/playpausetype) |
|
||||
| `PLAY` | `PlayPauseType` enum item |
|
||||
| `PAUSE` | `PlayPauseType` enum item |
|
||||
| `RewindFastforwardType` | [`org.openhab.core.library.types.RewindFastforwardType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/rewindfastforwardtype) |
|
||||
| `REWIND` | `RewindFastforwardType` enum item |
|
||||
| `FASTFORWARD` | `RewindFastforwardType` enum item |
|
||||
| `QuantityType` | [`org.openhab.core.library.types.QuantityType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/quantitytype) |
|
||||
| `StringListType` | [`org.openhab.core.library.types.StringListType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/stringlisttype) |
|
||||
| `RawType` | [`org.openhab.core.library.types.RawType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/rawtype) |
|
||||
| `DateTimeType` | [`org.openhab.core.library.types.DateTimeType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/datetimetype) |
|
||||
| `DecimalType` | [`org.openhab.core.library.types.DecimalType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/decimaltype) |
|
||||
| `HSBType` | [`org.openhab.core.library.types.HSBType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/hsbtype) |
|
||||
| `PercentType` | [`org.openhab.core.library.types.PercentType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/percenttype) |
|
||||
| `PointType` | [`org.openhab.core.library.types.PointType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/pointtype) |
|
||||
| `StringType` | [`org.openhab.core.library.types.StringType`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/types/stringtype) |
|
||||
| `SIUnits` | [`org.openhab.core.library.unit.SIUnits`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/unit/siunits) |
|
||||
| `ImperialUnits` | [`org.openhab.core.library.unit.ImperialUnits`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/unit/imperialunits) |
|
||||
| `MetricPrefix` | [`org.openhab.core.library.unit.MetricPrefix`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/unit/metricprefix) |
|
||||
| `Units` | [`org.openhab.core.library.unit.Units`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/unit/units) |
|
||||
| `BinaryPrefix` | [`org.openhab.core.library.unit.BinaryPrefix`](https://www.openhab.org/javadoc/latest/org/openhab/core/library/unit/binaryprefix) |
|
||||
| `ChronoUnit` | [`java.time.temporal.ChronoUnit`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/temporal/ChronoUnit.html) |
|
||||
| `Duration` | [`java.time.Duration`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/Duration.html) |
|
||||
| `ZoneId` | [`java.time.ZoneId`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/ZoneId.html) |
|
||||
| `ZonedDateTime` | [`java.time.ZonedDateTime`](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/time/ZonedDateTime.html) |
|
||||
A list of available utilities and types can be found in the [JSR223 Default Preset documentation](https://www.openhab.org/docs/configuration/jsr223.html#default-preset-importpreset-not-required).
|
||||
|
||||
`require("@runtime")` also defines "services" such as `items`, `things`, `rules`, `events`, `actions`, `ir`, `itemRegistry`.
|
||||
`require('@runtime')` also defines "services" such as `items`, `things`, `rules`, `events`, `actions`, `ir`, `itemRegistry`.
|
||||
You can use these services for backwards compatibility purposes or ease migration from JSR223 scripts.
|
||||
Generally speaking, you should prefer to use [Standard Library](#standard-library) provided by this library instead.
|
||||
|
|
|
@ -5,7 +5,7 @@ title: FENECON - Bindings
|
|||
type: binding
|
||||
description: "The FENECON Binding integrates the [FENECON energy storage system](https://fenecon.de/) device into the openHAB system via [REST-API](https://docs.fenecon.de/_/de/fems/fems-app/OEM_App_REST_JSON.html)."
|
||||
since: 3x
|
||||
install: manual
|
||||
install: auto
|
||||
---
|
||||
|
||||
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||
|
|
|
@ -5,7 +5,7 @@ title: Flume - Bindings
|
|||
type: binding
|
||||
description: "This binding will interface with the cloud API to retrieve water usage from your [Flume](https://flumewater.com/) water monitor."
|
||||
since: 3x
|
||||
install: manual
|
||||
install: auto
|
||||
---
|
||||
|
||||
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||
|
|
|
@ -86,6 +86,7 @@ The following channels are available:
|
|||
| ui#title_num | Number | The current movie title number that is playing |
|
||||
| ui#title_length | Number:Time | The total running time of the currently playing movie (seconds) |
|
||||
| ui#title_loc | Number:Time | The running time elapsed of the currently playing movie (seconds) |
|
||||
| ui#endtime | DateTime | The date/time when the currently playing movie will end (timestamp) |
|
||||
| ui#chapter_num | Number | The current chapter number of the movie that is playing |
|
||||
| ui#chapter_length | Number:Time | The total running time of the current chapter (seconds) |
|
||||
| ui#chapter_loc | Number:Time | The running time elapsed of the current chapter |
|
||||
|
@ -120,6 +121,7 @@ The following channels are available:
|
|||
| music#track | String | The name of the currently playing track |
|
||||
| music#artist | String | The name of the currently playing artist |
|
||||
| music#album | String | The name of the currently playing album |
|
||||
| music#title | String | The raw output from the MUSIC_TITLE api response for use in rules that require track, artist and album changes in one update |
|
||||
| music#play_mode | String | The current playback mode of the music |
|
||||
| music#play_speed | String | The speed of playback scanning |
|
||||
| music#track_length | Number:Time | The total running time of the current playing track (seconds) |
|
||||
|
@ -177,6 +179,7 @@ String z1_Ui_PlaySpeed "Play Speed: [%s]" { channel="kaleidescape:player:myzone1
|
|||
Number z1_Ui_TitleNum "Title Number: [%s]" { channel="kaleidescape:player:myzone1:ui#title_num" }
|
||||
Number:Time z1_Ui_TitleLength "Title Length: [JS(ksecondsformat.js):%s]" { channel="kaleidescape:player:myzone1:ui#title_length" }
|
||||
Number:Time z1_Ui_TitleLoc "Title Location: [JS(ksecondsformat.js):%s]" { channel="kaleidescape:player:myzone1:ui#title_loc" }
|
||||
DateTime z1_Ui_TitleEndTime "Title End Time: [%s]" { channel="kaleidescape:player:myzone1:ui#endtime" }
|
||||
Number z1_Ui_ChapterNum "Chapter Number: [%s]" { channel="kaleidescape:player:myzone1:ui#chapter_num" }
|
||||
Number:Time z1_Ui_ChapterLength "Chapter Length: [JS(ksecondsformat.js):%s]" { channel="kaleidescape:player:myzone1:ui#chapter_length" }
|
||||
Number:Time z1_Ui_ChapterLoc "Chapter Location: [JS(ksecondsformat.js):%s]" { channel="kaleidescape:player:myzone1:ui#chapter_loc" }
|
||||
|
@ -218,6 +221,7 @@ String z1_Music_PlaySpeed "Play Speed: [%s]" { channel="kaleidescape:player:myzo
|
|||
Number:Time z1_Music_TrackLength "Track Length: [JS(ksecondsformat.js):%s]" { channel="kaleidescape:player:myzone1:music#track_length" }
|
||||
Number:Time z1_Music_TrackPosition "Track Position: [JS(ksecondsformat.js):%s]" { channel="kaleidescape:player:myzone1:music#track_position" }
|
||||
Number z1_Music_TrackProgress "Track Progress: [%s %%]" { channel="kaleidescape:player:myzone1:music#track_progress" }
|
||||
String z1_Music_Title "Music Title Raw: [%s]" { channel="kaleidescape:player:myzone1:music#title" }
|
||||
String z1_Music_TrackHandle "Track Handle: [%s]" { channel="kaleidescape:player:myzone1:music#track_handle" }
|
||||
String z1_Music_AlbumHandle "Album Handle: [%s]" { channel="kaleidescape:player:myzone1:music#album_handle" }
|
||||
String z1_Music_NowplayHandle "Now Playing Handle: [%s]" { channel="kaleidescape:player:myzone1:music#nowplay_handle" }
|
||||
|
@ -306,6 +310,7 @@ sitemap kaleidescape label="Kaleidescape" {
|
|||
Text item=z1_Ui_TitleNum icon="video"
|
||||
Text item=z1_Ui_TitleLength icon="time"
|
||||
Text item=z1_Ui_TitleLoc icon="time"
|
||||
Text item=z1_Ui_TitleEndTime icon="time"
|
||||
Text item=z1_Ui_MovieMediaType icon="colorwheel"
|
||||
Text item=z1_Ui_ChapterNum icon="video"
|
||||
Text item=z1_Ui_ChapterLength icon="time"
|
||||
|
@ -349,6 +354,7 @@ sitemap kaleidescape label="Kaleidescape" {
|
|||
Text item=z1_Music_TrackLength icon="time"
|
||||
Text item=z1_Music_TrackPosition icon="time"
|
||||
Text item=z1_Music_TrackProgress icon="time"
|
||||
Text item=z1_Music_Title icon="zoom"
|
||||
Text item=z1_Music_TrackHandle icon="zoom"
|
||||
Text item=z1_Music_AlbumHandle icon="zoom"
|
||||
Text item=z1_Music_NowplayHandle icon="zoom"
|
||||
|
|
|
@ -66,12 +66,12 @@ The IP Gateway is the most commonly used way to connect to the KNX bus.
|
|||
At its base, the _ip_ bridge accepts the following configuration parameters:
|
||||
|
||||
| Name | Required | Description | Default value |
|
||||
|---------------------|--------------|--------------------------------------------------------------------------------------------------------------|------------------------------------------------------|
|
||||
|---------------------|--------------|----------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|
|
||||
| type | Yes | The IP connection type for connecting to the KNX bus (`TUNNEL`, `ROUTER`, `SECURETUNNEL` or `SECUREROUTER`) | - |
|
||||
| ipAddress | for `TUNNEL` | Network address of the KNX/IP gateway. If type `ROUTER` is set, the IPv4 Multicast Address can be set. | for `TUNNEL`: \<nothing\>, for `ROUTER`: 224.0.23.12 |
|
||||
| portNumber | for `TUNNEL` | Port number of the KNX/IP gateway | 3671 |
|
||||
| localIp | No | Network address of the local host to be used to set up the connection to the KNX/IP gateway | the system-wide configured primary interface address |
|
||||
| localSourceAddr | No | The (virtual) individual address for identification of this openHAB Thing within the KNX bus <br/><br/>Note: Use a free address, not the one of the interface. Or leave it at `0.0.0` and let openHAB decide which address to use. When using knxd, make sure _not to use_ one of the addresses reserved for tunneling clients. | 0.0.0 |
|
||||
| localSourceAddr | No | The (virtual) individual address for identification of this openHAB Thing within the KNX bus <br/><br/>Note: Use a free address, not the one of the interface. Or leave it at `0.0.0` and let openHAB decide which address to use.<br/>When using knxd, make sure _not to use_ one of the addresses reserved for tunneling clients. | 0.0.0 |
|
||||
| useNAT | No | Whether there is network address translation between the server and the gateway | false |
|
||||
| readingPause | No | Time in milliseconds of how long should be paused between two read requests to the bus during initialization | 50 |
|
||||
| responseTimeout | No | Timeout in seconds to wait for a response from the KNX bus | 10 |
|
||||
|
@ -81,19 +81,24 @@ At its base, the _ip_ bridge accepts the following configuration parameters:
|
|||
| tunnelUserId | No | KNX secure: Tunnel user id for secure tunnel mode (if specified, it must be a number >0) | - |
|
||||
| tunnelUserPassword | No | KNX secure: Tunnel user key for secure tunnel mode | - |
|
||||
| tunnelDeviceAuthentication | No | KNX secure: Tunnel device authentication for secure tunnel mode | - |
|
||||
| keyringFile | No | KNX secure: Keyring file exported from ETS and placed in openHAB config/misc folder. Mandatory to decode secure group addresses. | - |
|
||||
| keyringPassword | No | KNX secure: Keyring file password (set during export from ETS) | - |
|
||||
| tunnelSourceAddress | No | KNX secure: Physical KNX address of tunnel in secure mode to identify tunnel. If given, openHAB will read tunnelUserId, tunnelUserPassword, tunnelDeviceAuthentication from keyring. | - |
|
||||
|
||||
### Serial Gateway
|
||||
|
||||
The _serial_ bridge accepts the following configuration parameters:
|
||||
|
||||
| Name | Required | Description | Default value |
|
||||
|---------------------|----------|--------------------------------------------------------------------------------------------------------------|---------------|
|
||||
|---------------------|----------|----------------------------------------------------------------------------------------------------------------------------------|---------------|
|
||||
| serialPort | Y | The serial port to use for connecting to the KNX bus | - |
|
||||
| readingPause | N | Time in milliseconds of how long should be paused between two read requests to the bus during initialization | 50 |
|
||||
| responseTimeout | N | Timeout in seconds to wait for a response from the KNX bus | 10 |
|
||||
| readRetriesLimit | N | Limits the read retries while initialization from the KNX bus | 3 |
|
||||
| autoReconnectPeriod | N | Seconds between connect retries when KNX link has been lost, 0 means never retry | 0 |
|
||||
| useCemi | N | Use newer CEMI message format, useful for newer devices like KNX RF sticks, kBerry, etc. | false |
|
||||
| keyringFile | N | KNX secure: Keyring file exported from ETS and placed in openHAB config/misc folder. Mandatory to decode secure group addresses. | - |
|
||||
| keyringPassword | N | KNX secure: Keyring file password (set during export from ETS) | - |
|
||||
|
||||
## Things
|
||||
|
||||
|
@ -467,16 +472,22 @@ It **requires a KNX Secure Router or a Secure IP Interface** and a KNX installat
|
|||
|
||||
For _Secure routing_ mode, the so-called `backbone key` needs to be configured in openHAB.
|
||||
It is created by the ETS tool and cannot be changed via the ETS user interface.
|
||||
There are two possible ways to provide the key to openHAB:
|
||||
|
||||
- The backbone key can be extracted from Security report (ETS, Reports, Security, look for a 32-digit key) and specified in parameter `routerBackboneKey`.
|
||||
- The backbone key is included in ETS keyring export (ETS, project settings, export keyring). Keyring file is configured using `keyringFile` (put it in `config\misc` folder of the openHAB installation) and also requires `keyringPassword`.
|
||||
|
||||
For _Secure tunneling_ with a Secure IP Interface (or a router in tunneling mode), more parameters are required.
|
||||
A unique device authentication key, and a specific tunnel identifier and password need to be available.
|
||||
It can be provided to openHAB in two different ways:
|
||||
|
||||
- All information can be looked up in ETS and provided separately: `tunnelDeviceAuthentication`, `tunnelUserPassword`.
|
||||
`tunnelUserId` is a number that is not directly visible in ETS, but can be looked up in keyring export or deduced (typically 2 for the first tunnel of a device, 3 for the second one, ...).
|
||||
`tunnelUserPasswort` is set in ETS in the properties of the tunnel (below the IP interface, you will see the different tunnels listed) and denoted as "Password".
|
||||
`tunnelDeviceAuthentication` is set in the properties of the IP interface itself; check for the tab "IP" and the description "Authentication Code".
|
||||
- All necessary information is included in ETS keyring export (ETS, project settings, export keyring).
|
||||
Keyring file is configured using `keyringFile` (put it in `config\misc` folder of the openHAB installation) and `keyringPassword`.
|
||||
In addition, `tunnelSourceAddress` needs to be set to uniquely identify the tunnel in use.
|
||||
|
||||
### KNX Data Secure
|
||||
|
||||
|
@ -484,7 +495,14 @@ KNX Data Secure protects the content of messages on the KNX bus.
|
|||
In a KNX installation, both classic and secure group addresses can coexist.
|
||||
Data Secure does _not_ necessarily require a KNX Secure Router or a Secure IP Interface, but a KNX installation with newer KNX devices that support Data Secure and with **security features enabled in the ETS tool**.
|
||||
|
||||
> NOTE: **openHAB currently ignores messages with secure group addresses.**
|
||||
**openHAB ignores messages with secure group addresses, unless data secure is configured.**
|
||||
|
||||
> NOTE: openHAB currently does fully support passive (listening) access to secure group addresses.
|
||||
Write access to secure group addresses is currently disabled in openHAB.
|
||||
Initial/periodic read will fail, avoid automatic read (< in thing definition).
|
||||
|
||||
All necessary information to decode secure group addresses is included in ETS keyring export (ETS, project settings, export keyring).
|
||||
Keyring file is configured using `keyringFile` (put it in `config\misc` folder of the openHAB installation) and also requires `keyringPassword`.
|
||||
|
||||
## Examples
|
||||
|
||||
|
|
|
@ -277,6 +277,7 @@ Currently the miio binding supports more than 360 different models.
|
|||
| MOVA Z500 Robot Vacuum and Mop Cleaner | miio:basic | [dreame.vacuum.p2156o](#dreame-vacuum-p2156o) | Experimental | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
|
||||
| MOVA L600 Robot Vacuum and Mop Cleaner | miio:basic | [dreame.vacuum.p2157](#dreame-vacuum-p2157) | Yes | |
|
||||
| Dreame Bot D9 Max | miio:basic | [dreame.vacuum.p2259](#dreame-vacuum-p2259) | Experimental | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
|
||||
| Xiaomi Robot Vacuum X10 | miio:basic | [dreame.vacuum.r2209](#dreame-vacuum-r2209) | Yes | |
|
||||
| DreameBot L10s Ultra | miio:basic | [dreame.vacuum.r2228o](#dreame-vacuum-r2228o) | Yes | |
|
||||
| HUIZUO ARIES For Bedroom | miio:basic | [huayi.light.ari013](#huayi-light-ari013) | Experimental | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
|
||||
| HUIZUO ARIES For Living Room | miio:basic | [huayi.light.aries](#huayi-light-aries) | Experimental | Experimental support. Please report back if all channels are functional. Preferably share the debug log of property refresh and command responses |
|
||||
|
@ -1691,6 +1692,59 @@ Note, not all the values need to be in the json file, e.g. a subset of the param
|
|||
| total_clean_times | Number | Clean Logs - Total Clean Times | |
|
||||
| total_clean_area | Number | Clean Logs - Total Clean Area | |
|
||||
|
||||
### Xiaomi Robot Vacuum X10 (<a name="dreame-vacuum-r2209">dreame.vacuum.r2209</a>) Channels
|
||||
|
||||
| Channel | Type | Description | Comment |
|
||||
|----------------------------|----------------------|------------------------------------------|------------|
|
||||
| actions | String | Actions | |
|
||||
| status | Number | Robot Cleaner - Status | Value mapping `["1"="Sweeping","2"="Idle","3"="Paused","4"="Error","5"="Go Charging","6"="Charging","7"="Mopping","11"="Building","13"="Charging Completed"]` |
|
||||
| fault | Number | Robot Cleaner - Device Fault | |
|
||||
| mode | Number | Robot Cleaner - Mode | Value mapping `["0"="Silent","1"="Basic","2"="Strong","3"="Full Speed"]` |
|
||||
| battery_level | Number:Dimensionless | Battery - Battery Level | |
|
||||
| charging_state | Number | Battery - Charging State | Value mapping `["1"="Charging","2"="Not Charging","5"="Go Charging"]` |
|
||||
| brush_left_time | Number:Time | Brush Cleaner - Brush Left Time | |
|
||||
| brush_life_level | Number:Dimensionless | Brush Cleaner - Brush Life Level | |
|
||||
| brush_left_time1 | Number:Time | Side Cleaning Brush - Brush Left Time | |
|
||||
| brush_life_level1 | Number:Dimensionless | Side Cleaning Brush - Brush Life Level | |
|
||||
| filter_life_level | Number:Dimensionless | Filter - Filter Life Level | |
|
||||
| filter_left_time | Number:Time | Filter - Filter Left Time | |
|
||||
| work_mode | Number | Vacuum Extend - Work Mode | |
|
||||
| cleaning_time | Number:Time | Vacuum Extend - Cleaning Time | |
|
||||
| cleaning_area | Number:Area | Vacuum Extend - Cleaning Area | |
|
||||
| cleaning_mode | Number | Vacuum Extend - Cleaning Mode | Value mapping `["0"="Quiet","1"="Standard","2"="Medium","3"="Strong"]` |
|
||||
| mop_mode | Number | Vacuum Extend - Mop Mode | Value mapping `["1"="Low","2"="Medium","3"="High"]` |
|
||||
| waterbox_status | Number | Vacuum Extend - Waterbox Status | Value mapping `["0"="No","1"="Yes"]` |
|
||||
| task_status | Number | Vacuum Extend - Task Status | |
|
||||
| clean_extend_data | String | Vacuum Extend - Clean Extend Data | |
|
||||
| break_point_restart | Number | Vacuum Extend - Break Point Restart | Value mapping `["0"="Off","1"="On"]` |
|
||||
| carpet_press | Number | Vacuum Extend - Carpet Press | Value mapping `["0"="Off","1"="On"]` |
|
||||
| serial_number | String | Vacuum Extend - Serial Number | |
|
||||
| remote_state | String | Vacuum Extend - Remote State | |
|
||||
| clean_rags_tip | Number:Time | Vacuum Extend - Clean Rags Tip | |
|
||||
| keep_sweeper_time | Number:Time | Vacuum Extend - Keep Sweeper Time | |
|
||||
| faults | String | Vacuum Extend - Faults | |
|
||||
| nation_matched | String | Vacuum Extend - Nation Matched | |
|
||||
| relocation_status | Number | Vacuum Extend - Relocation Status | |
|
||||
| enable | Switch | Do Not Disturb - Enable | |
|
||||
| start_time | String | Do Not Disturb - Start Time | |
|
||||
| end_time | String | Do Not Disturb - End Time | |
|
||||
| frame_info | String | Map - Frame Info | |
|
||||
| map_extend_data | String | Map - Map Extend Data | |
|
||||
| mult_map_info | String | Map - Mult Map Info | |
|
||||
| volume | Number:Dimensionless | Audio - Volume | |
|
||||
| voice_packet_id | String | Audio - Voice Packet Id | |
|
||||
| voice_change_state | String | Audio - Voice Change State | |
|
||||
| set_voice | String | Audio - Set Voice | |
|
||||
| time_zone | String | Time - Time Zone | |
|
||||
| timer_clean | String | Time - Timer Clean | |
|
||||
| first_clean_time | Number | Clean Logs - First Clean Time | |
|
||||
| total_clean_time | Number:Time | Clean Logs - Total Clean Time | |
|
||||
| total_clean_times | Number | Clean Logs - Total Clean Times | |
|
||||
| total_clean_area | Number | Clean Logs - Total Clean Area | |
|
||||
| auto_collect | Number | Collect Dust - Auto Collect | Value mapping `["0"="Close-auto-collect","1"="Open-auto-collect"]` |
|
||||
| clean_times | Number | Collect Dust - Clean Times | |
|
||||
| dust_enable | Number | Collect Dust - Dust Enable | Value mapping `["0"="Disable","1"="Enable"]` |
|
||||
|
||||
### DreameBot L10s Ultra (<a name="dreame-vacuum-r2228o">dreame.vacuum.r2228o</a>) Channels
|
||||
|
||||
| Channel | Type | Description | Comment |
|
||||
|
@ -7509,6 +7563,62 @@ Number total_clean_times "Clean Logs - Total Clean Times" (G_vacuum) {channel="m
|
|||
Number total_clean_area "Clean Logs - Total Clean Area" (G_vacuum) {channel="miio:basic:vacuum:total_clean_area"}
|
||||
```
|
||||
|
||||
### Xiaomi Robot Vacuum X10 (dreame.vacuum.r2209) item file lines
|
||||
|
||||
note: Autogenerated example. Replace the id (vacuum) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
|
||||
|
||||
```java
|
||||
Group G_vacuum "Xiaomi Robot Vacuum X10" <status>
|
||||
String actions "Actions" (G_vacuum) {channel="miio:basic:vacuum:actions"}
|
||||
Number status "Robot Cleaner - Status" (G_vacuum) {channel="miio:basic:vacuum:status"}
|
||||
Number fault "Robot Cleaner - Device Fault" (G_vacuum) {channel="miio:basic:vacuum:fault"}
|
||||
Number mode "Robot Cleaner - Mode" (G_vacuum) {channel="miio:basic:vacuum:mode"}
|
||||
Number:Dimensionless battery_level "Battery - Battery Level" (G_vacuum) {channel="miio:basic:vacuum:battery_level"}
|
||||
Number charging_state "Battery - Charging State" (G_vacuum) {channel="miio:basic:vacuum:charging_state"}
|
||||
Number:Time brush_left_time "Brush Cleaner - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush_left_time"}
|
||||
Number:Dimensionless brush_life_level "Brush Cleaner - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush_life_level"}
|
||||
Number:Time brush_left_time1 "Side Cleaning Brush - Brush Left Time" (G_vacuum) {channel="miio:basic:vacuum:brush_left_time1"}
|
||||
Number:Dimensionless brush_life_level1 "Side Cleaning Brush - Brush Life Level" (G_vacuum) {channel="miio:basic:vacuum:brush_life_level1"}
|
||||
Number:Dimensionless filter_life_level "Filter - Filter Life Level" (G_vacuum) {channel="miio:basic:vacuum:filter_life_level"}
|
||||
Number:Time filter_left_time "Filter - Filter Left Time" (G_vacuum) {channel="miio:basic:vacuum:filter_left_time"}
|
||||
Number work_mode "Vacuum Extend - Work Mode" (G_vacuum) {channel="miio:basic:vacuum:work_mode"}
|
||||
Number:Time cleaning_time "Vacuum Extend - Cleaning Time" (G_vacuum) {channel="miio:basic:vacuum:cleaning_time"}
|
||||
Number:Area cleaning_area "Vacuum Extend - Cleaning Area" (G_vacuum) {channel="miio:basic:vacuum:cleaning_area"}
|
||||
Number cleaning_mode "Vacuum Extend - Cleaning Mode" (G_vacuum) {channel="miio:basic:vacuum:cleaning_mode"}
|
||||
Number mop_mode "Vacuum Extend - Mop Mode" (G_vacuum) {channel="miio:basic:vacuum:mop_mode"}
|
||||
Number waterbox_status "Vacuum Extend - Waterbox Status" (G_vacuum) {channel="miio:basic:vacuum:waterbox_status"}
|
||||
Number task_status "Vacuum Extend - Task Status" (G_vacuum) {channel="miio:basic:vacuum:task_status"}
|
||||
String clean_extend_data "Vacuum Extend - Clean Extend Data" (G_vacuum) {channel="miio:basic:vacuum:clean_extend_data"}
|
||||
Number break_point_restart "Vacuum Extend - Break Point Restart" (G_vacuum) {channel="miio:basic:vacuum:break_point_restart"}
|
||||
Number carpet_press "Vacuum Extend - Carpet Press" (G_vacuum) {channel="miio:basic:vacuum:carpet_press"}
|
||||
String serial_number "Vacuum Extend - Serial Number" (G_vacuum) {channel="miio:basic:vacuum:serial_number"}
|
||||
String remote_state "Vacuum Extend - Remote State" (G_vacuum) {channel="miio:basic:vacuum:remote_state"}
|
||||
Number:Time clean_rags_tip "Vacuum Extend - Clean Rags Tip" (G_vacuum) {channel="miio:basic:vacuum:clean_rags_tip"}
|
||||
Number:Time keep_sweeper_time "Vacuum Extend - Keep Sweeper Time" (G_vacuum) {channel="miio:basic:vacuum:keep_sweeper_time"}
|
||||
String faults "Vacuum Extend - Faults" (G_vacuum) {channel="miio:basic:vacuum:faults"}
|
||||
String nation_matched "Vacuum Extend - Nation Matched" (G_vacuum) {channel="miio:basic:vacuum:nation_matched"}
|
||||
Number relocation_status "Vacuum Extend - Relocation Status" (G_vacuum) {channel="miio:basic:vacuum:relocation_status"}
|
||||
Switch enable "Do Not Disturb - Enable" (G_vacuum) {channel="miio:basic:vacuum:enable"}
|
||||
String start_time "Do Not Disturb - Start Time" (G_vacuum) {channel="miio:basic:vacuum:start_time"}
|
||||
String end_time "Do Not Disturb - End Time" (G_vacuum) {channel="miio:basic:vacuum:end_time"}
|
||||
String frame_info "Map - Frame Info" (G_vacuum) {channel="miio:basic:vacuum:frame_info"}
|
||||
String map_extend_data "Map - Map Extend Data" (G_vacuum) {channel="miio:basic:vacuum:map_extend_data"}
|
||||
String mult_map_info "Map - Mult Map Info" (G_vacuum) {channel="miio:basic:vacuum:mult_map_info"}
|
||||
Number:Dimensionless volume "Audio - Volume" (G_vacuum) {channel="miio:basic:vacuum:volume"}
|
||||
String voice_packet_id "Audio - Voice Packet Id" (G_vacuum) {channel="miio:basic:vacuum:voice_packet_id"}
|
||||
String voice_change_state "Audio - Voice Change State" (G_vacuum) {channel="miio:basic:vacuum:voice_change_state"}
|
||||
String set_voice "Audio - Set Voice" (G_vacuum) {channel="miio:basic:vacuum:set_voice"}
|
||||
String time_zone "Time - Time Zone" (G_vacuum) {channel="miio:basic:vacuum:time_zone"}
|
||||
String timer_clean "Time - Timer Clean" (G_vacuum) {channel="miio:basic:vacuum:timer_clean"}
|
||||
Number first_clean_time "Clean Logs - First Clean Time" (G_vacuum) {channel="miio:basic:vacuum:first_clean_time"}
|
||||
Number:Time total_clean_time "Clean Logs - Total Clean Time" (G_vacuum) {channel="miio:basic:vacuum:total_clean_time"}
|
||||
Number total_clean_times "Clean Logs - Total Clean Times" (G_vacuum) {channel="miio:basic:vacuum:total_clean_times"}
|
||||
Number total_clean_area "Clean Logs - Total Clean Area" (G_vacuum) {channel="miio:basic:vacuum:total_clean_area"}
|
||||
Number auto_collect "Collect Dust - Auto Collect" (G_vacuum) {channel="miio:basic:vacuum:auto_collect"}
|
||||
Number clean_times "Collect Dust - Clean Times" (G_vacuum) {channel="miio:basic:vacuum:clean_times"}
|
||||
Number dust_enable "Collect Dust - Dust Enable" (G_vacuum) {channel="miio:basic:vacuum:dust_enable"}
|
||||
```
|
||||
|
||||
### DreameBot L10s Ultra (dreame.vacuum.r2228o) item file lines
|
||||
|
||||
note: Autogenerated example. Replace the id (vacuum) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
|
||||
|
|
|
@ -44,7 +44,7 @@ The Pi-hole Binding allows you to monitor Pi-hole statistics and control its fun
|
|||
## Channels
|
||||
|
||||
| Channel | Type | Read/Write | Description |
|
||||
|-------------------------|--------|------------|------------------------------------------------------------|
|
||||
|-------------------------|----------|------------|------------------------------------------------------------|
|
||||
| domains-being-blocked | Number | RO | The total number of domains currently being blocked. |
|
||||
| dns-queries-today | Number | RO | The count of DNS queries made today. |
|
||||
| ads-blocked-today | Number | RO | The number of ads blocked today. |
|
||||
|
@ -73,6 +73,8 @@ The Pi-hole Binding allows you to monitor Pi-hole statistics and control its fun
|
|||
| privacy-level | Number | RO | The privacy level setting. |
|
||||
| enabled | Switch | RO | The current status of blocking |
|
||||
| disable-enable | String | RW | Is blocking enabled/disabled |
|
||||
| gravity-last-update | DateTime | RO | Last update of gravity |
|
||||
| gravity-file-exists | DateTime | RO | Does gravity file exists |
|
||||
|
||||
## Full Example
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ title: SunSynk - Bindings
|
|||
type: binding
|
||||
description: "This binding integrates the [Sun Synk Connect web services](https://www.sunsynk.net/)."
|
||||
since: 3x
|
||||
install: manual
|
||||
install: auto
|
||||
---
|
||||
|
||||
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<property name="Control Protocol ID">unknown</property>
|
||||
<property name="System Version">unknown</property>
|
||||
<property name="Protocol Version">unknown</property>
|
||||
<property name="thingTypeVersion">1</property>
|
||||
<property name="thingTypeVersion">2</property>
|
||||
</properties>
|
||||
|
||||
<config-description-ref uri="thing-type:kaleidescape:kaleidescapedevice"/>
|
||||
|
@ -68,7 +68,7 @@
|
|||
<property name="Control Protocol ID">unknown</property>
|
||||
<property name="System Version">unknown</property>
|
||||
<property name="Protocol Version">unknown</property>
|
||||
<property name="thingTypeVersion">1</property>
|
||||
<property name="thingTypeVersion">2</property>
|
||||
</properties>
|
||||
|
||||
<config-description-ref uri="thing-type:kaleidescape:kaleidescapedevice"/>
|
||||
|
@ -99,7 +99,7 @@
|
|||
<property name="Control Protocol ID">unknown</property>
|
||||
<property name="System Version">unknown</property>
|
||||
<property name="Protocol Version">unknown</property>
|
||||
<property name="thingTypeVersion">1</property>
|
||||
<property name="thingTypeVersion">2</property>
|
||||
</properties>
|
||||
|
||||
<config-description-ref uri="thing-type:kaleidescape:kaleidescapedevice"/>
|
||||
|
@ -130,7 +130,7 @@
|
|||
<property name="Control Protocol ID">unknown</property>
|
||||
<property name="System Version">unknown</property>
|
||||
<property name="Protocol Version">unknown</property>
|
||||
<property name="thingTypeVersion">1</property>
|
||||
<property name="thingTypeVersion">2</property>
|
||||
</properties>
|
||||
|
||||
<config-description-ref uri="thing-type:kaleidescape:kaleidescapedevice"/>
|
||||
|
@ -150,6 +150,7 @@
|
|||
<channel id="title_num" typeId="title_num"/>
|
||||
<channel id="title_length" typeId="title_length"/>
|
||||
<channel id="title_loc" typeId="title_loc"/>
|
||||
<channel id="endtime" typeId="endtime"/>
|
||||
<channel id="chapter_num" typeId="chapter_num"/>
|
||||
<channel id="chapter_length" typeId="chapter_length"/>
|
||||
<channel id="chapter_loc" typeId="chapter_loc"/>
|
||||
|
@ -190,6 +191,7 @@
|
|||
<channel id="title_num" typeId="title_num"/>
|
||||
<channel id="title_length" typeId="title_length"/>
|
||||
<channel id="title_loc" typeId="title_loc"/>
|
||||
<channel id="endtime" typeId="endtime"/>
|
||||
<channel id="chapter_num" typeId="chapter_num"/>
|
||||
<channel id="chapter_length" typeId="chapter_length"/>
|
||||
<channel id="chapter_loc" typeId="chapter_loc"/>
|
||||
|
@ -229,6 +231,7 @@
|
|||
<channel id="title_num" typeId="title_num"/>
|
||||
<channel id="title_length" typeId="title_length"/>
|
||||
<channel id="title_loc" typeId="title_loc"/>
|
||||
<channel id="endtime" typeId="endtime"/>
|
||||
<channel id="chapter_num" typeId="chapter_num"/>
|
||||
<channel id="chapter_length" typeId="chapter_length"/>
|
||||
<channel id="chapter_loc" typeId="chapter_loc"/>
|
||||
|
@ -267,6 +270,7 @@
|
|||
<channel id="track" typeId="track"/>
|
||||
<channel id="artist" typeId="artist"/>
|
||||
<channel id="album" typeId="album"/>
|
||||
<channel id="title" typeId="music_title"/>
|
||||
<channel id="play_mode" typeId="music_play_mode"/>
|
||||
<channel id="play_speed" typeId="music_play_speed"/>
|
||||
<channel id="track_length" typeId="track_length"/>
|
||||
|
@ -376,6 +380,18 @@
|
|||
<state readOnly="true" pattern="%d %unit%"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="endtime">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>Title End Time</label>
|
||||
<description>The date/time when the currently playing movie will end</description>
|
||||
<category>Time</category>
|
||||
<tags>
|
||||
<tag>Status</tag>
|
||||
<tag>Timestamp</tag>
|
||||
</tags>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="chapter_num">
|
||||
<item-type>Number</item-type>
|
||||
<label>Chapter Number</label>
|
||||
|
@ -602,6 +618,13 @@
|
|||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="music_title" advanced="true">
|
||||
<item-type>String</item-type>
|
||||
<label>Music Title</label>
|
||||
<description>The raw output from the MUSIC_TITLE api response</description>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<channel-type id="music_play_mode">
|
||||
<item-type>String</item-type>
|
||||
<label>Play Mode</label>
|
||||
|
|
|
@ -73,29 +73,61 @@
|
|||
<description>Seconds between connection retries when KNX link has been lost, 0 means never retry, minimum 30s</description>
|
||||
<default>60</default>
|
||||
</parameter>
|
||||
<parameter name="keyringFile" type="text" groupName="knxsecure">
|
||||
<label>Keyring file</label>
|
||||
<description>Keyring file exported from ETS and placed in openHAB config/misc folder, e.g.
|
||||
knx.knxkeys. This file is
|
||||
mandatory to decode secure group addresses. It can provide settings
|
||||
and credentials for IP Secure if not configured
|
||||
separately.</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
<parameter name="keyringPassword" type="text" groupName="knxsecure">
|
||||
<context>password</context>
|
||||
<label>Keyring password</label>
|
||||
<description>Keyring file password (set during export from ETS).</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
<parameter name="routerBackboneKey" type="text" groupName="knxsecure">
|
||||
<context>password</context>
|
||||
<label>Router backbone key</label>
|
||||
<description>Backbone key for secure router mode. 16 bytes
|
||||
in hex notation. Can also be found
|
||||
in ETS security report.</description>
|
||||
in ETS security report.
|
||||
Optional, can be read from
|
||||
keyring file if it is configured.</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
<parameter name="tunnelSourceAddress" type="text" groupName="knxsecure">
|
||||
<label>Tunnel source address</label>
|
||||
<description>Physical KNX address of tunnel in secure mode. Optional, only used in combination
|
||||
with keyring file to
|
||||
uniquely identify a tunnel. If given, openHAB will try to read user id, user
|
||||
password and device authentication from
|
||||
keyring.</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
<parameter name="tunnelUserId" type="text" groupName="knxsecure">
|
||||
<label>Tunnel user id</label>
|
||||
<description>Tunnel user id for secure tunnel mode.</description>
|
||||
<description>Tunnel user id for secure tunnel mode. Optional, can be read from
|
||||
keyring file if tunnelSourceAddr is
|
||||
configured.</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
<parameter name="tunnelUserPassword" type="text" groupName="knxsecure">
|
||||
<context>password</context>
|
||||
<label>Tunnel user password</label>
|
||||
<description>Tunnel user key for secure tunnel mode.</description>
|
||||
<description>Tunnel user key for secure tunnel mode. Optional, can be read from
|
||||
keyring file if tunnelSourceAddr is
|
||||
configured.</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
<parameter name="tunnelDeviceAuthentication" type="text" groupName="knxsecure">
|
||||
<context>password</context>
|
||||
<label>Tunnel device authentication</label>
|
||||
<description>Tunnel device authentication for secure tunnel mode.</description>
|
||||
<description>Tunnel device authentication for secure tunnel mode. Optional, can be read from
|
||||
keyring file if
|
||||
tunnelSourceAddr is configured.</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
</config-description>
|
||||
|
|
|
@ -8,6 +8,10 @@
|
|||
<label>KNX FT1.2 Interface</label>
|
||||
<description>This is a serial interface for accessing the KNX bus</description>
|
||||
<config-description>
|
||||
<parameter-group name="knxsecure">
|
||||
<label>KNX secure</label>
|
||||
<description>Settings for KNX secure. Optional. Requires KNX secure features to be active in KNX installation.</description>
|
||||
</parameter-group>
|
||||
<parameter name="serialPort" type="text" required="true">
|
||||
<context>serial-port </context>
|
||||
<limitToOptions>false</limitToOptions>
|
||||
|
@ -42,6 +46,19 @@
|
|||
<description>Seconds between connect retries when KNX link has been lost, 0 means never retry</description>
|
||||
<default>0</default>
|
||||
</parameter>
|
||||
<parameter name="keyringFile" type="text" groupName="knxsecure">
|
||||
<label>Keyring file</label>
|
||||
<description>Keyring file exported from ETS and placed in openHAB config/misc folder, e.g.
|
||||
knx.knxkeys. This file is
|
||||
mandatory to decode secure group addresses.</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
<parameter name="keyringPassword" type="text" groupName="knxsecure">
|
||||
<context>password</context>
|
||||
<label>Keyring password</label>
|
||||
<description>Keyring file password (set during export from ETS).</description>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
</config-description>
|
||||
</bridge-type>
|
||||
|
||||
|
|
|
@ -116,6 +116,9 @@
|
|||
<channel id="enabled" typeId="enabled-channel"/>
|
||||
<channel id="disable-enable" typeId="disable-enable-channel"/>
|
||||
</channels>
|
||||
<properties>
|
||||
<property name="thingTypeVersion">1</property>
|
||||
</properties>
|
||||
|
||||
<config-description>
|
||||
<parameter name="hostname" type="text" required="true">
|
||||
|
@ -161,4 +164,15 @@
|
|||
</options>
|
||||
</command>
|
||||
</channel-type>
|
||||
<channel-type id="gravity-file-exists-channel">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Gravity File Exists</label>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
<channel-type id="gravity-last-update-channel">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>Gravity Last Update</label>
|
||||
<category>time</category>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
</thing:thing-descriptions>
|
||||
|
|
|
@ -11,7 +11,8 @@ source: https://github.com/openhab/openhabian/blob/main/docs/openhabian.md
|
|||
# openHABian - Hassle-free openHAB Setup
|
||||
You just discovered openHAB and now you are eager to start but you're afraid of setting up a computer and OS for it ?
|
||||
|
||||
openHABian is here to help. It's a **self-configuring** Linux system setup to reliably operate your openHAB instance 24 hours a day.
|
||||
openHABian is here to help.
|
||||
It's a **self-configuring** Linux system setup to reliably operate your openHAB instance 24 hours a day.
|
||||
It provides:
|
||||
|
||||
* Complete **SD-card images pre-configured with openHAB** for the Raspberry Pi line of small single-board computers.
|
||||
|
@ -284,14 +285,14 @@ They can be changed from openHABian menu.
|
|||
openHABian is designed to reliably run 24 hours a day, seven days a week. That's a complex challenge involving hardware, software and operational procedures.
|
||||
This is the right time to prepare your system for disasters such as getting hit by hardware outages or the SD card wear-out/corruption problem.
|
||||
|
||||
Preparing for hardware breakage is the challenge that is the most easy one to overcome with common-off-the-shelf hardware that is known to work as a drop-in replacement the very moment you will be in need of it (i.e. when your smart home server just died).
|
||||
Preparing for hardware breakage is the challenge that is the most easy one to overcome with common-off-the-shelf hardware that is known to work as a drop-in replacement the very moment you will be in need of (e.g. when your smart home server just died).
|
||||
|
||||
::: tip get your spare hardware ready
|
||||
Order **spare** pieces of *all* hardware components your home automation relies on to work. At a minimum, that's the computer itself and another storage medium.
|
||||
Have it ready for use *on site*, unboxed, mounted and tested to be working.
|
||||
:::
|
||||
|
||||
HEADS UP: that statement applies to EVERY hardware setup, even if you run openHAB in some virtualization environment on a $$$ x86 server rackmounted in your basement.
|
||||
**HEADS UP:** that statement applies to EVERY hardware setup, even if you run openHAB in some virtualization environment on some $$$ x86 server rackmounted in your basement.
|
||||
For our recommended hardware setup that means getting another Raspberry Pi (same model), 2 more SD cards and a power supply (in case of emergency, a smartphone charger will also do).
|
||||
|
||||
That being said, openHABian has a number of built in software features we borrowed from professional data center operations.
|
||||
|
@ -301,7 +302,9 @@ That being said, openHABian has a number of built in software features we borrow
|
|||
WARNING: power failure will result in some data to get lost (albeit the system should continue to run) so we recommend to also get an UPS.
|
||||
Zram is enabled by default for swap, logs and persistence data.
|
||||
You can toggle use in \[menu option 38\].
|
||||
2. Mirror your SD card!
|
||||
|
||||
2. SD cards, SSDs and HDDs can break or crash just like any hardware.
|
||||
Mirror your SD card to have a ready-to-use alternative boot medium ready on site at any time !
|
||||
Get an USB card writer and another SD card and set up SD mirroring using \[menu option 53\].
|
||||
This will ensure you have an always ready-to-use clone of your storage medium handy at all times.
|
||||
In case of emergency, you can simply swap SD cards and get back online within just a few minutes.
|
||||
|
@ -309,14 +312,16 @@ That being said, openHABian has a number of built in software features we borrow
|
|||
|
||||
::: tip remote replacement
|
||||
Disasters love to happen when you're not at home.
|
||||
With an openHABian RPi mirror SD setup, you can instruct your partner or even kid or your cottage neighbour to replace the SD card and/or computer from remote, by phone. No need for Internet access.
|
||||
With an openHABian RPi mirror SD setup, you can instruct your partner, kid or your cottage neighbour to replace the SD card and/or computer from remote, by phone. No need for Internet or any sort of configuring to get your system back up running.
|
||||
:::
|
||||
|
||||
3. Use the integrated original openHAB [openhab-cli tool](https://community.openhab.org/t/recommended-way-to-backup-restore-oh2-configurations-and-things/7193/82) at regular intervals to interactively backup/restore your openHAB **config** \[menu option 50/51\].
|
||||
|
||||
4. Use [Amanda Network Backup](http://www.amanda.org/) to create full system backups.
|
||||
HEADS UP: This is NOT meant to be a replacement for #1 or #3, it's a *complement* that will also enable you to restore your system to any point in time of the past.
|
||||
The specific [Amanda documentation is here](openhabian-amanda.md).
|
||||
Use \[menu option 52\] to set up.
|
||||
|
||||
5. For completeness, openHABian still provides the historic option to move the root filesystem to USB-attached devices. See \[menu option 37\].
|
||||
We don't recommend or support doing so but if you're convinced this is beneficial to your situation, feel free to go for it.
|
||||
|
||||
|
|
Loading…
Reference in New Issue