По ошибкам из замеченного и немножко по пожеланиям.
1) На данный момент я не вижу, чтобы очищалась история показаний. Если в свойстве стоит параметр "хранить историю столько-то дней" то она пишется и раздувается, старый показания никуда не деваются, пока что пришлось написать свой небольшой скрипт, который ежедневно чистит лишнюю историю.
2) Импорт пунктов меню не работает. Возможно, из-за корявого экспорта, не знаю, до этого не пользовался, но как понадобился - не получилось.
3) Импорт скриптов не работает. Причем вот эта функция совсем недавно точно работала, я ей пользовался.
Обращаю внимание, что импорт/экспорт производился между разными домами, но все они были обновлены до последней версии.
Кому нужно - скрипт для очистки старых записей в истории. Не забудьте сделать бэкап БД перед использованием, мало ли что.
Код: Выделить всё
$properties = SQLSelect("SELECT * FROM properties WHERE KEEP_HISTORY>0");
$cnt=count($properties);
for($i=0; $i<$cnt; $i++) {
$propid=$properties[$i]['ID'];
$keep=$properties[$i]['KEEP_HISTORY'];
$pvals=SQLSelect("SELECT * FROM pvalues WHERE PROPERTY_ID=$propid");
$cnt2=count($pvals);
for ($j=0; $j<$cnt2; $j++) {
$id=$pvals[$j]['ID'];
SQLExec("DELETE FROM phistory WHERE VALUE_ID=$id AND ADDED < DATE_SUB(NOW(), INTERVAL $keep DAY)");
}
}
// Оптимизация таблицы phistory БД
safe_exec("mysqlcheck -o db_terminal phistory -u ".DB_USER." -p".DB_PASSWORD);
Из пожеланий, хотелось бы, привести в порядок работу MQTT, потому что постоянные дисконнекты, стабильная работа достигается только на определенной версии брокера, да и то условно.
Хотелось бы, встроенного контроля величины папки с бэкапами и логами. Иногда, из-за ошибок в работе какого-нибудь модуля, например, логи могут очень быстро (за пару дней) вырасти до больших объемов, заполняют свободное место на флешке и перестает работать вообще все. Для себя я написал скриптик, который это контролирует, но не мешало бы внедрить это в массы.
Еще из хотелок, частично это уже внедрено, по крайней мере на уровне идеи, хотелось бы развития.
Шаблон меню для классов.
Сейчас в классах есть шаблон оотбражения, который нужно писать на HTML и CSS как я понимаю. Это прикольно, но не для всякого пользователя подойдет, было бы прикольно сделать шаблон меню для объектов класса с тем же конструктором, который используется при программировании самого меню. Написал себе класс термостатов с некоторыми настройками, сформировал меню, а лучше несколько вариантов меню и потом ссылки на них вставляешь уже в основное меню, было бы офигенно удобно, хотя я понимаю, что это совсем не просто, но на мой взгляд актуально.