Capabilities

What we build, the platform under it, and the systems it speaks to

Six services written as the decision each one speeds up, the Asgharian Core modules they are assembled from, the 44 systems and protocols we connect, and the software that has shipped. Every one of them can start as a three-week sprint slice on your own data.

Services

Six things developers ask us for, written as the decision they speed up.

Each one lists what we build, the proof it produces, and the slice we would start with in a three-week sprint.

01 · Capacity and power modelling

Know what you can sell, today

Sales, design and operations usually hold three different numbers for the same hall. We build one live power tree from utility feed to rack, fed by the EPMS and the CRM, with redundancy topology and derating rules, so the number is the same in every meeting.

What we build

  • Power tree with N, N+1 and 2N derating and design-day ambient rules
  • Contracted, committed and drawn reconciled nightly and on contract change
  • Stranded capacity detection by PDU, row and tenant
  • Scenario solver for density changes, cooling upgrades and phased fit-outs
  • Lender and investor exports with a source link on every figure
02 · Construction and commissioning tooling

See the slip before the critical path does

Chillers and switchgear slip in vendor emails, not in the programme. Commissioning ends with a week of assembling PDFs. We build the tracker that models long-lead equipment against the commissioning sequence, and the system of record where scripts, witnesses and BMS trends land together.

What we build

  • Long-lead equipment tracker with vendor ETAs against the Cx sequence
  • Procore and Autodesk Construction Cloud sync, P6 programme import
  • Level 1 to Level 5 script library with pass criteria and sequencing
  • Offline field app for witnesses; trend capture from the BMS during every test
  • Handover package generated the day the last script passes
03 · BMS, EPMS and DCIM integration

One stream from every system on the floor

Every vendor system is good at its own category and silent about the others. We put outbound-only collectors inside the OT network that speak Modbus, BACnet, SNMP and OPC UA, and publish normalised points to a historian you own. Everything else we build sits on that stream.

What we build

  • Declarative collectors with device templates: PDUs, UPS, chillers, CRAC and CRAH units, generators, switchgear
  • Historian at one-second resolution with rollups and ten-year retention
  • Calculations defined once: PUE, WUE, derated capacity, SLA metrics
  • Store-and-forward when the network to the historian is down
  • Read-only by default; writes only behind signed capabilities and approvals
04 · Tenant and colocation portals

Tenants who answer their own questions

Four questions make up most tenant tickets: power, temperature, cross-connects and open requests. A portal that answers them from live data, with tenant-scoped access and your identity provider, turns the support queue into a self-service page.

What we build

  • Per-tenant power, environment and SLA views from the historian
  • Cross-connect, access and remote-hands requests with approvals
  • Invoice feeds and contract-aware capacity display
  • SSO and SCIM, white-label theming per campus or brand
  • Embeddable widgets for a portal you already have
05 · Data platforms and reporting

Reports a lender can trace to a meter

Investor packs, ESG returns and EU Energy Efficiency Directive submissions are assembled by hand every quarter from operator spreadsheets. We calculate them from meter data with a source link on every figure, so the number can be defended.

What we build

  • PUE, WUE and utilisation calculated from source points, versioned and backfilled
  • Warehouse exports to Snowflake, BigQuery, Parquet on S3 or Azure Blob
  • Certified datasets for Power BI and Tableau
  • Investor and lender packs generated on schedule, hashed and archived
  • Portfolio views across campuses and operators
06 · AI agents for operations

Alarms triaged, nothing written without approval

A NOC of six cannot read every trend on 140 sites. An agent can, and can explain what changed and propose an action. It does not touch a control system without a named approver, and every action writes a receipt the NOC can replay.

What we build

  • Unified alarm feed across BMS, EPMS and DCIM with agent context
  • Watch agents with read tools over the historian and write tools behind approval gates
  • Work-order drafting into ServiceNow or Maximo
  • Model-neutral: your subscription, your key, or an on-premises model
  • Tamper-evident ledger with content hashes and replay
Asgharian Core

The platform under every build.

Six modules we assemble from rather than start from scratch, and three answers about how they are deployed, secured and licensed. You get the source and a perpetual licence to the modules your build uses.

Collectors

Collectors are small services that speak the protocols on the floor and publish normalised points to the historian. Each collector is declared, not coded, so adding a new PDU model is a configuration change.

collector: epms-hall-b protocol: modbus-tcp targets: - host: 10.20.7.11   unit: 1   template: pdu/schneider-galaxy - host: 10.20.7.12   unit: 1   template: pdu/schneider-galaxy poll: 1s publish: telemetry.hall-b.epms quality: mark-stale-after 5s
  • Protocols: Modbus TCP and RTU, BACnet/IP, SNMP v2c and v3, OPC UA, MQTT, and REST adapters for vendor clouds
  • Templates for common PDUs, UPS, chillers, CRAC and CRAH units, generators and switchgear
  • Store-and-forward when the network to the historian is down
  • Read-only by default; writes require a signed capability and an approval policy
Collectors run inside your OT network. The only outbound connection is to the historian, over TLS, on a port you choose.

Historian

A time-series store built on TimescaleDB with point metadata, quality flags and a calculation layer. PUE, WUE, derated capacity and SLA metrics are defined once as calculations and reused everywhere.

CapabilityDetail
Resolution1-second raw, automatic 1-minute, 15-minute and hourly rollups
Retention10 years by default, tiered to object storage after 90 days
CalculationsDeclarative, versioned, backfilled when definitions change
AccessSQL, REST, and a streaming API for dashboards and agents
ExportsSnowflake, BigQuery, Parquet to S3 or Azure Blob

Capacity engine

The capacity engine holds the power tree from utility feed to rack, with redundancy topology and derating rules. It reconciles three numbers that usually live in three departments: contracted, committed and drawn.

tree: campus-north feeds:   [A: 40MW, B: 40MW]           topology: 2N ups:     [S1: 16MW, S2: 16MW]         derate: ambient-design-day 31C pdus:    from epms                      contracts: from crm solve:   nightly + on contract change outputs: stranded, headroom, scenario deltas, lender pack
  • Scenario solver for density changes, cooling upgrades and phased hall fit-outs
  • Stranded capacity detection by PDU, row and tenant
  • Investor and lender reporting with source links for every figure

Cx records

A system of record for Level 1 to Level 5 commissioning. Scripts are tagged to assets, witnesses sign on a field app that works offline, and the historian captures trends during each test so the evidence is data rather than a photo of a screen.

  • Script library with pass criteria, prerequisites and sequencing
  • Punch lists linked to scripts, assets and contractors
  • Handover package generated the day the last script passes
  • Templates for common CxA frameworks and tenant witness requirements

Portals

Three front ends on one API. Tenants see their power, environment, cross-connects and tickets. Investors see delivered capacity, utilisation and efficiency with drill-down to source. The NOC sees a unified alarm feed with agent context.

  • SSO with your identity provider, tenant-scoped data access
  • White-label theming per campus or brand
  • Embeddable widgets for existing customer portals

Agent runtime

An agent runtime for operations, built for OT caution. Agents get read tools over the historian and write tools only behind approval gates. Every action writes a receipt: what was read, what was proposed, who approved and what changed.

agent: noc-watch model: policy/ops        # your subscription or key, or a local model tools: read:  [historian.trend, alarms.list, cmms.search, contracts.read] write: [cmms.create_wo -> approval:noc, bms.clear_override -> approval:ops-lead] memory: shared/campus-north receipts: ledger + siem
  • Model-neutral: Anthropic, OpenAI, Google, Azure, or on-premises models
  • No write to a control system without a named approver
  • Tamper-evident ledger with content hashes and replay

Deployment

Asgharian Core runs on Kubernetes in your cloud account or on-premises. A single Helm chart deploys the historian, API and portals; collectors deploy as containers or Windows services near the equipment.

  • Reference deployments for Azure, AWS and client-managed clusters
  • Air-gapped installs with offline registries
  • Blue-green upgrades, tested against a replica of your data

Security

  • Network: collectors are outbound-only; no inbound ports in the OT network
  • Identity: SSO and SCIM, role-based access with tenant scoping
  • Data: encrypted in transit and at rest, EU-only regions available
  • Change: every write to a control system is approved, logged and reversible
  • Assurance: ISO 27001-aligned practices, SOC 2 readiness support for your audit

Licensing

Core modules are licensed per deployment with source access, included in squad and run engagements. There is no per-point or per-user metering. If we stop working together, the licence and the code stay with you.

Report security issues to security@asgharian.dev.

Give the system a job. Get the proof.

Every automated action leaves a receipt

Whether it is a commissioning script, a nightly capacity recalculation or an agent clearing a BMS override, the software we build writes a record of what it read, what it decided and who approved it. Auditors, tenants and insurers get evidence, not assurances.

  • Tamper-evident log with content hashes
  • Export to PDF handover packs, SIEM or your data warehouse
  • Replay any run with its original inputs
operating report · nightly-capacity-recalc · run 4821
02:00:00 trigger      cron nightly, campus-north02:00:01  epms.read    412 meters, 15-min intervals, 24h02:00:04  bms.read     CRAC and chiller trends, 24h02:00:05  crm.read     contracts changed since last run: 202:00:06  model.derate 2N, ambient 31 °C design day02:00:09  model.solve  contracted 26.2 MW, drawn 21.1 MW02:00:09 ! stranded    PDU B-07 at 95% for 20 min (tenant 12)02:00:10  report.pue   trailing 24h 1.21 (design 1.25)02:00:11  export.xlsx  lender pack, 14 sheets, hash 9f3a…02:00:11 approval     publish to investor portal? → ops lead07:42:18  approved     by m.walsh, published 11 steps · 0 errors · 1 warning · 4 sources read · receipt #4821 
Sources: EPMS, BMS, CRM, modelApproved by: ops leadDuration: 11 s, plus approval wait
Systems and protocols

Give your software hands in every system on site.

Forty-four systems and protocols we read from, write to, or both. Search it, or filter by category.

SE
BMSSchneider EcoStruxureBuilding Operation servers, BACnet and native APIs.
Si
BMSSiemens DesigoDesigo CC points, alarms and trend export.
Hw
BMSHoneywellEBI and Niagara-based sites.
JC
BMSJohnson Controls MetasysMetasys REST API and BACnet.
Ve
CoolingVertivLiebert CRAC, CRAH and chiller controllers.
St
CoolingStulzPrecision cooling units over Modbus and BACnet.
Tr
CoolingTrane and Carrier chillersChiller plant controllers and plant managers.
Ni
FrameworkTridium NiagaraNiagara 4 stations as a gateway to legacy devices.
EP
EPMSSchneider PowerLogic / IONMeters, switchgear and power quality data.
AB
EPMSABB AbilitySwitchgear and protection relay telemetry.
Ea
UPSEatonUPS, PDU and rack PDU fleets.
Ga
UPSSchneider GalaxyGalaxy UPS via Modbus and SNMP.
Cu
GeneratorsCummins and CaterpillarGenset controllers, fuel and run-hour data.
Ra
Rack PDURaritan and Server TechnologyPer-outlet power and environment sensors.
Mb
ProtocolModbus TCP / RTURegister maps templated per device family.
BN
ProtocolBACnet/IPDiscovery, COV subscriptions and trend logs.
SN
ProtocolSNMP v2c / v3Network and power devices with MIB templates.
OP
ProtocolOPC UASCADA and PLC data with security policies.
MQ
ProtocolMQTT / SparkplugEdge gateways and IoT sensors.
IE
ProtocolIEC 61850Substation automation and protection relays.
Nl
DCIMNlyteAsset, space and power records in sync.
Su
DCIMSunbird dcTrackAsset and connectivity data over its REST API.
EI
DCIMSchneider EcoStruxure ITDevice monitoring and alarms.
DR
ITDevice42 / NetBoxIT asset and IP management.
VM
ITVMware and KubernetesWorkload placement against power and cooling.
Pr
MonitoringPrometheus and GrafanaMetrics export and shared dashboards.
Pc
ConstructionProcoreSchedules, RFIs, submittals and daily logs.
AC
ConstructionAutodesk Construction CloudModels, issues and BIM 360 documents.
P6
SchedulingPrimavera P6 / MS ProjectProgramme import for milestone tracking.
Rv
DesignRevit / IFCAsset tags and locations from the model.
CA
DesignAutoCAD / BluebeamDrawings and markups linked to punch items.
Cx
CommissioningCxAlloy and Facility GridImport existing scripts and issues.
SN
ITSMServiceNowIncidents, changes and work orders.
Ma
CMMSIBM MaximoAssets, PM schedules and work orders.
Sf
CRMSalesforceContracts and committed capacity per tenant.
Hs
CRMHubSpotPipeline and tenant onboarding.
SA
ERPSAP and NetSuiteInvoicing feeds and asset registers.
Sl
CollaborationSlack and Microsoft TeamsApprovals and alerts where the NOC already is.
Az
CloudAzureAKS, Blob, Entra ID, EU regions.
AW
CloudAWSEKS, S3, IAM and PrivateLink.
K8
PlatformKubernetes on-premisesClient-managed and air-gapped clusters.
TS
DataTimescaleDB / PostgreSQLThe historian and application store.
Sn
DataSnowflake and BigQueryWarehouse exports for finance and ESG.
PB
BIPower BI and TableauCertified datasets over the historian.
Common pairings

What usually gets connected first

EPMS + CRM → capacity engine

Meters and contracts into one power tree. The first thing most developers ask for.

BMS + Procore → Cx records

Trend capture during tests, punch items linked to the construction schedule.

BMS + EPMS + CMMS → watch agent

Alarm triage with proposed work orders behind an approval gate.

Selected work

Software that shipped, on sites that went live.

Six engagements across hyperscale, colocation and edge. Client names are withheld under NDA; the numbers are theirs.

Hyperscale developer · capacity

Portfolio capacity model

Three campuses, forty spreadsheets and three different answers to “how much can we sell”. We built a live power tree fed by EPMS and the CRM, with 2N derating and a scenario solver.

  • Recovered 2.9 MW of stranded capacity in the first quarter
  • Lender pack generated nightly with source links on every figure
  • Sales, design and operations quote from one number
Capacity engineEPMSSalesforceSnowflake
capacity · portfolio
Stranded capacity by campus derated, 2N
Campus North
1.2 MW
Campus West
1.5 MW
Campus South
0.2 MW
Scenario: move tenant 12 GPU row to Hall C releases 0.9 MW in Hall B at no cooling change.Proposed
commissioning · hall 3 · handover
LevelScriptsPassedEvidence
L1 Factory8484Vendor certs
L2 Site arrival8484Photos, checklists
L3 Start-up212212BMS trends
L4 Functional9696Witnessed, trends
L5 IST3131Witnessed, load bank
Handover pack generated 14 min after IST-05.31 passed. 1,240 pages, 3 open punch items.Issued
Colocation operator · commissioning

Commissioning system of record

Commissioning ended with a week of assembling PDFs from contractors, CxA and the BMS. We built a system of record where scripts, witnesses and live trends land together.

  • Eleven days cut between L4 completion and tenant handover
  • Offline field app used by three contractors and the CxA
  • Trend capture during every test replaced screenshots as evidence
Cx recordsBACnetField app
Edge fleet · operations

NOC watch agent

140 unstaffed edge sites and a NOC of six. We built an agent that reads BMS and EPMS trends, explains what changed and drafts work orders, with no write to any control system without a named approver.

  • 62% of alarms triaged with a proposed action inside two minutes
  • Zero unapproved writes in twelve months of operation
  • Every action logged with a receipt the NOC can replay
Agent runtimeDCIMCMMS
operations · site 087 · agent: watch
Site 087 UPS on battery, utility lost 03:12.Critical
Watch agent
Utility loss confirmed by the meter. Generator started at 03:12:09 and is carrying 71% load; battery is recharging. No action needed now. Recommend: notify the utility, schedule a fuel top-up if outage exceeds 6 hours.
historian.trend site-087 · 30 min
⏳ cmms.create_wo fuel-top-up · waiting for NOC approval
COLOCATION OPERATOR

Tenant portal

Self-service power and environment views, cross-connect and access requests, invoice feeds. Support tickets dropped 41% in the first two quarters as tenants answered their own questions.

PortalsSSOServiceNow
HYPERSCALE DEVELOPER

Long-lead equipment tracker

Vendor ETAs, Procore milestones and the commissioning sequence in one model. A chiller slip was resequenced around before it reached the critical path, protecting nine days.

ConstructionProcoreBoard pack
INVESTOR

Portfolio efficiency reporting

PUE, WUE and EU Energy Efficiency Directive reporting for six campuses under different operators, calculated from meter data rather than operator submissions.

HistorianESGSnowflake
From clients

What developers and operators say

Printed as written. Roles are real; names are withheld at the client’s request.

“They understood what a 2N derate means before we finished the sentence. Three weeks in we had a live power tree that our lender now asks for by name.”
VD
VP DevelopmentHyperscale developer · 2026
“Commissioning used to end with a week of assembling PDFs. Now the handover pack is generated from the record the day IST passes.”
CX
Commissioning ManagerColocation operator · 2026
“The watch agent explains what changed and why, then waits for us. That approval gate is the reason our NOC trusted it in a month.”
HO
Head of OperationsEdge fleet operator · 2026

Start with the decision that is slowest today

Answer four questions and we will map your site to the modules, integrations and first slice we would build. It takes about a minute.