-
Notifications
You must be signed in to change notification settings - Fork 13
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
Реализация управления кранами: пример обмена по API #21
Comments
UPD на https://api.saures.ru/doc/1.0/meter/control опубликовано, что нужно отправлять command = activate|deactivate, но в ЛК шлется именно open|close|clear |
@volshebniks Удалось ли взглянуть? Можем надеяться на реализацию? |
О! Если получится, то было бы суперски-афигенно!!! ;) |
На данный момент реализация добавлена в master версию. К сожалению я не могу полноценной протестировать, так как у меня нет таких кранов, а demo кабинет возвращает ошибку "Недостаточно прав" при попытке управлять краном. Если можете поставьте master версию. Обратите внимание что настройка компонента стала вообще другой.
|
при такой настройке |
А что в логах? Логин и пароль свой точно правильно указали? |
Где смотреть логи? |
логи ваш сервер/config/logs |
2022-05-15 20:30:30 WARNING (SyncWorker_10) [custom_components.sauresha.api] ID flat: далее адрес и ID flat |
а ошибки связаннные с компонентом есть в логе? |
нет, больше нет ошибок. |
а switch созданных не появилось? - для кранов |
switch появился |
а пробовали его включить/выключить - на кран это как то влияет? ошибки поле этого в логе есть? |
никак не влияет, ошибок нет, состояние всё время "off" |
@Gimlir - замечательно. спасибо большое. значит все же работает. |
а состояние какое? у меня по-прежнему - "False" |
@volshebniks поймал баг с невозможностью отмены поставленной в очередь задачи по закрытию (открытию). Если попытаться вызвать принудительно сервис - тоже не получится. Вот пример сценария:
|
Как сейчас можно снизить частоту обращений к серверу саурес? вижу, что по умолчанию идет интервал 10 мин, я ранее использовал 1 час. Такой синтаксис проканает?
|
Все верно, у меня так же. False в бинарном сенсоре HA эквивалентно состоянию Неактивен в ЛК Саурес эквивалентно отсутствию протечки. |
@volshebniks, я еще один баг поймал. Оказывается, я поторопился сказать, что после фактического изменения положения кранов следующий апдейт данных по апи принесет смену статуса выключателю. |
да проблему обновления - я уже тоже словил. буду разбираться |
выложил в master новую версию. полностью всё переделал. это еще скорее всего не конечная версия. |
поставил версию из hacs из master, пока застрял на сохранении логина через GUI, см issue #27 |
@volshebniks
|
Обновился, выключатель крана создался в выключенном состоянии, как и положено, нажал включить (выключатель в UI как и раньше дернулся во включенное состояние и вернулся назад в выключенное). Команда на сервер саурес ушла, краны закрылись. Буду ждать как отобразится состояние выключателя после следующего обновления данных интеграцией. ЗЫ @volshebniks не могли бы вы сопровождать исправления при выгрузке в репозиторий как раньше тегами с номером релиза, а то без них HACS не дает обновляться с версии master на нее же (не понимает, что комиты добавились) и уж очень много действий для применения каждого исправления приходится проделывать (удалять все интеграции, репозиторий и запись о кастомном репозитории и возвращать все в обратном порядке) |
поправил + сделал проверку на то что статус крана = открыто или закрыто. если что то другое - по крайней мере падать не должно |
Спасибо за оперативное реагирование :) Я подумал, может быть при создании объектов, если создаем объект свича для крана - то создавать в пару к нему сенсор "Ожидающая команда управления" со статусом "Нет ожидающих команд", "Ожидается открытие", "Ожидается закрытие" и атрибутом "Время ожидаемого исполнения" (или эти статусы и время можно в атрибуты самого свича поместить, чтобы на плодить сущности). При наличии такого доп объекта или атрибутов можно было бы после клика на свиче менять состояние сенсора\атрибута, а состояние свича заранее переводить в ожидаемое состояние - тогда пользователь будет видеть интуитивное понятную реакцию на свое действие: кликнул на свич закрыть - свич переключился и остался в своем новом положении - сенсор\атрибут показал что зарегистрирована команда и мы ждем ее исполнения. |
да атрибут добавить не сложно. думаю сделаю и переводить в предполагаемое сосотояние тоже. |
Очень хотелось бы получить возможность управления кранами. Хочу помочь продвинуться в этом направлении.
Увидел в комментариях других issues, что в предоставленных документах по API от Saures не было про управление кранами. Выкладываю свой пример команд на открытие и закрытие, взятый в ЛК потребителя из браузера.
Выход, подключенный к управляющему каналу кранов в классификации Saures - Тип: Кран/реле, тип цифрой: 6, в списке meters выгдядит как:
если в системе зарегистрирована ожидающая своего исполнения команда для канала этого типа, то она видна в ответе на запрос /object/meters между vals и active_text как command:
Управление
Запрос заголовки
POST Data для открытия
и закрытия
Ответ, заголовки
ответ тело (так как открытие происходит не в realtime, а в момент выхода контроллера на связь в следующий раз, сервер возвращает ориентировочное время этого ожидаемого выхода, выход и закрытие в это время может и не случиться)
и на закрытие
ответ при просроченной сессии авторизации
Отмена задания открытия:
если передумали открывать кран до того запланированного времени, когда ожидаем, что оно выполнится
ответ
Логика, зашитая во фронтенде ЛК Саурес при нажатии на кнопку отправки команды закрытия(открытия): запрос GET на /objects/meters для проверки текущего состояния и наличия уже ожидающей команды, запрос POST на /meter/control с командой и снова GET на /objects/meters для проверки взятия команды в очередь.
The text was updated successfully, but these errors were encountered: