Skip to content

jhurliman/node-frontpoint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Node.js Frontpoint Client

Unofficial FrontPoint Security API client. Currently supports querying security system and sensor states, arming, and disarming.

Usage

Install: npm i frontpoint

Querying:

const frontpoint = require('frontpoint')

frontpoint
  .login('your_username', 'your_password')
  .then(authOpts => frontpoint.getCurrentState(authOpts.systems[0], authOpts))
  .then(res => {
    console.log('Security Systems:', res.partitions)
    console.log('Sensors:', res.sensors)
  })
  .catch(err => console.error(err))

Arming:

const frontpoint = require('frontpoint')

frontpoint
  .login('your_username', 'your_password')
  .then(authOpts => {
    return frontpoint
      .getCurrentState(authOpts.systems[0], authOpts)
      .then(res => {
        // This will take 20-30 seconds
        frontpoint.armStay(res.partitions[0].id, authOpts).then(res => {
          console.log(res)
        })
      })
  })
  .catch(err => console.error(err))

Documentation

frontpoint~login(username, password) ⇒ Promise

Authenticate with alarm.com using the my.frontpointsecurity.com single sign-on portal. Returns an authentication object that can be passed to other methods.

Kind: inner method of frontpoint

Param Type Description
username string FrontPoint username.
password string FrontPoint password.

frontpoint~getCurrentState(systemID, authOpts) ⇒ Promise

Retrieve information about the current state of a security system including attributes, partitions, sensors, and relationships.

Kind: inner method of frontpoint

Param Type Description
systemID string ID of the FrontPoint system to query. The Authentication object returned from the login method contains a systems property which is an array of system IDs.
authOpts Object Authentication object returned from the login method.

frontpoint~getPartition(partitionID, authOpts) ⇒ Promise

Get information for a single security system partition.

Kind: inner method of frontpoint

Param Type Description
partitionID string Partition ID to retrieve
authOpts Object Authentication object returned from the login method.

frontpoint~getSensors(sensorIDs, authOpts) ⇒ Promise

Get information for one or more sensors.

Kind: inner method of frontpoint

Param Type Description
sensorIDs string | Array.<string> Array of sensor ID strings.
authOpts Object Authentication object returned from the login method.

frontpoint~armStay(partitionID, authOpts, opts) ⇒ Promise

Arm a security system panel in "stay" mode. NOTE: This call generally takes 20-30 seconds to complete.

Kind: inner method of frontpoint

Param Type Description
partitionID string Partition ID to arm.
authOpts Object Authentication object returned from the login method.
opts Object Optional arguments for arming the system.
opts.noEntryDelay boolean Disable the 30-second entry delay.
opts.silentArming boolean Disable audible beeps and double the exit delay.

frontpoint~armAway(partitionID, authOpts, opts) ⇒ Promise

Arm a security system panel in "away" mode. NOTE: This call generally takes 20-30 seconds to complete.

Kind: inner method of frontpoint

Param Type Description
partitionID string Partition ID to arm.
authOpts Object Authentication object returned from the login method.
opts Object Optional arguments for arming the system.
opts.noEntryDelay boolean Disable the 30-second entry delay.
opts.silentArming boolean Disable audible beeps and double the exit delay.

frontpoint~disarm(partitionID, authOpts) ⇒ Promise

Disarm a security system panel. NOTE: This call generally takes 20-30 seconds to complete.

Kind: inner method of frontpoint

Param Type Description
partitionID string Partition ID to disarm.
authOpts Object Authentication object returned from the login method.

Releases

No releases published

Packages

No packages published