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 22 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.

Powered by

JetBrains logo.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 8 days ago

Total Commits: 5,348
Total Committers: 305
Avg Commits per committer: 17.534
Development Distribution Score (DDS): 0.394

Commits in past year: 1,802
Committers in past year: 77
Avg Commits per committer in past year: 23.403
Development Distribution Score (DDS) in past year: 0.488

Name Email Commits
Bram b****n@e****l 3243
pre-commit-ci[bot] 6****] 348
GitHub Actions 4****] 331
renovate[bot] 2****] 298
CV d****t 90
@RubenKelevra c****d@g****m 74
Crowdin Bot s****t@c****m 43
Thorsten1982 T****N@g****m 23
Michal Bartak m****l@g****m 22
Jort 6****l 20
Alexandre Bertrand a****d@i****o 18
Dr-Seltsam 4****m 18
Stefan Gries 1****s 18
Daniel O'Connor d****r@g****m 18
Marius 3****b 16
dewbot6 d****s@c****t 15
nepozs 5****s 14
CM000n s****e@g****m 14
Josh Barnard b****e 12
alvinchen1 2****1 12
ltloopy 5****y 12
LtKowalski 2****i 10
Marcus Voß 4****6 10
Miguel m****2 10
misa1515 6****5 10
naamah75 w****r@n****t 9
Sergio s****o@m****m 9
Justin Hahn h****7@g****m 8
Linus l****n@g****m 8
Chris Hallgren c****n@g****m 8
and 275 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 19 days ago

Total issues: 374
Total pull requests: 2,107
Average time to close issues: 14 days
Average time to close pull requests: 2 days
Total issue authors: 221
Total pull request authors: 176
Average comments per issue: 4.73
Average comments per pull request: 1.31
Merged pull request: 1,832
Bot issues: 7
Bot pull requests: 741

Past year issues: 144
Past year pull requests: 825
Past year average time to close issues: 11 days
Past year average time to close pull requests: 2 days
Past year issue authors: 86
Past year pull request authors: 60
Past year average comments per issue: 4.15
Past year average comments per pull request: 0.84
Past year merged pull request: 698
Past year bot issues: 1
Past year bot pull requests: 328

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)
  • KlaraJa (4)
  • Largelos (4)
  • Stephan-4711 (4)
  • github-actions[bot] (3)
  • Gloomyeye (3)
  • puetsch (3)
  • wigster (3)
  • TheSerapher (3)

Top Pull Request Authors

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

Top Issue Labels

  • bug (225)
  • 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 (492)
  • powerprofile (484)
  • 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


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