Содержание

Автомобильный госномер — создание картинки рисунок государственный регистрационный знак

Автомобильный госномер — создание картинки рисунок государственный регистрационный знак

Ваш номер:
ABEKMHOPCTYXABEKMHOPCTYXABEKMHOPCTYX

Выберите регион:
01 — Республика Адыгея02 — Республика Башкортостан03 — Республика Бурятия04 — Республика Алтай05 — Республика Дагестан06 — Республика Ингушетия07 — Кабардино-Балкарская Республика08 — Республика Калмыкия09 — Республика Карачаево-Черкесия10 — Республика Карелия11 — Республика Коми12 — Республика Марий Эл13 — Республика Мордовия14 — Республика Саха (Якутия)15 — Республика Северная Осетия-Алания16 — Республика Татарстан17 — Республика Тыва18 — Удмуртская Республика19 — Республика Хакасия20 — Заменяется на 9521 — Чувашская Республика22 — Алтайский край23 — Краснодарский край24 — Красноярский край25 — Приморский край26 — Ставропольский край27 — Хабаровский край28 — Амурская область29 — Архангельская область30 — Астраханская область31 — Белгородская область32 — Брянская область33 — Владимирская область34 — Волгоградская область35 — Вологодская область36 — Воронежская область37 — Ивановская область38 — Иркутская область39 — Калиниградская область40 — Калужская область41 — Камчатская область42 — Кемеровская область43 — Кировская область44 — Костромская область45 — Курганская область46 — Курская область47 — Ленинградская область48 — Липецкая область49 — Магаданская область50 — Московская область51 — Мурманская область52 — Нижегородская область53 — Новгородская область54 — Новосибирская область55 — Омская область56 — Оренбургская область57 — Орловская область58 — Пензенская область59 — Пермский край60 — Псковская область61 — Ростовская область62 — Рязанская область63 — Самарская область64 — Саратовская область65 — Сахалинская область66 — Свердловская область67 — Смоленская область68 — Тамбовская область69 — Тверская область70 — Томская область71 — Тульская область72 — Тюменская область73 — Ульяновская область74 — Челябинская область75 — Забайкальский край76 — Ярославская область77 — г.

Москва78 — г. Санкт-Петербург79 — Еврейская автономная область80 — Забайкальский крайПермский край82 — Крым83 — Ненецкий автономный округ84 — Красноярский край85 — Иркутская область86 — Ханты-Мансийский автономный округ87 — Чукотский автономный округ88 — Красноярский край89 — Ямало-Ненецкий автономный округ90 — Московская область91 — Калининградская область92 — Севастополь93 — Краснодарский край94 — Территории, находящиеся за пределами РФ (Байконур)95 — Чеченская республика96 — Свердловская область97 — г. Москва98 — г. Санкт-Петербург99 — г. Москва100101102 — Республика Башкортостан103104105106107108109110111112113 — Республика Мордовия114115116 — Республика Татарстан117118119120121 — Чувашская Республика122123 — Краснодарский край124 — Красноярский край125 — Приморский край126 — Ставропольский край127128129130131132133134 — Волгоградская область135136 — Воронежская область137138 — Иркутская область139140141142 — Кемеровская область143144145146147148149150 — Московская область151152 — Нижегородская область153154 — Новосибирская область155156157158159 — Пермский край160161 — Ростовская область162163 — Самарская область164 — Саратовская область165166167168169170171172173 — Ульяновская область174 — Челябинская область175176177 — г.
Москва178 — г. Санкт-Петербург179180181182183184185186 — Ханты-Мансийский автономный округ Югра187188189190 — Московская область191192193194195196 — Свердловская область197 — г. Москва198199 — г. Москва277299702716725761763774777 — Московская область797799 — Московская область


Пример:

Шрифт для регистрационных номерных знаков (автомобильных номеров) / Хабр

Разработка комплексной автоматизированной системы, целью которой является автоматизация механизма контроля доступа на основании системы распознавания номерных знаков, сложная и, несомненно, комплексная задача. Для ее решения, в рамках квалификационной работы на степень бакалавра, мне потребовался не один месяц, и не одна сотня чашек чая.

Сегодня посмотрим на алгоритм и результаты решения локальной задачи по созданию шрифта в векторном формате согласно нормативной документации для отображения эталонов символов при корреляционном распознавании. На первом этапе углубимся в суть решаемой задачи.


1 «Матчасть»: Регистрационный номерной знак Российской Федерации

Согласно ГОСТ Р 50577-93 «Знаки государственные регистрационные транспортных средств. Типы и основные размеры. Технические требования» большинство регистрационных знаков имеют вид, указанный на рисунке ниже.


Рис. 1.

Стандартные размеры регистрационного знака, которые составляют 520×112 мм. Символьные комбинации на стандартных номерных знаках определяются тремя буквами и тремя цифрами. Вышеприведенный ГОСТ Р 50577-93 ссылается на использование 12 букв кириллицы, которые имеют графические аналоги в латинском алфавите: А, В, Е, К, М, Н, О, Р, С, Т, У и Х. Надо заметить, что буквы по размеру шрифта меньше, чем цифры.

Начертание символов определяется шрифтом ЖР5 по ГОСТ 3489.2-71 «Шрифты типографские. Гарнитура Журнальная рубленая». На рисунке ниже приведена область из ГОСТа начертания шрифта для кеглей от 12 и выше.


Рис. 2.

Перед решением задачи, всегда необходимо провести исследование и определить «Решили ли уже эту задачу до меня?» и «Каким образом, ее решили?». Следовательно, перейдем к следующему этапу, а именно поиску.

2 «Поиск»: Шрифт для автомобильных номеров

Поиск в интернете был недолгим, по правильному запросу «шрифт автомобильный номер», корпорация добра с радостью сообщила, что шрифт в векторе доступен для бесплатной скачки.

Нахождению «бесплатного сыра» радоваться сразу нельзя, поэтому необходим следующий этап — понять, насколько полученный шаблон позволит решить поставленную задачу.

3 «Анализ применимости»: RoadNumbers.otf

Без тщательного анализа получить отличный результат, на мой взгляд, невозможно, поэтому рекомендуется потратить немного времени, чтобы потом судорожно не исправлять ошибки и недостатки.

И так, анализ показал следующее:


  • В шрифте не хватает пары символов (в т.ч. символ «D», см. ниже)
  • Шрифт заполнен в нижнем регистре
  • Контуры только PostScript (у меня с ним возникали какие-то проблемы)
  • Непонятные и лишние символы

Примечание: буква D используется в регистрационных знаках транспортных средств дипломатических представительств и торговых представительств иностранных компаний.

4 «Велосипед 2.0»: RoadNumbers2.0.ttf, RoadNumbers2.0.otf

В результате была проведена работа по оптимизации шрифта, получившим атрибут «2.0»:


  • В шрифте имеется все 12+1 символов
  • Символы верхнего и нижнего регистра заполнены и обладают одинаковым начертанием (обеспечивает исключение ошибок)
  • TrueType и PostScript версии
  • Не используемые символы не имеют начертания (аналог «space»)

Рис. 3.

Результат

В качестве результата представим шрифт, который пусть и не идеален, но позволяет решить глобальную задачу.

Имя шрифта: RoadNumbers

Версия: 2.003 2009

Контуры: TrueType, PostScript

Скачать

: cloud.mail.ru/public/N9yx/KykoNxzyM

Источники:


  1. ГОСТ Р 50577-93 «Знаки государственные регистрационные транспортных средств. Типы и основные размеры. Технические требования»
  2. ГОСТ 3489. 2-71 «Шрифты типографские. Гарнитура Журнальная рубленая»
  3. Википедия. Статья «Индекс автомобильных номеров России»

Шаблон — Домашний помощник


Интеграция шаблона позволяет создавать объекты, которые получают свои значения из других данных. Это делается путем указания шаблонов для свойств сущности, таких как имя или состояние.

На этой странице описаны датчики

, бинарные (вкл./выкл.) датчики, кнопки, цифры и выбор. Информацию о других типах см. на конкретных страницах:

  • Панель управления сигнализацией
  • Крышка
  • Вентилятор
  • Свет
  • Замок
  • Переключатель
  • Вакуум
  • Погода

Датчик, двоичный датчик, кнопка, номер и выбранные объекты шаблона определены в ваших файлах конфигурации YAML непосредственно под ключом шаблона : и не могут быть настроены через пользовательский интерфейс. Вы можете определить несколько блоков конфигурации в виде списка.

Каждый блок определяет датчик/бинарный датчик/количество/выбор объектов и может содержать необязательный триггер обновления.

Старый формат конфигурации датчика/бинарного датчика см. ниже.

Бинарные датчики, кнопки, числа, кнопки выбора и датчики на основе состояний

Объекты шаблона будут по умолчанию обновляться, как только будут обновлены любые данные, на которые есть ссылки в шаблоне.

Например, у вас может быть шаблон, который принимает средние значения двух датчиков. Home Assistant обновит ваш датчик шаблона, как только обновится любой исходный датчик.

 шаблон:
  - датчик:
      - название: "Средняя температура"
        unit_of_measurement: "°C"
        состояние: >
{% установить спальню = состояния ('sensor.bedroom_temperature') | плавать %} {% установить кухню = состояния ('sensor.kitchen_temperature') | плавать %} {{ ((спальня + кухня) / 2) | раунд(1, по умолчанию=0) }}

Бинарные датчики, кнопки, числа, выбор и датчики на основе триггера

Если вам нужен больший контроль над обновлением объекта, вы можете определить триггер. Триггеры имеют тот же формат и работают точно так же, как и триггеры в автоматизации. Эта функция — отличный способ создавать объекты на основе данных веб-перехватчиков (пример) или обновлять объекты по расписанию.

Всякий раз, когда срабатывает триггер, все связанные объекты будут перерисовываться, и у них будет доступ к данным триггера в шаблонах.

Сущности на основе триггера не обновляются автоматически при изменении состояний, указанных в шаблонах. Эту функциональность можно добавить обратно, определив триггер состояния для каждой сущности, для которой вы хотите инициировать обновления.

Состояние, включая атрибуты, триггерных и бинарных датчиков восстанавливается при перезапуске Home Assistant. Состояние других сущностей шаблона на основе триггера не восстанавливается.

 # Пример записи конфигурации
шаблон:
  - курок:
      - платформа: time_pattern
        # Это будет обновляться каждую ночь
        часов: 0
        минут: 0
    датчик:
      # Отслеживайте, сколько дней прошло с даты
      - название: "Не курить"
        состояние: '{{ ( ( as_timestamp(now()) - as_timestamp(strptime("06.
07.2018", "%d.%m.%Y"))) ) / 86400 ) | круглый (по умолчанию = 0) }}' unit_of_measurement: "Дни"

Переменные конфигурации

Ищете файл конфигурации?

список триггеров (необязательно)

Определите триггер автоматизации для обновления объектов. Необязательный. Если опущено, будет обновляться на основе ссылочных объектов. См. документацию по триггеру.

unique_id строка (необязательно)

Уникальный идентификатор для этого блока конфигурации. Это будет префикс ко всем уникальным идентификаторам всех объектов в этом блоке.

карта датчиков Требуется

Список датчиков

шаблон состояния Требуется

Определяет шаблон для получения состояния датчика.

unit_of_measurement string (Необязательно, по умолчанию: Нет)

Определяет единицы измерения датчика, если таковые имеются. Это также отобразит значение на основе настройки числового формата профиля пользователя и повлияет на графическое представление в визуализации истории как непрерывное значение.

state_class string (Необязательно, по умолчанию: Нет)

State_class датчика. Это также отобразит значение на основе настройки числового формата профиля пользователя и повлияет на графическое представление в визуализации истории как непрерывное значение.

binary_sensor map Требуется

Список бинарных датчиков

шаблон состояния Требуется

Датчик на , если шаблон оценивается как True , yes , на , включить или положительное число. Любое другое значение будет отображать его как от . Фактический вид во внешнем интерфейсе ( Open / Closed , Detected / Clear и т. д.) зависит от значения device_class датчика

delay_on time (Необязательно)

Количество времени (например, 0:00:05 ), в течение которого состояние шаблона должно быть соответствует , прежде чем этот датчик переключится на на . Это также может быть шаблон.

delay_off time (Необязательно)

Количество времени, в течение которого состояние шаблона должно быть не выполнено , прежде чем этот датчик переключится на off . Это также может быть шаблон.

время автоотключения (необязательно)

Требуется триггер. Через сколько времени объект должен отключиться после того, как он визуализировался как «включенный».

[сущности как датчика, так и объекта binary_sensor] карта (необязательно)

Поля, которые можно использовать выше как для датчиков, так и для бинарных датчиков.

шаблон изображения (необязательно)

Определяет шаблон для изображения объекта датчика.

карта атрибутов (необязательно)

Определяет шаблоны для атрибутов датчика.

атрибут: шаблон шаблона Обязательно

Атрибут и соответствующий шаблон.

класс_устройства класс_устройства (Необязательно, по умолчанию: Нет)

Задает класс устройства, изменяя состояние устройства и значок, отображаемый в пользовательском интерфейсе (см. ниже). Он не устанавливает unit_of_measurement .

карта номеров Требуется

Список номеров

шаблон состояния Требуется

Шаблон для текущего значения номера.

set_value действие Обязательно

Определяет действия, выполняемые при изменении числового значения. В переменной значение будет содержать введенное число.

шаблон шага Требуется

Шаблон для шага увеличения/уменьшения числа.

минимальный шаблон (необязательно, по умолчанию: 0.0)

Шаблон для минимального значения числа.

Максимальный шаблон (Необязательно, по умолчанию: 100.0)

Шаблон для максимального значения числа.

оптимистическое логическое значение (необязательно, по умолчанию: false)

Флаг, определяющий, работает ли число в оптимистичном режиме.

карта выбора Требуется

Список выбранных

шаблон состояния Требуется

Шаблон для текущего значения выбора.

select_option action Обязательный

Определяет действия для выбора параметра из списка параметров . Переменная option будет содержать выбранную опцию.

шаблон параметров Требуется

Шаблон для доступных параметров выбора.

optimistic boolean (Необязательно, по умолчанию: false)

Флаг, определяющий, работает ли выбор в оптимистическом режиме.

карта кнопок Обязательный

Список кнопок

действие нажатия Обязательный

Определяет действия, выполняемые для нажатия кнопки.

[все датчики, двоичные датчики, кнопки, числа, выбранные объекты] карта (необязательно)

Поля, которые можно использовать выше для датчиков, двоичных датчиков, кнопок, чисел и выбора.

шаблон имени (необязательно)

Определяет шаблон для получения имени сущности.

unique_id строка (необязательно)

Идентификатор, который однозначно идентифицирует этот объект. Будет объединен с уникальным идентификатором блока конфигурации, если он доступен. Это позволяет изменить имя , значок и entity_id из веб-интерфейса.

шаблон значка (необязательно)

Определяет шаблон значка объекта.

шаблон доступности (необязательно, по умолчанию: true)

Определяет шаблон для получения доступного состояния объекта. Если шаблон либо не отрисовывается, либо возвращает True , "1" , "true" , "yes" , "on" , "enable" или ненулевое число, сущность будет доступной . Если шаблон возвращает любое другое значение, сущность будет недоступна . Если не настроено, объект всегда будет доступен . Обратите внимание, что сравнение строк не чувствительно к регистру; "True" и "yEs" разрешены.

Перечисленные выше переменные конфигурации описывают раздел конфигурации. Интеграция с шаблоном позволяет определить несколько разделов.

 # Пример записи в файле configuration.yaml с двумя разделами
шаблон:
  # Определить сущности шаблона на основе состояния
  - датчик:
      . ..
  - бинарный_сенсор:
      ...
  # Определить сущности шаблона на основе триггера
  - курок:
      ...
    датчик:
      ...
    бинарный_сенсор:
      ...
 

Переменные шаблона и действия

Объекты шаблонов на основе состояний и триггеров имеют специальную переменную шаблона this , доступную в их шаблонах и действиях. Переменная this является объектом состояния объекта и помогает ссылаться на состояние и атрибут объекта в шаблонах и действиях. Сущности на основе триггера также предоставляют данные триггера.

Ограничение скорости обновлений

Если в шаблоне присутствуют объекты и не определены триггеры, шаблон будет перерисовываться при изменении состояния одного из объектов. Чтобы это не занимало слишком много ресурсов в Home Assistant, ограничение скорости будет применяться автоматически, если наблюдается слишком много состояний.

Определите триггер, чтобы избежать ограничения скорости и получить больший контроль над обновлениями объектов.

Когда состояния используются в шаблоне отдельно для повторения всех состояний в системе, шаблон перерисовывается каждый раз. время, когда происходит любое событие изменения состояния, если осуществляется доступ к любой части состояния. При простом подсчете состояний шаблон перерисовывается только тогда, когда состояние добавляется или удаляется из системы. В загруженных системах со многими сущностями или сотнями тысячи событий изменения состояния в день, шаблоны могут повторно отображать больше, чем хотелось бы.

В приведенном ниже примере повторная визуализация ограничена одним разом в минуту, потому что мы перебираем все доступные объекты:

 шаблон:
  - бинарный_сенсор:
      - название: "Имеет недоступные состояния"
        состояние: "{{ состояния | selectattr('состояние', 'в', ['недоступно', 'неизвестно', 'нет']) | список | количество }}"
 

В приведенном ниже примере повторная визуализация ограничена одним разом в секунду, поскольку мы перебираем все объекты в одном домене (датчике):

 шаблон:
  - бинарный_сенсор:
      - название: "Имеет недоступные состояния"
        состояние: "{{states. sensor | selectattr('state', 'in', ['unavailable', 'unknown', 'none']) | list | count }}"
 

Если шаблон получает доступ ко всем состояниям в системе, применяется ограничение скорости — одно обновление в минуту. Если шаблон обращается ко всем состояниям в определенном домене, применяется ограничение скорости — одно обновление в секунду. Если шаблон обращается только к определенным состояниям, получает события обновления для конкретных ссылочных объектов или используется служба homeassistant.update_entity , ограничение скорости не применяется.

Соображения

Запуск

Если вы используете состояние платформы, которое может быть недоступно во время запуска, датчик шаблона может получить неизвестно состояние. Чтобы избежать этого, используйте в своем шаблоне функцию states() . Например, вы должны заменить {{states.sensor.moon.state }} этим эквивалентом, который возвращает состояние и никогда не приводит к unknown : {{states('sensor. moon') }} .

То же самое применимо к функции is_state() . Вы должны заменить {{states.switch.source.state == 'on' }} этим эквивалентом, который возвращает true / false и никогда не дает неизвестный результат:

 {{ is_state('switch.source', 'вкл') }}
 

Примеры

В этом разделе вы найдете несколько реальных примеров использования датчиков шаблонов.

Датчик на основе триггера и двоичный датчик, хранящий информацию о веб-перехватчике

Объекты шаблона можно активировать с помощью любого триггера автоматизации, включая триггеры веб-перехватчиков. Используйте объект шаблона на основе триггера для хранения этой информации в объектах шаблона.

 шаблон:
  - курок:
      - платформа: вебхук
        webhook_id: мой-суперсекретный-webhook-id
    датчик:
      - название: "Температура вебхука"
        состояние: "{{ trigger. json.temperature }}"
        единица_измерения: °C
      - название: "Влажность вебхука"
        состояние: "{{ trigger.json.humidity }}"
        единица измерения: %
    бинарный_сенсор:
      - название: "Движение"
        состояние: "{{ trigger.json.motion }}"
        device_class: движение
 

Вы можете протестировать этот триггер с помощью следующей команды CURL:

 curl --header "Тип контента: приложение/json" \
  --запрос POST \
  --data '{"температура": 5, "влажность": 34, "движение": правда}' \
  http://homeassistant.local:8123/api/webhook/my-super-secret-webhook-id
 

Превращение события в бинарный датчик на основе триггера

Вы можете использовать объект шаблона на основе триггера для преобразования любого события или другого триггера автоматизации в двоичный датчик. Приведенная ниже конфигурация включает бинарный датчик на 5 секунд при срабатывании триггера автоматизации.

 шаблон:
  - курок:
      платформа: событие
      тип_события: мое_событие
    бинарный_сенсор:
      - имя: Недавно запущенное событие
        авто_выкл: 5
        состояние: "истина"
 

Датчик на основе состояния, определяющий угол наклона солнца

В этом примере показан угол наклона солнца во внешнем интерфейсе.

 шаблон:
  - датчик:
      - название: Угол Солнца
        unit_of_measurement: "°"
        состояние: "{{ '%+.1f'|format(state_attr('sun.sun', 'высота')) }}"
 

Датчик на основе состояния, изменяющий выходной сигнал другого датчика

Если вам не нравится формулировка выходного сигнала датчика, то также может помочь датчик шаблона. Давайте переименуем вывод компонента Sun в качестве простого примера:

.
 шаблон:
  - датчик:
      - название: "Солнечное государство"
        состояние: >
          {% if is_state('sun.sun', 'над_горизонтом') %}
            вверх
          {% еще %}
            вниз
          {% конец%}
 

Датчик состояния с многострочным шаблоном и тестом if

В этом примере показан многострочный шаблон с если тест . Он смотрит на сенсорный переключатель и показывает на / на во внешнем интерфейсе и показывает «ожидание», если энергопотребление составляет менее 1000 Вт.

 шаблон:
  - датчик:
      - название: "Чайник"
        состояние: >
          {% if is_state('switch.kettle', 'выключено') %}
            выключенный
          {% elif state_attr('switch.kettle', 'W')|float < 1000 %}
            поддерживать
          {% elif is_state('switch.kettle', 'вкл') %}
            на
          {% еще %}
            неуспешный
          {% конец%}
 

Датчик на основе состояния меняет единицу измерения другого датчика

С датчиком шаблона можно легко преобразовать заданные значения в другие, если единица измерения не соответствует вашим потребностям.

 шаблон:
  - датчик:
      - название: "Скорость передачи вниз"
        unit_of_measurement: "кБ/с"
        состояние: "{{состояния('sensor.transmission_down_speed')|float * 1024 }}"
      - название: "Скорость передачи"
        unit_of_measurement: "кБ/с"
        состояние: "{{состояния('sensor.transmission_up_speed')|float * 1024 }}"
 

Бинарный датчик на основе состояния — стиральная машина работает

В этом примере создается датчик загрузки стиральной машины путем отслеживания счетчик электроэнергии, подключенный к стиральной машине. Во время работы стиральной машины счетчик энергии будет сильно колебаться, часто достигая нуля даже до того, как загрузка будет завершена. Используя delay_off , мы можем отключить этот датчик только в том случае, если стиральная машина не работала в течение 5 минут.

 # Определить, когда стиральная машина загружена.
шаблон:
  - бинарный_сенсор:
      - название: "Стиральная машина"
        delay_off:
          минут: 5
        состояние: >
          {{состояния('sensor.washing_machine_power')|float > 0 }}
 

Бинарный датчик на основе состояния - Кто-нибудь дома

В этом примере определяется, есть ли кто-нибудь дома, на основе комбинации датчиков отслеживания устройства и движения. Это чрезвычайно полезно, если у вас есть дети/няня/бабушки и родители, которые все еще могут находиться в вашем доме и не представлены отслеживаемым устройством в Home Assistant. Это обеспечивает комбинацию отслеживания устройств на основе Wi-Fi и мультисенсорных датчиков присутствия Z-Wave.

 шаблон:
  - бинарный_сенсор:
      - название: Люди домой
        состояние: >
          {{ is_state('device_tracker.sean', 'дом')
             или is_state('device_tracker.susan', 'дом')
             или is_state('binary_sensor.office_124', 'вкл')
             или is_state('binary_sensor.hallway_134', 'вкл')
             или is_state('binary_sensor.living_room_139', 'на')
             или is_state('binary_sensor.porch_ms6_1_129', 'вкл')
             или is_state('binary_sensor.family_room_144', 'вкл') }}
 

Бинарный датчик на основе состояния — датчик устройства слежения с атрибутами широты и долготы

В этом примере показано, как объединить трекер устройств без GPS (например, NMAP) и GPS, при этом включая атрибуты широты и долготы

 шаблон:
  - бинарный_сенсор:
      - имя: Мое устройство
        состояние: >
          {{ is_state('device_tracker.my_device_nmap', 'home') или is_state('device_tracker.my_device_gps', 'home') }}
        device_class: "присутствие"
        атрибуты:
          широта: >
            {% if is_state('device_tracker. my_device_nmap', 'дом') %}
              {{ state_attr('zone.home', 'широта') }}
            {% еще %}
              {{ state_attr('device_tracker.my_device_gps', 'широта') }}
            {% конец%}
          долгота: >
            {% if is_state('device_tracker.my_device_nmap', 'дом') %}
              {{ state_attr('zone.home', 'долгота') }}
            {% еще %}
              {{ state_attr('device_tracker.my_device_gps', 'долгота') }}
            {% конец%}
 

Бинарный датчик на основе состояния — изменение значка при изменении состояния

В этом примере показано, как использовать шаблон для изменения значка при изменении его состояния. Этот значок ссылается на собственное состояние.

 шаблон:
  - бинарный_сенсор:
      - имя: Восход солнца
        состояние: >
          {{ is_state("солнце.солнце", "над_горизонтом") }}
        значок: >
          {% if is_state("binary_sensor.sun_up", "on") %}
            mdi: погода-закат
          {% еще %}
            mdi: погода-закат-вниз
          {% конец%}
 

Более продвинутый вариант использования может состоять в том, чтобы установить значок на основе собственного состояния датчика, как указано выше, но при срабатывании события. В этом примере демонстрируется бинарный датчик, который мгновенно включается, например, при нажатии кнопки дверного звонка.

Бинарный датчик включается и устанавливает соответствующий значок при получении соответствующего события. Через 5 секунд бинарный датчик автоматически отключается. Чтобы убедиться, что значок обновляется, должен быть триггер для изменения состояния на выключенное.

 шаблон:
  - курок:
      - платформа: событие
        тип_события: ВАШЕ_СОБЫТИЕ
      - платформа: государство
        entity_id: binary_sensor.doorbell_rang
        на: "выкл"
    бинарный_сенсор:
      имя: дверной звонок_звонок
      icon: "{{ (trigger.platform == 'event') | iif('mdi:bell-ring-outline', 'mdi:bell-outline') }}"
      состояние: "{{ trigger.platform == 'событие' }}"
      автоматическое отключение:
        секунды: 5
 

Выбор на основе состояния — управление дневным/ночным режимом камеры

Здесь показано, как можно использовать выбор шаблона на основе состояния для вызова службы.

 шаблон:
  выбирать:
    - название: "Дневной и ночной режим камеры на крыльце"
      уникальный_ид: porch_camera_day_night_mode
      состояние: "{{ state_attr('camera.porch_camera_sd', 'day_night_mode') }}"
      варианты: "{{ ['выкл.', 'вкл.', 'авто'] }}"
      выберите опцию:
        - сервис: tapo_control.set_day_night_mode
          данные:
            day_night_mode: "{{ вариант }}"
          цель:
            entity_id: camera.porch_camera_sd
 

Самостоятельная ссылка

Этот пример демонстрирует, как эту переменную можно использовать в шаблонах для самоссылки.

 шаблон:
  - датчик:
      - название: тест
        состояние: "{{ this.attributes.test | default('Значение при отсутствии') }}"
        # not: "{{ state_attr('sensor.test', 'test') }}"
        атрибуты:
          тест: "{{ сейчас() }}"
 

Устаревший формат конфигурации бинарного датчика

Этот формат все еще работает, но больше не рекомендуется. Используйте современную конфигурацию.

Этот формат настроен как платформа для 9Интеграция 0004 binary_sensor , а не непосредственно под интеграцию шаблона .

 # Пример записи в файле configuration.yaml
бинарный_сенсор:
  - платформа: шаблон
    датчики:
      солнце_вверх:
        friendly_name: "Солнце взошло"
        value_template: {{ state_attr('sun.sun', 'высота') > 0 }}
 

Переменные конфигурации

Ищете файл конфигурации?

Карта датчиков Требуется

Список ваших датчиков.

sensor_name карта Обязательно

Слаг сенсора.

friendly_name строка (необязательно)

Имя для использования во внешнем интерфейсе.

unique_id строка (необязательно)

Идентификатор, который однозначно идентифицирует этот бинарный датчик. Установите для этого уникальное значение, чтобы разрешить настройку через пользовательский интерфейс.

класс_устройства класс_устройства (Необязательно, по умолчанию: Нет)

Устанавливает класс устройства, изменяя состояние устройства и значок, отображаемый на интерфейсе.

шаблон value_template Обязательно

Датчик на , если шаблон оценивает как True и на в противном случае. Фактический внешний вид во внешнем интерфейсе ( Open / Closed , Detected / Clear и т.д.) зависит от значения device_class датчика доступно состояние объекта. Если шаблон либо не отображается, либо возвращает True , "1" , "true" , "yes" , "on" , "enable" , или ненулевое число, объект будет доступен . Если шаблон возвращает любое другое значение, сущность будет недоступна . Если не настроено, объект всегда будет доступен . Обратите внимание, что сравнение строк не чувствительно к регистру; "True" и "yEs" разрешены.

шаблон icon_template (необязательно)

Определяет шаблон для значка датчика.

шаблон entity_picture_template (необязательно)

Определяет шаблон для изображения объекта датчика.

карта attribute_templates (необязательно)

Определяет шаблоны для атрибутов датчика.

атрибут: шаблон шаблона Обязательно

Атрибут и соответствующий шаблон.

delay_on time (Необязательно)

Количество времени, в течение которого состояние шаблона должно быть встретились с , прежде чем этот датчик переключится на на . Это также может быть шаблон.

delay_off time (Необязательно)

Количество времени, в течение которого состояние шаблона должно быть не выполнено , прежде чем этот датчик переключится на off . Это также может быть шаблон.

Устаревший формат конфигурации датчика

Этот формат все еще работает, но больше не рекомендуется. Используйте современную конфигурацию.

Этот формат настроен как платформа для 9Интеграция датчика 0004 , а не непосредственно под интеграцию шаблона .

 # Пример записи в файле configuration.yaml
датчик:
  - платформа: шаблон
    датчики:
      солнечный_угол:
        friendly_name: "Угол солнца"
        unit_of_measurement: "градусы"
        value_template: "{{ state_attr('sun.sun', 'высота') }}"
      восход:
        value_template: "{{ state_attr('sun.sun', 'next_rising') }}"
 

Переменные конфигурации

Ищете файл конфигурации?

карта датчиков Обязательно

Карта ваших датчиков.

friendly_name строка (необязательно)

Имя для использования во внешнем интерфейсе.

шаблон friendly_name_template (необязательно)

Определяет шаблон для имени, которое будет использоваться во внешнем интерфейсе (переопределяет friendly_name).

unique_id строка (необязательно)

Идентификатор, который однозначно идентифицирует этот датчик. Установите для этого уникальное значение, чтобы разрешить настройку через пользовательский интерфейс.

строка unit_of_measurement (необязательно, по умолчанию: нет)

Определяет единицы измерения датчика, если они есть. Это также отобразит значение на основе настройки числового формата профиля пользователя и повлияет на графическое представление в визуализации истории как непрерывное значение.

шаблон value_template Обязательный

Определяет шаблон для получения состояния датчика.

шаблон icon_template (необязательно)

Определяет шаблон для значка датчика.

шаблон entity_picture_template (необязательно)

Определяет шаблон для изображения объекта датчика.

карта attribute_templates (необязательно)

Определяет шаблоны для атрибутов датчика.

атрибут: шаблон шаблона Обязательно

Атрибут и соответствующий шаблон.

шаблон доступности_шаблона (Необязательно, по умолчанию: true)

Определяет шаблон для получения доступного состояния компонента. Если шаблон возвращает true , устройство доступно . Если шаблон возвращает любое другое значение, устройство будет недоступно . Если доступность_шаблона не настроена, компонент всегда будет доступен .

класс_устройства класс_устройства (Необязательно, по умолчанию: Нет)

Задает класс устройства, изменяя состояние устройства и значок, отображаемый в пользовательском интерфейсе (см. ниже). Он не устанавливает unit_of_measurement .

Событие event_template_reloaded

Событие event_template_reloaded запускается, когда объекты шаблона были перезагружены, и поэтому объекты могли измениться.

У этого события нет дополнительных данных.

Помогите нам улучшить нашу документацию

Предложите изменить эту страницу или оставьте/просмотрите отзыв об этой странице.

Редактировать Оставить отзыв Просмотр ожидающих отзывов

Шаблон бумажного номерного знака для печати

Etsy больше не поддерживает старые версии вашего веб-браузера, чтобы обеспечить безопасность пользовательских данных.

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *