As the Tomato router integration is very limited and legacy, I built a full local-polling Home Assistant integration for routers running FreshTomato firmware — no cloud, no external service, pure LAN.
What it monitors:
Physical Ethernet ports — per-port link speed and duplex (e.g. 1 Gbps, Full Duplex) for WAN + LAN0–LAN3
Both Wi-Fi radios — SSID, channel, security mode, noise floor, operating mode
WAN status — IP, gateway, connection type, uptime, DHCP lease
Bridge IPs — exposes both br0andbr1addresses (great for WET/bridge mode routers)
Connected devices — total, wireless, and wired client counts
Firmware version — auto-detected from the router’s about page
WAN bandwidth — cumulative download/upload byte counters
What you can control:
Toggle 2.4 GHz and 5 GHz radios on/off
Reboot the router
Renew WAN DHCP lease
Presence detection for all devices on the network (wireless + wired, configurable).
Works out of the box with routers in standard gateway mode and Wireless Ethernet Bridge (WET/repeater) mode — the integration detects the operating mode automatically and adapts accordingly.
Setup is pure UI — no YAML needed. You just need your router’s IP, credentials, and its HTTP ID token (a one-time lookup from your browser’s dev tools).
GitHub: GitHub - mx5gr/ha-freshtomato: FreshTomato router integration for Home Assistant
Would love feedback from anyone else running FreshTomato — especially on non-Broadcom hardware where port mapping may differ.



