Updated external content (Jenkins build 235)
parent
2f6c867953
commit
232a3797af
File diff suppressed because one or more lines are too long
|
@ -34,7 +34,8 @@ It can be extended with different channels.
|
|||
| `username` | yes | - | Username for authentication (advanced parameter). |
|
||||
| `password` | yes | - | Password for authentication (advanced parameter). |
|
||||
| `authMode` | no | BASIC | Authentication mode, `BASIC`, `BASIC_PREEMPTIVE` or `DIGEST` (advanced parameter). |
|
||||
| `commandMethod` | no | GET | Method used for sending commands `GET`, `PUT`, `POST`. |
|
||||
| `stateMethod` | no | GET | Method used for requesting the state: `GET`, `PUT`, `POST`. |
|
||||
| `commandMethod` | no | GET | Method used for sending commands: `GET`, `PUT`, `POST`. |
|
||||
| `contentType` | yes | - | MIME content-type of the command requests. Only used for `PUT` and `POST`. |
|
||||
| `encoding` | yes | - | Encoding to be used if no encoding is found in responses (advanced parameter). |
|
||||
| `headers` | yes | - | Additional headers that are sent along with the request. Format is "header=value".|
|
||||
|
@ -66,6 +67,7 @@ The `image` channel-type supports `stateExtension` only.
|
|||
| `commandExtension` | yes | - | Appended to the `baseURL` for sending commands. If empty, same as `stateExtension`. |
|
||||
| `stateTransformation ` | yes | - | One or more transformation applied to received values before updating channel. |
|
||||
| `commandTransformation` | yes | - | One or more transformation applied to channel value before sending to a remote. |
|
||||
| `stateContent` | yes | - | Content for state requests (if method is `PUT` or `POST`) |
|
||||
| `mode` | no | `READWRITE` | Mode this channel is allowed to operate. `READONLY` means receive state, `WRITEONLY` means send commands. |
|
||||
|
||||
Transformations need to be specified in the same format as
|
||||
|
@ -170,7 +172,7 @@ The URL is used as format string and two parameters are added:
|
|||
- the transformed command (referenced as `%2$`)
|
||||
|
||||
After the parameter reference the format needs to be appended.
|
||||
See the link above for more information about the available format parameters (e.g. to use the string representation, you need to append `s` to the reference).
|
||||
See the link above for more information about the available format parameters (e.g. to use the string representation, you need to append `s` to the reference, for a timestamp `t`).
|
||||
When sending an OFF command on 2020-07-06, the URL
|
||||
|
||||
```
|
||||
|
|
|
@ -44,29 +44,30 @@ known, however, whether the password is eternal or can change during factory res
|
|||
|
||||
## Channels
|
||||
|
||||
| channel | type | description | Read-only |
|
||||
|---------------|--------|----------------------------------------------------|-----------|
|
||||
| command | String | Command to execute: clean, cleanRegions, spot, dock, pause, stop | N |
|
||||
| cycle | String | Current mission: none, clean, spot | Y |
|
||||
| phase | String | Current phase of the mission; see below. | Y |
|
||||
| battery | Number | Battery charge in percents | Y |
|
||||
| bin | String | Bin status: ok, removed, full | Y |
|
||||
| error | String | Error code; see below | Y |
|
||||
| rssi | Number | Wi-Fi Received Signal Strength indicator in db | Y |
|
||||
| snr | Number | Wi-Fi Signal to noise ratio | Y |
|
||||
| sched_mon | Switch | Scheduled clean enabled for Monday | N |
|
||||
| sched_tue | Switch | Scheduled clean enabled for Tuesday | N |
|
||||
| sched_wed | Switch | Scheduled clean enabled for Wednesday | N |
|
||||
| sched_thu | Switch | Scheduled clean enabled for Thursday | N |
|
||||
| sched_fri | Switch | Scheduled clean enabled for Friday | N |
|
||||
| sched_sat | Switch | Scheduled clean enabled for Saturday | N |
|
||||
| sched_sun | Switch | Scheduled clean enabled for Sunday | N |
|
||||
| channel | type | description | Read-only |
|
||||
|---------------|--------|---------------------------------------------------------------------------|-----------|
|
||||
| command | String | Command to execute: clean, spot, dock, pause, stop | N |
|
||||
| cycle | String | Current mission: none, clean, spot | Y |
|
||||
| phase | String | Current phase of the mission; see below. | Y |
|
||||
| battery | Number | Battery charge in percents | Y |
|
||||
| bin | String | Bin status: ok, removed, full | Y |
|
||||
| error | String | Error code; see below | Y |
|
||||
| rssi | Number | Wi-Fi Received Signal Strength indicator in db | Y |
|
||||
| snr | Number | Wi-Fi Signal to noise ratio | Y |
|
||||
| sched_mon | Switch | Scheduled clean enabled for Monday | N |
|
||||
| sched_tue | Switch | Scheduled clean enabled for Tuesday | N |
|
||||
| sched_wed | Switch | Scheduled clean enabled for Wednesday | N |
|
||||
| sched_thu | Switch | Scheduled clean enabled for Thursday | N |
|
||||
| sched_fri | Switch | Scheduled clean enabled for Friday | N |
|
||||
| sched_sat | Switch | Scheduled clean enabled for Saturday | N |
|
||||
| sched_sun | Switch | Scheduled clean enabled for Sunday | N |
|
||||
| schedule | Number | Schedule bitmask for use in scripts. 7 bits, bit #0 corresponds to Sunday | N |
|
||||
| edge_clean | Switch | Seek out and clean along walls and furniture legs | N |
|
||||
| always_finish | Switch | Whether to keep cleaning if the bin becomes full | N |
|
||||
| power_boost | String | Power boost mode: "auto", "performance", "eco" | N |
|
||||
| clean_passes | String | Number of cleaning passes: "auto", "1", "2" | N |
|
||||
| last_command | String | Json string containing the parameters of the last executed command | N |
|
||||
| edge_clean | Switch | Seek out and clean along walls and furniture legs | N |
|
||||
| always_finish | Switch | Whether to keep cleaning if the bin becomes full | N |
|
||||
| power_boost | String | Power boost mode: "auto", "performance", "eco" | N |
|
||||
| clean_passes | String | Number of cleaning passes: "auto", "1", "2" | N |
|
||||
| map_upload | Switch | Enable or disable uploading Clean Map(tm) to cloud for notifications | N |
|
||||
| last_command | String | Json string containing the parameters of the last executed command | N |
|
||||
|
||||
Known phase strings and their meanings:
|
||||
|
||||
|
|
|
@ -410,6 +410,7 @@ Currently the miio binding supports more than 260 different models.
|
|||
| Yeelight LED Bulb (Color) | miio:basic | [yeelink.light.color2](#yeelink-light-color2) | Yes | |
|
||||
| Mi LED Smart Bulb (White and Color) | miio:basic | [yeelink.light.color3](#yeelink-light-color3) | Yes | |
|
||||
| Yeelight LED Bulb 1S(Color) | miio:basic | [yeelink.light.color4](#yeelink-light-color4) | Yes | |
|
||||
| Yeelight Smart LED Bulb 1SE (color) | miio:basic | [yeelink.light.colora](#yeelink-light-colora) | Yes | |
|
||||
| Yeelight LED Bulb (Tunable) | miio:basic | [yeelink.light.ct2](#yeelink-light-ct2) | Yes | |
|
||||
| Mi LED Desk Lamp | miio:basic | [yeelink.light.lamp1](#yeelink-light-lamp1) | Yes | |
|
||||
| Mi Smart LED Desk Lamp Pro | miio:basic | [yeelink.light.lamp2](#yeelink-light-lamp2) | Yes | |
|
||||
|
@ -2974,6 +2975,18 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
|
|||
| rgbColor | Color | RGB Color | |
|
||||
| name | String | Name | |
|
||||
|
||||
### Yeelight Smart LED Bulb 1SE (color) (<a name="yeelink-light-colora">yeelink.light.colora</a>) Channels
|
||||
|
||||
| Channel | Type | Description | Comment |
|
||||
|------------------|---------|-------------------------------------|------------|
|
||||
| power | Switch | Power | |
|
||||
| brightness | Dimmer | Brightness | |
|
||||
| delayoff | Number:Time | Shutdown Timer | |
|
||||
| colorTemperature | Number | Color Temperature | |
|
||||
| colorMode | Number | Color Mode | |
|
||||
| rgbColor | Color | RGB Color | |
|
||||
| name | String | Name | |
|
||||
|
||||
### Yeelight LED Bulb (Tunable) (<a name="yeelink-light-ct2">yeelink.light.ct2</a>) Channels
|
||||
|
||||
| Channel | Type | Description | Comment |
|
||||
|
@ -4343,12 +4356,12 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
|
|||
| Channel | Type | Description | Comment |
|
||||
|------------------|---------|-------------------------------------|------------|
|
||||
| power | Switch | Power | |
|
||||
| mode | Number | Mode | |
|
||||
| mode | Number | Mode - Fan Level | Value mapping ["0"="Auto","1"="Silent","2"="Normal","3"="Maximum"] |
|
||||
| Fault | Number | Humidifier Device Fault | |
|
||||
| humidity | Number:Dimensionless | Humidity | |
|
||||
| targetHumidity | Number | Target Humidity | |
|
||||
| targetHumidity | Number:Dimensionless | Target Humidity | |
|
||||
| waterlevel | Number | Water Level | |
|
||||
| bright | Dimmer | LED Brightness | |
|
||||
| bright | Number | LED Brightness | Value mapping ["0"="Dark","1"="Dimmed","2"="Brightest"] |
|
||||
| buzzer | Switch | Buzzer Status | |
|
||||
| dry | Switch | Dry | |
|
||||
| usedhours | Number:Time | Run Time | |
|
||||
|
@ -4357,9 +4370,8 @@ e.g. `openhab:send actionCommand 'upd_timer["1498595904821", "on"]'` would enabl
|
|||
| actualmotorspeed | Number | Actual Motor Speed | |
|
||||
| temperature | Number:Temperature | Temperature | |
|
||||
| childlock | Switch | Child Lock | |
|
||||
| ButtonPressed | Number | Button Pressed | |
|
||||
| ButtonPressed | Number | Button Pressed | Value mapping ["0"="none","1"="led","2"="power"] |
|
||||
| clean | Switch | Clean Mode | |
|
||||
| countryCode | Number | Country Code | |
|
||||
|
||||
### Smartmi Evaporative Humidifier (<a name="zhimi-humidifier-cb1">zhimi.humidifier.cb1</a>) Channels
|
||||
|
||||
|
@ -4452,6 +4464,7 @@ Number statusFanPow "Fan Power [%1.0f%%]" <signal> (gVacStat) {channel="mi
|
|||
Number statusClean "In Cleaning Status [%1.0f]" <switch> (gVacStat) {channel="miio:vacuum:034F0E45:status#in_cleaning" }
|
||||
Switch statusDND "DND Activated" (gVacStat) {channel="miio:vacuum:034F0E45:status#dnd_enabled" }
|
||||
Number statusStatus "Status [%1.0f]" <status> (gVacStat) {channel="miio:vacuum:034F0E45:status#state"}
|
||||
Switch isLocating "Locating" (gVacStat) {channel="miio:vacuum:034F0E45:status#is_locating" }
|
||||
|
||||
Number consumableMain "Main Brush [%1.0f]" (gVacCons) {channel="miio:vacuum:034F0E45:consumables#main_brush_time"}
|
||||
Number consumableSide "Side Brush [%1.0f]" (gVacCons) {channel="miio:vacuum:034F0E45:consumables#side_brush_time"}
|
||||
|
@ -4488,6 +4501,7 @@ Additionally depending on the capabilities of your robot vacuum other channels m
|
|||
| Number | status#water_box_mode | Water Box Mode |
|
||||
| Switch | status#water_box_carriage_status | Water Box Carriage Status |
|
||||
| Switch | status#mop_forbidden_enable | Mop Forbidden |
|
||||
| Switch | status#is_locating | Robot is locating |
|
||||
| Number | actions#segment | Room Clean (enter room #) |
|
||||
|
||||
|
||||
|
@ -7467,6 +7481,21 @@ Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
|
|||
String name "Name" (G_light) {channel="miio:basic:light:name"}
|
||||
```
|
||||
|
||||
### Yeelight Smart LED Bulb 1SE (color) (yeelink.light.colora) item file lines
|
||||
|
||||
note: Autogenerated example. Replace the id (light) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
|
||||
|
||||
```
|
||||
Group G_light "Yeelight Smart LED Bulb 1SE (color)" <status>
|
||||
Switch power "Power" (G_light) {channel="miio:basic:light:power"}
|
||||
Dimmer brightness "Brightness" (G_light) {channel="miio:basic:light:brightness"}
|
||||
Number:Time delayoff "Shutdown Timer" (G_light) {channel="miio:basic:light:delayoff"}
|
||||
Number colorTemperature "Color Temperature" (G_light) {channel="miio:basic:light:colorTemperature"}
|
||||
Number colorMode "Color Mode" (G_light) {channel="miio:basic:light:colorMode"}
|
||||
Color rgbColor "RGB Color" (G_light) {channel="miio:basic:light:rgbColor"}
|
||||
String name "Name" (G_light) {channel="miio:basic:light:name"}
|
||||
```
|
||||
|
||||
### Yeelight LED Bulb (Tunable) (yeelink.light.ct2) item file lines
|
||||
|
||||
note: Autogenerated example. Replace the id (light) in the channel with your own. Replace `basic` with `generic` in the thing UID depending on how your thing was discovered.
|
||||
|
@ -9036,12 +9065,12 @@ note: Autogenerated example. Replace the id (humidifier) in the channel with you
|
|||
```
|
||||
Group G_humidifier "Smartmi Evaporative Humidifer 2" <status>
|
||||
Switch power "Power" (G_humidifier) {channel="miio:basic:humidifier:power"}
|
||||
Number mode "Mode" (G_humidifier) {channel="miio:basic:humidifier:mode"}
|
||||
Number mode "Mode - Fan Level" (G_humidifier) {channel="miio:basic:humidifier:mode"}
|
||||
Number Fault "Humidifier Device Fault" (G_humidifier) {channel="miio:basic:humidifier:Fault"}
|
||||
Number:Dimensionless humidity "Humidity" (G_humidifier) {channel="miio:basic:humidifier:humidity"}
|
||||
Number targetHumidity "Target Humidity" (G_humidifier) {channel="miio:basic:humidifier:targetHumidity"}
|
||||
Number:Dimensionless targetHumidity "Target Humidity" (G_humidifier) {channel="miio:basic:humidifier:targetHumidity"}
|
||||
Number waterlevel "Water Level" (G_humidifier) {channel="miio:basic:humidifier:waterlevel"}
|
||||
Dimmer bright "LED Brightness" (G_humidifier) {channel="miio:basic:humidifier:bright"}
|
||||
Number bright "LED Brightness" (G_humidifier) {channel="miio:basic:humidifier:bright"}
|
||||
Switch buzzer "Buzzer Status" (G_humidifier) {channel="miio:basic:humidifier:buzzer"}
|
||||
Switch dry "Dry" (G_humidifier) {channel="miio:basic:humidifier:dry"}
|
||||
Number:Time usedhours "Run Time" (G_humidifier) {channel="miio:basic:humidifier:usedhours"}
|
||||
|
@ -9052,7 +9081,6 @@ Number:Temperature temperature "Temperature" (G_humidifier) {channel="miio:basic
|
|||
Switch childlock "Child Lock" (G_humidifier) {channel="miio:basic:humidifier:childlock"}
|
||||
Number ButtonPressed "Button Pressed" (G_humidifier) {channel="miio:basic:humidifier:ButtonPressed"}
|
||||
Switch clean "Clean Mode" (G_humidifier) {channel="miio:basic:humidifier:clean"}
|
||||
Number countryCode "Country Code" (G_humidifier) {channel="miio:basic:humidifier:countryCode"}
|
||||
```
|
||||
|
||||
### Smartmi Evaporative Humidifier (zhimi.humidifier.cb1) item file lines
|
||||
|
|
|
@ -15,7 +15,7 @@ install: auto
|
|||
|
||||
# Nanoleaf Binding
|
||||
|
||||
This binding integrates the [Nanoleaf Light Panels](https://nanoleaf.me/en/consumer-led-lighting/products/smarter-series/nanoleaf-light-panels-smarter-kit/).
|
||||
This binding integrates the [Nanoleaf Light Panels](https://nanoleaf.me/en/consumer-led-lighting/products/smarter-series/nanoleaf-light-panels-smarter-kit/).
|
||||
|
||||

|
||||
|
||||
|
@ -26,8 +26,10 @@ The binding uses the [Nanoleaf OpenAPI](https://forum.nanoleaf.me/docs/openapi),
|
|||
|
||||
## Supported Things
|
||||
|
||||
Nanoleaf provides a bunch of devices of which some are connected to Wifi whereas other use the new Thread Technology. This binding only supports devices that are connected to Wifi.
|
||||
|
||||
Currently Nanoleaf's "Light Panels" and "Canvas" devices are supported.
|
||||
Note that only the canvas type does support the touch functionality.
|
||||
Note that only specific types do support the touch functionality, so the binding needs to check these types.
|
||||
|
||||
The binding supports two thing types: controller and lightpanel.
|
||||
|
||||
|
@ -36,7 +38,18 @@ With the controller thing you can control channels which affect all panels, e.g.
|
|||
|
||||
The lightpanel (singular) thing controls one of the individual panels/canvas that are connected to each other.
|
||||
Each individual panel has therefore its own id assigned to it.
|
||||
You can set the **color** for each panel or turn it on (white) or off (black) and in the case of a nanoleaf canvas you can even detect single and double **touch events** related to an individual panel which opens a whole new world of controlling any other device within your openHAB environment.
|
||||
You can set the **color** for each panel or turn it on (white) or off (black) and in the case of a nanoleaf canvas you can even detect single and double **touch events** related to an individual panel which opens a whole new world of controlling any other device within your openHAB environment.
|
||||
|
||||
|
||||
| Nanoleaf Name | Type | Description | supported | touch support |
|
||||
| ---------------------- | ---- | ---------------------------------------------------------- | --------- | ------------- |
|
||||
| Light Panels | NL22 | Triangles 1st Generation | X | (-) |
|
||||
| Shapes Triangle | NL42 | Triangles 2nd Generation (rounded edges) | X | X |
|
||||
| Shapes Hexagon | NL42 | Triangles 2nd Generation (rounded edges) | (X) | (X) |
|
||||
| Shapes Mini Triangles | ?? | Mini Triangles | ? | ? |
|
||||
| Canvas | NL29 | Squares | X | X |
|
||||
|
||||
x = Supported (x) = Supported but only tested by community (-) = unknown (no device available to test)
|
||||
|
||||
Note: In case of major changes of a binding (like adding more features to a thing) it becomes necessary to delete your things due to the things not being compatible anymore.
|
||||
Don't worry too much though as they will be easily redetected and nothing really is lost.
|
||||
|
@ -64,7 +77,7 @@ Tip: if you press (2) just before adding the item from the inbox it usually catc
|
|||
|
||||
**Adding the invidual light panels as a thing**
|
||||
|
||||
After you have added the controller as a thing and it has been successfully paired as described as above, the individual panels connected to it can be discovered by **starting another scan** for the Nanoleaf binding.
|
||||
After you have added the controller as a thing and it has been successfully paired as described as above, the individual panels connected to it can be discovered by **starting another scan** for the Nanoleaf binding.
|
||||
All connected panels will be added as separate things to the inbox.
|
||||
|
||||
Troubleshooting: In seldom cases (in particular together with updating the binding) things or items do not work as expected, are offline or may not be detected.
|
||||
|
@ -77,7 +90,7 @@ In this case:
|
|||
|
||||
**Knowing which panel has which id**
|
||||
|
||||
Unfortunately it is not easy to find out which panel gets which id, and this becomes pretty important if you have lots of them and want to assign rules.
|
||||
Unfortunately it is not easy to find out which panel gets which id, and this becomes pretty important if you have lots of them and want to assign rules.
|
||||
Don't worry as the binding comes with some helpful support in the background the canvas type (this is only provided for the canvas device because triangles can have weird layouts that are hard to express in a log output)
|
||||
|
||||
- Set up a switch item with the channel panelLayout on the controller (see NanoRetrieveLayout below) and set the switch to true
|
||||
|
@ -88,14 +101,14 @@ Compare the following output with the right picture at the beginning of the arti
|
|||
```
|
||||
31413 9162 13276
|
||||
|
||||
55836 56093 48111 38724 17870 5164 64279
|
||||
55836 56093 48111 38724 17870 5164 64279
|
||||
|
||||
58086 8134 39755
|
||||
|
||||
41451
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
Disclaimer: this works best with square devices and not necessarily well with triangles due to the more geometrically flexible layout.
|
||||
|
||||
## Thing Configuration
|
||||
|
@ -146,7 +159,7 @@ A lightpanel thing has the following channels:
|
|||
|
||||
**color and panelColor**
|
||||
|
||||
The color and panelColor channels support full color control with hue, saturation and brightness values.
|
||||
The color and panelColor channels support full color control with hue, saturation and brightness values.
|
||||
For example, brightness of *all* panels at once can be controlled by defining a dimmer item for the color channel of the *controller thing*.
|
||||
The same applies to the panelColor channel of an individual lightpanel thing.
|
||||
|
||||
|
@ -155,7 +168,7 @@ What might not be obvious and even maybe confusing is the fact that brightness a
|
|||
**Limitations assigning specific colors on individual panels:**
|
||||
|
||||
- Due to the way the API of the nanoleaf is designed, each time a color is assigned to a panel, it will be directly sent to that panel. The result is that if you send colors to several panels more or less at the same time, they will not be set at the same time but one after the other and rather appear like a sequence but as a one shot.
|
||||
- Another important limitation is that individual panels cannot be set while a dynamic effect is running on the panel which means that the following happens
|
||||
- Another important limitation is that individual panels cannot be set while a dynamic effect is running on the panel which means that the following happens
|
||||
- As soon as you set an individual panel a so called "static effect" is created which replaces the chosen dynamic effect. You can even see that in the nanoleaf app that shows that a static effect is now running.
|
||||
- Unfortunately, at least at the moment, the colors of the current state cannot be retrieved due to the high frequency of color changes that cannot be read quickly enough from the canvas, so all panels go to OFF
|
||||
- The the first panelColor command is applied to that panel (and of course then all subsequent commands)
|
||||
|
@ -173,7 +186,7 @@ If a panel is tapped the switch is set to ON and automatically reset to OFF afte
|
|||
|
||||
Keep in mind that the double tap is used as an already built-in functionality by default when you buy the nanoleaf: it switches all panels (hence the controller) to on or off like a light switch for all the panels at once. To circumvent that
|
||||
|
||||
- Within the nanoleaf app go to the dashboard and choose your device. Enter the settings for that device by clicking the cog icon in the upper right corner.
|
||||
- Within the nanoleaf app go to the dashboard and choose your device. Enter the settings for that device by clicking the cog icon in the upper right corner.
|
||||
- Enable "Touch Gesture" and assign the gestures you want to happen but set the double tap to unassigned.
|
||||
- To still have the possibility to switch on the whole canvas device with all its panels by double tapping a specific panel, you can easily write a rule that triggers on the double tap channel of that panel and then toggles the Power Channel of the controller. See the example below on Panel 1.
|
||||
|
||||
|
@ -194,16 +207,16 @@ Bridge nanoleaf:controller:MyLightPanels @ "mylocation" [ address="192.168.1.100
|
|||
|
||||
If you define your device statically in the thing file, autodiscovery of the same thing is suppressed by using
|
||||
|
||||
* the [address="..." ] of the controller
|
||||
* the [address="..." ] of the controller
|
||||
* and the [id=123] of the lightpanel
|
||||
|
||||
in the bracket to identify the uniqueness of the discovered device. Therefore it is recommended to the give the controller a fixed ip address.
|
||||
|
||||
Note: To generate the `authToken`:
|
||||
|
||||
|
||||
* On the Nanoleaf controller, hold the on-off button for 5-7 seconds until the LED starts flashing.
|
||||
* Send a POST request to the authorization endpoint within 30 seconds of activating pairing, like this:
|
||||
|
||||
|
||||
`http://<address>:16021/api/v1/new`
|
||||
|
||||
e.g. via command line `curl --location --request POST 'http://<address>:16021/api/v1/new'`
|
||||
|
@ -247,10 +260,10 @@ sitemap nanoleaf label="Nanoleaf"
|
|||
{
|
||||
Frame label="Controller" {
|
||||
Switch item=NanoleafPower
|
||||
Slider item=NanoleafBrightness
|
||||
Slider item=NanoleafBrightness
|
||||
Colorpicker item=NanoleafColor
|
||||
Text item=NanoleafHue
|
||||
Text item=NanoleafSaturation
|
||||
Text item=NanoleafSaturation
|
||||
Slider item=NanoleafColorTemp
|
||||
Setpoint item=NanoleafColorTempAbs step=100 minValue=1200 maxValue=6500
|
||||
Text item=NanoleafColorMode
|
||||
|
@ -260,20 +273,20 @@ sitemap nanoleaf label="Nanoleaf"
|
|||
Selection item=NanoleafRhythmSource mappings=[0="Microphone", 1="Aux"]
|
||||
Switch item=NanoRetrieveLayout
|
||||
}
|
||||
|
||||
|
||||
Frame label="Panels" {
|
||||
Colorpicker item=Panel1Color
|
||||
Slider item=Panel1Brightness
|
||||
Colorpicker item=Panel2Color
|
||||
}
|
||||
|
||||
|
||||
Frame label="Scenes" {
|
||||
Switch item=NanoleafRainbowScene
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Note: The mappings to effects in the selection item are specific for each Nanoleaf installation and should be adapted accordingly.
|
||||
Note: The mappings to effects in the selection item are specific for each Nanoleaf installation and should be adapted accordingly.
|
||||
Only the effects "\*Static\*" and "\*Dynamic\*" are predefined by the controller and should always be present in the mappings.
|
||||
|
||||
### nanoleaf.rules
|
||||
|
@ -296,7 +309,7 @@ then
|
|||
|
||||
var hue = 0
|
||||
var direction = 1
|
||||
|
||||
|
||||
while(NanoleafRainbowScene.state == ON) {
|
||||
Thread::sleep(pause)
|
||||
hue = hue + (5 * direction)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
This section provides information for advanced use cases.
|
||||
|
||||
## Additiona Resources
|
||||
## Additional Resources
|
||||
|
||||
There are additional resources available providing more information on Shelly devices and how to integrate those into openHAB:
|
||||
|
||||
|
@ -29,18 +29,33 @@ However, if this doesn't work (sometimes there are issues) you could use the [Sh
|
|||
|
||||
|
||||
There are 3 options available to perform the upgrade
|
||||
- The Shelly App usually detects when a new version becomes available and offers to do the upgrade within the UI (Web or App)
|
||||
- Alterco provides the [Shelly Firmware Archive Link Generator](http://archive.shelly-faq.de).
|
||||
This can be used to generate the upgrade link, which could be easily used to perform the upgrade on the cli-level having an Internet connection on that terminal (Shelly device doesn't require an Internet access).
|
||||
|
||||
### Using Shelly Web UI or Smartphone App
|
||||
|
||||
The Apps usually detect when a new version becomes available and offers to do the upgrade to the latest release or beta version.
|
||||
|
||||
### Trigger device update
|
||||
|
||||
The [Shelly Firmware Archive Link Generator](http://archive.shelly-faq.de) is provided by the community (not official, but works like charm).
|
||||
This can be used to generate the update link, which could be easily used to perform the upgrade on the cli-level having an Internet connection on that terminal (Shelly device doesn't require an Internet access).
|
||||
|
||||
You specify the device's IP and device model SHSW-25 and the page will generate you the link for the firmware download using the OTA of the device.
|
||||
Then you run "curl -s [-u user:password] >generated link>" from the terminal.
|
||||
|
||||
Then you run
|
||||
```
|
||||
curl -s [-u user:password] <generated link>
|
||||
```
|
||||
from the command line.
|
||||
|
||||
This should show a JSON result, make sure that it shows "status:updating".
|
||||
Wait 15sec and access the device's Web UI, go to Settings:Firmware Upgrade and make sure than the new version was installed successful.
|
||||
- Manual download and installation of the firmware
|
||||
Manually pick the download link from the [Shelly Firmware Repository](https://api.shelly.cloud/files/firmware) and get the release or beta link.
|
||||
Once you downloaded the file you need to copy it to an http server.
|
||||
Open the following url http://<shelly ip>/ota?url=http://<web server>/<path>/<zip-file>
|
||||
Again, make sure that the file is downloaded and installed properly.
|
||||
|
||||
### Manual download and installation of the firmware
|
||||
|
||||
- Manually pick the download link from the [Shelly Firmware Repository](https://api.shelly.cloud/files/firmware) and get the release or beta link.
|
||||
- Once you downloaded the file you need to copy it to an http server.
|
||||
- Open the following url http://<shelly ip>/ota?url=http://<web server>/<path>/<zip-file>
|
||||
- Again, make sure that the file is downloaded and installed properly.
|
||||
|
||||
## Trouble Shooting
|
||||
|
||||
|
@ -86,10 +101,23 @@ Use a list of items to reduce logging.
|
|||
`Please note:` Once events are filtered they are not show anymore in the logfile, you can’t find them later.
|
||||
|
||||
|
||||
The configuration format of openHAB 3 is in xml format.
|
||||
- openHAB 2.5.x
|
||||
A configuration is added as a new section to `openhab2-userdata/etc/org.ops4j.pax.logging.cfg`
|
||||
|
||||
```
|
||||
# custom filtering rules
|
||||
log4j2.appender.event.filter.uselessevents.type = RegexFilter
|
||||
log4j2.appender.event.filter.uselessevents.regex = .*(heartBeat|LastUpdate|lastUpdate|LetzteAktualisierung|Uptime|Laufzeit|ZuletztGesehen).*
|
||||
log4j2.appender.event.filter.uselessevents.onMatch = DENY
|
||||
log4j2.appender.event.filter.uselessevents.onMisMatch = NEUTRAL
|
||||
```
|
||||
|
||||
- openHAB 3.0
|
||||
|
||||
The configuration format of openHAB 3.0 is in xml format.
|
||||
- Open the file `userdata/etc/log4j2.xml`
|
||||
- Search for tag 'RollingFile'
|
||||
- and add a tag `<RegexFilter>...</RegExFilter>`
|
||||
- Search for tag RollingFile
|
||||
- and add a tag `<RegexF,ilter>...</RegExFilter>`
|
||||
|
||||
The attribute `regex` of this tag defines the regular expression, `onMatch="DENY"` the the logger to discard those lines
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ To implement this use case you need
|
|||
For this how-to a roller with an electrical motor is required and will be controlled using A/C and a momentary switch.
|
||||
The same solutions works with other switch types (DC/AC, 2 button switch etc.).
|
||||
In this case you need to look into details and user a different Shelly configuration or adapt technical installation.
|
||||
Refer to the Alterco Shelly documentation and make sure to use proper technical installation and wiring.
|
||||
Refer to the Allterco Shelly documentation and make sure to use proper technical installation and wiring.
|
||||
Important: Electrical installation should be performed only be people knowing what they do - failures could harm you!!
|
||||
|
||||
- Shelly 2.5 to control the roller with firmware 1.9.2+
|
||||
|
@ -63,7 +63,7 @@ Latest version is always available [here](https://github.com/markus7017/myfiles/
|
|||
Ideally the upgrade could be performed on a Raspberry with
|
||||
```
|
||||
openhab-cli stop
|
||||
openhab-clu clean-cache
|
||||
openhab-cli clean-cache
|
||||
apt-get update
|
||||
apt-get upgrade
|
||||
openhab-cli start
|
||||
|
@ -133,7 +133,7 @@ It simplifies to identify the roller when you have a ton of Shelly things (belie
|
|||
|
||||
### Shelly setup - Positioning Favorites
|
||||
|
||||
With version 1.9 Alterco introduced an interesting feature called Favorites.
|
||||
With version 1.9 Allterco introduced an interesting feature called Favorites.
|
||||
Those allow to store up to 4 pre-defined positions in the device, e.g. 15%, 50%, 65%, 98%.
|
||||
Once defined you have kind of a short-cut to bring the roller to that position and those favorites are also supported by the binding (see below).
|
||||
|
||||
|
@ -171,7 +171,7 @@ There is also a dedicated channel (roller#rollerFav), which accepts this ids and
|
|||
|
||||
### Device events
|
||||
|
||||
As you might know the binding supports the Alterco Shelly CoIoT protocol.
|
||||
As you might know the binding supports the Allterco Shelly CoIoT protocol.
|
||||
The device supports so called I/O URL Actions, which are kind of a callback to an application for certain events.
|
||||
Whenever possible you should prefer CoIoT events, because they are triggered near realtime and provide way more information compared to the Action URLs.
|
||||
The binding uses those CoIoT updates as triggers, but also to update the channel data.
|
||||
|
|
|
@ -21,19 +21,20 @@ Allterco provides a rich set of smart home devices. All of them are WiFi enabled
|
|||
The binding is officially acknowledged by Allterco and openHAB is listed as a reference and directly supports the openHAB community.
|
||||
|
||||
The binding controls the devices independently from the Allterco Shelly Cloud (in fact it can be disabled).
|
||||
The binding co-exists with Shelly App for Smartphones, Shelly Web App, Shelly Cloud, mqqt and other 3rd party Apps.
|
||||
The binding co-exists with Shelly App for Smartphones, Shelly Device Web UI, Shelly Cloud, MQTT and other 3rd party Apps.
|
||||
|
||||
The binding focuses on reporting the device status and device control.
|
||||
Initial setup and device configuration has to be performed using the Shelly Apps (Web or Smartphone App).
|
||||
Initial setup and device configuration has to be performed using the Shelly Apps (Web UI or Smartphone App).
|
||||
The binding gets in sync with the next status refresh.
|
||||
|
||||
Refer to [Advanced Users](doc/AdvancedUsers.md) for more information on openHAB Shelly integration, e.g. firmware update, network communication or log filtering.
|
||||
|
||||
## Supported Devices
|
||||
|
||||
| Thing Type | Model | Vendor ID |
|
||||
| thing-type | Model | Vendor ID |
|
||||
|--------------------|--------------------------------------------------------|-----------|
|
||||
| shelly1 | Shelly 1 Single Relay Switch | SHSW-1 |
|
||||
| shelly1l | Shelly 1L Single Relay Switch | SHSW-L |
|
||||
| shelly1pm | Shelly Single Relay Switch with integrated Power Meter | SHSW-PM |
|
||||
| shelly2-relay | Shelly Double Relay Switch in relay mode | SHSW-21 |
|
||||
| shelly2-roller | Shelly2 in Roller Mode | SHSW-21 |
|
||||
|
@ -49,11 +50,14 @@ Refer to [Advanced Users](doc/AdvancedUsers.md) for more information on openHAB
|
|||
| shellyem3 | Shelly 3EM with 3 integrated Power Meter | SHEM-3 |
|
||||
| shellyrgbw2 | Shelly RGB Controller | SHRGBW2 |
|
||||
| shellybulb | Shelly Bulb in Color or White Mode | SHBLB-1 |
|
||||
| shellybulbduo | Shelly Duo (White Mode) | SHBDUO-1 |
|
||||
| shellybulbduo | Shelly Duo White | SHBDUO-1 |
|
||||
| shellybulbduo | Shelly Duo White G10 | SHBDUO-1 |
|
||||
| shellycolorbulb | Shelly Duo Color G10 | SHCB-1 |
|
||||
| shellyvintage | Shelly Vintage (White Mode) | SHVIN-1 |
|
||||
| shellyht | Shelly Sensor (temp+humidity) | SHHT-1 |
|
||||
| shellyflood | Shelly Flood Sensor | SHWT-1 |
|
||||
| shellysmoke | Shelly Smoke Sensor | SHSM-1 |
|
||||
| shellymotion | Shelly Motion Sensor | SHMOS-01 |
|
||||
| shellygas | Shelly Gas Sensor | SHGS-1 |
|
||||
| shellydw | Shelly Door/Window | SHDW-1 |
|
||||
| shellydw2 | Shelly Door/Window 2 | SHDW-2 |
|
||||
|
@ -129,6 +133,14 @@ For those open the case, press that button and the LED starts flashing.
|
|||
Wait a moment and then start the discovery. The device should show up in the Inbox and can be added.
|
||||
Sometimes you need to run the discovery multiple times.
|
||||
|
||||
### Roller Favorites
|
||||
|
||||
Firmware 1.9.2 for Shelly 2.5 in roller mode supports so called favorites for positions.
|
||||
You could use the Shelly App to setup 4 different positions (percentage) and assign id 1-4.
|
||||
The channel `roller#rollerFav` allows to select those from openHAB and the roller moves to the desired position.
|
||||
In the Thing configuration you could also configure an id when the `roller#control` channel receives UP or DOWN.
|
||||
Values 1-4 are selecting the corresponding favorite id in the Shelly App, 0 means no favorite.
|
||||
|
||||
### Thing Status
|
||||
|
||||
The binding sets the following Thing status depending on the device status:
|
||||
|
@ -182,6 +194,8 @@ You could also create a rule to catch those status changes or device alarms (see
|
|||
|eventsSensorReport|true: register event "posted updated sensor data" | no |true for sensor devices |
|
||||
|eventsCoIoT |true: Listen for CoIoT/COAP events | no |true for battery devices, false for others |
|
||||
|eventsRoller |true: register event "trigger" when the roller updates status | no |true for roller devices |
|
||||
|favoriteUP |0-4: Favorite id for UP (see Roller Favorites) | no |0 = no favorite id |
|
||||
|favoriteDOWN |0-4: Favorite id for DOWN (see Roller Favorites) | no |0 = no favorite id |
|
||||
|
||||
|
||||
### General Notes
|
||||
|
@ -203,6 +217,7 @@ Every device has a channel group `device` with the following channels:
|
|||
| |updateAvailable |Switch |yes |ON: A firmware update is available |
|
||||
| |statusLed |Switch |r/w |ON: Status LED is disabled, OFF: LED enabled |
|
||||
| |powerLed |Switch |r/w |ON: Power LED is disabled, OFF: LED enabled |
|
||||
| |charger |Switch |yes |ON: USB charging cable is connected external power supply activated. |
|
||||
|
||||
Availability of channels is depending on the device type.
|
||||
The binding detects many of those channels on-the-fly (when Thing changes to ONLINE state) and adjusts the Thing's channel structure.
|
||||
|
@ -310,6 +325,8 @@ Depending on the device type and firmware release channels might be not availabl
|
|||
| |outputName |String |yes |Logical name of this relay output as configured in the Shelly App |
|
||||
| |input |Switch |yes |ON: Input/Button is powered, see general notes on channels |
|
||||
| |button |Trigger |yes |Event trigger with payload, see SHORT_PRESSED or LONG_PRESSED |
|
||||
| |lastEvent |String |yes |Last event type (S/SS/SSS/L) |
|
||||
| |eventCount |Number |yes |Counter gets incremented every time the device issues a button event. |
|
||||
| |autoOn |Number |r/w |Relay #1: Sets a timer to turn the device ON after every OFF command; in seconds|
|
||||
| |autoOff |Number |r/w |Relay #1: Sets a timer to turn the device OFF after every ON command; in seconds|
|
||||
| |timerActive |Switch |yes |Relay #1: ON: An auto-on/off timer is active |
|
||||
|
@ -318,6 +335,34 @@ Depending on the device type and firmware release channels might be not availabl
|
|||
| |temperature3 |Number |yes |Temperature value of external sensor #3 (if connected to temp/hum addon) |
|
||||
| |humidity |Number |yes |Humidity in percent (if connected to temp/hum addon) |
|
||||
|
||||
### Shelly 1L (thing-type: shelly1l)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|---------------------------------------------------------------------------------|
|
||||
|relay |output |Switch |r/w |Controls the relay's output channel (on/off) |
|
||||
| |outputName |String |yes |Logical name of this relay output as configured in the Shelly App |
|
||||
| |input1 |Switch |yes |ON: Input/Button for input 1 is powered, see general notes on channels |
|
||||
| |button1 |Trigger |yes |Event trigger, see section Button Events |
|
||||
| |lastEvent1 |String |yes |Last event type (S/SS/SSS/L) for input 1 |
|
||||
| |eventCount1 |Number |yes |Counter gets incremented every time the device issues a button event. |
|
||||
| |input2 |Switch |yes |ON: Input/Button for channel 2 is powered, see general notes on channels |
|
||||
| |button2 |Trigger |yes |Event trigger, see section Button Events |
|
||||
| |lastEvent2 |String |yes |Last event type (S/SS/SSS/L) for input 2 |
|
||||
| |eventCount2 |Number |yes |Counter gets incremented every time the device issues a button event. |
|
||||
| |autoOn |Number |r/w |Relay #1: Sets a timer to turn the device ON after every OFF command; in seconds|
|
||||
| |autoOff |Number |r/w |Relay #1: Sets a timer to turn the device OFF after every ON command; in seconds|
|
||||
| |timerActive |Switch |yes |Relay #1: ON: An auto-on/off timer is active |
|
||||
|meter |currentWatts |Number |yes |Current power consumption in Watts |
|
||||
| |lastUpdate |DateTime |yes |Timestamp of the last measurement |
|
||||
|sensors |temperature1 |Number |yes |Temperature value of external sensor #1 (if connected to temp/hum addon) |
|
||||
| |temperature2 |Number |yes |Temperature value of external sensor #2 (if connected to temp/hum addon) |
|
||||
| |temperature3 |Number |yes |Temperature value of external sensor #3 (if connected to temp/hum addon) |
|
||||
| |humidity |Number |yes |Humidity in percent (if connected to temp/hum addon) |
|
||||
|
||||
Note: The `meter`for the Shelly 1L is kind of fake.
|
||||
It doesn't have a real power meter, but you could setup an estimated consumption in the Shelly App, e.g. 60W if you have attached a good old light bulb to the output channel.
|
||||
In this case the is no real measurement based on power consumption, but the Shelly reports the configured value when the relay is ON.
|
||||
|
||||
### Shelly 1PM (thing-type: shelly1pm)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|
@ -344,6 +389,8 @@ Depending on the device type and firmware release channels might be not availabl
|
|||
| |outputName |String |yes |Logical name of this relay output as configured in the Shelly App |
|
||||
| |input |Switch |yes |ON: Input/Button is powered, see general notes on channels |
|
||||
| |button |Trigger |yes |Event trigger, see section Button Events |
|
||||
| |lastEvent |String |yes |Last event type (S/SS/SSS/L) |
|
||||
| |eventCount |Number |yes |Counter gets incremented every time the device issues a button event. |
|
||||
| |autoOn |Number |r/w |Relay #1: Sets a timer to turn the device ON after every OFF command; in seconds|
|
||||
| |autoOff |Number |r/w |Relay #1: Sets a timer to turn the device OFF after every ON command; in seconds|
|
||||
| |timerActive |Switch |yes |Relay #1: ON: An auto-on/off timer is active |
|
||||
|
@ -371,6 +418,8 @@ The Thing id is derived from the service name, so that's the reason why the Thin
|
|||
| |outputName |String |yes |Logical name of this relay output as configured in the Shelly App |
|
||||
| |input |Switch |yes |ON: Input/Button is powered, see general notes on channels |
|
||||
| |button |Trigger |yes |Event trigger, see section Button Events |
|
||||
| |lastEvent |String |yes |Last event type (S/SS/SSS/L) |
|
||||
| |eventCount |Number |yes |Counter gets incremented every time the device issues a button event. |
|
||||
| |autoOn |Number |r/w |Relay #1: Sets a timer to turn the device ON after every OFF command; in seconds|
|
||||
| |autoOff |Number |r/w |Relay #1: Sets a timer to turn the device OFF after every ON command; in seconds|
|
||||
| |timerActive |Switch |yes |Relay #1: ON: An auto-on/off timer is active |
|
||||
|
@ -433,6 +482,7 @@ The Thing id is derived from the service name, so that's the reason why the Thin
|
|||
| |input |Switch |yes |ON: Input/Button is powered, see General Notes on Channels |
|
||||
| |event |Trigger |yes |Roller event/trigger with payload ROLLER_OPEN / ROLLER_CLOSE / ROLLER_STOP |
|
||||
| |rollerpos |Number |r/w |Roller position: 100%=open...0%=closed; gets updated when the roller stops, see Notes |
|
||||
| |rollerFav |Number |r/w |Select roller position favorite (1-4, 0=no), see Notes |
|
||||
| |state |String |yes |Roller state: open/close/stop |
|
||||
| |stopReason |String |yes |Last stop reasons: normal, safety_switch or obstacle |
|
||||
| |safety |Switch |yes |Indicates status of the Safety Switch, ON=problem detected, powered off |
|
||||
|
@ -509,8 +559,13 @@ The Shelly 4Pro provides 4 relays and 4 power meters.
|
|||
|relay |brightness |Dimmer |r/w |Currently selected brightness. |
|
||||
| |outputName |String |yes |Logical name of this relay output as configured in the Shelly App |
|
||||
| |input1 |Switch |yes |ON: Input/Button for input 1 is powered, see general notes on channels |
|
||||
| |input2 |Switch |yes |ON: Input/Button for input 1 is powered, see general notes on channels |
|
||||
| |button |Trigger |yes |Event trigger, see section Button Events |
|
||||
| |button1 |Trigger |yes |Event trigger, see section Button Events |
|
||||
| |lastEvent1 |String |yes |Last event type (S/SS/SSS/L) for input 1 |
|
||||
| |eventCount1 |Number |yes |Counter gets incremented every time the device issues a button event. |
|
||||
| |input2 |Switch |yes |ON: Input/Button for channel 2 is powered, see general notes on channels |
|
||||
| |button2 |Trigger |yes |Event trigger, see section Button Events |
|
||||
| |lastEvent2 |String |yes |Last event type (S/SS/SSS/L) for input 2 |
|
||||
| |eventCount2 |Number |yes |Counter gets incremented every time the device issues a button event. |
|
||||
| |autoOn |Number |r/w |Relay #1: Sets a timer to turn the device ON after every OFF command; in seconds|
|
||||
| |autoOff |Number |r/w |Relay #1: Sets a timer to turn the device OFF after every ON command; in seconds|
|
||||
| |timerActive |Switch |yes |Relay #1: ON: An auto-on/off timer is active |
|
||||
|
@ -535,7 +590,7 @@ Using the Thing configuration option `brightnessAutoOn` you could decide if the
|
|||
| |input3 |Switch |yes |State of Input 3 |
|
||||
| |button |Trigger |yes |Event trigger: Event trigger, see section Button Events |
|
||||
| |lastEvent |String |yes |S/SS/SSS for 1/2/3x Shortpush or L for Longpush |
|
||||
| |eventCount |Number |yes |Number of button events |
|
||||
| |eventCount |Number |yes |Counter gets incremented every time the device issues a button event. |
|
||||
|
||||
### Shelly Bulb (thing-type: shellybulb)
|
||||
|
||||
|
@ -547,7 +602,7 @@ Using the Thing configuration option `brightnessAutoOn` you could decide if the
|
|||
| |autoOff |Number |r/w |Sets a timer to turn the device OFF after every ON: in sec |
|
||||
| |timerActive |Switch |yes |ON: An auto-on/off timer is active |
|
||||
|color | | | |Color settings: only valid in COLOR mode |
|
||||
| |hsb |HSB |r/w |Represents the color picker (HSBType), control r/g/b, bight not white |
|
||||
| |hsb |HSB |r/w |Represents the color picker (HSBType), control r/g/b, but not white |
|
||||
| |full |String |r/w |Set Red / Green / Blue / Yellow / White mode and switch mode |
|
||||
| | | |r/w |Valid settings: "red", "green", "blue", "yellow", "white" or "r,g,b,w" |
|
||||
| |red |Dimmer |r/w |Red brightness: 0..100% or 0..255 (control only the red channel) |
|
||||
|
@ -561,9 +616,16 @@ Using the Thing configuration option `brightnessAutoOn` you could decide if the
|
|||
|white | | | |Color settings: only valid in WHITE mode |
|
||||
| |temperature |Number |r/w |color temperature (K): 0..100% or 3000..6500 |
|
||||
| |brightness |Dimmer | |Brightness: 0..100% or 0..100 |
|
||||
|
||||
|
||||
Note: The openHAB color picker has only values for red/green/blue (RGB), not for white as supported by the RGBW2.
|
||||
Beside channel `hsb` the binding also offers the `white` channel (hsb as only RGB values).
|
||||
Or control each color separately with channels `red`, `blue`, `green` (those are advanced channels).
|
||||
|
||||
|
||||
#### Shelly Duo (thing-type: shellybulbduo)
|
||||
|
||||
This information applies to the Shelly Duo-1 as well as the Duo White for the G10 socket.
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|control |autoOn |Number |r/w |Sets a timer to turn the device ON after every OFF; in sec |
|
||||
|
@ -583,16 +645,44 @@ Using the Thing configuration option `brightnessAutoOn` you could decide if the
|
|||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|control |autoOn |Number |r/w |Sets a timer to turn the device ON after every OFF; in sec |
|
||||
| |autoOff |Number |r/w |Sets a timer to turn the device OFF after every ON: in sec |
|
||||
| |timerActive |Switch |yes |ON: An auto-on/off timer is active |
|
||||
| |timerActive |Switch |yes |ON: An auto-on/off timer is active |
|
||||
|white | | | |Color settings: only valid in WHITE mode |
|
||||
| |brightness |Dimmer | |Brightness: 0..100% or 0..100 |
|
||||
|meter |currentWatts |Number |yes |Current power consumption in Watts |
|
||||
| |lastPower1 |Number |yes |Energy consumption for a round minute, 1 minute ago |
|
||||
| |totalKWH |Number |yes |Total energy consumption in Watts since the device powered up (resets on restart)|
|
||||
| |totalKWH |Number |yes |Total energy consumption in kWh since the device powered up (resets on restart)|
|
||||
| |lastUpdate |DateTime |yes |Timestamp of the last measurement |
|
||||
|
||||
## Shelly Duo Color (thing-type: shellyduocolor-color)
|
||||
|
||||
## Shelly RGBW2 in Color Mode (thing-type: shellyrgbw2-color)
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|control |power |Switch |r/w |Switch light ON/OFF |
|
||||
| |button |Trigger |yes |Event trigger, see section Button Events |
|
||||
| |autoOn |Number |r/w |Sets a timer to turn the device ON after every OFF command; in seconds|
|
||||
| |autoOff |Number |r/w |Sets a timer to turn the device OFF after every ON command; in seconds|
|
||||
| |timerActive |Switch |yes |ON: An auto-on/off timer is active |
|
||||
|color | | | |Color settings: only valid in COLOR mode |
|
||||
| |hsb |HSB |r/w |Represents the color picker (HSBType), control r/g/b, but not white |
|
||||
| |full |String |r/w |Set Red / Green / Blue / Yellow / White mode and switch mode |
|
||||
| | | |r/w |Valid settings: "red", "green", "blue", "yellow", "white" or "r,g,b,w" |
|
||||
| |red |Dimmer |r/w |Red brightness: 0..100% or 0..255 (control only the red channel) |
|
||||
| |green |Dimmer |r/w |Green brightness: 0..100% or 0..255 (control only the green channel) |
|
||||
| |blue |Dimmer |r/w |Blue brightness: 0..100% or 0..255 (control only the blue channel) |
|
||||
| |white |Dimmer |r/w |White brightness: 0..100% or 0..255 (control only the white channel) |
|
||||
| |gain |Dimmer |r/w |Gain setting: 0..100% or 0..100 |
|
||||
| |effect |Number |r/w |Puts the light into effect mode: 0=No effect, 1=Meteor Shower, 2=Gradual Change, 3=Flash |
|
||||
|white | | | |Color settings: only valid in WHITE mode |
|
||||
| |temperature |Number |r/w |color temperature (K): 0..100% or 3000..6500 |
|
||||
| |brightness |Dimmer | |Brightness: 0..100% or 0..100 |
|
||||
|meter |currentWatts |Number |yes |Current power consumption in Watts |
|
||||
|
||||
Using the Thing configuration option `brightnessAutoOn` you could decide if the light is turned on when a brightness > 0 is set.
|
||||
`true`: Brightness will be set and device output is powered = light turns on with the new brightness
|
||||
`false`: Brightness will be set, but output stays unchanged so light will not be switched on when it's currently off.
|
||||
|
||||
|
||||
## Shelly Duo RGBW Color Bulb (thing-type: shellycolorbulb)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|
@ -614,6 +704,8 @@ Using the Thing configuration option `brightnessAutoOn` you could decide if the
|
|||
| | | | |0=No effect, 1=Meteor Shower, 2=Gradual Change, 3=Flash |
|
||||
|meter |currentWatts |Number |yes |Current power consumption in Watts |
|
||||
|
||||
Channels in group `color`or `white`apply depending on the selected mode - they are not active at the same time.
|
||||
|
||||
Using the Thing configuration option `brightnessAutoOn` you could decide if the light is turned on when a brightness > 0 is set.
|
||||
`true`: Brightness will be set and device output is powered = light turns on with the new brightness
|
||||
`false`: Brightness will be set, but output stays unchanged so light will not be switched on when it's currently off.
|
||||
|
@ -638,7 +730,7 @@ Using the Thing configuration option `brightnessAutoOn` you could decide if the
|
|||
| |autoOn |Number |r/w |Sets a timer to turn the device ON after every OFF command; in seconds|
|
||||
| |autoOff |Number |r/w |Sets a timer to turn the device OFF after every ON command; in seconds|
|
||||
| |timerActive |Switch |yes |ON: An auto-on/off timer is active |
|
||||
|channel4 |brightness |Dimmer |r/w |Channel 5: Brightness: 0..100, control power state with ON/OFF |
|
||||
|channel4 |brightness |Dimmer |r/w |Channel 4: Brightness: 0..100, control power state with ON/OFF |
|
||||
| |button |Trigger |yes |Event trigger, see section Button Events |
|
||||
| |autoOn |Number |r/w |Sets a timer to turn the device ON after every OFF command; in seconds|
|
||||
| |autoOff |Number |r/w |Sets a timer to turn the device OFF after every ON command; in seconds|
|
||||
|
@ -665,12 +757,13 @@ You can define 2 items (1 Switch, 1 Number) mapping to the same channel, see exa
|
|||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|sensors |temperature |Number |yes |Temperature, unit is reported by tempUnit |
|
||||
| |humidity |Number |yes |Relative humidity in % |
|
||||
| |charger |Number |yes |ON: USB charging cable is |
|
||||
| |lastUpdate |DateTime |yes |Timestamp of the last update (any sensor value changed) |
|
||||
|battery |batteryLevel |Number |yes |Battery Level in % |
|
||||
| |lowBattery |Switch |yes |Low battery alert (< 20%) |
|
||||
|
||||
### Shelly Flood (thing type: shellyflood)
|
||||
`Please Note:` If you have connected an USB cable to the H&T, but channel charger is off make sure that "Use external power supply" settings is activated in the Shelly App's device settings.
|
||||
|
||||
### Shelly Flood (thing-type: shellyflood)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|
@ -680,7 +773,7 @@ You can define 2 items (1 Switch, 1 Number) mapping to the same channel, see exa
|
|||
|battery |batteryLevel |Number |yes |Battery Level in % |
|
||||
| |lowBattery |Switch |yes |Low battery alert (< 20%) |
|
||||
|
||||
### Shelly Door/Window (thing type: shellydw)
|
||||
### Shelly Door/Window (thing-type: shellydw, shellydw2)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|
@ -694,12 +787,26 @@ You can define 2 items (1 Switch, 1 Number) mapping to the same channel, see exa
|
|||
|battery |batteryLevel |Number |yes |Battery Level in % |
|
||||
| |lowBattery |Switch |yes |Low battery alert (< 20%) |
|
||||
|
||||
### Shelly Button 1 (thing type: shellybutton1)
|
||||
### Shelly Motion (thing-type: shellymotion)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|---------------|---------|---------|---------------------------------------------------------------------|
|
||||
|sensors |motion |Switch |yes |ON: Motion was detected |
|
||||
| |motionTimestamp|DateTime |yes |Time when motion started/was detected |
|
||||
| |lux |Number |yes |Brightness in Lux |
|
||||
| |illumination |String |yes |Current illumination: dark/twilight/bright |
|
||||
| |vibration |Switch |yes |ON: Vibration detected |
|
||||
| |charger |Switch |yes |ON: USB charging cable is connected external power supply activated. |
|
||||
| |lastUpdate |DateTime |yes |Timestamp of the last update (any sensor value changed) |
|
||||
|battery |batteryLevel |Number |yes |Battery Level in % |
|
||||
| |lowBattery |Switch |yes |Low battery alert (< 20%) |
|
||||
|
||||
### Shelly Button 1 (thing-type: shellybutton1)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|status |lastEvent |String |yes |S/SS/SSS for 1/2/3x Shortpush or L for Longpush |
|
||||
| |eventCount |Number |yes |Number of button events |
|
||||
| |eventCount |Number |yes |Counter gets incremented every time the device issues a button event. |
|
||||
| |input |Switch |yes |ON: Input/Button is powered, see General Notes on Channels |
|
||||
| |button |Trigger |yes |Event trigger with payload SHORT_PRESSED, DOUBLE_PRESSED... |
|
||||
| |lastUpdate |DateTime |yes |Timestamp of the last update (any value changed) |
|
||||
|
@ -708,7 +815,7 @@ You can define 2 items (1 Switch, 1 Number) mapping to the same channel, see exa
|
|||
|
||||
You should calibrate the sensor using the Shelly App to get information on the tilt status.
|
||||
|
||||
### Shelly Smoke(thing type: shellysmoke)
|
||||
### Shelly Smoke (thing-type: shellysmoke)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|
@ -719,7 +826,7 @@ You should calibrate the sensor using the Shelly App to get information on the t
|
|||
|battery |batteryLevel |Number |yes |Battery Level in % |
|
||||
| |lowBattery |Switch |yes |Low battery alert (< 20%) |
|
||||
|
||||
### Shelly Smoke(thing type: shellygas)
|
||||
### Shelly Smoke(thing-type: shellysmoke)
|
||||
|
||||
|Group |Channel |Type |read-only|Description |
|
||||
|----------|-------------|---------|---------|-----------------------------------------------------------------------|
|
||||
|
@ -880,6 +987,7 @@ end
|
|||
#### Control CCT LED stripes
|
||||
|
||||
Usage & Requirements:
|
||||
|
||||
- 4 Items per Thing required. Example:
|
||||
|
||||
```
|
||||
|
|
|
@ -59,6 +59,18 @@
|
|||
<limitToOptions>true</limitToOptions>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
<parameter name="stateMethod" type="text">
|
||||
<label>State Method</label>
|
||||
<description>HTTP method (GET,POST, PUT) for retrieving a status.</description>
|
||||
<options>
|
||||
<option value="GET">GET</option>
|
||||
<option value="POST">POST</option>
|
||||
<option value="PUT">PUT</option>
|
||||
</options>
|
||||
<limitToOptions>true</limitToOptions>
|
||||
<default>GET</default>
|
||||
<advanced>true</advanced>
|
||||
</parameter>
|
||||
<parameter name="commandMethod" type="text">
|
||||
<label>Command Method</label>
|
||||
<description>HTTP method (GET,POST, PUT) for sending commands.</description>
|
||||
|
|
|
@ -51,6 +51,7 @@
|
|||
<channel id="always_finish" typeId="always_finish"/>
|
||||
<channel id="power_boost" typeId="power_boost"/>
|
||||
<channel id="clean_passes" typeId="clean_passes"/>
|
||||
<channel id="map_upload" typeId="map_upload"/>
|
||||
</channels>
|
||||
<config-description>
|
||||
<parameter name="ipaddress" type="text">
|
||||
|
@ -263,5 +264,10 @@
|
|||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="map_upload" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Map upload</label>
|
||||
<description>Enable uploading Clean Map(tm) to cloud for reporting</description>
|
||||
</channel-type>
|
||||
|
||||
</thing:thing-descriptions>
|
||||
|
|
|
@ -179,6 +179,11 @@
|
|||
<label>Mop Forbidden</label>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
<channel-type id="is_locating">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Robot Locating</label>
|
||||
<state readOnly="true"/>
|
||||
</channel-type>
|
||||
|
||||
<!-- Consumables channels -->
|
||||
<channel-type id="main_brush_percent">
|
||||
|
|
|
@ -69,14 +69,14 @@
|
|||
<item-type>Number:ElectricPotential</item-type>
|
||||
<label>Battery Voltage</label>
|
||||
<description>Battery voltage in V</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.1f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="uptime" advanced="true">
|
||||
<item-type>Number:Time</item-type>
|
||||
<label>Uptime</label>
|
||||
<description>Number of seconds since the device was powered up</description>
|
||||
<state readOnly="true" pattern="%d %unit%">
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="heartBeat" advanced="true">
|
||||
|
@ -102,7 +102,7 @@
|
|||
<tags>
|
||||
<tag>CurrentTemperature</tag>
|
||||
</tags>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="selfTest">
|
||||
|
|
|
@ -32,6 +32,21 @@
|
|||
<config-description-ref uri="thing-type:shelly:light"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellycolorbulb">
|
||||
<label>Shelly Duo Color Bulb (SHSCB-1)</label>
|
||||
<description>Shelly Duo Color Bulb in Color or White Mode</description>
|
||||
<channel-groups>
|
||||
<channel-group id="control" typeId="duoControl"/>
|
||||
<channel-group id="color" typeId="colorSettingsBulb"/>
|
||||
<channel-group id="white" typeId="whiteSettings"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:light"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyvintage">
|
||||
<label>Shelly Vintage (SHVIN-1)</label>
|
||||
<description>Shelly Vintage Light Bulb</description>
|
||||
|
@ -109,12 +124,6 @@
|
|||
<channel-group-type id="rgbw2ColorControl">
|
||||
<label>Light Control</label>
|
||||
<description>Control your light channels</description>
|
||||
<channels>
|
||||
<channel id="power" typeId="system.power"/>
|
||||
<channel id="autoOn" typeId="timerAutoOn"/>
|
||||
<channel id="autoOff" typeId="timerAutoOff"/>
|
||||
<channel id="timerActive" typeId="timerActive"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="rgbw2WhiteControl">
|
||||
<label>White Control</label>
|
||||
|
@ -211,7 +220,7 @@
|
|||
<description>blue, 0..255, only in Color Mode</description>
|
||||
<state min="0" max="255" step="1" readOnly="false"></state>
|
||||
</channel-type>
|
||||
<channel-type id="colorWhite" advanced="true">
|
||||
<channel-type id="colorWhite">
|
||||
<item-type>Dimmer</item-type>
|
||||
<label>White</label>
|
||||
<description>white, 0..255, applies in Color Mode</description>
|
||||
|
@ -234,6 +243,7 @@
|
|||
<label>Brightness</label>
|
||||
<description>Brightness: 0..100%</description>
|
||||
<category>DimmableLight</category>
|
||||
<state min="0" max="100" step="1" readOnly="false"></state>
|
||||
</channel-type>
|
||||
<channel-type id="colorEffectBulb">
|
||||
<item-type>Number</item-type>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<thing-type id="shelly1">
|
||||
<label>Shelly1 (SHSW-1)</label>
|
||||
<description>Shelly1 device with single relay</description>
|
||||
<description>Shelly1 device with a single relay</description>
|
||||
<channel-groups>
|
||||
<channel-group id="relay" typeId="relayChannel"/>
|
||||
<channel-group id="sensors" typeId="externalSensors"/>
|
||||
|
@ -17,6 +17,20 @@
|
|||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shelly1l">
|
||||
<label>Shelly 1L (SHSW-L)</label>
|
||||
<description>Shelly 1L device with a single relay</description>
|
||||
<channel-groups>
|
||||
<channel-group id="relay" typeId="relayChannel"/>
|
||||
<channel-group id="meter" typeId="meter"/>
|
||||
<channel-group id="sensors" typeId="externalSensors"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shelly1pm">
|
||||
<label>Shelly1PM (SHSW-PM)</label>
|
||||
<description>Shelly1PM device with single relay and power meter</description>
|
||||
|
@ -218,6 +232,25 @@
|
|||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyuni">
|
||||
<label>Shelly UNI (SHUNI-2)</label>
|
||||
<description>Embedded Shelly device</description>
|
||||
|
||||
<channel-groups>
|
||||
<channel-group id="relay1" typeId="relayChannel">
|
||||
<label>Relay 1</label>
|
||||
</channel-group>
|
||||
<channel-group id="relay2" typeId="relayChannel">
|
||||
<label>Relay 2</label>
|
||||
</channel-group>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellydimmer">
|
||||
<label>Shelly Dimmer (SHDM-1)</label>
|
||||
<description>Shelly Dimmer</description>
|
||||
|
@ -260,62 +293,38 @@
|
|||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<thing-type id="shellyuni">
|
||||
<label>Shelly UNI (SHUNI-1)</label>
|
||||
<description>Shelly UNI device</description>
|
||||
<channel-groups>
|
||||
<channel-group id="relay1" typeId="relayChannel"/>
|
||||
<channel-group id="relay2" typeId="relayChannel"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:relay"/>
|
||||
</thing-type>
|
||||
|
||||
<channel-group-type id="relayChannel">
|
||||
<label>Relay</label>
|
||||
<description>A Shelly relay channel</description>
|
||||
<channels>
|
||||
<channel id="output" typeId="system.power"/>
|
||||
<channel id="input" typeId="inputState"/>
|
||||
<channel id="button" typeId="system.button"/>
|
||||
<channel id="autoOn" typeId="timerAutoOn"/>
|
||||
<channel id="autoOff" typeId="timerAutoOff"/>
|
||||
<channel id="timerActive" typeId="timerActive"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="relayChannelPlug">
|
||||
<label>Relay</label>
|
||||
<description>A Shelly relay channel</description>
|
||||
<channels>
|
||||
<channel id="output" typeId="system.power"/>
|
||||
<channel id="autoOn" typeId="timerAutoOn"/>
|
||||
<channel id="autoOff" typeId="timerAutoOff"/>
|
||||
<channel id="timerActive" typeId="timerActive"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="dimmerChannel">
|
||||
<label>Dimmer</label>
|
||||
<description>A Shelly Dimmer channel</description>
|
||||
<channels>
|
||||
<channel id="brightness" typeId="dimmerBrightness"/>
|
||||
<channel id="input1" typeId="inputState1"/>
|
||||
<channel id="input2" typeId="inputState2"/>
|
||||
<channel id="button" typeId="system.button"/>
|
||||
<channel id="autoOn" typeId="timerAutoOn"/>
|
||||
<channel id="autoOff" typeId="timerAutoOff"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="ix3Channel">
|
||||
<label>Input</label>
|
||||
<description>Input Status</description>
|
||||
<channels>
|
||||
<channel id="input" typeId="inputState"/>
|
||||
<channel id="button" typeId="system.button"/>
|
||||
<channel id="lastEvent" typeId="lastEvent"/>
|
||||
<channel id="eventCount" typeId="eventCount"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="rollerControl">
|
||||
<label>Roller Control</label>
|
||||
<description>Controlling the roller mode</description>
|
||||
<channels>
|
||||
<channel id="control" typeId="rollerShutter"/>
|
||||
<channel id="rollerpos" typeId="rollerPosition"/>
|
||||
<channel id="state" typeId="rollerState"/>
|
||||
<channel id="stopReason" typeId="rollerStop"/>
|
||||
<channel id="input1" typeId="inputState1"/>
|
||||
<channel id="input2" typeId="inputState2"/>
|
||||
<channel id="event" typeId="eventTrigger"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="meter">
|
||||
<label>Power Meter</label>
|
||||
|
@ -337,13 +346,13 @@
|
|||
<item-type>Number:Time</item-type>
|
||||
<label>Auto-ON Timer</label>
|
||||
<description>ON: After the output was turned off it turns on automatically after xx seconds; 0 disables the timer</description>
|
||||
<state min="0" step="1" pattern="%d %unit%" readOnly="false"></state>
|
||||
<state min="0" step="1" pattern="%.0f %unit%" readOnly="false"></state>
|
||||
</channel-type>
|
||||
<channel-type id="timerAutoOff" advanced="true">
|
||||
<item-type>Number:Time</item-type>
|
||||
<label>Auto-OFF Timer</label>
|
||||
<description>ON: After the output was turned on it turns off automatically after xx seconds; 0 disables the timer</description>
|
||||
<state min="0" step="1" pattern="%d %unit%" readOnly="false"></state>
|
||||
<state min="0" step="1" pattern="%.0f %unit%" readOnly="false"></state>
|
||||
</channel-type>
|
||||
<channel-type id="timerActive" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
|
@ -362,7 +371,13 @@
|
|||
<item-type>Dimmer</item-type>
|
||||
<label>Roller Position (100=open, 0=closed)</label>
|
||||
<description>Position the roller (100..0 in %, where 100%=open, 0%=closed)</description>
|
||||
<state readOnly="false" min="0" max="100"/>
|
||||
<state readOnly="false" min="0" max="100" pattern="%.0f %%"/>
|
||||
</channel-type>
|
||||
<channel-type id="rollerFavorite">
|
||||
<item-type>Number</item-type>
|
||||
<label>Position Favorite</label>
|
||||
<description>Set roller position by selecting favorite 1-4 (needs to be defined in the Shelly App, 0=n/a)</description>
|
||||
<state readOnly="false" min="0" max="4"/>
|
||||
</channel-type>
|
||||
<channel-type id="rollerState">
|
||||
<item-type>String</item-type>
|
||||
|
@ -400,6 +415,13 @@
|
|||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="rollerSafety" advanced="true">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Safety Switch</label>
|
||||
<description>Status of the safety switch</description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="inputState">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Input</label>
|
||||
|
@ -431,91 +453,77 @@
|
|||
<item-type>Number:Power</item-type>
|
||||
<label>Watt</label>
|
||||
<description>Current power consumption in Watt</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.2f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="meterAccuWatts" advanced="true">
|
||||
<item-type>Number:Power</item-type>
|
||||
<label>Accumulated Watt</label>
|
||||
<description>Accumulated current power consumption in Watt from all meters</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.2f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="meterAccuTotal" advanced="true">
|
||||
<item-type>Number:Power</item-type>
|
||||
<label>Accumulated Total</label>
|
||||
<description>Accumulated total power consumption in kw/h from all meters</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<description>Accumulated total power consumption from all meters</description>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="meterAccuReturned" advanced="true">
|
||||
<item-type>Number:Power</item-type>
|
||||
<label>Accumulated Returned</label>
|
||||
<description>Accumulated returned power consumption in kw/h from all meters</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<description>Accumulated returned power consumption from all meters</description>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="meterReactive">
|
||||
<item-type>Number:Power</item-type>
|
||||
<label>Reactive Watt</label>
|
||||
<description>Instantaneous reactive power in Watts (W)</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="lastPower1" advanced="true">
|
||||
<item-type>Number:Energy</item-type>
|
||||
<label>Last Power #1</label>
|
||||
<description>Last power consumption #1 - one rounded minute</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="lastPower2" advanced="true">
|
||||
<item-type>Number:Energy</item-type>
|
||||
<label>Last Power #2</label>
|
||||
<description>Last power consumption #2 - one rounded minute</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="lastPower3" advanced="true">
|
||||
<item-type>Number:Energy</item-type>
|
||||
<label>Last Power #3</label>
|
||||
<description>Last power consumption #3 - one rounded minute</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="meterTotal">
|
||||
<item-type>Number:Energy</item-type>
|
||||
<label>Total Energy</label>
|
||||
<description>Total power consumption in kw/h</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<description>Total power consumption</description>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="meterReturned">
|
||||
<item-type>Number:Energy</item-type>
|
||||
<label>Total Returned Energy (kw/h)</label>
|
||||
<description>Total returned energy in kw/h</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<label>Total Returned Energy</label>
|
||||
<description>Total returned energy</description>
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="meterVoltage">
|
||||
<item-type>Number:ElectricPotential</item-type>
|
||||
<label>Voltage</label>
|
||||
<description>RMS voltage, Volts </description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="meterCurrent">
|
||||
<item-type>Number:ElectricPotential</item-type>
|
||||
<label>Current</label>
|
||||
<description>Current in A </description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="meterPowerFactor">
|
||||
<item-type>Number</item-type>
|
||||
<label>Power Factor</label>
|
||||
<description></description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.3f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="timestamp">
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<description>Shelly H&T Sensor</description>
|
||||
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="htSensor"/>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
@ -23,7 +23,7 @@
|
|||
<description>Shelly Smoke Sensor (battery powered)</description>
|
||||
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="smokeSensor"/>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
@ -37,7 +37,7 @@
|
|||
<description>Shelly Gas Sensor</description>
|
||||
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="gasSensor"/>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
|
@ -49,7 +49,7 @@
|
|||
<label>Shelly Flood (SHWT-1)</label>
|
||||
<description>Shelly Flood Sensor (battery powered)</description>
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="floodSensor"/>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
@ -63,7 +63,7 @@
|
|||
<description>Shelly Door/Window Sensor (battery powered)</description>
|
||||
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="doorWinSensors"/>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
@ -77,7 +77,7 @@
|
|||
<description>Shelly Door/Window 2 Sensor (battery powered)</description>
|
||||
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="doorWinSensors"/>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
@ -91,7 +91,7 @@
|
|||
<description>Shelly Sense Remote IR Controller</description>
|
||||
<channel-groups>
|
||||
<channel-group id="control" typeId="senseControl"/>
|
||||
<channel-group id="sensors" typeId="senseSensors"/>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
@ -114,33 +114,25 @@
|
|||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<channel-group-type id="htSensor">
|
||||
<thing-type id="shellymotion">
|
||||
<label>Shelly Motion</label>
|
||||
<description>Shelly Motion Sensor (battery powered)</description>
|
||||
|
||||
<channel-groups>
|
||||
<channel-group id="sensors" typeId="sensorData"/>
|
||||
<channel-group id="battery" typeId="batteryStatus"/>
|
||||
<channel-group id="device" typeId="deviceStatus"/>
|
||||
</channel-groups>
|
||||
|
||||
<representation-property>deviceName</representation-property>
|
||||
<config-description-ref uri="thing-type:shelly:battery"/>
|
||||
</thing-type>
|
||||
|
||||
<channel-group-type id="sensorData">
|
||||
<label>Sensor Data</label>
|
||||
<description>Data from the HT Sensor</description>
|
||||
<description>Data from the various sensors</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="floodSensor">
|
||||
<label>Sensor Data</label>
|
||||
<description>Data from the Flood Sensor</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="smokeSensor">
|
||||
<label>Sensor Data</label>
|
||||
<description>Data from the Flood Sensor</description>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="gasSensor">
|
||||
<label>Sensor Data</label>
|
||||
<description>Data from the Gas Sensor</description>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="doorWinSensors">
|
||||
<label>Sensors</label>
|
||||
<description>Data from the sensors</description>
|
||||
</channel-group-type>
|
||||
|
||||
<channel-group-type id="senseSensors">
|
||||
<label>Sensors</label>
|
||||
<description>Data from the Sense sensors</description>
|
||||
</channel-group-type>
|
||||
<channel-group-type id="batteryStatus">
|
||||
<label>Battery Status</label>
|
||||
</channel-group-type>
|
||||
|
@ -154,12 +146,6 @@
|
|||
<channel-group-type id="buttonState">
|
||||
<label>Button State</label>
|
||||
<description>Status of the Button</description>
|
||||
<channels>
|
||||
<channel id="input" typeId="inputState"/>
|
||||
<channel id="button" typeId="system.button"/>
|
||||
<channel id="lastEvent" typeId="lastEvent"/>
|
||||
<channel id="eventCount" typeId="eventCount"/>
|
||||
</channels>
|
||||
</channel-group-type>
|
||||
|
||||
|
||||
|
@ -221,7 +207,7 @@
|
|||
<item-type>Number</item-type>
|
||||
<label>Event Count</label>
|
||||
<description>Event Count</description>
|
||||
<state pattern="%d" readOnly="true">
|
||||
<state pattern="%.0f" readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
|
||||
|
@ -233,7 +219,7 @@
|
|||
<tags>
|
||||
<tag>CurrentTemperature</tag>
|
||||
</tags>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.1f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="sensorExtTemp">
|
||||
|
@ -244,7 +230,7 @@
|
|||
<tags>
|
||||
<tag>CurrentTemperature</tag>
|
||||
</tags>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.1f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="sensorExtHum">
|
||||
|
@ -255,7 +241,7 @@
|
|||
<tags>
|
||||
<tag>CurrentHumidity</tag>
|
||||
</tags>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.1f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="sensorHumidity">
|
||||
|
@ -265,7 +251,7 @@
|
|||
<tags>
|
||||
<tag>CurrentHumidity</tag>
|
||||
</tags>
|
||||
<state readOnly="true" min="0" max="100" pattern="%f %unit%"/>
|
||||
<state readOnly="true" pattern="%.1f %unit%"/>
|
||||
</channel-type>
|
||||
<channel-type id="sensorFlood">
|
||||
<item-type>Switch</item-type>
|
||||
|
@ -285,7 +271,7 @@
|
|||
<item-type>Number:Illuminance</item-type>
|
||||
<label>Lux</label>
|
||||
<description>Brightness from the sensor (Lux)</description>
|
||||
<state readOnly="true" pattern="%f %unit%">
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="sensorIllumination">
|
||||
|
@ -300,6 +286,20 @@
|
|||
</options>
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="motionTimestamp">
|
||||
<item-type>DateTime</item-type>
|
||||
<label>Last motion</label>
|
||||
<description>Timestamp of last detected motion</description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="sensorMotion">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Motion</label>
|
||||
<description>ON: Motion detected</description>
|
||||
<state readOnly="true">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="sensorVibration">
|
||||
<item-type>Switch</item-type>
|
||||
<label>Vibration</label>
|
||||
|
@ -311,14 +311,21 @@
|
|||
<item-type>Number:Angle</item-type>
|
||||
<label>Tilt</label>
|
||||
<description>Tilt in degrees (requires calibration)</description>
|
||||
<state readOnly="true">
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="sensorPPM">
|
||||
<item-type>Number:Density</item-type>
|
||||
<label>Concentration</label>
|
||||
<description>Gas concentration in ppm</description>
|
||||
<state readOnly="true" pattern="%d %unit%">
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="sensorADC">
|
||||
<item-type>Number:ElectricPotential</item-type>
|
||||
<label>Voltage (ADC)</label>
|
||||
<description>ADC voltage in V</description>
|
||||
<state readOnly="true" pattern="%.0f %unit%">
|
||||
</state>
|
||||
</channel-type>
|
||||
<channel-type id="sensorValve">
|
||||
|
|
|
@ -91,7 +91,7 @@ Read and understand the Amanda docs.
|
|||
If you have the drive1 link point to the slot3 directory, it effectively means that tape 3 is currently inserted in drive 1).
|
||||
* Amanda was built on top of UNIX and makes use of its user and rights system, so it is very useful and you should familiarize yourself with that.
|
||||
As a general good UNIX practice, you shouldn’t use functional users such as “backup” (the OS uses functional users to execute tasks with specific access rights) for administration tasks.
|
||||
Use your personal user instead (that you have created that at the beginning of your openHABian installation or `openhabian` by default).
|
||||
Use your personal user instead (that you have created at the beginning of your openHABian installation or `openhabian` by default).
|
||||
Installation tasks including post-package-installation changes (edits) of the Amanda config files, require to use the `root` user.
|
||||
Any ordinary user (such as your personal one) can execute commands on behalf of root (and with root permission) by prepending `sudo` to the command.
|
||||
As yourself, prepend "sudo -u backup" to execute the following commands as the "backup" user.
|
||||
|
@ -113,7 +113,7 @@ HEADS UP: You need to provide your storage BEFORE you install Amanda.
|
|||
|
||||
That is, you have to mount the USB stick or disk from your NAS to a directory that is LOCAL to your openHABian box.
|
||||
Specifically for Windows users: if you are not familiar with the UNIX filesystem concept and what it means 'to mount' storage, read up on it NOW.
|
||||
Various tutorial can be found on the net such as <https://linoxide.com/linux-how-to/how-to-mount-drive-in-linux>.
|
||||
Various tutorials can be found on the net such as <https://linoxide.com/linux-how-to/how-to-mount-drive-in-linux>.
|
||||
The internet is your friend, but make sure you ask search for specific things such as “how to mount a NAS disk on a Raspberry Pi” to match your use case.
|
||||
So NOW, prepare your storage by creating a directory somewhere and by then mounting the USB device or disk you've previously exported (= shared, i.e. made available for mounting) on that directory.
|
||||
This is your mountpoint.
|
||||
|
|
Loading…
Reference in New Issue