Back

Undermount AC Wi‑Fi Controller User Manual

Guide for using the controller web interface. Covers normal operation, cooling, fan control, Heat Box, Basic Heat, firmware updates, watchdog recovery, API, and MQTT controls.

CoolingFan speedsHeat BoxBasic HeatFirmware updateWatchdog

1. Connecting to the controller

Power the controller from the normal vehicle or bench supply.
Open Wi‑Fi settings on the phone, tablet, or 5 inch Android display.
Connect to the network beginning with UNDERMOUNTAC-.
Use password 12341234 unless the password has been changed.
Open a browser and go to http://10.10.10.10.
The controller can also join another Wi‑Fi network from the Wi‑Fi & MQTT Settings page. The built-in controller access point remains the normal local access method.

2. Main screen controls

ControlWhat it does
Mode buttonsOff, Fan, Cool, and Heat. Heat is shown only when Heat Function Enabled is turned on in Settings.
Set temperatureRaises or lowers the target temperature. °F uses whole degrees. °C uses clean 0.5°C steps such as 22.0, 22.5, 23.0.
Fan Mode buttonCycles fan behavior. See the Fan section for Auto, Fixed, and Continuous behavior.
Fan level sliderSets the selected blower level from 1 to 7 when manual fan control is active.
Compressor speed cardShown in Off/Fan/Cool. Selects Low, Auto, or High compressor behavior.
Heating cardShown in Heat mode. It replaces the compressor speed card so the page size and layout remain the same.
Status / Settings buttonOpens live diagnostics, configuration, firmware update, and manual access.

3. Cooling operation

When cooling starts and stops

  • Cooling starts when the cabin temperature is about 1°F above the set temperature.
  • Cooling stops when the cabin reaches the set temperature, after the minimum compressor run time has been met.
  • If the controller says Waiting to start, it is protecting the compressor before allowing another start.

Compressor protection delays

Status textMeaning
Compressor start delayThe compressor has started, but the blower/high stage is delayed briefly to let pressures stabilize. This is normally about 20 seconds.
Waiting to startThe compressor recently stopped and is waiting before restart. This is normally about 2 minutes after a normal cooling shutdown.
Cooling lowCooling is active in low compressor speed.
Cooling highCooling is active in high compressor speed.
Blower post-runThe blower continues briefly after cooling stops to clear remaining cold air from the evaporator.

Compressor speed modes

ModeBehavior
LowUses low compressor speed whenever cooling is active.
AutoAutomatically uses high speed when the cabin is far above setpoint or after a long cooling run.
HighRequests high speed cooling when the system is able to run it.
High compressor speed is only allowed when blower airflow is high enough. If the selected fan level is too low, the controller protects the system by keeping the compressor in low speed.

5. Fan modes and speeds

Fan modes

Fan modeBehavior
AutoThe controller stages blower speed automatically during cooling based on how far the cabin is from the set temperature.
FixedUses the selected blower level while cooling is active.
ContinuousIn Cooling mode, the blower keeps running between compressor cycles at the selected level.
Fan Only modeRuns the blower without heating or cooling. If fan selection is Auto, Fan Only uses a mid-level blower setting.

Fan levels

The blower has seven protected speed levels. Level 1 is the lowest running level and Level 7 is the highest.

LevelApproximate request
1Low airflow
2–4Medium airflow
5–7High airflow
The displayed percentage is a protected blower request, not a direct electrical duty cycle. The controller maps each level to calibrated blower output.

Blower delays

5. Heating operation

Heating is available only when Heat Function Enabled is turned on from Status / Settings.

Heat Box

Heat Box is for the external relay box. It supports cabin heat, water heating, and aux heat behavior.

FeatureBehavior
Cabin heatIn Heat mode, the heat valve opens and stays open. When the cabin is below set temperature, the heat call stays ON until satisfied.
Water HeaterUses the hydronic heater loop to heat water through a heat exchanger. In the current UI it is shown on the Heat card.
Aux HeatLocated in Settings. When enabled, it turns on aux heat behavior and blocks the shared hydronic heat output.

Basic Heat

Basic Heat is for a simpler two-relay installation. It does not use the external RS485 relay box.

FeatureBehavior
Heat valveOpens while the system is in Heat mode.
Heater callTurns on when the cabin is below the set temperature and stays on until satisfied.
Water/AuxWater Heater and Aux Heat are hidden/disabled in Basic Heat.

Heat call behavior

6. Status / Settings page

This page is used for configuration and live status. Normal users may only need it for temperature units, heat setup, firmware updates, and the manual.

ItemPurpose
FirmwareShows the installed controller firmware version and boot count.
UptimeShows how long the controller has been running since the last restart.
SensorShows live sensor status, temperature/humidity, and whether the sensor is responding.
Control phaseShows what the controller is currently doing, such as Ready, Cooling Low, Cooling High, Waiting to Start, Heating, or Blower Post-run.
Wi‑Fi APShows the controller access point name, IP address, connected clients, and station/MQTT state if configured.
Temperature unitsSwitches between °F and °C.
Heat Function EnabledShows or hides Heat mode and heat settings.
Heat TypeSelects Heat Box or Basic Heat.
Aux HeatHeat Box only. Enables aux heat behavior and blocks the shared hydronic heat call.
OutputsShows the current output states for blower, compressor, heat valve, heater, water heat, and aux heat.
Event logShows recent restarts, recoveries, watchdog status, network recovery, and memory warnings.

7. Firmware update page

The controller includes a built-in firmware update page for customer updates.

Connect to the controller web page.
Open Status / Settings.
Press Firmware Update.
Select the update file provided for your controller.
Press Upload and install firmware.
Keep power connected until the controller finishes and restarts.
Do not turn power off during a firmware update. If the page does not return immediately after the restart, wait about a minute and reconnect to the controller Wi‑Fi.

8. Wi‑Fi and MQTT settings

The controller can run from its built-in access point and can also join another Wi‑Fi network. MQTT is optional and is intended for advanced integration systems such as Home Assistant.

FeatureWhat it does
Controller access pointLets you connect directly to the controller even when there is no router or internet.
Station Wi‑FiAllows the controller to join another Wi‑Fi network.
MQTTAllows status and control through an MQTT system when configured.
Home Assistant discoveryWhen MQTT is configured, the controller can advertise controls and sensors automatically.

9. Watchdog, recovery, and event log

The controller includes a built-in health monitor. This is intended to keep the web interface and control loop reliable during long use.

Watchdog

The watchdog checks that the controller firmware is still running normally. If the controller ever becomes stuck, the watchdog can force a restart.

A Status / Settings value of Watchdog: Armed is normal and good.

Network recovery

The controller checks that its web access path is still available. If the network path is lost, it tries to recover the web server and access point. If repeated recovery attempts fail, the controller may restart to restore access.

Event log

The event log stores recent controller events, newest first. It can help explain why the controller restarted, recovered Wi‑Fi, or detected a fault.

Event typeMeaning
WATCHDOGThe watchdog was started or reported a problem.
NETWORK RECOVERYThe controller had to recover the web/network path.
RESTARTThe controller restarted itself for recovery or after firmware update.
MEMORYThe controller detected low memory or memory recovered.
If the system is operating normally, occasional boot or setup events are not a problem. Repeating fault or recovery events should be reported with a photo or screenshot of the Status / Settings page.

10. Troubleshooting

SymptomWhat to check
Cannot connect to controllerConfirm the controller has power, reconnect to the UNDERMOUNTAC- Wi‑Fi network, then browse to 10.10.10.10.
Controller says Ready but not coolingCheck that Mode is Cool, the set temperature is below cabin temperature, and there is no compressor restart delay.
Controller says Waiting to startThe compressor recently stopped. Wait for the restart protection timer to finish.
Blower does not start immediately with coolingThis may be the normal compressor start delay. The blower should start after the delay if cooling remains active.
Heat option missingOpen Status / Settings and turn on Heat Function Enabled.
Water Heater missingWater Heater is available only with Heat Box and is currently shown in Heat mode.
Aux Heat missingAux Heat is shown only when Heat Type is Heat Box.
Temperature steps look wrongSwitching °F/°C snaps the set temperature to the correct grid. °C should move in 0.5°C steps.
Sensor faultThe temperature/humidity sensor is not responding. Heating and cooling outputs are disabled until the sensor recovers.

11. Advanced API and MQTT reference

These features are optional. They are provided for customers using a remote display, automation system, Home Assistant, or another connected controller. Normal operation from the web page does not require using API or MQTT commands.

HTTP API overview

EndpointPurposeNotes
/api/statusReturns live controller status as JSON.Use this for dashboards, remote displays, and diagnostics.
/api/setChanges controller settings using query parameters.Examples: /api/set?mode=cool, /api/set?setpoint=72.
/firmwareOpens the firmware update page.Upload only firmware files supplied for this controller.
/manualOpens this built-in manual.Available directly from the controller.

API status fields

FieldMeaning
versionInstalled firmware version.
modeCurrent operating mode: off, fan, cool, or heat.
phaseText / phaseHuman-readable current activity, such as Ready, Cooling, Waiting to Start, Heating, or Fan Post-run.
temp / temperatureLive cabin temperature.
humidityLive humidity reading.
setpointCurrent set temperature.
temperatureUnit / temperature_unitCurrent display unit: F or C.
fanMode / fan_modeFan behavior: Auto, Continuous, Fixed, or Cycle depending on firmware options.
fanLevel / fan_levelSelected fan level from 1 to 7.
fanPercent / fan_percentActual blower output percentage.
compressorMode / compressor_modeCompressor speed selection: Low, Auto, or High.
compressorWhether compressor output is currently active.
blowerWhether blower output is currently active.
heatFunctionEnabled / heat_function_enabledWhether Heat mode and heat features are enabled.
heatType / heat_typeSelected heat hardware: box for Heat Box or basic for Basic Heat.
heatingWhether cabin heat demand is currently active.
heatValveOpen / heat_valve_openWhether the heat valve output is active.
waterHeating / water_heatingWhether Water Heater is currently active. Heat Box only.
auxHeating / aux_heatingWhether Aux Heat is enabled. Heat Box only.
heatSharedRelay / heat_shared_relayWhether the shared hydronic heat demand output is active.
faultFault text, if a fault is active.

API set commands

CommandAllowed valuesWhat it does
/api/set?mode=...off, fan, cool, heatChanges operating mode. Heat is accepted only when Heat Function Enabled is on.
/api/set?setpoint=...Valid temperature valueChanges the set temperature. °F uses whole-degree steps. °C uses 0.5°C steps.
/api/set?unit=...F, CChanges the displayed temperature unit.
/api/set?fanMode=...auto, continuous, fixed, cycleChanges fan behavior where supported by the firmware.
/api/set?fanLevel=...1 through 7Changes selected fan level.
/api/set?compressor=...low, auto, highChanges compressor speed behavior in Cool mode.
/api/set?heatEnabled=...1, 0, on, offShows or hides Heat mode and heat settings.
/api/set?heatType=...box, basicSelects Heat Box or Basic Heat.
/api/set?waterHeating=...on, off, toggleControls Water Heater. Heat Box only; not used in Basic Heat.
/api/set?auxHeating=...on, off, toggleControls Aux Heat. Heat Box only; not used in Basic Heat.

MQTT overview

MQTT is optional. When enabled, the controller publishes a retained status message and accepts command topics. The base topic defaults to undermountac/<controller-id>. The exact base topic is shown on the Wi‑Fi & MQTT settings page.

TopicPurpose
<base>/stateRetained JSON status payload containing live controller state.
<base>/availabilityReports online or offline.
<base>/set/#Command topic area. Publish values to the specific command topics below.

MQTT command topics

TopicAllowed payloadsWhat it controls
<base>/set/modeoff, fan, fan_only, cool, heatOperating mode.
<base>/set/setpointNumber in the currently selected temperature unitSet temperature.
<base>/set/temperature_unitF, CTemperature display unit.
<base>/set/fan_modeauto, continuous, fixed, cycleFan behavior.
<base>/set/fan_level1 through 7Manual/fixed fan level.
<base>/set/continuous_fanon, off, 1, 0, true, falseContinuous fan toggle.
<base>/set/compressor_modelow, auto, highCompressor speed selection.
<base>/set/heat_enabledon, off, 1, 0, true, falseEnables or disables Heat Function.
<base>/set/heat_typebox, basicSelects Heat Box or Basic Heat.
<base>/set/water_heateron, off, toggleWater Heater control. Heat Box only.
<base>/set/aux_heaton, off, toggleAux Heat control. Heat Box only.

MQTT state JSON fields

The <base>/state payload includes the current mode, setpoint, live sensor readings, fan state, compressor state, heat state, output state, phase text, fault text, and firmware version. Important fields include:

versionmodesetpointtemperaturetemperature_unithumiditysensor_okfan_modefan_levelfan_percentcompressor_modecompressorblowerphaseheat_function_enabledheat_typeheatingheat_valve_openwater_heatingaux_heatingheat_shared_relayfault

Home Assistant discovery can expose climate, fan, compressor, humidity, phase, heat enable, heat type, Water Heater, and Aux Heat entities when MQTT and discovery are enabled.