Help: understand the learning lab
Start with SC-01 → SC-03 → SC-05. You act as a fictional Aggregator Client, inspecting exchanges that software normally handles. This help explains the implemented v1.2 teaching subset, not a complete CSIP-Aus implementation.
The logical model: people, resources and relationships
A resource is something identified by a URI. Its XML representation describes values and links. A list can include representations of its members. These relationships form a graph, not a folder tree.
Example Grid / DSO maintains the fictional Utility Server.
Example Aggregator is the client. Its management EndDevice is separate from customer-site EndDevices.
DeviceCapability → EndDeviceList → site EndDevice
site EndDevice → ConnectionPoint and DERList → primary DER → capability / settings / status
site EndDevice → FunctionSetAssignments → DERProgramList → shared DERProgram → default / scheduled / active controls
- Fictional parties and roles
- Example Grid and Example Aggregator are fictional parties. Their roles explain who sends a request or administers resources.
- EndDevice and ConnectionPoint
- A site EndDevice supplies a protocol identity. Its ConnectionPoint identifies a fictional electrical connection. DEMO-CP identifiers are not real NMIs. Registration does not prove commissioning or approval to operate.
- DER
- Distributed Energy Resource. Each tutorial site has one primary DER. Capability describes what is reported as supported, settings describe configured values, and the limited status view is not telemetry or execution proof.
- FSA and DERProgram
- FunctionSetAssignments exposes program lists. This lab uses FSA1 for topology-based programs and FSA2 for other programs. These are teaching labels. Several sites can reference the same DERProgram; it is not copied into each site. FSA order gives no implicit priority.
- Control and default
- A DERControl has timing and status; a DefaultDERControl supplies a configured default. Publication, client discovery, an active interval and physical execution are different. General control arbitration and actual execution are outside this lab.
The overview above is a teaching map. It does not give the Aggregator unseen data. Only successful simulated retrievals and accepted Notifications add received knowledge.
REST, HTTP, XML and HATEOAS
REST means Representational State Transfer. It is an architectural style for interacting with resources through representations and a uniform interface. REST is not defined by XML. This CSIP-Aus teaching subset uses simulated HTTPS operations and XML resource representations.
HATEOAS means Hypermedia As The Engine Of Application State. Here, begin at DeviceCapability and discover the next targets from returned links. Follow the advertised href instead of constructing paths from device IDs. Paths in this help are fictional examples, not mandated server URLs.
| Method | Meaning | In this lab |
|---|---|---|
| GET | Read a resource representation. | Send GET, follow returned links, refresh or poll a known target. Viewing cached XML or expanding an included item sends no new request. |
| POST | Ask the target to process a supplied body. | Explicit forms create an EndDevice or Subscription, or perform the historical ConnectionPoint association teaching operation. A Utility Server also POSTs a Notification to the fictional Aggregator callback. |
| PUT | Replace the target’s representation with supplied content. | Explicit forms report DERCapability or replace the complete supported DERSettings fields. It is not a partial update. |
| DELETE | Remove the target’s current representation. | Explicitly delete an existing Subscription. Other resource deletion is not offered. |
| PATCH, HEAD, OPTIONS | Other HTTP methods with distinct semantics. | Not offered as simulated operations in this bounded lab. No PATCH or arbitrary method selector. |
A returned link supplies a URI and relationship. Resource type, profile rules, identity and implemented operation determine whether a write is allowed. Clicking a returned-resource link here performs GET, never an automatic POST, PUT or DELETE. Write forms require explicit preview and send steps; a Location header can identify a resource to retrieve afterwards.
A successful write can return 201 Created with Location or 204 No Content, without an XML response body. Retrieve explicitly to learn the representation. A Notification receipt is not proof that a DER executed a control. DSO administration, clock controls and browser storage are separate from simulated HTTP.
Human View adds labels, units and expandable items to the received data. XML shows the recorded representation; HTTP Details shows the method, target, status and headers. Teaching explanations sit outside the returned body. No real request is sent to utility.example or aggregator.example.
The ConnectionPoint POST example deliberately follows historical reference behaviour, not a universal CSIP-Aus permission. XML is illustrative and checked against pinned reference models; matching normative XSD validation and conformance are not claimed.
Read an exchange
1. Operation / request
Aggregator → Utility Server
GET https://utility.example/edev?s=1&l=1Read one page of the discovered EndDeviceList. No request body.
2. Response
200 OKContent-Type: application/sep+xml
EndDeviceList · all=6 · results=1
Demo Site 01 · /edev/1
DERListLink → /edev/1/derFunctionSetAssignmentsListLink → /edev/1/fsa
Expanding an included item reads the same response. Following its returned link sends a new GET. A link is an address, not the linked resource’s contents or permission to write.
The request bar describes the next GET. The response’s recorded operation identifies what actually produced that snapshot, which may be an earlier GET, a write acknowledgement or a separately labelled client-knowledge projection. Your real browser address identifies the learning page, not the simulated Utility Server.
Does the virtual clock need to run?
No. Keep it paused while reading, discovering resources or preparing a write. Manual requests still work while paused. The clock is fictional UTC scenario time, independent of your computer’s clock.
- Step advances one virtual second. Advance 60 seconds advances a minute.
- Next scheduled event advances to the next scheduled boundary, poll or delivery; it can report that none is scheduled.
- Play advances time in the active visible tab. Use it to watch intervals, enabled polling and pending Notification deliveries or retries.
- Reload and hidden tabs pause playback. There is no elapsed-wall-time catch-up. Saved practice resumes paused.
- Advancing time may run explicitly enabled scheduled GETs or pending deliveries. A server-side change alone does not refresh the client cache.
- Time-bearing XML previews become invalid when time advances. Pause, preview again, then send.
Collapse clock controls to gain reading space. Collapsing only changes the display; it does not pause playback, clear schedules or change practice. Time, playback status and Play/Pause stay visible. Reset scenario is a separate confirmed action.
Save, leave and continue
Successful actions save automatically in this browser’s IndexedDB. Reload resumes the same tab’s retained practice. Home and Help do not reset it. A new tab starts independently; Continue saved practice lists compatible, unexpired practices and opens another as an independent paused copy while preserving the original.
Practices expire after 24 hours of inactivity. Devices and browser profiles do not synchronise. Clearing browser storage removes local data. Lesson-completion badges record past completion separately from the current lesson’s evidence. If a save fails, read the error and retry; the interface must not claim the failed change was saved.
Fictional inputs only. No real NMIs, credentials or operational data. Full commissioning, measured export, real certificates, effective-control arbitration and shared rooms remain outside the delivered subset.
Help and documentation serve different needs
This public Help is for using and understanding the lab. The homepage’s Documentation links lead to official references and the project’s technical evidence; project repository documents require authorised GitHub access.
Primary background: Fielding’s REST architecture, HTTP method semantics, RFC 9110, and official CSIP-Aus v1.2 Explainer. Original explanations, not reproduced standards text.