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 climate hacs-integration sensor weather thermostat homeassistant-integration battery
Last synced: about 13 hours ago
JSON representation
Repository metadata
Custom component to calculate estimated power consumption of lights and other appliances
- Host: GitHub
- URL: https://github.com/bramstroker/homeassistant-powercalc
- Owner: bramstroker
- License: mit
- Created: 2021-06-04T13:10:11.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2025-06-05T06:50:11.000Z (3 days ago)
- Last Synced: 2025-06-05T10:12:59.119Z (3 days ago)
- Topics: consumption, energy-monitor, hacktoberfest, hacs, home-assistant, homeassistant, metering, power, virtual-sensors
- Language: Python
- Homepage:
- Size: 48.3 MB
- Stars: 1,191
- Watchers: 12
- Forks: 304
- Open Issues: 8
- Releases: 384
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
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.
Go to the Quick Start for installation instruction.
Owner metadata
- Name: Bram Gerritsen
- Login: bramstroker
- Email:
- Kind: user
- Description: Passionate web developer. Like to work on Home automation projects in my spare time.
- Website: https://www.emico.nl
- Location: Rhenen, The Netherlands
- Twitter:
- Company: Emico
- Icon url: https://avatars.githubusercontent.com/u/2345875?u=3bc54d845208b407819688f74e356d9a50d4a38b&v=4
- Repositories: 84
- Last ynced at: 2024-06-11T15:56:48.851Z
- Profile URL: https://github.com/bramstroker
GitHub Events
Total
- Fork event: 62
- Create event: 241
- Commit comment event: 1
- Issues event: 277
- Release event: 42
- Watch event: 206
- Delete event: 240
- Member event: 1
- Issue comment event: 1618
- Push event: 2360
- Pull request review event: 243
- Pull request review comment event: 220
- Pull request event: 970
Last Year
- Fork event: 62
- Create event: 241
- Commit comment event: 1
- Issues event: 277
- Release event: 42
- Watch event: 206
- Delete event: 240
- Member event: 1
- Issue comment event: 1618
- Push event: 2360
- Pull request review event: 243
- Pull request review comment event: 220
- Pull request event: 970
Committers metadata
Last synced: 11 days ago
Total Commits: 4,381
Total Committers: 270
Avg Commits per committer: 16.226
Development Distribution Score (DDS): 0.38
Commits in past year: 1,781
Committers in past year: 86
Avg Commits per committer in past year: 20.709
Development Distribution Score (DDS) in past year: 0.463
Name | Commits | |
---|---|---|
Bram | b****n@e****l | 2716 |
GitHub Actions | 4****] | 331 |
renovate[bot] | 2****] | 213 |
pre-commit-ci[bot] | 6****] | 193 |
CV | d****t | 90 |
@RubenKelevra | c****d@g****m | 74 |
Crowdin Bot | s****t@c****m | 32 |
Jort | 6****l | 20 |
Michal Bartak | m****l@g****m | 19 |
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 |
alvinchen1 | 2****1 | 12 |
Marcus Voß | 4****6 | 10 |
misa1515 | 6****5 | 10 |
Sergio | s****o@m****m | 9 |
naamah75 | w****r@n****t | 9 |
Chris Hallgren | c****n@g****m | 8 |
marthubner | 8****r | 8 |
Linus | l****n@g****m | 8 |
matteobreschig | 6****g | 8 |
Morten Trab | m****n@t****k | 7 |
Stuart Pearson | 1****4 | 7 |
Wouter Rutgers | g****t@w****l | 7 |
ffm777 | 4****7 | 7 |
Brian Egge | b****e@g****m | 7 |
and 240 more... |
Committer domains:
- me.com: 2
- gmx.net: 2
- codechimp.org: 1
- vandalon.nl: 1
- ausborn.de: 1
- zapto.de: 1
- napych.com: 1
- kabelmail.de: 1
- iki.fi: 1
- mark.atwood.name: 1
- takacs.net: 1
- vanwerkhoven.org: 1
- pwnagepeter.net: 1
- aiven.io: 1
- fastlikehell.com: 1
- planet.nl: 1
- cafun.nl: 1
- emico.nl: 1
- crowdin.com: 1
- comcast.net: 1
- monesi.com: 1
- naamah.it: 1
- trab.dk: 1
- wouterrutgers.nl: 1
- saadeh.dev: 1
- projectcataclysma.com: 1
- knudsvik.com: 1
- uosiu.info: 1
- whi.tw: 1
- currency-one.com: 1
- leap.ac: 1
- bcpearce.com: 1
- gradussen.com: 1
- frenck.dev: 1
- swiggers.net: 1
- kastarinen.net: 1
- illinoisalumni.org: 1
- fisch3r.net: 1
- koeln.de: 1
- kleinhans.info: 1
- ytterdal.net: 1
- snuzzle.me: 1
- tigrou.nl: 1
- microsoft.com: 1
- chrisbreuer.de: 1
- neon1.net: 1
- skarum.net: 1
- cihar.com: 1
- henabytes.com: 1
- nice.net.nz: 1
- dfki.de: 1
- roscarraig.com: 1
- alberg.dk: 1
- bnck.me: 1
- jhbruhn.de: 1
- codium.sk: 1
- bernards.nl: 1
- nohn.net: 1
- sam-dunne.com: 1
- techtree.co.uk: 1
- jla3.com: 1
- utwente.nl: 1
- next.gen.nz: 1
- macbookpro.localdomain: 1
- telenet.be: 1
- piio.info: 1
- stormshaker.com: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 383
Total pull requests: 1,333
Average time to close issues: 16 days
Average time to close pull requests: 3 days
Total issue authors: 195
Total pull request authors: 158
Average comments per issue: 5.86
Average comments per pull request: 1.64
Merged pull request: 1,198
Bot issues: 1
Bot pull requests: 401
Past year issues: 218
Past year pull requests: 900
Past year average time to close issues: 11 days
Past year average time to close pull requests: 2 days
Past year issue authors: 115
Past year pull request authors: 85
Past year average comments per issue: 5.77
Past year average comments per pull request: 1.1
Past year merged pull request: 829
Past year bot issues: 0
Past year bot pull requests: 336
Top Issue Authors
- bramstroker (32)
- michalk-k (24)
- Mariusthvdb (18)
- RubenKelevra (15)
- erkr (11)
- dagobert (10)
- Stephan-4711 (6)
- KlaraJa (5)
- Gloomyeye (4)
- blackteddybear (4)
- TheSerapher (4)
- wigster (4)
- dansie (4)
- dolfs (3)
- frenck (3)
Top Pull Request Authors
- bramstroker (427)
- renovate[bot] (254)
- github-actions[bot] (94)
- pre-commit-ci[bot] (53)
- RubenKelevra (48)
- dagobert (43)
- CloCkWeRX (19)
- Imperial-Guard (17)
- michalk-k (17)
- stuartp44 (12)
- PalminX (11)
- dansie (11)
- Dr-Seltsam (10)
- misa1515 (10)
- dewbot6 (9)
Top Issue Labels
- bug (244)
- enhancement (105)
- Stale (66)
- group (40)
- config-flow (38)
- model-library (26)
- autodiscovery (18)
- question (14)
- measure-tool (13)
- energy-sensor (9)
- lut strategy (7)
- translations (6)
- fixed strategy (5)
- utility-meter (5)
- multi_switch strategy (4)
- daily-fixed (2)
- wled strategy (2)
- subprofile (2)
- powerprofile (2)
- documentation (2)
- profile-website (1)
- new-device-type (1)
- linear strategy (1)
- workflows (1)
- ha-deprecation (1)
- playbook (1)
- composite strategy (1)
Top Pull Request Labels
- powerprofile (279)
- dependencies (253)
- bug (245)
- enhancement (152)
- lightmodel (93)
- measure-tool (46)
- documentation (35)
- Stale (12)
- translations (6)
- config-flow (5)
- utility-meter (4)
- generic-model-id (4)
- model-library (3)
- release (3)
- group (2)
- daily-fixed (2)
- autodiscovery (2)
- multi_switch strategy (2)
- light-model (1)
- skip-changelog (1)
- github-action (1)
- playbook (1)
- subprofile (1)
Package metadata
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 100
proxy.golang.org: github.com/bramstroker/homeassistant-powercalc
- Homepage:
- Documentation: https://pkg.go.dev/github.com/bramstroker/homeassistant-powercalc#section-documentation
- Licenses: mit
- Latest release: v1.17.13 (published 9 days ago)
- Last Synced: 2025-06-06T10:45:21.731Z (1 day ago)
- Versions: 100
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.401%
- Average: 5.583%
- Dependent repos count: 5.764%
Dependencies
- EndBug/add-and-commit v7 composite
- actions/checkout v2 composite
- actions/setup-python v2 composite
- actions/checkout v2 composite
- hacs/action main composite
- home-assistant/actions/hassfest master composite
- 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
- actions/checkout v2 composite
- release-drafter/release-drafter v5 composite
- actions/checkout v2 composite
- home-assistant/actions/helpers/version master composite
- svenstaro/upload-release-action v1-release composite
- actions/checkout v2 composite
- actions/setup-python v1 composite
- coverallsapp/github-action master composite
- actions/checkout v2 composite
- actions/checkout v2 composite
- bramstroker/json-schema-validator master composite
- python 3.10-slim-buster build
- @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
- chalk ^5.0.1
- csval ^1.1.1
- node-gzip ^1.1.2
- readdirp ^3.6.0
- pytablewriter ==0.61.0
- Pillow ==9.1.0
- numpy ==1.22.3
- opencv-python ==4.5.5.64
- packaging ==21.3
- pyparsing ==3.0.8
- pytesseract ==0.3.9
- JetBrains/qodana-action v2023.2 composite
- actions/checkout v3 composite
- actions/cache v3 composite
- actions/cache v2 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- chartboost/ruff-action v1 composite
- snok/install-poetry v1 composite
- actions/stale v8 composite
- readthedocs-sphinx-search ==0.1.1
- sphinx ==5.3.0
- sphinx-tabs ==3.4.0
- sphinx_rtd_theme ==1.1.1
- aiohttp 3.8.5 develop
- aiosignal 1.3.1 develop
- anyio 4.0.0 develop
- astral 2.2 develop
- async-timeout 4.0.3 develop
- atomicwrites-homeassistant 1.4.1 develop
- attrs 23.1.0 develop
- awesomeversion 22.9.0 develop
- bcrypt 4.0.1 develop
- black 23.7.0 develop
- certifi 2023.7.22 develop
- cffi 1.15.1 develop
- cfgv 3.4.0 develop
- charset-normalizer 3.2.0 develop
- ciso8601 2.3.0 develop
- click 8.1.7 develop
- colorama 0.4.6 develop
- colored 1.4.4 develop
- coverage 7.3.0 develop
- croniter 1.4.1 develop
- cryptography 41.0.3 develop
- distlib 0.3.7 develop
- execnet 2.0.2 develop
- filelock 3.12.3 develop
- freezegun 1.2.2 develop
- frozenlist 1.4.0 develop
- greenlet 2.0.2 develop
- h11 0.14.0 develop
- home-assistant-bluetooth 1.10.3 develop
- homeassistant 2023.9.0 develop
- homeassistant-stubs 2023.9.0 develop
- httpcore 0.17.3 develop
- httpx 0.24.1 develop
- identify 2.5.27 develop
- idna 3.4 develop
- ifaddr 0.2.0 develop
- iniconfig 2.0.0 develop
- jinja2 3.1.2 develop
- lru-dict 1.2.0 develop
- markupsafe 2.1.3 develop
- mock-open 1.4.0 develop
- multidict 6.0.4 develop
- mypy 1.5.1 develop
- mypy-extensions 1.0.0 develop
- nodeenv 1.8.0 develop
- numpy 1.23.2 develop
- orjson 3.9.2 develop
- packaging 23.1 develop
- paho-mqtt 1.6.1 develop
- pathspec 0.11.2 develop
- pip 23.2.1 develop
- pipdeptree 2.11.0 develop
- platformdirs 3.10.0 develop
- pluggy 1.3.0 develop
- pre-commit 3.4.0 develop
- pycparser 2.21 develop
- pydantic 1.10.12 develop
- pyjwt 2.8.0 develop
- pylint-per-file-ignores 1.2.1 develop
- pyopenssl 23.2.0 develop
- pytest 7.3.1 develop
- pytest-aiohttp 1.0.4 develop
- pytest-asyncio 0.21.0 develop
- pytest-cov 4.1.0 develop
- pytest-freezer 0.4.8 develop
- pytest-homeassistant-custom-component 0.13.54 develop
- pytest-picked 0.4.6 develop
- pytest-socket 0.6.0 develop
- pytest-sugar 0.9.7 develop
- pytest-test-groups 1.0.3 develop
- pytest-timeout 2.1.0 develop
- pytest-unordered 0.5.2 develop
- pytest-xdist 3.3.1 develop
- python-dateutil 2.8.2 develop
- python-slugify 4.0.1 develop
- pytz 2023.3.post1 develop
- pyyaml 6.0.1 develop
- requests 2.31.0 develop
- requests-mock 1.11.0 develop
- respx 0.20.2 develop
- ruff 0.0.287 develop
- setuptools 68.2.0 develop
- six 1.16.0 develop
- sniffio 1.3.0 develop
- sqlalchemy 2.0.15 develop
- syrupy 4.2.1 develop
- termcolor 2.3.0 develop
- text-unidecode 1.3 develop
- tqdm 4.66.1 develop
- types-croniter 1.4.0.1 develop
- types-pytz 2023.3.0.1 develop
- typing-extensions 4.7.1 develop
- ulid-transform 0.8.1 develop
- urllib3 2.0.4 develop
- virtualenv 20.24.4 develop
- voluptuous 0.13.1 develop
- voluptuous-serialize 2.6.0 develop
- voluptuous-stubs 0.1.1 develop
- yarl 1.9.2 develop
- homeassistant *
- python ^3.11
- ruff 0.0.272 develop
- aiodns 3.0.0
- aiohttp 3.8.4
- aiohttp-client-cache 0.6.1
- aiosignal 1.3.1
- ansicon 1.89.0
- anyio 3.7.0
- appdirs 1.4.4
- async-timeout 4.0.2
- asyncclick 8.1.3.4
- attrs 21.4.0
- blessed 1.20.0
- brotli 1.0.9
- cattrs 23.1.2
- certifi 2023.5.7
- cffi 1.15.1
- chardet 5.1.0
- charset-normalizer 3.1.0
- colorama 0.4.6
- frozenlist 1.3.3
- homeassistant-api 4.1.1.post2
- idna 3.4
- importlib-metadata 6.6.0
- inquirer 3.1.3
- itsdangerous 2.1.2
- jinxed 1.2.0
- multidict 6.0.4
- numpy 1.25.0
- opencv-python 4.7.0.72
- packaging 23.1
- phue 1.2
- pillow 9.5.0
- pycares 4.3.0
- pycparser 2.21
- pycryptodome 3.18.0
- pydantic 1.9.0
- pytesseract 0.3.10
- python-decouple 3.8
- python-editor 1.0.4
- python-forge 18.6.0
- python-kasa 0.5.1
- readchar 4.0.5
- requests 2.31.0
- requests-cache 0.9.8
- setuptools 67.8.0
- simplejson 3.19.1
- six 1.16.0
- sniffio 1.3.0
- tinytuya 1.12.8
- tuyapower 0.2.0
- typing-extensions 4.6.3
- url-normalize 1.4.3
- urllib3 2.0.3
- wcwidth 0.2.6
- yarl 1.9.2
- zipp 3.15.0
- Pillow ==9.4.0
- colour ==0.1.5
- colour-science ==0.4.2
- contourpy ==1.0.6
- cycler ==0.11.0
- fonttools ==4.38.0
- imageio ==2.25.1
- kiwisolver ==1.4.4
- matplotlib ==3.6.2
- numpy ==1.24.1
- packaging ==22.0
- pandas ==1.5.2
- pyparsing ==3.0.9
- python-dateutil ==2.8.2
- pytz ==2022.7
- scipy ==1.10.0
- six ==1.16.0
- typing_extensions ==4.5.0
Score: -Infinity