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.0

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.0
File Size Uploaded Provenance Actions
open_fdd-4.5.0.tar.gz 428.6 kB With provenance Details for open_fdd-4.5.0.tar.gz

Built distribution (wheel)

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

Total release size: 891.4 kB

Release files / open_fdd-4.5.0.tar.gz

Download URL open_fdd-4.5.0.tar.gz
Size 428.6 kB
Tags Source
SHA-256 checksum
How to use checksums
01ba751680057ecde8d54d2d98dbfa38d1fb5f5364646886050aaa093010298d
BLAKE2b-256 checksum
How to use checksums
8d9c00f2fa350063869f501744a6d4291dc1b47d88faa01cc4793de2881f656b
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.0-py3-none-any.whl

Download URL open_fdd-4.5.0-py3-none-any.whl
Size 462.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c3c938e62d45e3f45e150caba43f707f2a445483f0bd1cf7a1986786629865d5
BLAKE2b-256 checksum
How to use checksums
9aba7d05ee6aa0d3c1a58d1991cc53f15e45d7fa03e30217c92eb4c516c13f6c
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.0

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.0.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.0 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