Repository navigation
Codebase Mapping
wiki-publish edited this page Jul 18, 2026
·
6 revisions
How Guide V1.00 maps onto scrypted-aprilaire.
Scrypted (DeviceProvider)
└── AprilairePlugin multi-stat ODT/hold sync, discovery
└── Device classes Thermostat / Humidifier / Dehumidifier / OutdoorThermometer
└── AprilaireClient + AprilaireSocket TCP, CRC, parse
└── FunctionalDomain*.ts request/response codecs
| Area | Source |
|---|---|
| Entry | src/main.ts |
| Plugin | src/AprilairePlugin.ts |
| TCP / CRC / enums / temp | src/AprilaireClient.ts |
| Devices |
src/AprilaireThermostat*.ts, Humidifier, Dehumidifier, OutdoorThermometer |
| Protocol codecs |
src/FunctionalDomain*.ts, BasePayloadRequest/Response.ts
|
| Tests (guide oracle) | tests/ |
| Debug proxy | tools/aprilaire-proxy/ |
| Domain / feature | Status |
|---|---|
| Frame, CRC, actions | Implemented |
| Temp encode/decode | Implemented (P0) |
| Control setpoints/mode, hum/dehum, IAQ available | Implemented |
| Fresh air / air cleaning | Parse only |
| Increment setpoint | Missing |
| Schedule hold / heat blast / away codecs | Implemented; hold UX partial |
| Schedule settings / day | Missing |
| COS write + Sync | Implemented |
| NACK parse | Implemented; auto-retry queue missing |
| Sensors controlling + written ODT | Implemented |
| Support modules | Missing |
| Alerts parse | Partial product surface |
| Identification | Implemented (name attr 0x05) |
| Date/time | Missing |
| Lockout / messaging / display | Stubs |
| Deadband enforcement | Missing |
| TCP sticky reassembly | Missing |
| Series | Typical port |
|---|---|
| 8800 Wi‑Fi (guide) | 8000 |
| 6000-series (community) | 7000 |
npm testTests assert guide-correct behavior (attribute numbers, temperature bits, hold layout, NACK policy). See tests/README.md.
Protocol reference for scrypted-aprilaire · Validate codecs with npm test