Skip to main content

Open-FDD

open-fdd: fault detection & analytics plugin for the Normal Framework

NF app CI Open-FDD Grok bot skills Security (ZAP, audit, gitleaks)

Online docs FDD Rule Cookbook — 77 SQL + 71 pandas, SI units Open-FDD on PyPI Quick start: install the NF app Normal Framework plugin ADR-014: Open-FDD as an NF plugin Open-FDD skills on Grok bot

Open-FDD is open-source fault detection and diagnostics (FDD) and retro-commissioning (RCx) for HVAC, packaged as a Normal Framework app. It runs on the building's NF edge box, reads the Haystack model and point history directly, and works on the local network or through the Normal Online portal.

  • 77 SQL fault rules for air handlers, VAVs, plant, boilers, heat pumps, meters and sensors, run hourly inside NF. Results are written back as tagged NF points and can be served on NF's BACnet server.
  • 60 retro-commissioning charts, CSV export, and an RDF model with a SPARQL query panel.
  • All calculations in SI units; the display can be imperial or SI.
  • No site-specific code: equipment and points are bound by Haystack tags and NF classes.

Editions

Open-FDD (nf-app/) Open-FDD Lite (lite/)
Hardware 2 GB+ (4 GB+ for PGlite, TimescaleDB on larger hosts) 1 GB, e.g. Raspberry Pi 3
Includes FDD engine, RCx charts, CSV export, SPARQL Dashboard, charts, weather, BACnet mirror
Deploy python3 scripts/nf/hooks/nf_app_sync.py --env <env> push nf-app/app.json ... push lite/app.json

Quick start

Try it without an NF box, using a synthetic two-site building:

node nf-app/dev/mock-nf.mjs
# open http://127.0.0.1:8765/api/v1/apps/static/open-fdd/

Install on an NF box (NF 3.10+): see the install guide.

Run the tests:

node --test nf-app/tests/*.test.mjs lite/tests/*.test.mjs
(cd nf-app && npm ci && npm run typecheck)
python3 -m pytest tests -q

Repository

Path Contents
nf-app/ Full edition: UI, hooks, rule packs, tests, mock NF
lite/ Lite edition
sql/fdd/ Fault rules (SQL), registry, role scales, tuning catalog
open_fdd/ PyPI package: pandas reference rules and NF agent tools
scripts/nf/ Build and deploy tooling
deploy/nf-caddy/ Optional Caddy front door
docs/ Documentation site
openfdd_agent_spec/ Guidance for AI coding agents

Python package

pip install open-fdd

Pandas versions of the fault rules plus command-line tools for working with NF data, reports and ECM analysis. The package is versioned separately from the NF app. See Python tools.

Support

Support this work

Donations fund ongoing development and independent security testing.

Donate $25 via PayPal Donate $50 via PayPal Donate $250 via PayPal Choose a custom PayPal donation amount

Questions and discussion: Discord.

License

MIT. See LICENSE and CHANGELOG.md.

Metadata

Release files for open-fdd 4.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for open-fdd 4.5.2
File Size Uploaded Provenance Actions
open_fdd-4.5.2.tar.gz 434.8 kB With provenance Details for open_fdd-4.5.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for open-fdd 4.5.2
File Interpreter ABI Platform Actions
open_fdd-4.5.2-py3-none-any.whl Python 3 none any Details for open_fdd-4.5.2-py3-none-any.whl

Total release size: 902.8 kB

Release files / open_fdd-4.5.2.tar.gz

Download URL open_fdd-4.5.2.tar.gz
Size 434.8 kB
Tags Source
SHA-256 checksum
How to use checksums
28a8999d96aa9ef8363926d65e0caf0f78ce9dd59dffe0c32d9d5420a89ebad1
BLAKE2b-256 checksum
How to use checksums
f1047a0dc897d3e625925cfc34586291707ebe5562ab12327d1b1239a4a8c8b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Release files / open_fdd-4.5.2-py3-none-any.whl

Download URL open_fdd-4.5.2-py3-none-any.whl
Size 468.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6f3cf2c9a4ff152f7a97bde011a88bdb69e1d29d77339d58c0667b8cf7bde6e1
BLAKE2b-256 checksum
How to use checksums
1f7fe74e975f108d77e943d2c5ca1dd3d64f83ec045b3eebe872a2ea7de60c7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

Security for open-fdd 4.5.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for open_fdd-4.5.2.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 7, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

4.5.2 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page