From 88c76b805653e305b7058e863cc74340315d7a43 Mon Sep 17 00:00:00 2001 From: Andre Basche Date: Mon, 6 Mar 2023 18:40:30 +0100 Subject: [PATCH] Add contribution instructions to readme --- .github/workflows/hacs_check.yml | 2 +- .github/workflows/validate.yml | 2 +- README.md | 49 +++++++++++++++++++++++++++++++- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/.github/workflows/hacs_check.yml b/.github/workflows/hacs_check.yml index 8369e39..ea6cf6f 100644 --- a/.github/workflows/hacs_check.yml +++ b/.github/workflows/hacs_check.yml @@ -14,4 +14,4 @@ jobs: - name: HACS Action uses: "hacs/action@main" with: - category: "integration" \ No newline at end of file + category: "integration" diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml index afbde1a..5f7a071 100644 --- a/.github/workflows/validate.yml +++ b/.github/workflows/validate.yml @@ -11,4 +11,4 @@ jobs: runs-on: "ubuntu-latest" steps: - uses: "actions/checkout@v3" - - uses: "home-assistant/actions/hassfest@master" \ No newline at end of file + - uses: "home-assistant/actions/hassfest@master" diff --git a/README.md b/README.md index 4ef6242..8b9b3da 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # Haier hOn -Home Assistant component supporting hOn cloud. +[![hacs_badge](https://img.shields.io/badge/HACS-Custom-41BDF5.svg)](https://github.com/hacs/integration) + +Home Assistant component supporting devices of Haier's mobile app **hOn**. ## Installation #### Installing via HACS @@ -14,6 +16,51 @@ Home Assistant component supporting hOn cloud. 9. Search for Haier hOn 10. Type your username used in the hOn App and hit submit +## Contribute +Any kind of contribution is welcome! +#### Add appliances or additional attributes +1. Install [pyhOn](https://github.com/Andre0512/pyhOn) + ```commandline + $ pip install pyhOn + ``` +2. Use the commandline tool to read out all appliance data from your account + ```commandline + $ pyhOn + User for hOn account: user.name@example.com + Password for hOn account: ******** + ========== WM - Washing Machine ========== + commands: + pauseProgram: pauseProgram command + resumeProgram: resumeProgram command + startProgram: startProgram command + stopProgram: stopProgram command + data: + actualWeight: 0 + airWashTempLevel: 0 + airWashTime: 0 + antiAllergyStatus: 0 + ... + ``` +3. Fork this repository and clone it to your local machine +4. Add the keys of the attributes you'd like to have as `EntityDescription` into this Repository + _Example: Add pause button_ + ```python + BUTTONS: dict[str, tuple[ButtonEntityDescription, ...]] = { + "WM": ( # WM is the applianceTypeName + ButtonEntityDescription( + key="pauseProgram", # key from pyhOn + name="Pause Program", # name in home assistant + icon="mdi:pause", # icon in home assistant + ... + ), + ... + ``` +5. Create a [pull request](https://github.com/Andre0512/hon/pulls) + +#### Tips and Tricks +- If you want to have some states humanreadable, have a look at the `translation_key` parameter of the `EntityDescription` +- If you need to implement some more logic, create a pull request to the underlying library. There we collect special requirements in the `appliances` directory. + ## Supported Appliances - Washing Machine