An open API service indexing awesome lists of open source software.

https://github.com/helpfulscripts/hshomesec

A simple home security application, see:
https://github.com/helpfulscripts/hshomesec

es6 foscam home-security hsdocs javascript nodejs osx typescript wansview

Last synced: 9 months ago
JSON representation

A simple home security application, see:

Awesome Lists containing this project

README

          

hsHomeSec
========
[![npm version](https://badge.fury.io/js/hshomesec.svg)](https://badge.fury.io/js/hshomesec)
[![GitHub](https://img.shields.io/badge/GitHub-hsHomeSec-blue.svg)](https://github.com/helpfulscripts/hsHomeSec)
[![docs](https://img.shields.io/badge/hsDocs-hsHomeSec-blue.svg)](https://helpfulscripts.github.io/hsHomeSec/#!/api/hsHomeSec/0)
[![Build Status](https://travis-ci.com/HelpfulScripts/hsHomeSec.svg?branch=master)](https://travis-ci.com/HelpfulScripts/hsHomeSec)
[![Coverage Status](https://coveralls.io/repos/github/HelpfulScripts/hsHomeSec/badge.svg?branch=master)](https://coveralls.io/github/HelpfulScripts/hsHomeSec?branch=master)
[![NPM License](https://img.shields.io/badge/license-MIT-brightgreen.svg)](https://www.npmjs.com/package/hshomesec)

Helpful Scripts simple home security system.

# Home Security System
A simple homebrew alarm system for OSX High Sierra

Written in [Typescript](typescriptlang.org) to run on [Node](nodejs.org).
- supports cameras with built-in web api. Currently tested
- WansView Q3S, K3
- Foscam C1
- creates its own ftp server and configures devices to send snapshots and videos there
- communicates with users via OSX services `Mail`, `Messages`, and `Facetime`
- simple and universal UI: receives remote user commands via email

See [documentation for more details](http://helpfulscripts.github.io/hsHomeSec/#!/api/hsHomeSec/0)

## Installation
1. Create an *install home folder*, `cd` there, and clone the project:

`> npm i hshomesec`

## Setup
1. Move to the installation folder:

`> cd node_modules/hshomesec`
2. create homeCfg.json from the template:

`> cp src/config/homeCfg-template.json src/config/homeCfg.json`
3. configure `homeCfg.json` with server IPs and available devices (cameras, etc.)
> It may be a good idea to also configure your DHCP server to assign fixed addresses to the computer running the homeSec server, as well as to connected devices.
4. Configure a valid mail account in `Mail`
5. Optional: Setup your Mac as follows
- select `Desktop & Screen Saver`, set `Start after:` to `never`
- select `Energy Saver`; set `Computer Sleep` to `never`; deselect `Put hard disk to sleep`
- install voice `Allison`
- open panel `Accessibility->Speech`;
- select `System Voice: Custom` and select `Allison`. Then close.
Voice will be downloaded automatically.
- `Terminal->Preferences->Profiles->Shell`:
- `When the shell exits: Close the window`
- `Ask before closing: Never`

## Run
- From the *install home folder*, call

`> sudo node node_modules/.bin/hsHomeSec`

to start the system without starting an ftp server
- Or call

`> sudo node node_modules/.bin/hsHomeSec ftp`

to start the system with its own ftp server. The ftp server is needed
by some devices to store snaphots and recordings in case an alarm is
detected.
> You can try the calls without `sudo`, though it is likely needed since we start an ftp server (if selected).
The webserver lets Mail (via Applescript) tell the system about incoming user commands.

## Operations
- send an email to the mail account configured in step 4 above.
- ensure that the mail address you send it from is configured as `User` in `homeCfg.json`. A `403` error will be returned if not.
- issue commands via the mail's subject field. For example:
- `snap` will return a snapshot from each attached camera
- `help` will return a list of available commands.