• Stars
    star
    153
  • Rank 243,368 (Top 5 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Powir is a Windows 10 based tool to monitor and analyze your system's power and battery usage.

Logo

Powir

Windows 10 based tool to monitor and analyze your system's power and battery usage
Explore the website ยป

Join Slack ยท Report Bug ยท Request Feature ยท Give Feedback


Table of Contents


About The Project

What is it?

Powir is a Windows 10 based tool to monitor and analyze your system's power and battery usage.

It provides you with various information and statistics about the current and overall history of the power and battery usage of your system.

Installation

There are two ways to install powir:

  • Desktop App (Main Mode): Installation is as quick as simply downloading the executable and running it. The App is completely portable meaning you don't have to go through an installation wizard, and it can be copied from system to system seamlessly without any dependencies or extra files needed. Recommended

    • Terminal: Simply download the binary and run it:
    curl -L https://github.com/SlapBot/powir/releases/download/v1.0.4/powir.1.0.4.exe --output powir.exe
    ./powir
    • Double Click: Again download the binary and run it but please read this note
  • Browser Window (Lite Mode): Installation requires few pre-requisites (node & npm) and firing a command from the command prompt which opens up a tab in your default browser serving file via a local server. Actions (Export PDF, JSON) are missing in the lite mode.

Features

What it does?

  • Provides you with a simple and clean UI to list your battery and system information.
  • Shows you the change in battery capacity since the OS was installed.
  • Analyzes the current and overall estimated battery life of your system.
  • Computes various statistics to give a better understanding of your power usage.
  • Ability to export all the data via various formats: PDF (app), JSON (processed), HTML (original report).
  • 100% free and completely open-source for an absolute transparency.
  • Completely portable app with no installation required, ready to use out of the box.

Why build it?

  • Complete lack of any such power/battery monitoring analyzing tool available in the market.
  • Obscure documentation over how to find battery statuses on the Internet.
  • Required to use terminal in order to run a command showing information about the system.
  • Devoid of any simple and understandable metrics from the underlying API or report.

Actions

  • Export the current report of your system from Powir in PDF format
  • Export the parsed and processed data of your system from Powir in JSON format
  • Shows original report generated by Windows using the command: powercfg /batteryreport in the terminal

Gallery

Battery Information

System Information

Power And Battery Usage

Installation Methods

Desktop App (Main Mode)

  • Simply go to Releases and pick the latest version to download.
  • Download Current Latest Version (Powir v1): Github or GDrive: Please take a note below before downloading the app

Browser And Windows Defender Warnings

Note: Since the application isn't code signed yet (because all of the certificates require annual fee payment regardless of whether you're non-profit or open-source). Please refer to the issue: #1, Both (Browser & Windows Defender will raise warnings suggesting that app is not protected).

This doesn't mean that application is inherently unsafe in fact entire source code is open, and you can build your own distribution following Build section but its due to the paperwork and money involved in getting the certificates to sign the applications which can cost as much as $699 a year or more.

If you are someone who has an experience around self signing certificates with Windows based builds which result in bypassing these warnings, kindly reply in the given thread #1 :)

Solution

For now the solution is to simply ignore the warnings as shown below and always download the application from this repository only:


Browser Window (Lite Mode)

Open up the terminal (for non-developers: that is Command Prompt [cmd.exe]) and follow these instructions:

Only one time setup

Commands (copy-paste):

git clone https://github.com/SlapBot/powir.git
cd powir
npm install --production

Explanation:

  • Ensure you have git, node and npm installed using commands: git --version, node -v and npm -v respectively, else install it from here: Git and NodeJS (installer contains both node and npm)
  • Clone the repository using: git clone https://github.com/SlapBot/powir.git and cd into the folder: cd powir
  • Run npm install --production to install dependencies

Anytime

Command (copy-paste)

npm run lite-mode

Explanation:

  • Now simply run npm run lite-mode whenever you want from the directory, and it will open up the dashboard allowing you to monitor and analyze power states.

FAQs

Is it completely free?

Yes, Powir is 100% free to download and use.

Are the numbers displayed 100% correct?

Depends, Powir parses the raw reports generated from Windows and does the computations of the various statistics and render the charts.

What tooling is used to build the app?

Powir runs as an electron app (chromium web engine embedded) while using React to facilitate the UI and data workflow.

Does it share my data anywhere?

No, Powir will never share your data anywhere outside your local system, the entire source code of the app is online for anyone to check. In fact, it never makes any request to a server since there is none. Its simply a client sided app.


Developer

If you're looking to build it from the source or inspect the app, its extremely simply and you only have to follow few instructions as listed below:

Prerequisites

  • Git
  • Node
  • NPM

Setup

  • Clone the repository: git clone https://github.com/SlapBot/powir.git
  • Cd into the directory: cd powir and run: npm install

Build

  • Run npm run build which will package the app at dist/ folder.

Usage

Electron App

  • Run these two commands in two separate sessions when you are developing in order to use HMR (hot module reloading):
    • Run react server: npm run react-start
    • Run electron app: npm run electron-start
  • All of the server code is located at: public/server directory.
  • Entrypoint of the electron app is atpublic/electron.js.
  • Everything related to rendering is done at: src directory.
  • Any of the changes you make at src directory will reflect instantly in the app.
  • Any of the changes made for server requires the app to be restarted using: npm run electron-start

Browser Window App

  • Run npm run lite-mode which opens up a tab in your default browser again with HMR enabled.
  • Entrypoint of the browser window app is atpublic/browser.js.
  • Everything related to rendering is done at: src directory.
  • Any of the changes you make at src directory will reflect instantly in the app.
  • Any of the changes made for server requires the app to be restarted using: npm run lite-mode

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Feel free to join our slack chat group to get more help: Slack

License

Distributed under the GPU General Public License. See LICENSE for more information.

Contact

Hey there! I'm Ujjwal who goes around with the name Slapbot in open source communities, You'd often find me blabbering my completely biased opinions in /r/soccer or busy building new things.

I'm most accessible via Twitter and tend to update about whatever I'm working there, so feel free to follow or send a dm there. :)

Acknowledgement

Many thanks to these amazing frameworks/libraries/tools/arts without which none of this had been possible! <3

Major Libraries

Minor Libraries

Icons

More Repositories

1

stephanie-va

Stephanie is an open-source platform built specifically for voice-controlled applications as well as to automate daily tasks imitating much of an virtual assistant's work.
Python
799
star
2

sounder

An intent recognizing algorithm to predict the intent of a given text.
Python
124
star
3

newsapi

A python wrapper for News API.
Python
72
star
4

drone-detection

A deep learning neural net model to detect drone/drones from a given picture using Using Fast R-CNN architecture via Keras-Retinanet Implementation. (Dataset and Pre-Trained model provided)
Python
70
star
5

elixir-mix-otp-guide

The source code for the official guide to build a complete Elixir application, with its own supervision tree, configuration, tests and more at
Elixir
62
star
6

reposter

A framework to manage, monitor and deploy marketing in social-media by re-posting content from one place to the another.
Python
35
star
7

gpt-2-demo

Demonstration of gpt-2 model with flask+uwsgi+nginx in web environment containerized in docker for quick deployment.
Python
13
star
8

swiggySixNotifier

A bot to send notifications of swiggy coupons.
Python
10
star
9

paytm-scraping-offers

Scraping & crawling all of the products (and their coupons, categories, etc) listed in Paytm Mall App to find steal-deals
Python
9
star
10

Urban-Dict-Bot

A twitter bot written as an integration to Urban Dictionary allowing fun workflow around various "urban" meanings of a given word in a presentable way.
HTML
7
star
11

zomato-sdk

Unofficial Python SDK written for Zomato API
Python
4
star
12

dronacharya

Drone and UAV traffic management system to address detection of drones and UAVs, unlawful trespassing by drones, collision avoidance, route monitoring and much more.
4
star
13

Drone-Detectron

Detection of drones using FastRCNN via CNTK's implementation.
Python
3
star
14

ethercrash-stats

Scrape away all of the ethercrash games asynchronously.
Python
3
star
15

GodkillerArmor

Save the good people of /r/thanosdidnothingwrong
Python
2
star
16

slapbot.github.io

The code written for Stephanie's main website
JavaScript
2
star
17

JS-Object-Parser

Python
1
star
18

swiggy-instagram-offer

A script to post the comment as soon as possible when a given public Instagram account makes any post.
Python
1
star
19

kv

The source code for the official guide to build a complete Elixir application, with its own supervision tree, configuration, tests and more at
Elixir
1
star
20

noterpy

noterpy client made on top of https://github.com/mrtazz/simplenote.py
Python
1
star