Add basic support for Quality scale (#6364)

* Add basic support for Quality scale

* Use the emojis

* Leave two samples

* Remove examples

* Link to the docs

* Add scale docs

* Minor changes

* Add class and quality

* Add name
This commit is contained in:
Fabian Affolter 2018-09-27 15:59:04 +02:00 committed by Paulus Schoutsen
parent aff51ec217
commit adbc7b1072
3 changed files with 53 additions and 3 deletions

View File

@ -14,9 +14,14 @@ Home Assistant will be able to automatically discover many devices and services
See the [components overview page](/components/) to find installation instructions for your devices and services. If you can't find support for your favorite device or service, [consider adding support](/developers/add_new_platform/).
Classification for the available integrations:
- [IoT class(/blog/2016/02/12/classifying-the-internet-of-things): Classifier for the device's behavior.
- [Quality scale](/docs/quality_scale/): Representation of the integration's quality.
Usually every entity needs its own entry in the `configuration.yaml` file. There are two styles for multiple entries:
#### {% linkable_title Style 1: Collect every entity under the "parent" %}
## {% linkable_title Style 1: Collect every entity under the "parent" %}
```yaml
sensor:
@ -33,7 +38,7 @@ switch:
- platform: vera
```
#### {% linkable_title Style 2: List each device separately %}
## {% linkable_title Style 2: List each device separately %}
You need to append numbers or strings to differentiate the entries, as in the example below. The appended number or string must be unique.
@ -52,7 +57,7 @@ camera 2:
platform: mjpeg
```
### {% linkable_title Grouping devices %}
## {% linkable_title Grouping devices %}
Once you have several devices set up, it is time to organize them into groups.
Each group consists of a name and a list of entity IDs. Entity IDs can be retrieved from the web interface by using the Set State page in the Developer Tools (<img src='/images/screenshots/developer-tool-states-icon.png' alt='service developer tool icon' class="no-shadow" height="38" />).

View File

@ -0,0 +1,31 @@
---
layout: page
title: "Quality Scale"
description: "Details about the classification of integrations."
date: 2018-09-26 23:50
sidebar: true
comments: false
sharing: true
footer: true
---
The Integration Quality Scale scores each integration based on the code quality and user experience. Each level of the quality scale consists of a list of requirements. If an integration matches all requirements, it's considered to have reached that level.
[Integration Quality Scale](https://developers.home-assistant.io/docs/en/integration_quality_scale_index.html) for developers.
## {% linkable_title No score %}
This integration passes the bare minimum requirements. That's the level of most integrations when they are introduced into Home Assistant. It doesn't mean that they are bad or buggy, just that you need to configure them with an entry in your `configuration.yaml` file.
## {% linkable_title Silver 🥈 %}
This integration is able to cope when things go wrong. It will not print any exceptions nor will it fill the log with retry attempts. Also, it will show you if a device is offline or not ready when you start Home Assistant.
## {% linkable_title Gold 🥇 %}
This is a solid integration that is able to survive poor conditions and can be configured via the user interface.
## {% linkable_title Platinum 🏆 %}
Best of the best. The integration is completely async, meaning it's super fast and gives you an excellent user experience.

View File

@ -28,6 +28,20 @@
</div>
{% endif %}
{% if page.ha_qa_scale %}
<div class='section'>
Quality Scale: <a href='/docs/quality_scale/'>
{% if page.ha_qa_scale == 'platinum' %}
🏆 (platinum)
{% elsif page.ha_qa_scale == 'gold' %}
🥇 (gold)
{% elsif page.ha_qa_scale == 'silver' %}
🥈 (silver)
{% endif %}
</a>
</div>
{% endif %}
{% if page.ha_release %}
<div class='section'>
Introduced in release: {{ page.ha_release }}