Web Analytics

WattWise

⭐ 203 stars Simplified Chinese by naveenkul

WattWise

一个轻量级的命令行工具,用于实时监控智能插座的电力使用情况,可以直接连接或通过 Home Assistant。

演示

WattWise Demo

功能

安装

通过 pip

pip install .

使用 Docker

# 1. Build the Docker image (from project directory)
docker build -t wattwise .

2. Create directories for persistence (first time only)

mkdir -p ~/.config/wattwise mkdir -p ~/.local/share/wattwise

3. First time setup: Configure a data source

Configure Home Assistant

docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ -v ~/.local/share/wattwise:/root/.local/share/wattwise \ wattwise config ha

OR Configure Kasa smart plug

docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ -v ~/.local/share/wattwise:/root/.local/share/wattwise \ wattwise config kasa

Optional: Add additional devices (multi-device config)

docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ -v ~/.local/share/wattwise:/root/.local/share/wattwise \ wattwise devices add --name "PC" --type kasa --ip 192.168.1.50

docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ -v ~/.local/share/wattwise:/root/.local/share/wattwise \ wattwise devices add --name "Server" --type homeassistant \ --host http://homeassistant.local:8123 \ --token $HA_TOKEN \ --entity-id sensor.server_power \ --current-entity-id sensor.server_current

4. Run a single check with Docker

docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ -v ~/.local/share/wattwise:/root/.local/share/wattwise \ wattwise

5. Run with continuous monitoring

docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ -v ~/.local/share/wattwise:/root/.local/share/wattwise \ wattwise --watch

6. If you have permission issues, you can fix them with:

sudo chown -R $USER:$USER ~/.config/wattwise ~/.local/share/wattwise chmod -R u+rw ~/.config/wattwise ~/.local/share/wattwise

Or using the built-in command:

docker run -it --rm --network host \ -v ~/.config/wattwise:/root/.config/wattwise \ -v ~/.local/share/wattwise:/root/.local/share/wattwise \ wattwise config fix-permissions

卸载

完全卸载

快速且彻底地移除 WattWise,包括 Docker 容器、镜像及所有配置:

# Make the script executable (first time only)
chmod +x clean_uninstall.sh

Run the uninstallation script

./clean_uninstall.sh
此脚本将删除所有 WattWise Docker 容器、Docker 镜像、配置文件和数据。它还会检测并提供卸载任何通过 pip 安装的 WattWise 的选项。

手动卸载

#### 通过 pip

# Uninstall the package
pip uninstall wattwise

Remove configuration files if desired

rm -rf ~/.config/wattwise rm -rf ~/.local/share/wattwise

#### Docker

# Remove the Docker image
docker rmi wattwise

Remove local configuration if desired

rm -rf ~/.config/wattwise rm -rf ~/.local/share/wattwise

基本用法

初次设置

# Configure Home Assistant connection
wattwise config ha

OR Configure Kasa smart plug

wattwise config kasa

监控

# Quick power view (single reading)
wattwise

To discover the kasa devices on your local network

wattwise --discover

Continuous monitoring with charts

wattwise --watch

Monitor current (amperes) as well

wattwise --current --watch

Set refresh interval (seconds)

wattwise --watch --interval 5

Output only raw watt value (for scripting use)

wattwise --raw

Continuous raw monitoring (output a new value every second)

wattwise --raw --watch

Specify data source manually

wattwise --source homeassistant wattwise --source kasa

Manage multiple devices

wattwise devices list wattwise devices add --name "PC" --type kasa --ip 192.168.1.50 wattwise devices add --name "Server" --type homeassistant \ --host http://homeassistant.local:8123 \ --token $HA_TOKEN \ --entity-id sensor.server_power \ --current-entity-id sensor.server_current wattwise --device "PC"

要求

配置

配置存储在 ~/.config/wattwise/config.yaml 中,包括:

Docker 使用技巧

创建别名以便使用

您可以创建一个 bash 别名以便更方便使用:

# Add to your .bashrc or .zshrc file
alias wattwise='docker run -it --rm --network host \
  -v ~/.config/wattwise:/root/.config/wattwise \
  -v ~/.local/share/wattwise:/root/.local/share/wattwise \
  wattwise'

After creating the alias, you can use it just like the normal command:

wattwise # Single reading wattwise --watch # Continuous monitoring wattwise config fix-permissions # Fix directory permissions wattwise --device "PC" # Target a specific configured device

License

MIT

--- Tranlated By Open Ai Tx | Last indexed: 2026-05-01 ---