From 5b8a079fa68dce87d54157f5dfed86b654de2077 Mon Sep 17 00:00:00 2001 From: Marc Billow Date: Thu, 9 Jul 2026 14:02:46 -0500 Subject: [PATCH] chore: prepare repo for HACS listing - Add hacs.json and MIT LICENSE required for HACS/default-store inclusion - Fill required manifest.json keys (documentation, issue_tracker, codeowners) and reorder per hassfest's key-ordering rule - Add validate.yml workflow running hassfest and HACS validation - Update README install note now that hacs.json is checked in --- .github/workflows/validate.yml | 40 +++++++++++++++++++++ LICENSE | 21 +++++++++++ README.md | 2 +- custom_components/localthings/manifest.json | 8 +++-- hacs.json | 4 +++ 5 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/validate.yml create mode 100644 LICENSE create mode 100644 hacs.json diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..96aabfb --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,40 @@ +name: Validate + +on: + workflow_dispatch: + schedule: + - cron: "0 0 * * *" + push: + branches: + - main + pull_request: + branches: + - main + +permissions: {} + +jobs: + hassfest: + name: Hassfest validation + runs-on: ubuntu-latest + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + + - name: Run hassfest validation + uses: home-assistant/actions/hassfest@master + + hacs: + name: HACS validation + runs-on: ubuntu-latest + steps: + - name: Checkout the repository + uses: actions/checkout@v4 + + - name: Run HACS validation + uses: hacs/action@main + with: + category: integration + # Remove this 'ignore' key once real brand images are added at + # custom_components/localthings/brand/ + ignore: brands diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9d62080 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Marc Billow + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index 41850cd..272a500 100644 --- a/README.md +++ b/README.md @@ -60,7 +60,7 @@ This repo doesn't include the needed CA bundle. For an example of how to obtain ## Part 3: Add the integration in Home Assistant -1. Copy `custom_components/localthings/` into your HA config's `custom_components/` directory. (Or install via a custom HACS repository: no `hacs.json` is checked in yet, so add this repo as a custom integration repository in HACS if you use it that way.) +1. Copy `custom_components/localthings/` into your HA config's `custom_components/` directory. (Or add this repo as a custom repository in HACS — `Integration` category — and install it from there.) 2. Restart HA. 3. **Settings > Devices & Services > Add Integration > Local Things.** 4. First device: paste the appliance's IP, plus the contents of the CA private and public key from Part 2. diff --git a/custom_components/localthings/manifest.json b/custom_components/localthings/manifest.json index 997b659..47b91e3 100644 --- a/custom_components/localthings/manifest.json +++ b/custom_components/localthings/manifest.json @@ -1,14 +1,16 @@ { "domain": "localthings", "name": "Local Things", - "version": "0.1.0", + "codeowners": ["@mbillow"], "config_flow": true, + "dependencies": [], + "documentation": "https://github.com/mbillow/localthings", "iot_class": "local_polling", + "issue_tracker": "https://github.com/mbillow/localthings/issues", "requirements": [ "cbor2>=5.4.6", "pyOpenSSL>=23.0", "smartthings-local>=0.1.0" ], - "dependencies": [], - "codeowners": [] + "version": "0.1.0" } diff --git a/hacs.json b/hacs.json new file mode 100644 index 0000000..82f8473 --- /dev/null +++ b/hacs.json @@ -0,0 +1,4 @@ +{ + "name": "Local Things", + "homeassistant": "2025.1.0" +}