add two more options to mqttOut trigger

+ insertCompletedVideoExtender
+ onEventBasedRecordingComplete
fix-timezone-by-ui
Moe 2022-10-11 20:20:04 -07:00
parent 66a5751b48
commit b54d08ad36
2 changed files with 46 additions and 0 deletions

View File

@ -135,6 +135,16 @@ module.exports = function(s,config,lang,getSnapshot){
const groupKey = monitorConfig.ke const groupKey = monitorConfig.ke
sendToMqttConnections(groupKey,'onMonitorDied',[monitorConfig],true) sendToMqttConnections(groupKey,'onMonitorDied',[monitorConfig],true)
} }
const onEventBasedRecordingComplete = (response,monitorConfig) => {
const groupKey = monitorConfig.ke
sendToMqttConnections(groupKey,'onEventBasedRecordingComplete',[monitorConfig],true)
}
const insertCompletedVideoExtender = (activeMonitor,temp,insertQuery,response) => {
const groupKey = insertQuery.ke
const monitorId = insertQuery.mid
const monitorConfig = s.group[groupKey].rawMonitorConfigurations[monitorId]
sendToMqttConnections(groupKey,'insertCompletedVideoExtender',[monitorConfig],true)
}
const onAccountSave = (activeGroup,userDetails,user) => { const onAccountSave = (activeGroup,userDetails,user) => {
const groupKey = user.ke const groupKey = user.ke
sendToMqttConnections(groupKey,'onAccountSave',[activeGroup,userDetails,user]) sendToMqttConnections(groupKey,'onAccountSave',[activeGroup,userDetails,user])
@ -187,6 +197,8 @@ module.exports = function(s,config,lang,getSnapshot){
onMonitorStop: lang['Monitor Stop'], onMonitorStop: lang['Monitor Stop'],
onMonitorDied: lang['Monitor Died'], onMonitorDied: lang['Monitor Died'],
onEventTrigger: lang['Event'], onEventTrigger: lang['Event'],
insertCompletedVideoExtender: lang['Recording Complete'],
onEventBasedRecordingComplete: lang['Event-Based Recording'],
onDetectorNoTriggerTimeout: lang['"No Motion" Detector'], onDetectorNoTriggerTimeout: lang['"No Motion" Detector'],
onAccountSave: lang['Account Save'], onAccountSave: lang['Account Save'],
onUserLog: lang['User Log'], onUserLog: lang['User Log'],
@ -195,6 +207,30 @@ module.exports = function(s,config,lang,getSnapshot){
eventsToAttachTo.forEach(function(eventName){ eventsToAttachTo.forEach(function(eventName){
let theAction = function(){} let theAction = function(){}
switch(eventName){ switch(eventName){
case'insertCompletedVideoExtender':
theAction = function(activeMonitor,temp,insertQuery,response){
sendMessage(msgOptions,{
title: titleLegend[eventName],
name: eventName,
data: insertQuery,
time: new Date(),
})
}
break;
case'onEventBasedRecordingComplete':
theAction = function(response,monitorConfig){
sendMessage(msgOptions,{
title: titleLegend[eventName],
name: eventName,
data: {
ke: monitorConfig.ke,
mid: monitorConfig.mid,
response: response,
},
time: new Date(),
})
}
break;
case'onEventTrigger': case'onEventTrigger':
theAction = function(d,filter){ theAction = function(d,filter){
const eventObject = Object.assign({},d) const eventObject = Object.assign({},d)
@ -307,6 +343,8 @@ module.exports = function(s,config,lang,getSnapshot){
s.onMonitorStart(onMonitorStart) s.onMonitorStart(onMonitorStart)
s.onMonitorStop(onMonitorStop) s.onMonitorStop(onMonitorStop)
s.onMonitorDied(onMonitorDied) s.onMonitorDied(onMonitorDied)
s.insertCompletedVideoExtender(insertCompletedVideoExtender)
s.onEventBasedRecordingComplete(onEventBasedRecordingComplete)
s.onUserLog(onUserLog) s.onUserLog(onUserLog)
s.definitions["Monitor Settings"].blocks["Notifications"].info[0].info.push( s.definitions["Monitor Settings"].blocks["Notifications"].info[0].info.push(
{ {

View File

@ -30,6 +30,14 @@ $(document).ready(function(){
value: 'onEventTrigger', value: 'onEventTrigger',
label: lang['Detection Event'], label: lang['Detection Event'],
}, },
{
value: 'insertCompletedVideoExtender',
label: lang['Recording Complete'],
},
{
value: 'onEventBasedRecordingComplete',
label: lang['Event-Based Recording'],
},
{ {
value: 'onDetectorNoTriggerTimeout', value: 'onDetectorNoTriggerTimeout',
label: lang['No Trigger'], label: lang['No Trigger'],