Network Thermostat Module
The Network Thermostat module on Aida Controller brings Network Thermostat (NetX) BACnet/IP thermostats into your building as first-class HVAC devices. You can discover and adopt units on the LAN, poll live space temperature and humidity, and control setpoint, system mode, and fan from Control, Device Detail, schedules, and event redirection — using the same ControlEvent path as lights and shades (thermostat:* / fan:*).
:::info Version requirement Network Thermostat requires Aida Controller 2.0 v2.12.0 or later. :::
:::note Shared BACnet scan NetX and O3 Sense both use BACnet/IP discovery. NetX is adopted as HVAC; O3 stays a sensor. Reclaiming an IP that previously hosted an O3 (or emulator) clears leftover O3 identity so the thermostat is not mis-identified. :::
Overview
This module provides:
- Network discovery — find NetX thermostats on the LAN from Device Discovery (or identify/adopt by IP on the module page), then assign a group
- Live poll — space temperature, optional humidity, heat/cool setpoints, mode, fan, and equipment status
- Thermostat control — setpoint (C/F), heat / cool / auto / off, and fan on / off / auto via ControlEvents
- Config templates —
NETWORK_THERMOSTATdefaults and software HVAC policy (mot / vac / on / off / up / down / s1–s3) - Schedules & redirection — thermostat and fan action types (not lighting dim)
- Resources & zones — whole-device
hvac/thermostatplus discovered humidity ashvac/sensors/humidityfor optional group overrides; facility HVAC zone type for climate areas
Operator work happens on the controller UI (Modules → Network Thermostat). Discovery runs from Commissioning → Device Discovery or the module’s identify/adopt flow.
How it works
| Role | Who | Notes |
|---|---|---|
| NetX | BACnet server on the thermostat | Object map for setpoints, mode, fan, sensors |
| Aida module | BACnet client | Who-Is / identify, ReadProperty poll, WriteProperty for control |
| BACnet/IP Server module | Separate northbound server for lighting clusters | Do not conflate with NetX client traffic |
Prerequisites
Before enabling Network Thermostat, ensure you have:
- Aida Controller 2.0 v2.12.0+
- At least one NetX thermostat (for example X5 / X7 Ethernet or Wi‑Fi) on BACnet/IP on the same subnet (or reachable via your BACnet routing design)
- Groups (and optionally facility floors / HVAC zones) so adopted devices have a place in the building model
- Operator access to enable modules, run discovery, and manage devices
:::tip UDP 47808 Confirm nothing blocks BACnet/IP (UDP 47808) between the controller and the thermostat. NetX is IP only for this module — not BACnet Ethernet L2. :::
Setup process
Step 1: Enable the module
- Open the controller UI and go to Modules.
- Open Network Thermostat.
- Toggle the module Enabled.
When the module is off, NetX poll and write workers stop. Existing state remains visible but goes stale until you turn it back on.
Step 2: Prepare the thermostat
- Power the NetX and confirm it is on the building IP network.
- Confirm BACnet/IP is enabled on the device (vendor setup / BACnet tools as needed).
- Note the IP address if you plan to identify or adopt manually.
Step 3: Discover and adopt
- Go to Commissioning → Device Discovery, or use identify/adopt on Modules → Network Thermostat.
- Run a BACnet scan (or enter a known address for identify).
- Review candidates tagged as Network Thermostat / NetX. O3 and other BACnet equipment are not auto-adopted into this module.
- Adopt each thermostat: clear name, optional serial / instance, and assign a group.
Step 4: Apply a configuration template (optional)
- Under Commissioning → Configuration, create or edit a NETWORK_THERMOSTAT template.
- Set defaults.unit (C or F), default HVAC mode, fan, and setpoints.
- On the Policy tab, map mot / vac / on / off / up / down / s1–s3 rows to thermostat actions as needed.
- Assign the template to the device or its group and apply.
Software HVAC policy runs through the same ControlGateway path as Control Events (not a separate vendor fork).
Step 5: Verify
- Open the device’s Detail page — confirm space temperature, setpoint, mode, fan, and humidity (when the thermostat reports it).
- Use the Thermostat widget to change setpoint or mode; confirm the device follows after the write.
- On Control, select the HVAC group — you should see the thermostat widget (not standard lighting events).
- Open Resources on the device to see
hvac/thermostatand, when discovered, humidity for optional group assignment. - Optionally create a facility zone with type HVAC and link climate devices for monitors / energy indoor temperature.
Using the module day to day
Device Detail
| Area | What you see / do |
|---|---|
| State | Space temp, setpoint, mode, fan, decoded equipment (idle / heating / cooling / fan / off), humidity when capable |
| Control | Thermostat widget — level (C/F), mode, fan via /control/events |
| Resources | Thermostat resource; humidity peripheral when present |
| Config | Applied template parameters and match status |
Control, schedules, and redirection
| Surface | Behavior |
|---|---|
| Operations → Control | Thermostat section for HVAC targets; Policy Events when a template is applied |
| Schedules | Thermostat setpoint, mode, fan, and composite thermostat actions |
| Event redirection | Same HVAC action types as schedule targets |
Do not use lighting dim / light:level for thermostats.
Monitoring and troubleshooting
Common issues
Scan finds nothing
- Confirm the Network Thermostat module is Enabled.
- Confirm the unit is on BACnet/IP and reachable on UDP 47808.
- Confirm the controller and thermostat are on the same subnet (or that BBMD / foreign-device settings match your design).
Adopted but values stay blank
- Wait one poll interval, then use the module’s force read / poll if available.
- Confirm the BACnet object map matches the thermostat model (X5 / X7 family).
Setpoint write does not stick
- Confirm mode is not off if your site expects active heat/cool tracking.
- Confirm the device accepts WriteProperty for the mapped setpoint objects.
- Refresh Device Detail — presentation uses stored setpoint, not space temperature as a substitute.
Humidity missing
- Not all NetX units expose humidity. When present, a successful poll discovers
SENSOR_HUMIDITYand lists it under Resources.
Confused with O3 on the same IP
- NetX reclaim clears stale O3 markers. Prefer adopting NetX after the previous device is gone; do not run an O3 emulator and a NetX emulator on the same address during lab tests.
Module disabled
- Expected: NetX poll/write stops; ControlEvents for NetX capability are filtered or no-op. Re-enable under Modules → Network Thermostat.
Related documentation
- Aida Controller overview — install and architecture
- O3 Sense — peer BACnet/IP sensor module (separate adopt path)
- BACnet/IP — northbound lighting aggregates for a BMS
- Facility — floors and typed zones (including HVAC)
- Commissioning — discovery, groups, and configuration templates