Faikout Auto and Timer
Faikin Australia
Faikin Faikout — Faikout Auto & Timer
Holding a room to a temperature, controlling to a sensor where you sit, and running the air-con to a daily schedule.
Faikout Auto is an extra layer of control that sits on top of your air-con. It can hold a room to a target temperature more tightly than the unit's own Auto mode, switch between heating and cooling for you, run the unit to a schedule, and control to a sensor placed where you actually sit or sleep. None of it needs the cloud, and it keeps working whether you drive it from the built-in web page, a BLE sensor, or MQTT.
This manual is built from RevK's Advanced and Controls documentation (codeberg.org/RevK/ESP32-Faikout). The example hostname is GuestAC; replace it with your own.
On this page
- 1. What Faikout Auto does
- 2. Three kinds of automation, kept separate
- 3. Turn it on (the web page)
- 4. Holding a temperature: the target band
- 5. Choosing the temperature reference
- 6. Thermostat mode
- 7. The timer (scheduled on and off)
- 8. Timer troubleshooting
- 9. Driving it over MQTT
- 10. Settings reference
- 11. Quick reference
1. What Faikout Auto does
Your air-con already heats and cools. Faikout Auto decides when and at what set-point, to keep a room where you want it. In simple terms it watches the temperature, predicts where it is heading, and nudges the air-con just on or off by raising or lowering the set-point it sends to the unit. It can also flip the unit between heat and cool as the season or room demands.
It controls to the air-con's own sensor by default, or to an external sensor you choose. Everything is local to your network.
2. Three kinds of automation, kept separate
This is the part people most often get tangled up in. Faikout Auto bundles three independent features. You can use any one on its own, or combine them.
| Feature | What it does | Driven by |
|---|---|---|
| Target band | Holds the room within a temperature range by switching heat/cool and nudging the set-point. | The temperature reading |
| Auto power (Auto⏻) | Turns the unit on when the room drifts well outside the band, and off once it has been comfortably inside for a while. | The temperature reading |
| Timer | Turns the unit on and off at fixed clock times each day. | The clock |
The timer is not the same as Auto power. The timer fires at a time of day; Auto power reacts to temperature. If a unit is switching itself on or off unexpectedly, the first job is to work out which of these is doing it (see sections 7 and 8).
3. Turn it on (the web page)
Browse to GuestAC.local on the same WiFi. The page has the normal air-con controls at the top and the automated controls below. The usual controls are:
- Auto functions / Enable — the master switch for the timer and auto-power features. If this is off, scheduled on/off and auto power do nothing.
- Track — set this to something other than Off to let Faikout switch heat and cool to aim for your target. This is the master switch for the temperature-holding behaviour.
- Target and tolerance — the temperature you want and how far either side is acceptable, for example 21°C with ±1°C.
- On time and Off time — the daily timer (section 7).
- Auto⏻ — temperature-based automatic on/off.
- External reference — pick a BLE sensor to control to instead of the unit's own (section 5).
Changes take effect immediately, and anything you do on the IR remote shows on the page within seconds.
4. Holding a temperature: the target band
Set a Target and a tolerance and Faikout treats it as a range. 21°C with ±1°C means a comfort band of 20°C to 22°C. Faikout aims to keep the room inside that band, not pinned to the middle.
How it works, briefly:
- It samples the temperature and looks ahead, because an air-con has inertia, so it can act before the room overshoots.
- When heating, it works to keep the room just above the bottom of the band; when cooling, just below the top.
- It does this by sending the air-con a set-point well above or below the real target (by default around ±6°C) to force heating or cooling on, then easing off as the room comes into range.
- If it finds it is heating but constantly running over the top of the band, it switches to cooling, and the other way around. If the room sits inside the band, it turns off.
You do not need to tune any of this for normal use. The fine adjustments (how far it pushes the set-point, how far ahead it predicts) are listed in section 10 and rarely need touching.
5. Choosing the temperature reference
By default Faikout controls to the air-con's own sensor, which sits up in the head unit and often reads warmer than where you are. You have two ways to control to a better reading:
- A BLE sensor. Pair a BlueCoinT or a Telink/Mi-style sensor and select it as the external reference on the web page. Put it by your bed or your desk and the room is held to that spot. This is the simplest route, no broker or automation needed.
- Over MQTT. Feed a reading in yourself, or point Faikout at an existing sensor topic. See section 9.
When an external reference is in use, Faikout adjusts for the difference between it and the air-con's own sensor so the unit still behaves sensibly.
6. Thermostat mode
Normal band behaviour keeps the room anywhere inside the range. Thermostat mode adds hysteresis, like a household thermostat: when heating it drives up to the top of the band, then lets the room fall to the bottom before coming back on. That means longer, less frequent cycles, which some people prefer. Turn it on with the Thermostat setting.
7. The timer (scheduled on and off)
The timer turns the air-con on and off at fixed times of day, every day. It is handy for a bedroom that should be warm before you wake, or an office that should not run overnight.
To set it up on the web page:
- Make sure Auto functions / Enable is on. The timer will not fire if this is off.
- Set the On time to when you want the unit to switch on (24-hour, local time).
- Set the Off time to when you want it to switch off.
- Make sure the timezone is correct in settings, or the times will fire at the wrong moment (this is the single most common problem, see section 8).
Good to know:
- Times are local clock times and repeat every day.
- Leave a time at 00:00 (midnight) to disable it. Setting the On and Off times to the same value also disables the timer. Because 00:00 means "off", you cannot schedule exactly midnight, use 00:01 if you need to.
- The On time and Off time are independent. You can use just one (for example an Off time at 23:00 to make sure it never runs overnight, with no On time).
- Each is a one-shot at that minute. At the On time it switches on; at the Off time it switches off. In between, you are free to change things by remote or app, and your change stays until the next scheduled time. The timer does not fight you for the rest of the day.
Timer versus auto power. The timer is purely about the clock. If you also want the unit to come on when the room gets too cold or hot regardless of the time, that is Auto⏻ (auto power), a separate switch. Leave Auto⏻ off if you want the unit controlled by the clock alone.
8. Timer troubleshooting
If the schedule fires at the wrong time, or not at all, work through these in order. The first one accounts for most cases.
1. The timezone is wrong or not set. The Faikout keeps time from the internet in UTC and converts to your local time using the timezone you set on the setup page. If the timezone is blank or wrong, an "07:00" On time will fire at 07:00 UTC, which in eastern Australia is the afternoon. Set the correct timezone string on the WiFi/setup page. It is a POSIX timezone string, for example:
- Eastern Australia with daylight saving (NSW, VIC, ACT, TAS):
AEST-10AEDT,M10.1.0,M4.1.0/3 - Queensland (no daylight saving):
AEST-10 - South Australia:
ACST-9:30ACDT,M10.1.0,M4.1.0/3 - Western Australia:
AWST-8
The setup page links to a full list. Note the daylight-saving rules in the string, without them the timer will be an hour out for half the year.
2. The device clock is wrong because it cannot reach the internet. The Faikout needs to reach a time server to know the actual time. If it has no internet (for example on an isolated IoT network with no outbound access), its clock will be wrong and the timer will misfire. Check the time shown on the unit's web page looks right. If it does not, give the device internet access so it can sync.
3. Auto functions are disabled. If the Enable switch (auto functions) is off, neither the timer nor auto power runs. Turn it back on.
4. The times are disabled. A time left at 00:00 is off. If both the On and Off times are the same, the timer is disabled. Set distinct, non-midnight times.
5. On and Off are swapped. The On time powers the unit on; the Off time powers it off. If the unit goes off when you expected it on, check you have not entered them the wrong way round.
6. You expected it to hold the unit off (or on) continuously. The timer only acts once at each set minute. If something else, or someone, turns the unit on after the Off time, it stays on until the next Off time the following day. To keep a unit from running on temperature as well, that is auto power (Auto⏻), not the timer.
7. It is actually auto power, not the timer. If the unit switches on or off at times that drift with the weather rather than the clock, the timer is probably disabled and Auto⏻ is doing it. Turn Auto⏻ off if you only want clock-based scheduling.
9. Driving it over MQTT
Everything above can also be set over MQTT. The full topic and command reference is in the MQTT manual; the auto-specific pieces are:
-
Settings (publish to
setting/GuestAC):autoe(enable),autot(target),autor(tolerance, 0 = off),auto1(on time,HHMM),auto0(off time,HHMM),autop(auto power),thermostat,autob(BLE sensor),autotopic/autopayload(follow a sensor topic). -
Feed a live reading for the band: send a
controlmessage withenv(the current room temperature). It must be re-sent at least everytcontrolseconds (default 600) or the unit drops back out of remote control. -
Force the band by sending
targetas a two-element[min,max]array in acontrolmessage.
A worked external-sensor example, and the gotcha where sending env can make the unit power itself on, are covered in the MQTT manual's Faikout Auto section.
10. Settings reference
The web "Advanced" page and MQTT use the same names. Defaults shown.
| Setting | Default | Meaning |
|---|---|---|
autoe |
on | Master enable for the timer and auto-power features. |
auto1 |
00:00 | Daily on time (HHMM); 00:00 disables. |
auto0 |
00:00 | Daily off time (HHMM); 00:00 disables. |
autot |
— | Target temperature for the band. |
autor |
— | Tolerance either side of the target; 0 is off. |
autop |
off | Auto power: turn on/off based on temperature. |
autoptemp |
0.5 | How far outside the band the room must be before auto power switches on. |
autofmax |
5 | Highest fan level used when starting far from target. |
autob |
— | BLE sensor used as the external reference. |
autotopic |
— | MQTT topic to follow for an external reference. |
autopayload |
— | JSON field name within that topic holding the temperature. |
autolcontrol |
off | Toggle the LED to follow the current heating/cooling action. |
thermostat |
off | Hysteresis mode: heat to the top of the band, then let it fall to the bottom. |
tempadjust |
on | Allow for the air-con's sensor reading differently from your reference. |
temptrack |
off | Base the set-point on the air-con's measured temperature rather than your target. |
tempnoflap |
0 | Minimum seconds between set-point changes. |
tmin / tmax
|
16 / 32 | Lowest / highest set-point the system allows. |
tsample |
900 | How often (s) the in-band / out-of-band assessment is made for auto power. |
tpredicts |
30 | How often (s) the look-ahead is sampled. |
tpredictt |
120 | How far ahead the look-ahead predicts. |
tcontrol |
600 | Timeout (s) for MQTT env/control before reverting to normal. |
pushtemp |
0.1 | How far the target is nudged in from the band edge so the room hovers inside it. |
switchtemp |
0.5 | Adjustment used when deciding to reverse heating/cooling. |
heatover / heatback
|
6 / 6 | How hard the set-point is pushed to force, then stop, heating. |
coolover / coolback
|
6 / 6 | How hard the set-point is pushed to force, then stop, cooling. |
frosttemp |
— | Below this, force heating on regardless (frost protection). |
thermref |
50 | Percentage of inlet (vs room) temperature the unit uses as its own reference. |
11. Quick reference
| Want to... | Do this |
|---|---|
| Hold a room to a temperature | Set Track on, a Target and a tolerance (e.g. 21°C ±1°C). |
| Control to where you sit | Pick a BLE sensor as the external reference. |
| Turn on/off at set times | Set On time and Off time, with Enable on and the timezone correct. |
| Turn on/off on temperature | Turn on Auto⏻ (auto power). |
| Longer, thermostat-style cycles | Turn on Thermostat mode. |
| Disable a scheduled time | Set it to 00:00, or set On and Off to the same value. |
| Fix "fires at the wrong time" | Set the correct timezone and make sure the device has internet for its clock (section 8). |
Source: RevK ESP32-Faikout Advanced and Controls manuals (codeberg.org/RevK/ESP32-Faikout). Behaviour described matches the firmware as of June 2026. See also the Faikin Faikout Setup, MQTT, and Loopback Test manuals.