Skip to content

Commit

Permalink
0.57
Browse files Browse the repository at this point in the history
  • Loading branch information
wbouvy committed Sep 10, 2020
1 parent bd3ab83 commit db362de
Show file tree
Hide file tree
Showing 2 changed files with 105 additions and 1 deletion.
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# Changelog Hiber API

### 0.57 (2020-09-10)

This release introduces a number of new event fields and the option to stream events from child organizations.

#### Changes

##### EventService

- Added `modem_external_device_id` to all modem events:
- `ModemUpdatedEvent`
- `ModemLocationUpdatedEvent`
- `ModemStaleEvent`
- `ModemActivatedEvent`
- `ModemMessageDelayedEvent`
- `ModemMessageCannotBeParsedEvent`
- `ModemClaimedEvent`

The field was already present on some modem events, so this was mostly a change for consistency.

- Added `updated_at` to `ModemLocationUpdatedEvent` with the time the modem sent the message with the new location.

The event time it the time the location was updated on the server, which was misleading,
given the possible delay between the modem sending the message and the server processing it.

- Added `child_organizations` to `EventStreamRequest`, to allow a client to stream events from its child organizations.
Some limitations apply, for example related to filtering on tags or publishers, which only works for
the current (parent) organization.

### 0.55 (2020-08-11)

This release introduces the option to transfer modems without their data.
Expand Down
78 changes: 77 additions & 1 deletion event.proto
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@ message Event {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 20;

UpdateClearableString display_name = 10;
modem.Modem.Peripherals.HiberAntenna antenna = 11;
UpdateClearableString custom_antenna = 12;
Expand All @@ -114,8 +117,19 @@ message Event {
message ModemLocationUpdatedEvent {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 8;

/* The updated location for this modem. */
Location location = 3;

/* The device time of the first message with the new location. */
Timestamp updated_at = 9;

/* The time this event was generated on the server, after the message was received. */
Timestamp time = 4;

repeated tag.Tag tags = 5;
string title = 6;
string description = 7;
Expand All @@ -127,9 +141,19 @@ message Event {
message ModemStaleEvent {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 9;

/* The number of days this modem is allowed to be inactive before triggering this event. */
int32 maximum_inactivity_period = 3;

/* The time this modems inactivity exceeded the maximum_inactivity_period. */
Timestamp time = 4;

/* The last time this modem sent a message. */
Timestamp last_message = 5;

repeated tag.Tag tags = 6;
string title = 7;
string description = 8;
Expand All @@ -143,9 +167,19 @@ message Event {
message ModemActivatedEvent {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 11;

/* The id of the mesasge that activated this modem. */
uint64 message_id = 3;

/* The time this modem was activated in the system. */
Timestamp time = 4;

/* The time this modem sent the message that activated it. */
Timestamp sent_at = 10;

repeated tag.Tag tags = 7;
string title = 8;
string description = 9;
Expand All @@ -165,6 +199,8 @@ message Event {
message ModemMessageReceivedEvent {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 8;

/* The received message, including parsed body. */
Expand All @@ -182,6 +218,8 @@ message Event {
message ModemMessageBodyReceivedEvent {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 3;

/* Id of the message that was parsed. */
Expand Down Expand Up @@ -210,6 +248,8 @@ message Event {
message ModemMessageBodyParsedEvent {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 3;

/* Id of the message that was parsed. */
Expand Down Expand Up @@ -245,6 +285,9 @@ message Event {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 10;

/* The amount of dropped messages between the previous message and this message. */
int32 dropped_messages = 3;

Expand All @@ -263,13 +306,16 @@ message Event {
}

/* Triggered when the time between sending and receiving the message is above a certain threshold. This can
* indicate that there is a communication issue between the modem and the server, i.e. a malfunction ground
* indicate that there is a communication issue between the modem and the server, e.g. a malfunction ground
* station, so that the satellite takes longer to send its data on.
*/
message ModemMessageDelayedEvent {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 10;

/* The message that produced this event.
* Note that this is a reduced version of the message, and may omit parsed body.
*/
Expand All @@ -293,8 +339,24 @@ message Event {
message ModemMessageCannotBeParsedEvent {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 9;

/* The message that cannot be parsed.
* This message may or may not be available in the system, depending one the reason it could not
* be parsed.
*/
uint64 modem_message_id = 3;

/* The moment this event was triggered. */
Timestamp time = 4;

/* The reason this message could not be parsed.
* This could be, for example:
* - invalid message envelope, but with enough information to determine the modem
* - all body parsers failed to parse the body of the message
*/
string reason = 5;
repeated tag.Tag tags = 6;
string title = 7;
Expand Down Expand Up @@ -396,6 +458,10 @@ message Event {
message ModemClaimedEvent {
string organization = 1;
string modem_number = 2;

/* External device id for this modem (e.g. a MAC address). */
string modem_external_device_id = 8;

modem.ModemClaim claim = 3;
Timestamp time = 4;
string title = 5;
Expand Down Expand Up @@ -766,7 +832,17 @@ message ListEventsRequest {
message EventStreamRequest {
/* Pick the organization to use (/impersonate). If unset, your default organization is used. */
string organization = 1;

/* The selection for the events. */
EventSelection selection = 2;

/* Include events from child organizations, if requested.
* This is only available for streaming, listing events can only be listed per organization.
*
* Keep in mind that filtering events using the selection is limited.
* Filtering on tags or publishers, for example, can only apply to the parent organization.
*/
Filter.ChildOrganizations child_organizations = 3;
}

/* Configuration for configurable events.
Expand Down

0 comments on commit db362de

Please sign in to comment.