Домашний помощник, выпуск 0.113

Домашний помощник, выпуск 0.113

Домашний помощник, выпуск 0.113

Индекс

Домашний помощник, выпуск 0.113

Еще один специальный, тематический, релиз входящий!

Кажется, что @bdraco неудержим; он просто продолжает улучшаться
производительность ядра. Я искренне восхищаюсь его работой, которой он был
однако последние месяцы не в этом.
Извините, @bdraco!

Этот выпуск: Автоматизация и скрипты! И это!!!

Долгая и долгая ошибка с автоматическим срабатыванием устранена, но не
только это, @pnbruckner пошел ва-банк, расширив механизм автоматизации / скриптов
даже больше.

Добавление режимов повтора, выбора и работы (с возможностью охлаждения в качестве побочного эффекта).

Я уже играл с этими функциями у себя дома, и я
изменил / улучшил довольно много вещей. Серьезно, @pnbruckner, Спасибо!

Наслаждайтесь выпуском!

../Френк

Людей присоединяется к выпуску Nabu Casa Home Assistant 0.113

Сегодня мы рады сообщить, что @ludeeus присоединяется к Набу Каса, чтобы работать
полный рабочий день на Домашний помощник!

Людей долгое время работал над проектом Supervisor.
панель и разные биты внешнего интерфейса. Он, однако, в основном известен как
создатель Магазин сообщества Home Assistant (HACS).

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

Добро пожаловать @ludeeus!

Автоматизация и скрипты Home Assistant, выпуск 0.113

Этот выпуск вносит изменения в нашу автоматизацию и скрипты. Прежде чем мы начнем с
это все, пожалуйста, обратите внимание, что action частью автоматизации является сценарий
sequence.

Итак, все рассмотренное ниже применимо как к сценариям, так и к автоматизации.

Перед погружением: все изменения в автоматизации и скриптах были выполнены
@pnbruckner! Это превосходно! Спасибо!

Автоматизация и скрипты: исправление ошибки Home Assistant Release 0.113

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

Рассмотрим следующую автоматизацию:

automation:
  - alias: "Example"
    description: "On button press, turn on the light bulb for 10 seconds."
    trigger:
      - platform: state
        entity_id: binary_sensor.button
        to: "on"
    action:
      - service: light.turn_on
        entity_id: light.bulb
      - delay:
          seconds: 10
      - service: light.turn_off
        entity_id: light.bulb

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

Так что для выключения лампы требуется 10 секунд, что если вы нажмете кнопку?
снова через 5 секунд?

Пожалуйста, подумайте об этом ...

То, что на самом деле произошло до 0.113, это то, что лампочка выключится
немедленно! Скорее всего, вы этого не ожидали.

Давайте объясним это так: первое нажатие кнопки включает свет и задержку
активен в течение 10 секунд. Второе нажатие кнопки, выполненное через 5 секунд,
фактически не обрабатывается, однако, это вызывает задержку первого запуска в
отменить себя и продолжить выполнение остальных действий / последовательности,
заставляя свет немедленно выключиться!

Эта ошибка была исправлена. Начиная с этого выпуска, второе нажатие кнопки не
сделать что-нибудь, и свет теперь погаснет через 10 секунд, что первый
Нажатие кнопки сработало.

Автоматизация и скрипты: режимы работы Home Assistant Release 0.113

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

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

Помимо по умолчанию single В этом режиме доступны следующие режимы:

режим Описание
single Не начинать новый запуск, если он уже запущен.
restart Начать новый прогон, после остановки предыдущего прогона.
queued Начать новый прогон после завершения всех предыдущих прогонов.
parallel Начните новый, независимый, запустите параллельно с предыдущими запусками.

Наглядное объяснение режимов автоматизации / работы скрипта.
Наглядное объяснение режимов автоматизации / работы скрипта.

Для режима очереди и параллельного режима дополнительный параметр max доступен
контролировать максимальное количество прогонов, которые ждут друг друга. когда
опуская этот параметр, он будет по умолчанию 10.

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

Это заставит каждое нажатие кнопки в течение 10 секунд перезапустить обратный отсчет
еще раз:

automation:
  - trigger:
      - ...
    mode: restart
    action:
      - ...

И этот пример, включил бы / выключил свет, на 10 секунд дважды, если
Кнопка была нажата через 5 секунд.

automation:
  - trigger:
      - ...
    mode: queue
    action:
      - ...

Режимы также доступны для автоматизации и сценариев в интерфейсе внешнего интерфейса:

Снимок экрана режимов работы в интерфейсе
Скриншот режимов работы в интерфейсе.

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

Более подробную информацию о режиме бега можно найти в автоматики
и скрипты документация.

Автоматизация и скрипты: повторяет выпуск 0.113 Home Assistant

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

Новая функция повтора может быть использована тремя различными способами:

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

Например, это спамит ваш телефон тем же сообщением 10 раз:

- alias: Send notification spam to phone
  repeat:
    count: 10
    sequence:
      - service: notify.frenck
        data:
          message: Ding dong! Someone is at the door!

Более подробную информацию о повторах можно найти в документации.

Автоматизация и скрипты: домашний помощник Chooser, выпуск 0.113

У вас есть несколько автоматических систем для того, чтобы этот свет включался / выключался? Или несколько
автоматизация / скрипты для обработки разных кнопок на каком-нибудь пульте?

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

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

automation:
  - alias: "Example"
    description: "On button press, turn on the light bulb for 10 seconds."
    trigger:
      - platform: state
        entity_id:
          - binary_sensor.button1
          - binary_sensor.button2
          - binary_sensor.button3
    action:
      - choose:
        - conditions:
            - condition: state
              entity_id: binary_sensor.button1
              state: "on"
          sequence:
            - service: light.turn_on
              entity_id: light.bulb
        - conditions:
            - condition: state
              entity_id: binary_sensor.button2
              state: "on"
          sequence:
            - service: light.turn_off
              entity_id: light.bulb
        default:
          - service: notify.frenck
            data:
              message: Some other unknown button was pressed!

В приведенном выше примере, нажав кнопку 1, включается лампа; пока button2 поворачивается
это снова. Третья кнопка не обрабатывается ни одним из условий в
вместо этого запускается chooser и (необязательно) default.

Выбор может быть использован в качестве if/else Скажите, где default выступает в качестве
остальное. Или даже как if/else if/else заявление, как показано в YAML
пример выше.

Более подробную информацию о выборе можно найти в документации.

Автоматизация и скрипты: домашний помощник с точностью до секунды, выпуск 0.113

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

Эта точность полезна в случае, если вы хотите задержку менее секунды,
например, 500 миллисекунд.

Пример сценария, который включает свет каждые 500 миллисекунд 10 раз.

script:
  blink_light:
    sequence:
      repeat:
        count: 10
        sequence:
        - service: light.toggle
          entity_id: light.bulb
        - delay:
            milliseconds: 500

Автоматизация и скрипты: бонус! Cool Down Home Assistant Выпуск 0.113

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

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

automation:
  - alias: "Doorbell cool down"
    description: "Prevent multiple message being send when spamming the doorbell."
    mode: single # Which is the default
    trigger:
      - platform: state
        state: binary_sensor.doorbell
        to: "on"
    action:
      - service: notify.frenck
        data:
          message: Ding dong! Someone is at the door!
      - delay:
          seconds: 10

Команда single режим запуска этой автоматики в сочетании с последним delay из 10
секунд, предотвращает запуск этой автоматизации чаще, чем один раз
каждые 10 секунд. Это идеально подходит для таких вещей, как дверной звонок.

Обновлены иконки MDI Home Assistant Release 0.113

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

Мы хотели справиться с этим хорошо, поэтому потребовалось некоторое время.

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

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

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

Большинство удаленных значков MDI можно найти в Простые иконки,
который доступен как пользовательская интеграция.

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

Обновления скрипта и редактора сцен Home Assistant Release 0.113

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

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

Снимок экрана: имя скрипта, значок и режим запуска.
Снимок экрана: имя скрипта, значок и режим запуска.

Поддержка настройки пользовательского значка также добавлена ​​в редактор сцен.

Больше оптимизаций скорости Home Assistant Release 0.113

После хорошо принятой оптимизации скорости в версиях 0.111 и 0.112,
Sega в направлении улучшения использования ресурсов и отзывчивости платформы
Продолжает.

На этот раз у нас есть оба @bdraco и @пвизели поблагодарить за отличный
оптимизации, которые уменьшат использование процессора Home Assistant.

Прежде всего, если вы используете ОС Home Assistant, контейнер или
При установке под наблюдением этот экземпляр Home Assistant будет работать на
Python 3.8. Никаких действий с вашей стороны не требуется для этого.

Это не просто нормальная версия Python, но @пвизели работал на очень
оптимизированная версия Python для Home Assistant, повышающая производительность
это может доходить до 40%! Он написал больше техническая статья об этом на
наш блог разработчиков
.

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

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

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

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

Другие заслуживающие внимания изменения Home Assistant Release 0.113

  • Группы Philips Hue теперь можно включать / выключать в опциях интеграции через пользовательский интерфейс.
  • Команда OpenZWave (бета) получил 3 новых сервиса. Два из них предназначены для
    установка кодов пользователей на замках. Другой позволяет настроить устройство
    параметры конфигурации.
  • После минуты отсутствия, @yosilevy вернулся!
    Он был единственным, кто решал все проблемы с RTL, которые были у нас в Home Assistant,
    с его возвращением, этот релиз снова полон твиков RTL!

Новые интеграции

Три новых интеграции добавили этот выпуск:

Новые Платформы

Следующая интеграция получила поддержку новой платформы:

  • OpenZWave теперь поддерживает оконные крышки, добавленные @ Michsior14

Интеграции теперь доступны для настройки из пользовательского интерфейса

Следующие интеграции теперь доступны через интерфейс Home Assistant:

Если вам нужна помощь ...

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

Испытываете проблемы, представленные в этом выпуске? Пожалуйста, сообщите о них в нашем Выпускной трекер, Обязательно заполните все поля шаблона выпуска.

Нарушение изменений

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

Минимальная версия Python 3.7.1

Минимальная требуемая версия Python была повышена с Python 3.7.0 до 3.7.1.

(@bdraco#37184)

Системы автоматизации / Scripts

Поведение автоматики, когда они были запущены в то время как "приостановлено" в
шаг delay или wait_template из предыдущего события триггера был неожиданным. Если
это произошло, приостановленный шаг будет прерван, и автоматизация будет
продолжить последовательность действий следующим шагом.

Это изменение устраняет поддержку этого «устаревшего» поведения в обеих автоматизациях
и сценарии (хотя сценарии были менее затронуты этим.)

Он также предоставляет новые «режимы» работы для этих последовательностей действий, а именно
single, restart, queued & parallel, Чтобы минимизировать влияние на существующие
автоматизация и сценарии, режим по умолчанию single.

Кроме того, для queued & parallel Режимы теперь есть новая конфигурация
вариант - max - контролирует максимальное количество «прогонов», которые могут быть
работает и / или в очереди одновременно.

И, наконец, шаг задержки теперь намного точнее и поддерживает задержки
менее чем за одну секунду

(@pnbruckner#37729) (документы по автоматизации) (сценарий документации)

Шаблоны

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

Эта защита была распространена на все шаблонные платформы.

Измените поведение extract_entities, чтобы вернуть успешно извлеченный
объекты, если один или несколько шаблонов не удалось извлечь вместо возврата «все»
и быть отклоненным самой платформой.

(@bdraco#37831) (шаблоны документов)

Относительное время

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

  • 47 часов назад отображается как «1 день назад» вместо «2 дня назад»
  • 13 дней в будущем отображаются как «через 1 неделю»

Это изменение изменяет relativeTime функция для использования Math.round вместо
Math.floor поэтому вывод более точно соответствует фактическому относительному времени
вход.

(@ГМТА#37125)

MQTT

Сообщения о рождении и завещании теперь публикуются по умолчанию.

MQTT сообщение о рождении по умолчанию:{"topic": "homeassistant/status", "payload": "online"}
MQTT по умолчанию сообщит: {"topic": "homeassistant/status", "payload": "offline"}

MQTT будет опубликован также по чистому соединению от брокера.

(@emontnemery#37371) (документы mqtt)

ЖА с пультами Hue

Это обновление содержит критические изменения, если вы используете триггеры устройств
для моделей Hue Dimmer RWL020 и RWL021.

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

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

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

Извините за причиненные неудобства.

(@dmulcahey#37859) (Жа документы)

ЖАА силовая единица измерения

Ранее ZHA отображал мощность в киловаттах (кВт) для некоторых устройств.
(те, которые с кластером SmartEnergy), но так как ватты более распространены как
бытовой блок питания, ZHA начнет использовать W вместо них.

Если у вас есть какие-либо расчеты или накопления на основе датчиков мощности,
они могут нуждаться в обновлении.

(@абмантис#37896) (Жа документы)

Philips Hue

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

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

(@французкий язык#37268) (Hue Docs)

Инфлюксдб

Поддержка сопоставления глобусов добавлена ​​с фильтрами InfluxDB.

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

Один и тот же домен, указанный как include, так и exclude:

  • Предыдущее поведение: все объекты в этом домене исключены
  • Новое поведение: включены все объекты этого домена, если объект не исключен
    по идентификатору или по шару

Один и тот же идентификатор объекта, указанный в include и exclude:

  • Предыдущее поведение: объект исключен
  • Новое поведение: сущность включена

Фильтрация включает 1+ исключающих доменов, 0 включают домены и 1+ включают идентификаторы сущности, указанные:

  • Предыдущее поведение: все объекты, не указанные в списке по идентификатору, были исключены
  • Новое поведение: все объекты, которые не были специально исключены ни доменом, ни идентификатором
    включены.

(@ mdegat01#37069) (influexdb документы)

Автоматическая коробка передач

Для всех датчиков потока (например, active_torrents or started_torrents) порядок
содержания torrent_info атрибут изменился на oldest first
Это означает, что старые торренты появятся первыми в списке.

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

(@zhulik#35411) (документы передачи)

Гарнитура Logitech Harmony

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

(@bdraco#37559) (документы о гармонии)

Сяоми Мио

Вентилятор и удаленные компоненты теперь имеют уникальные светодиодные цепочки.
Если вы ранее установили ваши вызовы автоматизации от
вентилятор_set_led_on / off "до"удаленные _set_led_on / выкл»,
теперь вам нужно установить их обратно на «веер».

(@алексхардвик#37605) (xiaomi_miio документы)

Принтер Samsung SyncThru

Настройка Syncthru теперь выполняется через страницу интерфейса интеграции.

(@цель#36690) (документы открытия) (Syncthru Docs)

Вялый

Повторно добавлена ​​возможность использовать удаленные файлы (по URL) в сообщениях Slack.

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

(@бахья#37161) (слабые документы)

RFXCOM RFXtrx
  • Настройка имени сущности теперь должна выполняться внутри домашнего помощника
  • Несколько объектов могут быть созданы для одного устройства
  • События, сообщенные из идентификаторов объекта, удаляются в пользу событий из уровня интеграции.
  • Формат событий изменился.

(@elupus#37742 #37565) (rfxtrx документы)

Fibaro

Коммутаторы Fibaro Home Center, которые управляют источниками света, теперь будут правильно настроены как объекты Light (вместо объектов Switch). Это приводит к тому, что идентификаторы этих сущностей изменяются с switch, в light, Если это нежелательно, измените роль устройства в Home Center на что-то, что не является источником света (например, Другое устройство).

(@Danielpervan#37690) (фибаро документы)

Интерфейс: устарел импорт HTML

extra_html_url теперь устарела и поддержка будет удалена в 0.115.
Вы можете перейти на новый extra_module_url or extra_js_url_es5 путем изменения
Ваш импортированный файл в JavaScript.

При запуске пользовательских компонентов вы импортируете файл HTML для вашего
компонент вместо JavaScript. Вот почему мы всегда поддерживали импорт
дополнительный HTML в интерфейсе и пользовательских панелях.

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

В версии 0.115 мы уберем возможность импорта HTML, вы можете использовать ES
модули в качестве замены.

(@брамкрагтен#37843) (интерфейсные документы)

Фронтенд: Темы

Переменная темы paper-card-background-color устранен. Ты можешь использовать ha-card-background or card-background-color в качестве замены.

В общем, все переменные, которые начинаются с paper будет удален в какой-то момент.

(@брамкрагтенинтерфейс # 6377) (интерфейсные документы)

Все изменения

Домашний помощник, выпуск 0.113

Нажмите, чтобы увидеть все изменения!