Home Assistant Integration (HACS) for Cellular GL-INet routers

Hi All,

I’ll keep it short. I’ve been working away on on a Home Assistant integration for a little while and have finally reached a point where its stable enough to share it.

I used HarvG’s integration for my inspiration and rebuilt the service from the ground up to suit my needs.

The main difference in features is better support for cellular routers like the X3000. The integration pulls modem connection metrics and has the added support of sending, viewing and managing SMS which for me opens a whole new world of possiblities with Home Assistant.

It’s all fully documented so feel free to have a snoop and a test

1 Like

Just wanted to follow up to this post.

I have since gone on a bit of a code dive and gotten a lot more features added.

  • Config flow setup with DHCP discovery.
  • Robust session management with proactive token renewal and automatic retries.
  • Router reboot button.
  • Connected device trackers.
  • WAN IP address sensor.
  • Connected client count sensor.
  • Per-client real-time bandwidth (upload/download) and IP address sensors.
  • System sensors for CPU temperature, load, memory, flash use, and uptime.
  • WiFi interface switches.
  • System LED switch.
  • WireGuard client and server support.
  • OpenVPN client and server support (with location selection).
  • Tailscale switch.
  • ZeroTier switch (Requires Network ID setup on router).
  • AdGuard Home switches (Optional).
  • Optional cellular signal/network sensors.
  • Optional SMS services for sending, viewing and managing text messages in the inbox.
  • Optional repeater mode support for WiFi scan, connect/disconnect, saved networks, and repeater state.
  • Fan support (status, RPM, and temperature threshold control).
  • Downloadable Diagnostics: Provides a sanitized JSON snapshot for easier troubleshooting.

I'm building based off documentation. I test where i can but the real test will be users who actually use the features.

There is also a documented roadmap for planned features that are yet to be added.

1 Like

I would like to get the network throughput of my wan interface. Something similar to the Luci > Status > Realtime Graphs > TRaffic > eth0.

Is this possible with the latest version of the integration?

Unfortunately this isn't currently exposed via the native API. I have played around with this as individual clients exposed their current traffic consumption but it was accurate enough for me to be comfortable pushing into production.

I'll ping Glinet a message to see if this is something that is exposed elsewhere.

I've been considering building a luci equivalent of this integration, but that's a while away.

Just following up on this.

I have added this functionality :slight_smile:

It’s not the nicest code to calculate it but it is accurate and efficient enough for production.

Notice for users of this integration

CRITICAL ACTION REQUIRED: v1.6.0 Migration Instructions

Because of an underlying domain name change, your existing integration will stop being updated after this release. You must delete and re-add the integration to restore functionality.

Please follow these mandatory installation steps:

  1. Delete your existing install: Go to Settings > Devices & Services, find the old GL-iNet integration, click the three dots, and select Delete.
  2. Update the integration: Update to the latest version within HACS.
  3. Delete the legacy files: Using a file manager (like Studio Code Server, Samba, or SSH), navigate to your Home Assistant config/custom_components/ directory and delete the old ha_glinet folder.
  4. Restart Home Assistant (highly recommended to clear cache and apply changes).
  5. Add the new integration: Go to Settings > Devices & Services > Add Integration, search for GL.iNet Router, and configure normally.

Automations Update

Any integration-specific automations will need to be updated. Edit the automations in YAML mode and replace any instance of ha_glinet with glinet_router.


Release Notes:

This release introduces a technical breaking change as we rename and restructure the integration to prepare for future updates.

What Changed?

  • Repository/Project Name: Changed from ha-glinet to ha-glinet-router
  • Display Name: Changed from GL-iNet to GL.iNet Router
  • Domain: Changed from ha_glinet to glinet_router

Why the change?

GL.iNet also offers a KVM product line. To accommodate this, we are splitting the integrations to keep things clean and organized:

  • glinet-router (This integration) – Dedicated entirely to GL.iNet router products.
  • glinet-kvm (Coming in the near future if budget allows!) – A planned, dedicated integration specifically for GL.iNet KVM products.

Splitting these now ensures a much more logical and stable foundation for future updates. This is a one-time event that cannot be avoided due to the nature of the change. All future releases will be seamless once again. Thank you for your understanding and ongoing support!


If it’s any consolation: Once this release/migration is complete, v1.6.1 will bring official support for GL.iNet firmware 4.9.0!