Страница 107 из 132
Re: [Модуль] Tuya
Добавлено: Ср июн 15, 2022 11:44 am
kolizeyalex
fandaymon писал(а): Вт июн 07, 2022 7:05 pm
kolizeyalex писал(а): Вс июн 05, 2022 9:26 pm
Есть проблема с локальным опросом zigbee датчиков, в общем все было хорошо пока zigbee шлюз moes проводной не обновился (сейчас версия основного модуля 1.17.0, модуля zigbee 1.0.12), после этого данные перестали приходить. Есть решение указанной проблемы?
А не локально приходят?
Причин может быть много - ip шлюза поменялся, протокол изменили, устройства от шлюза отвязались. Иногда помогает включить debug в настройках и посмотреть, что именно модуль пишет в лог
Не локально приходят, debug включал опрос идёт, а данных нет. Я думаю протокол изменили. Не подскажите куда смотреть чтобы выявить изменения в протоколе? Может трафик поснифить?
Re: [Модуль] Tuya
Добавлено: Ср июн 15, 2022 4:46 pm
fandaymon
grifindorec писал(а): Вт июн 14, 2022 6:58 pm
Добрый день.
Датчик движения. Выставлено "управлять" и "статус" через облако. В настройках модуля все способы обновления - 1 секунда. В приложении, когда датчик отрабатывает, статус меняется сразу. В модуле через 3-5 секунд. Почему так может быть? Что-то в цикле?
Потому что приложение работает через MQTT, а не запрашивает статус время от времени. Так работает IOT облако - статус поменялся, устройство отправило изменение в MQTT, MQTT клиент получил информацию об изменении - поменял статус, время реакции 1-2 секунды
Ставить интервал опроса облака в 1 секунды - бессмысленно, в зависимости от мощности сервера 3-5 секунд это самый минимум + забанить могут за слишком частое обращение
Локальный опрос - минимально 2-3 секунды, цикл опрашивает устройства последовательно, если их какое-то количество, то цикл просто не успеет за секунды все опросить. Плюс специфика устройств туи - они поддерживают только одно соединение, поэтому сразу после изменения статуса до устройства не достучаться - оно занято отправкой своего статуса в облако
Re: [Модуль] Tuya
Добавлено: Ср июн 15, 2022 4:52 pm
fandaymon
kolizeyalex писал(а): Ср июн 15, 2022 11:44 am
fandaymon писал(а): Вт июн 07, 2022 7:05 pm
kolizeyalex писал(а): Вс июн 05, 2022 9:26 pm
Есть проблема с локальным опросом zigbee датчиков, в общем все было хорошо пока zigbee шлюз moes проводной не обновился (сейчас версия основного модуля 1.17.0, модуля zigbee 1.0.12), после этого данные перестали приходить. Есть решение указанной проблемы?
А не локально приходят?
Причин может быть много - ip шлюза поменялся, протокол изменили, устройства от шлюза отвязались. Иногда помогает включить debug в настройках и посмотреть, что именно модуль пишет в лог
Не локально приходят, debug включал опрос идёт, а данных нет. Я думаю протокол изменили. Не подскажите куда смотреть чтобы выявить изменения в протоколе? Может трафик поснифить?
Поснифить трафик между шлюзом и телефоном конечно сильно бы помогло, зная локальный код шлюза можно расшифровать сообщение и увидеть в каком виде идут запросы на шлюз. Но! Если менялась версия tuya на телефоне, то не должны были эти запросы измениться...
Re: [Модуль] Tuya
Добавлено: Ср июн 15, 2022 11:37 pm
grifindorec
fandaymon писал(а): Ср июн 15, 2022 4:46 pm
grifindorec писал(а): Вт июн 14, 2022 6:58 pm
Добрый день.
Датчик движения. Выставлено "управлять" и "статус" через облако. В настройках модуля все способы обновления - 1 секунда. В приложении, когда датчик отрабатывает, статус меняется сразу. В модуле через 3-5 секунд. Почему так может быть? Что-то в цикле?
Потому что приложение работает через MQTT, а не запрашивает статус время от времени. Так работает IOT облако - статус поменялся, устройство отправило изменение в MQTT, MQTT клиент получил информацию об изменении - поменял статус, время реакции 1-2 секунды
Ставить интервал опроса облака в 1 секунды - бессмысленно, в зависимости от мощности сервера 3-5 секунд это самый минимум + забанить могут за слишком частое обращение
Локальный опрос - минимально 2-3 секунды, цикл опрашивает устройства последовательно, если их какое-то количество, то цикл просто не успеет за секунды все опросить. Плюс специфика устройств туи - они поддерживают только одно соединение, поэтому сразу после изменения статуса до устройства не достучаться - оно занято отправкой своего статуса в облако
Т.е. получается это чисто специфика туи, потому что с ксяоми такой проблемы нет, все обрабатывается мигом. Очень жаль, датчики движения Туи стоят в два раза дешевле.
Re: [Модуль] Tuya
Добавлено: Чт июн 16, 2022 12:34 pm
fandaymon
grifindorec писал(а): Ср июн 15, 2022 11:37 pm
fandaymon писал(а): Ср июн 15, 2022 4:46 pm
grifindorec писал(а): Вт июн 14, 2022 6:58 pm
Добрый день.
Датчик движения. Выставлено "управлять" и "статус" через облако. В настройках модуля все способы обновления - 1 секунда. В приложении, когда датчик отрабатывает, статус меняется сразу. В модуле через 3-5 секунд. Почему так может быть? Что-то в цикле?
Потому что приложение работает через MQTT, а не запрашивает статус время от времени. Так работает IOT облако - статус поменялся, устройство отправило изменение в MQTT, MQTT клиент получил информацию об изменении - поменял статус, время реакции 1-2 секунды
Ставить интервал опроса облака в 1 секунды - бессмысленно, в зависимости от мощности сервера 3-5 секунд это самый минимум + забанить могут за слишком частое обращение
Локальный опрос - минимально 2-3 секунды, цикл опрашивает устройства последовательно, если их какое-то количество, то цикл просто не успеет за секунды все опросить. Плюс специфика устройств туи - они поддерживают только одно соединение, поэтому сразу после изменения статуса до устройства не достучаться - оно занято отправкой своего статуса в облако
Т.е. получается это чисто специфика туи, потому что с ксяоми такой проблемы нет, все обрабатывается мигом. Очень жаль, датчики движения Туи стоят в два раза дешевле.
Подключи IOT или локальный статус - будет плюс-минус как ксяоми
Re: [Модуль] Tuya
Добавлено: Чт июн 16, 2022 7:42 pm
grifindorec
fandaymon писал(а): Чт июн 16, 2022 12:34 pm
grifindorec писал(а): Ср июн 15, 2022 11:37 pm
fandaymon писал(а): Ср июн 15, 2022 4:46 pm
grifindorec писал(а): Вт июн 14, 2022 6:58 pm
Добрый день.
Датчик движения. Выставлено "управлять" и "статус" через облако. В настройках модуля все способы обновления - 1 секунда. В приложении, когда датчик отрабатывает, статус меняется сразу. В модуле через 3-5 секунд. Почему так может быть? Что-то в цикле?
Потому что приложение работает через MQTT, а не запрашивает статус время от времени. Так работает IOT облако - статус поменялся, устройство отправило изменение в MQTT, MQTT клиент получил информацию об изменении - поменял статус, время реакции 1-2 секунды
Ставить интервал опроса облака в 1 секунды - бессмысленно, в зависимости от мощности сервера 3-5 секунд это самый минимум + забанить могут за слишком частое обращение
Локальный опрос - минимально 2-3 секунды, цикл опрашивает устройства последовательно, если их какое-то количество, то цикл просто не успеет за секунды все опросить. Плюс специфика устройств туи - они поддерживают только одно соединение, поэтому сразу после изменения статуса до устройства не достучаться - оно занято отправкой своего статуса в облако
Т.е. получается это чисто специфика туи, потому что с ксяоми такой проблемы нет, все обрабатывается мигом. Очень жаль, датчики движения Туи стоят в два раза дешевле.
Подключи IOT или локальный статус - будет плюс-минус как ксяоми
К сожалению через локальный даже дольше. Обычно я именно им пользуюсь на всех устройствах, но вот с датчиком он почему-то хуже работает. Попробую IOT облако, посмотрим как оно в деле. Спасибо.
Re: [Модуль] Tuya
Добавлено: Чт июн 16, 2022 8:37 pm
Aleksandr_A
Помогите, пожалуйста, не понимаю что не так. Пытаюсь запустить сценарий из скриптов (через сам модуль сценарий работает):
Код: Выделить всё
include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$tuya_module->TuyaScene('vnxhgeUmbF1AM0Y3');
Получаю такую ошибку:
Код: Выделить всё
Details
http://_/objects/?script=AC%20test
Uncaught Error: Call to undefined method tuya::TuyaScene() in /var/www/html/modules/scripts/scripts.class.php(164) : eval()'d code:3 Stack trace: #0 /var/www/html/modules/scripts/scripts.class.php(164): eval() #1 /var/www/html/lib/common.class.php(426): scripts->runScript('AC test', Array) #2 /var/www/html/objects/index.php(183): runScript('AC test', Array) #3 {main} thrown
Код: Выделить всё
Backtrace
#0 /var/www/html/lib/errors.class.php(118): custom_error->__construct('Uncaught Error:...')
#1 [internal function]: phpShutDownFunction()
#2 {main}
Я так понимаю такой функции нет в модуле, а как тогда запускать сцены из скриптов?
Через url типа ?
Код: Выделить всё
http://192.168.1.34/ajax/tuya.html?op=run_scene&dev_id=vnxhgeUmbF1AM0Y3
Re: [Модуль] Tuya
Добавлено: Чт июн 16, 2022 10:45 pm
grifindorec
fandaymon писал(а): Чт июн 16, 2022 12:34 pm
grifindorec писал(а): Ср июн 15, 2022 11:37 pm
fandaymon писал(а): Ср июн 15, 2022 4:46 pm
grifindorec писал(а): Вт июн 14, 2022 6:58 pm
Добрый день.
Датчик движения. Выставлено "управлять" и "статус" через облако. В настройках модуля все способы обновления - 1 секунда. В приложении, когда датчик отрабатывает, статус меняется сразу. В модуле через 3-5 секунд. Почему так может быть? Что-то в цикле?
Потому что приложение работает через MQTT, а не запрашивает статус время от времени. Так работает IOT облако - статус поменялся, устройство отправило изменение в MQTT, MQTT клиент получил информацию об изменении - поменял статус, время реакции 1-2 секунды
Ставить интервал опроса облака в 1 секунды - бессмысленно, в зависимости от мощности сервера 3-5 секунд это самый минимум + забанить могут за слишком частое обращение
Локальный опрос - минимально 2-3 секунды, цикл опрашивает устройства последовательно, если их какое-то количество, то цикл просто не успеет за секунды все опросить. Плюс специфика устройств туи - они поддерживают только одно соединение, поэтому сразу после изменения статуса до устройства не достучаться - оно занято отправкой своего статуса в облако
Т.е. получается это чисто специфика туи, потому что с ксяоми такой проблемы нет, все обрабатывается мигом. Очень жаль, датчики движения Туи стоят в два раза дешевле.
Подключи IOT или локальный статус - будет плюс-минус как ксяоми
Добавил IOT, связал аккаунты, устройства заехали, в ИОТ в дебаге устройства видно, что данные с датчика поступают. Но если в модуле убрать галочку с "использовать оригинальное облако", данные датчика в модуле не обновляются. Перевел несколько других устройств с локально на облако - работает и статусы обновляет. В общем с этими датчиком какая-то магия.
Re: [Модуль] Tuya
Добавлено: Пт июн 17, 2022 4:36 pm
fandaymon
Aleksandr_A писал(а): Чт июн 16, 2022 8:37 pm
Помогите, пожалуйста, не понимаю что не так. Пытаюсь запустить сценарий из скриптов (через сам модуль сценарий работает):
Код: Выделить всё
include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$tuya_module->TuyaScene('vnxhgeUmbF1AM0Y3');
Получаю такую ошибку:
Код: Выделить всё
Details
http://_/objects/?script=AC%20test
Uncaught Error: Call to undefined method tuya::TuyaScene() in /var/www/html/modules/scripts/scripts.class.php(164) : eval()'d code:3 Stack trace: #0 /var/www/html/modules/scripts/scripts.class.php(164): eval() #1 /var/www/html/lib/common.class.php(426): scripts->runScript('AC test', Array) #2 /var/www/html/objects/index.php(183): runScript('AC test', Array) #3 {main} thrown
Код: Выделить всё
Backtrace
#0 /var/www/html/lib/errors.class.php(118): custom_error->__construct('Uncaught Error:...')
#1 [internal function]: phpShutDownFunction()
#2 {main}
Я так понимаю такой функции нет в модуле, а как тогда запускать сцены из скриптов?
Через url типа ?
Код: Выделить всё
http://192.168.1.34/ajax/tuya.html?op=run_scene&dev_id=vnxhgeUmbF1AM0Y3
Запускать надо просто
Такого рода функции находятся отдельно в файле tuyaFunctions.php в директории lib, чтобы их можно было вызывать одной строчкой
Re: [Модуль] Tuya
Добавлено: Пт июн 17, 2022 4:42 pm
fandaymon
grifindorec писал(а): Чт июн 16, 2022 10:45 pm
Добавил IOT, связал аккаунты, устройства заехали, в ИОТ в дебаге устройства видно, что данные с датчика поступают. Но если в модуле убрать галочку с "использовать оригинальное облако", данные датчика в модуле не обновляются. Перевел несколько других устройств с локально на облако - работает и статусы обновляет. В общем с этими датчиком какая-то магия.
Галочку в настройках не надо убирать, так как вся информация об устройствах (локальный ключ, dev id и т.д.) берётся из облака. Надо зайти в само устройство и поставить там Статус Через MQTT

- tuya_mqtt.jpg (72.53 КБ) 2617 просмотров