Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Асинхронный запуск команд #475

Open
panfmik opened this issue Nov 1, 2023 · 5 comments
Open

Асинхронный запуск команд #475

panfmik opened this issue Nov 1, 2023 · 5 comments

Comments

@panfmik
Copy link

panfmik commented Nov 1, 2023

Возможно ли добавить поддержку state_unknown для домена switch?
https://docs.yaha-cloud.ru/v0.6.x/config/entity/#state_unknown

Проблема следующая, есть switch у которого долго меняется статус и в ответ на это Алиса говорит что произошла ошибка. По факту команда выполнена, если я не ошибаюсь затык в том что УДЯ ожидает быстрый ответ на изменение статуса, по логике получается если добавить state_unknown то проблема должна решиться.

@dext0r
Copy link
Owner

dext0r commented Nov 1, 2023

Начиная с 0.6.1 поддерживается для всех доменов. Но она не влияет на то, как исполняются команды. Нужно чинить на стороне HA, чтобы команда укладывалась в 3 секунды.

@panfmik
Copy link
Author

panfmik commented Nov 1, 2023

так если добавить state_unknown алиса не будет ожидать изменение статуса а просто сделает ВКЛ/ВЫКЛ?

@dext0r
Copy link
Owner

dext0r commented Nov 1, 2023

так если добавить state_unknown алиса не будет ожидать изменение статуса а просто сделает ВКЛ/ВЫКЛ?

Компонент не ожидает смену статуса, он вызывает сервис switch.turn_on или switch.turn_off и ждёт когда он завершится.

Какой интеграцией предоставлен свитч, с которым у вас возникает проблема?

@panfmik
Copy link
Author

panfmik commented Nov 1, 2023

starline

@dext0r
Copy link
Owner

dext0r commented Nov 1, 2023

Посмотрел код компонента и API от старлайна - стало понятно, почему service.turn_on долго выполняется. Подумаю, что можно с этим сделать.

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

yandex_smart_home:
  entity_config:
    switch.startline_engine:
      turn_on:
        service: script.turn_on  # это запустит скрипт асинхронно
        entity_id: script.startline_engine_on
      turn_off:
        service: script.turn_on
        entity_id: script.startline_engine_off

script:
  startline_engine_on:
    sequence:
      - service: switch.turn_on
        entity_id: switch.startline_engine
  startline_engine_off:
    sequence:
      - service: switch.turn_off
        entity_id: switch.startline_engine

@dext0r dext0r changed the title Раздельные кнопки вкл/выкл Асинхронный запуск команд Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants