[Модуль] Optimizer (optimizer)

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

Модератор: immortal

EvgenyG
Сообщения: 217
Зарегистрирован: Вт июл 21, 2015 4:59 pm
Откуда: Москва
Благодарил (а): 56 раз
Поблагодарили: 1 раз

Re: Модуль Optimizer

Сообщение EvgenyG » Ср сен 28, 2016 9:53 pm

Подскажите, какие параметры оптимизации выбрать для реле? Необходимо сохранить только время включения и выключения.
А лучше, подскажите, как записывать в отдельную таблицу время включения реле и продолжительность работы
MDM Raspberry Pi 3b, esp32, ModBUS, esp8266, NooLite(MTRF-64-USB, SU-1-***, SLF-1-300, PM112, радиопульты PU)
EvgenyG
Сообщения: 217
Зарегистрирован: Вт июл 21, 2015 4:59 pm
Откуда: Москва
Благодарил (а): 56 раз
Поблагодарили: 1 раз

Re: Модуль Optimizer

Сообщение EvgenyG » Пн окт 03, 2016 6:12 pm

Прошу добавить:
1. Возможность выбирать путём установки галки напротив каждого объекта и для выбранных объектов устанавливать общие свойства.
2. Добавить алгоритм оптимизации для реле. Т.е. удалять промежуточные значения и оставлять только точки когда реле включилось или выключилось.
MDM Raspberry Pi 3b, esp32, ModBUS, esp8266, NooLite(MTRF-64-USB, SU-1-***, SLF-1-300, PM112, радиопульты PU)
EvgenyG
Сообщения: 217
Зарегистрирован: Вт июл 21, 2015 4:59 pm
Откуда: Москва
Благодарил (а): 56 раз
Поблагодарили: 1 раз

Re: Модуль Optimizer

Сообщение EvgenyG » Вс окт 23, 2016 12:04 pm

sergejey писал(а):Алгоритм: Оптимизация работает по прогрессивной шкале, в зависимости от старости данных. Самые свежие с самым малым интервалом усредняются (3 минуты), старше одного дня 20 минут, старше недели 60 минут, старше месяца 2 часа.
1. Прошу добавить возможность задавать интервал времени за который данные будут сохраняться.
Например, у меня сейчас идёт активная отладки системы отопления.
Мне нужен весь массив для отслеживания работы реле.
Поэтому необходимо сохранять все данные за 3-4 дня. А старше уже можно оптимизировать.

2. Прошу добавить возможность выделения сразу нескольких объектов, например галкой.
MDM Raspberry Pi 3b, esp32, ModBUS, esp8266, NooLite(MTRF-64-USB, SU-1-***, SLF-1-300, PM112, радиопульты PU)
ipz
Сообщения: 238
Зарегистрирован: Чт ноя 26, 2015 10:54 pm
Благодарил (а): 38 раз
Поблагодарили: 45 раз

Re: Модуль Optimizer

Сообщение ipz » Вт фев 07, 2017 6:50 pm

В процессе борьбы за живучесть MDM на RPi3, обнаружил один неприятный факт: optimizer показывает ~30 000 записей, а таблица phistory содержит 60 000. Причем первые записи относились к ноябрю 15 года, когда я только начинал экспериментировать с MDM. Они пережили два (!!!) переезда.
Понимаю, что скорее всего, это радиус кривизны моих рук. Сейчас уже и не понять как это произошло.

Я у себя удалил лишние записи:

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

DELETE phistory.* FROM phistory LEFT JOIN pvalues ON phistory.VALUE_ID = pvalues.id WHERE  pvalues.id IS NULL
Просьба к Сергею добавить проверку в optimizer.

UPD1:
Думаю еще проверить по всем ли свойствам, которые хранятся в phistory в данный момент указано хранить историю...
Есть основания полагать, что не по всем)))

Оффтоп.Показать
Давно уже есть мысль сделать отдельный класс, который следит за 'косяками' в базе. Но пока те проблемы, которые находил и исправлял больше не повторялись или оказались совсем не проблемами)))

А так могут быть еще, и скорее всего, есть:
- непривязанные методы, свойства;
- дубликаты свойств (определенные на уровне объекта и класса). Например, что будет, если от ESP прилетела новая переменная, а ты ее решил переопределить на уровне класса чтобы хранить историю? И/или старый глюк, я нем писал: в определенных ситуациях переменная может писаться в один экземпляр свойства, а считываться из другого.
- дубликаты методов (В X-Ray->Structure часть из их можно случайно увидеть)
UPD2:
Запрос на наличие в истории записей для свойств, где KEEP_HISTOR…Показать

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

SELECT h.VALUE, h.ADDED, v.PROPERTY_NAME, p.TITLE AS pName, p.KEEP_HISTORY, o.TITLE AS oTITLE
      FROM phistory AS h           
      LEFT JOIN pvalues AS v ON h.VALUE_ID = v.ID 
      LEFT JOIN properties AS p ON v.PROPERTY_ID = p.ID 
      LEFT JOIN objects AS o ON v.OBJECT_ID = o.ID 
      WHERE p.KEEP_HISTORY <1



UPD3:
Почему-то система хранит 2700 записей начиная с 14 января, хотя…Показать
keep_history.jpg
keep_history.jpg (37.47 КБ) 7080 просмотров
Если я не напортачил в SQL всего таких записей 17 000 из 30 000:Показать

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

SELECT h.VALUE, h.ADDED, v.PROPERTY_NAME, p.TITLE AS pName, p.KEEP_HISTORY, o.TITLE AS oTITLE
    FROM phistory AS h           
      LEFT JOIN pvalues AS v ON h.VALUE_ID = v.ID 
      LEFT JOIN properties AS p ON v.PROPERTY_ID = p.ID 
      LEFT JOIN objects AS o ON v.OBJECT_ID = o.ID 
      WHERE p.KEEP_HISTORY=1
      AND h.ADDED<"2017-02-06 23:00:00"

UPD4:
Вот такой, более универсальный, запрос выдает ~20 000 записей, к…Показать

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

SELECT h.VALUE, h.ADDED, v.PROPERTY_NAME, p.TITLE AS pName, p.KEEP_HISTORY, o.TITLE AS oTITLE FROM phistory AS h LEFT JOIN pvalues AS v ON h.VALUE_ID = v.ID LEFT JOIN properties AS p ON v.PROPERTY_ID = p.ID LEFT JOIN objects AS o ON v.OBJECT_ID = o.ID WHERE p.KEEP_HISTORY>0 AND UNIX_TIMESTAMP(h.ADDED)<UNIX_TIMESTAMP()-p.KEEP_HISTORY*60*60*24
Итог: 50 000 записей из первоначальных 60 000 (83% мусора)

UPD5: Если я правильно понимаю:
- при изменении к.л. свойства сначала проиcходит запись в phistory_queue. Затем скопившиеся в phistory_queue записи разгребаются в cycle_main, отдельным циклом. В том числе, (только по свежесохраненным записям) чистится таблица phistory.
- Т.е. если мы перестали писать значения конкретного свойства, то и история перестала (!) очищаться. Объекта уже может и не быть в системе, но история его будет вечна!)))).

Я, конечно, всего кода системы не обозрел - может где-то и предполагается более строгая чистка истории, но итог выше говорит сам за себя. Придется добавить в регулярный запуск:

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

      DELETE h FROM phistory AS h           
      LEFT JOIN pvalues AS v ON h.VALUE_ID = v.ID 
      LEFT JOIN properties AS p ON v.PROPERTY_ID = p.ID 
      WHERE (p.KEEP_HISTORY>0 AND UNIX_TIMESTAMP(h.ADDED)<UNIX_TIMESTAMP()-p.KEEP_HISTORY*60*60*24) OR (p.KEEP_HISTORY<1) 
Последний раз редактировалось ipz Вс фев 12, 2017 1:24 pm, всего редактировалось 1 раз.
За это сообщение автора ipz поблагодарили (всего 2):
Ko/|xo3HUk (Чт окт 05, 2017 11:26 am) • Amarok (Чт окт 12, 2017 3:24 pm)
Рейтинг: 2.33%
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Модуль Optimizer

Сообщение sergejey » Сб фев 11, 2017 3:45 pm

Спасибо, пометил себе как момент к доработке.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
cabat
Сообщения: 216
Зарегистрирован: Ср май 28, 2014 12:42 pm
Откуда: Санкт-Петерург
Благодарил (а): 76 раз
Поблагодарили: 28 раз

Re: Модуль Optimizer

Сообщение cabat » Пт мар 10, 2017 12:44 pm

Заметил, что при запуске по расписанию модуль выводит в лог "cycle_main" информацию о прогрессе выполнения.
Вот выдержка и лога (пробелы удалены для сокращения размера):
СпойлерПоказать
04:00:01 ClockChime->onNewHour
<h3>Bedroom (Rooms.Temperature)</h3> removing old (365) <br /><b>Before last MONTH</b><br />Value ID: 251 <br />Interval from 2016-03-07 00:56:25 to 2017-02-04 04:00:01 (every 7200 seconds)<br />Total values: 3801<br>... number of values (3801) is less than optimal (4010) (skipping)<br /> <br /><b>Before last WEEK</b><br />Value ID: 251 <br />Interval from 2017-02-04 04:00:02 to 2017-02-27 04:00:02 (every 3600 seconds)<br />Total values: 594<br>Optimizing (should be about 552 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 138)<br> <br /><b>Before YESTERDAY</b><br />Value ID: 251 <br />Interval from 2017-02-27 04:00:03 to 2017-03-05 04:01:29 (every 1200 seconds)<br />Total values: 1038<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 746)<br> <br /><b>Before last HOUR</b><br />Value ID: 251 <br />Interval from 2017-03-05 04:01:30 to 2017-03-06 03:02:43 (every 180 seconds)<br />Total values: 5045<br>Optimizing (should be about 460 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 5051)<br> <b>(changed 10769 -> 5397)</b><br /><h3>Kinderroom (Rooms.Temperature)</h3> removing old (365) <br /><b>Before last MONTH</b><br />Value ID: 277 <br />Interval from 2016-03-07 01:49:57 to 2017-02-04 04:04:21 (every 7200 seconds)<br />Total values: 3947<br>... number of values (3947) is less than optimal (4009) (skipping)<br /> <br /><b>Before last WEEK</b><br />Value ID: 277 <br />Interval from 2017-02-04 04:04:22 to 2017-02-27 04:04:21 (every 3600 seconds)<br />Total values: 543<br>... number of values (543) is less than optimal (552) (skipping)<br /> <br /><b>Before YESTERDAY</b><br />Value ID: 277 <br />Interval from 2017-02-27 04:04:22 to 2017-03-05 04:04:21 (every 1200 seconds)<br />Total values: 1022<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 662)<br> <br /><b>Before last HOUR</b><br />Value ID: 277 <br />Interval from 2017-03-05 04:04:22 to 2017-03-06 03:05:35 (every 180 seconds)<br />Total values: 4979<br>Optimizing (should be about 460 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 4986)<br> <b>(changed 10693 -> 5573)</b><br /><h3>Kinderroom (Rooms.Humidity)</h3> removing old (365) <br /><b>Before last MONTH</b><br />Value ID: 278 <br />Interval from 2016-03-07 00:46:16 to 2017-02-04 04:07:14 (every 7200 seconds)<br />Total values: 3896<br>... number of values (3896) is less than optimal (4010) (skipping)<br /> <br /><b>Before last WEEK</b><br />Value ID: 278 <br />Interval from 2017-02-04 04:07:15 to 2017-02-27 04:07:15 (every 3600 seconds)<br />Total values: 561<br>Optimizing (should be about 552 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 123)<br> <br /><b>Before YESTERDAY</b><br />Value ID: 278 <br />Interval from 2017-02-27 04:07:16 to 2017-03-05 04:10:05 (every 1200 seconds)<br />Total values: 1473<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 1299)<br> <br /><b>Before last HOUR</b><br />Value ID: 278 <br />Interval from 2017-03-05 04:10:06 to 2017-03-06 03:12:27 (every 180 seconds)<br />Total values: 14826<br>Optimizing (should be about 461 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 14832)<br> <b>(changed 21463 -> 5775)</b><br /><h3>Node_22 (MYSBatSensor.V_BAT)</h3> removing old (365) <br /><b>Before last MONTH</b><br />Value ID: 319 <br />Interval from 2016-03-07 01:21:29 to 2017-02-04 04:15:08 (every 7200 seconds)<br />Total values: 3671<br>... number of values (3671) is less than optimal (4009) (skipping)<br /> <br /><b>Before last WEEK</b><br />Value ID: 319 <br />Interval from 2017-02-04 04:15:09 to 2017-02-27 04:15:08 (every 3600 seconds)<br />Total values: 595<br>Optimizing (should be about 552 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 136)<br> <br /><b>Before YESTERDAY</b><br />Value ID: 319 <br />Interval from 2017-02-27 04:15:09 to 2017-03-05 04:16:33 (every 1200 seconds)<br />Total values: 1043<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 751)<br> <br /><b>Before last HOUR</b><br />Value ID: 319 <br />Interval from 2017-03-05 04:16:34 to 2017-03-06 03:17:44 (every 180 seconds)<br />Total values: 4917<br>Optimizing (should be about 460 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 4923)<br> <b>(changed 10455 -> 5210)</b><br /><h3>Node_22 (MYSBatSensor.V_VBAT)</h3> removing old (30) <br /><b>Before last MONTH</b><br />Value ID: 322 <br />Interval from 2017-02-27 00:05:55 to 2017-02-04 04:19:19 (every 7200 seconds)<br />Total values: 0<br> <br /><b>Before last WEEK</b><br />Value ID: 322 <br />Interval from 2017-02-04 04:19:20 to 2017-02-27 04:19:19 (every 3600 seconds)<br />Total values: 13<br>... number of values (13) is less than optimal (552) (skipping)<br /> <br /><b>Before YESTERDAY</b><br />Value ID: 322 <br />Interval from 2017-02-27 04:19:20 to 2017-03-05 04:19:19 (every 1200 seconds)<br />Total values: 1043<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 684)<br> <br /><b>Before last HOUR</b><br />Value ID: 322 <br />Interval from 2017-03-05 04:19:20 to 2017-03-06 03:20:03 (every 180 seconds)<br />Total values: 4977<br>Optimizing (should be about 460 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 4985)<br> <b>(changed 6177 -> 1042)</b><br /><h3>HeaterOut (Heaters.Temperature)</h3> removing old (7) <br /><b>Before last MONTH</b><br />Value ID: 335 <br />Interval from 2017-03-01 00:07:46 to 2017-02-04 04:20:49 (every 7200 seconds)<br />Total values: 0<br> <br /><b>Before last WEEK</b><br />Value ID: 335 <br />Interval from 2017-02-04 04:20:50 to 2017-02-27 04:20:49 (every 3600 seconds)<br />Total values: 0<br> <br /><b>Before YESTERDAY</b><br />Value ID: 335 <br />Interval from 2017-02-27 04:20:50 to 2017-03-05 04:20:49 (every 1200 seconds)<br />Total values: 1323<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 1095)<br> <br /><b>Before last HOUR</b><br />Value ID: 335 <br />Interval from 2017-03-05 04:20:50 to 2017-03-06 03:22:07 (every 180 seconds)<br />Total values: 14196<br>Optimizing (should be about 460 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 14213)<br> <b>(changed 15909 -> 1135)</b><br /><h3>HeaterReturn (Heaters.Temperature)</h3> removing old (7) <br /><b>Before last MONTH</b><br />Value ID: 336 <br />Interval from 2017-03-01 00:10:44 to 2017-02-04 04:23:54 (every 7200 seconds)<br />Total values: 0<br> <br /><b>Before last WEEK</b><br />Value ID: 336 <br />Interval from 2017-02-04 04:23:55 to 2017-02-27 04:23:55 (every 3600 seconds)<br />Total values: 0<br> <br /><b>Before YESTERDAY</b><br />Value ID: 336 <br />Interval from 2017-02-27 04:23:56 to 2017-03-05 04:23:55 (every 1200 seconds)<br />Total values: 1323<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 1095)<br> <br /><b>Before last HOUR</b><br />Value ID: 336 <br />Interval from 2017-03-05 04:23:56 to 2017-03-06 03:25:10 (every 180 seconds)<br />Total values: 14195<br>Optimizing (should be about 460 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 14213)<br> <b>(changed 15877 -> 1103)</b><br /><h3>Node_23 (MYSBatSensor.V_BAT)</h3> removing old (365) <br /><b>Before last MONTH</b><br />Value ID: 346 <br />Interval from 2016-03-07 01:33:19 to 2017-02-04 04:26:47 (every 7200 seconds)<br />Total values: 3950<br>... number of values (3950) is less than optimal (4009) (skipping)<br /> <br /><b>Before last WEEK</b><br />Value ID: 346 <br />Interval from 2017-02-04 04:26:48 to 2017-02-27 04:26:48 (every 3600 seconds)<br />Total values: 525<br>... number of values (525) is less than optimal (552) (skipping)<br /> <br /><b>Before YESTERDAY</b><br />Value ID: 346 <br />Interval from 2017-02-27 04:26:49 to 2017-03-05 04:26:48 (every 1200 seconds)<br />Total values: 576<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 549)<br> <br /><b>Before last HOUR</b><br />Value ID: 346 <br />Interval from 2017-03-05 04:26:49 to 2017-03-06 03:27:18 (every 180 seconds)<br />Total values: 278<br>... number of values (278) is less than optimal (460) (skipping)<br /> <b>(changed 5385 -> 4851)</b><br /><h3>Node_23 (MYSBatSensor.V_VBAT)</h3> removing old (30) <br /><b>Before last MONTH</b><br />Value ID: 348 <br />Interval from 2017-02-27 12:16:03 to 2017-02-04 04:27:18 (every 7200 seconds)<br />Total values: 0<br> <br /><b>Before last WEEK</b><br />Value ID: 348 <br />Interval from 2017-02-04 04:27:19 to 2017-02-27 04:27:18 (every 3600 seconds)<br />Total values: 0<br> <br /><b>Before YESTERDAY</b><br />Value ID: 348 <br />Interval from 2017-02-27 04:27:19 to 2017-03-05 04:27:18 (every 1200 seconds)<br />Total values: 581<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 553)<br> <br /><b>Before last HOUR</b><br />Value ID: 348 <br />Interval from 2017-03-05 04:27:19 to 2017-03-06 03:27:24 (every 180 seconds)<br />Total values: 278<br>... number of values (278) is less than optimal (460) (skipping)<br /> <b>(changed 903 -> 377)</b><br /><h3>RPI2 (Computer.CPULoad)</h3> removing old (365) <br /><b>Before last MONTH</b><br />Value ID: 361 <br />Interval from 2017-02-04 00:47:20 to 2017-02-04 04:27:24 (every 7200 seconds)<br />Total values: 4<br>Optimizing (should be about 2 records)... . . <b>Done</b> (removed: 4)<br> <br /><b>Before last WEEK</b><br />Value ID: 361 <br />Interval from 2017-02-04 04:27:25 to 2017-02-27 04:27:25 (every 3600 seconds)<br />Total values: 584<br>Optimizing (should be about 552 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 72)<br> <br /><b>Before YESTERDAY</b><br />Value ID: 361 <br />Interval from 2017-02-27 04:27:26 to 2017-03-05 04:27:48 (every 1200 seconds)<br />Total values: 854<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 517)<br> <br /><b>Before last HOUR</b><br />Value ID: 361 <br />Interval from 2017-03-05 04:27:49 to 2017-03-06 03:28:08 (every 180 seconds)<br />Total values: 1361<br>Optimizing (should be about 460 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 1361)<br> <b>(changed 2853 -> 1452)</b><br /><h3>RPI2 (Computer.CPUTemp)</h3> removing old (365) <br /><b>Before last MONTH</b><br />Value ID: 362 <br />Interval from 2017-02-04 00:42:11 to 2017-02-04 04:28:34 (every 7200 seconds)<br />Total values: 4<br>Optimizing (should be about 2 records)... . . <b>Done</b> (removed: 5)<br> <br /><b>Before last WEEK</b><br />Value ID: 362 <br />Interval from 2017-02-04 04:28:35 to 2017-02-27 04:28:35 (every 3600 seconds)<br />Total values: 583<br>Optimizing (should be about 552 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 72)<br> <br /><b>Before YESTERDAY</b><br />Value ID: 362 <br />Interval from 2017-02-27 04:28:36 to 2017-03-05 04:28:59 (every 1200 seconds)<br />Total values: 855<br>Optimizing (should be about 432 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 517)<br> <br /><b>Before last HOUR</b><br />Value ID: 362 <br />Interval from 2017-03-05 04:29:00 to 2017-03-06 03:29:20 (every 180 seconds)<br />Total values: 1361<br>Optimizing (should be about 460 records)... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . <b>Done</b> (removed: 1361)<br> <b>(changed 2853 -> 1451)</b><br /><h1>DONE!</h1>04:29:49 ClockChime->onNewMinute
04:30:00 ClockChime->onNewMinute
В борьбе за живучесть карты памяти перенес каталог DebMes в память, а эти записи довольно прилично раздувают лог..
Может стоит сделать опцию для отключения логирования?
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Модуль Optimizer

Сообщение Amarok » Ср июл 05, 2017 9:01 am

ipz писал(а): Я, конечно, всего кода системы не обозрел - может где-то и предполагается более строгая чистка истории, но итог выше говорит сам за себя. Придется добавить в регулярный запуск:

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

      DELETE h FROM phistory AS h           
      LEFT JOIN pvalues AS v ON h.VALUE_ID = v.ID 
      LEFT JOIN properties AS p ON v.PROPERTY_ID = p.ID 
      WHERE (p.KEEP_HISTORY>0 AND UNIX_TIMESTAMP(h.ADDED)<UNIX_TIMESTAMP()-p.KEEP_HISTORY*60*60*24) OR (p.KEEP_HISTORY<1)
А как этот код вставить в сценарий? Чтоб пробегался по всей базе и чистил (удалял)?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
cabat
Сообщения: 216
Зарегистрирован: Ср май 28, 2014 12:42 pm
Откуда: Санкт-Петерург
Благодарил (а): 76 раз
Поблагодарили: 28 раз

Re: Модуль Optimizer

Сообщение cabat » Ср июл 05, 2017 11:40 am

Amarok писал(а):А как этот код вставить в сценарий? Чтоб пробегался по всей базе и чистил (удалял)?
Думаю, можно в код обработчика таймера (например метод "onNewMinute" объекта "ClockChime) вставить такую команду:

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

if (timeIs("05:00")) {
SQLExec("DELETE h FROM phistory AS h           
      LEFT JOIN pvalues AS v ON h.VALUE_ID = v.ID 
      LEFT JOIN properties AS p ON v.PROPERTY_ID = p.ID 
      WHERE (p.KEEP_HISTORY>0 AND UNIX_TIMESTAMP(h.ADDED)<UNIX_TIMESTAMP()-p.KEEP_HISTORY*60*60*24) OR (p.KEEP_HISTORY<1)");
}
 
что должно приводить к запуску этого кода каждый день в 5:00 (не проверял !!!)

Функции работы с базой данных
За это сообщение автора cabat поблагодарил:
Amarok (Ср июл 05, 2017 3:17 pm)
Рейтинг: 1.16%
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Модуль Optimizer

Сообщение Amarok » Ср июл 05, 2017 12:41 pm

а что в коде значит

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

h FROM phistory AS h
? и

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

pvalues AS v ON h.VALUE_ID
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

Re: Модуль Optimizer

Сообщение nick7zmail » Ср июл 05, 2017 1:02 pm

Amarok писал(а):а что в коде значит

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

h FROM phistory AS h
? и

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

pvalues AS v ON h.VALUE_ID
pvalues и phistory - таблицы, с которыми проводятся манипуляции. Остальное - команды sql...погуглите sql синтаксис.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить