mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-11 23:52:00 +01:00
6df6783b60
Signed-off-by: Kai Kreuzer <kai@openhab.org>
158 lines
5.3 KiB
Markdown
158 lines
5.3 KiB
Markdown
# Gardena Binding
|
|
|
|
This is the binding for [Gardena smart system](https://www.gardena.com/de/rasenpflege/smartsystem/).
|
|
This binding allows you to integrate, view and control Gardena smart system devices in the openHAB environment.
|
|
|
|
## Supported Things
|
|
|
|
Devices connected to Gardena smart system, currently:
|
|
|
|
| Thing type | Name |
|
|
|--------------------------|--------------------------|
|
|
| bridge | smart Garden Gateway |
|
|
| mower | smart Sileno(+) Mower |
|
|
| watering_computer | smart Water Control |
|
|
| sensor | smart Sensor |
|
|
| electronic_pressure_pump | smart Pressure Pump |
|
|
| power | smart Power |
|
|
| ic24 | smart Irrigation Control |
|
|
|
|
The schedules are not yet integrated!
|
|
|
|
## Discovery
|
|
|
|
An account must be specified, all things for an account are discovered automatically.
|
|
|
|
## Account Configuration
|
|
|
|
There are several settings for an account:
|
|
|
|
| Name | Required | Description |
|
|
|-----------------------|----------|------------------------------------------------------------------------------------------|
|
|
| **email** | yes | The email address for logging into the Gardena smart system |
|
|
| **password** | yes | The password for logging into the Gardena smart system |
|
|
| **sessionTimeout** | no | The timeout in minutes for a session to Gardena smart system (default = 30) |
|
|
| **connectionTimeout** | no | The timeout in seconds for connections to Gardena smart system (default = 10) |
|
|
| **refresh** | no | The interval in seconds for refreshing the data from Gardena smart system (default = 60) |
|
|
|
|
**Example**
|
|
|
|
### Things
|
|
|
|
Minimal Thing configuration:
|
|
|
|
```java
|
|
Bridge gardena:account:home [ email="...", password="..." ]
|
|
```
|
|
|
|
Configuration with refresh:
|
|
|
|
```java
|
|
Bridge gardena:account:home [ email="...", password="...", refresh=30 ]
|
|
```
|
|
|
|
Configuration of multiple bridges:
|
|
|
|
```java
|
|
Bridge gardena:account:home1 [ email="...", password="..." ]
|
|
Bridge gardena:account:home2 [ email="...", password="..." ]
|
|
```
|
|
|
|
Once a connection to an account is established, connected Things are discovered automatically.
|
|
|
|
Alternatively, you can manually configure a Thing:
|
|
|
|
```perl
|
|
Bridge gardena:account:home [ email="...", password="..." ]
|
|
{
|
|
Thing mower myMower [ deviceId="c81ad682-6e45-42ce-bed1-6b4eff5620c8" ]
|
|
}
|
|
```
|
|
|
|
## Items
|
|
|
|
In the items file, you can link items to channels of your Things:
|
|
|
|
```java
|
|
Number Battery_Level "Battery [%d %%]" {channel="gardena:mower:home:myMower:battery#level"}
|
|
```
|
|
|
|
## Sensor refresh
|
|
|
|
You can send a REFRESH command to items linked to these Sensor channels:
|
|
|
|
- ambient_temperature#temperature
|
|
- soil_temperature#temperature
|
|
- humidity#humidity
|
|
- light#light
|
|
|
|
In the console:
|
|
|
|
```shell
|
|
smarthome:send ITEM_NAME REFRESH
|
|
```
|
|
|
|
In scripts:
|
|
|
|
```
|
|
import org.openhab.core.types.RefreshType
|
|
...
|
|
sendCommand(ITEM_NAME, RefreshType.REFRESH)
|
|
```
|
|
|
|
## Examples
|
|
|
|
```
|
|
// smart Water Control
|
|
Switch Watering_Valve "Valve" { channel="gardena:watering_computer:home:myValve:outlet#valve_open" }
|
|
Number Watering_Duration "Duration [%d min]" { channel="gardena:watering_computer:home:myValve:outlet#button_manual_override_time" }
|
|
|
|
// smart Power Plug
|
|
String Power_Timer "Power Timer [%s]" { channel="gardena:power:home:myPowerplug:power#power_timer" }
|
|
|
|
// smart Irrigation Control
|
|
Number Watering_Timer_1 "Watering Timer 1 [%d min] { channel="gardena:ic24:home:myIrrigationController:watering#watering_timer_1" }
|
|
|
|
// smart Pressure Pump
|
|
Number Pump_Timer "Pump Timer [%d min] { channel="gardena:electronic_pressure_pump:home:myPressurePump:manual_watering#manual_watering_timer" }
|
|
```
|
|
|
|
```
|
|
Watering_Duration.sendCommand(30) // 30 minutes
|
|
Watering_Valve.sendCommand(ON)
|
|
|
|
Power_Timer.sendCommand("on")
|
|
Power_Timer.sendCommand("off")
|
|
Power_Timer.sendCommand("180") // on for 180 seconds
|
|
|
|
Watering_Timer_1.sendCommand(0) // turn off watering
|
|
Watering_Timer_1.sendCommand(30) // turn on for 30 minutes
|
|
|
|
Pump_Timer.sendCommand(0) // turn the pump off
|
|
Pump_Timer.sendCommand(30) // turn the pump on for 30 minutes
|
|
```
|
|
|
|
### Debugging and Tracing
|
|
|
|
If you want to see what's going on in the binding, switch the loglevel to TRACE in the Karaf console
|
|
|
|
```
|
|
log:set TRACE org.openhab.binding.gardena
|
|
```
|
|
|
|
Set the logging back to normal
|
|
|
|
```
|
|
log:set INFO org.openhab.binding.gardena
|
|
```
|
|
|
|
**Note:** The Online/Offline status is not always valid. I'm using the ```connection_status``` property Gardena sends for each device, but it seems not to be very reliable.
|
|
My watering control for example shows offline, but it is still working.
|
|
I have to press the button on the device, then the status changed to online.
|
|
My mower always shows online, regardless of whether it is switched on or off.
|
|
This is not a binding issue, it must be fixed by Gardena.
|
|
|
|
When the binding sends a command to a device, it communicates only with the Gardena online service.
|
|
It has not control over, whether the command is sent from the online service via your gateway to the device.
|
|
It is the same as if you send the command in the Gardena App.
|