Skip to content

Releases: HiberGlobal/api

0.90.0

11 Oct 11:38
Compare
Choose a tag to compare

This release contains a number of bugfixes and removes some deprecated options from ModemAlarm.

Changes

  • Fixed a few performance issues.
ModemService
  • Fixed a bug where ModemSelection.filter_by_tags would return only the modems matching the entire set of given tags
    (ALL) instead of modems with one of the given tags (ANY).
ModemAlarmService
  • Remove the deprecated options on LocationCheck:
    • Custom area or shape are no longer supported, use a named location instead.
NamedLocationService
  • Cleaned up the comments which referred to saved location instead of named location.
  • Added NamedLocation.created_at: the time it was created.
  • Added NamedLocation.updated_at: the last time the location was updated, if any.
  • Added NamedLocation.referenced_by_alarms, the list of alarms that reference this named location.
  • Using NamedLocation for create and updated is no longer practical now that we have added more fields:
    • Introduced CreateNamedLocation to be used to in CreateNamedLocations.Request.
    • Introduced UpdateNamedLocation fields to be used to in UpdateNamedLocation.Request.
  • Fixed a bug where a named location that is used in an alarm check could still be deleted.
SimulationService
  • Fixed a bug where, in rare cases, simulated messages might end up with a sent time outside the configured delay range.

0.88.0

09 Sep 15:07
Compare
Choose a tag to compare

This release contains a number of bug fixes and usability improvements.

Changes

  • Improved comments and generated documentation.
ExportService
  • When requesting available fields for export, providing a non-empty modem selection is no longer required.
    When an empty (or no) modem selection is provided, the result is the total of all modems in the organization.
    (The columns may differ per modem because of assigned message body parsers.)
HealthService
  • Fixed a bug where the modem health was not updated when you deleted a custom health level.
ModemService
  • Removed the option to consider message with source TEST as real (when applying processing).
    • Simulated modem messages are now considered real to the system, since that was the real use case for this option.
  • Fixed a race condition where modem health would occasionally be "OK", then switch back to its actual health.
OrganizationService
  • Added Organization.Feature.MODEM_CREATION to allow an organization to manually create modems using the ModemService.
  • Fixed a bug where an incorrect error message was returned when creating an organization without the correct
    OrganizationPermission.
SimulationService
  • Added Simulation.ModemMessageSimulation.message_body_rotation to rotate through a list of pre-configured
    message bodies when simulating messages. This can be done to simulate a modem looping through different healths
    during the simulation.
  • Added Simulation.ModemMessageSimulation.location_rotation to rotate through a list of pre-configured
    locations when simulating messages. This can be done to simulate a modem moving on the map during the simulation.

0.87

02 Sep 10:10
Compare
Choose a tag to compare

0.87 (2021-09-02)

This release add an ease of use improvement for exporting, and contains a number of bugfixes.

Changes

ModemService
  • Added ModemMessage.tagNames for convenience, since most of the time the ids are not relevant.
ExportService
  • Added AvailableFieldsForExport (for ExportService.AvailableFields) to get the fields that are available to export.
    • Provides a list of json paths for use in custom json field mapping.
    • Provides the default column mapping for CSV export.

0.86

30 Aug 12:09
Compare
Choose a tag to compare

0.86 (2021-08-30)

This release fixes a few bugs and adds a few missing features.

Changes

base.proto
  • Added PRESSURE_K_PA to UnitOfMeasurement, for pressure in kPA.
AlarmsService
  • Fixed a bug where a location extracted from the message body using
    ModemMessageBodyParser.MetadataFields.location_fields was not available to alarms.
ModemService
  • Fixed a bug where a specific query could negatively affect message list performance.
UserService
  • ListInvitationsRequest not filters out accepted invitations by default.
    • Added ListInvitationsRequest.include_accepted to include accepted invitations.
StatusService
  • Fixed a performance issue for the status call when the list of publishers was included.

0.85

23 Aug 13:41
Compare
Choose a tag to compare

0.85 (2021-08-23)

This release improves the generated API documentation and fixes a few bugs.

Changes

  • Improved API documentation and generated documentation files
    • Disabled html file generation for now, since it was prone to breaking.
    • Improved markdown file generation significantly
EventService
  • ModemEvent.MessageEvent.ModemMessageCannotBeParsedEvent will no longer resolve after a new successful message,
    since it indicates an invalid configuration.
    • Added ModemEvent.MessageEvent.ModemMessageCannotBeParsedEvent.resolved to indicate resolved state.
    • Added ModemEvent.MessageEvent.ModemMessageCannotBeParsedEvent.resolve_identifier to resolve the event manually.
    • Added EventService.Resolve and ResolveEvent to resolve a ModemMessageCannotBeParsedEvent manually
      using the provided resolve_identifier.
  • Fixed the include_resolved filter for some events types for which is was not working properly.
MapService
  • Added more Density options to the map:
    • VERY_SPARSE: for 2x2 icons in a tile
    • SINGLE: a single icon in a tile
ModemAlarmService
  • Added the option to update checks to UpdateModemAlarm: add_checks, update_checks and delete_checks.
  • Fixed an issue where alarms would not resolve correctly when a mix of correct and incorrect messages arrived
    at the same time.
ModemMessageBodyParserService
  • Moved validation on data_fields and metadata_fields from save to execution, for now.

0.84

12 Aug 16:00
Compare
Choose a tag to compare

0.84 (2021-08-12)

This release contains a few UX improvements, making the API esier to use.

Changes

EventService
  • Added ModemEvent.AlarmEvent.ModemAlarmEvent.resolved_at to mark when the alarm was resolved.
    • Added health_level_after_resolved and health_level_after_resolved_until to denote any health after it
      was resolved. See the alarm documentatin for more information.
MapService
  • Added textual format to all map elements:
    • Added Location.textual, which represents a point on the map as an array [latitude, longitude].
      For example: [10.0, 15.0].
    • Added Area.textual, which represents a square on the map as an array [bottomLeft, topRight],
      where bottomLeft and topRight are textual representations of locations.
      For example: [[10.0, 15.0], [20.0, 25.0]].
    • Added Shape.textual, which represents a shape on the map as an array of points [p1, p2, p3, ...],
      where the points are textual representations of locations.
      For example: [[10.0, 15.0], [15.0, 15.0], [10.0, 10.0]] is a triangle.
ModemService
  • Added ModemMessage.modem_name for convenience.
  • Added ModemMessage.modem_identifier for convenience.
  • Added ModemMessage.tags for convenience.
ModemAlarmService
  • Added two new check types: minimum and maximum. These are simplified versions of the threshold that do
    not need a range, just a single value.
    • Added ModemAlarm.Check.FieldCheck.MinimumCheck
    • Added ModemAlarm.Check.FieldCheck.MaximumCheck
  • Added better child organization availability management:
    • (Before, the child availability could only be replaced.)
    • Added MakeModemAlarmAvailableToChildOrganizationRequest to add a child organization to the availability.
    • Added MakeModemAlarmUnavailableToChildOrganizationRequest to remove a child organization from the availability.
ModemMessageBodyParserService
  • Added better child organization availability management:
    • (Before, the child availability could only be replaced.)
    • Added MakeModemMessageBodyParserAvailableToChildOrganizationRequest
      to add a child organization to the availability.
    • Added MakeModemMessageBodyParserUnavailableToChildOrganizationRequest
      to remove a child organization from the availability.

0.83.6

10 Aug 07:57
Compare
Choose a tag to compare

0.83.6 (2021-08-10)

This minor release adds sorting on health for modems.

Changes

EasypulseService
  • Added sorting on health to Easypulse.ListAssets.Request.Sort:
    • HEALTH: sort by health severity, ascending (Ok, Warning, Error when using default health levels).
    • HEALTH_DESC: sort by health severity, descending (Error, Warning, Ok when using default health levels).
MapService
  • Expanded comment on TileMapRequest.level to include which levels are available and what they are based on.
ModemService
  • Added sorting on health to ListModemsRequest.Sort:
    • HEALTH: sort by health severity, ascending (Ok, Warning, Error when using default health levels).
    • HEALTH_DESC: sort by health severity, descending (Error, Warning, Ok when using default health levels).

0.83

05 Aug 11:41
Compare
Choose a tag to compare

0.83 (2021-08-05)

This release introduces the Easypulse service and some supporting changes.

Changes

  • Removed a few unnecessary imports.
ModemService
  • [B] Removed ListModemMessagesRequest.field.
    The functionality will be replaced with a call like Easypulse.History in the future.
EasypulseService
  • Introduced the EasypulseService for Easypulse-specific implementations.
    • This API requires the Organization.Feature.EASYPULSE feature flag.
    • This is mostly a convenience view on the normal modems and messages.
    • Easypulse.History allows you to fetch individual message fields and apply aggregations to them, for example
      • the average pressure per day
      • the sum of run time per week
      • This feature will be made available for all organizations soon in the ModemService.
EventService
  • Corrected the text for ModemCreatedEvent, which is now produced any time modems are created, whether it is manually
    or automatically.
HealthService
  • Cleaned up the documentation for HealthLevel.
ModemMessageBodyParserService
  • Added ModemMessageBodyParser.DataField to define more properties for data fields in a parser.
    This is mostly used internally, to power the new Easypulse service.
    • Updated ModemMessageBodyParser, UploadModemMessageBodyParserRequest and
      UpdateUploadedModemMessageBodyParserRequest:
      • Deprecated and renamed the repeated string data_fields to data_fields_deprecated.
      • Added data_fields as the repeated DataFields.
    • Introduced UnitOfMeasurement in base.proto to support defining the type for parser data fields.
ModemDownlinkMessageService
  • Introduced the experimental ModemDownlinkMessageService to store and fetch messages that should be sent to
    your devices.
    For now, this is just a CRUD service to prepare and fetch messages, but expect more features in the future.
OrganizationPermissions
  • Added OrganizationPermission.MODEM_DOWNLINK_MESSAGES for using the new ModemDownlinkMessageService.

Generated Documentation

  • In this release, we're experimenting with some automatically generated documentation in the docs folder.

Backwards incompatible changes

  • [B] Removed ListModemMessagesRequest.field.
    The functionality will be replaced with a call like Easypulse.History in the future.

0.82

05 Aug 09:41
Compare
Choose a tag to compare

0.82 (2021-08-05)

Changes

  • Removed a few unnecessary imports.
EasypulseService
  • Introduced the EasypulseService for Easypulse-specific implementations.
    • This API requires the Organization.Feature.EASYPULSE feature flag.
    • This is mostly a convenience view on the normal modems and messages.
    • Easypulse.History allows you to fetch individual message fields and apply aggregations to them, for example
      • the average pressure per day
      • the sum of run time per week
      • This feature will be made available for all organizations soon in the ModemService.
EventService
  • Corrected the text for ModemCreatedEvent, which is now produced any time modems are created, whether it is manually
    or automatically.
HealthService
  • Cleaned up the documentation for HealthLevel.
ModemMessageBodyParserService
  • Added ModemMessageBodyParser.DataField to define more properties for data fields in a parser.
    This is mostly used internally, to power the new Easypulse service.
    • Updated ModemMessageBodyParser, UploadModemMessageBodyParserRequest and
      UpdateUploadedModemMessageBodyParserRequest:
      • Deprecated and renamed the repeated string data_fields to data_fields_deprecated.
      • Added data_fields as the repeated DataFields.
    • Introduced UnitOfMeasurement in base.proto to support defining the type for parser data fields.
ModemDownlinkMessageService
  • Introduced the experimental ModemDownlinkMessageService to store and fetch messages that should be sent to
    your devices.
    For now, this is just a CRUD service to prepare and fetch messages, but expect more features in the future.
OrganizationPermissions
  • Added OrganizationPermission.MODEM_DOWNLINK_MESSAGES for using the new ModemDownlinkMessageService.

Generated Documentation

  • In this release, we're experimenting with some automatically generated documentation in the docs folder.

0.81

05 Jul 13:57
Compare
Choose a tag to compare

0.81 (2021-07-05)

This release contains a collection of minor features:

  • Adding health to the map
  • Allowing modems to be filtered on peripherals
  • Extracting metadata (and location) from a parsed message body

Changes

HealthService
  • Added HealthLevel.severity to allow sorting of health levels when needed.
MapService
  • Added TileMapRequest.include_health to include the health for each map tile (that contains modems).
    • Added MapTileItem.Modem.health_level for tiles with a single modem.
    • Added MapTileItem.Group.most_severe_health_level, the most severe health level for the modems in this group.
    • Not compatible with including child organizations, since those health levels may differ.
  • Removed deprecated calls Satellites and Map, leaving only the TileMap call.
    • Removed SatellitesRequest, MapRequest, MapBlock and MapSelection, which were only used
      in the deprecated calls.
ModemService
  • Added ModemSelection.peripherals to filter modems by peripherals.
  • Added ModemSelection.only_without_peripherals to filter modems that have no peripherals.
ModemMessageBodyParserService
  • Added metadata_fields to ModemMessageBodyParser,
    UploadModemMessageBodyParserRequest and UpdateUploadedModemMessageBodyParserRequest.
    Metadata fields are extracted from the parsed message body to the message metadata.
    • Added specific metadata fields for extracting location from the message body to the modem.