Работает - конфиг для Program заливается в полном объеме. Единственное на что обратил внимание - это происходит только при перепрошивке контроллера с затиранием eeprom. Если просто залить конфиг командой "php megad-cfg-2561.php --ip 192.168.12.21 -p sec --write-conf megad-2561-12-21_2018_02_02.cfg", то Program не восстанавливается в полном объеме. Наверное, это логично, поскольку перед заливкой нового конфига необходимо затереть старый в eeprom.
"Артефакта" от градуса теперь нет. На дисплее, на котором выводится IP и состояние портов при установке флага clock, вывода часов нет вообще, также как и нет "средних" (вторая и третья строчки) значений состояний портов...ну и фиг с ним.
Однако у меня конкретно с дисплеем на P30 сейчас выявляются такие баги при загрузке контроллера (при изменении значений портов состояние обновляется и появляется, это не зависит от номера портов):
ПРЕДИСЛОВИЕ к предложениям:
Команда вывода часов на дисплей при помощи сервера - отличная возможность, как и команды вывода крупного моноширинного текста и мелкого для подписей. Однако вывод часов на дисплей средствами контроллера (в "локальном" режиме) считаю затеей мало успешной. Просто выводить одни часы на мелкий дисплей - не имеет смысла, а выводить вместе со значением от какого-нибудь DS18B20 - так же не удобно: температура на дисплее обновляется раз в 5 секунд, а часы на дисплее через 60 секунд - 60 секунд ждать чтобы посмотреть время на контроллере...это просто неудобно (попробуйте сами в текущей реализации прошивки)!
ПРЕДЛОЖЕНИЯ для "локальной" работы контроллера (без сервера):
1. Время контроллера выводить на том же дисплее что и IP-адрес (P30 - "системный дисплей") или сделать вывод времени через 5-10 секунд после вывода температуры (увеличив время обновления температуры на дисплее)
2. Либо, как вариант, сделать настройку для всех входов "S" - System. При нажатии на кнопку, подключенную на IN в режиме S, на дисплее в кольцевом порядке будет отображаться: температура с P0, P5, P7 и т.д., внутреннее время и IP-адрес (последние в отличие от температуры можно показывать, например, только при удержании "системной" кнопки более 1 секунды). Температуру с разных портов можно отображать крупными цифрами, а в верхней строке выводить номер порта для идентификации с какого датчика сейчас отображаются данные. То что выберет пользователь для отображения на дисплее должно в соответствии с показаниями датчика обновляться. Выключать дисплей можно долгим нажатием "системной" кнопки, либо по таймауту, который можно задавать при настройке дисплея (добавить поле Display Time на страничке настройки дисплея). Включать дисплей - коротким нажатием "системной" кнопки, таким же нажатием перебирать датчики с которых будет отображаться информация.
3. При условии реализации "системной" кнопки необходимо добавить возможность вывода температуры/влажности/давления с HTU21D, BMP180, BMx280 и других датчиков.
ПРЕДЛОЖЕНИЕ по Program:
При входе в настройки условия (например, ветка cf=10&prn=0) рядом с кнопкой Save сделать кнопку Clear - для быстрого удаления (перевод всех значений условия в default) всего условия. Конечно условия не создаются/удаляются постоянно, но пользователю будет намного удобнее при необходимости просто очистить ненужное условие.