FSV explainer
Field Service Variables (FSVs) are Samsung’s installer-menu parameters. They control how the heat pump behaves in the long run — heating curves, DHW targets, defrost thresholds, anti-legionella schedules, zone configuration, etc.
On the wired remote you reach them by holding the menu button for a few seconds and entering a four-digit code. They’re not part of the daily-use interface for a reason — getting them wrong can detune your system or, in extreme cases, damage flooring (e.g. setting WL1 maximum flow temp too high on underfloor heating) or fail to keep the cylinder hot enough to prevent legionella.
HeatSync reads FSVs but only writes one of them.
What HeatSync exposes
Section titled “What HeatSync exposes”The /fsv page in the device’s web UI lists the FSV registers
HeatSync recognises, grouped by subsystem (Heating curve, Cooling curve,
DHW, etc.) with current values pulled from the bus.
Each row has a plain-English explainer clicking to expand — “what does this actually do, when would you change it, what’s the typical range, what happens if you get it wrong?”
Why are some values blank?
Section titled “Why are some values blank?”Samsung’s NASA bus doesn’t broadcast FSV values continuously — they’re “set once at install, read on demand”. They only hit the wire when:
- Someone opens the FSV menu on the wired remote, which makes the remote query each value (and the unit responds).
- A device explicitly requests them.
HeatSync covers (2) with an FSV poller that walks the catalogue
once when you load the /fsv page, sending one Read request every
~250 ms. By the time you’ve scrolled the page the values are filling
in.
A row that remains blank after a full poll cycle has one of three causes:
- The register is not implemented on this model or firmware revision.
- The unit failed to respond to a Read request (transient).
- The register is maintained on the F3/F4 bus and is not broadcast on F1/F2 at all. See below.
F1/F2 and F3/F4
Section titled “F1/F2 and F3/F4”Samsung NASA heat pumps use two physically separate RS-485 buses:
| Bus | Line rate | DC bias | Endpoints | Traffic |
|---|---|---|---|---|
| F1 / F2 | 9600, 8E1 | None (pure differential) | Indoor ↔ outdoor unit (and additional indoors in multi-zone systems) | Operational telemetry — compressor frequency, valve state, defrost coordination, error codes, sensor readings |
| F3 / F4 | 9600, 8E1 (on the MWR-WW10N) | 12 V DC powers the wired remote | Wired remote ↔ indoor PCB | User and installer configuration — setpoints, schedules, FSV installer-menu values, room-temperature feedback to the remote’s display |
HeatSync currently taps F1/F2 only — full visibility of operating state, partial visibility of configuration. We’re actively experimenting with a second RS-485 transceiver wired to F3/F4 (see Hardware → A note on F1/F2 vs F3/F4); once that lands the FSV clusters described below should become fully addressable. Until then, the F3/F4-only registers stay read-only via the wired remote’s installer menu.
Empirical testing on an AE120BXYDEG indoor unit confirms that the
heating-curve bound registers (FSV2011-2032, addresses 0x4254-0x4259)
and the DHW hysteresis cluster (FSV3021-3023, addresses 0x4260-0x4262)
do not broadcast on F1/F2 in response to Read requests from any source
address class tested (0x10 outdoor, 0x20 indoor, 0x40 RMC, 0x50
wired remote, 0x60 on/off controller, 0x62 Wi-Fi kit, 0x65
central controller, 0x6A DMS, 0x80 JIG tester). The indoor PCB
stores these values but communicates them only over F3/F4. Behaviour
on other firmware revisions may differ.
Rationale for the split
Section titled “Rationale for the split”The architectural separation is consistent across HVAC manufacturers (Daikin, Mitsubishi, LG use similar designs). Three motivations:
- Responsibility separation: F1/F2 carries real-time control traffic (compressor protection, defrost coordination). F3/F4 carries configuration changes at human pace. Keeping them apart prevents user-interface traffic from contending with control messages.
- Trust model: F3/F4 has a single trusted master (the wired remote), so the indoor PCB can accept writes without per-source filtering. F1/F2 is multi-drop with potentially many peers, so the PCB applies access controls.
- Cabling: F1/F2 runs alongside refrigerant pipes between indoor and outdoor units, through environments with compressor EMI. F3/F4 is a short interior cable to the wired remote. The baud-rate and cable-specification choices reflect these environments.
Tapping F3/F4
Section titled “Tapping F3/F4”A future hardware revision is planned to add a second RS-485 transceiver wired to F3/F4. Doing so requires:
- A second transceiver IC (e.g. a second M5 Atomic RS485 Base, or any MAX485-style transceiver)
- A spare UART on the controller (UART1 on the Atom S3 Lite is available alongside the existing UART2-on-F1/F2 setup)
- Physical access to the wired remote’s F3/F4 terminals
Tapping F3/F4 would extend HeatSync’s read coverage to the silent FSV clusters listed above, and permit writes to settings that are otherwise only changeable by entering the installer PIN on the wired remote.
Writable FSVs
Section titled “Writable FSVs”Only one FSV is writable from HeatSync:
Water-law offset (0x4248)
Section titled “Water-law offset (0x4248)”This is the ±5 °C dial on the wired remote — Samsung’s officially sanctioned way to tweak the heating curve without re-engineering it.
Drop it −1 °C during peak grid hours to cut demand; raise it +1 °C overnight on cheap rates to over-charge the building’s thermal mass. Adjustment range is ±5 °C in 0.5 °C steps, enforced both by the Samsung firmware and by HeatSync’s API.
Write it from the /config page or via:
curl -X POST 'http://heatsync.local/api/control/water-law-offset?value=-1.0' \ -b cookies.txtWhy we don’t write other FSVs
Section titled “Why we don’t write other FSVs”Several FSVs carry significant risk when set incorrectly:
- FSV2021 (WL1 max flow temp) — set too high on underfloor heating and you can damage the flooring.
- FSV2061 (cooling WL1 max) — set too low and you can cause condensation/dew in the heating loop.
- FSV3041 (anti-legionella mode) — disabling this without understanding what it does is a legionella risk.
- FSV4011 (DHW max) — uppers the temperature ceiling; over the cylinder’s design temp will reduce its lifespan.
These are installer-set parameters — they reflect choices about the heat-emitter system (underfloor / radiator / fan-coil) and the cylinder’s design temperature. Exposing them as a remote-writable API would invite remote automation errors with hardware consequences, so HeatSync requires them to be changed via the wired remote.
What the /fsv page is for
Section titled “What the /fsv page is for”The page serves three purposes:
- Audit — confirms the values commissioned by the installer against the project specification.
- Reference — annotates each register with its plain-English meaning, typical range, and the situation in which an installer would adjust it.
- Diagnostic — when a behaviour appears wrong (e.g. excessive defrost cycling, slow DHW recovery), the relevant FSV values can be compared against the manufacturer’s recommended ranges.
The catalogue
Section titled “The catalogue”The FSV catalogue covers ~60 registers across Heating curve, Cooling
curve, DHW, FSV3xxx and FSV5xxx ranges. See the /fsv page on the
device for the full list with live values — it’s the one place where
data + documentation + live state combine.