Summary
Nuheat ThermostatPlatform Series cloud API. REST-based OpenAPI with OAuth2 authentication. Provides GET/PUT access to thermostats, groups, schedules, and energy logs. Supports SignalR-based change notifications.
Transport
protocols:
- http
addressing:
base_url: https://api.mynuheat.com/
auth:
type: oauth2
oauth2:
grant_types:
- implicit
- authorization_code
- hybrid
scopes:
- openapi
- openid
- profile
- offline_access
token_endpoint: https://identity.mynuheat.com/connect/token
authorization_endpoint: https://identity.mynuheat.com/connect/authorize
discovery_endpoint: https://identity.mynuheat.com/.well-known/openid-configuration
access_token_expiration: 3600 # 1 hour in seconds
refresh_token_expiration: 1296000 # 15 days in seconds
Traits
- queryable # inferred: GET endpoints return thermostat state
- levelable # inferred: SetPointTemp parameter present
Actions
- id: get_thermostat_list
label: Get Thermostat List
kind: query
params: []
- id: get_thermostat
label: Get Thermostat
kind: query
params:
- name: serialNumber
type: string
description: Thermostat serial number
- id: update_thermostat
label: Update Thermostat
kind: action
params:
- name: serialNumber
type: string
description: Thermostat serial number
- name: setPointTemp
type: integer
description: Target temperature (integer, units implied by device)
- name: scheduleMode
type: integer
description: "1=Auto, 2=Hold, 3=Permanent Hold"
- name: holdSetPointDateTime
type: string
description: ISO-8601 datetime for hold expiry (optional)
- id: get_groups
label: Get Groups
kind: query
params: []
- id: update_group
label: Update Group
kind: action
params:
- name: groupId
type: string
- id: get_schedules
label: Get Schedules
kind: query
params: []
- id: update_schedule
label: Update Schedule
kind: action
params:
- name: scheduleId
type: string
- id: get_account
label: Get Account
kind: query
params: []
- id: get_energy_log_day
label: Get Energy Log Day
kind: query
params:
- name: serialNumber
type: string
- name: date
type: string
description: "Date: yyyy-MM-dd"
- id: get_energy_log_week
label: Get Energy Log Week
kind: query
params:
- name: serialNumber
type: string
- name: date
type: string
description: "Date: yyyy-MM-dd"
- id: get_energy_log_month
label: Get Energy Log Month
kind: query
params:
- name: serialNumber
type: string
- name: year
type: integer
Feedbacks
- id: thermostat_state
type: object
properties:
- serialNumber: string
- setPointTemp: integer
- scheduleMode: integer
- holdSetPointDateTime: string
- id: energy_log_entry
type: object
properties:
- entry: string
- minutes: integer
- energyKWattHour: number
- chargeKWattHour: number
Variables
# UNRESOLVED: no discrete settable parameters other than thermostat state fields
Events
- id: change_notification
description: SignalR notification via /notificationsHost hub
properties:
- type: integer # 1=UserAccount, 2=Thermostat, 3=Schedule, 4=Group
- id: string
- timeStamp: string # ISO-8601 UTC
Macros
# UNRESOLVED: no multi-step macros described in source
Safety
confirmation_required_for: []
interlocks: []
# UNRESOLVED: no safety warnings or interlock procedures in source
Notes
Thermostat supports two operating modes: Auto (schedule-based) and Manual (direct setpoint). Auto mode has three sub-modes: Auto Schedule (1), Hold (2), Permanent Hold (3). Hold duration must be within 23 hours. All timestamps use ISO-8601 UTC format. Rate limits: 50 req/s, 750 req/30min, 20,000 req/12h, 250,000 req/7 days.
Provenance
source_domains:
- nuheat.com
source_urls:
- https://www.nuheat.com/products/thermostats/developer-api
retrieved_at: 2026-04-30T04:32:49.752Z
last_checked_at: 2026-06-02T22:12:46.760Z
Verification Summary
verdict: verified
checked_at: 2026-06-02T22:12:46.760Z
matched_actions: 11
action_count: 11
confidence: medium
summary: "All 11 spec actions traced to source (dip-safe re-verify). (6 unresolved item(s) noted in Known Gaps.)"
Known Gaps
- "local/RS-232 control not documented; cloud API only"
- "no discrete settable parameters other than thermostat state fields"
- "no multi-step macros described in source"
- "no safety warnings or interlock procedures in source"
- "physical serial/RS-232 control not documented"
- "voltage/power specifications not in source"
From the AI4AV catalog (https://ai4av.net) · ODbL-1.0