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.

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
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 AirconTemp "Temperature [%.1f °C]" {channel="gree:airconditioner:a1234561:temperature" }
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=AirconTemp label="Set temperature" icon=temperature minValue=16 maxValue=30 step=1
}
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_Lightl  "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