Files
mega_hacs/blueprints/index.html
2023-10-17 07:15:15 +00:00

668 lines
24 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en" class="no-js">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="canonical" href="http://127.0.0.1:8000/blueprints/">
<link rel="prev" href="../smooth/">
<link rel="next" href="../events/">
<link rel="icon" href="../assets/images/favicon.png">
<meta name="generator" content="mkdocs-1.4.2, mkdocs-material-9.0.6">
<title>Шаблоны (Blueprints) - MegaD HomeAssistant integration</title>
<link rel="stylesheet" href="../assets/stylesheets/main.558e4712.min.css">
<link rel="stylesheet" href="../assets/stylesheets/palette.2505c338.min.css">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
<script id="__analytics">function __md_analytics(){function n(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],n("js",new Date),n("config","G-E3LX9D6959"),document.addEventListener("DOMContentLoaded",function(){document.forms.search&&document.forms.search.query.addEventListener("blur",function(){this.value&&n("event","search",{search_term:this.value})}),document$.subscribe(function(){var a=document.forms.feedback;if(void 0!==a)for(var e of a.querySelectorAll("[type=submit]"))e.addEventListener("click",function(e){e.preventDefault();var t=document.location.pathname,e=this.getAttribute("data-md-value");n("event","feedback",{page:t,data:e}),a.firstElementChild.disabled=!0;e=a.querySelector(".md-feedback__note [data-md-value='"+e+"']");e&&(e.hidden=!1)}),a.hidden=!1}),location$.subscribe(function(e){n("config","G-E3LX9D6959",{page_path:e.pathname})})});var e=document.createElement("script");e.async=!0,e.src="https://www.googletagmanager.com/gtag/js?id=G-E3LX9D6959",document.getElementById("__analytics").insertAdjacentElement("afterEnd",e)}</script>
<script>"undefined"!=typeof __md_analytics&&__md_analytics()</script>
</head>
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="" data-md-color-accent="">
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
<label class="md-overlay" for="__drawer"></label>
<div data-md-component="skip">
<a href="#_1" class="md-skip">
Skip to content
</a>
</div>
<div data-md-component="announce">
</div>
<header class="md-header" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="Header">
<a href=".." title="MegaD HomeAssistant integration" class="md-header__button md-logo" aria-label="MegaD HomeAssistant integration" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
</a>
<label class="md-header__button md-icon" for="__drawer">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
MegaD HomeAssistant integration
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
Шаблоны (Blueprints)
</span>
</div>
</div>
</div>
<label class="md-header__button md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
</label>
<div class="md-search" data-md-component="search" role="dialog">
<label class="md-search__overlay" for="__search"></label>
<div class="md-search__inner" role="search">
<form class="md-search__form" name="search">
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
<label class="md-search__icon md-icon" for="__search">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</label>
<nav class="md-search__options" aria-label="Search">
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
</button>
</nav>
</form>
<div class="md-search__output">
<div class="md-search__scrollwrap" data-md-scrollfix>
<div class="md-search-result" data-md-component="search-result">
<div class="md-search-result__meta">
Initializing search
</div>
<ol class="md-search-result__list" role="presentation"></ol>
</div>
</div>
</div>
</div>
</div>
<div class="md-header__source">
<a href="https://github.com/andvikt/mega_hacs" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
</nav>
</header>
<div class="md-container" data-md-component="container">
<main class="md-main" data-md-component="main">
<div class="md-main__inner md-grid">
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
<label class="md-nav__title" for="__drawer">
<a href=".." title="MegaD HomeAssistant integration" class="md-nav__button md-logo" aria-label="MegaD HomeAssistant integration" data-md-component="logo">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
</a>
MegaD HomeAssistant integration
</label>
<div class="md-nav__source">
<a href="https://github.com/andvikt/mega_hacs" title="Go to repository" class="md-source" data-md-component="source">
<div class="md-source__icon md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg>
</div>
<div class="md-source__repository">
GitHub
</div>
</a>
</div>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href=".." class="md-nav__link">
Главное
</a>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
<label class="md-nav__link" for="__nav_2" tabindex="0" aria-expanded="false">
Конфигурация
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Конфигурация" data-md-level="1">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Конфигурация
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../settings/" class="md-nav__link">
В интерфейсе
</a>
</li>
<li class="md-nav__item">
<a href="../http/" class="md-nav__link">
Настройка обратной связи
</a>
</li>
<li class="md-nav__item">
<a href="../yaml/" class="md-nav__link">
Кастомизация
</a>
</li>
<li class="md-nav__item">
<a href="../i2c/" class="md-nav__link">
i2c
</a>
</li>
<li class="md-nav__item">
<a href="../smooth/" class="md-nav__link">
Плавные переходы
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--active md-nav__item--nested">
<input class="md-nav__toggle md-toggle " data-md-toggle="__nav_3" type="checkbox" id="__nav_3" checked>
<label class="md-nav__link" for="__nav_3" tabindex="0" aria-expanded="true">
Автоматизация
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" aria-label="Автоматизация" data-md-level="1">
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon"></span>
Автоматизация
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item md-nav__item--active">
<input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
<label class="md-nav__link md-nav__link--active" for="__toc">
Шаблоны (Blueprints)
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
Шаблоны (Blueprints)
</a>
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#_1" class="md-nav__link">
Общее
</a>
</li>
<li class="md-nav__item">
<a href="#-" class="md-nav__link">
Включить что-то
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
Переключить состояние
</a>
</li>
<li class="md-nav__item">
<a href="#_3" class="md-nav__link">
Выключатель с фиксацией
</a>
</li>
<li class="md-nav__item">
<a href="#_4" class="md-nav__link">
Универсальный шаблон
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../events/" class="md-nav__link">
События
</a>
</li>
<li class="md-nav__item">
<a href="../services/" class="md-nav__link">
Сервисы
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item">
<a href="../debug/" class="md-nav__link">
Неполадки
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
<div class="md-sidebar__scrollwrap">
<div class="md-sidebar__inner">
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
<label class="md-nav__title" for="__toc">
<span class="md-nav__icon md-icon"></span>
Table of contents
</label>
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#_1" class="md-nav__link">
Общее
</a>
</li>
<li class="md-nav__item">
<a href="#-" class="md-nav__link">
Включить что-то
</a>
</li>
<li class="md-nav__item">
<a href="#_2" class="md-nav__link">
Переключить состояние
</a>
</li>
<li class="md-nav__item">
<a href="#_3" class="md-nav__link">
Выключатель с фиксацией
</a>
</li>
<li class="md-nav__item">
<a href="#_4" class="md-nav__link">
Универсальный шаблон
</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<div class="md-content" data-md-component="content">
<article class="md-content__inner md-typeset">
<h1>Шаблоны (Blueprints)</h1>
<p><strong>blueprints</strong> - это удобные шаблоны автоматизаций, которые помогают строить автоматизацию из
интерфейса и ими легко делиться. Все ваши шаблоны доступны из специального меню. </p>
<p><a href="https://my.home-assistant.io/redirect/blueprints/"><img alt="Open your Home Assistant instance and show your blueprints." src="https://my.home-assistant.io/badges/blueprints.svg" /></a></p>
<p><a href="https://www.home-assistant.io/docs/blueprint/">Официальная документация по blueprints</a></p>
<h2 id="_1">Общее<a class="headerlink" href="#_1" title="Permanent link">#</a></h2>
<p>Здесь я делюсь шаблонами, в которых используются события из моей интеграции. </p>
<p>Если вы хотите сделать что-то подобное своими руками, то можно использовать мои шаблоны как отправную точку.</p>
<p>Во всех шаблонах в качестве триггера используется событие <strong>mega.binary</strong> и доступен выбор типа,
<a href="../events/#binary">подробное описание типов здесь</a>.</p>
<h2 id="-">Включить что-то<a class="headerlink" href="#-" title="Permanent link">#</a></h2>
<p>Этот шаблон лучше всего подходит для включения сценариев/сцен или любых других объектов по нажатию какой-то кнопки или
обнаружению движения.</p>
<div class="admonition note">
<p class="admonition-title">Движение</p>
<p>Датчики движения - это такие же <em>binary_sensor</em> как и обычные выключатели. В зависимости от настроек контроллера
будут приходить события либо типа <strong>single</strong> (если настроен режим click), либо <strong>press</strong></p>
</div>
<p>Опционально так же доступна настройка автоматического выключения по таймеру, если указан 0 (по умолчанию), таймер не
будет использован.</p>
<p>Опционально доступен так же <em>блокирующий объект</em> и <em>период блокировки</em>. Например, если в одной комнате с датчиком
движения есть выключатель, тогда его можно указать как <em>блокирующий объект</em> и в течении <em>периода блокировки</em>
после нажатия выключателя события с датчика движения будут игнорироваться.</p>
<p><a href="https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgist.github.com%2Fandvikt%2Fb78459f4f43862d04c7fbba20d6893c7"><img alt="Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled." src="https://my.home-assistant.io/badges/blueprint_import.svg" /></a></p>
<p><a href="https://gist.github.com/andvikt/b78459f4f43862d04c7fbba20d6893c7">Исходный код</a></p>
<h2 id="_2">Переключить состояние<a class="headerlink" href="#_2" title="Permanent link">#</a></h2>
<p>Классическое управление светом с кнопки без фиксации: нажали кнопку - свет выключился, если он сейчас включен, и наоборот.
Если вам нужно управлять несколькими светильниками, то необходимо будет
<a href="https://www.home-assistant.io/integrations/light.group/">создать группу света</a></p>
<p><a href="https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgist.github.com%2Fandvikt%2Fefb48535b1b9d998fe3dbe9a3efcea2c"><img alt="Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled." src="https://my.home-assistant.io/badges/blueprint_import.svg" /></a></p>
<p><a href="https://gist.github.com/andvikt/efb48535b1b9d998fe3dbe9a3efcea2c">Исходный код</a></p>
<h2 id="_3">Выключатель с фиксацией<a class="headerlink" href="#_3" title="Permanent link">#</a></h2>
<p>Если выбран тип "нестрогий", то при каждом переключении состояния выключателя состоянии целевого объекта так же будет
меняться. Этот режим рекомендуется, тк в случае переключения состояния с сервера, в случае со строгим типом будет
"рассинхрон" - вам придется сначала выключатель привести в соответствие с текущим состоянием света. </p>
<p>Если выбран тип "строгий", то будет строгое соответсвие состояний, те выкл==выкл и наоборот.</p>
<p><a href="https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgist.github.com%2Fandvikt%2F9addf966db75d0964143177963f40bb9"><img alt="Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled." src="https://my.home-assistant.io/badges/blueprint_import.svg" /></a></p>
<p><a href="https://gist.github.com/andvikt/9addf966db75d0964143177963f40bb9">Исходный код</a></p>
<h2 id="_4">Универсальный шаблон<a class="headerlink" href="#_4" title="Permanent link">#</a></h2>
<p>Универсальный шаблон, с помощью которого можно выбрать любое событие меги, привязать
к нему набор произвольных действий</p>
<p><a href="https://my.home-assistant.io/redirect/blueprint_import/?blueprint_url=https%3A%2F%2Fgist.github.com%2Fandvikt%2Fbe1f683d308050b8972f9efa8aec465f"><img alt="Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled." src="https://my.home-assistant.io/badges/blueprint_import.svg" /></a></p>
<p><a href="https://gist.github.com/andvikt/be1f683d308050b8972f9efa8aec465f">Исходный код</a></p>
</article>
</div>
</div>
</main>
<footer class="md-footer">
<div class="md-footer-meta md-typeset">
<div class="md-footer-meta__inner md-grid">
<div class="md-copyright">
Made with
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
Material for MkDocs
</a>
</div>
</div>
</div>
</footer>
</div>
<div class="md-dialog" data-md-component="dialog">
<div class="md-dialog__inner md-typeset"></div>
</div>
<script id="__config" type="application/json">{"base": "..", "features": [], "search": "../assets/javascripts/workers/search.e5c33ebb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
<script src="../assets/javascripts/bundle.51d95adb.min.js"></script>
<script src="https://buttons.github.io/buttons.js"></script>
</body>
</html>