Rule Cookbook
Open-source, standards-first HVAC fault detection. Production rules are DataFusion SQL against the Arrow/Parquet historian. Recipes use generic Haystack / SQL roles (discharge-air-temp, outside-air-temp, fan-cmd, …) — portable across modeled sites.
Two catalogs (do not conflate):
| Catalog | Role |
|---|---|
DataFusion SQL — sql_rules/registry.yaml |
Production FDD in Open-FDD central (POST /api/fdd/run) |
Pandas — open_fdd.rules (pip install "open-fdd[oracle]") |
Oracle / docs / notebooks on PyPI |
Start here
Screen sensors first, then the two rule catalogs. Everything else in this section is under Cookbook reference.
| Guide | Content |
|---|---|
| SQL anomaly detection | First pass: Overview rolling Z-score screen + Lab tuners for SV-* / PID-HUNT-1 / WX-1 |
| Water & chiller FDD priority | #1009 research backlog — plant rules, roles, P0/P1/P2 gaps |
| DataFusion SQL cookbook | Full production SQL catalog |
| Pandas cookbook | Full pandas catalog, including FCU / zone_other |
| Cookbook reference | Taxonomy, schema, matrices, roadmap, macros, benchmarks, doc template, P0 catalog, and FCU / zone_other |
Anomaly & sensor quality (quick map)
| Surface | Rules / API | Tuners |
|---|---|---|
| Overview Anomaly screening (SQL) | POST /api/analytics/sql-anomaly |
window_rows, z_threshold, method (zscore|robust), transition_events |
| Lab / FDD run | SV-RANGE, SV-FLATLINE, SV-SPIKE, SV-STALE, SV-RATE, PID-HUNT-1, WX-1 |
Lab sliders from sql_rules/registry.yaml |
Details, defaults, and hub flag (OPENFDD_SQL_ANOMALY_SCREENING): SQL anomaly detection.
Reference
| Guide | Content |
|---|---|
| DataFusion SQL lifecycle | Rule API, workbench, confirm |
| Examples | Short illustrative queries |
| SQL rules → Haystack map | Every registry rule → Haystack tags / SQL roles |
UI: SQL FDD Rules (/sql-fdd) · Lab for tuners · FDD Plots for series overlays · Overview for the Z-score anomaly table.