SELECT
DATEADD(hour, 3, System.TimeStamp) AS EventTime,
/*
Если среднее значение показаний за минуту меньше 1, значит свет выключен и соответственно наоборот
*/
message = CASE
WHEN AVG(mainValue) < 1
THEN 'The Light is turned OFF' ELSE 'The Light is turned ON' END
INTO outjson
FROM input TIMESTAMP BY timeValue
WHERE sensorId = 1
/*
Используется скользящее окно размером в минуту
*/
GROUP BY SlidingWindow(minute, 1), events.sensorId
/*
Количество измерений за минуту должно быть больше 5
*/
HAVING COUNT(*) > 5