After working with a few different BAS platforms, I wanted to understand the parts I'd never normally get to touch — the protocol layer, the alarm engine, the scheduler internals. Building one from scratch seemed like the best way to learn. OpenCrate is that project.
BACnet/IP, BACnet/SC, MS/TP, Modbus TCP/RTU. Auto-discovery, COV subscriptions, priority writes, block reads.
High/low limit, deadband, intrinsic alarms. Route notifications to email, SMS, or webhooks. Shelving for maintenance windows. Escalation tiers.
Weekly schedules with exception overrides. Syncs to and from BACnet Schedule objects on controllers. Calendar support for holidays.
Interval and COV history collection with auto-downsampling across four storage tiers. Backfill from BACnet TrendLogs. Export to CSV.
A visual block editor that compiles to scripts. PID loops, timers, math blocks, comparisons. Wire them together and hit run.
Auto-generates a checklist for every device. Verify reads, writes, alarms, and schedules point by point. Sign off when you're done. Full audit trail.
Publish live data to MQTT brokers for Grafana, InfluxDB, or Home Assistant. Scheduled HTML reports for energy, alarms, comfort, and runtime.
User accounts with admin, operator, and viewer roles. Every write, acknowledgment, and config change gets logged.
ProtocolDriver trait for adding moreGetting close to a first public release. If you'd like to know when it's available, leave your email below.
No spam. One email when it ships.