Skip to main content

Contributing

Contributing to this project should be as easy and transparent as possible, whether it's:

  • Reporting a bug
  • Discussing the current state of the code
  • Submitting a fix
  • Proposing new features

Getting started​

The project uses uv.

  1. Set up the project with ./scripts/setup.sh. This installs the dependencies and the prek hooks.
  2. Start Home Assistant with ./scripts/develop.sh.
  3. Open http://127.0.0.1:8123 in your browser.

Pull requests​

Pull requests are the best way to propose changes to the codebase.

  1. Fork the repository and create your branch from develop. main is the release branch.
  2. Update the documentation in website/content/index.md if you changed something user-visible.
  3. Add an entry under ## [Unreleased] in CHANGELOG.md.
  4. Make sure ./scripts/lint.sh and uv run pytest pass.
  5. Open the pull request against develop.

Never use real credentials or customer data (contract account numbers, meter point numbers, ...) in code, tests or issues. Use the fake data in tests/api_data.py.

Coding style​

./scripts/lint.sh runs ruff (format and lint), ty, yamllint and rumdl. See CLAUDE.md for the project rules.

AI assistant​

The project only uses Claude Code as AI assistant. Its rules are in CLAUDE.md, tests/CLAUDE.md, website/CLAUDE.md and the skills in .claude/skills/.

Documentation​

The documentation is a Docusaurus website in website/ and needs Node.js. The integration page is website/content/index.md:

./scripts/docs.sh # build
./scripts/docs.sh start # live reload

Tests​

Tests use pytest. 100% test coverage is enforced, so every new code path needs a test.

uv run pytest

Report bugs​

Report a bug by opening a new issue. Great bug reports tend to have:

  • A quick summary and/or background
  • Steps to reproduce
  • What you expected would happen
  • What actually happens
  • Debug logs (remove credentials and customer data first)
  • Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)

License​

By contributing, you agree that your contributions will be licensed under the Apache License.

Netz OÖ eServiceNetz OÖ eServiceAdd integration to my Home AssistantLatest release on GitHub

A custom integration, installed with HACS. It requires Home Assistant 2026.9.4 or newer.

A community project, not affiliated with or endorsed by Netz Oberösterreich GmbH. Netz OÖ is a trademark of its owner.

Its IoT class is Cloud Polling.

View source on GitHub
View known issues
Request a feature

Categories

  • Energy
  • Sensor

Code owners

@mh-superbox

On this page