The Jablotron Futura series (L, M, S, L+) are heat recovery ventilation units (MVHR) manufactured by Jablotron Living Technology. TapHome connects directly to the unit via Modbus TCP over Ethernet — no additional gateway is required.
Two separate templates are provided — one for the Futura L, M, S models (116 devices) and one for the Futura L+ (84 devices). Both share the same Modbus TCP port and device address, but the register addresses differ between the two variants. Import the template that matches the installed unit.
The Futura unit has an Ethernet port for Modbus TCP communication. Connect it to the same local network as TapHome Core using a standard Ethernet cable.
Protocol: Modbus TCP
Port: 502
Device address: 1
Available sockets: 1 (single concurrent connection)
Firmware requirement: Futura L/M/S: FUA.P.06.71 or later, Futura L+: FLA.P.01.06 or later
In TapHome, the firmware of the unit is shown in the module service attribute Firmware Version (in the app: Verze firmware) as a raw number; the model is shown in Device Variant (Varianta zařízení). The version in the familiar form (e.g. FUA.P.06.71) is shown in the Jablotron app.
The Futura allows only one Modbus TCP socket at a time. If another system (e.g., Jablotron Connect LITE, Home Assistant) is connected, TapHome will not be able to communicate. Disconnect other Modbus TCP clients before using TapHome.
Assign a static IP address to the Futura unit in the router’s DHCP settings to prevent the address from changing after a power cycle.
The download button at the bottom of this page provides the Futura L, M, S template. For the Futura L+ template, download it here.
Composite data types (uint32, int32, float32) must be read and written in a single Modbus operation. The firmware enforces data integrity — partial reads or writes will return an ILLEGAL_DATA_ADDRESS error. TapHome handles this automatically through the template configuration.
Both templates expose the same core functionality with different register addresses. The L/M/S template includes additional capabilities not available on the L+ (Night mode, Party mode, fan power/RPM monitoring, humidity setpoint, universal inputs, ALFA controllers).
Ventilation mode control
Ventilation Mode — select from Off, Level 1–5, or Automatic via holding register HR:0. This is the main fan speed control for the unit.
Temperature and humidity monitoring
Four temperature/humidity sensor pairs monitor the air path through the unit:
Outdoor Air — ambient air temperature (IR:30 on L/M/S, IR:12 on L+) with humidity
Supply Air — fresh air temperature delivered into the building (IR:31 / IR:13) with humidity
Exhaust Air — waste air temperature leaving the building (IR:33 / IR:15) with humidity
External NTC Sensor — optional external NTC outdoor temperature probe (IR:38 / IR:20); reads -99 when disconnected
Performance monitoring
Heat Recovery — instantaneous heat recovery power in watts (IR:42 / IR:23)
Power Consumption — total electrical power consumption of the unit in watts (IR:41 / IR:22)
Air Flow — combined supply and exhaust air flow volume in m3/h (IR:44 / IR:25)
Heating Power — internal electric preheater power consumption in watts (IR:43 / IR:24)
Filter Wear Level — filter contamination percentage, replace when near 100% (IR:40 / IR:21)
Fan monitoring (L/M/S only)
Supply Fan Power — supply fan power level as percentage (IR:45) with RPM readout via service attribute (IR:47)
Exhaust Fan Power — exhaust fan power level as percentage (IR:46) with RPM readout via service attribute (IR:48)
Universal Input 1/2 Voltage — diagnostic voltage readings on universal inputs (IR:49, IR:50)
Timed functions
The template provides timed ventilation functions as multi-value switches with preset durations:
Boost Function — maximum ventilation for a selected duration (HR:1). Presets: Off, 30 s, 60 s, 5 min, 10 min, 15 min, 30 min, 1 h, 1.5 h, 2 h. A service action allows setting a custom countdown (1–7200 s). The remaining time is available as a service attribute.
Circulation Function — air circulation without heat recovery (HR:2). Same time presets and service action/attribute as Boost.
Overpressure Function — positive pressure mode to prevent smoke intake during fireplace use (HR:3). Same time presets.
Night Function (L/M/S only) — reduced ventilation for quiet nighttime operation (HR:4). Same time presets.
Party Function (L/M/S only) — increased ventilation for gatherings (HR:5). Presets: Off, 30 min, 1–8 h.
Enable switches
Binary on/off switches for system features:
Time Program — enables weekly time program scheduling (HR:12 / HR:5)
Both templates support up to 8 external sensor zones. For each zone:
Sensor Present — enables the external sensor input for the zone
Temperature — external temperature value (-20 to 100 °C)
Humidity — external humidity value (0–100%)
CO2 — external CO2 value (0–10,000 ppm)
Zone sensor registers are at HR:300–375 (L/M/S) or HR:100–175 (L+), with 10-register intervals per zone.
These are inputs of the Futura: TapHome writes the values into them, it does not read Jablotron sensors from them. How to fill them from TapHome sensors is described in the section Using TapHome sensors for zone ventilation below.
Zone buttons (zones 1–8)
Both templates support one external button in each of the 8 zones. For each zone:
Button Present — enables the external button
Button Mode — selects between Boost (0) and Kitchen Hood (1) function
Button Timer — countdown timer (0–10,800 s)
Button Activation — activates the button function (3-hour time limit)
Zone button registers are at HR:400–473 (L/M/S) or HR:200–273 (L+).
ALFA room controllers (L/M/S only)
The L/M/S template supports up to 8 ALFA wall-mounted room controllers. For each ALFA unit:
CO2 — room CO2 level in ppm
Air Temperature — room air temperature with humidity
NTC Temperature — external NTC temperature sensor connected to the ALFA controller
ALFA controller registers are at IR:160–235, with 10-register intervals per unit.
Additional capabilities
The Futura units also expose Modbus registers for operation mode status (24-bit bitmask showing active modes like boost, circulation, away, defrost, anti-icing), error and warning bitmasks (22 error bits, 18 warning bits), extract air temperature/humidity, backup battery voltage, away mode scheduling (unix timestamps), digital inputs status, and device identification. The L+ variant additionally provides a heating/cooling status register. These can be added to the TapHome template in a future update.
Readings of Jablotron’s own room sensors are available in the Modbus map but not in the templates: on the L/M/S the wall-mounted control panels (CO2, temperature, humidity, IR:100–114) and the separate wall-mounted CO2 sensors (IR:115–154), on the L+ the measured CO2, temperature and humidity of zones 1–8 (IR:100–173). They can be added to the template as Modbus variables.
With VarioBreeze room-by-room ventilation, the Futura pairs the components of a zone by the same DIP switch setting (zone 1–8). Over Modbus it also provides an external sensor input for each of the 8 zones, so TapHome sensors — for example a wall switch with a built-in CO2 sensor — can supply the zone values. The direction is TapHome → Futura.
For each room:
Zone number — the DIP switch setting on the valve of that room (1–8). Use the zone devices with the same number.
Turn on Zone N – Sensor Present (in the app: Zona N - Přítomnost externích čidel).
Add a Smart Rule Formula for each zone value:
Zone N – CO2 (Zona N - CO2) = room CO2 sensor, in ppm
Zone N – Temperature (Zona N - Teplota) = room temperature, in °C
Zone N – Humidity (Zona N - vlhkost) = room humidity × 100
Set Ventilation Mode (Výkon větrání) to Automatic — levels 1–5 are manual fan levels.
TapHome stores humidity as a fraction (0–1), the Futura expects percent (0–100). Without × 100 in the formula, a humidity of 0.45 is written as 0 %.
Fill all three values of every zone with Sensor Present turned on. A zone device without a rule keeps the value 0 and TapHome writes it to the Futura — the zone then reports 0 °C and 0 %.
TapHome writes the current value of each zone device to the Futura on every poll. A zone device without a Smart Rule keeps the value 0, so the Futura receives 0 ppm, 0 °C or 0 %. Add a rule for every value of an active zone and keep Sensor Present off for zones that are not used. If only the humidity is 0, the formula is missing the × 100.
The Futura does not react to zone sensors
Ventilation Mode is set to Automatic — levels 1–5 are manual
Zone N – Sensor Present is turned on for that zone
The zone number used in TapHome matches the DIP switch setting on the zone’s valve
No Modbus communication
Verify the Ethernet cable is connected to the correct port on the Futura unit
Confirm the unit’s IP address — check the router’s DHCP lease table
Ensure TapHome Core and the Futura unit are on the same network/subnet
Check that no other Modbus TCP client is occupying the single available socket
Verify the firmware version meets the minimum requirement (L/M/S: FUA.P.06.71, L+: FLA.P.01.06)
Wrong template imported
The L/M/S and L+ models use different register address maps. If sensor values appear incorrect or communication errors occur, verify the correct template variant is imported for the installed unit model.
All enable switches report ILLEGAL_DATA_ADDRESS
If all seven enable switches of the L/M/S template (Time Program, Anti-Radon Protection, Bypass, Heating, Cooling, Comfort Heating, Auto Circulation) report ILLEGAL_DATA_ADDRESS at the same time, the Futura runs an older firmware. TapHome reads these switches in one request (HR:12–18), and an older firmware without HR:17 and HR:18 rejects the whole request. The Modbus interface requires at least FUA.P.06.71 (L/M/S).
Ask Jablotron to update the unit firmware. After the update the errors stop without any change in TapHome. Check the result in the module service attribute Firmware Version.
Partial register read errors
The firmware requires composite registers (uint32, int32) to be read in a single Modbus operation — a partial read returns ILLEGAL_DATA_ADDRESS. The standard TapHome template reads them in one operation. If ILLEGAL_DATA_ADDRESS appears on other devices, check the template variant and the firmware version (see above).
Available devices
Jablotron Futura L+Module
Service Attributes
Remaining Time [s]
Remaining Time [s]
Remaining Time [s]
Verze firmware
Verze registrové mapy
Varianta zařízení
Vnitřní topení je dostupné
Chlazení Coolbreeze je dostupné
Topení Coolbreeze je dostupné
Funkce bypass je dostupná
Napětí záložní baterie pro RTC [mV]
Jablotron Futura L,M,S
Read (module)
var Code := MODBUSR(A,16, UInt32);
IF (GETBIT(Code,0), ADDINFO(0,"Aktivní funkce Boost"));
IF (GETBIT(Code,1), ADDINFO(1,"Aktivní funkce Cirkulace"));
IF (GETBIT(Code,2), ADDINFO(2,"Aktivní časový program"));
IF (GETBIT(Code,3), ADDINFO(3,"Aktivní funkce Přetlak"));
IF (GETBIT(Code,4), ADDINFO(4,"Aktivní funkce Dovolená"));
IF (GETBIT(Code,5), ADDINFO(5,"Aktivní funkce Párty"));
IF (GETBIT(Code,6), ADDINFO(6,"Aktivní funkce Noční režim"));
IF (GETBIT(Code,7), ADDINFO(7,"Aktivní funkce Protiradonová ochrana"));
IF (GETBIT(Code,8), ADDINFO(8,"Zařízení je zapnuto, není v režimu snížené spotřeby"));
IF (GETBIT(Code,9), ADDINFO(9,"Probíhá kontrola filtrů"));
IF (GETBIT(Code,10), ADDINFO(10,"Probíhá vysoušení"));
IF (GETBIT(Code,11), ADDINFO(11,"Otevřený Bypass"));
IF (GETBIT(Code,12), ADDINFO(12,"Nízká venkovní teplota, omezená funkce větrání"));
IF (GETBIT(Code,13), ADDINFO(13,"Odstavení po chybě"));
IF (GETBIT(Code,14), ADDINFO(14,"Zařízení se spouští"));
IF (GETBIT(Code,15), ADDINFO(15,"Aktivní servisní režim"));
IF (GETBIT(Code,16), ADDINFO(16,"Teplota odpadního vzduchu < -3°C (splněna podmínka ochrany před zamrznutím)"));
IF (GETBIT(Code,17), ADDINFO(17,"Nouzové vypnutí"));
IF (GETBIT(Code,18), ADDINFO(18,"Nouzové vypnutí"));
IF (GETBIT(Code,19), ADDINFO(19,"Odměřování tlakové ztráty"));
IF (GETBIT(Code,20), ADDINFO(20,"Stand-by"));
IF (GETBIT(Code,21), ADDINFO(21,"Zónový boost"));
IF (GETBIT(Code,22), ADDINFO(22,"Odměřování tlakové ztráty zón"));
Code := MODBUSR(A,18, UInt32);
IF (GETBIT(Code,0), ADDERROR(0,"Chyba senzoru ambient"));
IF (GETBIT(Code,1), ADDERROR(1,"Chyba senzoru indoor"));
IF (GETBIT(Code,2), ADDERROR(2,"Chyba senzoru fresh"));
IF (GETBIT(Code,3), ADDERROR(3,"Chyba senzoru waste"));
IF (GETBIT(Code,4), ADDERROR(4,"Chyba přívodního ventilátoru"));
IF (GETBIT(Code,5), ADDERROR(5,"Chyba odtahového ventilátoru"));
IF (GETBIT(Code,6), ADDERROR(6,"Chyba komunikace s výměníkem"));
IF (GETBIT(Code,7), ADDERROR(7,"Chyba polohy klapek výměníku"));
IF (GETBIT(Code,8), ADDERROR(8,"Chyba komunikace s IO deskou"));
IF (GETBIT(Code,9), ADDERROR(9,"Zablokovaný přívodní ventilátor"));
IF (GETBIT(Code,10), ADDERROR(10,"Zablokovaný odtahový ventilátor"));
IF (GETBIT(Code,11), ADDERROR(11,"Chyba komunikace s Coolbreeze"));
IF (GETBIT(Code,12), ADDERROR(12,"Chyba venkovní jednotky Coolbreeze"));
Code := MODBUSR(A,20, UInt32);
IF (GETBIT(Code,0), ADDWARNING(0,"Neinicializovaný filtr"));
IF (GETBIT(Code,1), ADDWARNING(1,"Filtr je příliš zanesený"));
IF (GETBIT(Code,2), ADDWARNING(2,"Filtr se používá příliš dlouho"));
IF (GETBIT(Code,3), ADDWARNING(3,"Nízké napětí RTC baterie"));
IF (GETBIT(Code,4), ADDWARNING(4,"Příliš vysoké otáčky přívodního ventilátoru"));
IF (GETBIT(Code,5), ADDWARNING(5,"Příliš vysoké otáčky odtahového ventilátoru"));
IF (GETBIT(Code,8), ADDWARNING(8,"Příliš nízká venkovní teplota, omezená funkce větrání"));
IF (GETBIT(Code,9), ADDWARNING(9,"Nesprávná konfigurace zónového větrání - přívod"));
IF (GETBIT(Code,10), ADDWARNING(10,"Nesprávná konfigurace zónového větrání - odtah"));
IF (GETBIT(Code,11), ADDWARNING(11,"Nouzové vypnutí"));
IF (GETBIT(Code,12), ADDWARNING(12,"Chyba komunikace se SuperBreeze"));
IF (GETBIT(Code,13), ADDWARNING(13,"Obecná chyba SuperBreeze"));