Синхронизация RGB лампы с RGB лентой

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Синхронизация RGB лампы с RGB лентой

Сообщение Divan » Чт июл 25, 2019 12:59 am

Может быть, что ваш код не срабатывает из-за того, что у меня MD работает на MariaDB и стоит php версии 7.3? С какой СУБД у вас работает MD и какая версия php стоит?
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: Синхронизация RGB лампы с RGB лентой

Сообщение xor » Чт июл 25, 2019 1:02 am

чё-то как-то заморочено(
Зачем создавать свойства на каждый цвет?
не проще ли для лампы и ленты иметь свойство Цвет и туда писать значение?
а в методе на изменение цвета заодно менять цвет у сопряженного прибора?
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 899 раз

Re: Синхронизация RGB лампы с RGB лентой

Сообщение SmoKE_xDDD » Чт июл 25, 2019 1:42 am

xor писал(а):
Чт июл 25, 2019 1:02 am
чё-то как-то заморочено(
Зачем создавать свойства на каждый цвет?
не проще ли для лампы и ленты иметь свойство Цвет и туда писать значение?
а в методе на изменение цвета заодно менять цвет у сопряженного прибора?
В другой теме автора спрашивал - автор промолчал)
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Синхронизация RGB лампы с RGB лентой

Сообщение Divan » Чт июл 25, 2019 2:14 am

xor писал(а):
Чт июл 25, 2019 1:02 am
чё-то как-то заморочено(
Зачем создавать свойства на каждый цвет?
не проще ли для лампы и ленты иметь свойство Цвет и туда писать значение?
а в методе на изменение цвета заодно менять цвет у сопряженного прибора?
Свойства я создал, чтобы было удобно настраивать Broadlink Pro (ниже приложил скриншот). Если делать методы, то как мне использовать Поле выбора (select)? - мне хотелось выбирать цвета из списка (см. скриншот). Я готов выслушать все варианты, как говорится, одна голова хорошо, а 10 еще лучше ).
Вложения
Снимок4.JPG
Поле выбора цветов
Снимок4.JPG (23.65 КБ) 2566 просмотров
Снимок3.JPG
Настройки Broadlink
Снимок3.JPG (133.41 КБ) 2566 просмотров
Снимок1.JPG
Настройки поле выбора (select)
Снимок1.JPG (67.38 КБ) 2566 просмотров
Снимок2.jpg
Список используемых команд
Снимок2.jpg (152.3 КБ) 2566 просмотров
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Синхронизация RGB лампы с RGB лентой

Сообщение Divan » Чт июл 25, 2019 2:16 am

SmoKE_xDDD писал(а):
Чт июл 25, 2019 1:42 am
xor писал(а):
Чт июл 25, 2019 1:02 am
чё-то как-то заморочено(
Зачем создавать свойства на каждый цвет?
не проще ли для лампы и ленты иметь свойство Цвет и туда писать значение?
а в методе на изменение цвета заодно менять цвет у сопряженного прибора?
В другой теме автора спрашивал - автор промолчал)
Вы не про меня :D ?
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 289 раз
Поблагодарили: 633 раза

Re: Синхронизация RGB лампы с RGB лентой

Сообщение xor » Чт июл 25, 2019 9:02 am

Divan писал(а):
xor писал(а):
Чт июл 25, 2019 1:02 am
чё-то как-то заморочено(
Зачем создавать свойства на каждый цвет?
не проще ли для лампы и ленты иметь свойство Цвет и туда писать значение?
а в методе на изменение цвета заодно менять цвет у сопряженного прибора?
Свойства я создал, чтобы было удобно настраивать Broadlink Pro (ниже приложил скриншот). Если делать методы, то как мне использовать Поле выбора (select)? - мне хотелось выбирать цвета из списка (см. скриншот). Я готов выслушать все варианты, как говорится, одна голова хорошо, а 10 еще лучше ).
В теме, где вы спрашивали про реле, вам был дан совет, как работать с командами бродлинка проще. Вы обещали попробовать, да, видно, не собрались)
И вот уже я вижу второй топик на эту тему. Хорошо, что у вас не 16 млн цветов, а то свойств-то было б!

Можно использовать единое свойство Цвет, куда писать значение, полученное из селектора, к этому свойству на уровне класса привязать метод, который и будет этот цвет при изменении устанавливать конкретной командой бродлинка.
Там и путаться негде.

Отправлено с моего Redmi 4X через Tapatalk


Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Синхронизация RGB лампы с RGB лентой

Сообщение Divan » Чт июл 25, 2019 11:26 am

Сейчас нашел модуль PropTransfer и оказывается можно не париться с кодом, тут все просто, выбрал себе объект и свойство. Только это работает так, когда включаешь например на лампе красный цвет, то и на ленте тоже включается красный цвет. По сути все тоже самое, что я написал в коде, ручками, только это все упрощено и удобнее. Здорово было бы, если такой модуль был бы, который при включении основного устройства сверял выбранный цвет на другом устройстве и включал его на основном устройстве.
Вложения
Снимок3.JPG
Модуль PropTransfer
Снимок3.JPG (22.77 КБ) 2545 просмотров
Снимок1.jpg
Список сценарии
Снимок1.jpg (83.44 КБ) 2545 просмотров
Снимок2.JPG
Настройки сценария
Снимок2.JPG (65.71 КБ) 2545 просмотров
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Синхронизация RGB лампы с RGB лентой

Сообщение Divan » Чт июл 25, 2019 2:05 pm

SmoKE_xDDD писал(а):
Ср июл 24, 2019 10:21 pm
Divan писал(а):
Ср июл 24, 2019 9:21 pm
Ух ты, спасибо что ответили ). Скажите, я правильно понимаю, что это запросы для БД, т.е нужно в БД сделать запросы и в итоге я получу массив?

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

$search_obj = 'testObject';
//Найтем ID обьекта
$sql = SQLSelectOne("SELECT id FROM `objects` WHERE `TITLE` = '{$search_obj}'");
$obj_id = $sql['id'];
//Найдем значения свойства
$sql = SQLSelect("SELECT ID,TITLE FROM `properties` WHERE `OBJECT_ID` = '{$obj_id}'");
$prop_id = [];
foreach ($sql as $key => $value) {
 	//Запросим значения свойств
 	$sql = SQLSelectOne("SELECT VALUE FROM `pvalues` WHERE `OBJECT_ID` = '{$obj_id}' AND `PROPERTY_ID` = {$value['ID']}");
 	//Сформировали массив с ID свойств
 	array_push($prop_id, array('ID' => $value['ID'], 'TITLE' => $value['TITLE'], 'VALUE' => $sql['VALUE']));
}
Это готовый код - используйте где хотите, хоть в сценариях, хоть в методах...
А вы можете показать на видео или на скриншотах, как вы это делаете, как вы получаете массив? Я в php не силен. На YouTube и в сети, я не нашел пособие для чайников, чтобы наглядно показали как это делается, да и кому-то, кроме это будет полезным и вам большое спасибо ). А то глядите и модуль создадите :D
Ответить