diff --git a/404.html b/404.html index 4298cc4..bb4e30d 100644 --- a/404.html +++ b/404.html @@ -303,17 +303,18 @@ -
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -721,9 +722,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + diff --git a/contributing/code/index.html b/contributing/code/index.html new file mode 100644 index 0000000..3a341c6 --- /dev/null +++ b/contributing/code/index.html @@ -0,0 +1,1060 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code - Mushroom Strategy Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + +
    + + +
    + +
    + + + + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + + + + +
    +
    +
    + + + + +
    +
    + + + + + + + + + + + + + +

    💻 Contributing Code#

    +

    Want to get your hands dirty with the code? Awesome! We appreciate all code contributions.

    +
      +
    1. +

      Follow the Workflow:

      +
    2. +
    3. +

      Make Your Changes: Implement your bug fix or new feature.

      +
    4. +
    5. +

      Test Your Changes: Thoroughly test your changes to ensure they work as expected and don't introduce new issues.

      +
        +
      • You can build the strategy with npm run build (for production) or npm run build-dev (for development/testing).
      • +
      • Copy the built files to your Home Assistant's www/community/mushroom-strategy directory for testing.
        +Remember to clear the cache of your Home Assistant client to see the changes.
      • +
      +
      +

      Info

      +

      If your www/community/mushroom-strategy directory contains a file called mushroom-strategy.js.gz, rename or +delete it.

      +
      +
    6. +
    7. +

      Format and Lint Your Changes:

      +
        +
      • Run the formatter with npm run ts:format.
      • +
      • Build the strategy with npm run build.
      • +
      +

      Both of these tasks should result without errors.

      +
    8. +
    9. +

      Commit Your Changes.

      +
    10. +
    11. +

      Push to Your Fork.

      +
    12. +
    13. +

      Open a Pull Request (PR).

      +
    14. +
    +
    +

    Thank you for taking the time to help us improve our project! Your contributions make a real difference. 🎉

    + + + + + + + + + + + + + +
    +
    + + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/contributing/documentation/index.html b/contributing/documentation/index.html new file mode 100644 index 0000000..6638e16 --- /dev/null +++ b/contributing/documentation/index.html @@ -0,0 +1,1133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Documentation - Mushroom Strategy Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + +
    + + +
    + +
    + + + + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + + + + +
    +
    +
    + + + + +
    +
    + + + + + + + + + + + + + +

    📄 Contributing to the Documentation#

    +

    Good documentation is crucial for our project's success!
    +We truly appreciate any contributions, whether it's fixing a typo, clarifying a section, adding more examples, or even +extending existing topics. This guide will walk you through the process of contributing.

    +

    The entire documentation lives in the docs/ folder of this repository.

    +
    +
      +
    1. +

      Follow the Workflow:

      +
    2. +
    3. +

      Serve the Documentation Locally: + Start the local development server. This task needs to be run from the project root (where the mkdocs.yml file is):

      +
      mkdocs serve
      +
      +

      This will usually launch a local server, at http://127.0.0.1:8000. +The server will automatically reload in your browser as you make and save changes to the documentation files.
      +To stop the server, press Ctrl + C in the terminal.

      +
    4. +
    5. +

      Edit Markdown Files: All documentation content is written in Markdown (.md files). + You can find them within the docs/ folder.

      + +
    6. +
    7. +

      Add New Pages:

      +
        +
      • Create a new .md file in the most appropriate directory within docs/.
      • +
      +
      +

      Important

      +

      You'll need to add the new page to the navigation (nav) section of the mkdocs.yml file for it to appear in +the sidebar. Follow the existing structure.

      +
      +
    8. +
    9. +

      Add Images:

      +
        +
      • Place any image files into the docs/images/ directory.
      • +
      • Reference them in your Markdown using the syntax: ![Alt text for accessibility](images/your-image-name.png)
      • +
      +
    10. +
    11. +

      Preview Changes: As you save your .md files, the local server running at http://127.0.0.1:8000 will + automatically refresh, allowing you to see your changes instantly.

      +
    12. +
    13. +

      Format and Lint Your Changes:

      +
        +
      • Build the linter with npm run md:lint-fix.
      • +
      +

      This task should result without errors.

      +
    14. +
    15. +

      Commit Your Changes.

      +
    16. +
    17. +

      Push to Your Fork.

      +
    18. +
    19. +

      Open a Pull Request (PR).

      +
    20. +
    +
    +

    Documentation Style and Quality#

    +

    To maintain consistency and quality:

    +
      +
    • Clarity and Conciseness: Use straightforward, clear, and concise language.
    • +
    • Examples: Include images and code examples whenever they help clarify a point.
    • +
    +
    +

    Thank you for taking the time to help us improve our documentation! Your contributions make a real difference. 🎉

    + + + + + + + + + + + + + +
    +
    + + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/contributing/getting-started/index.html b/contributing/getting-started/index.html new file mode 100644 index 0000000..debafc8 --- /dev/null +++ b/contributing/getting-started/index.html @@ -0,0 +1,1114 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Getting Started - Mushroom Strategy Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + +
    + + +
    + +
    + + + + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + + + + +
    +
    +
    + + + + +
    +
    + + + + + + + + + + + + + +

    🚀 Getting Started#

    +

    ⚙️ Prerequisites#

    +

    Before you begin, make sure you have the following installed on your system:

    +
      +
    • +

      Git: For version control and managing your changes.

      +
    • +
    • +

      Node.js and npm: Required for running scripts defined in package.json (e.g., linting). + Download from nodejs.org.

      +
    • +
    +

    For contributing to the documentation, the following prerequisites are also required:

    + +

    🛠️ Local Environment#

    +

    To make and preview your changes, you'll need to set up a development environment locally:

    +
      +
    1. +

      Fork the Repository: Go to our main repository on GitHub and click the "Fork" button. + This creates a copy of the repository under your GitHub account.

      +
    2. +
    3. +

      Clone Your Fork: On your local machine, clone your forked repository using Git.

      +
    4. +
    5. +

      Install Node.js Dependencies: + Navigate to the root of the cloned project (where package.json is located) and install its dependencies:

      +
      npm install
      +
      +
    6. +
    7. +

      Install Python Documentation Tools: + Navigate to the root of the cloned project (where mkdocs.yml is located) and install MkDocs along with the + necessary themes and plugins:

      +
      pip install mkdocs mkdocs-material mkdocs-material-extensions
      +
      +
    8. +
    + + + + + + + + + + + + + +
    +
    + + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/contributing/index.html b/contributing/index.html index ea15344..461d749 100644 --- a/contributing/index.html +++ b/contributing/index.html @@ -18,13 +18,15 @@ + + - Contributing - Mushroom Strategy Documentation + 🤝 Contributing to Mushroom Strategy - Mushroom Strategy Documentation @@ -112,7 +114,7 @@
    - Contributing + 🤝 Contributing to Mushroom Strategy
    @@ -314,17 +316,18 @@ -
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -734,6 +737,54 @@ + + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -869,7 +1016,7 @@ - + @@ -896,7 +1043,7 @@ carefully.

  • Open a new issue: If it's a new bug, please open a new issue.
  • -

    Provide details: In your report, please include:

    +

    Provide details: In your report, please follow the instructions and template to include:

  • A clear and concise description of the bug.

    @@ -915,128 +1062,13 @@ carefully.

    requested.
  • Open a new issue: If it's a new idea, open a new issue.
  • -
  • Describe your idea: Clearly explain the feature, why you think it's useful, and any potential use cases.
  • +
  • Describe your idea: Clearly explain the feature, why you think it's useful, and any potential use cases by + following the instructions and template.

  • -

    💻 Contributing Code#

    -

    Want to get your hands dirty with the code? Awesome! We appreciate all code contributions.

    -
      -
    1. Fork the Repository: Start by forking - the DigiLive/mushroom-strategy repository to your own GitHub - account.
    2. -
    3. -

      Clone Your Fork: Clone your forked repository to your local machine.

      -
      git clone https://github.com/YOUR_USERNAME/mushroom-strategy.git
      -cd mushroom-strategy
      -
      -
    4. -
    5. -

      Create a New Branch: Create a new branch for your feature or bug fix.
      - Use a descriptive name (e.g., feature/my-awesome-feature, bugfix/fix-admonition-rendering).

      -
      git checkout -b feature/my-new-feature
      -
      -
    6. -
    7. -

      Set up Development Environment:

      - -
    8. -
    9. -

      Make Your Changes: Implement your bug fix or new feature.

      -
    10. -
    11. Test Your Changes: Thoroughly test your changes to ensure they work as expected and don't introduce new issues.
    12. -
    13. -

      Commit Your Changes:

      - -
      git add .
      -git commit -m "feat: add super cool new feature"
      -
      -
    14. -
    15. -

      Push to Your Fork:

      -
      git push origin feature/my-new-feature
      -
      -
    16. -
    17. -

      Create a Pull Request (PR):

      - -
    18. -
    -
    -

    📄 Improving Documentation#

    -

    Good documentation is vital! If you find typos, unclear sections, or want to add more examples, please open a pull -request. The documentation is located in the docs/ folder of this repository.

    -
    -

    🌐 Translations#

    -

    Help us make Mushroom Strategy accessible to more users around the world by contributing and improving translations!

    -

    Language tags have to follow BCP 47.
    -A list of most language tags can be found -here: IANA subtag registry. -Examples: fr, fr-CA, zh-Hans.

    -
      -
    1. Check for Existing Translations: See if your language is already being worked on or exists.
    2. -
    3. Locate Translation Files: Language files are found within the src/translations directory. - Each language has its own locale.json file (e.g., en.json, nl.json, pt-BR.json).
    4. -
    5. -

      Create or Update:

      - -
    6. -
    7. -

      Submit a Pull Request: Once your translations are complete, submit a pull request with your changes. Clearly - state which language you are contributing to or updating.

      -
    8. -
    -
    -

    Info

    -

    Integrating a new Translation:

    - -

    Special Handling for language-country Locales:
    -If you are adding a country-specific locale (e.g., es-ES for Spanish (Spain) or en-GB for English -(United Kingdom)), you should create a file like en-GB.json in the translations folder. In -src/utilities/localize.ts, you'll import it similarly and add it to the languages map using the full locale -code.
    -Please ensure you follow existing patterns for language-country codes, which typically use a hyphen (-) + a -UPPER-cased country code in the file name and an underscore (_) + a lower-cased country code in the import key.

    -
    -

    Example

    -
    import * as en from '../translations/en.json';
    -import * as pt_br from '../translations/pt-BR.json';
    -
    -/** Registry of currently supported languages */
    -const languages: Record<string, unknown> = {
    -  en,
    -  'pt-BR': pt_br,
    -};
    -
    -
    -
    -

    🙏 Get Support#

    -

    If you have questions about contributing or need help with your setup, please open -a discussion on our GitHub repository.

    +

    If you have questions about contributing or need help with your setup, please open a +discussion on our GitHub repository.

    diff --git a/contributing/translations/index.html b/contributing/translations/index.html new file mode 100644 index 0000000..ea5b3dd --- /dev/null +++ b/contributing/translations/index.html @@ -0,0 +1,1097 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Translations - Mushroom Strategy Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + +
    + + +
    + +
    + + + + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + + + + +
    +
    +
    + + + + +
    +
    + + + + + + + + + + + + + +

    🌐 Translations#

    +

    Help us make Mushroom Strategy accessible to more users around the world by contributing and improving translations!

    +

    Language tags have to follow BCP 47.
    +A list of most language tags can be found here: +IANA subtag registry. +Examples: fr, fr-CA, zh-Hans.

    +
      +
    1. Check for Existing Translations: See if your language is already being worked on or exists.
    2. +
    3. Locate Translation Files: Language files are found within the src/translations directory. + Each language has its own locale.json file (e.g., en.json, nl.json, pt-BR.json).
    4. +
    5. +

      Create or Update:

      +
        +
      • To create a new language: Copy an existing .json file (e.g., en.json), rename it to your language + code (e.g., de.json for German), and translate the property values.
      • +
      • To update an existing language: Open the .json file for your language and update any missing or + outdated translations.
      • +
      +
    6. +
    7. +

      Test Your Changes: Thoroughly test your changes to ensure they work as expected and don't introduce new issues.

      +
        +
      • You can build the strategy with npm run build (for production) or npm run build-dev (for development/testing).
      • +
      • Copy the built files to your Home Assistant's www/community/mushroom-strategy directory for testing.
        +Remember to clear the cache of your Home Assistant client to see the changes.
      • +
      +
      +

      Info

      +

      If your www/community/mushroom-strategy directory contains a file called mushroom-strategy.js.gz, rename or +delete it.

      +
      +
    8. +
    9. +

      Format and Lint Your Changes:

      +
        +
      • Run the formatter with npm run json:format.
      • +
      • Run the formatter with npm run ts:format.
      • +
      • Build the strategy with npm run build.
      • +
      +

      All of these tasks should result without errors.

      +
    10. +
    11. +

      Commit Your Changes.

      +
    12. +
    13. +

      Push to Your Fork.

      +
    14. +
    15. +

      Open a Pull Request (PR).

      +
    16. +
    +
    +
    +

    Info

    +

    Integrating a new Translation:

    +
      +
    • For your new language file to be picked up, it needs to be imported and registered at file + src/utilities/localize.ts.
    • +
    • You will need to add an import statement for your new .json file at the top, following the existing pattern.
    • +
    • Then, you'll need to add it to the languages map, associating the language code with the imported module.
    • +
    +

    Special Handling for language-country Locales:
    +If you are adding a country-specific locale (e.g., es-ES for Spanish (Spain) or en-GB for English +(United Kingdom)), you should create a file like en-GB.json in the translations folder. In +src/utilities/localize.ts, you'll import it similarly and add it to the languages map using the full locale +code.
    +Please ensure you follow existing patterns for language-country codes, which typically use a hyphen (-) + a +UPPER-cased country code in the file name and an underscore (_) + a lower-cased country code in the import key.

    +
    +

    Example

    +
    import * as en from '../translations/en.json';
    +import * as pt_br from '../translations/pt-BR.json';
    +
    +/** Registry of currently supported languages */
    +const languages: Record<string, unknown> = {
    +  en,
    +  'pt-BR': pt_br,
    +};
    +
    +
    +
    + + + + + + + + + + + + + +
    +
    + + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/contributing/workflow/index.html b/contributing/workflow/index.html new file mode 100644 index 0000000..8ba8491 --- /dev/null +++ b/contributing/workflow/index.html @@ -0,0 +1,1064 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Workflow - Mushroom Strategy Documentation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + +
    + + +
    + +
    + + + + + + + + + +
    +
    + + + +
    +
    +
    + + + + + + + + + +
    +
    +
    + + + + +
    +
    + + + + + + + + + + + + + +

    🚀 Contributing Workflow#

    +

    This guide outlines a common workflow for contributing to our project.

    +
    +
      +
    1. +

      Fork the Repository + Start by forking our repository (the upstream project) to your own GitHub account.
      + This creates a personal copy where you can make your changes without affecting the original project directly.

      +
    2. +
    3. +

      Clone Your Fork + Clone your forked repository from your GitHub account to your local machine.

      +
    4. +
    5. +

      Set Up Your Local Development Environment + Before making changes, ensure your local environment is ready.
      + See Getting Started.

      +
    6. +
    7. +

      Make Your Changes + Work in a new branch for better organization and easier pull requests and Implement your bug fix, new feature, or + documentation update.
      + See chapters Code, Documentation, and Translations for guidance and + details.

      +
    8. +
    9. +

      Test Your Changes + Thoroughly test your changes to ensure they work as expected, address the intended problem, and do not introduce any + new issues or regressions.

      +
    10. +
    11. +

      Format and Lint Your Changes + Your code should be well-formatted and linted to ensure consistency and readability.
      + If you've set up the project correctly, the tools for this should already be available to this project.

      +
    12. +
    13. +

      Commit Your Changes + Stage your changes and commit them with a clear, descriptive message.
      + Aim for a concise subject line followed by a more detailed body if necessary. + E.g.:

      +
      Fix: Resolve issue with feature X
      +
      +A clear and concise description of what has been changed, why it was necessary, and any relevant context.
      +
      +
    14. +
    + + + + + + + + + + + + + +
    +
    + + + +
    + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/faq/index.html b/faq/index.html index b1550d4..75f0742 100644 --- a/faq/index.html +++ b/faq/index.html @@ -316,17 +316,18 @@ -
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -744,9 +745,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + diff --git a/full-example/index.html b/full-example/index.html index 39fad5d..4daf51c 100644 --- a/full-example/index.html +++ b/full-example/index.html @@ -316,17 +316,18 @@ -
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -749,9 +750,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -789,7 +956,7 @@ -

    Full example using all the options provided with the strategy#

    +

    📝 Full example using all the options provided with the strategy#

    strategy:
       type: custom:mushroom-strategy
       options:
    diff --git a/getting-started/basic-setup/index.html b/getting-started/basic-setup/index.html
    index 9789e38..ff8958c 100644
    --- a/getting-started/basic-setup/index.html
    +++ b/getting-started/basic-setup/index.html
    @@ -316,17 +316,18 @@
       
       
       
    -    
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -749,9 +750,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -789,7 +956,7 @@ -

    Basic Setup#

    +

    ⚙️ Basic Setup#

    To apply the Mushroom Strategy to a dashboard:

    1. In the UI of the dashboard, select in the top right corner.
    2. @@ -799,17 +966,16 @@
    strategy:
       type: custom:mushroom-strategy
    -views: []
     
    -
    -

    [!NOTE] -You may see the following error:

    -
    +
    +

    Warning

    +

    You may see the following error:

     Error loading the dashboard strategy:
          Error: Timeout waiting for strategy
          element ||-strategy-mushroom-strategy to
          be registered
     
    +

    This is mainly because of cache issues or HACS didn't create a reference.
    Try clearing the cache of your client and/or re-downloading the strategy from HACS.

    If it still doesn't work, please consult guide diff --git a/getting-started/installation/index.html b/getting-started/installation/index.html index e9a164e..67177fb 100644 --- a/getting-started/installation/index.html +++ b/getting-started/installation/index.html @@ -316,17 +316,18 @@ -

  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -506,7 +507,7 @@
  • - Prerequisites + ⚙️ Prerequisites @@ -515,7 +516,7 @@
  • - Dashboard Installation + 🛠️ Dashboard Installation @@ -524,7 +525,7 @@
  • - Local Installation + 🛠️ Local Installation @@ -533,7 +534,7 @@
  • - Updating + 🔄 Updating @@ -817,9 +818,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -857,8 +1024,8 @@ -

    Installation#

    -

    Prerequisites#

    +

    🚀 Installation#

    +

    ⚙️ Prerequisites#

    Mushroom dashboard strategy and dependencies are available in HACS (Home Assistant Community Store).
    Install HACS if you don't have it already.
    @@ -879,10 +1046,10 @@ They will open the HACS repository at your Home Assistant instance directly.

    Mushroom.
    Open in HACS at your Home Assistant instance. to install Mini graph card.

    -

    Dashboard Installation#

    +

    🛠️ Dashboard Installation#

    If you meet all the prerequisites, click the badge below to install the strategy.

    Open in HACS at your Home Assistant instance.

    -

    Local Installation#

    +

    🛠️ Local Installation#

    Please install the strategy with HACS as described above.
    If you require testing a custom build for debug purposes, follow these steps:

      @@ -894,7 +1061,7 @@ If you require testing a custom build for debug purposes, follow these steps:

      Note

      Refresh the cache of the client you use to access Home Assistant.

    -

    Updating#

    +

    🔄 Updating#

    By default, Home Assistant will notify you when an update of the strategy is available.
    You can update the strategy by going to Settings found at the bottom of the sidebar.

    diff --git a/index.html b/index.html index a214aba..c965bca 100644 --- a/index.html +++ b/index.html @@ -314,17 +314,18 @@ -
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -450,9 +451,9 @@
  • - + - Previews + 👀 Sneak Peak @@ -801,9 +802,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -841,7 +1008,7 @@ -

    Welcome to the Mushroom Strategy Documentation  #

    +

    🍄‍🟫 Welcome to the Mushroom Strategy Documentation#

    Release HACS Codacy

    @@ -888,7 +1055,7 @@ engage with the community!

    ⭐ star on GitHub and exploring ways to ❤ sponsor the project to support its continued development! Your support helps us grow and improve.

    -

    Previews#

    +

    👀 Sneak Peak#

    Preview GIF

    Click here for more images... diff --git a/options/area-options/index.html b/options/area-options/index.html index 023f734..bce35cb 100644 --- a/options/area-options/index.html +++ b/options/area-options/index.html @@ -316,17 +316,18 @@ -
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -832,9 +833,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -872,8 +1039,8 @@ -

    Area Options#

    -

    The areas group enables you to specify the configuration of specific areas. +

    🛋️ Area Options#

    +

    The areas group enables you to specify the configuration of specific areas.
    Each configuration is identified by an area id and can have the following options:

    @@ -924,7 +1091,7 @@ Please follow the links below to see the additional options per card type.

  • Home Assistant Area Card.
  • Extra Cards#

    -

    The extra_cards group enables you to specify the configuration of additional cards an Area view. +

    The extra_cards group enables you to specify the configuration of additional cards an Area view.
    These cards will be shown last in the view.

    See Home View Options → Extra Cards for more information.

    Example#

    @@ -983,7 +1150,7 @@ The following example sets the type of all area-cards to the one of Home Assista

    Note

    -

    Area specific options take precedence over options set for all areas.!

    +

    Area specific options take precedence over options set for all areas!

    diff --git a/options/card-options/index.html b/options/card-options/index.html index d6e9908..5933395 100644 --- a/options/card-options/index.html +++ b/options/card-options/index.html @@ -316,17 +316,18 @@ -
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -790,9 +791,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -830,7 +997,7 @@ -

    Card Options#

    +

    Card Options#

    The card_options group enables you to specify the configuration of entity cards. Each configuration is identified by an entity id and can have the following options:

    @@ -881,8 +1048,7 @@ Each configuration is identified by an entity id and can have the following opti

    Tip

    You can build your card at another dashboard and copy the cards group from the YAML of that dashboard into group -card_options of the strategy configuration.
    -The YAML can be found in the Raw configuration editor.

    +card_options of the strategy configuration. The YAML can be found in the Raw configuration editor.

    diff --git a/options/domain-options/index.html b/options/domain-options/index.html index cc5b77b..7a26945 100644 --- a/options/domain-options/index.html +++ b/options/domain-options/index.html @@ -316,17 +316,18 @@ -
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -799,9 +800,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -839,8 +1006,8 @@ -

    Domain Options#

    -

    The domains group enables you to specify the configuration of a domain in a view. +

    💡 Domain Options#

    +

    The domains group enables you to specify the configuration of a domain in a view.
    Each configuration is identified by a domain name and can have the following options:

    diff --git a/options/home-view-options/index.html b/options/home-view-options/index.html index db962e3..84516f0 100644 --- a/options/home-view-options/index.html +++ b/options/home-view-options/index.html @@ -316,17 +316,18 @@ -
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -925,9 +926,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -965,7 +1132,7 @@ -

    Home View Options#

    +

    🏠 Home View Options#

    The home_view group enables you to specify the configuration of the Home view.

    @@ -1012,7 +1179,7 @@

    Stack Count#

    -

    The stack_count option is a map of sections to define the number of cards per row. +

    The stack_count option is a map of sections to define the number of cards per row.
    The key of the map is the section, while the value is the number of cards per row.

    The areas section is a special case, where the value is an array of two numbers.
    The first number is the number of default cards per row, while the second number is the number of @@ -1026,7 +1193,7 @@ The first number is the number of default cards per row, while the second number

    Note

    -

    Section specific options take precedence over options set for all sections.!

    +

    Section specific options take precedence over options set for all sections!


    Chip Options#

    @@ -1141,8 +1308,7 @@ These cards will be shown between the greeting card and area cards.

    Tip

    You can build your view in a temporary dashboard and copy the views group from the YAML of that dashboard into -group extra_views of the strategy configuration.
    -The YAML can be found in the Raw configuration editor.

    +group extra_views of the strategy configuration. The YAML can be found in the Raw configuration editor.

    Example#

    strategy:
    @@ -1170,8 +1336,7 @@ These cards will be shown below the areas.

    Tip

    You can build your view in a temporary dashboard and copy the views group from the YAML of that dashboard into -group extra_cards of the strategy configuration.
    -The YAML can be found in the Raw configuration editor.

    +group extra_cards of the strategy configuration. The YAML can be found in the Raw configuration editor.

    Example#

    strategy:
    diff --git a/options/index.html b/options/index.html
    index e9025b1..619415a 100644
    --- a/options/index.html
    +++ b/options/index.html
    @@ -316,17 +316,18 @@
       
       
       
    -    
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -790,9 +791,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -830,7 +997,7 @@ -

    Overview#

    +

    ⚙️ Overview#

    The dashboard can be highly customized using the options parameter in the yaml configuration of your dashboard.

    strategy:
       type: custom:mushroom-strategy
    diff --git a/options/view-options/index.html b/options/view-options/index.html
    index 84abab3..b3ffd14 100644
    --- a/options/view-options/index.html
    +++ b/options/view-options/index.html
    @@ -316,17 +316,18 @@
       
       
       
    -    
  • - - - - + +
  • + + + Contributing - -
  • + + + @@ -814,9 +815,25 @@ -
  • - + + + + + + + + + +
  • + + + + + + + + + + +
  • + + @@ -854,7 +1021,7 @@ -

    View Options#

    +

    👀 View Options#

    Mushroom strategy includes several views to control/view entities of a specific domain.
    Hidden/Disabled entities or linked to a hidden area are excluded from the view.

    The following views are supported and enabled by default:

    diff --git a/search/search_index.json b/search/search_index.json index 1817b83..6714aad 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to the Mushroom Strategy Documentation","text":"

    The Mushroom Strategy is an innovative solution for Home Assistant that empowers you to effortlessly create beautiful, intuitive, and automatically generated dashboards using the popular Mushroom cards.

    Say goodbye to tedious manual YAML configuration for every card! With the Mushroom Strategy, you can define your entities, areas, and devices and let the strategy intelligently build a dynamic and responsive dashboard tailored to your smart home.

    "},{"location":"#key-features-benefits","title":"\u2728 Key Features & Benefits","text":"
    • Automated Dashboard Generation: Create a comprehensive dashboard with minimal YAML, saving you countless hours.
    • Leverages Mushroom Cards: Enjoy the stunning aesthetics and rich functionality of Mushroom cards, renowned for their clean design and user-friendliness.
    • Entity, Device, and Area-Aware: Automatically organizes your Home Assistant components into logical, navigable views.
    • Built-in Views: Access pre-built views for specific domains like lights, fans, climate, and more, ensuring quick control.
    • Highly Customizable: While automated, the strategy provides ample options to fine-tune the appearance and behavior to match your preferences.
    • Responsive Design: Your generated dashboard will look great and function seamlessly across all devices \u2013 mobile, tablet, and desktop.
    • Mini Graph: Utilize Mini Graphs to visualize data of sensors.
    • Stateful Scenes Support: Support for stateful scenes from Stateful Scenes.
    "},{"location":"#get-started-in-minutes","title":"\ud83d\ude80 Get Started in Minutes","text":"

    Ready to transform your Home Assistant interface? Follow these guides to get your Mushroom Strategy dashboard up and running:

    • Installation Guide: Step-by-step instructions to install the strategy via HACS or manually.
    • Basic Setup: Learn the fundamental configuration to generate your first dashboard.
    • Configuration Options: Dive deeper into all available settings to customize your dashboard to perfection.
    • Usage Example: An example to show most of the configuration options.

    We're excited for you to experience the simplicity and power of the Mushroom Strategy. If you have questions, encounter issues, or want to contribute, please visit our GitHub repository and engage with the community!

    Enjoying the Mushroom Strategy? Consider giving our project a star on GitHub and exploring ways to sponsor the project to support its continued development! Your support helps us grow and improve.

    "},{"location":"#previews","title":"Previews","text":"Click here for more images..."},{"location":"contributing/","title":"\ud83e\udd1d Contributing to Mushroom Strategy","text":"

    We love contributions from the community! Whether you're reporting a bug, suggesting a new feature, or submitting code changes, your help makes the Mushroom Strategy better for everyone.

    Please take a moment to review this guide before making a contribution.

    "},{"location":"contributing/#code-of-conduct","title":"\ud83d\udcdc Code of Conduct","text":"

    To ensure a welcoming and inclusive environment, all contributors are expected to adhere to our Code of Conduct. Please read it carefully.

    "},{"location":"contributing/#reporting-bugs","title":"\ud83d\udc1e Reporting Bugs","text":"

    Found a bug? That's not ideal, but your report helps us squash it!

    1. Check existing issues: Before opening a new issue, please search our GitHub Issues or Discussions to see if the bug has already been reported.
    2. Open a new issue: If it's a new bug, please open a new issue.
    3. Provide details: In your report, please include:

    4. A clear and concise description of the bug.

    5. Steps to reproduce the behavior.
    6. Expected behavior.
    7. Screenshots or animated GIFs (if applicable).
    8. Your Home Assistant version and Mushroom Strategy version.
    "},{"location":"contributing/#suggesting-features","title":"\u2728 Suggesting Features","text":"

    Have a great idea for a new feature or enhancement? We'd love to hear it!

    1. Check existing suggestions: Search our GitHub Issues or Discussions to see if the feature has already been requested.
    2. Open a new issue: If it's a new idea, open a new issue.
    3. Describe your idea: Clearly explain the feature, why you think it's useful, and any potential use cases.
    "},{"location":"contributing/#contributing-code","title":"\ud83d\udcbb Contributing Code","text":"

    Want to get your hands dirty with the code? Awesome! We appreciate all code contributions.

    1. Fork the Repository: Start by forking the DigiLive/mushroom-strategy repository to your own GitHub account.
    2. Clone Your Fork: Clone your forked repository to your local machine.

      git clone https://github.com/YOUR_USERNAME/mushroom-strategy.git\ncd mushroom-strategy\n
    3. Create a New Branch: Create a new branch for your feature or bug fix. Use a descriptive name (e.g., feature/my-awesome-feature, bugfix/fix-admonition-rendering).

      git checkout -b feature/my-new-feature\n
    4. Set up Development Environment:

      • Ensure you have Node.js and npm installed.
      • Install project dependencies: npm install
      • You can build the strategy with npm run build (for production) or npm run build-dev (for development/testing).
      • Copy the built files to your Home Assistant's www/community/mushroom-strategy folder for testing.
    5. Make Your Changes: Implement your bug fix or new feature.

    6. Test Your Changes: Thoroughly test your changes to ensure they work as expected and don't introduce new issues.
    7. Commit Your Changes:

      • We follow Conventional Commits for clear commit history.
      • Example: feat: add new card option or fix: correct card rendering issue
      git add .\ngit commit -m \"feat: add super cool new feature\"\n
    8. Push to Your Fork:

      git push origin feature/my-new-feature\n
    9. Create a Pull Request (PR):

      • Go to your forked repository on GitHub.
      • You should see a prompt to create a pull request from your new branch to the main branch of DigiLive/mushroom-strategy.
      • Provide a clear title and description for your PR, referencing any related issues.
      • Be prepared to discuss your changes and address any feedback during the review process.
    "},{"location":"contributing/#improving-documentation","title":"\ud83d\udcc4 Improving Documentation","text":"

    Good documentation is vital! If you find typos, unclear sections, or want to add more examples, please open a pull request. The documentation is located in the docs/ folder of this repository.

    "},{"location":"contributing/#translations","title":"\ud83c\udf10 Translations","text":"

    Help us make Mushroom Strategy accessible to more users around the world by contributing and improving translations!

    Language tags have to follow BCP 47. A list of most language tags can be found here: IANA subtag registry. Examples: fr, fr-CA, zh-Hans.

    1. Check for Existing Translations: See if your language is already being worked on or exists.
    2. Locate Translation Files: Language files are found within the src/translations directory. Each language has its own locale.json file (e.g., en.json, nl.json, pt-BR.json).
    3. Create or Update:

      • To create a new language: Copy an existing .json file (e.g., en.json), rename it to your language code (e.g., de.json for German), and translate the property values.
      • To update an existing language: Open the .json file for your language and update any missing or outdated translations.
    4. Submit a Pull Request: Once your translations are complete, submit a pull request with your changes. Clearly state which language you are contributing to or updating.

    Info

    Integrating a new Translation:

    • For your new language file to be picked up, it needs to be imported and registered at file src/utilities/localize.ts.
    • You will need to add an import statement for your new .json file at the top, following the existing pattern.
    • Then, you'll need to add it to the languages map, associating the language code with the imported module.

    Special Handling for language-country Locales: If you are adding a country-specific locale (e.g., es-ES for Spanish (Spain) or en-GB for English (United Kingdom)), you should create a file like en-GB.json in the translations folder. In src/utilities/localize.ts, you'll import it similarly and add it to the languages map using the full locale code. Please ensure you follow existing patterns for language-country codes, which typically use a hyphen (-) + a UPPER-cased country code in the file name and an underscore (_) + a lower-cased country code in the import key.

    Example

    import * as en from '../translations/en.json';\nimport * as pt_br from '../translations/pt-BR.json';\n\n/** Registry of currently supported languages */\nconst languages: Record<string, unknown> = {\n  en,\n  'pt-BR': pt_br,\n};\n
    "},{"location":"contributing/#get-support","title":"\ud83d\ude4f Get Support","text":"

    If you have questions about contributing or need help with your setup, please open a discussion on our GitHub repository.

    "},{"location":"faq/","title":"Frequently Asked Questions","text":"How do I add a device or entity to an area?

    You can add devices to an area by going to Settings found at the bottom of the sidebar.

    1. Select Devices & services.
    2. Select Devices or Entitiesat the top.
    3. Choose the device or entity you wish to add to an area.
    4. Select or in the top right corner.
    5. Choose an area in the area field.

    Warning

    If you created an entity manually (in your configuration.yaml), you may need to create a unique_id before you can set an area to it. See Home Assistant's documentation for more info about unique ids.

    How do I hide entities from the Strategy?

    When creating this dashboard for the first time, you might be overwhelmed by the number of entities. To reduce the number of entities shown, you can hide these entities by following the steps below:

    1. Click and hold the entity.
    2. Click in the top right corner of the popup.
    3. Set Visible to off.

    Note

    If you don't want to hide the entity from all dashboards, you can use Card Options to hide specific entities and devices.

    How do I get the id of entities, devices and areas?
    • Entity Id

      1. Select Settings at the bottom of the sidebar.
      2. Select Devices & services.
      3. Select Entities at the top.
      4. Choose the entity you want to get the id of.
      5. Click in the top right corner of the popup.
    • Device Id

      1. Select Settings at the bottom of the sidebar.
      2. Select Devices & services.
      3. Select Devices at the top.
      4. Select the device you want to get the id of.
      5. The device id is shown as the last part of the url in the address bar. E.g.: https://.../config/devices/device/h55b6k54j76g56
    • Area Id

      1. Select Settings at the bottom of the sidebar.
      2. Select Areas.
      3. Select of the area you want to get the id of.
    "},{"location":"full-example/","title":"Full example using all the options provided with the strategy","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    views:\n      light:\n        order: 1\n        title: illumination\n      switches:\n        hidden: true\n        icon: mdi:toggle-switch\n    home_view:\n      hidden:\n        - areasTitle\n        - greeting\n      stack_count:\n        areas: [2, 1]\n        persons: 3\n    domains:\n      _:\n        hide_config_entities: true\n        stack_count: 1\n      light:\n        order: 1\n        stack_count: 2\n        title: \"My cool lights\"\n    chips:\n      weather_entity: weather.forecast_home\n      climate_count: false\n      cover_count: false\n      extra_chips:\n        - type: conditional\n          conditions:\n            - entity: lock.front_door\n              state: unlocked\n          chip:\n            type: entity\n            entity: lock.front_door\n            icon_color: red\n            content_info: none\n            icon: ''\n            use_entity_picture: false\n            tap_action:\n              action: toggle\n        - type: conditional\n          conditions:\n            - entity: cover.garage_door\n              state_not: closed\n          chip:\n            type: entity\n            entity: cover.garage_door\n            icon_color: red\n            content_info: none\n            tap_action:\n              action: toggle\n    areas:\n      _:\n        type: default\n      family_room_id:\n        name: Family Room\n        icon: mdi:television\n        icon_color: green\n        extra_cards:\n          - type: custom:mushroom-chips-card\n            chips:\n              - type: entity\n                entity: sensor.family_room_temperature\n                icon: mdi:thermometer\n                icon_color: pink\n            alignment: center\n      kitchen_id:\n        name: Kitchen\n        icon: mdi:silverware-fork-knife\n        icon_color: red\n        order: 1\n      master_bedroom_id:\n        name: Master Bedroom\n        icon: mdi:bed-king\n        icon_color: blue\n      kids_bedroom_id:\n        name: Kids Bedroom\n        icon: mdi:flower-tulip\n        icon_color: green\n    card_options:\n      fan.master_bedroom_fan:\n        type: custom:mushroom-fan-card\n      remote.harmony_hub_wk:\n        hidden: true\n    quick_access_cards:\n      - type: custom:mushroom-cover-card\n        entity: cover.garage_door\n        show_buttons_control: true\n      - type: horizontal-stack\n        cards:\n          - type: custom:mushroom-lock-card\n            entity: lock.front_door\n          - type: custom:mushroom-entity-card\n            entity: sensor.front_door_lock_battery\n            name: Battery\n    extra_cards:\n      - type: custom:xiaomi-vacuum-map-card\n        map_source:\n          camera: camera.xiaomi_cloud_map_extractor\n        calibration_source:\n          camera: true\n        entity: vacuum.robot_vacuum\n        vacuum_platform: default\n    extra_views:\n      - theme: Backend-selected\n        title: Cool view\n        path: cool-view\n        icon: mdi:emoticon-cool\n        badges: []\n        cards:\n          - type: markdown\n            content: I am cool\n
    "},{"location":"getting-started/basic-setup/","title":"Basic Setup","text":"

    To apply the Mushroom Strategy to a dashboard:

    1. In the UI of the dashboard, select in the top right corner.
    2. If not taken to a Raw Configuration editor, click the three-dot menu in the top right corner.
    3. Select Raw configuration editor.
    4. Empty the configuration and add the following lines:
    strategy:\n  type: custom:mushroom-strategy\nviews: []\n

    [!NOTE] You may see the following error:

     Error loading the dashboard strategy:\n     Error: Timeout waiting for strategy\n     element ||-strategy-mushroom-strategy to\n     be registered\n

    This is mainly because of cache issues or HACS didn't create a reference. Try clearing the cache of your client and/or re-downloading the strategy from HACS.

    If it still doesn't work, please consult guide How to solve: Error loading the dashboard strategy.

    "},{"location":"getting-started/installation/","title":"Installation","text":""},{"location":"getting-started/installation/#prerequisites","title":"Prerequisites","text":"

    Mushroom dashboard strategy and dependencies are available in HACS (Home Assistant Community Store). Install HACS if you don't have it already. For assistance, you can follow the installation guide.

    Once you have HACS installed, you can install custom integration and plug-ins. This guide offers you badges to open your Home Assistant on the correct page. If the badges don't work, try installing from HACS manually:

    1. Open HACS in Home Assistant (Usually in the menu on the left side).
    2. At the top, search for the component you want to install.
    3. Select the three-dot menu on the right side of the component and select Download.
    4. Choose the desired version and select Download again.

    You need to install the following HACS integrations before you can use this strategy. Click the badges below and follow the installation instructions. They will open the HACS repository at your Home Assistant instance directly.

    to install Mushroom. to install Mini graph card.

    "},{"location":"getting-started/installation/#dashboard-installation","title":"Dashboard Installation","text":"

    If you meet all the prerequisites, click the badge below to install the strategy.

    "},{"location":"getting-started/installation/#local-installation","title":"Local Installation","text":"

    Please install the strategy with HACS as described above. If you require testing a custom build for debug purposes, follow these steps:

    1. Build the strategy with npm build or npm build-dev.
    2. Copy the build file(s) to folder <your-hass-directory>/www/community/mushroom-strategy.
    3. If file mushroom-strategy.js.gz exists in that folder, rename or delete it.

    Note

    Refresh the cache of the client you use to access Home Assistant.

    "},{"location":"getting-started/installation/#updating","title":"Updating","text":"

    By default, Home Assistant will notify you when an update of the strategy is available. You can update the strategy by going to Settings found at the bottom of the sidebar.

    Tip

    You can enable notifications of pre-releases.

    • Go to Settings > Devices & services > Entities.
    • Search for Mushroom Dashboard and switch on the Pre-release entity.
    "},{"location":"options/","title":"Overview","text":"

    The dashboard can be highly customized using the options parameter in the yaml configuration of your dashboard.

    strategy:\n  type: custom:mushroom-strategy\n  options:\n    # Custom Configuration\n

    By default,

    • All views and domains are enabled.
    • All chips are enabled and count the number of \"active\" entities.
    • For the weather chip, the entity is selected automatically unless you specify one.
    • All entities without an area are added to the undisclosed area.
    • All configuration- and diagnostic entities are hidden.

    The options are divided into groups as described below.

    Name Type Default Description areas object undisclosed See Area Options. card_options object empty See Card Options. domains object All supported domains See Domain Options. home_view object unset See Home View Options. chips object All supported chips See Chip Options. quick_access_cards array of cards empty List of cards to show between the greeting card and the area cards.See Quick Access Cards. extra_cards array of cards empty List of cards to show below the area cards.See extra Cards. views object All supported views See View Options. extra_views array of views empty List of user defined views to add to the dashboard.See Extra Views."},{"location":"options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    areas:\n      family_room_id:\n        name: Family Room\n        icon: mdi:sofa\n        icon_color: green\n
    "},{"location":"options/area-options/","title":"Area Options","text":"

    The areas group enables you to specify the configuration of specific areas. Each configuration is identified by an area id and can have the following options:

    Name Type Default Description extra_cards array of cards [] A list of cards to show on the top of the area sub-view. hidden boolean false Set to true to exclude the area from the dashboard and views. name string Area specific The name of the area. order number unset Ordering position of the area in the list of available areas. type string default Set to a type of area card. (Currently supported: default & HaAreaCard

    Also, all options from the Template mushroom card and/or Home Assistant Area card are supported. Please follow the links below to see the additional options per card type.

    • Mushroom Template Card.
    • Home Assistant Area Card.
    "},{"location":"options/area-options/#extra-cards","title":"Extra Cards","text":"

    The extra_cards group enables you to specify the configuration of additional cards an Area view. These cards will be shown last in the view.

    See Home View Options \u2192 Extra Cards for more information.

    "},{"location":"options/area-options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    areas:\n      family_room_id:\n        name: Family Room\n        icon: mdi:television\n        icon_color: green\n        order: 1\n        extra_cards:\n          - type: custom:mushroom-chips-card\n            chips:\n              - type: entity\n                entity: sensor.family_room_temperature\n                icon: mdi:thermometer\n                icon_color: pink\n            alignment: center\n      kitchen_id:\n        name: Kitchen\n        icon: mdi:silverware-fork-knife\n        icon_color: red\n        order: 2\n      garage_id:\n        hidden: true\n      hallway_id:\n        type: HaAreaCard\n        extra_cards:\n          - type: custom:xiaomi-vacuum-map-card\n            map_source:\n              camera: camera.xiaomi_cloud_map_extractor\n            calibration_source:\n              camera: true\n            entity: vacuum.robot_vacuum\n            vacuum_platform: default\nviews: []\n
    "},{"location":"options/area-options/#undisclosed-area","title":"Undisclosed Area","text":"

    The strategy has a special area, named undisclosed. This area is enabled by default and includes the entities that aren't linked to any Home Assistant area.

    The area can be configured like any other area as described above. To exclude this area from the dashboard and views, set its property hidden to true.

    "},{"location":"options/area-options/#setting-options-for-all-areas","title":"Setting options for all areas","text":"

    Use _ as an identifier to set the options for all areas. The following example sets the type of all area-cards to the one of Home Assistant:

    "},{"location":"options/area-options/#example_1","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    areas:\n      _:\n        type: HaAreaCard\nviews: []\n

    Note

    Area specific options take precedence over options set for all areas.!

    "},{"location":"options/card-options/","title":"Card Options","text":"

    The card_options group enables you to specify the configuration of entity cards. Each configuration is identified by an entity id and can have the following options:

    name type default description hidden boolean false Set to true to exclude the card from the dashboard. type string domain specific The type for card to apply. ... ... type specific An option belonging to the given card type.

    Depending on the type of card, you can also specify options belonging to that type.

    Providing a device id will enable you to hide all the entities associated with that device.

    "},{"location":"options/card-options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    card_options:\n      fan.master_bedroom_fan:\n        type: custom:mushroom-fan-card\n        icon: mdi:fan\n      remote.harmony_hub_wk:\n        hidden: true\n      077ba0492c9bb3b3134f1f3a626a: # this is a device id\n        hidden: true\n

    Tip

    You can build your card at another dashboard and copy the cards group from the YAML of that dashboard into group card_options of the strategy configuration. The YAML can be found in the Raw configuration editor.

    "},{"location":"options/domain-options/","title":"Domain Options","text":"

    The domains group enables you to specify the configuration of a domain in a view. Each configuration is identified by a domain name and can have the following options:

    Option type Default Description hidden boolean false Set to true to exclude the domain from the dashboard. hide_config_entities boolean true Set to false to include config-entities to the dashboard. hide_diagnostic_entities boolean true Set to false to include diagnostic-entities to the dashboard. order number unset Ordering position of the domain entities in a view. showControls boolean true Weather to show controls in a view, to switch all entities of the domain. stack_count object {_: 1} Cards per row.1 title string domain specific Title of the domain in a view.

    Note

    • Domain default represents any other domain than supported by this strategy.
    • The showControls option will default to false for domain which can't be controlled.
    • The hide_config_entities and hide_diagnostic_entities options are only available as an \"All domains\" option.
    "},{"location":"options/domain-options/#setting-options-for-all-domains","title":"Setting options for all domains","text":"

    Use _ as the identifier to set options for all domains.

    "},{"location":"options/domain-options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    domains:\n      _:\n        stack_count: 2\n        hide_config_entities: false\n      light:\n        title: \"My cool lights\"\n        order: 1\n      switch:\n        stack_count: 3\n        showControls: false\n      default: # All other domains\n        hidden: true\n
    Click to expand the full list of supported domains
    • _ (All domains)
    • area
    • binary_sensor
    • camera
    • climate
    • cover
    • default (Miscellaneous)
    • fan
    • input_select
    • light
    • lock
    • media_player
    • number
    • person
    • scene
    • select
    • sensor
    • switch
    • vacuum
    • valve
    1. In the different views, the cards belonging to a specific domain will be horizontally stacked into a row. The number of cards per row can be configured with this option.\u00a0\u21a9

    "},{"location":"options/home-view-options/","title":"Home View Options","text":"

    The home_view group enables you to specify the configuration of the Home view.

    Option type default Description hidden array [] Array of sections to hide from the home view. stack_count object {_: 2} Cards per row."},{"location":"options/home-view-options/#hiding-sections","title":"Hiding sections","text":"

    The following sections can be hidden from the Home view:

    • areas
    • areasTitle
    • chips
    • greeting
    • persons
    "},{"location":"options/home-view-options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    home_view:\n      hidden:\n        - greeting\n        - areasTitle\n
    "},{"location":"options/home-view-options/#stack-count","title":"Stack Count","text":"

    The stack_count option is a map of sections to define the number of cards per row. The key of the map is the section, while the value is the number of cards per row.

    The areas section is a special case, where the value is an array of two numbers. The first number is the number of default cards per row, while the second number is the number of Home Assistant cards per row.

    "},{"location":"options/home-view-options/#example_1","title":"example","text":"
    home_view:\n  stack_count:\n    _: 2         # Two cards per row for all sections.\n    persons: 3   # Three person cards per row.\n    areas: [2,1] # [Two Strategy Card per row, 1 HASS card per row]\n

    Note

    Section specific options take precedence over options set for all sections.!

    "},{"location":"options/home-view-options/#chip-options","title":"Chip Options","text":"

    The mushroom strategy has chips that indicate the number of entities for a specific domain which are in an \"active\" state. Hidden/Disabled entities are excluded from this count.

    • Tapping a chip will set corresponding entities to an \"inactive\" state.1
    • Tap and hold a chip, will navigate to the corresponding view.

    The chips group enables you to specify the configuration of chips.

    Name type default Description light_count boolean false Number of lights on. fan_count boolean false Number of fans on. cover_count boolean false Number of covers not closed. No tap action. switch_count boolean false Number of switches on. climate_count boolean false Number of climate not off. No tap action. weather_entity string auto Entity id for the weather chip to use. extra_chips array [] List of extra chips to show.

    If weather_entity is set to auto, the weather chip uses the first entity of the weather domain it finds. You can define a custom entity to use by setting an entity id.

    Note

    To hide the weather chip, you should hide or disable the entity itself.

    "},{"location":"options/home-view-options/#example_2","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    chips:\n      climate_count: false\n      cover_count: false\n      weather_entity: weather.forecast_home\n
    "},{"location":"options/home-view-options/#extra-chips","title":"Extra Chips","text":"

    To add custom chips, you can configure them in extra_chips. See Mushroom Chips for all available chips.

    Tip

    You can build your chips in a temporary card in another dashboard and copy the chips group from the YAML of that card into group extra_chips of the strategy configuration. The YAML can be found in the Raw configuration editor.

    "},{"location":"options/home-view-options/#example_3","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    chips:\n      extra_chips:\n        - type: conditional\n          conditions:\n            - entity: lock.front_door\n              state: unlocked\n          chip:\n            type: entity\n            entity: lock.front_door\n            icon_color: red\n            content_info: none\n            tap_action:\n              action: toggle\n
    "},{"location":"options/home-view-options/#quick-access-cards","title":"Quick Access Cards","text":"

    The quick_access_cards group enables you to specify the configuration of additional cards in the view. These cards will be shown between the greeting card and area cards.

    Each card can have the options as described at Card Options.

    Tip

    You can build your view in a temporary dashboard and copy the views group from the YAML of that dashboard into group extra_views of the strategy configuration. The YAML can be found in the Raw configuration editor.

    "},{"location":"options/home-view-options/#example_4","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    quick_access_cards:\n      - type: custom:mushroom-title-card\n        title: Security\n      - type: custom:mushroom-cover-card\n        entity: cover.garage_door\n        show_buttons_control: true\n      - type: horizontal-stack\n        cards:\n          - type: custom:mushroom-lock-card\n            entity: lock.front_door\n          - type: custom:mushroom-entity-card\n            entity: sensor.front_door_lock_battery\n            name: Battery\n
    "},{"location":"options/home-view-options/#extra-cards","title":"Extra Cards","text":"

    The extra_cards group enables you to specify the configuration of additional cards in the view. These cards will be shown below the areas.

    Each card can have the options as described at Card Options.

    Tip

    You can build your view in a temporary dashboard and copy the views group from the YAML of that dashboard into group extra_cards of the strategy configuration. The YAML can be found in the Raw configuration editor.

    "},{"location":"options/home-view-options/#example_5","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    extra_cards:\n      - type: custom:xiaomi-vacuum-map-card\n        map_source:\n          camera: camera.xiaomi_cloud_map_extractor\n        calibration_source:\n          camera: true\n        entity: vacuum.robot_vacuum\n        vacuum_platform: default\n
    1. For some chips, the tap action is disabled.\u00a0\u21a9

    "},{"location":"options/view-options/","title":"View Options","text":"

    Mushroom strategy includes several views to control/view entities of a specific domain. Hidden/Disabled entities or linked to a hidden area are excluded from the view.

    The following views are supported and enabled by default:

    View Type Description camera object View to control cameras. climate object View to control climates. cover object View to control covers. fan object View to control fans. home object An overview of several entities and areas. light object View to control lights. lock object View to control locks. scene object View to control scenes. switch object View to control switches. vacuum object View to control vacuums. valve object View to control valves.

    The views group enables you to specify the configuration of a view. Each configuration is identified by a view name and can have the following options:

    name type Default description hidden boolean false Set to true to exclude the view from the dashboard icon string domain specific Icon of the view in the navigation bar. order string home, light, fan, cover, switch, climate, camera, vacuum, scene, lock, valve Ordering position of the view in the navigation bar. title string domain specific Title of the view in the navigation bar. (Shown when no icon is defined or hovering above it.)"},{"location":"options/view-options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    views:\n      light:\n        order: 0\n        title: illumination\n      switch:\n        order: 1\n        hidden: true\n        icon: mdi:toggle-switch\nviews: []\n
    "},{"location":"options/view-options/#extra-views","title":"Extra Views","text":"

    The extra_views group enables you to specify the configuration of additional views. Each view can have the options as described in the Home Assistant documentation.

    Tip

    You can build your view in a temporary dashboard and copy the views group from the YAML of that dashboard into group extra_views of the strategy configuration. The YAML can be found in the Raw configuration editor.

    "},{"location":"options/view-options/#example_1","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    extra_views:\n      - theme: Backend-selected\n        title: cool view\n        path: cool-view\n        icon: mdi:emoticon-cool\n        badges: []\n        cards:\n          - type: markdown\n            content: I am cool\n
    "}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to the Mushroom Strategy Documentation","text":"

    The Mushroom Strategy is an innovative solution for Home Assistant that empowers you to effortlessly create beautiful, intuitive, and automatically generated dashboards using the popular Mushroom cards.

    Say goodbye to tedious manual YAML configuration for every card! With the Mushroom Strategy, you can define your entities, areas, and devices and let the strategy intelligently build a dynamic and responsive dashboard tailored to your smart home.

    "},{"location":"#key-features-benefits","title":"\u2728 Key Features & Benefits","text":"
    • Automated Dashboard Generation: Create a comprehensive dashboard with minimal YAML, saving you countless hours.
    • Leverages Mushroom Cards: Enjoy the stunning aesthetics and rich functionality of Mushroom cards, renowned for their clean design and user-friendliness.
    • Entity, Device, and Area-Aware: Automatically organizes your Home Assistant components into logical, navigable views.
    • Built-in Views: Access pre-built views for specific domains like lights, fans, climate, and more, ensuring quick control.
    • Highly Customizable: While automated, the strategy provides ample options to fine-tune the appearance and behavior to match your preferences.
    • Responsive Design: Your generated dashboard will look great and function seamlessly across all devices \u2013 mobile, tablet, and desktop.
    • Mini Graph: Utilize Mini Graphs to visualize data of sensors.
    • Stateful Scenes Support: Support for stateful scenes from Stateful Scenes.
    "},{"location":"#get-started-in-minutes","title":"\ud83d\ude80 Get Started in Minutes","text":"

    Ready to transform your Home Assistant interface? Follow these guides to get your Mushroom Strategy dashboard up and running:

    • Installation Guide: Step-by-step instructions to install the strategy via HACS or manually.
    • Basic Setup: Learn the fundamental configuration to generate your first dashboard.
    • Configuration Options: Dive deeper into all available settings to customize your dashboard to perfection.
    • Usage Example: An example to show most of the configuration options.

    We're excited for you to experience the simplicity and power of the Mushroom Strategy. If you have questions, encounter issues, or want to contribute, please visit our GitHub repository and engage with the community!

    Enjoying the Mushroom Strategy? Consider giving our project a star on GitHub and exploring ways to sponsor the project to support its continued development! Your support helps us grow and improve.

    "},{"location":"#sneak-peak","title":"\ud83d\udc40 Sneak Peak","text":"Click here for more images..."},{"location":"faq/","title":"Frequently Asked Questions","text":"How do I add a device or entity to an area?

    You can add devices to an area by going to Settings found at the bottom of the sidebar.

    1. Select Devices & services.
    2. Select Devices or Entitiesat the top.
    3. Choose the device or entity you wish to add to an area.
    4. Select or in the top right corner.
    5. Choose an area in the area field.

    Warning

    If you created an entity manually (in your configuration.yaml), you may need to create a unique_id before you can set an area to it. See Home Assistant's documentation for more info about unique ids.

    How do I hide entities from the Strategy?

    When creating this dashboard for the first time, you might be overwhelmed by the number of entities. To reduce the number of entities shown, you can hide these entities by following the steps below:

    1. Click and hold the entity.
    2. Click in the top right corner of the popup.
    3. Set Visible to off.

    Note

    If you don't want to hide the entity from all dashboards, you can use Card Options to hide specific entities and devices.

    How do I get the id of entities, devices and areas?
    • Entity Id

      1. Select Settings at the bottom of the sidebar.
      2. Select Devices & services.
      3. Select Entities at the top.
      4. Choose the entity you want to get the id of.
      5. Click in the top right corner of the popup.
    • Device Id

      1. Select Settings at the bottom of the sidebar.
      2. Select Devices & services.
      3. Select Devices at the top.
      4. Select the device you want to get the id of.
      5. The device id is shown as the last part of the url in the address bar. E.g.: https://.../config/devices/device/h55b6k54j76g56
    • Area Id

      1. Select Settings at the bottom of the sidebar.
      2. Select Areas.
      3. Select of the area you want to get the id of.
    "},{"location":"full-example/","title":"\ud83d\udcdd Full example using all the options provided with the strategy","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    views:\n      light:\n        order: 1\n        title: illumination\n      switches:\n        hidden: true\n        icon: mdi:toggle-switch\n    home_view:\n      hidden:\n        - areasTitle\n        - greeting\n      stack_count:\n        areas: [2, 1]\n        persons: 3\n    domains:\n      _:\n        hide_config_entities: true\n        stack_count: 1\n      light:\n        order: 1\n        stack_count: 2\n        title: \"My cool lights\"\n    chips:\n      weather_entity: weather.forecast_home\n      climate_count: false\n      cover_count: false\n      extra_chips:\n        - type: conditional\n          conditions:\n            - entity: lock.front_door\n              state: unlocked\n          chip:\n            type: entity\n            entity: lock.front_door\n            icon_color: red\n            content_info: none\n            icon: ''\n            use_entity_picture: false\n            tap_action:\n              action: toggle\n        - type: conditional\n          conditions:\n            - entity: cover.garage_door\n              state_not: closed\n          chip:\n            type: entity\n            entity: cover.garage_door\n            icon_color: red\n            content_info: none\n            tap_action:\n              action: toggle\n    areas:\n      _:\n        type: default\n      family_room_id:\n        name: Family Room\n        icon: mdi:television\n        icon_color: green\n        extra_cards:\n          - type: custom:mushroom-chips-card\n            chips:\n              - type: entity\n                entity: sensor.family_room_temperature\n                icon: mdi:thermometer\n                icon_color: pink\n            alignment: center\n      kitchen_id:\n        name: Kitchen\n        icon: mdi:silverware-fork-knife\n        icon_color: red\n        order: 1\n      master_bedroom_id:\n        name: Master Bedroom\n        icon: mdi:bed-king\n        icon_color: blue\n      kids_bedroom_id:\n        name: Kids Bedroom\n        icon: mdi:flower-tulip\n        icon_color: green\n    card_options:\n      fan.master_bedroom_fan:\n        type: custom:mushroom-fan-card\n      remote.harmony_hub_wk:\n        hidden: true\n    quick_access_cards:\n      - type: custom:mushroom-cover-card\n        entity: cover.garage_door\n        show_buttons_control: true\n      - type: horizontal-stack\n        cards:\n          - type: custom:mushroom-lock-card\n            entity: lock.front_door\n          - type: custom:mushroom-entity-card\n            entity: sensor.front_door_lock_battery\n            name: Battery\n    extra_cards:\n      - type: custom:xiaomi-vacuum-map-card\n        map_source:\n          camera: camera.xiaomi_cloud_map_extractor\n        calibration_source:\n          camera: true\n        entity: vacuum.robot_vacuum\n        vacuum_platform: default\n    extra_views:\n      - theme: Backend-selected\n        title: Cool view\n        path: cool-view\n        icon: mdi:emoticon-cool\n        badges: []\n        cards:\n          - type: markdown\n            content: I am cool\n
    "},{"location":"contributing/","title":"\ud83e\udd1d Contributing to Mushroom Strategy","text":"

    We love contributions from the community! Whether you're reporting a bug, suggesting a new feature, or submitting code changes, your help makes the Mushroom Strategy better for everyone.

    Please take a moment to review this guide before making a contribution.

    "},{"location":"contributing/#code-of-conduct","title":"\ud83d\udcdc Code of Conduct","text":"

    To ensure a welcoming and inclusive environment, all contributors are expected to adhere to our Code of Conduct. Please read it carefully.

    "},{"location":"contributing/#reporting-bugs","title":"\ud83d\udc1e Reporting Bugs","text":"

    Found a bug? That's not ideal, but your report helps us squash it!

    1. Check existing issues: Before opening a new issue, please search our GitHub Issues or Discussions to see if the bug has already been reported.
    2. Open a new issue: If it's a new bug, please open a new issue.
    3. Provide details: In your report, please follow the instructions and template to include:

    4. A clear and concise description of the bug.

    5. Steps to reproduce the behavior.
    6. Expected behavior.
    7. Screenshots or animated GIFs (if applicable).
    8. Your Home Assistant version and Mushroom Strategy version.
    "},{"location":"contributing/#suggesting-features","title":"\u2728 Suggesting Features","text":"

    Have a great idea for a new feature or enhancement? We'd love to hear it!

    1. Check existing suggestions: Search our GitHub Issues or Discussions to see if the feature has already been requested.
    2. Open a new issue: If it's a new idea, open a new issue.
    3. Describe your idea: Clearly explain the feature, why you think it's useful, and any potential use cases by following the instructions and template.
    "},{"location":"contributing/#get-support","title":"\ud83d\ude4f Get Support","text":"

    If you have questions about contributing or need help with your setup, please open a discussion on our GitHub repository.

    "},{"location":"contributing/code/","title":"\ud83d\udcbb Contributing Code","text":"

    Want to get your hands dirty with the code? Awesome! We appreciate all code contributions.

    1. Follow the Workflow:

    2. Make Your Changes: Implement your bug fix or new feature.

    3. Test Your Changes: Thoroughly test your changes to ensure they work as expected and don't introduce new issues.

      • You can build the strategy with npm run build (for production) or npm run build-dev (for development/testing).
      • Copy the built files to your Home Assistant's www/community/mushroom-strategy directory for testing. Remember to clear the cache of your Home Assistant client to see the changes.

      Info

      If your www/community/mushroom-strategy directory contains a file called mushroom-strategy.js.gz, rename or delete it.

    4. Format and Lint Your Changes:

      • Run the formatter with npm run ts:format.
      • Build the strategy with npm run build.

      Both of these tasks should result without errors.

    5. Commit Your Changes.

    6. Push to Your Fork.

    7. Open a Pull Request (PR).

    Thank you for taking the time to help us improve our project! Your contributions make a real difference. \ud83c\udf89

    "},{"location":"contributing/documentation/","title":"\ud83d\udcc4 Contributing to the Documentation","text":"

    Good documentation is crucial for our project's success! We truly appreciate any contributions, whether it's fixing a typo, clarifying a section, adding more examples, or even extending existing topics. This guide will walk you through the process of contributing.

    The entire documentation lives in the docs/ folder of this repository.

    1. Follow the Workflow:

    2. Serve the Documentation Locally: Start the local development server. This task needs to be run from the project root (where the mkdocs.yml file is):

      mkdocs serve\n

      This will usually launch a local server, at http://127.0.0.1:8000. The server will automatically reload in your browser as you make and save changes to the documentation files. To stop the server, press Ctrl + C in the terminal.

    3. Edit Markdown Files: All documentation content is written in Markdown (.md files). You can find them within the docs/ folder.

      • For advanced formatting options, refer to the Material for MkDocs reference.
    4. Add New Pages:

      • Create a new .md file in the most appropriate directory within docs/.

      Important

      You'll need to add the new page to the navigation (nav) section of the mkdocs.yml file for it to appear in the sidebar. Follow the existing structure.

    5. Add Images:

      • Place any image files into the docs/images/ directory.
      • Reference them in your Markdown using the syntax: ![Alt text for accessibility](images/your-image-name.png)
    6. Preview Changes: As you save your .md files, the local server running at http://127.0.0.1:8000 will automatically refresh, allowing you to see your changes instantly.

    7. Format and Lint Your Changes:

      • Build the linter with npm run md:lint-fix.

      This task should result without errors.

    8. Commit Your Changes.

    9. Push to Your Fork.

    10. Open a Pull Request (PR).

    "},{"location":"contributing/documentation/#documentation-style-and-quality","title":"Documentation Style and Quality","text":"

    To maintain consistency and quality:

    • Clarity and Conciseness: Use straightforward, clear, and concise language.
    • Examples: Include images and code examples whenever they help clarify a point.

    Thank you for taking the time to help us improve our documentation! Your contributions make a real difference. \ud83c\udf89

    "},{"location":"contributing/getting-started/","title":"\ud83d\ude80 Getting Started","text":""},{"location":"contributing/getting-started/#prerequisites","title":"\u2699\ufe0f Prerequisites","text":"

    Before you begin, make sure you have the following installed on your system:

    • Git: For version control and managing your changes.

    • Node.js and npm: Required for running scripts defined in package.json (e.g., linting). Download from nodejs.org.

    For contributing to the documentation, the following prerequisites are also required:

    • Python 3.7 or higher: Download from python.org/downloads.

    • pip (Python package installer): Usually comes with Python, but you can find installation instructions at pip.pypa.io/en/stable/installation/.

    "},{"location":"contributing/getting-started/#local-environment","title":"\ud83d\udee0\ufe0f Local Environment","text":"

    To make and preview your changes, you'll need to set up a development environment locally:

    1. Fork the Repository: Go to our main repository on GitHub and click the \"Fork\" button. This creates a copy of the repository under your GitHub account.

    2. Clone Your Fork: On your local machine, clone your forked repository using Git.

    3. Install Node.js Dependencies: Navigate to the root of the cloned project (where package.json is located) and install its dependencies:

      npm install\n
    4. Install Python Documentation Tools: Navigate to the root of the cloned project (where mkdocs.yml is located) and install MkDocs along with the necessary themes and plugins:

      pip install mkdocs mkdocs-material mkdocs-material-extensions\n
    "},{"location":"contributing/translations/","title":"\ud83c\udf10 Translations","text":"

    Help us make Mushroom Strategy accessible to more users around the world by contributing and improving translations!

    Language tags have to follow BCP 47. A list of most language tags can be found here: IANA subtag registry. Examples: fr, fr-CA, zh-Hans.

    1. Check for Existing Translations: See if your language is already being worked on or exists.
    2. Locate Translation Files: Language files are found within the src/translations directory. Each language has its own locale.json file (e.g., en.json, nl.json, pt-BR.json).
    3. Create or Update:

      • To create a new language: Copy an existing .json file (e.g., en.json), rename it to your language code (e.g., de.json for German), and translate the property values.
      • To update an existing language: Open the .json file for your language and update any missing or outdated translations.
    4. Test Your Changes: Thoroughly test your changes to ensure they work as expected and don't introduce new issues.

      • You can build the strategy with npm run build (for production) or npm run build-dev (for development/testing).
      • Copy the built files to your Home Assistant's www/community/mushroom-strategy directory for testing. Remember to clear the cache of your Home Assistant client to see the changes.

      Info

      If your www/community/mushroom-strategy directory contains a file called mushroom-strategy.js.gz, rename or delete it.

    5. Format and Lint Your Changes:

      • Run the formatter with npm run json:format.
      • Run the formatter with npm run ts:format.
      • Build the strategy with npm run build.

      All of these tasks should result without errors.

    6. Commit Your Changes.

    7. Push to Your Fork.

    8. Open a Pull Request (PR).

    Info

    Integrating a new Translation:

    • For your new language file to be picked up, it needs to be imported and registered at file src/utilities/localize.ts.
    • You will need to add an import statement for your new .json file at the top, following the existing pattern.
    • Then, you'll need to add it to the languages map, associating the language code with the imported module.

    Special Handling for language-country Locales: If you are adding a country-specific locale (e.g., es-ES for Spanish (Spain) or en-GB for English (United Kingdom)), you should create a file like en-GB.json in the translations folder. In src/utilities/localize.ts, you'll import it similarly and add it to the languages map using the full locale code. Please ensure you follow existing patterns for language-country codes, which typically use a hyphen (-) + a UPPER-cased country code in the file name and an underscore (_) + a lower-cased country code in the import key.

    Example

    import * as en from '../translations/en.json';\nimport * as pt_br from '../translations/pt-BR.json';\n\n/** Registry of currently supported languages */\nconst languages: Record<string, unknown> = {\n  en,\n  'pt-BR': pt_br,\n};\n
    "},{"location":"contributing/workflow/","title":"\ud83d\ude80 Contributing Workflow","text":"

    This guide outlines a common workflow for contributing to our project.

    1. Fork the Repository Start by forking our repository (the upstream project) to your own GitHub account. This creates a personal copy where you can make your changes without affecting the original project directly.

    2. Clone Your Fork Clone your forked repository from your GitHub account to your local machine.

    3. Set Up Your Local Development Environment Before making changes, ensure your local environment is ready. See Getting Started.

    4. Make Your Changes Work in a new branch for better organization and easier pull requests and Implement your bug fix, new feature, or documentation update. See chapters Code, Documentation, and Translations for guidance and details.

    5. Test Your Changes Thoroughly test your changes to ensure they work as expected, address the intended problem, and do not introduce any new issues or regressions.

    6. Format and Lint Your Changes Your code should be well-formatted and linted to ensure consistency and readability. If you've set up the project correctly, the tools for this should already be available to this project.

    7. Commit Your Changes Stage your changes and commit them with a clear, descriptive message. Aim for a concise subject line followed by a more detailed body if necessary. E.g.:

      Fix: Resolve issue with feature X\n\nA clear and concise description of what has been changed, why it was necessary, and any relevant context.\n
    "},{"location":"getting-started/basic-setup/","title":"\u2699\ufe0f Basic Setup","text":"

    To apply the Mushroom Strategy to a dashboard:

    1. In the UI of the dashboard, select in the top right corner.
    2. If not taken to a Raw Configuration editor, click the three-dot menu in the top right corner.
    3. Select Raw configuration editor.
    4. Empty the configuration and add the following lines:
    strategy:\n  type: custom:mushroom-strategy\n

    Warning

    You may see the following error:

     Error loading the dashboard strategy:\n     Error: Timeout waiting for strategy\n     element ||-strategy-mushroom-strategy to\n     be registered\n

    This is mainly because of cache issues or HACS didn't create a reference. Try clearing the cache of your client and/or re-downloading the strategy from HACS.

    If it still doesn't work, please consult guide How to solve: Error loading the dashboard strategy.

    "},{"location":"getting-started/installation/","title":"\ud83d\ude80 Installation","text":""},{"location":"getting-started/installation/#prerequisites","title":"\u2699\ufe0f Prerequisites","text":"

    Mushroom dashboard strategy and dependencies are available in HACS (Home Assistant Community Store). Install HACS if you don't have it already. For assistance, you can follow the installation guide.

    Once you have HACS installed, you can install custom integration and plug-ins. This guide offers you badges to open your Home Assistant on the correct page. If the badges don't work, try installing from HACS manually:

    1. Open HACS in Home Assistant (Usually in the menu on the left side).
    2. At the top, search for the component you want to install.
    3. Select the three-dot menu on the right side of the component and select Download.
    4. Choose the desired version and select Download again.

    You need to install the following HACS integrations before you can use this strategy. Click the badges below and follow the installation instructions. They will open the HACS repository at your Home Assistant instance directly.

    to install Mushroom. to install Mini graph card.

    "},{"location":"getting-started/installation/#dashboard-installation","title":"\ud83d\udee0\ufe0f Dashboard Installation","text":"

    If you meet all the prerequisites, click the badge below to install the strategy.

    "},{"location":"getting-started/installation/#local-installation","title":"\ud83d\udee0\ufe0f Local Installation","text":"

    Please install the strategy with HACS as described above. If you require testing a custom build for debug purposes, follow these steps:

    1. Build the strategy with npm build or npm build-dev.
    2. Copy the build file(s) to folder <your-hass-directory>/www/community/mushroom-strategy.
    3. If file mushroom-strategy.js.gz exists in that folder, rename or delete it.

    Note

    Refresh the cache of the client you use to access Home Assistant.

    "},{"location":"getting-started/installation/#updating","title":"\ud83d\udd04 Updating","text":"

    By default, Home Assistant will notify you when an update of the strategy is available. You can update the strategy by going to Settings found at the bottom of the sidebar.

    Tip

    You can enable notifications of pre-releases.

    • Go to Settings > Devices & services > Entities.
    • Search for Mushroom Dashboard and switch on the Pre-release entity.
    "},{"location":"options/","title":"\u2699\ufe0f Overview","text":"

    The dashboard can be highly customized using the options parameter in the yaml configuration of your dashboard.

    strategy:\n  type: custom:mushroom-strategy\n  options:\n    # Custom Configuration\n

    By default,

    • All views and domains are enabled.
    • All chips are enabled and count the number of \"active\" entities.
    • For the weather chip, the entity is selected automatically unless you specify one.
    • All entities without an area are added to the undisclosed area.
    • All configuration- and diagnostic entities are hidden.

    The options are divided into groups as described below.

    Name Type Default Description areas object undisclosed See Area Options. card_options object empty See Card Options. domains object All supported domains See Domain Options. home_view object unset See Home View Options. chips object All supported chips See Chip Options. quick_access_cards array of cards empty List of cards to show between the greeting card and the area cards.See Quick Access Cards. extra_cards array of cards empty List of cards to show below the area cards.See extra Cards. views object All supported views See View Options. extra_views array of views empty List of user defined views to add to the dashboard.See Extra Views."},{"location":"options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    areas:\n      family_room_id:\n        name: Family Room\n        icon: mdi:sofa\n        icon_color: green\n
    "},{"location":"options/area-options/","title":"\ud83d\udecb\ufe0f Area Options","text":"

    The areas group enables you to specify the configuration of specific areas. Each configuration is identified by an area id and can have the following options:

    Name Type Default Description extra_cards array of cards [] A list of cards to show on the top of the area sub-view. hidden boolean false Set to true to exclude the area from the dashboard and views. name string Area specific The name of the area. order number unset Ordering position of the area in the list of available areas. type string default Set to a type of area card. (Currently supported: default & HaAreaCard

    Also, all options from the Template mushroom card and/or Home Assistant Area card are supported. Please follow the links below to see the additional options per card type.

    • Mushroom Template Card.
    • Home Assistant Area Card.
    "},{"location":"options/area-options/#extra-cards","title":"Extra Cards","text":"

    The extra_cards group enables you to specify the configuration of additional cards an Area view. These cards will be shown last in the view.

    See Home View Options \u2192 Extra Cards for more information.

    "},{"location":"options/area-options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    areas:\n      family_room_id:\n        name: Family Room\n        icon: mdi:television\n        icon_color: green\n        order: 1\n        extra_cards:\n          - type: custom:mushroom-chips-card\n            chips:\n              - type: entity\n                entity: sensor.family_room_temperature\n                icon: mdi:thermometer\n                icon_color: pink\n            alignment: center\n      kitchen_id:\n        name: Kitchen\n        icon: mdi:silverware-fork-knife\n        icon_color: red\n        order: 2\n      garage_id:\n        hidden: true\n      hallway_id:\n        type: HaAreaCard\n        extra_cards:\n          - type: custom:xiaomi-vacuum-map-card\n            map_source:\n              camera: camera.xiaomi_cloud_map_extractor\n            calibration_source:\n              camera: true\n            entity: vacuum.robot_vacuum\n            vacuum_platform: default\nviews: []\n
    "},{"location":"options/area-options/#undisclosed-area","title":"Undisclosed Area","text":"

    The strategy has a special area, named undisclosed. This area is enabled by default and includes the entities that aren't linked to any Home Assistant area.

    The area can be configured like any other area as described above. To exclude this area from the dashboard and views, set its property hidden to true.

    "},{"location":"options/area-options/#setting-options-for-all-areas","title":"Setting options for all areas","text":"

    Use _ as an identifier to set the options for all areas. The following example sets the type of all area-cards to the one of Home Assistant:

    "},{"location":"options/area-options/#example_1","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    areas:\n      _:\n        type: HaAreaCard\nviews: []\n

    Note

    Area specific options take precedence over options set for all areas!

    "},{"location":"options/card-options/","title":"Card Options","text":"

    The card_options group enables you to specify the configuration of entity cards. Each configuration is identified by an entity id and can have the following options:

    name type default description hidden boolean false Set to true to exclude the card from the dashboard. type string domain specific The type for card to apply. ... ... type specific An option belonging to the given card type.

    Depending on the type of card, you can also specify options belonging to that type.

    Providing a device id will enable you to hide all the entities associated with that device.

    "},{"location":"options/card-options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    card_options:\n      fan.master_bedroom_fan:\n        type: custom:mushroom-fan-card\n        icon: mdi:fan\n      remote.harmony_hub_wk:\n        hidden: true\n      077ba0492c9bb3b3134f1f3a626a: # this is a device id\n        hidden: true\n

    Tip

    You can build your card at another dashboard and copy the cards group from the YAML of that dashboard into group card_options of the strategy configuration. The YAML can be found in the Raw configuration editor.

    "},{"location":"options/domain-options/","title":"\ud83d\udca1 Domain Options","text":"

    The domains group enables you to specify the configuration of a domain in a view. Each configuration is identified by a domain name and can have the following options:

    Option type Default Description hidden boolean false Set to true to exclude the domain from the dashboard. hide_config_entities boolean true Set to false to include config-entities to the dashboard. hide_diagnostic_entities boolean true Set to false to include diagnostic-entities to the dashboard. order number unset Ordering position of the domain entities in a view. showControls boolean true Weather to show controls in a view, to switch all entities of the domain. stack_count object {_: 1} Cards per row.1 title string domain specific Title of the domain in a view.

    Note

    • Domain default represents any other domain than supported by this strategy.
    • The showControls option will default to false for domain which can't be controlled.
    • The hide_config_entities and hide_diagnostic_entities options are only available as an \"All domains\" option.
    "},{"location":"options/domain-options/#setting-options-for-all-domains","title":"Setting options for all domains","text":"

    Use _ as the identifier to set options for all domains.

    "},{"location":"options/domain-options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    domains:\n      _:\n        stack_count: 2\n        hide_config_entities: false\n      light:\n        title: \"My cool lights\"\n        order: 1\n      switch:\n        stack_count: 3\n        showControls: false\n      default: # All other domains\n        hidden: true\n
    Click to expand the full list of supported domains
    • _ (All domains)
    • area
    • binary_sensor
    • camera
    • climate
    • cover
    • default (Miscellaneous)
    • fan
    • input_select
    • light
    • lock
    • media_player
    • number
    • person
    • scene
    • select
    • sensor
    • switch
    • vacuum
    • valve
    1. In the different views, the cards belonging to a specific domain will be horizontally stacked into a row. The number of cards per row can be configured with this option.\u00a0\u21a9

    "},{"location":"options/home-view-options/","title":"\ud83c\udfe0 Home View Options","text":"

    The home_view group enables you to specify the configuration of the Home view.

    Option type default Description hidden array [] Array of sections to hide from the home view. stack_count object {_: 2} Cards per row."},{"location":"options/home-view-options/#hiding-sections","title":"Hiding sections","text":"

    The following sections can be hidden from the Home view:

    • areas
    • areasTitle
    • chips
    • greeting
    • persons
    "},{"location":"options/home-view-options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    home_view:\n      hidden:\n        - greeting\n        - areasTitle\n
    "},{"location":"options/home-view-options/#stack-count","title":"Stack Count","text":"

    The stack_count option is a map of sections to define the number of cards per row. The key of the map is the section, while the value is the number of cards per row.

    The areas section is a special case, where the value is an array of two numbers. The first number is the number of default cards per row, while the second number is the number of Home Assistant cards per row.

    "},{"location":"options/home-view-options/#example_1","title":"example","text":"
    home_view:\n  stack_count:\n    _: 2         # Two cards per row for all sections.\n    persons: 3   # Three person cards per row.\n    areas: [2,1] # [Two Strategy Card per row, 1 HASS card per row]\n

    Note

    Section specific options take precedence over options set for all sections!

    "},{"location":"options/home-view-options/#chip-options","title":"Chip Options","text":"

    The mushroom strategy has chips that indicate the number of entities for a specific domain which are in an \"active\" state. Hidden/Disabled entities are excluded from this count.

    • Tapping a chip will set corresponding entities to an \"inactive\" state.1
    • Tap and hold a chip, will navigate to the corresponding view.

    The chips group enables you to specify the configuration of chips.

    Name type default Description light_count boolean false Number of lights on. fan_count boolean false Number of fans on. cover_count boolean false Number of covers not closed. No tap action. switch_count boolean false Number of switches on. climate_count boolean false Number of climate not off. No tap action. weather_entity string auto Entity id for the weather chip to use. extra_chips array [] List of extra chips to show.

    If weather_entity is set to auto, the weather chip uses the first entity of the weather domain it finds. You can define a custom entity to use by setting an entity id.

    Note

    To hide the weather chip, you should hide or disable the entity itself.

    "},{"location":"options/home-view-options/#example_2","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    chips:\n      climate_count: false\n      cover_count: false\n      weather_entity: weather.forecast_home\n
    "},{"location":"options/home-view-options/#extra-chips","title":"Extra Chips","text":"

    To add custom chips, you can configure them in extra_chips. See Mushroom Chips for all available chips.

    Tip

    You can build your chips in a temporary card in another dashboard and copy the chips group from the YAML of that card into group extra_chips of the strategy configuration. The YAML can be found in the Raw configuration editor.

    "},{"location":"options/home-view-options/#example_3","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    chips:\n      extra_chips:\n        - type: conditional\n          conditions:\n            - entity: lock.front_door\n              state: unlocked\n          chip:\n            type: entity\n            entity: lock.front_door\n            icon_color: red\n            content_info: none\n            tap_action:\n              action: toggle\n
    "},{"location":"options/home-view-options/#quick-access-cards","title":"Quick Access Cards","text":"

    The quick_access_cards group enables you to specify the configuration of additional cards in the view. These cards will be shown between the greeting card and area cards.

    Each card can have the options as described at Card Options.

    Tip

    You can build your view in a temporary dashboard and copy the views group from the YAML of that dashboard into group extra_views of the strategy configuration. The YAML can be found in the Raw configuration editor.

    "},{"location":"options/home-view-options/#example_4","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    quick_access_cards:\n      - type: custom:mushroom-title-card\n        title: Security\n      - type: custom:mushroom-cover-card\n        entity: cover.garage_door\n        show_buttons_control: true\n      - type: horizontal-stack\n        cards:\n          - type: custom:mushroom-lock-card\n            entity: lock.front_door\n          - type: custom:mushroom-entity-card\n            entity: sensor.front_door_lock_battery\n            name: Battery\n
    "},{"location":"options/home-view-options/#extra-cards","title":"Extra Cards","text":"

    The extra_cards group enables you to specify the configuration of additional cards in the view. These cards will be shown below the areas.

    Each card can have the options as described at Card Options.

    Tip

    You can build your view in a temporary dashboard and copy the views group from the YAML of that dashboard into group extra_cards of the strategy configuration. The YAML can be found in the Raw configuration editor.

    "},{"location":"options/home-view-options/#example_5","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    extra_cards:\n      - type: custom:xiaomi-vacuum-map-card\n        map_source:\n          camera: camera.xiaomi_cloud_map_extractor\n        calibration_source:\n          camera: true\n        entity: vacuum.robot_vacuum\n        vacuum_platform: default\n
    1. For some chips, the tap action is disabled.\u00a0\u21a9

    "},{"location":"options/view-options/","title":"\ud83d\udc40 View Options","text":"

    Mushroom strategy includes several views to control/view entities of a specific domain. Hidden/Disabled entities or linked to a hidden area are excluded from the view.

    The following views are supported and enabled by default:

    View Type Description camera object View to control cameras. climate object View to control climates. cover object View to control covers. fan object View to control fans. home object An overview of several entities and areas. light object View to control lights. lock object View to control locks. scene object View to control scenes. switch object View to control switches. vacuum object View to control vacuums. valve object View to control valves.

    The views group enables you to specify the configuration of a view. Each configuration is identified by a view name and can have the following options:

    name type Default description hidden boolean false Set to true to exclude the view from the dashboard icon string domain specific Icon of the view in the navigation bar. order string home, light, fan, cover, switch, climate, camera, vacuum, scene, lock, valve Ordering position of the view in the navigation bar. title string domain specific Title of the view in the navigation bar. (Shown when no icon is defined or hovering above it.)"},{"location":"options/view-options/#example","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    views:\n      light:\n        order: 0\n        title: illumination\n      switch:\n        order: 1\n        hidden: true\n        icon: mdi:toggle-switch\nviews: []\n
    "},{"location":"options/view-options/#extra-views","title":"Extra Views","text":"

    The extra_views group enables you to specify the configuration of additional views. Each view can have the options as described in the Home Assistant documentation.

    Tip

    You can build your view in a temporary dashboard and copy the views group from the YAML of that dashboard into group extra_views of the strategy configuration. The YAML can be found in the Raw configuration editor.

    "},{"location":"options/view-options/#example_1","title":"Example","text":"
    strategy:\n  type: custom:mushroom-strategy\n  options:\n    extra_views:\n      - theme: Backend-selected\n        title: cool view\n        path: cool-view\n        icon: mdi:emoticon-cool\n        badges: []\n        cards:\n          - type: markdown\n            content: I am cool\n
    "}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index d23cf5e..34e092d 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,50 +2,70 @@ https://digilive.github.io/mushroom-strategy/ - 2025-05-28 - - - https://digilive.github.io/mushroom-strategy/contributing/ - 2025-05-28 + 2025-05-31 https://digilive.github.io/mushroom-strategy/faq/ - 2025-05-28 + 2025-05-31 https://digilive.github.io/mushroom-strategy/full-example/ - 2025-05-28 + 2025-05-31 + + + https://digilive.github.io/mushroom-strategy/contributing/ + 2025-05-31 + + + https://digilive.github.io/mushroom-strategy/contributing/code/ + 2025-05-31 + + + https://digilive.github.io/mushroom-strategy/contributing/documentation/ + 2025-05-31 + + + https://digilive.github.io/mushroom-strategy/contributing/getting-started/ + 2025-05-31 + + + https://digilive.github.io/mushroom-strategy/contributing/translations/ + 2025-05-31 + + + https://digilive.github.io/mushroom-strategy/contributing/workflow/ + 2025-05-31 https://digilive.github.io/mushroom-strategy/getting-started/basic-setup/ - 2025-05-28 + 2025-05-31 https://digilive.github.io/mushroom-strategy/getting-started/installation/ - 2025-05-28 + 2025-05-31 https://digilive.github.io/mushroom-strategy/options/ - 2025-05-28 + 2025-05-31 https://digilive.github.io/mushroom-strategy/options/area-options/ - 2025-05-28 + 2025-05-31 https://digilive.github.io/mushroom-strategy/options/card-options/ - 2025-05-28 + 2025-05-31 https://digilive.github.io/mushroom-strategy/options/domain-options/ - 2025-05-28 + 2025-05-31 https://digilive.github.io/mushroom-strategy/options/home-view-options/ - 2025-05-28 + 2025-05-31 https://digilive.github.io/mushroom-strategy/options/view-options/ - 2025-05-28 + 2025-05-31 \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 181a48d..57eaed5 100644 Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ