[Дополнение] Простое устройство: WLED

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

Модератор: immortal

Ivan Akimov
Сообщения: 10
Зарегистрирован: Сб июл 09, 2016 9:30 pm
Откуда: Moscow

Re: [Дополнение] Простое устройство: WLED

Сообщение Ivan Akimov »

Всем привет!

Подскажите, пожалуйста, на Majordomo Windows не сталкивались с проблемой невозможности запуска рандомных эффектов, при том что включение и выключение ленты отрабатывает нормально.
На RPI4 в модуле работает все четко...
Изображение
http://imgbox.com/vQYfhelr
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Контактная информация:

Re: [Дополнение] Простое устройство: WLED

Сообщение Eraser »

Ivan Akimov писал(а): Пт июн 26, 2020 2:15 pm Всем привет!

Подскажите, пожалуйста, на Majordomo Windows не сталкивались с проблемой невозможности запуска рандомных эффектов, при том что включение и выключение ленты отрабатывает нормально.
На RPI4 в модуле работает все четко...
Изображение
http://imgbox.com/vQYfhelr
Информацию с устройства кнопкой GetInfo получили? Судя по тому что нет названия текущего эффекта не получали. Надо получить обязательно
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Ivan Akimov
Сообщения: 10
Зарегистрирован: Сб июл 09, 2016 9:30 pm
Откуда: Moscow

Re: [Дополнение] Простое устройство: WLED

Сообщение Ivan Akimov »

Eraser писал(а): Вс июн 28, 2020 9:56 pm
Ivan Akimov писал(а): Пт июн 26, 2020 2:15 pm Всем привет!

Подскажите, пожалуйста, на Majordomo Windows не сталкивались с проблемой невозможности запуска рандомных эффектов, при том что включение и выключение ленты отрабатывает нормально.
На RPI4 в модуле работает все четко...
Изображение
http://imgbox.com/vQYfhelr
Информацию с устройства кнопкой GetInfo получили? Судя по тому что нет названия текущего эффекта не получали. Надо получить обязательно
Не знаю почему, но в методе GetInfo функция file_get_contents приводила в зависанию и вызов метода отваливался с таймаутом, функция geturl исправила положение и вызовы заработали правильно (ситуация исключительно была замечена только в частном случае MJD на Windows и на RPI все работает и без этих изменений)
matvey996
Сообщения: 6
Зарегистрирован: Чт дек 17, 2020 6:56 pm

Re: [Дополнение] Простое устройство: WLED

Сообщение matvey996 »

у меня такая же фигня! как исправить? сбоку не показывает эффект и при нажатии на кнопку getinfo ничего не происходит
Denis239tp
Сообщения: 63
Зарегистрирован: Пт янв 31, 2020 1:46 am
Откуда: Челябинская область

Re: [Дополнение] Простое устройство: WLED

Сообщение Denis239tp »

Добрый день уважаемые коллеги! Вопрос к автору данного плагина. Во-первых, огромное спасибо за плагин! Он реально крутой! Особенно когда разберешься, как он работает) Теперь вопрос: Не могли бы Вы сделать свойство, в котором будет указываться количество сохраненных пресетов? Очень нужная функция, так как создавая меню я столкнулся с проблемой, что в поле выбора неизвестно какое количество пресетов устанавливать. Если будет такая циферка, этот процесс можно автоматизировать. А еще бы очень желательно третий цвет сделать... Заранее спасибо!
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm

Re: [Дополнение] Простое устройство: WLED

Сообщение Divan »

Denis239tp писал(а): Вс янв 10, 2021 4:44 am Добрый день уважаемые коллеги! Вопрос к автору данного плагина. Во-первых, огромное спасибо за плагин! Он реально крутой! Особенно когда разберешься, как он работает) Теперь вопрос: Не могли бы Вы сделать свойство, в котором будет указываться количество сохраненных пресетов? Очень нужная функция, так как создавая меню я столкнулся с проблемой, что в поле выбора неизвестно какое количество пресетов устанавливать. Если будет такая циферка, этот процесс можно автоматизировать. А еще бы очень желательно третий цвет сделать... Заранее спасибо!
Возможно автор это добавит, но пока не сделал это, то можно сделать самому.

Как это работает?
Свойство mqtt_v запускает метод stateUpdated, который получает реальный статус пресета благодаря коду ниже, а свойство preset запускает метод presetUpdated, который установит выбранный нами пресет. В ПУ WLED есть свойство IP, как раз из этого свойства и будет браться IP для управления пресетом.
SPOILERSPOILER_SHOW
mqtt_v.jpg
mqtt_v.jpg (70.03 КБ) 8838 просмотров
В методе stateUpdated
SPOILERSPOILER_SHOW
WLED метод stateUpdated.jpg
WLED метод stateUpdated.jpg (114.98 КБ) 8838 просмотров

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

$url = 'http://'. $this->getProperty("ip")."/json";
$content = getUrl($url);
$json = json_decode($content, true);
$this->setProperty("Preset", $json["state"]["ps"]);
В методе presetUpdated
SPOILERSPOILER_SHOW
WLED метод presetUpdated.jpg
WLED метод presetUpdated.jpg (157.44 КБ) 8838 просмотров

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

$Preset = $this->getProperty('Preset');

$data = array(
    "ps" => (int)$Preset
);

$url = curl_init ('http://'. $this->getProperty("ip")."/json/state");
curl_setopt($url, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($url, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($url, CURLOPT_RETURNTRANSFER, true);
curl_setopt($url, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 	
$result = curl_exec($url);


После всех этих настроек, в свойстве preset будет отображаться выбранный preset в реальном времени
SPOILERSPOILER_SHOW
Preset.JPG
Preset.JPG (12.32 КБ) 8838 просмотров
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Denis239tp
Сообщения: 63
Зарегистрирован: Пт янв 31, 2020 1:46 am
Откуда: Челябинская область

Re: [Дополнение] Простое устройство: WLED

Сообщение Denis239tp »

Это немного не то... надо просто цифру - количество сохраненных пресетов. Их можно, конечно, посчитать самому, и в меню подправить... но, сохранил еще пресет, и опять править меню... А если будет в свойствах цивра-количество сохраненных пресетов, то этот процесс можно автоматизировать. Да и просто, считать не надо...
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm

Re: [Дополнение] Простое устройство: WLED

Сообщение Divan »

Denis239tp писал(а): Вт фев 16, 2021 2:04 pm Это немного не то... надо просто цифру - количество сохраненных пресетов. Их можно, конечно, посчитать самому, и в меню подправить... но, сохранил еще пресет, и опять править меню... А если будет в свойствах цивра-количество сохраненных пресетов, то этот процесс можно автоматизировать. Да и просто, считать не надо...
ПУ WLED тут не причем. Это особенность самой прошивки WLED. ПУ WLED просто извлекает данные из json и также их отправляет в таком формате. Если эта инфа была бы, то ее из json можно без проблем извлечь, просто нет этой инфы "количество пресетов". Наберите IP/json и попробуйте найти "количество пресетов". Вы можете попросить самого автора прошивки WLED добавить "количество пресетов" в json, тогда можно будет ее извлечь.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Kenni
Сообщения: 4
Зарегистрирован: Сб фев 27, 2021 8:18 am

Re: [Дополнение] Простое устройство: WLED

Сообщение Kenni »

Можно ли управлять WLED на Nodemcu с помощью другого Nodemcu? Какие команды я должен послать? ArduinoJson.h?

if (text = = "/start")
{
Отправить json на IP

{"on":true,"bri":112,"transition":7,"mainseg":0,"seg":[{"id":0,"start":0,"stop":74,"grp":1,"spc":0,"on":true,"bri":255,"col":[[255,0,0],[0,0,0],[0,0,0]],"fx":27,"sx":60,"ix":50,"pal":0,"sel":true,"rev":false,"mi":false},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0}]}
}
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm

Re: [Дополнение] Простое устройство: WLED

Сообщение Divan »

Kenni писал(а): Сб фев 27, 2021 8:19 am Можно ли управлять WLED на Nodemcu с помощью другого Nodemcu? Какие команды я должен послать? ArduinoJson.h?

if (text = = "/start")
{
Отправить json на IP

{"on":true,"bri":112,"transition":7,"mainseg":0,"seg":[{"id":0,"start":0,"stop":74,"grp":1,"spc":0,"on":true,"bri":255,"col":[[255,0,0],[0,0,0],[0,0,0]],"fx":27,"sx":60,"ix":50,"pal":0,"sel":true,"rev":false,"mi":false},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0},{"stop":0}]}
}
Причем тут majordom? Вы не по адресу спрашиваете, это нужно спрашивать у автора прошивки WLED на github.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Ответить