Страница 126 из 132

Re: [Модуль] Tuya

Добавлено: Сб апр 27, 2024 3:32 pm
mikekom
fandaymon писал(а): Вт апр 16, 2024 3:38 pm
Почитать про настройки в первом сообщении темы. Для устройств, которые сразу не отдают статус, надо посылать перед чтением специальный пакет-запрос
Доброе время суток. Специальный пакет-запрос должен содержать предопределенный набор метрик для каждого устройства или, допустим, если нужен только статус устройства должен запрашиваться только статус {"dpId":[20]}? Просто у меня есть 5 лампочек hiper различных моделей, подключил их через модуль. 4 никак не хотят отдавать статус по локальной сети. Все прекрасно управляется и изменяется статус через облако. По локалке, при сканировании, находится и управляется только 1 лампа из пяти. Когда пробую добавить пакет запрос, в логах:
15:25:28 0.91058600 (2024-04-27.log) 12 answer:
15:25:27 0.90900400 (2024-04-27.log) Error sending 12. 24-04-27 03:25:27 sended 40 from 104, ip192.168.90.76
15:25:27 0.59966000 (2024-04-27.log) 15:25:27 Tuya: Get Local Status IoT A61 RGB 2
когда без пакета:
15:22:45 0.46267100 15:22:45 Tuya: Status=
15:22:43 0.14529900 15:22:43 Tuya: Get Local Status IoT A61 RGB 2
та лампа которая подключилась отдает
15:27:27 0.81728800 (2024-04-27.log) 15:27:27 Tuya: Status={"dps":{"20":false,"21":"scene","22":1000,"23":971,"24":"000003e803e8","25":"020e0d0000000000000003e803e8","26":0}}
15:27:27 0.45603400 (2024-04-27.log) 15:27:27 Tuya: Get Local Status IoT A60 RGB
На dhcp-сервере все адрес получают, все IP-адреса в настройки добавил. Версии менять пробовал, настройки делал по первой странице. Данные с iot.tuya.com подтягиваются сразу. В настройках включены опции "использовать оригинальное облако" и "debug". Для меня было бы удобнее настроить локальное управление. Буду благодарен, если подскажете куда смотреть.

Re: [Модуль] Tuya

Добавлено: Вс апр 28, 2024 12:04 pm
fandaymon
mikekom писал(а): Сб апр 27, 2024 3:32 pm
fandaymon писал(а): Вт апр 16, 2024 3:38 pm
Почитать про настройки в первом сообщении темы. Для устройств, которые сразу не отдают статус, надо посылать перед чтением специальный пакет-запрос
Доброе время суток. Специальный пакет-запрос должен содержать предопределенный набор метрик для каждого устройства или, допустим, если нужен только статус устройства должен запрашиваться только статус {"dpId":[20]}? Просто у меня есть 5 лампочек hiper различных моделей, подключил их через модуль. 4 никак не хотят отдавать статус по локальной сети. Все прекрасно управляется и изменяется статус через облако. По локалке, при сканировании, находится и управляется только 1 лампа из пяти. Когда пробую добавить пакет запрос, в логах:
15:25:28 0.91058600 (2024-04-27.log) 12 answer:
15:25:27 0.90900400 (2024-04-27.log) Error sending 12. 24-04-27 03:25:27 sended 40 from 104, ip192.168.90.76
15:25:27 0.59966000 (2024-04-27.log) 15:25:27 Tuya: Get Local Status IoT A61 RGB 2
когда без пакета:
15:22:45 0.46267100 15:22:45 Tuya: Status=
15:22:43 0.14529900 15:22:43 Tuya: Get Local Status IoT A61 RGB 2
та лампа которая подключилась отдает
15:27:27 0.81728800 (2024-04-27.log) 15:27:27 Tuya: Status={"dps":{"20":false,"21":"scene","22":1000,"23":971,"24":"000003e803e8","25":"020e0d0000000000000003e803e8","26":0}}
15:27:27 0.45603400 (2024-04-27.log) 15:27:27 Tuya: Get Local Status IoT A60 RGB
На dhcp-сервере все адрес получают, все IP-адреса в настройки добавил. Версии менять пробовал, настройки делал по первой странице. Данные с iot.tuya.com подтягиваются сразу. В настройках включены опции "использовать оригинальное облако" и "debug". Для меня было бы удобнее настроить локальное управление. Буду благодарен, если подскажете куда смотреть.
Если скан лампочку не находит, то скорее всего её нет в сети, доступной МДМ. Скан это чтение широковещательных пакетов, которое каждое устройство Туя периодически отправляет в сеть. Если такого пакета в сети нету, то и управлять локально не получится

Re: [Модуль] Tuya

Добавлено: Ср июн 12, 2024 1:18 am
defender52
Добрый день.
Приобрел wifi модули управления жалюзи/шторами Girier.
Честно говоря, по ошибке, до этого брал такие же, но Zigbee, через zigbee2mqtt.
Поневоле занялся проблемой их интеграции в МД, но столклулся с проблемой отсутствия органов управления.
Собственно, эти модули имеют возможность управления степенью открытия жалюзи (в процентах).
Вот скрин с примером зигбишного модуля (желтым выделен управляющий параметр):
SPOILERSPOILER_SHOW
зигби.png
зигби.png (58.44 КБ) 6910 просмотров
А вот пример с Туйя Смартхоум (как можно видеть, практически все передаваемые модулем метрики на месте, но безимянные):
SPOILERSPOILER_SHOW
туйя.png
туйя.png (92.24 КБ) 6910 просмотров
Через Tuya IOT Platform нужный мне параметр вижу и могу им управлять:
SPOILERSPOILER_SHOW
iot.jpg
iot.jpg (58.77 КБ) 6910 просмотров
Через моб. приложение Смартлайф также все работает.

Настройки модуля МД (МД на малине, php-bcmath стоит):
SPOILERSPOILER_SHOW
модуль.png
модуль.png (38.32 КБ) 6910 просмотров
Настройки модуля жалюзи:
SPOILERSPOILER_SHOW
жалюзи.png
жалюзи.png (31.45 КБ) 6910 просмотров
Помогите найти и пофиксить проблему, пожалуйста.

Re: [Модуль] Tuya

Добавлено: Чт июн 13, 2024 9:41 am
defender52
Доброе утро.
Экспериментальным путем выяснил, что метрика 2 используется также и для управления, но любое переданное в нее значение приводит к закрытию жалюзи. Возможно, воспримимается и передается как "0".
Есть идеи, что нужно сделать, чтобы превратить это в цифру от 0 до 100?

Re: [Модуль] Tuya

Добавлено: Чт июн 13, 2024 1:57 pm
xor
defender52 писал(а): Чт июн 13, 2024 9:41 am Доброе утро.
Экспериментальным путем выяснил, что метрика 2 используется также и для управления, но любое переданное в нее значение приводит к закрытию жалюзи. Возможно, воспримимается и передается как "0".
Есть идеи, что нужно сделать, чтобы превратить это в цифру от 0 до 100?
привязано к ПУ какому-нибудь? если да, попробуйте просто к тестовому объекту/свойству без любой накрученной логики привязать и попробовать поуправлять

Re: [Модуль] Tuya

Добавлено: Чт июн 13, 2024 4:21 pm
defender52
xor писал(а): Чт июн 13, 2024 1:57 pm
defender52 писал(а): Чт июн 13, 2024 9:41 am Доброе утро.
Экспериментальным путем выяснил, что метрика 2 используется также и для управления, но любое переданное в нее значение приводит к закрытию жалюзи. Возможно, воспримимается и передается как "0".
Есть идеи, что нужно сделать, чтобы превратить это в цифру от 0 до 100?
привязано к ПУ какому-нибудь? если да, попробуйте просто к тестовому объекту/свойству без любой накрученной логики привязать и попробовать поуправлять
В том-то и дело, что нет.
Привязано к тестовому объекту, без какой-либо логики.
Похоже, это логика модуля Туйи что-то от себя добавляет.
Вопрос, как это проверить.

Re: [Модуль] Tuya

Добавлено: Пт июн 14, 2024 1:30 am
defender52
Отвечу сам себе, вдруг кому-то еще пригодится.
Как и подозревал, проблема крылась в типе данных, передаваемых в качестве команды, а также в имени метрики.
Возможно, где-то есть документация к модулю, которую я не нашел из-за своей лени, однако помогло следующее:
Так как нужная мне метрика имеет имя "2", и, как выяснилось, контроллер жалюзи ожидает строку, пришлось подшаманить tuya.class.php след. образом (добавил условие, выделенное красным):
SPOILERSPOILER_SHOW
php.png
php.png (24.56 КБ) 6610 просмотров
Уверен, это не самый элегантный способ, и при обновлении МД модуля это перетрется, поэтому вопрошаю автора и сообщество, нет ли уже заявленной возможности делать инклюды такого рода, не подлежащие уничтожению, или еще каким-либо способом обойти проблему.
Спасибо заранее.

Re: [Модуль] Tuya

Добавлено: Сб июн 15, 2024 3:15 pm
xor
а у вас модуль не спамит в ворнинги?

14:43:18 0.11722200 commandline: ./scripts/cycle_tuya.php --params a:0:{}
PHP error level 2 in C:\_majordomo\htdocs\modules\objects\objects.class.php (line 839): mb_strlen() expects parameter 1 to be string, array given
14:43:18 0.19059500 commandline: ./scripts/cycle_tuya.php --params a:0:{}
PHP error level 2 in C:\_majordomo\htdocs\modules\objects\objects.class.php (line 839): mb_strlen() expects parameter 1 to be string, array given
14:43:18 0.27317600 commandline: ./scripts/cycle_tuya.php --params a:0:{}
PHP error level 2 in C:\_majordomo\htdocs\modules\objects\objects.class.php (line 839): mb_strlen() expects parameter 1 to be string, array given

из-за стр 2069 в классе

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

         setGlobal($cmd_rec['LINKED_OBJECT'] . '.' . $cmd_rec['LINKED_PROPERTY'], $value, 0, array($this->name => '0'));
array($this->name => '0') не стоит заменить на просто $this->name ?
определение функции

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

function setGlobal($varname, $value, $no_linked = 0, $source = '')
, соурс - ожидается строка.
А тут соурс попадает далее массивом в функцию setProperty, где над ним пытаются сделать

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

if (mb_strlen($source) > 250) { ...
и ворнинг возникает

Re: [Модуль] Tuya

Добавлено: Пн июн 17, 2024 10:33 am
fandaymon
defender52 писал(а): Ср июн 12, 2024 1:18 am Добрый день.
Приобрел wifi модули управления жалюзи/шторами Girier.
Честно говоря, по ошибке, до этого брал такие же, но Zigbee, через zigbee2mqtt.
Поневоле занялся проблемой их интеграции в МД, но столклулся с проблемой отсутствия органов управления.
Собственно, эти модули имеют возможность управления степенью открытия жалюзи (в процентах).
Вот скрин с примером зигбишного модуля (желтым выделен управляющий параметр):
SPOILERSPOILER_SHOW
зигби.png
А вот пример с Туйя Смартхоум (как можно видеть, практически все передаваемые модулем метрики на месте, но безимянные):
SPOILERSPOILER_SHOW
туйя.png
Через Tuya IOT Platform нужный мне параметр вижу и могу им управлять:
SPOILERSPOILER_SHOW
iot.jpg
Через моб. приложение Смартлайф также все работает.

Настройки модуля МД (МД на малине, php-bcmath стоит):
SPOILERSPOILER_SHOW
модуль.png
Настройки модуля жалюзи:
SPOILERSPOILER_SHOW
жалюзи.png
Помогите найти и пофиксить проблему, пожалуйста.
У вас свойства метрик не подтянулись. Модуль в облаке смотрит тип значений. Нету типа - нету правильной обработки значений. Свойства подтягиваются раз в 5 минут, так как это довольно долгий процесс. При некоторых условиях они могли и не подтянуться. Вроде бы в последнем обновлении я это исправил

Re: [Модуль] Tuya

Добавлено: Пн июн 17, 2024 10:34 am
fandaymon
xor писал(а): Сб июн 15, 2024 3:15 pm а у вас модуль не спамит в ворнинги?

14:43:18 0.11722200 commandline: ./scripts/cycle_tuya.php --params a:0:{}
PHP error level 2 in C:\_majordomo\htdocs\modules\objects\objects.class.php (line 839): mb_strlen() expects parameter 1 to be string, array given
14:43:18 0.19059500 commandline: ./scripts/cycle_tuya.php --params a:0:{}
PHP error level 2 in C:\_majordomo\htdocs\modules\objects\objects.class.php (line 839): mb_strlen() expects parameter 1 to be string, array given
14:43:18 0.27317600 commandline: ./scripts/cycle_tuya.php --params a:0:{}
PHP error level 2 in C:\_majordomo\htdocs\modules\objects\objects.class.php (line 839): mb_strlen() expects parameter 1 to be string, array given

из-за стр 2069 в классе

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

         setGlobal($cmd_rec['LINKED_OBJECT'] . '.' . $cmd_rec['LINKED_PROPERTY'], $value, 0, array($this->name => '0'));
array($this->name => '0') не стоит заменить на просто $this->name ?
определение функции

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

function setGlobal($varname, $value, $no_linked = 0, $source = '')
, соурс - ожидается строка.
А тут соурс попадает далее массивом в функцию setProperty, где над ним пытаются сделать

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

if (mb_strlen($source) > 250) { ...
и ворнинг возникает
Страницу назад обсуждали этот вопрос. :) Сдаюсь - поправил на просто строку