[Модуль] Tuya

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

Модератор: immortal

fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Пн янв 17, 2022 9:17 pm

Djeday999 писал(а):
Пн янв 17, 2022 8:19 pm
fandaymon писал(а):
Сб янв 15, 2022 7:23 am
Да, абсолютно точно - это формат B

'016603e803e8' конвертируется в 255, 0, 8 т.е. в почти красный цвет
Вечер просидел. Нигде не смог найти конвертер в RGB.

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

$HSV='016603e803e8';
$H=hexdec(substr($HSV,0,4));
$S=hexdec(substr($HSV,4,4));
$V=hexdec(substr($HSV,8,4));

//$H = $H/360;
//$S = $S/1000;
//$V = $V/1000;
$S = $S/10;
$V = $V/10;
echo '<BR>-------<BR>';
echo 'H: ';
echo $H;
echo '<BR>-------<BR>';
echo $S; 
echo '<BR>-------<BR>';
echo $V;
echo '<BR>-------<BR>';
var_dump(hsv2rgb($H, $S, $V));


  function hsv2rgb($hue,$sat,$val) {;
    $rgb = array(0,0,0);
    //calc rgb for 100% SV, go +1 for BR-range
    for($i=0;$i<4;$i++) {
      if (abs($hue - $i*120)<120) {
        $distance = max(60,abs($hue - $i*120));
        $rgb[$i % 3] = 1 - (($distance-60) / 60);
      }
    }
    //desaturate by increasing lower levels
    $max = max($rgb);
    $factor = 255 * ($val/100);
    for($i=0;$i<3;$i++) {
      //use distance between 0 and max (1) and multiply with value
      $rgb[$i] = round(($rgb[$i] + ($max - $rgb[$i]) * (1 - $sat/100)) * $factor);
    }
    $rgb['html'] = sprintf('#%02X%02X%02X', $rgb[0], $rgb[1], $rgb[2]);
    return $rgb;
  }
За это сообщение автора fandaymon поблагодарил:
Djeday999 (Сб янв 22, 2022 6:20 pm)
Рейтинг: 1.16%
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: [Модуль] Tuya

Сообщение Logrus » Пн янв 17, 2022 10:36 pm

За это сообщение автора Logrus поблагодарил:
Djeday999 (Сб янв 22, 2022 6:21 pm)
Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: [Модуль] Tuya

Сообщение amelnyk » Вт янв 18, 2022 5:28 pm

fandaymon писал(а):
Вт янв 04, 2022 9:16 pm
amelnyk писал(а):
Вт янв 04, 2022 7:55 pm
подскажите, замок норм интегрируется в мд? чтоб открыть/закрыть. такой вот:
https://a.aliexpress.com/_A8dRfa
Gimdow door lock
Чтобы открыть/закрыт удаленно - теоретически наверное возможно, но надо разбираться имея такой замок на руках, у меня замок wifi и такой возможности нету. Честно говоря не вижу, где это может быть востребовано. Для разового открытия есть временные пароли
приехал замок.
сам он блутусный, в аппке прицепил через гейтвей, соответсвенно работает теперь через вайфай.
в модуле подтянулся, но отображается, что в оффлайне. открыть/закрыть пока не получилось через модуль, прошу помочь.
Вложения
Screenshot_16.jpg
Screenshot_16.jpg (115.39 КБ) 1191 просмотр
Screenshot_15.jpg
Screenshot_15.jpg (62.12 КБ) 1191 просмотр
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Вт янв 18, 2022 6:13 pm

amelnyk писал(а):
Вт янв 18, 2022 5:28 pm
fandaymon писал(а):
Вт янв 04, 2022 9:16 pm
amelnyk писал(а):
Вт янв 04, 2022 7:55 pm
подскажите, замок норм интегрируется в мд? чтоб открыть/закрыть. такой вот:
https://a.aliexpress.com/_A8dRfa
Gimdow door lock
Чтобы открыть/закрыт удаленно - теоретически наверное возможно, но надо разбираться имея такой замок на руках, у меня замок wifi и такой возможности нету. Честно говоря не вижу, где это может быть востребовано. Для разового открытия есть временные пароли
приехал замок.
сам он блутусный, в аппке прицепил через гейтвей, соответсвенно работает теперь через вайфай.
в модуле подтянулся, но отображается, что в оффлайне. открыть/закрыть пока не получилось через модуль, прошу помочь.
Он и есть всё время в офлайне (ну почти), как и почти любое батарейное устройство.
Следующий шаг - пытаться сделать IOT проект, подключить замок в проект, если заработает - то при открывании будут приходить ивенты в модуль - далее можно будет настроить автоматизацию, вывести виджет замка на сцены

Что касается открыть через модуль - такой функциональности в модуле нету - но вроде в нём есть автозакрывание, судя по метрикам

Если же всё-таки открывать из модуля зачем-то нужно, то обязательно выполнить пункт с подключением IOT проекта (к проекту надо будет подключить API Locker), ну и дальше пытаться разобраться с API замка используя функцию модуля Tuya_IOT_POST

https://developer.tuya.com/en/docs/clou ... sgd4cgysr

Что-то типа - получить тикет, отправить запрос на открытие, используя тикет...
За это сообщение автора fandaymon поблагодарил:
amelnyk (Вт янв 18, 2022 6:56 pm)
Рейтинг: 1.16%
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: [Модуль] Tuya

Сообщение amelnyk » Вт янв 18, 2022 6:56 pm

мда, думал всё будет попроще) как выключатель локально вкл/выкл...
спасибо
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Вт янв 18, 2022 7:07 pm

amelnyk писал(а):
Вт янв 18, 2022 6:56 pm
мда, думал всё будет попроще) как выключатель локально вкл/выкл...
спасибо
Это не то устройство в котором возможно как в выключателе вкл/выкл. Всё-таки это элемент безопасности дома - всё по взрослому - тикеты, ключи, пароли, шифрование...
Аватара пользователя
Djeday999
Сообщения: 45
Зарегистрирован: Сб май 29, 2021 3:04 pm
Откуда: Екатеринбург
Благодарил (а): 6 раз
Поблагодарили: 9 раз

Re: [Модуль] Tuya

Сообщение Djeday999 » Сб янв 22, 2022 6:44 pm

fandaymon писал(а):
Пн янв 17, 2022 9:17 pm
Djeday999 писал(а):
Пн янв 17, 2022 8:19 pm
fandaymon писал(а):
Сб янв 15, 2022 7:23 am
Да, абсолютно точно - это формат B

'016603e803e8' конвертируется в 255, 0, 8 т.е. в почти красный цвет
Вечер просидел. Нигде не смог найти конвертер в RGB.

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

$HSV='016603e803e8';
$H=hexdec(substr($HSV,0,4));
$S=hexdec(substr($HSV,4,4));
$V=hexdec(substr($HSV,8,4));

//$H = $H/360;
//$S = $S/1000;
//$V = $V/1000;
$S = $S/10;
$V = $V/10;
echo '<BR>-------<BR>';
echo 'H: ';
echo $H;
echo '<BR>-------<BR>';
echo $S; 
echo '<BR>-------<BR>';
echo $V;
echo '<BR>-------<BR>';
var_dump(hsv2rgb($H, $S, $V));


  function hsv2rgb($hue,$sat,$val) {;
    $rgb = array(0,0,0);
    //calc rgb for 100% SV, go +1 for BR-range
    for($i=0;$i<4;$i++) {
      if (abs($hue - $i*120)<120) {
        $distance = max(60,abs($hue - $i*120));
        $rgb[$i % 3] = 1 - (($distance-60) / 60);
      }
    }
    //desaturate by increasing lower levels
    $max = max($rgb);
    $factor = 255 * ($val/100);
    for($i=0;$i<3;$i++) {
      //use distance between 0 and max (1) and multiply with value
      $rgb[$i] = round(($rgb[$i] + ($max - $rgb[$i]) * (1 - $sat/100)) * $factor);
    }
    $rgb['html'] = sprintf('#%02X%02X%02X', $rgb[0], $rgb[1], $rgb[2]);
    return $rgb;
  }
Спасибо за код. Работает! Не быстро разобрался как записывать в свойство, но вроде получилось запихнуть массив.
Последний раз редактировалось Djeday999 Вт янв 25, 2022 10:10 pm, всего редактировалось 2 раза.
Аватара пользователя
Djeday999
Сообщения: 45
Зарегистрирован: Сб май 29, 2021 3:04 pm
Откуда: Екатеринбург
Благодарил (а): 6 раз
Поблагодарили: 9 раз

Re: [Модуль] Tuya

Сообщение Djeday999 » Сб янв 22, 2022 7:05 pm

Помогите еще по такому вопросику. Подключил датчики движений и датчики открытия/закрытия дверей.
В датчик дверей прилетает в статус 0 - открыто и 1 - закрыто. После добавления в ПУ датчика "Открываемое (Ворота/Двери/Шторы/и т.п.)", где в данных нельзя поменять режим нормально закрытое или нормально открытое, как при добавлении датчиков открытия/закрытия сейчас при закрытых дверях отображается, что они открыты в ПУ. Пока в метод statusUpdated добавил код для изменения свойства статус с 0 на 1 и наоборот, но это колхоз получился и задержка. Может можно как-то по другому и не через шаблон поведения?
С датчиками движений практически тоже самое. Только там при отсутствии движения приходит в свойство статус none, а при движении pir. А ПУ я так понимаю откликаются на 0-движения нет и 1-движение обнаружено.
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Tuya

Сообщение fandaymon » Сб янв 22, 2022 9:20 pm

Djeday999 писал(а):
Сб янв 22, 2022 7:05 pm
Помогите еще по такому вопросику. Подключил датчики движений и датчики открытия/закрытия дверей.
В датчик дверей прилетает в статус 0 - открыто и 1 - закрыто. После добавления в ПУ датчика "Открываемое (Ворота/Двери/Шторы/и т.п.)", где в данных нельзя поменять режим нормально закрытое или нормально открытое, как при добавлении датчиков открытия/закрытия сейчас при закрытых дверях отображается, что они открыты в ПУ. Пока в метод statusUpdated добавил код для изменения свойства статус с 0 на 1 и наоборот, но это колхоз получился и задержка. Может можно как-то по другому и не через шаблон поведения?
С датчиками движений практически тоже самое. Только там при отсутствии движения приходит в свойство статус none, а при движении pir. А ПУ я так понимаю откликаются на 0-движения нет и 1-движение обнаружено.
В свойствах метрики есть Replace List. меняй с помощью него 1 на 0 и наоборот
Аналогично none меняй на 0, а pir на 1
За это сообщение автора fandaymon поблагодарил:
Djeday999 (Пн янв 24, 2022 12:10 pm)
Рейтинг: 1.16%
amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: [Модуль] Tuya

Сообщение amelnyk » Пн янв 24, 2022 6:22 pm

fandaymon писал(а):
Вт янв 18, 2022 6:13 pm
Он и есть всё время в офлайне (ну почти), как и почти любое батарейное устройство.
Следующий шаг - пытаться сделать IOT проект, подключить замок в проект, если заработает - то при открывании будут приходить ивенты в модуль - далее можно будет настроить автоматизацию, вывести виджет замка на сцены

Что касается открыть через модуль - такой функциональности в модуле нету - но вроде в нём есть автозакрывание, судя по метрикам

Если же всё-таки открывать из модуля зачем-то нужно, то обязательно выполнить пункт с подключением IOT проекта (к проекту надо будет подключить API Locker), ну и дальше пытаться разобраться с API замка используя функцию модуля Tuya_IOT_POST

https://developer.tuya.com/en/docs/clou ... sgd4cgysr

Что-то типа - получить тикет, отправить запрос на открытие, используя тикет...
надо немного помощи)
есть проект, в нём подключенный акк приложения, девайсы все с приложения видны, сам замок в том числе (на скрине).
где подключать API Locker? запутался там немного
Вложения
Screenshot_18.jpg
Screenshot_18.jpg (67.21 КБ) 1033 просмотра
Ответить