nick7zmail писал(а): Чт янв 30, 2020 7:49 am
targets я выведу (да, наконец добрался =D)...неплохо бы ещё знать - как включается данный режим? В смысле программно...можете глянуть что улетает в сокет при включении автоматического режима?
Приветствую. Хорошо что это сообщение всплыло, а то у меня завал на работе, даже не знал что модуль обновился

а так форум маякнул
Я сейчас уже не гляну. У меня единственный TH на тасмоту давно перешит, ибо родной функционал никакой. Но я делал управление им через меню, все работало, так что по идее все как описано. В targets json с параметрами порогов температуры и влажности. В deviceType режим работы. В нормальном режиме targets не затирается, просто игнорируется, т.е. там всегда последнее установленное значение для обоих автоматических режимов. т.е. менять по сути ничего не надо, просто распарсить json из targets для удобной привязки его параметров к свойствам объекта, ну и собрать обратно при изменении любого из свойств. Я из меню менял параметры, собирал из них json, и модуль прекрасно отправлял его в облако. все изменения видны были в ewelinke. В примере выше json реальный, взятый в свое время из привязанного к модулю TH.
Включаются авторежимы через свойство deviceType normal, temperature и humidity соответственно. Тут вобще ничего трогать не надо. Пишем в свойство привязанного объекта нужный режим и все.
Ну и добавлю про логику, так как с ней у многих проблема даже в родном приложении на примере:
Обычный режим
deviceType normal
targets игнорируется, что в нем не важно, в реале там значения с последнего авторежима
Контроль температуры
при 27 градусах наш девайс должен отключаться, при 22 включаться, это будет выглядеть так:
deviceType temperature
targets [{"reaction":{"switch":"off"},"targetHigh":"27"},{"reaction":{"switch":"on"},"targetLow":"22"}]
Контролироль влажность, при 60% включать девайс, при 45 выключать:
deviceType humidity
targets [{"reaction":{"switch":"on"},"targetHigh":"60"},{"reaction":{"switch":"off"},"targetLow":"45"}]
т.е. targets один для обоих режимов, значение targetHigh обязательно должно быть больше targetLow, и это значение либо температуры, либо влажности в зависимости от режима ну и switch что делается при достижении верхнего, либо нижнего порога. Все это надо учитывать в своих скриптах при управлении в ручную.