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

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

Модератор: immortal

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

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

Сообщение Ivan Akimov » Пт июн 26, 2020 2:15 pm

Всем привет!

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

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

Сообщение Eraser » Вс июн 28, 2020 9:56 pm

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

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

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

Сообщение Ivan Akimov » Пн июн 29, 2020 10:41 pm

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
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение matvey996 » Чт янв 07, 2021 7:44 pm

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

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

Сообщение Denis239tp » Вс янв 10, 2021 4:44 am

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

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

Сообщение Divan » Ср янв 13, 2021 11:58 pm

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

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

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

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

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

$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 в реальном времени
СпойлерПоказать
Preset.JPG
Preset.JPG (12.32 КБ) 3319 просмотров
За это сообщение автора Divan поблагодарил:
viss1 (Пн фев 20, 2023 7:49 pm)
Рейтинг: 1.16%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Denis239tp
Сообщения: 62
Зарегистрирован: Пт янв 31, 2020 1:46 am
Откуда: Челябинская область
Благодарил (а): 11 раз
Поблагодарили: 10 раз

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

Сообщение Denis239tp » Вт фев 16, 2021 2:04 pm

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

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

Сообщение Divan » Вт фев 16, 2021 8:43 pm

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
Благодарил (а): 0
Поблагодарили: 0

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

Сообщение 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}]}
}
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

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

Сообщение Divan » Вс фев 28, 2021 6:19 pm

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
Ответить