[Модуль] Tuya

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Pamfletik
Сообщения: 18
Зарегистрирован: Вт апр 10, 2018 1:17 pm
Благодарил (а): 6 раз
Поблагодарили: 0

Re: [Модуль] Tuya

Сообщение Pamfletik » Ср сен 09, 2020 11:24 pm

Приветствую. Подключил такие розетки https://aliexpress.ru/item/4001285871779.html со счетчиком энергии.
Добыл Local Key: Указал в настройках. Управлять через облако: Нет Статус только локально: Нет. Обновление 30.
Из MD управляется практически моментально. Но данные от розеток не приходят. И если переключить в облаке в MD статус приходит через 2-4 мин. Точнее пришли один раз данные, обратите внимаие на время обновления.
СпойлерПоказать
tuya.png
tuya.png (23.86 КБ) 579 просмотров
От другой розетки пришел только V.
MD работает на Raspberry pi. IP и Key 10 раз проверил, но и не управлялось бы и данные не пришли бы.
Обновил MD, обновил малинку, удалит tor (был запущен для телеграм бота), обновил модуль. Без изменений.
Подскажите, куда копать?
fandaymon
Сообщения: 1134
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 33 раза
Поблагодарили: 441 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Чт сен 10, 2020 1:16 am

Pamfletik писал(а):
Ср сен 09, 2020 11:24 pm
Приветствую. Подключил такие розетки https://aliexpress.ru/item/4001285871779.html со счетчиком энергии.
Добыл Local Key: Указал в настройках. Управлять через облако: Нет Статус только локально: Нет. Обновление 30.
Из MD управляется практически моментально. Но данные от розеток не приходят. И если переключить в облаке в MD статус приходит через 2-4 мин. Точнее пришли один раз данные, обратите внимаие на время обновления.
СпойлерПоказать
tuya.png
От другой розетки пришел только V.
MD работает на Raspberry pi. IP и Key 10 раз проверил, но и не управлялось бы и данные не пришли бы.
Обновил MD, обновил малинку, удалит tor (был запущен для телеграм бота), обновил модуль. Без изменений.
Подскажите, куда копать?
Попробовать поставить статус только локально - да и посмотреть - не поменялся ли локальный адрес у розетки
На выходных будут пытаться сделать экспериментальный релиз модуля, работающий с обычным облаком (чтобы подтянулись всякие термометры и прочие датчики), а после наверное буду доделывать локальный режим - с зигби датчиками он немного по-другому работает, возможно удастся его сделать более надёжным

Можно сделать сценарий

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

include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$dev_id='сюда dev id от розетки';
$dev_key='сюда локальный ключ';
$dev_ip='сюда локальный ip';
$status=$tuya_module ->TuyaLocalMsg('STATUS',$dev_id,$dev_key,$dev_ip);
var_dump($status);
и посмотреть - приходит ли что-то от розетки
За это сообщение автора fandaymon поблагодарил:
Pamfletik (Чт сен 10, 2020 11:01 pm)
Рейтинг: 1.23%
borsuk1983
Сообщения: 3
Зарегистрирован: Вт апр 14, 2020 9:41 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Tuya

Сообщение borsuk1983 » Чт сен 10, 2020 8:45 pm

Sawwa писал(а):
Вт авг 11, 2020 9:01 am
Коллеги, приветствую!
Кому-нибудь удалось подключить датчик открытия дверей/окон?

Видел сообщение что обмен с такими датчиками идет через MQTT
Протокол не удалось расшифровать?

У меня в модуль этот датчик никак не желает подключаться, все перепробовал, и пакеты перехватывал, ID доставал, но все пока впустую..
Тоже выбирал между датчиком Xiaomi и датчиком протечки DIGMA DiSense W1, выбрал Digma и обломался к мажердому ни как не подключить .
fandaymon
Сообщения: 1134
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 33 раза
Поблагодарили: 441 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Чт сен 10, 2020 9:23 pm

borsuk1983 писал(а):
Чт сен 10, 2020 8:45 pm
Sawwa писал(а):
Вт авг 11, 2020 9:01 am
Коллеги, приветствую!
Кому-нибудь удалось подключить датчик открытия дверей/окон?

Видел сообщение что обмен с такими датчиками идет через MQTT
Протокол не удалось расшифровать?

У меня в модуль этот датчик никак не желает подключаться, все перепробовал, и пакеты перехватывал, ID доставал, но все пока впустую..
Тоже выбирал между датчиком Xiaomi и датчиком протечки DIGMA DiSense W1, выбрал Digma и обломался к мажердому ни как не подключить .
Этот датчик тоже к туе подключается?
Pamfletik
Сообщения: 18
Зарегистрирован: Вт апр 10, 2018 1:17 pm
Благодарил (а): 6 раз
Поблагодарили: 0

Re: [Модуль] Tuya

Сообщение Pamfletik » Чт сен 10, 2020 10:49 pm


fandaymon писал(а):
Pamfletik писал(а):
Ср сен 09, 2020 11:24 pm
Приветствую. Подключил такие розетки https://aliexpress.ru/item/4001285871779.html со счетчиком энергии.
Добыл Local Key: Указал в настройках. Управлять через облако: Нет Статус только локально: Нет. Обновление 30.
Из MD управляется практически моментально. Но данные от розеток не приходят. И если переключить в облаке в MD статус приходит через 2-4 мин. Точнее пришли один раз данные, обратите внимаие на время обновления.
СпойлерПоказать
tuya.png
От другой розетки пришел только V.
MD работает на Raspberry pi. IP и Key 10 раз проверил, но и не управлялось бы и данные не пришли бы.
Обновил MD, обновил малинку, удалит tor (был запущен для телеграм бота), обновил модуль. Без изменений.
Подскажите, куда копать?
Попробовать поставить статус только локально - да и посмотреть - не поменялся ли локальный адрес у розетки
На выходных будут пытаться сделать экспериментальный релиз модуля, работающий с обычным облаком (чтобы подтянулись всякие термометры и прочие датчики), а после наверное буду доделывать локальный режим - с зигби датчиками он немного по-другому работает, возможно удастся его сделать более надёжным

Можно сделать сценарий

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

include_once(DIR_MODULES . 'tuya/tuya.class.php');
$tuya_module = new tuya();
$dev_id='сюда dev id от розетки';
$dev_key='сюда локальный ключ';
$dev_ip='сюда локальный ip';
$status=$tuya_module ->TuyaLocalMsg('STATUS',$dev_id,$dev_key,$dev_ip);
var_dump($status);
и посмотреть - приходит ли что-то от розетки
Вот что выдало:
string(21) "json obj data unvalid"

Отправлено с моего Mi MIX 2 через Tapatalk

borsuk1983
Сообщения: 3
Зарегистрирован: Вт апр 14, 2020 9:41 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: [Модуль] Tuya

Сообщение borsuk1983 » Пт сен 11, 2020 11:06 am

fandaymon писал(а):
Чт сен 10, 2020 9:23 pm
borsuk1983 писал(а):
Чт сен 10, 2020 8:45 pm
Sawwa писал(а):
Вт авг 11, 2020 9:01 am
Коллеги, приветствую!
Кому-нибудь удалось подключить датчик открытия дверей/окон?

Видел сообщение что обмен с такими датчиками идет через MQTT
Протокол не удалось расшифровать?

У меня в модуль этот датчик никак не желает подключаться, все перепробовал, и пакеты перехватывал, ID доставал, но все пока впустую..
Тоже выбирал между датчиком Xiaomi и датчиком протечки DIGMA DiSense W1, выбрал Digma и обломался к мажердому ни как не подключить .
Этот датчик тоже к туе подключается?
Я к Туя подключил.
fandaymon
Сообщения: 1134
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 33 раза
Поблагодарили: 441 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Сб сен 12, 2020 6:07 pm

Наконец-то оно произошло! Удалось подключится не к тому облаку, который предлагается для хоум ассистанта, а к обычному облаку. Подтянулись датчики температуры, название метрик, единицы измерения, коэффициенты на которые надо умножать величины. Т.е. теперь доступна вся информация, доступная телефону!!!
Tuya_Web.jpg
Tuya_Web.jpg (94.92 КБ) 472 просмотра
Единственный минус, но довольно существенный - нужен 3 питон, чтобы получить SID. Для того чтобы подключится к облаку используется публичный ключ, а чтобы им зашифровать - функция POW. Размера целого числа в PHP не хватает для реализации POW... Владельцам малинок беспокоится не о чем - там питон стоит изначально, владельцам же системы на виндовс придётся проделать лишние телодвижения... Можно реализовать эту функцию, используя PHP модуль BC Math, но его опять же надо ставить отдельно

Зато плюсы - подтягиваются локальные ключи без всех этих лишних манипуляция с прокси. Появляется возможность смотреть графики потребления - за всё время, месяц, день. Подтянулись датчики температуры и другие датчики. Подтянулись пульты ДУ (с управлением надо будет разбираться, но по крайней мере они появились в модуле)
За это сообщение автора fandaymon поблагодарили (всего 2):
nickneo (Вс сен 13, 2020 4:08 pm) • skysilver (Вс сен 13, 2020 10:04 pm)
Рейтинг: 2.47%
fandaymon
Сообщения: 1134
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 33 раза
Поблагодарили: 441 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Вс сен 13, 2020 5:22 pm

Изменения добавлены в модуль.
Для использования рабоыт с облаком надо поставить флажок
Tuya_Settings.jpg
Tuya_Settings.jpg (62.7 КБ) 432 просмотра
За это сообщение автора fandaymon поблагодарил:
Sawwa (Чт окт 01, 2020 10:23 am)
Рейтинг: 1.23%
Аватара пользователя
nickneo
Сообщения: 39
Зарегистрирован: Чт дек 07, 2017 2:36 pm
Благодарил (а): 26 раз
Поблагодарили: 4 раза

Re: [Модуль] Tuya

Сообщение nickneo » Пн сен 14, 2020 10:48 am

fandaymon писал(а):
Вс сен 13, 2020 5:22 pm
Изменения добавлены в модуль.
Для использования рабоыт с облаком надо поставить флажок
а в WEB Tuya SID что вбивать надо? и где его взять?

и WEB Tuya Endpoint почемуто не полный url а /api.json если вбиваю ручкам и нажимаю обновить опять заменяется, так и должно быть?
tuya.PNG
tuya.PNG (10.76 КБ) 382 просмотра
fandaymon
Сообщения: 1134
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 33 раза
Поблагодарили: 441 раз

Re: [Модуль] Tuya

Сообщение fandaymon » Пн сен 14, 2020 12:18 pm

nickneo писал(а):
Пн сен 14, 2020 10:48 am
fandaymon писал(а):
Вс сен 13, 2020 5:22 pm
Изменения добавлены в модуль.
Для использования рабоыт с облаком надо поставить флажок
а в WEB Tuya SID что вбивать надо? и где его взять?

и WEB Tuya Endpoint почемуто не полный url а /api.json если вбиваю ручкам и нажимаю обновить опять заменяется, так и должно быть?
tuya.PNG
Цитирую readme
13.09.2020 Добавлена работа с оригинальным облаком - спасибо авторам с https://github.com/TuyaAPI/cloud Работа с облаком идёт с использованием SIDа. Для его получения используется скрипт на 3 питоне (есть в составе модуля). Альтернативный вариант - поставить по ссылке модуль на NodeJS и получить его вручную Работа с локальным облаком позволяет подтянуть оттуда локальные ключи - отпадает необходимость в использовании прокси для мобильных телефонов. Так же в модуль подтягиваются из облака разные датчики, которых не было в облаке для home assistant
Добавил ещё одну альтернативу - использование extension для PHP BCMath. Если оно установлен в системе, то будет использоваться именно оно

Логика работы модуля сейчас такая - если поставлена галочка Использовать оригинальное облако, то после сохранения настроек модуль проверяет внесён ли SID в настройках. Если его нету, то идёт подключение к облако используя пользователя и пароль из настроек. Если подключение произошло удачно, то сохраняется SID и в поле ENDPOINT вписывается URL для подключения к облаку. Если же подключение было неудачным, то SID останется незаполненным, а в ENDPOINT запишется /api.json
После удачного подключение идёт запрос всех устройств привязанных к учётке и добавление их в модуле
Ответить