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 sensor hacs-integration weather thermostat homeassistant-integration battery

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.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 8 days ago

Total Commits: 4,359
Total Committers: 268
Avg Commits per committer: 16.265
Development Distribution Score (DDS): 0.379

Commits in past year: 1,771
Committers in past year: 83
Avg Commits per committer in past year: 21.337
Development Distribution Score (DDS) in past year: 0.46

Name Email Commits
Bram b****n@e****l 2707
GitHub Actions 4****] 331
renovate[bot] 2****] 212
pre-commit-ci[bot] 6****] 188
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
misa1515 6****5 10
Marcus Voß 4****6 10
Sergio s****o@m****m 9
naamah75 w****r@n****t 9
matteobreschig 6****g 8
Linus l****n@g****m 8
marthubner 8****r 8
Chris Hallgren c****n@g****m 8
ffm777 4****7 7
Stuart Pearson 1****4 7
Morten Trab m****n@t****k 7
Brian Egge b****e@g****m 7
Marc Geurts g****c@h****m 7
and 238 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 380
Total pull requests: 1,316
Average time to close issues: 15 days
Average time to close pull requests: 3 days
Total issue authors: 193
Total pull request authors: 156
Average comments per issue: 5.83
Average comments per pull request: 1.65
Merged pull request: 1,182
Bot issues: 1
Bot pull requests: 391

Past year issues: 226
Past year pull requests: 908
Past year average time to close issues: 10 days
Past year average time to close pull requests: 2 days
Past year issue authors: 121
Past year pull request authors: 88
Past year average comments per issue: 5.78
Past year average comments per pull request: 1.12
Past year merged pull request: 836
Past year bot issues: 0
Past year bot pull requests: 332

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

Top Issue Authors

  • bramstroker (32)
  • michalk-k (24)
  • Mariusthvdb (18)
  • RubenKelevra (15)
  • erkr (11)
  • dagobert (10)
  • Stephan-4711 (6)
  • KlaraJa (5)
  • blackteddybear (4)
  • dansie (4)
  • TheSerapher (4)
  • wigster (4)
  • Gloomyeye (4)
  • frenck (3)
  • dolfs (3)

Top Pull Request Authors

  • bramstroker (424)
  • renovate[bot] (247)
  • github-actions[bot] (94)
  • pre-commit-ci[bot] (50)
  • 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 (242)
  • enhancement (105)
  • Stale (64)
  • group (39)
  • config-flow (38)
  • model-library (25)
  • autodiscovery (18)
  • measure-tool (13)
  • question (13)
  • energy-sensor (8)
  • lut strategy (7)
  • translations (6)
  • utility-meter (5)
  • fixed strategy (4)
  • multi_switch strategy (4)
  • daily-fixed (2)
  • wled strategy (2)
  • subprofile (2)
  • documentation (2)
  • profile-website (1)
  • new-device-type (1)
  • linear strategy (1)
  • powerprofile (1)
  • workflows (1)
  • ha-deprecation (1)
  • playbook (1)
  • composite strategy (1)

Top Pull Request Labels

  • powerprofile (273)
  • dependencies (246)
  • bug (242)
  • enhancement (152)
  • lightmodel (93)
  • measure-tool (45)
  • 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)

Dependencies

.github/workflows/generate-model-list.yml actions
  • EndBug/add-and-commit v7 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.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/scripts/supported_models/requirements.txt pypi
  • pytablewriter ==0.61.0
utils/measure/ocr/requirements.txt pypi
  • 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
.github/workflows/code-quality.yml actions
  • JetBrains/qodana-action v2023.2 composite
  • actions/checkout v3 composite
.github/workflows/lint.yml actions
  • 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
.github/workflows/stale.yml actions
  • actions/stale v8 composite
docs/requirements.txt pypi
  • readthedocs-sphinx-search ==0.1.1
  • sphinx ==5.3.0
  • sphinx-tabs ==3.4.0
  • sphinx_rtd_theme ==1.1.1
poetry.lock pypi
  • 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
pyproject.toml pypi
  • homeassistant *
  • python ^3.11
utils/measure/poetry.lock pypi
  • 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
utils/measure/pyproject.toml pypi
utils/visualize/requirements.txt pypi
  • 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: 12.676888444876468