• Stars
    star
    324
  • Rank 129,708 (Top 3 %)
  • Language
    Python
  • License
    MIT License
  • Created over 5 years ago
  • Updated 10 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Blueprint for custom_component developers.

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/ISSUE_TEMPLATE/*.yml Templates for the issue tracker Documentation
.vscode/tasks.json Tasks for the devcontainer. 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.txt Python packages used for development/lint/testing this integration. Documentation

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 Repositories

1

action-shellcheck

GitHub action for ShellCheck.
Shell
277
star
2

awesomeversion

One version package to rule them all, One version package to find them, One version package to bring them all, and in the darkness bind them.
Python
56
star
3

action-ha-config-check

Check Home Assistant Configuration
Shell
23
star
4

aiogithubapi

Asynchronous Python client for the GitHub API
Python
23
star
5

container

Custom containers for various usecases
Shell
22
star
6

googledevices

Get information from, and control various Google devices.
Python
20
star
7

pytraccar

Update and fetch device information from Traccar.
Python
15
star
8

setup-homeassistant

Setup a Home Assistant instance in your GitHub action flow.
Python
13
star
9

custom-component-store

📦 Manage your custom_components for Home Assistant
Python
12
star
10

action-push

Push the updated workspace back to the repository.
Shell
10
star
11

dockerfile-updater

A GitHub action to handle your Dockerfile dependencies.
Python
9
star
12

alpinepkgs

Python package that give you information about packages from pkgs.alpinelinux.org
Python
7
star
13

pyhaversion

Get the latest Home Assistant version from various sources.
Python
6
star
14

action-accesscontrol

Check if the invoker has access defined access level.
Python
6
star
15

pycfdns

Update Cloudflare DNS records.
Python
4
star
16

hachanges

Easy list breaking changes for Home Assistant
TypeScript
4
star
17

home-assistant-configuration

This repository exists mostly for my own amusement, but it may contain some things that others might find useful.
4
star
18

customjson

Creates json with information for custom_updater and custom_component_store.
Python
4
star
19

ad-watchdog

Watchdog App for AppDaemon.
Python
4
star
20

pyuptimerobot

Python API wrapper for Uptime Robot
Python
3
star
21

reporeleaser

Create a new release for your repo, with a commit changelog.
Python
3
star
22

ad-address

This appends address information attributes based on the lat/long from a device tracker entity.
Python
3
star
23

addonupdater

Update dependencies in Community add-ons.
Python
3
star
24

pylaunches

A python packages to get information form upcoming space launches,
Python
2
star
25

pytautulli

A python module to get information from Tautulli
Python
2
star
26

awesome-addons-repository

My awesome add-ons repository
Dockerfile
2
star
27

pyaftership

Async Python wrapper for the AfterShip API
Python
2
star
28

action-eventdata

Display the content of the event that triggered the run.
Dockerfile
2
star
29

actions

Testground for GitHub Actions
Shell
1
star
30

furystoolbox

A collection of tools.
Python
1
star
31

pyupdate

DEPRECATED
Python
1
star
32

action-reporeleaser

Create a new release using reporeleaser.
Shell
1
star
33

theme-hacs

Sample theme repository for HACS.
1
star
34

webhook

V powered CLI Webhook notifier
V
1
star
35

ad-hacs

Sample AppDaemon app for HACS.
Python
1
star
36

pyhassbian

A python package to interact with hassbian-config.
Python
1
star
37

integration-hacs

Sample integration repository for HACS.
Python
1
star
38

sampleclient

Sample Client lib.
Python
1
star
39

hacs-actions

JavaScript
1
star
40

pyruter

A module to get information about the next departure from a stop.
Python
1
star
41

colorlog

A simple component to format log output with colors.
HTML
1
star
42

nothing

Custom integration for Home Assistant that do nothing
1
star
43

action-require-labels

This action privides a simple solution to require specific labels on pull requests. Without the need to use the GitHub API and tokens.
JavaScript
1
star