Задача
Показать график температуры за последние 24 часа, состоящий из 24 точек. При этом, значение объекта температуры обновляется значительно чаще.
ШАГ 1 — Создаем событийный скрипт, сохраняющий все значения температуры
-- текущее значение температуры
value = event.getvalue()
-- число сохраненных значений
count = storage.get('avg_count', 0) + 1
-- суммируем все сохраненные значения
value = value + storage.get('avg_value', 0)
-- сохраняем новые значения
storage.set('avg_count', count)
storage.set('avg_value', value)
Шаг 1 — Создаем скрипт по расписанию, который рассчитывает среднюю температуру за последний час и записывает ее в групповой адрес KNX
-- получаем текущие значения
count = storage.get('avg_count', 0)
value = storage.get('avg_value', 0)
-- проверяем что по крайней мере одно сохраненное значение существует
if count > 0 then
-- записываем среднее значение в нужный групповой адрес
grp.write('7/1/10', (value / count))
end
-- очищаем значения
storage.set('avg_count', 0)
storage.set('avg_value', 0)
Шаг 3 — Делаем график
Переходим во вкладку Визуализация (Visualization) , нажимаем на кнопку Разблокировать план для оедактирования (Unlock current floor plan for editing). Во вкладке График (Graph), выбираем созданный объект с групповым адресом’7/1/10′, задаем параметры высоты и ширины графика и кол-во точек.
Нажимаем кнопку Добавить (Add new object), далее — кнопку Сохранить и перегрузить план (Save and reload floor plan). Вновь созданный объект появится на визуализации.
При нажатии на иконку объекта после нескольких дней работы, можно увидеть похожий график.