Event - imonology/ImonCloud-Doc GitHub Wiki

Event

getEventList(o_onDone, o_onFail) -- 取得全部事件列表

addEventDevice(i_data, o_onDone, o_onFail) -- 新增設備事件

delEventDevice(i_data, o_onDone, o_onFail) -- 刪除設備事件

switchEvent(i_data, o_onDone, o_onFail) -- 開關事件

setEventInfo(i_iType, i_data, o_onDone, o_onFail) -- 設定(編輯)事件

getEventInfo(i_data, o_onDone, o_onFail) -- 取得(編輯)事件

setWarningInfo(i_data, o_onDone, o_onFail) -- 警報事件編輯(編輯/添加)

getWarningInfo(i_data, o_onDone, o_onFail) -- 警報事件查看

searchWarningLog(i_data, o_onDone, o_onFail) -- 警報搜尋事件

searchEventLog(i_data, o_onDone, o_onFail) -- 歷史搜尋事件

onEvent(i_data, o_onDone, o_onFail) -- 觸發事件

onEventEnd(i_data, o_onDone, o_onFail) -- 觸發事件結束

setFTPSetting(i_data, o_onDone, o_onFail) -- 設定FTP

getFTPSetting(o_onDone, o_onFail) -- 取得設定FTP


系統事件列表:
CPU超載:超過80%時,紀錄一次事件LOG,降至70%以下,恢復正常可再次紀錄一次Log。
記憶體滿載:超過80%時,紀錄一次事件LOG,降至70%以下,恢復正常可再次紀錄一次Log。
硬碟存滿:超過95%時,紀錄一次事件LOG,降至90%以下,恢復正常可再次紀錄一次Log。
硬碟壞損:讀取失敗硬碟資料或無法正常讀寫功能,觸發事件。
即時輸入頻寬通知:到達標準即可觸發一次紀錄事件,即時輸入頻寬字體顏色,10M以下表示藍色、10M~100M標示綠色、100M~1G標示黃色、1G~10G以上標示紅色。
系統開啟:開機事件,觸發事件。
系統關閉:關機或斷線,觸發事件。
新增設備:新增設備時,觸發事件。
移除設備:移除設備時,觸發事件。
影像遺失:當有攝影機錄影中影像訊息中斷兩秒,觸發事件。

行為事件列表:
帳號登入系統:有帳號登入系統時,觸發事件。
帳號登出系統:有帳號登出系統時,觸發事件。
帳號編輯錄影設定:有帳號修改錄影設定時,觸發事件。
帳號操作回放權限:有帳號使用操作回放時,觸發事件。
編輯設備位移縮放:有帳號調整設備位移縮放,觸發事件。
編輯影像調整權限:有帳號編輯影像調整時,觸發事件。(目前只支援IPCam)
設定設備設定:設備設定內容請參考 設備操作->編輯設備。
帳號解除警報:有帳號解除警報,觸發事件。
帳號備份下載:有帳號下載回放檔案時,觸發事件。
帳號使用快照:有帳號使用快照功能時,觸發事件。

---------------------------------------------------------------

###getEventList(o_onDone, o_onFail);

功能說明:取得全部事件列表

變數說明:

  • 傳入(input)

  • 傳出(output)

變數名稱: ii_data

變數類型: Object

變數說明: 失敗回傳 null 0(成功),1(失敗)


ii_data :
{
    'EventDeviceAr': 設備事件陣列,
    'EventActionAr': 行為事件陣列,
    'EventSystemAr': 系統事件陣列
}

類型:系統事件(1)、行為事件(2)、設備事件(3)。


objEventDeviceAr:
{
    'iType': 類型,
    'strEventName':事件名稱,
    'iEventLevel':事件等級 (1:一般 2:警告 3:急迫)
}

objEventActionAr:
{
    'iType': 類型,
    'strEventName':事件名稱,
    'iEventLevel':事件等級 (1:一般 2:警告 3:急迫),
    'bSwitch':事件開關
}

objEventSystemAr:
{
    'iType': 類型,
    'strEventName':事件名稱,
    'iEventLevel':事件等級 (1:一般 2:警告 3:急迫),
    'bSwitch':事件開關
}

  • 回傳(return)

  • 範例:

Event.getEventList(
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###addEventDevice(i_data, o_onDone, o_onFail);

功能說明:新增設備事件

變數說明:

  • 傳入(input)

變數名稱: i_data:{'strEventName':事件名稱}

變數類型: Object

變數說明:

  • 傳出(output)

變數名稱: ii_data

變數類型: int

變數說明: 0(成功),1(失敗)

  • 回傳(return)

  • 範例:

Event.addEventDevice(l_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###delEventDevice(i_data, o_onDone, o_onFail);

功能說明:刪除設備事件

變數說明:

  • 傳入(input)

變數名稱: i_data:{'strEventName':事件名稱}

變數類型: Object

變數說明:

  • 傳出(output)

變數名稱: ii_data

變數類型: int

變數說明: 0(成功),1(失敗)

  • 回傳(return)

  • 範例:

Event.delEventDevice(l_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###switchEvent(i_data, o_onDone, o_onFail);

功能說明:開關事件

變數說明:

  • 傳入(input)

變數名稱: i_data:{'iType':類型, 'strEventName':事件名稱, 'bSwitch':開關狀態}

變數類型: Object

變數說明: iType類型 : 系統事件(1)、行為事件(2)、設備事件(3)

'bSwitch':開關狀態(bool)

  • 傳出(output)

變數名稱: ii_data

變數類型: int

變數說明: 0(成功),1(失敗)

  • 回傳(return)

  • 範例:

Event.switchEvent(l_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###setEventInfo(i_iType, i_data, o_onDone, o_onFail);

功能說明:設定(編輯)事件

變數說明:

  • 傳入(input)

變數名稱: i_iType

變數類型: int

變數說明: 系統事件(1)、行為事件(2)、設備事件(3)

變數名稱: i_data

變數類型: Object

變數說明:


設備事件資料 
i_data:
string	strEventName		事件名稱
string	strTriggerMode		觸發項目
string	strTriggerDevice	觸發設備
string	strTriggerChannel	觸發頻道
int		iGroupId	群組ID
int		iEventLevel	事件層級
bool	bEmail		群組電子郵件通知
bool	bSMS		群組簡訊通知
bool	bEmailAdmin	電子通知管理者
bool	bSMSAdmin	簡訊通知管理者
bool	bSnapshot	快照
bool	bCallPolice	警報提示
bool	bScreenBounce	畫面彈跳
bool	bPlaybackJump	回播跳出
bool	bScreenFlash	螢幕閃框
bool	bFTP		FTP上傳
string	strMp3		可設定一首MP3上傳檔案(每個事件獨立音檔)
int		iMp3PlayBin	可讓使用者設定播放秒數(開始)
int		iMp3PlayEnd	可讓使用者設定播放秒數(結束)
bool	bLoop		是否Loop回放

系統事件&行為事件 資料 
i_data:
string	strEventName	事件名稱
int		iEventLevel	事件層級
int		iGroupId	群組ID
bool	bEmail		群組電子郵件通知
bool	bSMS		群組簡訊通知
bool	bEmailAdmin	電子通知管理者
bool	bSMSAdmin	簡訊通知管理者
bool	bSnapshot	快照
bool	bCallPolice	警報提示
bool	bScreenBounce	畫面彈跳
bool	bPlaybackJump	回播跳出
bool	bScreenFlash	螢幕閃框
bool	bFTP		FTP上傳
string	strMp3		音檔名稱
int		iMp3PlayBin	可讓使用者設定播放秒數(開始)
int		iMp3PlayEnd	可讓使用者設定播放秒數(結束)
bool	bLoop		是否Loop回放

  • 傳出(output)

變數名稱: ii_data

變數類型: int

變數說明: 0(成功),1(失敗)

  • 回傳(return)

  • 範例:

Event.setEventInfo(i_Type, l_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###getEventInfo(i_data, o_onDone, o_onFail);

功能說明:取得(編輯)事件

變數說明:

  • 傳入(input)

變數名稱: i_data

變數類型: Object

變數說明:


i_data = 
{
    'iType':類型,
    'strEventName':事件名稱
}

  • 傳出(output)

變數名稱: ii_data

變數類型: Object

變數說明:


設備事件資料 
ii_data:
string	strEventName		事件名稱
string	strTriggerMode		觸發項目
string	strTriggerDevice	觸發設備
string	strTriggerChannel	觸發頻道
int		iGroupId	群組ID
int		iEventLevel	事件層級
bool	bEmail		群組電子郵件通知
bool	bSMS		群組簡訊通知
bool	bEmailAdmin	電子通知管理者
bool	bSMSAdmin	簡訊通知管理者
bool	bSnapshot	快照
bool	bCallPolice	警報提示
bool	bScreenBounce	畫面彈跳
bool	bPlaybackJump	回播跳出
bool	bScreenFlash	螢幕閃框
bool	bFTP		FTP上傳
string	strMp3		可設定一首MP3上傳檔案(每個事件獨立音檔)
int		iMp3PlayBin	可讓使用者設定播放秒數(開始)
int		iMp3PlayEnd	可讓使用者設定播放秒數(結束)
bool	bLoop		是否Loop回放

系統事件&行為事件 資料 
ii_data:
string	strEventName	事件名稱
int		iEventLevel	事件層級
int		iGroupId	群組ID
bool	bEmail		群組電子郵件通知
bool	bSMS		群組簡訊通知
bool	bEmailAdmin	電子通知管理者
bool	bSMSAdmin	簡訊通知管理者
bool	bSnapshot	快照
bool	bCallPolice	警報提示
bool	bScreenBounce	畫面彈跳
bool	bPlaybackJump	回播跳出
bool	bScreenFlash	螢幕閃框
bool	bFTP		FTP上傳位址
string	strMp3		音檔名稱
int		iMp3PlayBin	可讓使用者設定播放秒數(開始)
int		iMp3PlayEnd	可讓使用者設定播放秒數(結束)
bool	bLoop		是否Loop回放

  • 回傳(return)

  • 範例:

Event.getEventInfo(l_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###setWarningInfo(i_data, o_onDone, o_onFail);

功能說明:警報事件編輯(編輯/添加)

變數說明:

  • 傳入(input)

變數名稱: i_data:{'iEventInx':索引, 'strAccount':處理帳號, 'strTimeEnd':處理時間, 'strText':處理說明:處理事件說明。}

變數類型: Object

變數說明:

'iEventInx' : Log索引編號(int)

'strEventName': 帳號(string)

'strTimeEnd': 時間(string) EX: 20150626235959(年月日時分秒)

'strText': 針對此事件的處理說明(string)

  • 傳出(output)

變數名稱: ii_data

變數類型: int

變數說明: 0(成功),1(失敗)

  • 回傳(return)

  • 範例:

Event.setWarningInfo(l_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###getWarningInfo(i_data, o_onDone, o_onFail);

功能說明:警報事件查看

變數說明:

  • 傳入(input)

變數名稱: i_data:{'iEventInx':索引}

變數類型: Object

變數說明: 'iEventInx' : Log索引編號(int)

  • 傳出(output)

變數名稱: ii_data

變數類型: Object

變數說明:


ii_data:
string	strEventName	事件名稱
string	strAccount	帳號名稱
string	strTimeBin	發生時間
string	strTimeEnd	處理時間
string	strText		敘述說明

  • 回傳(return)

  • 範例:

Event.getWarningInfo(l_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###searchWarningLog(i_data, o_onDone, o_onFail);

功能說明:警報搜尋事件

變數說明:

  • 傳入(input)

變數名稱: i_data:{'strTimeBin':時間區段, 'strTimeEnd':時間區段, 'iEventLevel':事件層級, 'iType':事件類型}

變數類型: Object

變數說明:

'strTimeBin':時間區段:可選擇起始時間與終止時間搜尋這段時間的事件。西元年/月/日(20150626)

'strTimeEnd':時間區段:可選擇起始時間與終止時間搜尋這段時間的事件。西元年/月/日(20150627)

'iEventLevel':事件層級:可選擇事件的緊急層級:全部(警告+急迫)(4)、警告(2)、急迫(3)。

'iType':事件類型:可選擇事件的類型:全部(4)、系統事件(1)、行為事件(2)、設備事件(3)。

  • 傳出(output)

變數名稱: ii_dataAr

變數類型: Object[]

變數說明:


ii_dataAr:
int		iEventInx	事件流水號	
int		iType		事件類型	1.系統事件 2.行為事件 3.設備事件
int		iEventLevel	事件層級	2. 警告 3. 急迫
string	strEventName	事件名稱	
string	strTimeBin	發生時間	
string	strAccount	處理帳號	
string	strTimeEnd	已處理時間	
bool	bEdit	是否編輯過	

  • 回傳(return)

  • 範例:

Event.searchWarningLog(l_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###searchEventLog(i_data, o_onDone, o_onFail);

功能說明:歷史搜尋事件

變數說明:

  • 傳入(input)

變數名稱: i_data:{'strTimeBin':時間區段, 'strTimeEnd':時間區段, 'iEventLevel':事件層級, 'iType':事件類型}

變數類型: Object

變數說明:

'strTimeBin':時間區段:可選擇起始時間與終止時間搜尋這段時間的事件。西元年/月/日(20150626)

'strTimeEnd':時間區段:可選擇起始時間與終止時間搜尋這段時間的事件。西元年/月/日(20150627)

'iEventLevel':事件層級:可選擇事件的緊急層級:全部(4)、一般(1)、警告(2)、急迫(3)。

'iType':事件類型:可選擇事件的類型:全部(4)、系統事件(1)、行為事件(2)、設備事件(3)。

  • 傳出(output)

變數名稱: ii_dataAr

變數類型: Object[]

變數說明:


ii_dataAr:
int		iEventInx	事件流水號	
int		iType		事件類型	1.系統事件 2.行為事件 3.設備事件
int		iEventLevel	事件層級	1.一般 2. 警告 3. 急迫
string	strEventName	事件名稱	
string	strTimeBin	發生時間	

  • 回傳(return)

  • 範例:

Event.searchEventLog(l_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###onEvent(i_data, o_onDone, o_onFail);

功能說明:觸發事件

變數說明:

  • 傳入(input)

變數名稱: i_data:{'iType':類型, 'iEventInx':事件索引, 'strTime':時間, 'strTriggerMode':觸發項目, 'strTriggerDevice':觸發設備, 'strTriggerChannel':觸發頻道, 'strText':內容:}

變數類型: Object

變數說明:

'iType':類型:系統事件(1)、行為事件(2)、設備事件(3)。

'iEventInx':事件索引 (*行為、系統用欄位)

'strTime':時間:西元年月日時分秒

'strTriggerMode':觸發項目:(*設備觸發用欄位)

'strTriggerDevice':觸發設備:(*設備觸發用欄位)

'strTriggerChannel':觸發頻道:(*設備觸發用欄位)

'strText':內容:

  • 傳出(output)

變數名稱: ii_dataAr:{'objEvent': 事件資料, 'objTriggerAr': 要被觸發的使用者資料陣列}

變數類型: Object[]

變數說明:


objEvent:
string	strEventName	事件名稱
int		iEventLevel	事件層級
string	strTriggerGroups	群組名稱
bool	bEmail		群組電子郵件通知
bool	bSMS		群組簡訊通知
bool	bFTP		FTP上傳
bool	bEmailAdmin	電子通知管理者
bool	bSMSAdmin	簡訊通知管理者
bool	bSnapshot	快照
bool	bCallPolice	警報提示
bool	bScreenBounce	畫面彈跳
bool	bPlaybackJump	回播跳出
bool	bScreenFlash	螢幕閃框
string	strMp3		音檔名稱
int		iMp3PlayBin	可讓使用者設定播放秒數(開始)
int		iMp3PlayEnd	可讓使用者設定播放秒數(結束)
bool	bLoop		是否Loop回放

objTriggerAr[]:
string	strEmail	使用者信箱
string	strPhone	使用者電話

  • 回傳(return)

  • 範例:

Event.onEvent(l_data,
    function (ii_dataAr)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###onEventEnd(i_data, o_onDone, o_onFail);

功能說明:觸發事件結束

變數說明:

  • 傳入(input)

變數名稱: i_data:{'iType':類型, 'iEventInx':事件索引, 'strTime':時間, 'strTriggerMode':觸發項目, 'strTriggerDevice':觸發設備, 'strTriggerChannel':觸發頻道, 'strText':內容:}

變數類型: Object

變數說明:

'iType':類型:系統事件(1)、行為事件(2)、設備事件(3)。

'iEventInx':事件索引 (*行為、系統用欄位)

'strTime':時間:西元年月日時分秒

'strTriggerMode':觸發項目:(*設備觸發用欄位)

'strTriggerDevice':觸發設備:(*設備觸發用欄位)

'strTriggerChannel':觸發頻道:(*設備觸發用欄位)

'strText':內容:

  • 傳出(output)

變數名稱: ii_dataAr:{'objEvent': 事件資料, 'objTriggerAr': 要被觸發的使用者資料陣列}

變數類型: Object[]

變數說明:


objEvent:
string	strEventName	事件名稱
int		iEventLevel	事件層級
string	strTriggerGroups	群組名稱
bool	bEmail		群組電子郵件通知
bool	bSMS		群組簡訊通知
bool	bFTP		FTP上傳
bool	bEmailAdmin	電子通知管理者
bool	bSMSAdmin	簡訊通知管理者
bool	bSnapshot	快照
bool	bCallPolice	警報提示
bool	bScreenBounce	畫面彈跳
bool	bPlaybackJump	回播跳出
bool	bScreenFlash	螢幕閃框
string	strMp3		音檔名稱
int		iMp3PlayBin	可讓使用者設定播放秒數(開始)
int		iMp3PlayEnd	可讓使用者設定播放秒數(結束)
bool	bLoop		是否Loop回放

objTriggerAr[]:
string	strEmail	使用者信箱
string	strPhone	使用者電話

  • 回傳(return)

  • 範例:

Event.onEventEnd(l_data,
    function (ii_dataAr)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###setFTPSetting(i_data, o_onDone, o_onFail);

功能說明:設定FTP的資料

變數說明:

  • 傳入(input)

變數名稱:


i_data = 
{
    'strHost': "dev.imoncloud.com",
    'strUser': "user",
    'strPassword': "password",
    'strPath': ""
}

變數類型: Object

變數說明:

'strHost':網址

'strUser':使用者

'strPassword':密碼

'strPath':路徑

  • 傳出(output)

變數名稱: ii_data

變數類型: int

變數說明: 0(成功),1(失敗)

  • 回傳(return)

  • 範例:

Event.setFTPSetting(i_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------

###getFTPSetting(o_onDone, o_onFail);

功能說明:取得設定FTP的資料

變數說明:

  • 傳入(input)

  • 傳出(output)

變數名稱:


ii_data = 
{
    'strHost': "dev.imoncloud.com",
    'strUser': "user",
    'strPassword': "password",
    'strPath': ""
}

變數類型: object

變數說明:

'strHost':網址

'strUser':使用者

'strPassword':密碼

'strPath':路徑

  • 回傳(return)

  • 範例:

Event.getFTPSetting(i_data,
    function (ii_data)
    {
    },
    function ()
    {
    });

---------------------------------------------------------------