All Projects → boralyl → github-custom-component-tutorial

boralyl / github-custom-component-tutorial

Licence: MIT license
A tutorial for creating a custom component for Home Assistant using GitHub's API.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to github-custom-component-tutorial

home-assistant-frigidaire
Custom component for the Frigidaire integration
Stars: ✭ 11 (-64.52%)
Mutual labels:  home-assistant, homeassistant, custom-component
openrgb ha
OpenRGB integration for Home Assistant
Stars: ✭ 40 (+29.03%)
Mutual labels:  home-assistant, homeassistant, custom-component
integration blueprint
Blueprint for custom_component developers.
Stars: ✭ 151 (+387.1%)
Mutual labels:  home-assistant, homeassistant, custom-component
ha-zoom-automation
Custom Home Assistant component for Zoom. Tracks when you are connected to a Zoom call by default but may allow you to track more.
Stars: ✭ 47 (+51.61%)
Mutual labels:  home-assistant, homeassistant, custom-component
home-assistant-p2000
🚒 This component tracks P2000 emergency events in The Netherlands.
Stars: ✭ 45 (+45.16%)
Mutual labels:  homeassistant, custom-component
ytube music player
YouTube music player for homeassistant
Stars: ✭ 226 (+629.03%)
Mutual labels:  homeassistant, custom-component
purifier-card
Air Purifier card for Home Assistant Lovelace UI
Stars: ✭ 155 (+400%)
Mutual labels:  home-assistant, homeassistant
ledfxrm
Custom Integration for Home Assistant to control a any (local/remote) LedFX-server - State: beta
Stars: ✭ 31 (+0%)
Mutual labels:  homeassistant, custom-component
Ha Wyzeapi
Home Assistant Integration for Wyze Bulbs, Switches, Sensors and Lock
Stars: ✭ 187 (+503.23%)
Mutual labels:  home-assistant, homeassistant
ha-eskom-loadshedding
Fetches loadshedding data from Eskom
Stars: ✭ 48 (+54.84%)
Mutual labels:  homeassistant, custom-component
addon-tailscale
Tailscale - Home Assistant Community Add-ons
Stars: ✭ 47 (+51.61%)
Mutual labels:  home-assistant, homeassistant
Pyscript
Pyscript adds rich Python scripting to HASS
Stars: ✭ 219 (+606.45%)
Mutual labels:  home-assistant, homeassistant
Addon Node Red
Node-RED - Home Assistant Community Add-ons
Stars: ✭ 210 (+577.42%)
Mutual labels:  home-assistant, homeassistant
ha-birthdays
Birthday integration for HomeAssistant
Stars: ✭ 14 (-54.84%)
Mutual labels:  homeassistant, custom-component
Addon Vscode
Visual Studio Code - Home Assistant Community Add-ons
Stars: ✭ 201 (+548.39%)
Mutual labels:  home-assistant, homeassistant
breaking changes
Component to show potential breaking_changes in the current published version based on your loaded components
Stars: ✭ 83 (+167.74%)
Mutual labels:  homeassistant, custom-component
ocpp
Home Assistant integration for electric vehicle chargers that support the Open Charge Point Protocol (OCPP).
Stars: ✭ 82 (+164.52%)
Mutual labels:  home-assistant, homeassistant
home-assistant-config
🏠 Home Assistant Configuration & Documentation for my smart home using Node-RED for automations. Press ⭐ for notification of updates.
Stars: ✭ 34 (+9.68%)
Mutual labels:  home-assistant, homeassistant
home-assistant-svt-play
Play SVT Play videos and channels via home assistant
Stars: ✭ 17 (-45.16%)
Mutual labels:  home-assistant, homeassistant
lovelace-valetudo-map-card
Draws the map available from a Xiaomi Vacuum cleaner flashed with Valetudo in a Home Assistant Lovelace card
Stars: ✭ 149 (+380.65%)
Mutual labels:  home-assistant, homeassistant

Github Custom for Home Assistant

About

This repo contains a custom component for Home Assistant that was created in a tutorial series on aarongodfrey.dev.

The tutorial walks through the steps to create a custom component for use in Home Assistant.

What It Is

An integration that monitors GitHub repositories specified in a configuration.yaml file or optionally via the Integrations UI.

Running Tests

To run the test suite create a virtualenv (I recommend checking out pyenv and pyenv-virtualenv for this) and install the test requirements.

$ pip install -r requirements.test.txt

After the test dependencies are installed you can simply invoke pytest to run the test suite.

$ pytest
Test session starts (platform: linux, Python 3.7.5, pytest 5.4.3, pytest-sugar 0.9.4)
rootdir: /home/aaron/projects/github-custom, inifile: setup.cfg, testpaths: tests
plugins: forked-1.3.0, timeout-1.4.2, cov-2.10.1, aiohttp-0.3.0, requests-mock-1.8.0, xdist-2.1.0, sugar-0.9.4, test-groups-1.0.3, homeassistant-custom-component-0.0.20
collecting ...
 tests/test_config_flow.py ✓✓✓✓✓✓✓✓✓✓✓                                                                                                                                          85% ████████▌
 tests/test_sensor.py ✓✓                                                                                                                                                       100% ██████████

----------- coverage: platform linux, python 3.7.5-final-0 -----------
Name                                             Stmts   Miss  Cover   Missing
------------------------------------------------------------------------------
custom_components/__init__.py                        0      0   100%
custom_components/github_custom/__init__.py         12      0   100%
custom_components/github_custom/config_flow.py      23      0   100%
custom_components/github_custom/const.py            18      0   100%
custom_components/github_custom/sensor.py           97      5    95%   86-89, 121
------------------------------------------------------------------------------
TOTAL                                              150      5    97%

Required test coverage of 93.0% reached. Total coverage: 96.67%

Results (0.73s):
      13 passed
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].