14. Application Programming Interface (API)ΒΆ
For GEISA applications to be interoperable across multiple hardware/device platforms, the GEISA specification establishes a well-defined set of APIs between the application and the device-specific portions of platform implementation. API Architecture discusses the mechanics of the API.
API Catalog Reference provides a simple catalog of all current APIs.
The GEISA API defines APIs for the following purposes:
-
Provides platform capabilities, including device type and available features (e.g., sensors, actuators, interfaces), etc.
-
Provides the current status of the platform, including runtime mode (e.g. Manufacturing, Unprovisioned, Normal, Test), communications status, power status (powered, outage), and resource availability.
-
Defines the common response status and error model used by GEISA request/response APIs that include
GeisaStatus. This model is distinct from the Platform/App Status notification API. -
Provides streaming metrology data at one-second intervals or better for applications that need to continuously monitor conditions, without consuming and analyzing waveform data directly.
-
Defines billing quantity payloads for meter-register-style summation and demand values using
GeisaBillingQuantities. Billing Data is distinct from the Instantaneous Data stream and from Waveform Data.This version defines the billing payload/profile structure and the platform-to-application Billing Data broadcast topic
geisa/api/billing/data.Note that this version of the specification does not define a Billing Data request/response transaction, historical query, or application-selected billing intervals.
-
Allows applications to communicate off-device via messaging or direct IP sockets.
-
Allows applications to obtain waveform frame metadata and to subscribe or unsubscribe to waveform data streams.
Other Metering Data
This includes specialized metering quantities that meters may record and that applications may request, but that are not so widely used as to be included in the Instantaneous Data transaction definition.
Note
Reserved for expansion and definition in a future version of the specification.
-
Allows authorized applications to query actuator status and request actuator control for platform-exposed actuators such as service switches, DER switches, and load-control relays.
-
Exposes sensor data such as temperature, humidity, location, seismic data, vibration, acceleration, and light / solar radiation. These are examples only; sensors are device/platform specific and other sensors may exist on a particular platform.
Event Data
Note
Reserved for expansion and definition in a future version of the specification.
System Messaging
Note
Reserved for expansion and definition in a future version of the specification.
-
Allows applications to communicate on-device via messaging between specific applications if permitted.
Note
Additional transaction sets may be added in future versions of the GEISA specification.