PowerCalc

Custom component for Home Assistant to estimate the power consumption (as virtual meters) of lights, fans, smart speakers and other devices, which don't have a built-in power meter.
https://github.com/bramstroker/homeassistant-powercalc

Category: Energy Systems
Sub Category: Building Energy Monitoring

Keywords

consumption energy-monitor hacktoberfest hacs home-assistant homeassistant metering power virtual-sensors

Keywords from Contributors

hue-lights varta varta-storage hacs-integration climate sensor thermostat tuya homeassistant-integration lovelace

Last synced: about 14 hours ago
JSON representation

Repository metadata

Custom component to calculate estimated power consumption of lights and other appliances

README.md

Version
Downloads
Contributors
hacs_badge
hacs installs
Code style: black
Code style: black
Coverage Status
Sonar quality gate
BuyMeACoffee

PowerCalc is a versatile custom component for Home Assistant that estimates power consumption for devices like lights, fans, smart speakers, and more—especially those without built-in power meters.
It acts as a virtual energy monitor, using advanced strategies to calculate power usage. For light entities, PowerCalc analyzes factors such as brightness, hue, saturation, and color temperature to deliver accurate consumption estimates. For other devices, it offers extensive configuration possibilities.

Additionally, PowerCalc includes a powerful measurement utility, enabling users to assess their devices' power usage and contribute custom power profiles to the growing PowerCalc library.

Preview

"Buy Me A Coffee"

Go to the Quick Start for installation instruction.

⭐ Enjoying PowerCalc? Please consider giving the project a star on GitHub, it really helps with visibility and motivation!

Powered by

JetBrains logo.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 3 days ago

Total Commits: 5,679
Total Committers: 313
Avg Commits per committer: 18.144
Development Distribution Score (DDS): 0.394

Commits in past year: 1,712
Committers in past year: 79
Avg Commits per committer in past year: 21.671
Development Distribution Score (DDS) in past year: 0.476

Name Email Commits
Bram b****n@e****l 3441
pre-commit-ci[bot] 6****] 372
GitHub Actions 4****] 332
renovate[bot] 2****] 312
CV d****t 90
@RubenKelevra c****d@g****m 74
Crowdin Bot s****t@c****m 48
Michal Bartak m****l@g****m 31
Jarod2801 J****1 26
Alexandre Bertrand a****d@i****o 25
Thorsten1982 T****N@g****m 24
Jort 6****l 20
Linus Nordin l****n@g****m 19
Daniel O'Connor d****r@g****m 18
Stefan Gries 1****s 18
Dr-Seltsam 4****m 18
Marius 3****b 16
dewbot6 d****s@c****t 15
CM000n s****e@g****m 14
nepozs 5****s 14
Josh Barnard b****e 12
alvinchen1 2****1 12
ltloopy 5****y 12
Jonas Dambacher j****r@b****e 10
LtKowalski 2****i 10
Marcus Voß 4****6 10
Miguel m****2 10
misa1515 6****5 10
naamah75 w****r@n****t 9
besteru 6****u 9
and 283 more...

Committer domains:


Issue and Pull Request metadata

Last synced: about 17 hours ago

Total issues: 375
Total pull requests: 2,115
Average time to close issues: 14 days
Average time to close pull requests: 2 days
Total issue authors: 222
Total pull request authors: 177
Average comments per issue: 4.73
Average comments per pull request: 1.3
Merged pull request: 1,833
Bot issues: 7
Bot pull requests: 742

Past year issues: 86
Past year pull requests: 531
Past year average time to close issues: 10 days
Past year average time to close pull requests: 2 days
Past year issue authors: 61
Past year pull request authors: 46
Past year average comments per issue: 3.44
Past year average comments per pull request: 0.87
Past year merged pull request: 426
Past year bot issues: 0
Past year bot pull requests: 245

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/bramstroker/homeassistant-powercalc

Top Issue Authors

  • bramstroker (35)
  • michalk-k (21)
  • Mariusthvdb (16)
  • RubenKelevra (16)
  • dagobert (10)
  • erkr (10)
  • bcjmk (6)
  • Stephan-4711 (4)
  • Largelos (4)
  • KlaraJa (4)
  • TheSerapher (3)
  • puetsch (3)
  • github-actions[bot] (3)
  • AlexKusnezov (3)
  • Gloomyeye (3)

Top Pull Request Authors

  • bramstroker (639)
  • renovate[bot] (495)
  • github-actions[bot] (142)
  • pre-commit-ci[bot] (105)
  • RubenKelevra (61)
  • dagobert (60)
  • michalk-k (23)
  • dewbot6 (16)
  • stuartp44 (15)
  • Mariusthvdb (11)
  • CloCkWeRX (11)
  • Dr-Seltsam (11)
  • dxmnkd316 (11)
  • barndawgie (11)
  • ltloopy (10)

Top Issue Labels

  • bug (226)
  • enhancement (105)
  • Stale (54)
  • group (32)
  • config-flow (29)
  • model-library (25)
  • question (15)
  • autodiscovery (13)
  • measure-tool (9)
  • energy-sensor (8)
  • lut strategy (7)
  • fixed strategy (5)
  • powerprofile (4)
  • translations (3)
  • multi_switch strategy (3)
  • documentation (3)
  • utility-meter (3)
  • linear strategy (2)
  • wled strategy (2)
  • subprofile (2)
  • daily-fixed (2)
  • ha-deprecation (1)
  • profile-website (1)
  • composite strategy (1)
  • dependencies (1)
  • workflows (1)

Top Pull Request Labels

  • dependencies (493)
  • powerprofile (491)
  • bug (338)
  • enhancement (253)
  • lightmodel (146)
  • measure-tool (81)
  • documentation (58)
  • Stale (15)
  • config-flow (9)
  • translations (7)
  • model-library (6)
  • utility-meter (6)
  • release (5)
  • autodiscovery (4)
  • multi_switch strategy (4)
  • group (3)
  • daily-fixed (2)
  • light-model (2)
  • github-action (2)
  • generic-model-id (2)
  • skip-changelog (2)
  • playbook (2)
  • subprofile (2)
  • linear strategy (1)

Package metadata

proxy.golang.org: github.com/bramstroker/homeassistant-powercalc

nixpkgs-unstable: home-assistant-custom-components.powercalc

Custom Home Assistant component for virtual power sensors


Dependencies

.github/workflows/hacs-validate.yml actions
  • actions/checkout v2 composite
  • hacs/action main composite
  • home-assistant/actions/hassfest master composite
.github/workflows/publish-measure-image.yml actions
  • actions/checkout v2 composite
  • docker/build-push-action v2 composite
  • docker/login-action v1 composite
  • docker/metadata-action v3 composite
  • docker/setup-buildx-action v1 composite
  • docker/setup-qemu-action v1 composite
  • home-assistant/actions/helpers/version master composite
.github/workflows/release-drafter.yml actions
  • actions/checkout v2 composite
  • release-drafter/release-drafter v5 composite
.github/workflows/release.yml actions
  • actions/checkout v2 composite
  • home-assistant/actions/helpers/version master composite
  • svenstaro/upload-release-action v1-release composite
.github/workflows/test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v1 composite
  • coverallsapp/github-action master composite
.github/workflows/validate-lut-files.yml actions
  • actions/checkout v2 composite
.github/workflows/validate-model-json.yml actions
  • actions/checkout v2 composite
  • bramstroker/json-schema-validator master composite
utils/measure/Dockerfile docker
  • python 3.10-slim-buster build
.github/scripts/lut_validator/package-lock.json npm
  • @hapi/hoek 6.2.4
  • @hapi/hoek 8.5.1
  • @hapi/joi 14.5.0
  • @hapi/marker 1.0.0
  • @hapi/topo 3.1.6
  • chalk 5.0.1
  • commander 3.0.2
  • csval 1.1.1
  • enjoi 6.0.2
  • isemail 3.2.0
  • node-gzip 1.1.2
  • papaparse 5.3.1
  • picomatch 2.3.0
  • punycode 2.1.1
  • readdirp 3.6.0
.github/scripts/lut_validator/package.json npm
  • chalk ^5.0.1
  • csval ^1.1.1
  • node-gzip ^1.1.2
  • readdirp ^3.6.0
.github/workflows/lint.yml actions
  • actions/cache v2 composite
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • chartboost/ruff-action v1 composite
  • snok/install-poetry v1 composite
.github/workflows/stale.yml actions
  • actions/stale v8 composite
pyproject.toml pypi
  • homeassistant *
  • python ^3.11
utils/measure/pyproject.toml pypi
.github/scripts/profile_library/requirements.txt pypi
  • aiofiles ==25.1.0
  • gitpython ==3.1.45
  • pytablewriter ==1.2.1
uv.lock pypi
  • 177 dependencies
.github/workflows/labeler.yml actions
  • actions/labeler v6 composite
utils/visualize/pyproject.toml pypi
  • colour-science ==0.4.6
  • contourpy >=1.0
  • cycler >=0.11
  • fonttools >=4.38
  • imageio >=2.25
  • kiwisolver >=1.4
  • matplotlib >=3.6
  • numpy *
  • packaging >=22.0
  • pandas >=2.2
  • pillow >=11.0
  • plotly >=6.0.0
  • pyparsing >=3.0
  • python-dateutil >=2.8
  • pytz ==2025.2
  • scipy >=1.12
  • seaborn >=0.13.2
  • six >=1.16
  • typing-extensions >=4.5
.github/workflows/generate-plots.yml actions
  • ./.github/workflows/uv-composite-action * composite
  • EndBug/add-and-commit v9 composite
  • actions/checkout v6 composite
.github/workflows/pr-comment-generate-plots.yml actions
  • ./.github/workflows/uv-composite-action * composite
  • actions/checkout v6 composite
  • actions/github-script v8 composite
  • actions/upload-artifact v5 composite
.github/workflows/update-profile-library.yml actions
  • EndBug/add-and-commit v9 composite
  • actions/checkout v6 composite
  • actions/setup-python v6 composite
  • jakejarvis/cloudflare-purge-action master composite
.github/workflows/uv-composite-action/action.yaml actions
  • actions/cache v4 composite
  • actions/setup-python v6 composite
utils/visualize/uv.lock pypi
  • cfgv 3.4.0
  • colour-science 0.4.6
  • contourpy 1.3.2
  • cycler 0.12.1
  • distlib 0.4.0
  • filelock 3.19.1
  • fonttools 4.59.0
  • identify 2.6.14
  • imageio 2.37.0
  • kiwisolver 1.4.8
  • matplotlib 3.10.3
  • mypy 1.18.2
  • mypy-extensions 1.1.0
  • narwhals 1.48.0
  • nodeenv 1.9.1
  • numpy 2.3.1
  • packaging 25.0
  • pandas 2.3.1
  • pathspec 0.12.1
  • pillow 11.3.0
  • platformdirs 4.4.0
  • plotly 6.2.0
  • powercalc-visualize 0.1.0
  • pre-commit 4.3.0
  • pyparsing 3.2.3
  • python-dateutil 2.9.0.post0
  • pytz 2025.2
  • pyyaml 6.0.2
  • ruff 0.12.12
  • scipy 1.16.0
  • seaborn 0.13.2
  • six 1.17.0
  • typing-extensions 4.14.1
  • tzdata 2025.2
  • virtualenv 20.34.0
utils/library_downloader/docker-compose.yml docker
  • bramgerritsen/powercalc-download-proxy latest
  • prom/prometheus latest
.github/workflows/crowdin-upload.yml actions
  • actions/checkout v6 composite
  • crowdin/github-action v2 composite
.github/workflows/test-measure.yml actions
  • ./.github/workflows/uv-composite-action * composite
  • actions/checkout v6 composite
.github/workflows/docs.yml actions
  • actions/checkout v6 composite
  • actions/configure-pages v5 composite
  • actions/deploy-pages v4 composite
  • actions/setup-python v6 composite
  • actions/upload-pages-artifact v4 composite
.github/workflows/crowdin-download.yml actions
  • actions/checkout v6 composite
  • crowdin/github-action v2 composite
utils/library/requirements.txt pypi
  • pytablewriter ==1.2.1
utils/measure/measure/ocr/requirements.txt pypi
  • Pillow ==12.0.0
  • numpy ==2.3.5
  • opencv-python ==4.12.0.88
  • packaging ==25.0
  • pyparsing ==3.2.5
  • pytesseract ==0.3.13
utils/library_downloader/Dockerfile docker
  • node 20.10.0-alpine3.17 build
utils/measure/uv.lock pypi
  • aiohappyeyeballs 2.6.1
  • aiohttp 3.12.14
  • aiohttp-client-cache 0.13.0
  • aiosignal 1.4.0
  • annotated-types 0.7.0
  • ansicon 1.89.0
  • anyio 4.9.0
  • appdirs 1.4.4
  • asyncclick 8.1.8
  • attrs 25.3.0
  • blessed 1.21.0
  • cattrs 25.1.1
  • certifi 2025.7.14
  • cffi 1.17.1
  • chardet 5.2.0
  • charset-normalizer 3.4.2
  • colorama 0.4.6
  • coverage 7.9.2
  • cryptography 45.0.5
  • editor 1.6.6
  • frozenlist 1.7.0
  • homeassistant-api 5.0.0
  • idna 3.10
  • iniconfig 2.1.0
  • inquirer 3.4.0
  • itsdangerous 2.2.0
  • jinxed 1.3.0
  • mashumaro 3.16
  • measure 0.1.0
  • multidict 6.6.3
  • numpy 2.3.1
  • opencv-python 4.11.0.86
  • packaging 25.0
  • phue 1.2
  • pillow 11.3.0
  • pluggy 1.6.0
  • propcache 0.3.2
  • pycparser 2.22
  • pycryptodome 3.23.0
  • pydantic 2.8.2
  • pydantic-core 2.20.1
  • pygments 2.19.2
  • pytesseract 0.3.13
  • pytest 8.4.1
  • pytest-cov 6.2.1
  • python-decouple 3.8
  • python-kasa 0.10.2
  • readchar 4.2.1
  • requests 2.32.4
  • requests-cache 0.9.8
  • ruff 0.12.4
  • runs 1.2.2
  • simplejson 3.20.1
  • sniffio 1.3.1
  • tinytuya 1.17.2
  • tuyapower 0.2.0
  • typing-extensions 4.14.1
  • tzdata 2025.2
  • url-normalize 2.2.1
  • urllib3 2.5.0
  • wcwidth 0.2.13
  • websockets 14.2
  • xmod 1.8.1
  • yarl 1.20.1
.github/workflows/pr-comment-upload-and-comment.yml actions
  • actions/download-artifact v6 composite
  • actions/github-script v8 composite
  • devicons/public-upload-to-imgur v2 composite
utils/library_downloader/package-lock.json npm
  • 178 dependencies
utils/library_downloader/package.json npm
  • @types/apicache ^1.6.6 development
  • @types/cors ^2.8.17 development
  • @types/express ^5.0.0 development
  • @types/node ^22.0.0 development
  • nodemon ^3.1.0 development
  • ts-node ^10.9.2 development
  • typescript ^5.4.3 development
  • @octokit/rest ^22.0.0
  • apicache ^1.6.3
  • cors ^2.8.5
  • dotenv ^17.0.0
  • express ^5.0.0
  • express-prom-bundle ^8.0.0
  • pino ^10.0.0
  • pino-pretty ^13.0.0
  • prom-client ^15.1.1

Score: -Infinity