Documentation Index
Fetch the complete documentation index at: https://docs.nolongerevil.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
Thestructure bucket holds home-level settings that apply to all devices associated with a structure. It is the primary mechanism for eco (away) mode control.
Object key: structure.{structureId}Direction: Server → device only
The device never sends this bucket in PUT requests.
Fields
| Field | Type | Description |
|---|---|---|
manual_eco_all | boolean | Eco mode control — true activates eco immediately |
manual_eco_timestamp | integer | Unix timestamp in seconds of the eco change. Must be within 600s of device clock. |
away | boolean | Delayed eco trigger — device starts a timer and enters eco if uninterrupted |
name | string | Structure name |
devices | array | JSON array of device serial numbers |
country_code | string | ISO country code |
postal_code | string | Postal/ZIP code |
time_zone | object | Timezone information |
house_type | string | House type classification |
num_thermostats | string | Number of thermostats in the structure |
dr_reminder_enabled | boolean | Demand response reminders enabled |
Eco Mode
Enter Eco Mode
Setmanual_eco_all: true with a current manual_eco_timestamp:
away_temperature_high/away_temperature_low in the device bucket) and suspends schedule-based HVAC control.
Exit Eco Mode
Exiting eco requires sending three things together:manual_eco_all: false— clears eco (but subject to timestamp validation)away: false— alternate exit path (not validated by timestamp)eco.mode: "schedule"in device bucket — most reliable exit — no timestamp validation, applied unconditionally
away vs manual_eco_all
manual_eco_all | away | |
|---|---|---|
| Activation | Immediate | Delayed (device internal timer) |
| Timestamp validation | Yes (600s window) | true validated, false is not |
| Use case | Direct eco toggle (app button) | Occupancy-based automation |
| Schedule preconditioning | Blocked | Can end eco early |
manual_eco_all. For home/away automation, use away.
Delivering the Structure Bucket
The device does not subscribe to the structure bucket by default. Your server must actively include it in subscribe responses. Once the device receives a structure bucket, it remembers the structure key and includes it in subsequent subscribe requests. From that point on, structure updates flow through the normal subscribe mechanism. Include the structure bucket on every subscribe for paired devices, alongside the user bucket:Choosing the Structure Key
| Scenario | Structure key |
|---|---|
| Device is claimed (has an owner) | Derive from user/owner identity (e.g., structure.homeassistant) |
| Device is unclaimed | structure.default |
structure.