Cudy Router for Home Assistant supporting all models

Cudy Router - Custom Integration for Home Assistant

I’ve built a custom integration for Cudy routers that expose a LuCI-based web interface. It connects locally to your router, scrapes the same status and configuration pages you see in your browser, and turns everything into proper Home Assistant entities, devices, and services.

GitHub: usersaynoso/ha-cudy-router

What it does

The integration polls your router’s LuCI web interface over your local network. No cloud, no API keys, no firmware modifications.

Read-only sensors for modem/cellular status (signal, RSRP, RSRQ, SINR, band, cell info, public IP, IMEI, ICCID, session traffic), WAN, LAN, DHCP, VPN, Wi-Fi SSIDs and channels, SMS inbox/outbox/unread counts, data usage, system uptime, firmware version, and connected device counts.

Writable controls exposed as switches and selects: cellular enabled/disabled, data roaming, SIM slot, network mode, APN profile, PDP type, Smart Connect, Wi-Fi 2.4G/5G enable/disable/hidden/isolate, channel, channel width, transmit power, VPN enabled/protocol/policy, and auto-update settings.

Mesh support with each satellite node appearing as its own Home Assistant device, complete with name, model, firmware, IP, status, backhaul, connected device count, LED control, and a reboot button.

Connected client devices with per-client IP, connection type, signal, online time, and toggles for internet access and DNS filter.

Services for rebooting the router, restarting the cellular connection, switching band/network mode, sending SMS messages, and sending raw AT commands to the modem.

Device tracker entities for presence detection of specific clients.

Device hierarchy

The integration creates a clean device structure in Home Assistant:

  • Main router with all router-wide sensors and controls
  • Mesh nodes as child devices with their own sensors, LED switch, and reboot button
  • Connected clients as child devices with per-client sensors and access switches

Supported models

Only the Cudy P5 has been tested on real hardware so far.

The integration includes an explicit capability map for the following models (based on emulator testing), so only relevant entity families are created for each model:

  • Routers: WR11000, WR6500, WR3600H, TR3000, WR3000E, WR3000, WR1500, WR1300V4.0, WR1300E, WR1300EV2, TR1200, WR1200, WR300S
  • 4G/5G routers: P5, P2, LT15E, LT700E, LT500, LT400E, LT300V3, LT700-Outdoor, LT400-Outdoor, IR02
  • Mesh Wi-Fi: M11000, M3000, M1500, M1200
  • Extenders: RE3600, RE1500, RE1200, RE1200-Outdoor

Unknown models fall back to best-effort detection with the most permissive feature set, so existing setups should not lose entities.

Installation

Available through HACS as a custom repository:

  1. Open HACS in Home Assistant.
  2. Menu (top right) > Custom repositories.
  3. Add https://github.com/usersaynoso/ha-cudy-router as an Integration.
  4. Search for Cudy Router and install.
  5. Restart Home Assistant.
  6. Go to Settings > Devices & Services, add Cudy Router, and enter your router IP, username, and password.

The full entity list, configuration options, service call examples, and troubleshooting are all in the README on GitHub.

Looking for testers

I would really appreciate reports from anyone running a Cudy router other than the P5. The model capability map is based on emulator data, and real-world confirmation (or corrections) would help a lot. Even a quick “model X works” or “model Y is missing sensor Z” is useful.

If you hit any issues, please open a GitHub issue with your router model, firmware version, and what went wrong.

License: GPL v3

2 Likes

Many thanks for that!
Works Great with an Cudy P4.

# Device info
P4 V1.0
by Cudy
Firmware: 2.4.20 DE

A big thank you from me too. Great work.
What I’d really like to see is the ability to switch between VPN profiles via the integration. I have several VPN profiles for different countries on my Cudy R700 V1, and it would be great to be able to switch between them via the integration when needed.

This works absolutely fine so thank you a thousand times. acces to wr11000

Is there a way to use parental controls in home assistant since internet acces cannot be blocked on wired clients?
(Does not work in cudy app either) But parental controls with online time limitations does work

Noticed that the integration does not refresh automatically. Have to reload the integration to see activity and make the automations work.