Database
[{"light_on":false,"device_id":"ab082e4d-e617-4c74-8d41-fa316246afac","timestamp":ISODate("2022-07-01T10:00:24Z")},{"light_on":true,"device_id":"ab082e4d-e617-4c74-8d41-fa316246afac","timestamp":ISODate("2022-07-01T10:32:00Z")},{"light_on":false,"device_id":"ab082e4d-e617-4c74-8d41-fa316246afac","timestamp":ISODate("2022-07-01T10:42:00Z")},{"light_on":true,"device_id":"ab082e4d-e617-4c74-8d41-fa316246afac","timestamp":ISODate("2022-07-01T10:52:00Z")}]
Query
db.collection.aggregate([{$setWindowFields:{partitionBy:"$device_id",sortBy:{timestamp:1},output:{following:{$shift:{output:"$timestamp",by:1}}}}},{$set:{duration:{$dateDiff:{startDate:"$timestamp",endDate:"$following",unit:"second"}}}},{$facet:{mean:[{$group:{_id:{device_id:"$device_id",light_on:"$light_on"},mean:{$avg:"$duration"},longest:{$max:"$duration"}}}],exceeded:[{$match:{light_on:true,duration:{$gt:14400}}}]}}])