# 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 ```