Commit Graph

649 Commits (cc48dac1dd87385568ebeddb1b6373d7c7f3f64d)

Author SHA1 Message Date
Moe fc082daf8c ptz command display direction in log row 2020-06-13 11:35:09 -07:00
Moe 866cb8d538 Refactor PTZ Control code+++ 2020-06-13 11:30:04 -07:00
Moe c004275fa8 put logger inside s.cameraControl callback 2020-06-13 11:27:46 -07:00
Moe beccde6fdc Refactor PTZ Control code++ 2020-06-13 11:27:03 -07:00
Moe ab8971ad28 Refactor PTZ Control code+ 2020-06-13 11:04:38 -07:00
Moe bbc1dc533f Refactor PTZ Control code, move ptz and onvif code to separate libs 2020-06-13 00:28:50 -07:00
Moe ba32e44e2c Merge branch 'dev-confidence-testing' into 'dev'
Add confidence testing into switch statement

See merge request Shinobi-Systems/Shinobi!202
2020-06-10 20:57:25 +00:00
dennis.cartier 20e4a89e04 Add support to test confidence property in object detection 2020-06-08 05:40:51 -04:00
Moe 3781ea5f35 PTZ Tracking : Auto-Up require object height larger than 80% of img height 2020-06-07 23:44:45 -07:00
Moe 47aa4fd55b PTZ Tracking : Fix Auto-Up 2020-06-07 23:08:04 -07:00
Moe 3d3ca32bc3 PTZ Tracking : if person too low on screen then lower tilt 2020-06-07 22:52:26 -07:00
Moe 2566d52b3e PTZ Tracking : Now does both X and Y axis following on larget person object found
- if person object Y value is less than 30 then camera will automatically move upward. In future this will be configurable.
2020-06-07 22:45:55 -07:00
Moe b93abc1589 Basic PTZ Follow : detecting position on X axis works, y axis does not 😭 2020-06-07 11:48:39 -07:00
Moe 2c7fd09c94 Basic PTZ Follow now only follows largest "person" object found
- will think of better name later
2020-06-07 10:32:44 -07:00
Moe df1cf56d62 Basic PTZ Follow upon Object Detection 2020-06-06 23:50:43 -07:00
Moe 600a7f5641 Better ONVIF Scanner, now displays all found network devices
- Will now display ONVIF devices if auth fails
- will now display all network devices with operating web panels
2020-06-06 20:45:08 -07:00
Moe f1f22a49f1 return devices that are possible IP cameras even if failed ONVIF capture 2020-06-06 19:07:59 -07:00
Moe a0f07406cc Move Probe and ONVIF functions to separate lib (scanners.js) 2020-06-06 18:55:01 -07:00
Moe 34d9b49f6b Refactor Probe tool (backend), cleanup Probe tool (front) 2020-06-06 15:29:57 -07:00
Moe 5bf8a04d53 Probe result can populate Monitor Settings window 2020-06-06 13:47:27 -07:00
Moe f8a0160356 fix Probe JSON output 2020-06-06 13:13:04 -07:00
Moe 615f66bb1b better port validation on monitor start 2020-06-05 15:25:02 -07:00
Moe cd9b2bd857 Update events.js 2020-06-05 08:33:01 -07:00
Moe aa7c6f387a update syntax for Event Counts table creation 2020-06-04 13:06:13 -07:00
Moe c8e054ce25 validate port chosen on monitor start 2020-06-04 12:59:46 -07:00
Moe 41d25a58ab fix missing cloud timelapse frames table insertion 2020-06-04 12:59:25 -07:00
Moe eb5aa7909e add option to enable logging for smtp-server 2020-06-01 22:17:36 -07:00
Moe 059faab18d Fix IP-based authorization for API keys 2020-05-30 22:36:19 -07:00
Moe 5436dab375 Fix "Object in Region" detection (by UnlikelyLocation9 in the Community chat) 2020-05-28 12:10:27 -07:00
Moe 683218d988 minor touch up 2020-05-27 17:48:30 -07:00
Moe c2a9633cc1 Refactor Schedules js, add Scheduler launcher in Preset section 2020-05-27 17:46:37 -07:00
Moe e2ea8c03fe Allow creating Presets from inside Monitor Settings window 2020-05-25 20:49:12 -07:00
Moe 479efbf228 adjust counting methodology for tracking plugins
- tracking plugins are currently not available to public but you may still use the counting feature on a per-frame basis instead of tracked object
2020-05-24 22:10:31 -07:00
Moe 48e6483550 fix line 405 bug 2020-05-24 21:00:19 -07:00
Moe 7c60fd16de Update webServerPaths.js 2020-05-24 13:55:48 -07:00
Moe 93fdabb232 refactor /logs/ rows API method 2020-05-24 09:36:52 -07:00
Moe 7cd55de801 Hide username and password in ffmpeg log outputs+ 2020-05-24 09:01:58 -07:00
Moe 1269bfe08a refactor /events/ rows API method 2020-05-24 08:44:44 -07:00
Moe aa390287f0 fix query by time 2020-05-24 07:46:00 -07:00
Moe a5b04de5de refactor /videos/ row request API 2020-05-24 07:41:10 -07:00
Moe 8526eea89a refactor querying tables for rows binded to monitors with start and end times
- prepare function for other API functions that use this methodology
2020-05-23 23:08:54 -07:00
Moe 0379fa70a7 Update sql.js 2020-05-23 22:33:57 -07:00
Moe d79a59f401 refactor Events Counts get rows API method 2020-05-23 22:33:55 -07:00
Moe 664a30ee32 add Event Counting engine 0.1 2020-05-23 22:12:42 -07:00
Moe f35136b46c Hide username and password in ffmpeg log outputs 2020-05-23 16:19:34 -07:00
Moe e6b309b7c8 Add API request to upload all available monitor configs 2020-05-20 10:44:56 -07:00
Moe 16f243000c Add API method to get configurations
- by default gets user uploaded configurations
2020-05-20 08:59:50 -07:00
Moe 4ce3494113 Update shinobiHub.js 2020-05-20 08:31:01 -07:00
Moe 3f0efd3c5c Add option for automatic private backup of monitors to ShinobiHub
- This feature is for Subscribers only.
2020-05-19 16:56:21 -07:00
Ian Rubado b724724cfb Changed per Moe's reccomendation. 2020-05-15 21:28:27 -04:00
Ian Rubado cbd145ff73 Fix whitespace vs tab. 2020-05-15 18:41:15 -04:00
Ian Rubado d0b3b6eedd Resolving a zombie ffmpeg process on linux under certain conditions. 2020-05-15 18:34:12 -04:00
Moe 5e51c6694c fix stray fps 2020-05-13 22:43:18 -07:00
Moe 0c3e611a39 fix mapping in detactor output 2020-05-13 20:14:06 -07:00
Moe 82182fe8bf Fix "undefined" dropInEvents folder 2020-05-13 18:07:54 -07:00
Moe 447cce9b6f Adjustment to Snapshot command 2020-05-13 17:39:00 -07:00
Moe 91bd1f3b5e Fix High CPU Usage with JPEG API and Timelapse 2020-05-13 17:38:56 -07:00
Moe f5c3467ea7 properly expose some object detection options 2020-05-13 15:32:53 -07:00
Moe b0c3f38049 fix large image object detection 2020-05-13 15:10:08 -07:00
Moe a993130f4b Fix "Send Frames" for Object Detector 2020-05-13 14:30:50 -07:00
Moe 6192c27fd2 Complete Plugin Cluster Method, first revision
- Plugin cluster chooses which plugin to send to based on how many frames are in the plugin's queue.
2020-05-11 18:51:05 -07:00
Moe 0fc140d3be fix monitor process hang if ordered to do obj detection with no plugin 2020-05-11 15:57:40 -07:00
Moe 9c566644a1 Convert to Packagable Syntax 2020-05-09 17:27:44 -07:00
Moe 301bb4ebca minor formatting 2020-05-09 16:16:22 -07:00
Moe beb621de5b basic plugin cluster handling 2020-05-07 23:01:16 -07:00
Moe 14037040b8 disable automatcally deleteing current after 10 idle seconds
- future update will incorporate logging this count on interval
2020-05-07 08:41:17 -07:00
Moe 66e71e3269 display expiration date for limited time subscriptions (PayPal) 2020-05-07 08:40:19 -07:00
Moe d72b61f592 Add Basic Object Counting mechanism 2020-05-05 08:02:23 -07:00
Moe 5dbeb8c5e5 Add Wallclock Timestamp toggle in Monitor Settings 2020-05-02 13:25:38 -07:00
Moe 39090fb9b4 dont allow sub user to modify addStorage 2020-04-19 07:57:39 -07:00
Moe 1502d0a200 Allow disabling Wallclock Timestamps with conf.json parameter
- add `"wallClockTimestampAsDefault":false` to disable it.
2020-04-19 07:56:56 -07:00
Moe 39b8337b1c fix concatted detector event response 2020-04-10 08:59:48 -07:00
Moe 1a8fa925de Merge branch 'filter_streamtype_for_tv_channels' into 'dev'
Filter streamtype for tv channels

See merge request Shinobi-Systems/Shinobi!178
2020-04-06 20:41:30 +00:00
Ian Rubado 00a883f127 Simplified even more. 2020-04-06 16:33:38 -04:00
Ian Rubado 2a22db2e55 Fix whitespace. 2020-04-06 16:16:19 -04:00
Ian Rubado 8b95989f97 No need to check req.query.streamtype contents, only need to know it exists and filter accordingly. 2020-04-06 16:14:23 -04:00
Moe 453604bec0 Merge branch 'event_monitor_name' into 'dev'
provide human-readable display name to custom event commands for automation

See merge request Shinobi-Systems/Shinobi!172
2020-04-06 16:57:51 +00:00
Moe 174448f9b4 manually add #173
the original MR was done the incorrect branch.
2020-04-06 09:55:32 -07:00
Moe 2260abbda4 clear two factor token on login 2020-04-05 20:31:01 -07:00
Ian Rubado e0284ede1e Fix whitespace 2020-04-05 23:28:00 -04:00
Ian Rubado f90329d015 Filter by streamtype for tv channel listing. 2020-04-05 23:26:03 -04:00
Moe 5308449979 send only essential data on 2FactorAuth 2020-04-05 19:51:12 -07:00
Moe 184bc2fa69 Add tree-kill fix for snap zombies
- fix found by dieseldude in the community chat
2020-04-05 19:09:24 -04:00
Moe 885ec82390 add "events" to Traditional Recording insertCompletedVideo request
- this will allow these kinds of recordings to provide a notification to the Mobile App upon completion
2020-04-05 19:09:24 -04:00
Moe 9cd9446800 move segment file creation to separate pipe 2020-04-05 16:00:32 -07:00
Moe 45d256cbae fs.unlink as preliminary deletion function 2020-04-04 20:41:39 -07:00
Moe a49eeece88 change max required frame for timelapse video creation 2020-04-04 17:59:03 -07:00
Moe 51f07ac535 before starting a monitor check that it's admin user exists 2020-04-04 17:58:00 -07:00
Moe 21b2de65fd fix missing detector_motion_count array 2020-03-29 10:47:21 -07:00
Moe ec1041c389 Add tree-kill fix for snap zombies
- fix found by dieseldude in the community chat
2020-03-28 16:26:01 -07:00
Moe eacb68b978 pass on nulled response from startup check 2020-03-08 22:34:36 -07:00
Moe 00c400ed3b add extension for when websocket data is sent 2020-03-07 12:03:33 -08:00
Moe 443b5565fe add "events" to Traditional Recording insertCompletedVideo request
- this will allow these kinds of recordings to provide a notification to the Mobile App upon completion
2020-03-05 11:12:54 -08:00
Kyle Harding 294c6f7e29
provide human-readable display name to custom event commands for automation 2020-03-05 11:09:24 -05:00
Moe 6bd18faf1d replace motion counter with holding list of events in memory
+ allow adding "events" to s.insertCompletedVideo
2020-03-03 07:14:32 -08:00
Moe c72f2fe167 Add error.stack check to backblaze error handler 2020-02-25 09:01:38 -08:00
Moe 6282860b64 add windows taskkill in snapshot.js 2020-02-24 20:34:09 -08:00
Moe 3684ff2cb2 add windows taskkill in singleCamera.js 2020-02-24 20:25:20 -08:00
Moe ed4eab625a add some windows specific kill and delete commands
+ add Shinobi Mobile mention
2020-02-23 10:09:54 -08:00
Moe 651421200e FTP Server no longer use fs.watch - make use ftp upload event
+ update ftp-srv
2020-02-18 20:54:48 -08:00
Moe b281a34476 fix lingering "singleCamera.js" bug 2020-02-13 12:29:45 -08:00
Moe 1971955034 Merge branch 'events.js' into 'dev'
add '{{REASON}}' substitution string for webhook

See merge request Shinobi-Systems/Shinobi!145
2020-02-07 20:04:33 +00:00
Moe 475365f090 Merge branch 'patch-12' into 'dev'
Use cleaner math for calculating OpenBSD RAM usage

See merge request Shinobi-Systems/Shinobi!160
2020-02-07 20:01:15 +00:00
JordanGeoghegan f5f89e6d74 Fix longstanding issue with incorrect file size calculation 2020-01-31 18:30:24 -08:00
Moe 2f44953188 Fix zombie process created by cameraThread/snapshot.js 2020-01-26 23:14:44 -08:00
Jordan Geoghegan 093b0a70f7 Use cleaner math for calculating OpenBSD RAM usage 2020-01-26 02:56:01 +00:00
Jordan Geoghegan 5a3bf96845 Improve Linux CPU usage monitoring. Add support for Busybox based distros. Tested on Ubuntu, CentOS and Alpine Linux.
Required as part of ongoing work to officially support Alpine Linux
2020-01-21 08:09:04 +00:00
Moe 5f0ed0a486 fix zombie process with SIGTERM event 2020-01-20 12:39:17 -08:00
Moe b7f234a086 snapCmd path fix 2020-01-20 12:38:44 -08:00
Moe 426ce3a663 make use_wallclock_as_timestamps only apply to h264 input by default 2020-01-18 11:48:54 -08:00
Moe e6144ef1c1 make HTTP Event Trigger and DropIn Trigger act for pass off to object detector 2020-01-17 23:20:16 -08:00
Moe 4a69a1aa8e adjust response headers
- make Access-Control-Allow-Origin : *
- add no-caching headers to streams over http
2020-01-15 13:47:59 -08:00
JeliBeanMachine 8520a4480d add '{{REASON}}' substitution string for webhook 2020-01-15 15:04:01 +00:00
Moe 53758ff1fb Merge branch 'patch-1' into 'dev'
Add OpenBSD support for CPU and RAM stat collection in libs/health.js. While...

See merge request Shinobi-Systems/Shinobi!141
2020-01-11 05:38:03 +00:00
Jordan Geoghegan 84b96e83e0 Add OpenBSD support for CPU and RAM stat collection in libs/health.js. While here, optimize FreeBSD stat collection. 2020-01-11 02:55:53 +00:00
Moe 74f0565b81 add ffmpeg process kill on cameraThread exit 2020-01-03 23:31:19 -08:00
Moe 2bb2f83af5 add force kill on pid for zombie cameraThread processes 2020-01-03 23:27:16 -08:00
Moe c287a9953c Fix dropInEvents deletion pointer
+ add Dashcam notice in Help window
+ remove system log whenever a monitor process thread starts (original ones still exist)
2020-01-03 17:10:36 -08:00
Moe 5ee4cb7175 fix FTP Drop In Event file cleanup 2019-12-24 23:00:34 -08:00
Moe 17be6cf15a Update FTP Drop In Events to recurse directories created 2019-12-24 22:39:40 -08:00
Moe 81fe768e0c remove old executor for icon grabber 2019-12-23 12:33:04 -08:00
Moe 4959ade2c2 wallclock fix for strangely long, single frame videos 2019-12-23 12:23:41 -08:00
Moe 651ddbea1c Merge branch 'dev' of https://gitlab.com/Shinobi-Systems/Shinobi into dev 2019-12-23 08:23:29 +06:00
Moe ebf3189c31 snapshot run from camera thread instead of main daemon 2019-12-22 08:19:09 +06:00
Moe 06b65f2cf5 move isAtleastOneMatrixInRegion to events.js 2019-12-17 17:05:22 +06:00
Moe ae24fc5651 Retry Connection counter resets after 1 minute of success
+ light cleanup
+ Retry Connection now default is 10
2019-12-12 18:07:01 +06:00
Moe fe67fbbc37 Merge branch 'multi-thread-alpha' into 'dev'
Multi Threading

See merge request Shinobi-Systems/Shinobi!135
2019-12-12 05:42:08 +00:00
Moe 3320f7b958 comment out logger used for debug 2019-12-11 15:39:40 +06:00
Moe 26df5e3470 Fix monitor black on Save 2019-12-11 15:37:53 +06:00
Moe 712c2a0419 light cleanup, still broken
still blacks on monitor restart with pipe 3 enabeld
2019-12-11 13:23:01 +06:00
Moe 0637e32d38 add more logging to thread handling
+minor cleanup
2019-12-08 21:49:27 +06:00
Moe 3531e006f1 Update ffmpeg.js 2019-12-08 14:01:33 +06:00
Moe 891294281d Monitor black on start fix 2019-12-08 14:00:56 +06:00
Moe 332f6185ff show threaded process logs in UI log stream 2019-12-08 11:53:17 +06:00
Moe 59d0635680 no reference on launchMonitorProcess
+deglobalize cameraDestroy
2019-12-07 10:24:10 +06:00
Moe 5c5fbcaf4a fix broken stream on restart 2019-12-07 10:20:05 +06:00
Moe 2e03111043 Fix Steam Handler Memory Leak
+ minor function name cleanup, remove some globals
2019-12-07 10:09:09 +06:00
Moe 4a98480aef differentiate pam pipe and regular pipe 2019-12-06 09:45:24 +06:00
Moe feb6c12eb3 Update singleCamera.js 2019-12-05 20:12:29 +06:00
Moe 55f82969be reorder functions 2019-12-05 18:41:36 +06:00
Moe 577190c657 disable loggers in added threads, need better solution 2019-12-05 18:38:52 +06:00
Moe eca9fca2e4 fix missing mainDirectory var 2019-12-05 18:31:19 +06:00
Moe f18a4ed4fc put snapshot/icon creation in separate thread 2019-12-05 18:23:46 +06:00
Moe da53108ba9 Multi Threaded Camera Spawn (Alpha) 2019-12-05 13:25:13 +06:00
Moe 6d826ca527 update video file upload method - fix endTime parsing 2019-11-23 16:53:54 -08:00
Moe 19ca1d00b9 update monitor queue action to allow 3 at a time 2019-11-14 12:46:49 -08:00
Moe 1a55810579 fix "Cannot read property 'use_detector_filters'of undefined" 2019-11-13 17:57:11 -08:00
Moe e6a18ee7c8 set start time for uploaded video based on uploaded file name 2019-11-04 08:47:20 -08:00
Moe 147f3c0051 Add Uploading Video to Monitor Recordings by POST 2019-11-03 07:59:18 -08:00
Moe ed76347b25 Add Webhook and Command to No Motion Detector 2019-10-31 22:02:14 -07:00
Moe a4a652a9f9 fix rerun notrig on event if detector disabled 2019-10-31 21:39:59 -07:00
Moe 115752820d Update No Motion Detector; Add Discord Notification 2019-10-31 17:26:52 -07:00
Moe 5ff2419fac add async methods to webServerPaths
+ zipVideos with server is being removed. the client side method requires no extra storage space on the server.
2019-10-28 13:31:10 -07:00
Moe 068f5481e8 fix web stream paths 2019-10-28 13:25:31 -07:00
Moe 0c4fdd0811 fix ffmpeg crashing on record 2019-10-27 14:52:04 -07:00
Moe 065ac18d17 Add Subscription Check 2019-10-26 13:29:34 -07:00
Moe d7d0aeb6a8 fix webm recording bug 2019-10-25 10:32:31 -07:00
Moe 2a3f6f39a1 fix API login method for SMTP/FTP 2019-10-09 09:29:49 -07:00
Moe d615ad56f1 fix childNode recording transfer 2019-10-04 08:16:57 -07:00
Moe 38287ae784 add missing icon rules 2019-10-03 08:15:07 -07:00
Moe cf1fd47745 reset activeMonitor object on failure
+ fix syntax error with monitor.details
2019-10-03 08:03:36 -07:00
Moe 14353155a2 default autoDropCache to false 2019-10-02 22:52:15 -07:00
Moe 3a81da567c cache side panel icon for faster loading and lower load on client open 2019-10-02 22:04:52 -07:00
Moe 2ad0dbcc4d silence log for fail snapshot 2019-10-02 20:17:29 -07:00
Moe 34e06c4bc6 lightly clean output flag option for snapshot 2019-10-02 19:36:21 -07:00
Moe 2457ccdfbf Update notification.js 2019-10-02 19:17:20 -07:00
Moe e4ea376f48 fix snapshot : move rtsp_transport flag insertion 2019-10-02 14:45:11 -07:00
Moe 072732bd82 load users before monitors on start 2019-10-02 14:05:56 -07:00
Moe 52aa04b2d7 fix snap time on detectorStream and HLS 2019-10-02 11:56:20 -07:00
Moe ccf90f67f8 add RTSP Transport to monitorSnapShot command 2019-10-01 13:53:20 -07:00
Moe b946588ee6 fix cpu indicator for cluster mode 2019-09-26 12:21:45 -07:00
Moe 7a1ff82b5b delete all instances of monitor from other childNode servers on start 2019-09-26 12:18:44 -07:00
Moe 0db090c093 clear stale cameras from childNode activeCamera list 2019-09-25 15:33:03 -07:00
Moe c777f85475 add !dead condition for childNode selector
+ make getChildNodes response cleaner
2019-09-24 20:45:43 -07:00
Moe 5a667d9cf2 make childNode disconnet sync monitor restarts (like on startup) 2019-09-24 19:11:48 -07:00
Moe 6f3651e955 add 2 second wait per camera on startup (sync) 2019-09-24 15:47:18 -07:00
Moe e5d8b9caa4 fix childNode camera count load balancer 2019-09-24 14:16:03 -07:00
Moe e7481c1316 fix childNode cpu emit, fix monitor cleanup on disconnect (max stack bug) 2019-09-24 13:56:33 -07:00
Moe e362639a9a fix childNode ghost processes from disconnect 2019-09-24 11:54:01 -07:00
Moe 1fe85465b4 fix childNode failure to restart processes after disconnect 2019-09-24 11:35:37 -07:00
Moe bcbb6e8083 add missing lang passage 2019-09-21 13:49:02 -07:00
Moe 07ed549f99 Merge branch 'dev' of https://gitlab.com/Shinobi-Systems/Shinobi into dev 2019-09-10 12:24:05 -07:00
Moe 7c275f3e6b fix recording folder syntax
- wow big dumb
2019-09-10 12:23:56 -07:00
Austin Lakeman 8f5621fa18 Corrected var check for multi trigger setting. 2019-09-08 21:28:25 +00:00
Moe 42dd6a5544 fix stream folder creation 2019-09-07 23:56:59 -07:00
Moe 276773bc61 add frame minimum (30 frames) to timelapse mp4 builder 2019-09-07 23:19:21 -07:00
Moe ac6cd26bcc more async functions 2019-09-07 23:17:57 -07:00
Moe cd18f64792 Update dropInEvents.js 2019-09-07 13:35:03 -07:00
Moe 5524b113e1 make dropInEvent server async functions onMonitorInit
+ make folder error handler a global function
2019-09-07 12:49:02 -07:00
Moe edbdcad7b6 clean up some object detector ffmpeg strings 2019-09-06 20:41:24 -07:00
Moe 4e8cdb4876 make camera folder creation sync functions as async 2019-09-06 20:41:09 -07:00
Moe 5c80cb4938 fix Content-Type for video file stream 2019-09-06 17:02:17 -07:00
Moe 085b6df7d9 fix Command on Event timeout 2019-09-04 18:20:06 -07:00
Moe c501a8929a Fix Timelapse JPEG generatorUrl, Fix Power Video video launch on drag
+ minor cleanup of unused files
2019-08-30 10:00:25 -07:00
Moe d117ba00f9 Merge branch 'Add-lang-vars' into 'dev'
Added language variables

See merge request Shinobi-Systems/Shinobi!94
2019-08-28 15:01:06 +00:00
Moe beffc10ab4 Merge branch 'patch-3' into 'dev'
Added language vars to folder.js

See merge request Shinobi-Systems/Shinobi!97
2019-08-19 06:28:20 +00:00
Moe 0475745aa7 adjust fileQueue timeout on DropInEvents 2019-08-16 13:22:03 -07:00
Moe cf353ff99d minor cleanup 2019-08-14 10:42:41 -07:00
Moe 5565127676 add onBeforeInsertCompletedVideo extender
+ minor cleanup
2019-08-14 10:41:28 -07:00
Moe 2736f3a79d Add option to disable SartTLS for SMTP Server
+ make it so "alarm event" header or subject line is used for SMTP trigger event
2019-08-13 16:21:39 -07:00