Skip to content

Commit 612a236

Browse files
committed
chore: initial commit
Signed-off-by: Avi Miller <[email protected]>
0 parents  commit 612a236

29 files changed

+1344
-0
lines changed

.gitattributes

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* text=auto eol=lf

.github/ISSUE_TEMPLATE/bug.yml

+55
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
name: "Bug report"
3+
description: "Report a bug with the integration"
4+
labels: "Bug"
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: Before you open a new issue, search through the existing issues to see if others have had the same problem.
9+
- type: textarea
10+
attributes:
11+
label: "System Health details"
12+
description: "Paste the data from the System Health card in Home Assistant (https://www.home-assistant.io/more-info/system-health#github-issues)"
13+
validations:
14+
required: true
15+
- type: checkboxes
16+
attributes:
17+
label: Checklist
18+
options:
19+
- label: I have enabled debug logging for my installation.
20+
required: true
21+
- label: I have filled out the issue template to the best of my ability.
22+
required: true
23+
- label: This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
24+
required: true
25+
- label: This issue is not a duplicate issue of any [previous issues](https://github.com/Djelibeybi/hass-ExoyONE/issues?q=is%3Aissue+label%3A%22Bug%22+)..
26+
required: true
27+
- type: textarea
28+
attributes:
29+
label: "Describe the issue"
30+
description: "A clear and concise description of what the issue is."
31+
validations:
32+
required: true
33+
- type: textarea
34+
attributes:
35+
label: Reproduction steps
36+
description: "Without steps to reproduce, it will be hard to fix. It is very important that you fill out this part. Issues without it will be closed."
37+
value: |
38+
1.
39+
2.
40+
3.
41+
...
42+
validations:
43+
required: true
44+
- type: textarea
45+
attributes:
46+
label: "Debug logs"
47+
description: "To enable debug logs check this https://www.home-assistant.io/integrations/logger/, this **needs** to include _everything_ from startup of Home Assistant to the point where you encounter the issue."
48+
render: text
49+
validations:
50+
required: true
51+
52+
- type: textarea
53+
attributes:
54+
label: "Diagnostics dump"
55+
description: "Drag the diagnostics dump file here. (see https://www.home-assistant.io/integrations/diagnostics/ for info)"

.github/ISSUE_TEMPLATE/config.yml

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
blank_issues_enabled: false
+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
---
2+
name: "Feature request"
3+
description: "Suggest an idea for this project"
4+
labels: "Feature+Request"
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: Before you open a new feature request, search through the existing feature requests to see if others have had the same idea.
9+
- type: checkboxes
10+
attributes:
11+
label: Checklist
12+
options:
13+
- label: I have filled out the template to the best of my ability.
14+
required: true
15+
- label: This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
16+
required: true
17+
- label: This issue is not a duplicate feature request of [previous feature requests](https://github.com/Djelibeybi/hass-ExoyONE/issues?q=is%3Aissue+label%3A%22Feature+Request%22+).
18+
required: true
19+
20+
- type: textarea
21+
attributes:
22+
label: "Is your feature request related to a problem? Please describe."
23+
description: "A clear and concise description of what the problem is."
24+
placeholder: "I'm always frustrated when [...]"
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
attributes:
30+
label: "Describe the solution you'd like"
31+
description: "A clear and concise description of what you want to happen."
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
attributes:
37+
label: "Describe alternatives you've considered"
38+
description: "A clear and concise description of any alternative solutions or features you've considered."
39+
validations:
40+
required: true
41+
42+
- type: textarea
43+
attributes:
44+
label: "Additional context"
45+
description: "Add any other context or screenshots about the feature request here."
46+
validations:
47+
required: true

.github/dependabot.yml

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
2+
version: 2
3+
updates:
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"
8+
9+
- package-ecosystem: "pip"
10+
directory: "/"
11+
schedule:
12+
interval: "weekly"
13+
ignore:
14+
# Dependabot should not update Home Assistant as that should match the homeassistant key in hacs.json
15+
- dependency-name: "homeassistant"

.github/workflows/release.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: "Release"
2+
3+
on:
4+
release:
5+
types:
6+
- "published"
7+
8+
permissions: {}
9+
10+
jobs:
11+
release:
12+
name: "Release"
13+
runs-on: "ubuntu-latest"
14+
permissions:
15+
contents: write
16+
steps:
17+
- name: "Checkout the repository"
18+
uses: "actions/[email protected]"
19+
20+
- name: "ZIP the integration directory"
21+
shell: "bash"
22+
run: |
23+
cd "${{ github.workspace }}/custom_components/exoy_one"
24+
zip exoy_one.zip -r ./
25+
26+
- name: "Upload the ZIP file to the release"
27+
uses: "softprops/[email protected]"
28+
with:
29+
files: ${{ github.workspace }}/custom_components/exoy_one/exoy_one.zip

.github/workflows/validate.yml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: "Validate"
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 0 * * *"
7+
push:
8+
branches:
9+
- "main"
10+
pull_request:
11+
branches:
12+
- "main"
13+
14+
jobs:
15+
hassfest:
16+
name: "Hassfest Validation"
17+
runs-on: "ubuntu-latest"
18+
steps:
19+
- name: "Checkout the repository"
20+
uses: "actions/[email protected]"
21+
22+
- name: "Run hassfest validation"
23+
uses: "home-assistant/actions/hassfest@master"
24+
25+
hacs:
26+
name: "HACS Validation"
27+
runs-on: "ubuntu-latest"
28+
steps:
29+
- name: "Checkout the repository"
30+
uses: "actions/[email protected]"
31+
32+
- name: "Run HACS validation"
33+
uses: "hacs/action@main"
34+
with:
35+
category: "integration"
36+
ignore: "brands"

.gitignore

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# artifacts
2+
__pycache__
3+
.pytest*
4+
*.egg-info
5+
*/build/*
6+
*/dist/*
7+
8+
# misc
9+
.coverage
10+
.vscode
11+
coverage.xml
12+
.ruff_cache
13+
.venv/
14+
15+
# Home Assistant configuration
16+
config/

.ruff.toml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# The contents of this file is based on https://github.com/home-assistant/core/blob/dev/pyproject.toml
2+
3+
target-version = "py312"
4+
5+
[lint]
6+
select = [
7+
"ALL",
8+
]
9+
10+
ignore = [
11+
"ANN101", # Missing type annotation for `self` in method
12+
"ANN401", # Dynamically typed expressions (typing.Any) are disallowed
13+
"D203", # no-blank-line-before-class (incompatible with formatter)
14+
"D212", # multi-line-summary-first-line (incompatible with formatter)
15+
"COM812", # incompatible with formatter
16+
"DOC201", # Return not in docstring
17+
"DOC501", # Exception not in docstring
18+
"ISC001", # incompatible with formatter
19+
]
20+
21+
[lint.flake8-pytest-style]
22+
fixture-parentheses = false
23+
24+
[lint.pyupgrade]
25+
keep-runtime-typing = true
26+
27+
[lint.mccabe]
28+
max-complexity = 25

CONTRIBUTING.md

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Contribution guidelines
2+
3+
Contributing to this project should be as easy and transparent as possible, whether it's:
4+
5+
- Reporting a bug
6+
- Discussing the current state of the code
7+
- Submitting a fix
8+
- Proposing new features
9+
10+
## GitHub is used for everything
11+
12+
GitHub is used to host code, to track issues and feature requests, as well as accept pull requests.
13+
14+
Pull requests are the best way to propose changes to the codebase.
15+
16+
1. Fork the repo and create a new branch from `main`.
17+
2. If you change something that's visible to other users, update the documentation.
18+
4. Test your contribution. Again. Once more.
19+
5. Issue a pull request!
20+
21+
## Any contributions you make will be under the MIT Software License
22+
23+
In short, when you submit code changes, your submissions are understood to be under the same [MIT License](http://choosealicense.com/licenses/mit/) that covers the project. Feel free to contact the maintainers if that's a concern.
24+
25+
## Report bugs using GitHub's [issues](../../issues)
26+
27+
GitHub issues are used to track public bugs.
28+
Report a bug by [opening a new issue](../../issues/new/choose); it's that easy!
29+
30+
## Write bug reports with detail, background, and sample code
31+
32+
**Great Bug Reports** tend to have:
33+
34+
- A quick summary and/or background
35+
- Steps to reproduce
36+
- Be specific!
37+
- Give sample code if you can.
38+
- What you expected would happen
39+
- What actually happens
40+
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
41+
42+
People *love* thorough bug reports. I'm not even kidding.
43+
44+
## Use a Consistent Coding Style
45+
46+
Use [Ruff](https://docs.astral.sh/ruff/) to make sure the code follows the style.
47+
48+
## License
49+
50+
By contributing, you agree that your contributions will be licensed under the MIT License.
51+
Please add your name and date of the contribution to the `LICENSE` file in the root of the
52+
repository as part of your contribution.

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2019 - 2024 Joakim Sørensen @ludeeus
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Exoy&trade; ONE Integration
2+
3+
_Integration to control [Exoy&trade; ONE][exoylighting]._
4+
5+
6+
7+
## Installation
8+
9+
1. [Add this repository to HACS](https://hacs.xyz/docs/faq/custom_repositories).
10+
2. The integration should appear in green ready to be installed, so:
11+
3. Install the integration and as always:
12+
4. Restart Home Assistant
13+
14+
Home Assistant should automatically discover and configure your Exoy&trade; ONE automagically when it restarts.
15+
16+
17+
## Contributions are welcome!
18+
19+
If you want to contribute to this please read the [Contribution guidelines](CONTRIBUTING.md)
20+
21+
***
22+
23+
[exoylighting]: https://exoylighting.com/

0 commit comments

Comments
 (0)