openhab-addons/bundles/org.openhab.binding.gree/README.md

149 lines
8.2 KiB
Markdown
Raw Normal View History

# GREE Binding
This binding integrates GREE Air Conditioners.
Note: The GREE Air Conditioner must already be setup on the WiFi network and must have a fixed IP Address.
## Supported Things
This binding supports one Thing type `airconditioner`.
## Discovery
Once the GREE is on the network (WiFi active) it could be discovery automatically.
An IP broadcast message is sent and every responding unit gets added to the Inbox.
## Binding Configuration
No binding configuration is required.
## Thing Configuration
| Channel Name | Type | Description |
|--------------------------|------------|-----------------------------------------------------------------------------------------------|
| ipAddress | IP Address | IP address of the unit. |
| broadcastAddress | IP Address | Broadcast address being used for discovery, usually derived from the IP interface address. |
| refresh | Integer | Refresh interval in seconds for polling the device status. |
| currentTemperatureOffset | Decimal | Offset in Celsius for the current temperature value received from the device. |
The Air Conditioner's IP address is mandatory, all other parameters are optional.
If the broadcast is not set (default) it will be derived from openHAB's network setting (PaperUI:Configuration:System:Network Settings).
Only change this if you have a good reason to.
## Channels
The following channels are supported for fans:
| Channel Name | Item Type | Description |
|--------------------|-----------|---------------------------------------------------------------------------------------------------|
| power | Switch | Power on/off the Air Conditioner |
| mode | String | Sets the operating mode of the Air Conditioner |
| | | Mode can be one of auto/cool/eco/dry/fan/heat or on/off |
| | | Check the Air Conditioner's operating manual for supported modes. |
| temperature | Number:Temperature | Sets the desired room temperature. |
| currentTemperature | Number:Temperature | Displays the current room temperature (if supported by the unit, otherwise NaN). |
| air | Switch | Set on/off the Air Conditioner's Air function if applicable to the Air Conditioner model |
| dry | Switch | Set on/off the Air Conditioner's Dry function if applicable to the Air Conditioner model |
| health | Switch | Set on/off the Air Conditioner's Health function if applicable to the Air Conditioner model |
| turbo | Switch | Set on/off the Air Conditioner's Turbo Mode. |
| quiet | String | Set Quiet Mode: off/auto/quiet |
| swingUpDown | Number | Sets the vertical (up..down) swing action on the Air Conditioner, |
| | | OFF: 0, Full Swing: 1, Up: 2, MidUp: 3, Mid: 4, Mid Down: 5, Down : 6 |
| swingLeftRight | Number | Sets the horizontal (left..right) swing action on the Air Conditioner |
| | | OFF: 0, Full Swing: 1, Left: 2, Mid Left: 3, Mid: 4, Mid Right: 5, Right : 6 |
| windspeed | Number | Sets the fan speed on the Air conditioner Auto:0, Low:1, MidLow:2, Mid:3, MidHigh:4, High:5 |
| | | The number of speeds depends on the Air Conditioner model. |
| powersave | Switch | Set on/off the Air Conditioner's Power Saving function if applicable to the Air Conditioner model |
| light | Switch | Enable/disable the front display on the Air Conditioner if applicable to the Air Conditioner model|
| | | Full Swing: 1, Up: 2, MidUp: 3, Mid: 4, Mid Down: 5, Down : 6 |
When changing mode, the air conditioner will be turned on unless "off" is selected.
## Full Example
**Things**
```
Thing gree:airconditioner:a1234561 [ ipAddress="192.168.1.111", refresh=2 ]
```
**Items**
```
Switch AirconPower { channel="gree:airconditioner:a1234561:power" }
String AirconMode { channel="gree:airconditioner:a1234561:mode" }
Switch AirconTurbo { channel="gree:airconditioner:a1234561:turbo" }
Switch AirconLight { channel="gree:airconditioner:a1234561:light" }
Number AirconTargetTemp "Target Temperature [%.1f °C]" {channel="gree:airconditioner:a1234561:temperature" }
Number AirconCurrentTemp "Current Temperature [%.1f °C]" {channel="gree:airconditioner:a1234561:currentTemperature" }
Number AirconSwingVertical { channel="gree:airconditioner:a1234561:swingUpDown" }
Number AirconSwingHorizontal { channel="gree:airconditioner:a1234561:swingLeftRight" }
Number AirconFanSpeed { channel="gree:airconditioner:a1234561:windspeed" }
Switch AirconAir { channel="gree:airconditioner:a1234561:air" }
Switch AirconDry { channel="gree:airconditioner:a1234561:dry" }
Switch AirconHealth { channel="gree:airconditioner:a1234561:health" }
Switch AirconPowerSaving { channel="gree:airconditioner:a1234561:powersave" }
```
**Sitemap**
This is an example of how to set up your sitemap.
```
Frame label="Controls"
{
Switch item=AirconMode label="Mode" mappings=["auto"="Auto", "cool"="Cool", "eco"="Eco", "dry"="Dry", "fan"="Fan", "turbo"="Turbo", "heat"="Heat", "on"="ON", "off"="OFF"]
Setpoint item=AirconTargetTemp label="Set target temperature" icon=temperature minValue=16 maxValue=30 step=1
}
Frame label="Current Temperature"
{
Text item=AirconCurrentTemp label="Current temperature [%.1f °C]" icon="temperature"
}
Frame label="Fan Speed"
{
Switch item=AirconFanSpeed label="Fan Speed" mappings=[0="Auto", 1="Low", 2="Medium Low", 3="Medium", 4="Medium High", 5="High"] icon=fan
}
Frame label="Fan-Swing Direction"
{
Switch item=AirconSwingVertical label="Direction V" mappings=[0="Off", 1="Full", 2="Up", 3="Mid-up", 4="Mid", 5="Mid-low", 6="Down"] icon=flow
Switch item=AirconSwingHorizontal label="Direction H" mappings=[0="Off", 1="Full", 2="Left", 3="Mid-left", 4="Mid", 5="Mid-right", 6="Right"] icon=flow
}
Frame label="Options"
{
Switch item=AirconTurbo label="Turbo" icon=fan
Switch item=AirconLight label="Light" icon=light
Switch item=AirconAir label="Air" icon=flow
Switch item=AirconDry label="Dry" icon=rain
Switch item=AirconHealth label="Health" icon=smiley
Switch item=AirconPowerSaving label="Power Saving" icon=poweroutlet
}
```
**Example**
This example shows how to make a GREE Air Conditioner controllable by Google HA (A/C mode + temperature)
**Items**
```
Group Gree_Modechannel "Gree" { ga="Thermostat" } // allows mapping for Google Home Assistent
Switch GreeAirConditioner_Power "Aircon" {channel="gree:airconditioner:a1234561:power", ga="Switch"}
String GreeAirConditioner_Mode "Aircon Mode" {channel="gree:airconditioner:a1234561:mode", ga="thermostatMode"}
Number GreeAirConditioner_Temp "Aircon Temperature" {channel="gree:airconditioner:a1234561:temperature}
Switch GreeAirConditioner_Light "Light" {channel="gree:airconditioner:a1234561:light"}
```
**Rules**
```
rule "Mode changed"
when
Item GreeAirConditioner_Mode changed
then
if(GreeAirConditioner_Mode.state == "cool" ) {
logInfo("A/C", "Cooling has be turned on")
}
end
```