diff --git a/.github/workflows/cron.yaml b/.github/workflows/cron.yml similarity index 100% rename from .github/workflows/cron.yaml rename to .github/workflows/cron.yml diff --git a/README.md b/README.md index e86cb9d..0fd9880 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ This repository contains multiple files, here is a overview: File | Purpose -- | -- -`.devcontainer/*` | Used for development/testing with VSCODE, more info in the readme file in that dir. +`.devcontainer.json` | Used for development/testing with Visual Studio Code. `.github/ISSUE_TEMPLATE/feature_request.md` | Template for Feature Requests `.github/ISSUE_TEMPLATE/issue.md` | Template for issues `.vscode/tasks.json` | Tasks for the devcontainer. @@ -33,119 +33,15 @@ File | Purpose `custom_components/integration_blueprint/manifest.json` | A [manifest file](https://developers.home-assistant.io/docs/en/creating_integration_manifest.html) for Home Assistant. `custom_components/integration_blueprint/sensor.py` | Sensor platform for the integration. `custom_components/integration_blueprint/switch.py` | Switch sensor platform for the integration. -`tests/__init__.py` | Makes the `tests` folder a module. -`tests/conftest.py` | Global [fixtures](https://docs.pytest.org/en/stable/fixture.html) used in tests to [patch](https://docs.python.org/3/library/unittest.mock.html#unittest.mock.patch) functions. -`tests/test_api.py` | Tests for `custom_components/integration_blueprint/api.py`. -`tests/test_config_flow.py` | Tests for `custom_components/integration_blueprint/config_flow.py`. -`tests/test_init.py` | Tests for `custom_components/integration_blueprint/__init__.py`. -`tests/test_switch.py` | Tests for `custom_components/integration_blueprint/switch.py`. `CONTRIBUTING.md` | Guidelines on how to contribute. -`example.png` | Screenshot that demonstrate how it might look in the UI. -`info.md` | An example on a info file (used by [hacs][hacs]). `LICENSE` | The license file for the project. `README.md` | The file you are reading now, should contain info about the integration, installation and configuration instructions. -`requirements.txt` | Python packages used by this integration. -`requirements_dev.txt` | Python packages used to provide [IntelliSense](https://code.visualstudio.com/docs/editor/intellisense)/code hints during development of this integration, typically includes packages in `requirements.txt` but may include additional packages -`requirements_test.txt` | Python packages required to run the tests for this integration, typically includes packages in `requirements_dev.txt` but may include additional packages +`requirements.txt` | Python packages used for development/lint/testing this integration. ## How? If you want to use all the potential and features of this blueprint template you should use Visual Studio Code to develop in a container. In this container you will have all the tools to ease your python development and a dedicated Home -Assistant core instance to run your integration. See `.devcontainer/README.md` for more information. +Assistant core instance to run your integration. -If you need to work on the python library in parallel of this integration -(`sampleclient` in this example) there are different options. The following one seems -easy to implement: - -- Create a dedicated branch for your python library on a public git repository (example: branch -`dev` on `https://github.com/ludeeus/sampleclient`) -- Update in the `manifest.json` file the `requirements` key to point on your development branch -( example: `"requirements": ["git+https://github.com/ludeeus/sampleclient.git@dev#devp==0.0.1beta1"]`) -- Each time you need to make a modification to your python library, push it to your -development branch and increase the number of the python library version in `manifest.json` file -to ensure Home Assistant update the code of the python library. (example `"requirements": ["git+https://...==0.0.1beta2"]`). - - -*** -README content if this was a published component: -*** - -# integration_blueprint - -[![GitHub Release][releases-shield]][releases] -[![GitHub Activity][commits-shield]][commits] -[![License][license-shield]](LICENSE) - -[![hacs][hacsbadge]][hacs] -![Project Maintenance][maintenance-shield] -[![BuyMeCoffee][buymecoffeebadge]][buymecoffee] - -[![Discord][discord-shield]][discord] -[![Community Forum][forum-shield]][forum] - -_Component to integrate with [integration_blueprint][integration_blueprint]._ - -**This component will set up the following platforms.** - -Platform | Description --- | -- -`binary_sensor` | Show something `True` or `False`. -`sensor` | Show info from blueprint API. -`switch` | Switch something `True` or `False`. - -![example][exampleimg] - -## Installation - -1. Using the tool of choice open the directory (folder) for your HA configuration (where you find `configuration.yaml`). -2. If you do not have a `custom_components` directory (folder) there, you need to create it. -3. In the `custom_components` directory (folder) create a new folder called `integration_blueprint`. -4. Download _all_ the files from the `custom_components/integration_blueprint/` directory (folder) in this repository. -5. Place the files you downloaded in the new directory (folder) you created. -6. Restart Home Assistant -7. In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "Integration blueprint" - -Using your HA configuration directory (folder) as a starting point you should now also have this: - -```text -custom_components/integration_blueprint/translations/en.json -custom_components/integration_blueprint/translations/nb.json -custom_components/integration_blueprint/translations/sensor.nb.json -custom_components/integration_blueprint/__init__.py -custom_components/integration_blueprint/api.py -custom_components/integration_blueprint/binary_sensor.py -custom_components/integration_blueprint/config_flow.py -custom_components/integration_blueprint/const.py -custom_components/integration_blueprint/manifest.json -custom_components/integration_blueprint/sensor.py -custom_components/integration_blueprint/switch.py -``` - -## Configuration is done in the UI - - - -## Contributions are welcome! - -If you want to contribute to this please read the [Contribution guidelines](CONTRIBUTING.md) - -*** - -[integration_blueprint]: https://github.com/custom-components/integration_blueprint -[buymecoffee]: https://www.buymeacoffee.com/ludeeus -[buymecoffeebadge]: https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg?style=for-the-badge -[commits-shield]: https://img.shields.io/github/commit-activity/y/custom-components/blueprint.svg?style=for-the-badge -[commits]: https://github.com/custom-components/integration_blueprint/commits/main -[hacs]: https://github.com/custom-components/hacs -[hacsbadge]: https://img.shields.io/badge/HACS-Custom-orange.svg?style=for-the-badge -[discord]: https://discord.gg/Qa5fW2R -[discord-shield]: https://img.shields.io/discord/330944238910963714.svg?style=for-the-badge -[exampleimg]: example.png -[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg?style=for-the-badge -[forum]: https://community.home-assistant.io/ -[license-shield]: https://img.shields.io/github/license/custom-components/blueprint.svg?style=for-the-badge -[maintenance-shield]: https://img.shields.io/badge/maintainer-Joakim%20Sørensen%20%40ludeeus-blue.svg?style=for-the-badge -[releases-shield]: https://img.shields.io/github/release/custom-components/blueprint.svg?style=for-the-badge -[releases]: https://github.com/custom-components/integration_blueprint/releases diff --git a/README_EXAMPLE.md b/README_EXAMPLE.md new file mode 100644 index 0000000..4637af6 --- /dev/null +++ b/README_EXAMPLE.md @@ -0,0 +1,77 @@ +# Integration Blueprint + +[![GitHub Release][releases-shield]][releases] +[![GitHub Activity][commits-shield]][commits] +[![License][license-shield]](LICENSE) + +[![hacs][hacsbadge]][hacs] +![Project Maintenance][maintenance-shield] +[![BuyMeCoffee][buymecoffeebadge]][buymecoffee] + +[![Discord][discord-shield]][discord] +[![Community Forum][forum-shield]][forum] + +_Integration to integrate with [integration_blueprint][integration_blueprint]._ + +**This integration will set up the following platforms.** + +Platform | Description +-- | -- +`binary_sensor` | Show something `True` or `False`. +`sensor` | Show info from blueprint API. +`switch` | Switch something `True` or `False`. + +![example][exampleimg] + +## Installation + +1. Using the tool of choice open the directory (folder) for your HA configuration (where you find `configuration.yaml`). +2. If you do not have a `custom_components` directory (folder) there, you need to create it. +3. In the `custom_components` directory (folder) create a new folder called `integration_blueprint`. +4. Download _all_ the files from the `custom_components/integration_blueprint/` directory (folder) in this repository. +5. Place the files you downloaded in the new directory (folder) you created. +6. Restart Home Assistant +7. In the HA UI go to "Configuration" -> "Integrations" click "+" and search for "Integration blueprint" + +Using your HA configuration directory (folder) as a starting point you should now also have this: + +```text +custom_components/integration_blueprint/translations/en.json +custom_components/integration_blueprint/translations/nb.json +custom_components/integration_blueprint/translations/sensor.nb.json +custom_components/integration_blueprint/__init__.py +custom_components/integration_blueprint/api.py +custom_components/integration_blueprint/binary_sensor.py +custom_components/integration_blueprint/config_flow.py +custom_components/integration_blueprint/const.py +custom_components/integration_blueprint/manifest.json +custom_components/integration_blueprint/sensor.py +custom_components/integration_blueprint/switch.py +``` + +## Configuration is done in the UI + + + +## Contributions are welcome! + +If you want to contribute to this please read the [Contribution guidelines](CONTRIBUTING.md) + +*** + +[integration_blueprint]: https://github.com/ludeeus/integration_blueprint +[buymecoffee]: https://www.buymeacoffee.com/ludeeus +[buymecoffeebadge]: https://img.shields.io/badge/buy%20me%20a%20coffee-donate-yellow.svg?style=for-the-badge +[commits-shield]: https://img.shields.io/github/commit-activity/y/ludeeus/integration_blueprint.svg?style=for-the-badge +[commits]: https://github.com/ludeeus/integration_blueprint/commits/main +[hacs]: https://github.com/hacs/integration +[hacsbadge]: https://img.shields.io/badge/HACS-Custom-orange.svg?style=for-the-badge +[discord]: https://discord.gg/Qa5fW2R +[discord-shield]: https://img.shields.io/discord/330944238910963714.svg?style=for-the-badge +[exampleimg]: example.png +[forum-shield]: https://img.shields.io/badge/community-forum-brightgreen.svg?style=for-the-badge +[forum]: https://community.home-assistant.io/ +[license-shield]: https://img.shields.io/github/license/ludeeus/integration_blueprint.svg?style=for-the-badge +[maintenance-shield]: https://img.shields.io/badge/maintainer-Joakim%20Sørensen%20%40ludeeus-blue.svg?style=for-the-badge +[releases-shield]: https://img.shields.io/github/release/ludeeus/integration_blueprint.svg?style=for-the-badge +[releases]: https://github.com/ludeeus/integration_blueprint/releases diff --git a/example.png b/example.png deleted file mode 100644 index c2d4244..0000000 Binary files a/example.png and /dev/null differ