dorkhub

integration_blueprint

Blueprint for custom_component developers.

ludeeus
Python599214 forksMITupdated 5 days ago
git clone https://github.com/ludeeus/integration_blueprint.gitludeeus/integration_blueprint

Notice

The component and platforms in this repository are not meant to be used by a user, but as a "blueprint" that custom component developers can build upon, to make more awesome stuff.

HAVE FUN! 😎

Why?

This is simple, by having custom_components look (README + structure) the same it is easier for developers to help each other and for users to start using them.

If you are a developer and you want to add things to this "blueprint" that you think more developers will have use for, please open a PR to add it :)

What?

This repository contains multiple files, here is a overview:

File Purpose  Documentation
.devcontainer.json Used for development/testing with Visual Studio Code. Documentation
.github/renovate.json Dependency update configuration for Renovate (enabled by default). Documentation
.github/_dependabot.yml Dependency update configuration for Dependabot (disabled, see "Dependency updates" below). Documentation
.github/ISSUE_TEMPLATE/*.yml Templates for the issue tracker Documentation
custom_components/integration_blueprint/* Integration files, this is where everything happens. Documentation
CONTRIBUTING.md Guidelines on how to contribute. Documentation
LICENSE The license file for the project. Documentation
README.md The file you are reading now, should contain info about the integration, installation and configuration instructions. Documentation
requirements_dev.txt Python packages used for development/testing this integration (also installs lint tooling via requirements_lint.txt). Documentation
requirements_lint.txt Python packages used to lint this integration (installed by the Lint CI job). Documentation
requirements_common.txt Python packages common to CI and local dev, installed first so any pip upgrade completes before other dependencies (e.g. a modern pip). Documentation

Dependency updates

This template ships with configuration for two dependency update tools. Pick one and remove or disable the other:

  • Renovate (.github/renovate.json) is enabled by default.
  • Dependabot (.github/_dependabot.yml) is included but disabled — the _ prefix means GitHub ignores it. To use Dependabot instead, rename the file back to .github/dependabot.yml and delete .github/renovate.json.

How?

  1. Create a new repository in GitHub, using this repository as a template by clicking the "Use this template" button in the GitHub UI.
  2. Open your new repository in Visual Studio Code devcontainer (Preferably with the "Dev Containers: Clone Repository in Named Container Volume..." option).
  3. Rename all instances of the integration_blueprint to custom_components/<your_integration_domain> (e.g. custom_components/awesome_integration).
  4. Rename all instances of the Integration Blueprint to <Your Integration Name> (e.g. Awesome Integration).
  5. Run the scripts/develop to start HA and test out your new integration.

Next steps

These are some next steps you may want to look into:

more like this

meine

meine 🌒 - A CLI file manager and system utility built with Textual. It combines intuitive command parsing with rich t…

Python50

taskbutler

Create and add progress bars, Office365 Files and Dropbox Paper papers by labels and link them to your Todoist tasks.

Python50

search

search projects, people, and tags