EFDI

iso:11783:-10:device_description:protobuf - Teamset/EFDI Device Description

Definition

The message iso:11783:-10:device_description:protobuf is used to understand, which machine is attached to which CU or Virtual CU and which machine provides which DDI. EFDI Device Descriptions are protobuf encoded, the data structure however is mainly equal to the form of an ISO11783-10 TaskData.

The proto file definining the format can be found in our Github repository.

This format is used to report devices that are attached to the agrirouter through a CU. These devices including the CU are known as a teamset, having their own teamsetID.

The teamset ID should preferably be a GUID.

The CUs defining the teamset ID have to make sure that they define it one-to-one and, optionally, in a deterministic way in regards to the contents of the device_description.

This means that

  • every change, even a minor one, in the device_description has to lead to a change of the teamset ID (because it will potentially influence the way the respective timelogs have to be decoded) and

  • the same device_description should result in the same teamset ID

The teamset ID has to change, for example, when

  • it is determined by different CUs, even when the same machines are connected

  • another machine is being connected

  • the device description/DDOP of any machine changes for any reason (software update, configuration change…​)

  • the order in which a TaskController added machines changes; the following two cases have to produce different teamset IDs:

    • Machine A gets assigned DET-1, Machine B gets assigend DET-2

    • Machine B gets assigend DET-1, Machine A gets assigend DET-1

For information on filtering and assigning machines by their name, see ecosystem.

Command

Command

iso:11783:-10:device_description:protobuf

Protobuf Schema

agrirouter.technicalmessagetype.ISO11783_TaskData

TypeURL

types.agrirouter.com/efdi.ISO11783_TaskData

For the case of Device Description, only the property device needs to be filled!

Result

The result indicates if the teamset could be forwarded to an addressed endpoint or – if it was published – if there was a subscribed endpoint, who received the message. If no endpoint received the message, there will be an ACK_WITH_FAILURE

If a CU sends a teamset, applications are able to address messages directly to the devices. These messages are then delivered to the CU.

Frequency

In addition to the change-based sending of Device Descriptions described above, it would be beneficial to also send device descriptions

  • when the communication unit is powered on

  • at a regular interval between once per hour and once per day, depending on the use case and architecture of your solution

While not strictly technically necessary, these steps help in troubleshooting or automatic recovery in case any issues appear.

iso:11783:-10:time_log:protobuf - EFDI TimeLog

The EFDI timelog is comparable to IOSOXML Binary Log data.

The Message iso:11783:-10:time_log:protobuf includes a list of live telemetry data. For those live telemetry data, agrirouter is able to select only those DDIs to be forwarded to an endpoint that were selected by the end user when creating routings.

The proto file definining the format can be found in our Github repository.

EFDI Time Logs are as well comparable to ISO11783 TimeLogs.

Make sure that a timelog message never exceeds the limit of 1MB of data. If this should ever be the case in your app, split this message into multiple timelog messages.

Please note that the device description has to be sent every time before the machine starts sending live telemetry data to ensure that all other endpoints are able to update their formerly received device descriptions and new endpoints get the latest updates as well.

Command

Command

iso:11783:-10:time_log:protobuf

Protobuf Schema

agrirouter.technicalmessagetype.Timelog

TypeURL

types.agrirouter.com/efdi.TimeLog

Content of Telemetry messages

DDIs

Telematic sensor values are assigned to DDIs, a standardized list of possible sensor and task information. A full list can be found here: https://isobus.net.

The TimeLogs message includes a list of DDI numbers and their corresponding current values. The agrirouter can filter timelog messages for DDIs that are part of a routing. The DDI list provides a number area for proprietary DDIs that can have a specific definition for each manufacturer.

Categories

As the list of standardized DDIs is quite long (more than 530 by May 2018), agrirouter provides DDI categories, to simplify the routings setup for end users. Each category stands for multiple DDIs. One DDI can only be in one category.

An end user sets up routings using Categories.

The current List of Categories includes the following Categories:

No. Name Description

0

GPS Geo Position

GPS Geo-Position (North and East Coordinates) where the telemetry data was measured or logged.

1

Guidance and Geo Data

Data related to geographical and guidance information

2

Application Data

Data related what is applied to the field (e.g. fertilizer, seeds, plant protection, dry matter, …)

3

Crop and Yield Data

Properties of harvested material

4

General Work Data

Task and Lifetime Counter or average values (Counters that are not relevant for Application and or yield)

5

Fuel and Exhaust Fluid Consumption Data

Data related what a machine consumpt of fuel and Exhaust Fluid (Energy overall)

6

Process Data

Data related to the main working process of the machine

7

Machine Data

Data related to the machine characteristics (not process relevant)

8

Environment Data

Data related to the Environment (weather data)

9

Soil Data

Data related to soil conditions

10

Basic Data

Fundamental values that are relevant for the whole system

11

Machine Data (PGNs only)

Machine data related to PGN (Parameter Group Number); e.g. Hitch Position, PTO-Speed, etc.

12

Proprietary Data

Manufacturer specific data (not part of the standard)

The assignment of specific DDIs to groups can be found here

The categories list is only relevant for the UI of agrirouter, it is not used in the interface communication!