Repository navigation
Add GOPACS integration documentation - #14
Conversation
There was a problem hiding this comment.
Pull request overview
Adds high-level documentation for the EMS GOPACS integration, colocated with the GOPACS manager implementation, to address issue #10 and provide setup + developer orientation without duplicating upstream GOPACS docs.
Changes:
- Introduces
GOPACS.mddescribing GOPACS/UFTP context and linking to official GOPACS documentation. - Documents user setup requirements and OpenRemote manager configuration (env vars, asset setup).
- Summarizes internal components, message/data flow, inbound endpoint, auth/signing, and testing references.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
MartinaeyNL
left a comment
There was a problem hiding this comment.
Here are some of my findings of the GOPACS.md file you've created.
I don't have a lot of prior GOPACS knowledge, therefore I was able to assess "if people with less knowledge could understand this".
Please take a look at my comments, the ones from Copilot,
and I would recommend taking a second look yourself, to make sure everything is described correctly, and can be understood by people like me 👍
| |<─── 3. FlexOffer ─────────────────────────-| Sent after flex offer delay | ||
| | | (mirrors request, price EUR 0.00) | ||
| | | | ||
| |──── 4. FlexOfferResponse ─────────────────>| DSO accepts or rejects the offer |
There was a problem hiding this comment.
I assume it should be "We accept or reject the offer from the DSO" ?
Because, from my understanding, Step 3 sends an offer, and we can either reject/accept it by "responding" in Step 4.
Then in Step 5 we can "order" based on the offer that we agreed upon earlier.
And if I misunderstand this, then the docs are not clear enough 😂
There was a problem hiding this comment.
We send the offer, as AGR to the DSO. They accept/reject it by sending a FlexOfferResponse
There was a problem hiding this comment.
We send the offer, as
AGRto theDSO.
I have no clue what an AGR is. 😂
They accept/reject it by sending a
FlexOfferResponse
Wait, then the direction of the arrows in the diagram don't make sense right?
(if they send a Response, instead of us responding)
There was a problem hiding this comment.
it says it here:
OpenRemote acts as an AGR (Aggregator) in the UFTP protocol.
It starts with a FlexRequest from the DSO. We respond with a FlexRequestResponse
Then we send a FlexOffer to the DSO. They respond with a FlexOfferResponse
Then they send a FlexOrder and we respond back with a FlexOrderResponse
So I think the lines are correct. Maybe read it once again? #
There was a problem hiding this comment.
OOOHHH I've indeed read it the wrong way around.
I assumed that the left column was OpenRemote, and the right one the DSO.
Maybe because I tend to think from the perspective of the OpenRemote integration.
I think I understand it now.
There was a problem hiding this comment.
I was able to understand most of the documentation without much prior knowledge of GOPACS.
Although it might be worth taking a second look yourself @Miggets7 to make sure everything is described
correctly, and can be understood by people like me. 👍
Summary
GOPACS.mdfile alongside the GOPACS source code with high-level documentationResolves #10