Skip to content

Create a custom component from a Home Assistant Integration Pull Request. Use this when you want to test a pull request that changes a built in integration.

License

Notifications You must be signed in to change notification settings

alandtse/pr_custom_component

Repository files navigation

PR Custom Component

GitHub Release GitHub all releases GitHub release (latest by SemVer) GitHub Activity

License

hacs Project Maintenance BuyMeCoffee

Discord Community Forum

Create a custom component from a Home Assistant Integration Pull Request. Use this when you want to test a pull request that changes a built in integration.

Warning: This is experimental and may fail if the Pull Request is for a substantially different version of HA or modifies more than the integration. Do not report bugs to the core authors!

Platform Description
binary_sensor Show whether the Pull Request has been updated since install.
sensor Show's the timestamp of the last change to the Pull Request
switch Enable to automatically update to the latest on the next check.

Installation

  1. Use HACS after adding this https://github.com/alandtse/pr_custom_component as a custom repository. Skip to 7.
  2. If no HACS, use the tool of choice to open the directory (folder) for your HA configuration (where you find configuration.yaml).
  3. If you do not have a custom_components directory (folder) there, you need to create it.
  4. In the custom_components directory (folder) create a new folder called pr_custom_component.
  5. Download all the files from the custom_components/pr_custom_component/ directory (folder) in this repository.
  6. Place the files you downloaded in the new directory (folder) you created.
  7. Restart Home Assistant.
  8. In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "PR Custom Component"

Using your HA configuration directory (folder) as a starting point you should now also have this:

custom_components/pr_custom_component/translations/en.json
custom_components/pr_custom_component/__init__.py
custom_components/pr_custom_component/api.py
custom_components/pr_custom_component/binary_sensor.py
custom_components/pr_custom_component/config_flow.py
custom_components/pr_custom_component/const.py
custom_components/pr_custom_component/manifest.json
custom_components/pr_custom_component/sensor.py
custom_components/pr_custom_component/switch.py

Installing an Auto Generated Custom Component

  1. In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "PR Custom Component".
  2. Provide the URL of the pull request you want to turn into a custom_component.

    For example, this will get a Tesla Pull Request: https://github.com/home-assistant/core/pull/46558

  3. After succesful install, you should see the PR Custom Component with title Tesla.
  4. Restart Home Assistant to enable the Tesla Custom Component to override the default.
  5. Hard refresh your browser to download any changes strings.
  6. Install Tesla Custom Component which has replaced the built in component.

Upgrading an Auto Generated Custom Component

  1. In the HA UI go to "Configuration" -> "Integrations", select the PR Custom Component with title Tesla Component's ... menu and reload. This will automatically download the latest files from the Pull Request
  2. Restart Home Assistant.

Uninstalling an Auto Generated Custom Component

This uses Tesla as an example.

  1. In the HA UI go to "Configuration" -> "Integrations", select the Tesla Component's ... menu and delete. This will uninstall the configured Tesla custom component from the HA instance.
  2. Select the PR Custom Component with title Tesla Component's ... menu and delete. This will delete custom files and restore the default).
  3. Restart Home Assistant.
  4. Hard refresh your browser

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines

Logo

The logo is a modified Pull request icon under MIT.

Component built with integration_blueprint.


About

Create a custom component from a Home Assistant Integration Pull Request. Use this when you want to test a pull request that changes a built in integration.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages