Добрый день! Подскажите куда копать.
Настроил управление адресной лентой(wled на nodemcu) голосом через колонку алиса, посредством node red.
По видео https://rutube.ru/video/d2054d4ec8f7a3003e6d739d9acb861c/?r=plemwd
Включается, меняет эффекты, но пресет(сохраненные мной типы работы ленты) работают, через раз. Раз пять семь сработает, потом выпадает в ошибку.
Добрый день.
Я не совсем понимаю что вы делаете. Так как я не специалист Nodered - то помочь с кодом в нем (если такой помощи ожидаете) - не смогу, тут целесообразно обратиться в поддержку NodeRed.
Пожалуйста - сформулируйте вопрос по оборудованию нашего производства, с работой которого возникают проблемы.
У меня нет проблем и вопросов к вашему оборудованию.
Просто nodered стоит на wb7 и отправляет команды на wled. Думал может быть кто подскажет в чем проблема не стабильности работы запроса который отправляется на nodemcu.
А делаю голосовое управление через колонку алиса, которая отправляет команду чтобы переключались разные эффекты на адресной светодиодной ленте
В node red ставится плагин node-red-contrib-wled2 (node) - Node-RED
И плагин алисы node-red-contrib-alice (node) - Node-RED
нода алисы отправляется команда на ноду wled с типом переменной строка или числовым значением.
Судя приложенного выше видео, числовое значение отправленное на ноду wled меняет яркость свечения адресной ленты( эта функция работает. Отправляешь команду Алиса яркость 10 и меняется яркость свечения. Если отправляешь команду Эффект( отправляется названия эффекта переливания светодиодов, отправляется слово с типом переменной string ) Это тоже работает. Есть еще так называется Пресет, это сохраненное значение яркости и эффекта одновременно, как я понял из видео отправляется числовое значение с переменной string, оно работает но через раз, несколько раз мегяется, а потом выпадает ошибка type error и после этогл нода wled перестает реагировать на команды, до перезапуска.
Как мог объяснил. Время будет попробую видео сделат, чтобы более понятно было.
А, то есть именно компонент, добавленный в NR перестает работать.
А как понятно что “перестает реагировать”. Как отслеживаете реакцию в нормальном состоянии? Что этот компонент вообще делает, если публикует то что и куда?
Затрудняюсь ответить на 100%. У меня на даче мобильный интернет и алиса работает через него. (Было предположение, что возможно из за мобильного сигнала может быть сбой.)
Если визуально, то отправлял команду и через web интерфейс WLED наблюдал. При голосовой команде в веб интерфейсе происходило переключение пресета или эффекта или яркости ленты и всегда по разному. Мог 5 команд выполнить, а потом происходил сбой, мог 15, иногда и больше. В поток nodered в конце установил ноду с задержкой 5 секунд, чтобы не спамить плату управления лентой(nodemcu), так как когда экспериментировал с яркостью заметил, что если подряд говорить команды то плата может подвисать.
Есть желание установить home assistant на нем как я прочитал есть плагин где реализовано управление wled . И понаблюдать как там будет себя вести nodemcu.
В NR есть нода wled. У нее есть состояние connect и disconnect, В самой ноде прописывается только ip адрес. Во время зависания wled она пишет disconnect.
И в ноде debag(подключенной на выходе значения отправляемой на ноду wled. для отладки ) пишется выше указанная ошибка “TypeError: Cannot read properties of undefined (reading ‘includes’)”
На счет того, что делает нода wled точно не могу сказать, все что я сделал это было из этого видео( https://rutube.ru/video/d2054d4ec8f7a3003e6d739d9acb861c/?r=plemwd), только у автора ролика сделано через dashboard. а я попробовал реализовать через плагин Алисы. Посмотрев ролик если я правильно понял, то NR отправляет команды на плату управления лентой с определенным типом переменной. Яркость меняется числовой переменной с отправленным числом от0-255, Эффект меняется строковой переменной с названием эффекта(как они прописаны в веб интерфейсе wled), Пресет меняется отправленной строковой переменной в виде числа(число но тип строка). Возможно я что то не правильно понял(видео на английском языке). Предположительно NR отправляет get запрос на плату которая изменяет значение(параметр) ленты.
И судя по самой справке в NR по данному плагину описано , только вот это:
Единственный, пожалуй, способ - собрать проект с отладкой и заниматься дебагом.
Как раз из-за похожих кейсов и понял что мой уровень - он ниже требуемого для использования NR.
Это просто, Tcpdump на разных уровнях / Хабр например.
Ну и да, логично роверить - отправлется ли что-то устройству. Если нет - тогда можно сразу переходить к отладке самого компонента.