home-assistant.io/source/_includes/asides/component_navigation.html

124 lines
6.4 KiB
HTML

{% capture domain %}{{ page.ha_supporting_domain | default: page.ha_domain }}{% endcapture %}
{% assign active_installations = site.data.analytics_data.integrations[domain] | default: 0 %}
{% assign percentage = 100.0 | times: active_installations | divided_by: site.data.analytics_data.reports_integrations | round: 1 %}
<section class="aside-module grid__item one-whole lap-one-half">
<div class='brand-logo-container section'>
<img src='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ page.ha_domain }}//logo.png' srcset='https://brands.home-assistant.io/{% if page.ha_brand %}brands{% else %}_{% endif %}/{{ page.ha_domain }}/logo@2x.png 2x' />
{%- if page.ha_config_flow and domain -%}
{% my config_flow_start badge domain=domain %}
{%- elsif page.ha_iot_standard == "zigbee" -%}
{%- if page.ha_brand -%}
{% my add_zigbee_device badge brand=domain %}
{%- elsif domain -%}
{% my add_zigbee_device badge domain=domain %}
{%- else -%}
{% my add_zigbee_device badge %}
{%- endif -%}
{%- elsif page.ha_iot_standard == "zwave" -%}
{%- if page.ha_brand -%}
{% my add_zwave_device badge brand=domain %}
{%- elsif domain -%}
{% my add_zwave_device badge domain=domain %}
{%- else -%}
{% my add_zwave_device badge %}
{%- endif -%}
{%- endif -%}
</div>
<div class='section'>
{%- if page.ha_brand -%}
The {{ page.title | default: page.name }} brand was introduced in Home Assistant {{ page.ha_release | default: "unknown" }}.
{%- else -%}
The {{ page.title | default: page.name }} {% if page.ha_integration_type == "virtual" %} virtual integration {% else %} {{ page.ha_integration_type | default: "integration" }} {% endif %} was introduced in Home Assistant {{ page.ha_release | default: "unknown" }}
{%- if page.ha_iot_standard or page.ha_integration_type == "entity" -%}
.
{%- else -%}
, and it's used by <a title="Open analytics.home-assistant.io" href="https://analytics.home-assistant.io/integrations" target="_blank" rel="noopener">
{% if percentage < 1 %}
{{ active_installations }}</a> active installations.
{% else %}
{{ percentage | remove: ".0" }}%</a> of the active installations.
{% endif %}
{% endif %}
{% endif %}
</div>
{%- if page.ha_iot_class %}
<div class='section'>
{% if page.ha_iot_class == "Assumed State" %}<iconify-icon icon='mdi:circle-half-full'></iconify-icon>{%- endif -%}
{% if page.ha_iot_class == "Cloud Polling" %}<iconify-icon icon='mdi:cloud-upload'></iconify-icon>{%- endif -%}
{% if page.ha_iot_class == "Cloud Push" %}<iconify-icon icon='mdi:cloud-download'></iconify-icon>{%- endif -%}
{% if page.ha_iot_class == "Local Polling" %}<iconify-icon icon='mdi:download-network-outline'></iconify-icon>{%- endif -%}
{% if page.ha_iot_class == "Local Push" %}<iconify-icon icon='mdi:upload-network-outline'></iconify-icon>{%- endif -%}
&nbsp;Its IoT class is <a href='/blog/2016/02/12/classifying-the-internet-of-things/#classifiers'>{{ page.ha_iot_class }}.</a>
</div>
{%- endif -%}
{%- if page.ha_quality_scale %}
<div class='section'>
{% if page.ha_quality_scale == "bronze" %}<a href='/docs/quality_scale/#-bronze'>🥉 Bronze quality</a><br />{%- endif -%}
{% if page.ha_quality_scale == "silver" %}<a href='/docs/quality_scale/#-silver'>🥈 Silver quality</a><br />{%- endif -%}
{% if page.ha_quality_scale == "gold" %}<a href='/docs/quality_scale/#-gold'>🥇 Gold quality</a><br />{%- endif -%}
{% if page.ha_quality_scale == "platinum" %}<a href='/docs/quality_scale/#-platinum'>🏆 Platinum quality</a><br />{%- endif -%}
{% if page.ha_quality_scale == "internal" %}<a href='/docs/quality_scale/#-internal'>🏠 Internal integration</a><br />{%- endif -%}
{% if page.ha_quality_scale == "legacy" %}<a href='/docs/quality_scale/#-legacy'>💾 Legacy integration</a><br />{%- endif -%}
{% if page.ha_quality_scale == "custom" %}<a href='/docs/quality_scale/#-custom'>📦 Custom integration</a><br />{%- endif -%}
</div>
{%- endif -%}
{% if page.works_with %}
{%- for type in page.works_with -%}
<div class="section">
<a href="/blog/2022/07/12/partner-program">
<img src="../../images/works_with/works-with-{{ type }}.png" alt="Works via {{ type }} with Home assistant">
</a>
</div>
{%- endfor -%}
{%- endif -%}
{% if page.ha_domain %}
<div class='section'>
<a href="https://github.com/home-assistant/core/tree/dev/homeassistant/components/{{ domain }}" target="_blank">{% icon "simple-icons:github" %} View source on GitHub</a><br />
<a href="https://github.com/home-assistant/core/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+{{ domain }}%22" target="_blank">{% icon "mdi:bug" %} View known issues</a>
</div>
{%- endif -%}
</section>
<section class="aside-module grid__item one-whole lap-one-half">
<div class='section'>
<h1 class="title epsilon">{% icon "mdi:person-heart" %} Integration owners</h1>
{% if page.ha_codeowners %}
{% assign ha_project = false %}
{% for codeowner in page.ha_codeowners %}
{% if codeowner contains "@home-assistant/" %}
{% assign ha_project = true %}
{% endif %}
{% endfor %}
{% if ha_project %}
<div class="section">
This integration is being maintained by the Home Assistant project.
</div>
{% else %}
<div class="section">
We are incredibly grateful to the following contributors who currently maintain this integration:<br />
</div>
<div class="section">
{%- for codeowner in page.ha_codeowners -%}
{%- assign clean_codeowner = codeowner | replace: "@", "" -%}
<a href="https://github.com/{{ clean_codeowner }}" target="_blank"><img class="codeowner-avatar" src="https://avatars.githubusercontent.com/{{ codeowner | replace: "@", "" }}?size=96" alt="{{ codeowner }}"/> {{ codeowner }}</a><br />
{%- endfor -%}
</div>
{% endif %}
{% else %}
<div class="section">
This integration is community maintained.<br />
If you are a developer and would like to help, feel free to contribute!
</div>
{% endif %}
</div>
</section>