Skip to content

Feature Request: Periodic EUI sync between ChirpStack and Helium Route #99

@linuxxp

Description

@linuxxp

Description

Currently, chirpstack-hpr adds device EUIs to the Helium route only when it catches an API Create event from ChirpStack's Redis stream. The helium_skfs_update function syncs only Session Key Filters (SKFs), not EUI filters.

This creates a problem when:

  1. Multiple devices are added quickly via API/script - some events may be missed
  2. Devices were added before chirpstack-hpr was running
  3. Container restarts and misses events during downtime
  4. Manual intervention is needed to add missing EUIs with helium-config-service-cli

Current Behavior

  • EUIs are only added on api.DeviceService/Create event detection
  • helium_skfs_update runs every 5 minutes and compares helium_devices table with Helium route SKFs
  • No similar sync exists for EUI filters

Expected Behavior

Add a periodic EUI sync function (similar to helium_skfs_update) that:

  1. Fetches all devices from ChirpStack
  2. Fetches all EUIs from Helium route
  3. Compares and adds missing EUIs
  4. Optionally removes EUIs for deleted devices

My Use Case

I added 17 devices via Python gRPC script and only ~13 were automatically added to the Helium route. The rest had to be added manually using helium-config-service-cli route euis add --commit.

Environment

  • chirpstack-hpr: v0.1.16 (ghcr.io/ccall48/chirpstack-hpr:latest)
  • ChirpStack: 4.16.0

Workaround

Currently using a separate Python script with cron to sync EUIs manually.


Thank you for this great project! 🙏

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions