Basic Concepts of agrirouter
Ecosystem
The agrirouter ecosystem and the members of it are described in the chapter ecosystem.
Applications and App Instances
In each agrirouter account, there are different types of communication partners, which are called app instances:
The list of Application Types helps to find out which type of application you should create.
Endpoints
Each app instance communicates with its corresponding endpoint in the agrirouter.
For communication, it’s important to understand the elements of an endpoint.
Communication
To communicate with agrirouter, it’s important to understand the basics of communication
Messaging Workflow
The communication workflow describes which messages have to be sent to agrirouter to exchange information with the agrirouter endpoint.
start repeat if (Already connected?) then (No) :Wait for connection; if (Already onboarded?) then (Yes) else (No) :Execute onboarding process; endif else (Yes) endif if (Teamset new or changed?) then (Yes) :Send capabilities &\nteamset; else (No) endif if (Send or Receive?) then (Send) :Send\nmeasurements; else (Receive) if (Messages\nknown?) then (No) :Call for\nHeader List; :Poll for list\nin outbox; :Call for deletion of\nunneeded messages; else (Yes) endif :Call for\nmessages; :Poll for messages\nin outbox; :Confirm\nreceiving; endif repeat while ()
This workflow can be found in the chapter messaging workflows.
Message Exchange
The message exchange describes the exchange of messages between application instances over the agrirouter.
The basic concepts of message exchange are described in the concepts of message exchange. This chapter handles, for example, the concepts of addressing members of the ecosystem.
Life cycle
In general, the life cycle of an endpoint consists of 3 steps:
start partition #lightGrey Onboarding { if (Is your app a communication unit?) then (YES) :Get TAN from agrirouter UI; :Onboarding; else (NO) :Get TAN from authorization process; :Secured Onboarding; endif } partition #lightGrey "Communication" { repeat :Communicate with endpoint| if (Delete App Instance?) then (YES) partition "Revoking" { :Revoke; end } else (NO) endif repeat while (Certificate still valid?) is (YES) -> NO; :Restart Onboarding; }
Concept of a telemetry platform
When developing a telemetry platform, the concepts of a telemetry platform should be understood.