IDemixI / TP-Link-Status-Monitor

Simple Python program created for the TP-Link TD-W8970 Router to scrape various statistics for easier monitoring

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TP-Link-Status-Monitor

A simple Python program created for the TP-Link TD-W8970 Router to scrape various statistics for easier monitoring.

Current Functionality:

  1. Router Status
  2. Currently Connected Devices
  3. Bandwidth Monitor

Improvements going forward would be to check the router model and proceed accordingly, in order to increase the usefulness of this tool. If I can get a list of common routers / devices that use a similar connection & authentication method (Base64 encoded password string - Not exactly secure!) I will be able to create a base class to manage them. Future development would allow me to create new classes for different devices where the original base class cannot be used. I'm curious to see how difficult it would be to use my current Sky Hub to perform similar monitoring tasks.

The main improvement going forward would be to be able to generate an output page that all of the above could be viewed from. Python is probably not the best language for this, but hey-ho! This is already partially done by rebuilding the scraped information. Ironically I'm parsing out the information from HTML and then rebuilding it into my own HTML!

I know all of the information that I'm gathering is already provided within the routers current interface, but it is far too scattered to be useful. If I can have total device status, current total bandwidth, connected devices & how much individual bandwidth they are using along with the current device up-time as well as down / up speed that the router is outputting then this would be useful. I could also store lowest & highest bandwidth usage to create some graphs such as peak bandwidth usage (hours / days) along with up-time/downtime and possibly individual device bandwidth usage. I've never used python to do any I/O so this will be something new.

The other thing would be to set limits and alerts when either the bandwidth peaks above a certain percent (generated by using historical data). If a certain device starts using X amount of the total bandwidth percent then I could receive an email, or if an unknown device is added to the device list. I could also have the router restart at a scheduled time, or automatically block / kick any MAC Addresses that are not white-listed.

This whole project is pretty irrelevant now, considering I no longer use the TP-Link TD-W8970, and the fact that I am no longer sharing my Internet connection with anyone else, but it will be useful to finish the project anyway and expand upon what I have managed to do here.

About

Simple Python program created for the TP-Link TD-W8970 Router to scrape various statistics for easier monitoring


Languages

Language:Python 100.0%