mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 23:22:02 +01:00
6df6783b60
Signed-off-by: Kai Kreuzer <kai@openhab.org>
116 lines
5.6 KiB
Markdown
116 lines
5.6 KiB
Markdown
# OpenSprinkler Binding
|
|
|
|
This binding allows allows basic control of the OpenSprinkler devices.
|
|
Stations can be controlled to be turned on or off and rain sensor state can be read.
|
|
|
|
## Supported Bridges
|
|
|
|
* HTTP (`http`) - The http bridge allows to communicate with an OpenSprinkler device through the network
|
|
|
|
## Supported Things
|
|
|
|
* OpenSprinkler Station (`station`) - to control a single station of a device, e.g. to turn it on or off
|
|
* OpenSprinkler Device (`device`) - for getting device-specific infos, e.g. if rain was detected
|
|
|
|
## Discovery
|
|
|
|
OpenSprinkler devices can be manually discovered by sending a request to every IP on the network.
|
|
Discovery needs to be run manually as this is a brute force method of finding devices that can saturate network or device available bandwidth.
|
|
|
|
## Thing Configuration
|
|
|
|
OpenSprinkler using the HTTP interface
|
|
|
|
```
|
|
Bridge opensprinkler:http:http [hostname="127.0.0.1", port=80, password="opendoor", refresh=60] {
|
|
Thing station 01 [stationIndex=1]
|
|
}
|
|
```
|
|
|
|
- hostname: Hostname or IP address of the OpenSprinkler HTTP API.
|
|
- port: Port the OpenSprinkler device is listening on. Usually 80.
|
|
- password: Admin password of the API. Factory default is: opendoor
|
|
- refresh: Number of seconds in between refreshing the Thing state with the API.
|
|
- basicUsername: (optional) Only needed when the OpenSprinkler device is behind a basic auth enforcing reverse proxy.
|
|
- basicPassword: (optional) Only needed when the OpenSprinkler device is behind a basic auth enforcing reverse proxy.
|
|
|
|
### Station Thing Configuration
|
|
|
|
The `station` thing can be used with both bridge and has the following configuration properties:
|
|
|
|
- stationIndex: The index of the station to communicate with, starting with 0 for the first station
|
|
|
|
## Channels
|
|
|
|
The following channel is supported by the `station` thing.
|
|
|
|
| Channel Type ID | Item Type | | Description |
|
|
|--------------------|-------------|----|----------------------------------------------------------|
|
|
| stationState | Switch | RW | This channel indicates whether station 01 is on or off. |
|
|
| remainingWaterTime | Number:Time | R | The time the station remains to be open. |
|
|
| nextDuration | Number:Time | RW | A configuration item, which time, if linked, will be |
|
|
| | | | used as the time the station will be kept open when |
|
|
| | | | switched on. It is advised to add persistence for items |
|
|
| | | | linked to this channel, the binding does not persist |
|
|
| | | | values of it. |
|
|
| queued | Switch | RW | Indicates that the station is queued to be turned on. |
|
|
| | | | The channel cannot be turned on, only turning it off is |
|
|
| | | | supported (which removes the station from the queue). |
|
|
|
|
When using the `nextDuration` channel, it is advised to setup persistence (e.g. MapDB) in order to persist the value through restarts.
|
|
|
|
The following is supported by the `device` thing, but only when connected using the http interface.
|
|
|
|
| Channel Type ID | Item Type | | Description |
|
|
|-----------------|------------------------|----|------------------------------------------------------------------------------------|
|
|
| rainsensor | Switch | RO | This channel indicates whether rain is detected by the device or not. |
|
|
| currentDraw | Number:ElectricCurrent | RO | Shows the current draw of the device. If the device does not have sensors |
|
|
| | | | for this metric, the channel will not be available. |
|
|
| waterlevel | Number:Dimensionless | RO | This channel shows the current water level in percent (0-250%). The water level is |
|
|
| | | | calculated based on the weather and influences the duration of the water programs. |
|
|
|
|
## Example
|
|
|
|
demo.Things:
|
|
|
|
```
|
|
Bridge opensprinkler:http:http [hostname="127.0.0.1", port=81, password="opendoor"] {
|
|
Thing station 01 [stationIndex=0]
|
|
Thing station 02 [stationIndex=1]
|
|
Thing station 03 [stationIndex=2]
|
|
Thing station 04 [stationIndex=3]
|
|
Thing station 05 [stationIndex=4]
|
|
Thing station 06 [stationIndex=5]
|
|
Thing device device
|
|
}
|
|
```
|
|
|
|
demo.items:
|
|
|
|
```
|
|
Group stations
|
|
Switch Station01 (stations) { channel="opensprinkler:station:http:01:stationState" }
|
|
Number:Time Station01RaminingTime { channel="opensprinkler:station:http:01:remainingWaterTime" }
|
|
Switch Station02 (stations) { channel="opensprinkler:station:http:02:stationState" }
|
|
Switch Station03 (stations) { channel="opensprinkler:station:http:03:stationState" }
|
|
Number:Time Station03NextDuration { channel="opensprinkler:station:http:03:nextDuration" }
|
|
Switch Station04 (stations) { channel="opensprinkler:station:http:04:stationState" }
|
|
Switch Station05 (stations) { channel="opensprinkler:station:http:05:stationState" }
|
|
Switch Station06 (stations) { channel="opensprinkler:station:http:06:stationState" }
|
|
|
|
Switch RainSensor { channel="opensprinkler:device:http:device:rainsensor" }
|
|
Number:ElectricCurrent CurrentDraw {channel="opensprinkler:device:http:device:currentDraw"}
|
|
```
|
|
|
|
demo.sitemap:
|
|
|
|
```
|
|
sitemap demo label="Main Menu"
|
|
{
|
|
Frame {
|
|
Switch item=Station01
|
|
Selection item=Station03NextDuration mappings=[300="5 min", 600="10 min"]
|
|
}
|
|
}
|
|
```
|