Skip to content

jerrymakesjelly/electricity-monitor

Repository files navigation

BUPT Electricity Monitor

PyPI Codacy CodacyCoverage License

Free yourself from the tedious operation, now you can just use a one-line command to view the electricity information of your dormitory.

The data comes from the BUPT Work WeChat. But please notice that this utility tool can only query the dormitory which is located on Xitucheng Campus. The other campuses are not supported at the moment.

FEATURES

  • Get your power data easily, including surplus, voltage, current, power, etc.
  • Calculate available time.

Requirements

  • Python 3

Quick Start

Step 1: Install from PyPI

pip install buptelecmon

Step 2: Set your authorization information

This information is used to log in to the query interface. We won't send your information to other sites. :

elecinfo --set-auth

And input your student ID and your password. The password is usually the same as your Information Portal (my.bupt.edu.cn). :

Student ID:
Password:

Your authorization information will be saved to ~/.elecmon/elecmon.json.

Step 3: Run it

elecinfo <dormitory-number>

The dormitory-number must be in the correct format (ApartmentNumber-DormitoryNumber, e.g 1-101).

Also, this command tool will remember the dormitory number of the last query. Next time, if you want to query the same dormitory as last query, just type:

elecinfo

Recharge

Use this tool to visit the recharge page directly. :

elecinfo --recharge <dormitory-number>

Then, a QR code will be shown on your terminal. Please use your WeChat to scan the QR code and pay for it.

Advanced Usage

Full Command Line

elecinfo [ --version | --set-auth | [--loop] <dormitory-number-1> [... <dormitory-number-n>] | --recharge <dormitory-number>]
Option Description
--version Display the version of this tool.
--set-auth Set your authorization information, as the Quick Start - Step 2 shows.
--loop Repeat querying electricity information every 60 seconds.
--recharge Display a recharge QR code.

Note: Please DO NOT query too many dormitories at the same time or query too frequently, otherwise you may receive HTTP 500 Internal Server Error s from the remote server.

APIs

We allow you to use the APIs to build your applications, for example:

import buptelecmon
em = buptelecmon.electricitymonitor.ElectricityMonitor()
em.login('student_id', 'password')
em.query(['x-xxx'])

For more information, please read the APIs Document.

Screenshot

image

Changelog

Mon, 13 Aug 2018: 1.2.2 released. Fix a bug that prevent the program from quitting when an exception raises. 🔖

Mon, 13 Aug 2018: 1.2.1 released. Fix documentation error. 🔖

Sun, 12 Aug 2018: 1.2.0 released 🔖

  • Added recharge mode

Sat, 11 Aug 2018: 1.1.0 released 🔖

  • Removed daemon mode
  • Added configuration mode - We don't need to write json file manually anymore
  • Published to PyPI

Fri, 30 Mar 2018: First version. 🎉

License

This software is distributed under the MIT License.

About

A program for checking electricity charge. ⚡ 📈 https://pypi.org/project/buptelecmon/

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages