Skip to content

Release 0.4

Gateway inventory, event telemetry, advanced event filters, and Spring Boot 4.0.3.


New IoT device type: Gateway is a relay device installed in the transport vehicle (cabin or trailer) that collects data from nearby Dataloggers and relays it via cellular network.

Inventory now contains 4 types of resources:

  1. Logger (box) - IMEI unique identifier
  2. Sensor - IMEI unique identifier (1-3 captors)
  3. Packaging (inclosure / crate)
  4. Gateway (NEW) - Relay device (cabin / trailer)

Gateway Model:

Gateway:
identity: "GW-001" # Unique identifier
organization: "bayeux"
name: "Gateway Cabin"
description: "AES Techno GW v1.0"

Integration with Monitoring:

  • Monitoring.gateways[] β€” List of GatewayAssignment(gateway, position) where position is cabin or trailer
  • Monitoring.dataloggers[].gateway β€” Optional gateway identity the datalogger is connected to
  • Gateways can show β€œin use” status when assigned to an active monitoring

New API Endpoints:

GET /gateways # List gateways
GET /gateways/count # Count gateways
GET /gateways/{identity}/exists # Check exists
GET /gateways/{identity} # Get by identity
POST /gateways # Create
PUT /gateways # Update
DELETE /gateways/{identity} # Delete

New Filter on Monitorings:

GET /monitorings?gateway=GW-001 # Monitorings using this gateway
GET /monitorings/count?gateway=GW-001&in_use=true # Active monitorings using this gateway

The gateway filter searches both dataloggers[].gateway and gateways[].gateway.


The Event entity now includes telemetry data from StaRT mobile app:

Field Type Description
gyroscope Coordinate(x, y, z) Gyroscope reading (degrees/s)
accelerometer Coordinate(x, y, z) Accelerometer reading (m/sΒ²)
speed Double Speed (m/s)
sensor SensorType Sensor type that triggered the alert (temperature, humidity, accelerometer)
values List<Double> Sensor values (flexible size depending on sensor type, e.g. [0.12, -0.34, 9.81])

These fields are optional and backward-compatible (existing events without these fields continue to work).


GET /monitorings/{id}/events now supports server-side filtering, pagination and sorting:

GET /monitorings/{id}/events?type=alert&severity=warning&sensor=temperature&page=0&size=50&sort=date,desc
Parameter Type Description
type EventType[] Filter by type(s): start, alert, position, notification, stop
severity EventSeverity[] Filter by severity(s): info, warning, critical
sourceType EventSourceType Filter by source type: monitoring, sensor, logger, user
source String Filter by source identifier (IMEI, email, monitoring-uuid)
sensor SensorType Filter by sensor type: accelerometer, temperature, humidity
page number Page number (0-based)
size number Page size
sort string Sort field and direction (default: date,asc)

All parameters are optional. Without parameters, behavior is identical to before.

operationId changed: getMonitoringEvents β†’ listMonitoringEvents


GET /inventories/report now includes gateways count:

{
"loggers": { "value": 5 },
"sensors": { "value": 5 },
"gateways": { "value": 2 },
"loggersInUse": { "value": 2 }
}

  • Spring Boot: 4.0.2 β†’ 4.0.3
  • Jackson: Configuration moved from spring.jackson.* properties to programmatic JacksonConfig (Jackson 3 / Spring Boot 4 compatibility)

NEW:

  • βœ… Gateway entity (inventory CRUD, monitoring integration)
  • βœ… Event telemetry fields (gyroscope, accelerometer, speed, sensor, values)
  • βœ… Event filters + pagination on GET /monitorings/{id}/events
  • βœ… Gateway filter on GET /monitorings and GET /monitorings/count
  • βœ… Gateway count in inventory report

UPDATED:

  • βœ… Monitoring model: gateways[] field + Datalogger.gateway field
  • βœ… Event model: 5 new optional telemetry fields
  • βœ… Spring Boot 4.0.3
  • βœ… Test fixtures: gateways in Bayeux dataset