Skip to content

Extra Features

Niklas Linz edited this page Oct 3, 2026 · 1 revision

Extra features

These features use the newer "new protocol" messages and are sent one at a time. They don't touch the basic settings. Not every unit has every feature; check Capabilities before offering them in a UI. Units usually ignore commands for features they don't have.

Method Function
setScreenDisplay(boolean) LED display on or off
setScreenDisplayAlternate(boolean) display on units that handle it through the new protocol
setBreezeless(boolean) breezeless (draught-free) mode
setIndirectWind(boolean) keep the airflow from blowing directly at people
setHorizontalVane(Vane.Horizontal) park the left/right louver at a fixed position
setVerticalVane(Vane.Vertical) park the up/down louver at a fixed position
setOutdoorSilent(boolean) quiet mode for the outdoor unit
setSound(boolean) buzzer of the indoor unit
setSelfClean(boolean) start or stop self cleaning
setRateSelect(int) power limit
setFreshAir(boolean, int) fresh air module, speed 0 to 100

All of them return the new state.

Display

The firmware only understands "toggle display", not "on" or "off". setScreenDisplay(false) therefore sends a toggle only if the display is currently reported as on. Calling it twice leaves the display off instead of flipping it back.

While the unit is off, the display is reported as off.

Louver positions

ac.setVerticalVane(Vane.Vertical.UP);
ac.setHorizontalVane(Vane.Horizontal.MIDDLE);
Vane.Vertical Vane.Horizontal raw value
OFF OFF 0
UP LEFT 1
UP_MID LEFT_MID 25
MIDDLE MIDDLE 50
DOWN_MID RIGHT_MID 75
DOWN RIGHT 100

Check Capabilities.Feature.SWING_VERTICAL_ANGLE and SWING_HORIZONTAL_ANGLE first.

Indirect wind

While vertical swing is running, indirect wind is reported as off.

Power limit

Unit type Accepted values
five-level 1, 20, 40, 60, 80, 100
two-level 50, 75, 100

Capabilities.Feature.RATE_SELECT_2_LEVEL and RATE_SELECT_5_LEVEL tell you which kind you have. The current value is in AcState.getRateSelect(); it's only queried once the unit has advertised the feature.

Self cleaning

ac.setSelfClean(true);

The unit takes a moment before it reports the new state. For at least 30 seconds after the command, status reports that still show the old state are ignored, so your UI doesn't flicker back.

Fresh air

Only on units with a fresh air module. AcState.hasFreshAir() becomes true once the unit has reported one; before that, setFreshAir() throws UnsupportedOperationException.

ac.setFreshAir(true, 60);   // on, speed 60
ac.setFreshAir(false, 0);   // off

Next: Capabilities

Clone this wiki locally