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

Не хватает описания MQTT для Vakio Base Smart #7

Closed
xSirrioNx opened this issue Jan 20, 2023 · 9 comments
Closed

Comments

@xSirrioNx
Copy link
Contributor

Хотелось бы увидеть описание всех топиков и возможных значений в MQTT

Например, mode у меня отображается в числовом виде.

Непонятно как переключаться между летним и зимним режимом рекуперации по MQTT, как переключать master / slave

image

@monoflash
Copy link

Думаю, этого хотелось бы всем, но разработчики вентиляции, судя по всему, не умеют вообще ничего делать нормально что касается программной части, моя оценка на 3 с минусом.
Но аппаратно мне вентиляция нравится!
Сегодня были найдены две новые функциональности вентиляции: зависание и сильное торможение ESP32 внутри вентиляции.
Тормозит так что даже отображение всего на индикаторе медленно показывается.
А команды из Home Assistant выполняются со значительной задержкой.
Лечится только перезагрузкой, причём только по питанию... У меня уже начинает появляться желание влезть в прошивку ESP32 и написать вменяемый вариант с поддержкой API чтобы избавится от выяснения команд MQTT и промежуточного сервера... Так что пока саму вентиляцию придётся👎 снабдить ещё и умной розеткой...
(так для справки: я никак не связан с компанией Vakio, они мне не платят и всё что я делаю для вентиляции используется только в личных целях для собственных нужд)

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

Всё что я смог найти, чтобы не потерялось, написал тут: vakio.txt

@xSirrioNx
Copy link
Contributor Author

xSirrioNx commented Jan 20, 2023

@monoflash
Ого, огромное спасибо!
Этого для меня более, чем достаточно)

Получается, mode - это просто командный топик, дублиркющий функционал менюхи и синхронизировать такие параметры, как winter/summer и slave/master не получится

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

@monoflash
Copy link

Незачто!

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

У этой вентиляции главная "фишка" в том что вентиляционная система не сообщает о своём режиме работы и статусе. Сообщение о состоянии приходит только после перезагрузки вентиляционной системы либо когда вентиляция сама переподключилась к wifi. Именно поэтому я решил написать дополнительно макроскопический сервер на golang который выполняет две функции: 1. Помнит текущее состояние вентиляции. 2. Пингует вентиляцию чтобы понять она схохла/зависла/отвалилась от wifi и вообще доступна ли и нужно ли ей отправлять что-либов в MQTT или нет.
Ну и в этом же репозитории моя реализация "интеграции" для hass (через HACS) и сервер на golang.
Для сервера можно аддон сделать, но пока руки не дошли, поэтому его можно скомпилировать под любую платформу и запустить на том же линуксе где крутится сам home assistant.
* На питоне я писал впервые, поэтому просьба не пинать сильно, я сам вижу что в коде есть много что можно было бы улучшить.

@SergeyKupavtsev
Copy link
Collaborator

SergeyKupavtsev commented Jan 20, 2023

Здравствуйте, по поводу топиков, значение команд можно найти на https://vakio.ru/vakio-mqtt.pdf , в этом репозитории. По поводу команд speed, workmode, system на данный момент это новое обновление, поэтому, после массового обновления устройств, эти команды будут добавлены в данный репозиторий.
@monoflash, по поводу зависаний, было бы хорошо, если Вы сможете описать подробнее проблему с зависанием (почта app@vakio.ru), по такой проблему на данный момент не было обращений и у нас она не возникала, поэтому Ваша обратная связь поможет улучшить продукт.

@monoflash
Copy link

monoflash commented Jan 20, 2023

Здравствуйте, по поводу топиков, значение команд можно найти на https://vakio.ru/vakio-mqtt.pdf , в этом репозитории. По поводу команд speed, workmode, system на данный момент это новое обновление, поэтому, после массового обновления устройств, эти команды будут добавлены в данный репозиторий. @monoflash, по поводу зависаний, было бы хорошо, если Вы сможете описать подробнее проблему с зависанием (почта app@vakio.ru), о такой проблемы на данный момент не было обращений и у нас она не возникала, поэтому Ваша обратная связь поможет улучшить продукт.

Добрый вечер, зависание было дважды, я не выяснял причины, но оно возникало всегда если отправлять более двух команд в MQTT быстро (без задержки). Возможности как либо отдебажить и посмотреть логи того что происходит внутри ESP32 в вентиляции у меня нет, поэтому это всё что могу сказать.

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

Если вы являетесь официальным представителем Vakio, было бы хорошо если бы вы опубликовали системные команды, они точно есть. Например команду полного сброса я нашёл через эксперименты, было сюрпризом что всё сбросить так просто...
А вообще, хотелось бы ещё:

  1. Иметь возможность получить версию прошивки из вентиляции
  2. Иметь возможность получить текущую версию прошивки у вас на сервере

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

Например такое есть в интеграции для Mikrotik RouterOS, очень полезно и удобно!

@xSirrioNx
Copy link
Contributor Author

xSirrioNx commented Jan 20, 2023

@SergeyKupavtsev Спасибо! Не заметил ссылку на этот файлик, моя вина (

@monoflash А почему не используете топики state, workmode и speed напрямую в HA?
Вот мой пример интеграции селектов напрямую через MQTT в HA, они корректно синхронизируются - меняешь значение из HA - меняется на рекуператоре и наоборот, меняешь значение с пульта/панели - меняется в HA

mqtt:
  select:
    - command_topic: vakio/speed
      state_topic: vakio/speed
      name: "Скорость рекуператора в спальне"
      options:
        - "1"
        - "2"
        - "3"
        - "4"
        - "5"
        - "6"
        - "7"
    - command_topic: vakio/workmode
      state_topic: vakio/workmode
      name: "Режим рекуператора в спальне"
      options:
        - "inflow"
        - "outflow"
        - "recuperator"
        - "inflow_max"
        - "outflow_max"
        - "night"

Или вам принципиальна синхронизация всех настроек?

@SergeyKupavtsev
Copy link
Collaborator

Здравствуйте, по поводу топиков, значение команд можно найти на https://vakio.ru/vakio-mqtt.pdf , в этом репозитории. По поводу команд speed, workmode, system на данный момент это новое обновление, поэтому, после массового обновления устройств, эти команды будут добавлены в данный репозиторий. @monoflash, по поводу зависаний, было бы хорошо, если Вы сможете описать подробнее проблему с зависанием (почта app@vakio.ru), о такой проблемы на данный момент не было обращений и у нас она не возникала, поэтому Ваша обратная связь поможет улучшить продукт.

Добрый вечер, зависание было дважды, я не выяснял причины, но оно возникало всегда если отправлять более двух команд в MQTT быстро (без задержки). Возможности как либо отдебажить и посмотреть логи того что происходит внутри ESP32 в вентиляции у меня нет, поэтому это всё что могу сказать.

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

Если вы являетесь официальным представителем Vakio, было бы хорошо если бы вы опубликовали системные команды, они точно есть. Например команду полного сброса я нашёл через эксперименты, было сюрпризом что всё сбросить так просто... А вообще, хотелось бы ещё:

  1. Иметь возможность получить версию прошивки из вентиляции
  2. Иметь возможность получить текущую версию прошивки у вас на сервере

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

Например такое есть в интеграции для Mikrotik RouterOS, очень полезно и удобно!

Создал новую тему по этому поводу

@monoflash
Copy link

monoflash commented Jan 20, 2023

@SergeyKupavtsev Спасибо! Не заметил ссылку на этот файлик, моя вина (
@monoflash А почему не используете топики state, workmode и speed напрямую в HA? Вот мой пример интеграции селектов напрямую через MQTT в HA, они корректно синхронизируются - меняешь значение из HA - меняется на рекуператоре и наоборот, меняешь значение с пульта/панели - меняется в HA
Или вам принципиальна синхронизация всех настроек?

Я проверял на своём устройстве всё это и не получил удовлетворительного результата. Как писал ранее, максимум на 3 с минусом. Это видимо мои личные заморочки, но если устройство добавлено в интеграцию, то хотелось бы видеть что работает точно так же как все другие устройства, а у других устройств всегда гарантировано можно узнать их состояние и изменить его, посмотреть доступность, качество связи, заряд батарейки (если есть батарейка), а у Vakio оказалось всё совсем не так. Усложняется всё тем что устройство может изменить своё состояние с пульта или с кнопок и это надо отображать, в том числе в моменты перезагрузок, если например выключали свет...

Официальное приложение Vakio под мобильный телефон работает через сервер, а сервер хранит состояние устройства. Я пошёл тем же путём, но убрал зависимость от приложения, интернета и облака vakio. В моём варианте достаточно локальной сети... Да и управлять устройством должен не один человек, а с приложением возникли и с этим проблемы, уже после подключения третьего человека...

Ваш вариант конечно работающий, и идеально подходит тем кто не умеет программировать, я же знаю и успешно использую 11 языков, уже 12 и не имею проблем чтобы написать что-либо самому.
Да и у меня всё это пока только "проба пера", я впервые Home Assistant поставил в прошлое воскресенье, так как только начали у меня появляться умные устройства и настала пора избавляться от всех этих мобильных приложений...

Возможно, мой вариант сложен или не совсем верен, время покажет и исправит, но пока что он работает да и это вариант в рамках изучения HA и за неделю во внерабочее время :)...
Но главное этот вариант работает лучше чем решения на основе приложения Vakio и управления устройством только с него. У рекуператора есть проблемы и я своим решением попытался их устранить.
Вот все проблемы найденные мной, включая те что я писал выше:

  1. Раз в месяц/неделю (непредсказуемо), рекуператор отваливается от сети и wifi навсегда.
  2. Приложение под мобильный телефон имело столько нареканий что перечислять тут не хочется, оно оставлено на телефоне как память...
  3. Из за п.2 состояние вентиляции вообще никак не посмотреть кроме как идти к ней и тыкать в экран.
  4. Если потерялась связь, то она больше не восстановится, только аппаратное выключение на 10-15 секунд.
  5. Зависает сам модуль ESP32 (описано выше), нет watchdog либо я не дождался того что устройство само себя ресетнуло. Но учитывая п.1 скорее всего его нет.
  6. По неведомым причинам ESP32 начинает тормозить, возможно из за этого и сеть отваливается ибо в сетевых пакетах есть таймауты.
  7. Апосредованная проблема, если пропадает интернет, пропадает и контроль... Хотя, выключить весь дом можно и СМС-кой... Я ещё такое не сделал у себя, но точно будет...

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

Просто мысли в слух:
Я видел решения ESP32 + модель ZigBee, чисто теоретически, можно снять "мозги", чуток допаять и получить уже полноценне устройство с доступом по надёжной зашифрованной сети ZigBee, но надо будет свою прошивку на C/C++ писать под ESP32, исходников существующей прошивки в сети нет.

@monoflash
Copy link

Кстати, если совместно мы решили вопрос @xSirrioNx, тогда наверно этот issue можно закрыть как успешно решённый 💯 .

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

3 participants