Страница 6 из 7

Re: ESPEasy

Добавлено: Пн июн 15, 2020 9:10 am
Ilfat
Divan писал(а):
Вс май 24, 2020 1:35 am
Все мои попытки залить прошивку на ESP32 Dev Module безуспешны, в итоге получил такую ошибку A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header. Что делать, если появилась ошибка?
При прошивке модулей ESP-01 и ESP-12 заметил, что их прошивка отличается режимом записи SPI-Mode DIO/DOUT
Обрати на это внимание.

Re: ESPEasy

Добавлено: Вт июн 30, 2020 7:56 pm
ebramariys
Ilfat писал(а):
Пн июн 15, 2020 9:04 am
ebramariys писал(а):
Ср май 27, 2020 10:29 pm
Привет! Не у кого не было,что рабочее правило не отрабатывается технически,хотя в логере показывает,что правило отработало?
Такого не было. Можно по подробней, что за правило, что делает и что в логах
Правило включает реле и переустанавливает таймер,в зависимости от того ,какой из датчиков и как сработал.
СпойлерПоказать
on vanna_dvig#dvig=1 do
gpio,14,0
gpio,12,0
timerSet,1,20600
endon

on vanna_dveri#dveri=1 do
gpio,14,0
gpio,12,0
timerSet,1,600
endon

on vanna_dveri#dveri=0 do
timerSet,1,600
endon


On Rules#Timer=1 do
gpio,14,1
gpio,12,1
endon
В отладку при этом пишется ,что все отработало как надо,значения в таймере заменились как надо.При этом реле вырубается все равно через 600 ,а не 20600.

Re: ESPEasy

Добавлено: Чт авг 27, 2020 11:14 pm
Jilber
Подскажите как привести к нормальному виду Uptime, выдаваемый ESPEasy ?
Uptime.jpg
Uptime.jpg (3.84 КБ) 4621 просмотр
Сделал метод, выполняемый при обновлении свойства Uptime:

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

$this->setProperty('UptimeTXT', date('H ч i м', mktime(0, $this->getProperty('Uptime'))));
Вроде работает, но пишет только часы и минуты. Как бы добавить туда ещё и кол-во дней ? Не хочется использовать для этого ещё и веб-переменные.

И второй вопрос: в последнее время уже на 2 устройствах (Sonoff Basic и Wemos D1 mini) вдруг перестал грузиться web-интерфейс. Реле управляются, информация с датчиков приходит, но в интерфейс не зайдёшь. Страница не грузится как будто устройства с таким IP просто нет. Sonoff заново перепрошил - пока работает, а Wemos после перепрошивки буквально день поработал и теперь опять не грузится. Ни у кого не было ничего подобного ?

Re: ESPEasy

Добавлено: Чт сен 17, 2020 10:31 pm
zoz
Jilber писал(а):
Чт авг 27, 2020 11:14 pm
Подскажите как привести к нормальному виду Uptime, выдаваемый ESPEasy ?
Uptime.jpg
Сделал метод, выполняемый при обновлении свойства Uptime:

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

$this->setProperty('UptimeTXT', date('H ч i м', mktime(0, $this->getProperty('Uptime'))));
Вроде работает, но пишет только часы и минуты. Как бы добавить туда ещё и кол-во дней ? Не хочется использовать для этого ещё и веб-переменные.

И второй вопрос: в последнее время уже на 2 устройствах (Sonoff Basic и Wemos D1 mini) вдруг перестал грузиться web-интерфейс. Реле управляются, информация с датчиков приходит, но в интерфейс не зайдёшь. Страница не грузится как будто устройства с таким IP просто нет. Sonoff заново перепрошил - пока работает, а Wemos после перепрошивки буквально день поработал и теперь опять не грузится. Ни у кого не было ничего подобного ?
у меня на просчет Аптайма системы вот так сделано (по входу секунды):

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

$time = gg('ThisComputer.Uptime');
$CpuUptm = sprintf('%03d d - %02d:%02d:%02d',$time/86400, (($time/3600) % 24), ($time % 3600)/60, ($time % 3600) % 60); 
setGlobal('ThisComputer.Uptm',$CpuUptm);
Максимум 999 дней, но я еще него не достигал) можно применить для esp. Только для минут надо поправить или умножить на 60 по входу)

По поводу отказа вебморды, незамечал. Недавно начал переводить все модули на свежую прошивку полет стабильный.
Попробуйте новую версию просто.

И мой вопрос тоже имеется:
как правильно настраивать прошивку для реле с инверсированным входом (ON=0)?
Дело в том что инверсия в настройках свича дает только инверсию параметра state a gpio оставляет.
пример: relay14/State,1 = gpio/14,0. и это не позволяет корректно им управлять.

Нашел выход не использовать инвертирование в свиче, а инвертировать прямо в MD mqtt модуле при получении и отправке добавил Replace list: 1=0, 0=1

Но может есть вариант как это сделать на уровне EPS и прошивки? Можно ли управлять не gpio
а реле, или включить инвертирование значений на уровне gpio?

Re: ESPEasy

Добавлено: Сб сен 19, 2020 3:54 pm
Jilber
zoz писал(а):
Чт сен 17, 2020 10:31 pm
у меня на просчет Аптайма системы вот так сделано (по входу секунды):

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

$time = gg('ThisComputer.Uptime');
$CpuUptm = sprintf('%03d d - %02d:%02d:%02d',$time/86400, (($time/3600) % 24), ($time % 3600)/60, ($time % 3600) % 60); 
setGlobal('ThisComputer.Uptm',$CpuUptm);
Спасибо, изменил под себя вот так:

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

$Uptime = $this->getProperty('Uptime') * 60;
$UptimeTXT = sprintf('%02d д %02d ч %02d м',$Uptime/86400, (($Uptime/3600) % 24), ($Uptime % 3600)/60, ($Uptime % 3600) % 60); 
$this->setProperty('UptimeTXT', $UptimeTXT);
zoz писал(а):
Чт сен 17, 2020 10:31 pm
как правильно настраивать прошивку для реле с инверсированным входом (ON=0)?
Дело в том что инверсия в настройках свича дает только инверсию параметра state a gpio оставляет.
пример: relay14/State,1 = gpio/14,0. и это не позволяет корректно им управлять.
Нашел выход не использовать инвертирование в свиче, а инвертировать прямо в MD mqtt модуле при получении и отправке добавил Replace list: 1=0, 0=1
Но может есть вариант как это сделать на уровне EPS и прошивки? Можно ли управлять не gpio
а реле, или включить инвертирование значений на уровне gpio?
Так разве нельзя в правилах поменять "gpio,14,0" на "gpio,14,1" и наоборот ? Т.е. на включение реле будет команда "gpio,14,0", а на выключение "gpio,14,1".

Re: ESPEasy

Добавлено: Вс сен 20, 2020 7:52 pm
zoz
Так разве нельзя в правилах поменять "gpio,14,0" на "gpio,14,1" и наоборот ? Т.е. на включение реле будет команда "gpio,14,0", а на выключение "gpio,14,1".
В правилах то можно написать многое)). можно написать чтение нужных mqtt топиков и сделать их под это реле.
Просто я думал что глочка в прошивке Inversed Logic инверсит и значение State и значение gpio, а нет только State.

Но меня вариант инверсии в mqtt модуле MD устраивает.

Re: ESPEasy

Добавлено: Пт фев 19, 2021 3:46 am
Strangeman
У меня всё сделано через MQTTimport и публикацию в отдельный топик.
Кстати, это и к вопросу инверсии сразу.

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

on LightIn#Lamp1 do
   Publish /%sysname%%unit%/Light/Lamp1,[LightIn#Lamp1]
      MCPGPIO,11,{XOR:[LightIn#Lamp1]:1} // Здесь инверсия для GPIO
endon
Соответственно топик, куда публикуется управление со всех устройств /Kitchen1/LightIn/Lamp1
Топик, в который отвечает ESPшка /Kitchen1/Light/Lamp1
В МДМ топик привязан к свойству устройства, как и выключатели в меню. МДМ, как и другие приложения позволяет для записи и чтения использовать разые топики. Очень удобно и работает чётко. Единственное, что не понравилось - из правил в ESPeasy нельзя задать флаги retain и QOS. Во всяком случае я не нашёл, как это сделать. Когда в правилах делаешь Publish - настройки из Controllers берутся только частично - флаг retain не читается и не применяется.

Re: ESPEasy

Добавлено: Пт фев 19, 2021 9:41 pm
Strangeman
Блин, в версии 20210114 добавили битовые операции, что позволило сократить объёмы текста правил, но сломали недавно добавленное elseif.
Во всяком случае конструкция

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

   if %systime% > 06:59:00 and %systime% < 10:01:00
      taskvalueset 3,2,22

   elseif %systime% > 10:01:00 and %systime% < 16:59:00
      taskvalueset 3,2,35

   elseif %systime% > 16:59:00 and %systime% < 21:01:00
      taskvalueset 3,2,22

   elseif %systime% > 21:01:00 and %systime% < 23:01:00
      taskvalueset 3,2,35

   else
      taskvalueset 3,2,50
   endif
работать перестала, пришлось вернуться к такой

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

   if %systime% > 06:59:00 and %systime% < 10:01:00
      taskvalueset 3,2,22
   endif

   if %systime% > 10:01:00 and %systime% < 16:59:00
      taskvalueset 3,2,35
   endif

   if %systime% > 16:59:00 and %systime% < 21:01:00
      taskvalueset 3,2,22
   endif

   if %systime% > 21:01:00 and %systime% < 23:01:00
      taskvalueset 3,2,35
   endif

   if %systime% > 23:01:00 and %systime% < 23:59:59
      taskvalueset 3,2,50
   endif
Да и эта заработала только в секции типа

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

on Clock#Time=All,**:** do // Каждую минуту
В таймере вообще никак не работает.

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

On Rules#Timer=1 do
Точнее, оно как-то работает, но адски глючит. Из за этого провозился 2 дня, не мог понять в чём дело.

Re: ESPEasy

Добавлено: Сб фев 20, 2021 10:51 pm
Strangeman
В общем, нифига толком не работает со временем. Сломали где-то между 20200721 и 20201227. Перебирать и искать на какой конкретно не хочу, т.к. есть существенные сложности - нужно задавать большой временной диапазон и смотреть, как отработает. На коротких в минуту работает нормально. Забил и откатился на 20200721 на которой работало.

Re: ESPEasy

Добавлено: Сб фев 27, 2021 4:52 am
Strangeman
Похоже, что всё починили в 20210223.
Тестирую.