Skip to main content

Overview

The device bucket is the most complex, with 239 registered fields. It contains a mixture of device telemetry (read-only), cloud-writable configuration, and special-purpose fields. Object key: device.{serial}
Direction: Bidirectional (with per-field restrictions)
Revision type: base_object_revision (unconditional)

Field Access Modes

Not all fields in the device bucket work the same way:
ModeCountServer can write?Description
Device-only113No — device overwritesHardware state, sensors, computed values
Cloud-writable103YesConfiguration the server can push
Special23VariesCustom processing paths (eco, HVAC capacities)
If you push a device-only field, the device compares it against its local value. If different, the device marks the field dirty and re-sends its own value in the next PUT — the device always wins. Accept these re-PUTs normally.

Key Read-Only Fields

These are the most important device-only fields. The server stores them (from device PUTs) but must not push them back.
FieldTypeDescription
current_temperaturefloatIndoor temperature in °C (note: actually in shared bucket)
current_humidityintegerRelative humidity (%)
backplate_temperaturefloatBackplate sensor temperature (°C)
battery_levelfloatBattery voltage level
has_fanbooleanFan wiring detected
has_humidifierbooleanHumidifier wiring detected
has_dehumidifierbooleanDehumidifier wiring detected
has_emer_heatbooleanEmergency/auxiliary heat wiring detected
has_hot_water_controlbooleanHot water system detected (UK/EU)
can_heatbooleanDevice can heat (actually in shared bucket)
can_coolbooleanDevice can cool (actually in shared bucket)
time_to_targetintegerEstimated seconds until target temperature
time_to_target_trainingstringTraining status: "ready", "training", or "not_ready"
error_codestringActive error code
serial_numberstringDevice serial number
current_versionstringFirmware version
model_versionstringHardware model
local_ipstringDevice IP on local network
mac_addressstringWiFi MAC address
leafbooleanNest Leaf icon displayed
auto_awayintegerOccupancy sensor: 0 = home, 1 = away

Cloud-Writable Fields

These fields accept server writes via subscribe responses. Push them inside the value object of a device.{serial} bucket.
FieldTypeDescription
away_temperature_highfloatUpper eco temperature (°C)
away_temperature_high_enabledbooleanEnable upper eco limit
away_temperature_lowfloatLower eco temperature (°C)
away_temperature_low_enabledbooleanEnable lower eco limit
temperature_scalestringDisplay unit: "F" or "C" (display only — data is always Celsius)
upper_safety_tempfloatUpper safety limit (°C)
upper_safety_temp_enabledbooleanEnable upper safety limit
lower_safety_tempfloatLower safety limit (°C)
lower_safety_temp_enabledbooleanEnable lower safety limit
FieldTypeDescription
fan_modestring"off", "auto", or "duty-cycle"
fan_timer_durationintegerFan timer length (seconds)
fan_timer_timeoutintegerFan timer end time (Unix timestamp) — set to 0 to stop
fan_duty_cycleintegerMinutes per hour for duty-cycle mode
fan_cooling_enabledbooleanAirwave — runs fan with AC coil residual cold
fan_duty_start_timeintegerFan schedule start (seconds from midnight)
fan_duty_end_timeintegerFan schedule end (seconds from midnight)
fan_schedule_speedstringFan speed during scheduled runs
FieldTypeDescription
temperature_lockbooleanEnable temperature lock
temperature_lock_pin_hashstringLock PIN hash
temperature_lock_high_tempfloatMax allowed temperature when locked (°C)
temperature_lock_low_tempfloatMin allowed temperature when locked (°C)
FieldTypeDescription
learning_modebooleanAuto-schedule learning enabled
schedule_learning_resetbooleanReset all learned schedule data
preconditioning_enabledbooleanStart heating/cooling before schedule transitions
max_nighttime_preconditioning_secondsintegerMax preconditioning duration at night
FieldTypeDescription
target_humidityfloatTarget humidity (%)
target_humidity_enabledbooleanEnable humidity targeting
auto_dehum_enabledbooleanAutomatic dehumidification
humidifier_typestringHumidifier type
dehumidifier_typestringDehumidifier type
FieldTypeDescription
dual_fuel_breakpointfloatTemperature below which aux heat activates (°C)
dual_fuel_selectedbooleanDual fuel mode active
heat_pump_aux_thresholdfloatAux heat lockout temperature (°C)
heat_pump_aux_threshold_enabledbooleanEnable aux heat threshold
heat_pump_comp_thresholdfloatCompressor lockout temperature (°C)
heat_pump_comp_threshold_enabledbooleanEnable compressor threshold
heatpump_savingsstring"max-savings", "balanced", or "max-comfort"
FieldTypeDescription
farsight_screenstringWhat the display shows on standby
should_wake_on_approachbooleanWake display when someone approaches
click_soundbooleanAudible click on dial turn
sunlight_correction_enabledbooleanCompensate for direct sunlight on sensor
radiant_control_enabledbooleanOptimize for radiant/underfloor heating
auto_away_enablebooleanEnable occupancy-based auto-away
home_away_inputbooleanEnable home/away feature globally

Safety Fields Behavior

When any safety-related field changes, the device forces four additional fields into its next PUT regardless of whether they changed: battery_level, safety_temp_activating_hvac, safety_state, safety_state_time Accept these extra fields in your normal merge process.