Страница 10 из 125

Re: [Модуль] Tuya

Добавлено: Вс дек 01, 2019 3:07 am
ai91
ai91 писал(а):
Вс дек 01, 2019 2:43 am
Однако проблема в управлении. Я привязал к объекту/свойству, и теперь "могу" управлять из MDM. Но выключатель реагирует только на "1", т.е. я могу только открывать жалюзи. Ни поставить на паузу, ни закрыть.
Походу нашел проблему:
если в tuya.class.php строку 644 поменять с

Код: Выделить всё

      $dps='{"'.$dps_name.'":'.(($value==1)?'true':'false').'}';

на

Код: Выделить всё

      $dps='{"'.$dps_name.'":'.strval($value).'}';

то и пауза и закрытие жалюзи тоже начинает работать.

Re: [Модуль] Tuya

Добавлено: Вс дек 01, 2019 3:18 am
fandaymon
ai91 писал(а):
Вс дек 01, 2019 3:07 am
ai91 писал(а):
Вс дек 01, 2019 2:43 am
Однако проблема в управлении. Я привязал к объекту/свойству, и теперь "могу" управлять из MDM. Но выключатель реагирует только на "1", т.е. я могу только открывать жалюзи. Ни поставить на паузу, ни закрыть.
Походу нашел проблему:
если в tuya.class.php строку 644 поменять с

Код: Выделить всё

      $dps='{"'.$dps_name.'":'.(($value==1)?'true':'false').'}';

на

Код: Выделить всё

      $dps='{"'.$dps_name.'":'.strval($value).'}';

то и пауза и закрытие жалюзи тоже начинает работать.
Да, это проблема... У выключателей state это false и true, поэтому стоит конвертирование. А у мотора получается только номер
А какой тип у мотора? Я могу сделать проверку на тип и если тип мотор, то отсылать номер, вместо true/false

Re: [Модуль] Tuya

Добавлено: Вс дек 01, 2019 4:37 am
ai91
fandaymon писал(а):
Вс дек 01, 2019 3:18 am
А какой тип у мотора? Я могу сделать проверку на тип и если тип мотор, то отсылать номер, вместо true/false
У меня пишет "cover" (то что пришло из облака)
tuya2.png
tuya2.png (17.38 КБ) 3483 просмотра

Re: [Модуль] Tuya

Добавлено: Вс дек 01, 2019 5:48 am
fandaymon
ai91 писал(а):
Вс дек 01, 2019 4:37 am
fandaymon писал(а):
Вс дек 01, 2019 3:18 am
А какой тип у мотора? Я могу сделать проверку на тип и если тип мотор, то отсылать номер, вместо true/false
У меня пишет "cover" (то что пришло из облака)
Добавил в модуль

Re: [Модуль] Tuya

Добавлено: Вс дек 01, 2019 9:52 pm
ai91
fandaymon писал(а):
Вс дек 01, 2019 5:48 am
Добавил в модуль
может подскажете. какая-то проблема с установкой значений из скрипта.
привязано свойство вот так:
tuya3.png
tuya3.png (15.81 КБ) 3435 просмотров
если в объекте меняю свойство 'status' вручную - срабатывает.

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

Код: Выделить всё

$this->setProperty("status", 3);
say("Status: ".$this->getProperty("status"));
$this->setProperty("status", 1);
say("Status: ".$this->getProperty("status"));
на выводе значение в порядке - ровно как я задал. но где-то косяк при передаче значения из свойства в объекте в модуль tuya.
Возможно как-то связано с настройкой "Интервал обновлений", но пока не понимаю на что конкретно он влияет. я думал это только на чтение. или на запись тоже? какое значение оптимально использовать?

Re: [Модуль] Tuya

Добавлено: Вс дек 01, 2019 10:23 pm
ai91
ai91 писал(а):
Вс дек 01, 2019 9:52 pm
есть ощущение что если менять слишком часто, то срабатывает только первое значение.
поясню почему частая смена значений важна:
как писал выше, экспериментально выяснил что
"1"- открыть
"2" - закрыть
"3" - остановить.

проблема в том что нельзя сделать последовательно "1" -> "2" (т.е. начать закрывать пока идет процесс открытия). Надо сделать остановку "3".
Т.е. если надо поменять направление, то "1" -> "3" -> "2".
Итак, если случайно нажал открыть, и хочу начать закрывать, то надо сначала нажать на паузу, а потом вниз.
Впрочем только сейчас я понял что возможно и можно моментально поменять направление без остановки, просто у меня оно никогда не срабатывало из-за проблемы двух быстрых смен значения. А когда вручную делал "1" -> "3" -> "2", то проходило достаточно времени между "1" и "2", пока я вручную менял на "3". Хм...

Но в любом случае, в своих скриптах я хочу делать не полное закрытие, а частичное. Т.е. надо делать последовательность "2" -> [3 sec] -> "3". И вот тут проблема. 10 секунд - достаточно. а вот меньше - как-то нестабильно.

(с пульта в родном приложении - никаких проблем нет с частой сменой направлений).

Re: [Модуль] Tuya

Добавлено: Вс дек 01, 2019 10:48 pm
fandaymon
ai91 писал(а):
Вс дек 01, 2019 9:52 pm
fandaymon писал(а):
Вс дек 01, 2019 5:48 am
Добавил в модуль
может подскажете. какая-то проблема с установкой значений из скрипта.
привязано свойство вот так:
tuya3.png

если в объекте меняю свойство 'status' вручную - срабатывает.

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

Код: Выделить всё

$this->setProperty("status", 3);
say("Status: ".$this->getProperty("status"));
$this->setProperty("status", 1);
say("Status: ".$this->getProperty("status"));
на выводе значение в порядке - ровно как я задал. но где-то косяк при передаче значения из свойства в объекте в модуль tuya.
Возможно как-то связано с настройкой "Интервал обновлений", но пока не понимаю на что конкретно он влияет. я думал это только на чтение. или на запись тоже? какое значение оптимально использовать?
А скрипт он в каком-то методе объекта содержится?
Объект управляется удаленно или локально?
Есть ощущение, что когда управляешь локально, то после отправки пакета, устройство становится на какое-то время недоступным, возможно из-за того, что передаёт в облако изменившийся статус. Хорошо бы между 2 изменениями статуса делать какую-то паузу.
С частыми изменениями статуса я особо не экспериментировал - для выключателей это не очень актуально. Могу попробовать добавить очередь, как сделано в ксяомовских модулях - возможно это поможет

Re: [Модуль] Tuya

Добавлено: Пн дек 02, 2019 12:01 am
ai91
fandaymon писал(а):
Вс дек 01, 2019 10:48 pm
А скрипт он в каком-то методе объекта содержится?
Да, это методы объекта, который привязан к выключателю в панели tuya-модуля. В них я меняю значения привязаного свойства через setGlobal() либо через $this->setProperty().
fandaymon писал(а):
Вс дек 01, 2019 10:48 pm
Объект управляется удаленно или локально?
А как это узнать? Модуль настроен с логином/паролем в облако. Мой выключатель настроен с ip и localKey, поле report отображается. А вот как управляется, локально или через облако — не знаю как посмотреть. Доков нигде не нашёл.
fandaymon писал(а):
Вс дек 01, 2019 10:48 pm
Есть ощущение, что когда управляешь локально, то после отправки пакета, устройство становится на какое-то время недоступным, возможно из-за того, что передаёт в облако изменившийся статус. Хорошо бы между 2 изменениями статуса делать какую-то паузу.
С частыми изменениями статуса я особо не экспериментировал - для выключателей это не очень актуально. Могу попробовать добавить очередь, как сделано в ксяомовских модулях - возможно это поможет
Возможно имеет смысл попробовать заблокировать облако на роутере? ;-)

Re: [Модуль] Tuya

Добавлено: Пн дек 02, 2019 12:52 am
fandaymon
ai91 писал(а):
Пн дек 02, 2019 12:01 am
fandaymon писал(а):
Вс дек 01, 2019 10:48 pm
А скрипт он в каком-то методе объекта содержится?
Да, это методы объекта, который привязан к выключателю в панели tuya-модуля. В них я меняю значения привязаного свойства через setGlobal() либо через $this->setProperty().
Можно попробовать через setGlobal менять, а не через setProperty - они слегка по разному работают. Но дело видимо не в этом...
ai91 писал(а):
Пн дек 02, 2019 12:01 am
fandaymon писал(а):
Вс дек 01, 2019 10:48 pm
Объект управляется удаленно или локально?
А как это узнать? Модуль настроен с логином/паролем в облако. Мой выключатель настроен с ip и localKey, поле report отображается. А вот как управляется, локально или через облако — не знаю как посмотреть. Доков нигде не нашёл.
Если ip и localKey есть, то управление идёт локально. Можно попробовать убрать ip и попробовать быстро попереключать. Тогда будет видно проблема ли это локального управления
ai91 писал(а):
Пн дек 02, 2019 12:01 am
fandaymon писал(а):
Вс дек 01, 2019 10:48 pm
Есть ощущение, что когда управляешь локально, то после отправки пакета, устройство становится на какое-то время недоступным, возможно из-за того, что передаёт в облако изменившийся статус. Хорошо бы между 2 изменениями статуса делать какую-то паузу.
С частыми изменениями статуса я особо не экспериментировал - для выключателей это не очень актуально. Могу попробовать добавить очередь, как сделано в ксяомовских модулях - возможно это поможет
Возможно имеет смысл попробовать заблокировать облако на роутере? ;-)
Думаю что устройство всё равно будет пытаться до облака достучаться. Но и это можно попробовать

Re: [Модуль] Tuya

Добавлено: Вт дек 03, 2019 4:28 pm
Kulibink
Доброго времени! Подскажите пожалуйста почему не передаются данные по киловаттам, в самом приложении все ок?