npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@inclouded/amsmart2-device

v1.2.9

Published

``` npm install --save @inclouded/amsmart2-device ```

Downloads

76

Readme

Amsmart2-Device SDK

npm install --save @inclouded/amsmart2-device

Introduction

In the repository the Amsmart2-Device SDK can be found in an installable form. The SDK can be installed for every Ionic or Node.js project. The SDK accomplishes the necessary http requests.

Usage

  1. For using the SDK an Ionic or Node.js project is needed.

  2. Interfaces:

export interface zwnode_get_ep_listData {
  url: string,
  deviceId: string,
  cfUrl: string,
  noded: number
}

export interface zwep_get_if_listData {
  url: string,
  deviceId: string,
  cfUrl: string,
  epd: number
}


export interface zwif_basic_setData {
  url: string,
  deviceId: string,
  cfUrl: string,
  intf_desc: string,
  value?: number
}

export interface zwif_basic_selectData {
  url: string,
  deviceId: string,
  cfUrl: string,
  intf_desc: string
}

export interface zwif_switch_setData {
  url: string,
  deviceId: string,
  cfUrl: string,
  intf_desc: string,
  value?: number
}

export interface zwif_switch_selectData {
  url: string,
  deviceId: string,
  cfUrl: string,
  intf_desc: string
}

export interface loginToZwareData {
  url: string,
  deviceId: string,
  cfUrl: string,
  usrname: string,
  passwd: string
}

export interface logoutToZwareData {
  url: string,
  deviceId: string,
  cfUrl: string
}

export interface loginFromCrowData {
  username: string,
  password: string,
  email: string
}

export interface GetMeasurementsByDeviceData {
  duration: string
}

export interface TakePictureCrowData {
  client_secret: string;
}

export interface updateDeviceData {
  id: number,
  device_type: string,
  zone: number,
  additional_info: {
    owner: number,
    partitions: number[]
  }
}

export interface removeDeviceData {
  device_type: string,
  zone: number
}

export interface enrollDeviceData {
  enrollment_id: number,
  zone: number,
  additional_info: {
    partitions: number[],
    owner: number
  }
}

export interface wifiConnectData {
  ssid: string,
  password: string
}

export interface wifiEnableDisableData {
  enable: boolean
}

export interface disablePgmData {
  id: number
}

export interface editPgmData {
  type: string,
  options: {
    timing: number,
    true_output: boolean,
    timed_output: boolean,
    code_required: boolean,
    partitions: number[]
  }
}

export interface setPgmTypeData {
  id: number,
  type: string
}

export interface sendHomeAutCommandData {
  id: number,
  value: string,
  time: number
}

export interface zWaveResetDriverData {
  mode: string
}

export interface zWaveSetNodeLocationData {
  node_id: number,
  location_id: number
}

export interface zWaveSetValueData {
  node_id: number,
  value:
  {
    node:
    {
      id: number,
      value:
      {
        class:
        {
          command:
          {
            id: number,
            version: number
          }
        },
        index: number,
        instance: number,
        data: string
      }
    }
  }
}

export interface zWaveStartNodeInfoData {
  node_id: number
}

export interface zWaveDeleteModeData {
  enable: boolean,
  timeout: number
}

export interface zWaveEnrollModeData {
  enable: boolean,
  timeout: number
}

export interface zWaveEnableDriverData {
  mode: boolean,
  driver_path: string
}

export interface setIpCamLocationData {
  camera_id: number,
  location_id: number
}

export interface addIpCamData {
  camera_id: number,
  location_id: number,
  connection_type: string
}

export interface setDateTimeData {
  time: string
}

export interface sendPrivateEmailData {
  text: string
}

export interface updateVodModeData {
  mode: string
}

export interface setPanelNameData {
  class: string,
  id: number,
  name: string
}

export interface setUserCodeData {
  user_code: number,
  user_id: number
}

export interface setUserPartitionsData {
  partitions: number[],
  user_id: number
}

export interface makeVideoData {
  camera_id: number
}

export interface getPushOptionsData {
  Simple: boolean
}

export interface emailNotificationsData {
  Simple: boolean
}

export interface registerEmailNotificationData {
  mode?: number,
  Simple: boolean,
  data?: {
    ALERT: boolean,
    ALARM: boolean,
    RESTORE: boolean,
    SECURITY_OPEN_CLOSE: boolean,
    CAMERA_BEING_VIEWED: boolean,
    CAMERA_TROUBLE: boolean,
    X10_ON_OFF: boolean,
    X10_TROUBLE: boolean,
    ONLINE: boolean,
    OFFLINE: boolean,
    NOTICE: boolean
  }
}

export interface bypassDataCrow {
  bypass: boolean
}

export interface bypassDataTyco {
  zone: number,
  set: boolean
}

export interface smartDeviceAssignData {
  zone: number
}

export interface disabelSirenData {
  mode: string
}

export interface panelLoginData {
  panel_serial: string,
  user_code: string,
  app_id: string
}

export interface authToTycoData {
  email: string,
  password: string,
  app_id: string
}

export interface getStateData {
  unt_id: number,
  batch_id?: string
}

export interface editData {
  unt_id: number,
  form: {
    unt_account: string,
    unt_serial: string,
    unt_sim_number: string,
    utg_id: number,
    _unt_module_bb: boolean,
    _unt_module_gprs: boolean
  }
}

export interface editInfoData {
  unt_id: number,
  form: {
    unt_contact_address: string,
    unt_contact_email: string,
    unt_contact_name: string,
    unt_contact_phone: any,
    unt_remark: any
  }
}

export interface createReportData {
  name: string,
  schedule: {
    pattern: string,
    schedule: string,
    settings: any
  },
  num_rows: number,
  export: string[],
  allPanels: boolean,
  sendTo: any,
  unt_id: number[]
}

export interface initiateinspectionData {
  unt_id: number[],
  batch_id?: string
}

export interface remoteinspectionScheduleData {
  unt_id: number[],
  schedule: string,
  date?: string,
  repetition?: number
}

export interface saveLocationData {
  unt_id: number,
  locations: any[],
  batch_id?: string
}

export interface refreshLogData {
  unt_id: number,
  log: string,
  batch_id?: string
}

export interface disableKeypadData {
  unt_id: number
}

export interface enableKeypadData {
  unt_id: number
}

export interface zoneremoveData {
  utz_id: number,
  batch_id?: string
}

export interface zoneaddData {
  unt_id: number,
  form: {
    deviceId: string,
    zoneId: string,
    partitions: string[],
    batch_id?: string
  }
}

export interface walkteststopData {
  unt_id: number
}

export interface walkteststartData {
  unt_id: number,
  batch_id?: string
}

export interface uploadData {
  unit_id: number,
  diff: any[][],
  version: number,
  batch_id?: string
}

export interface setLabelData {
  entityClass: string,
  entityId: number,
  name: string,
  unitId: number,
  batch_id?: string
}

export interface rarelyusedData {
  unt_id: number,
  utz_id: number,
  utz_rarely_used: boolean
}

export interface setSoakzoneData {
  enabled: boolean,
  utz_id: number,
  batch_id?: string
}

export interface rebootData {
  unt_id: number,
  timeout: number
}

export interface zonerssiData {
  unt_id: number,
  batch_id?: string
}

export interface restrictionDataForm {
  unitId: number,
  state: boolean
}

export interface quirestrictionData {
  form: {
    data: restrictionDataForm[]
  }
}

export interface installerapprestrictionData {
  form: {
    data: restrictionDataForm[]
  }
}

export interface discoveryData {
  form: {
    unt_id: number[]
  }
}

export interface refreshData {
  unt_id: number
}

export interface eventprocessorData {
  evt_id: number[]
}

export interface setStateData {
  partition: number,
  state: string,
  options: any[]
}

export interface changeCrowPasswordData {
  new_password1: any,
  new_password2: any,
  old_password: string
}

export interface authenticateToCrowData {
  username: any,
  password: any,
  grant_type: string,
  client_id: string,
  client_secret: string
}

export interface registerToCrowData {
  password1: string,
  password2: string,
  last_name: string,
  first_name: string,
  email: string
}

export interface changeZoneConfigData {
  name: string
}

export interface addUserData {
  name?: string,
  pendant_id?: number,
  phone_number?: number,
  user_code?: string,
  remote?: boolean,
  disarm?: boolean,
  stay?: boolean,
  arm?: boolean,
  disarm_stay?: boolean,
  can_edit_himself?: boolean,
  can_edit_all_users?: boolean,
  areas?: any
}

export interface updateUserData {
  name?: string,
  pendant_id?: number,
  phone_number?: number,
  remote?: boolean,
  disarm?: boolean,
  stay?: boolean,
  arm?: boolean,
  disarm_stay?: boolean,
  can_edit_himself?: boolean,
  can_edit_all_users?: boolean,
  areas?: any
}

export interface updateAuthUserData {
  first_name?: string,
  last_name?: string
}

export interface updatePanelByIdData {
  name?: string,
  notifications_filter?: {
    alarm?: boolean
  },
  control_panel?: {
    mac?: string,
    notifications_filter?: {
      troubles?: boolean,
      arm?: boolean
    }
  }
}

export interface setMaintenanceData {
  control_panel_mac: string
}

export interface updateCommunicationDectsData {
  phone: any
}

export interface updatePanelNameDataCrow {
  name: string,
  control_panel: {
    mac: string
  }
}

export interface updatePanelNameDataTyco {
  panel_serial: string,
  alias: string
}

export interface updatePanelLocationData {
  name: string,
  control_panel: {
    longitude: any,
    latitude: any,
    mac: string
  }
}

export interface createScheduleData {
  action: string,
  created: string,
  disabled: boolean,
  days_of_week: any[],
  hour: number,
  minute: number,
  id: number,
  next_schedule: string,
  params: any,
  control_panel_user: any,
  timezone: string,
  updated: string
}

export interface updateNotificationsByEmailData {
  key: string,
  receive_pictures?: boolean,
  notifications_filter: {
    troubles: boolean,
    arm: boolean,
    alarm: boolean,
    information: boolean,
    configuration: boolean,
    take_picture: boolean,
    user_association: boolean,
    all: boolean
  }
}

export interface addEmailData {
  key: string
}

export interface changeAreaConfigurationData {
  name: string,
  exit_delay: string,
  stay_exit_delay: string
}

export interface addPanelDataCrow {
  name: string;
  user_code: string,
  control_panel: {
    mac: string;
    remote_access_password: string
  }
}

export interface addPanelDataTyco {
  alias: string,
  panel_serial: string,
  access_proof: string,
  master_user_code: string
}

export interface changeToPanicStateData {
  point: {
    longitude: number,
    latitude: number
  }
}

export interface CrowOutputParam {
  control_panel_mac?: string;
  output_id?: string;
  pageSize?: number;
  page?: number;
  type?: string;
  ordering?: string;
  interface_id?: string;
  from?: string;
  to?: string;
  email?: string;
  pw?: string;
  body?: addPanelDataCrow | changeToPanicStateData | changeAreaConfigurationData | addEmailData | updateNotificationsByEmailData | createScheduleData |
  updatePanelLocationData | updatePanelByIdData | updateAuthUserData | addUserData | updateUserData | changeZoneConfigData | registerToCrowData |
  authenticateToCrowData | changeCrowPasswordData | updatePanelNameDataCrow | bypassDataCrow | GetMeasurementsByDeviceData | loginFromCrowData | any;
  personalCode?: string;
  token?: string;
  phone?: any;
  http?: any;
  https?: any;
  sToken?: string;
  uToken?: string;
  format?: string;
  set?: string;
  url?: string;
  apiVersion?: string;
}

export interface TycoOutputParam {
  panel?: string;
  id?: string;
  id2?: string;
  pageSize?: number;
  page?: number;
  type?: string;
  ordering?: string;
  interface_id?: string;
  from?: string;
  to?: string;
  email?: string;
  pw?: string;
  body?: refreshData | setStateData | eventprocessorData | discoveryData | installerapprestrictionData | quirestrictionData | rebootData | setSoakzoneData | rarelyusedData | setLabelData | walkteststartData | walkteststopData | zoneaddData | zoneremoveData | enableKeypadData | disableKeypadData | refreshLogData | saveLocationData | remoteinspectionScheduleData | initiateinspectionData | createReportData | editInfoData | editData | panelLoginData | authToTycoData | updatePanelNameDataCrow | addPanelDataTyco | disabelSirenData | smartDeviceAssignData | bypassDataTyco | registerEmailNotificationData | setUserCodeData | setUserPartitionsData | setPanelNameData | updateVodModeData | sendPrivateEmailData | setDateTimeData | addIpCamData | setIpCamLocationData | zWaveEnableDriverData | zWaveEnrollModeData | zWaveStartNodeInfoData | zWaveSetValueData | zWaveSetNodeLocationData | zWaveResetDriverData | zWaveDeleteModeData | setPgmTypeData | editPgmData | disablePgmData | wifiEnableDisableData | wifiConnectData | enrollDeviceData | removeDeviceData | updateDeviceData | getPushOptionsData | emailNotificationsData | loginToZwareData | logoutToZwareData | zwif_basic_setData | zwif_basic_selectData | zwif_switch_setData | zwif_switch_selectData | zwnode_get_ep_listData | zwep_get_if_listData | any;
  personalCode?: string;
  token?: string;
  phone?: any;
  http?: any;
  https?: any;
  sToken?: string;
  uToken?: string;
  format?: string;
  set?: string;
  period?: string;
  zones?: string;
  metrics?: string;
  url: string;
  apiVersion: string;
}

Ionic:

  1. The SDK can be used in a Service in the following way:
import { Injectable, NgZone } from '@angular/core';
import { TroubleApi, BatchApi, UnitApi, AuthApi, OutputsApi, AreasApi, CamerasApi, ZonesApi, CrowOutputParam, TycoOutputParam, DeviceTypes, EventsApi, MeasurementsApi, KeypadsApi, UsersApi, ModuleApi, NotificationApi, PanelApi, ScheduleApi } from '@inclouded/amsmart2-device'
import { HttpClient } from '@angular/common/http';
import { Platform } from '@ionic/angular';

@Injectable()
export class Amsmart2DeviceService {
    AreasApi: AreasApi;
    AuthApi: AuthApi;
    AuthApiTyco: AuthApi;
    BatchApiTyco: BatchApi;
    CamerasApi: CamerasApi;
    CamerasApiTyco: CamerasApi;
    CommunicationApi: CommunicationApi;
    DetectorApiTyco: DetectorApi;
    EventsApi: EventsApi;
    EventsApiTyco: EventsApi;
    KeyfobsApiTyco: KeyfobsApi;
    KeypadsApi: KeypadsApi;
    MaintenanceApi: MaintenanceApi;
    MeasurementsApi: MeasurementsApi;
    ModuleApi: ModuleApi;
    ModuleApiTyco: ModuleApi;
    NotificationApi: NotificationApi;
    NotificationApiTyco: NotificationApi;
    OutputsApi: OutputsApi;
    PanelApi: PanelApi;
    PanelApiTyco: PanelApi;
    PmaxconfigApiTyco: PmaxconfigApi;
    ProcessApiTyco: ProcessApi;
    ScheduleApi: ScheduleApi;
    SystemApiTyco: SystemApi;
    TroubleApi: TroubleApi;
    TroubleApiTyco: TroubleApi;
    UnitApiTyco: UnitApi;
    UsersApi: UsersApi;
    UsersApiTyco: UsersApi;
    ZonesApi: ZonesApi;
    ZonesApiTyco: ZonesApi;
    ZwareApiTyco: ZwareApi;
    
    constructor(private http: HttpClient, private zone: NgZone, private platform: Platform) {
        this.AreasApi = new AreasApi(DeviceTypes.crow);
        this.AuthApi = new AuthApi(DeviceTypes.crow);
        this.AuthApiTyco = new AuthApi(DeviceTypes.tyco);
        this.BatchApiTyco = new BatchApi(DeviceTypes.tyco);
        this.CamerasApi = new CamerasApi(DeviceTypes.crow);
        this.CamerasApiTyco = new CamerasApi(DeviceTypes.tyco);
        this.CommunicationApi = new CommunicationApi(DeviceTypes.crow);
        this.DetectorApiTyco = new DetectorApi(DeviceTypes.tyco);
        this.EventsApi = new EventsApi(DeviceTypes.crow);
        this.EventsApiTyco = new EventsApi(DeviceTypes.tyco);
        this.KeyfobsApiTyco = new KeyfobsApi(DeviceTypes.tyco);
        this.KeypadsApi = new KeypadsApi(DeviceTypes.crow);
        this.MaintenanceApi = new MaintenanceApi(DeviceTypes.crow);
        this.MeasurementsApi = new MeasurementsApi(DeviceTypes.crow);
        this.ModuleApi = new ModuleApi(DeviceTypes.crow);
        this.ModuleApiTyco = new ModuleApi(DeviceTypes.tyco);
        this.NotificationApi = new NotificationApi(DeviceTypes.crow);
        this.NotificationApiTyco = new NotificationApi(DeviceTypes.tyco);
        this.OutputsApi = new OutputsApi(DeviceTypes.crow);
        this.PanelApi = new PanelApi(DeviceTypes.crow);
        this.PanelApiTyco = new PanelApi(DeviceTypes.tyco);
        this.PmaxconfigApiTyco = new PmaxconfigApi(DeviceTypes.tyco);
        this.ProcessApiTyco = new ProcessApi(DeviceTypes.tyco);
        this.ScheduleApi = new ScheduleApi(DeviceTypes.crow);
        this.SystemApiTyco = new SystemApi(DeviceTypes.tyco);
        this.TroubleApi = new TroubleApi(DeviceTypes.crow);
        this.TroubleApiTyco = new TroubleApi(DeviceTypes.tyco);
        this.UnitApiTyco = new UnitApi(DeviceTypes.tyco);
        this.UsersApi = new UsersApi(DeviceTypes.crow);
        this.UsersApiTyco = new UsersApi(DeviceTypes.tyco);
        this.ZonesApi = new ZonesApi(DeviceTypes.crow);
        this.ZonesApiTyco = new ZonesApi(DeviceTypes.tyco);
        this.ZwareApiTyco = new ZwareApi(DeviceTypes.tyco);
    }

    GetTroubles(params: CrowOutputParam | TycoOutputParam) {
        return this.TroubleApi.GetTroubles(params);
    }

    // ...
}

/*
Example params:

import { HttpClient, HttpHeaders } from '@angular/common/http';

constructor(private http: HttpClient, ...) {
  ...
    }

const paramsCrow: CrowOutputParam = {
    control_panel_mac: '<panel_mac>',
    output_id: '<id>',
    pageSize: '<pageSize>',
    page: '<page>',
    // ordering: 'asc',
    interface_id: '<interface_id>',
    body: {},
    token: '<token>',
    http: this.http
  };

const paramsTyco: TycoOutputParam = {
    panel: '<panel_mac>',
    url: 'ipalarm.no',
    apiVersion: '8.0',
    id: '<id>',
    pageSize: '<pageSize>',
    page: '<page>',
    // ordering: 'asc',
    interface_id: '<interface_id>',
    http: this.http,
    sToken: '<stoken>',
    uToken: '<utoken>',
    body: {}
  };
*/

Node.js:

  1. The SDK can be used in the following way:

import { TroubleApi, BatchApi, UnitApi, AuthApi, OutputsApi, AreasApi, CamerasApi, ZonesApi, CrowOutputParam, TycoOutputParam, DeviceTypes, EventsApi, MeasurementsApi, KeypadsApi, UsersApi, ModuleApi, NotificationApi, PanelApi, ScheduleApi, setStateData, addEmailData, createScheduleData } from '@inclouded/amsmart2-device';

const https = require('https');

const paramsCrow: CrowOutputParam = {
    control_panel_mac: '<panel_mac>',
    output_id: '<id>',
    pageSize: '<pageSize>',
    page: '<page>',
    // ordering: 'asc',
    interface_id: '<interface_id>',
    body: {},
    token: '<token>',
    https: https
  };

const paramsTyco: TycoOutputParam = {
    panel: '<panel_mac>',
    url: 'ipalarm.no',
    apiVersion: '8.0',
    id: '<id>',
    pageSize: '<pageSize>',
    page: '<page>',
    // ordering: 'asc',
    interface_id: '<interface_id>',
    https: https,
    sToken: '<stoken>',
    uToken: '<utoken>',
    body: {}
  };

// Few examples

const AreasApi = new AreasApi(DeviceTypes.crow);
const AuthApi = new AuthApi(DeviceTypes.crow);
const AuthApiTyco = new AuthApi(DeviceTypes.tyco);
const BatchApiTyco = new BatchApi(DeviceTypes.tyco);
const CamerasApi = new CamerasApi(DeviceTypes.crow);
const CamerasApiTyco = new CamerasApi(DeviceTypes.tyco);
const CommunicationApi = new CommunicationApi(DeviceTypes.crow);
const DetectorApiTyco = new DetectorApi(DeviceTypes.tyco);
const EventsApi = new EventsApi(DeviceTypes.crow);
const EventsApiTyco = new EventsApi(DeviceTypes.tyco);
const KeyfobsApiTyco = new KeyfobsApi(DeviceTypes.tyco);
const KeypadsApi = new KeypadsApi(DeviceTypes.crow);
const MaintenanceApi = new MaintenanceApi(DeviceTypes.crow);
const MeasurementsApi = new MeasurementsApi(DeviceTypes.crow);
const ModuleApi = new ModuleApi(DeviceTypes.crow);
const ModuleApiTyco = new ModuleApi(DeviceTypes.tyco);
const NotificationApi = new NotificationApi(DeviceTypes.crow);
const NotificationApiTyco = new NotificationApi(DeviceTypes.tyco);
const OutputsApi = new OutputsApi(DeviceTypes.crow);
const PanelApi = new PanelApi(DeviceTypes.crow);
const PanelApiTyco = new PanelApi(DeviceTypes.tyco);
const PmaxconfigApiTyco = new PmaxconfigApi(DeviceTypes.tyco);
const ProcessApiTyco = new ProcessApi(DeviceTypes.tyco);
const ScheduleApi = new ScheduleApi(DeviceTypes.crow);
const SystemApiTyco = new SystemApi(DeviceTypes.tyco);
const TroubleApi = new TroubleApi(DeviceTypes.crow);
const TroubleApiTyco = new TroubleApi(DeviceTypes.tyco);
const UnitApiTyco = new UnitApi(DeviceTypes.tyco);
const UsersApi = new UsersApi(DeviceTypes.crow);
const UsersApiTyco = new UsersApi(DeviceTypes.tyco);
const ZonesApi = new ZonesApi(DeviceTypes.crow);
const ZonesApiTyco = new ZonesApi(DeviceTypes.tyco);
const ZwareApiTyco = new ZwareApi(DeviceTypes.tyco);

// tyco

function getPanelStatus() {
    try {
      paramsTyco.body = {
        email: '<email>',
        password: '<password>',
        app_id: 'xxxxxx'
      }
      AuthApi.Authenticate(paramsTyco).subscribe((result: any) => {
        console.log('result: ', result);
        console.log('resulttoken: ', result.user_token);
        paramsTyco.uToken = result.user_token;
        paramsTyco.body = {
          panel_serial: '<panel_serial>',
          user_code: '<user_code>',
          app_id: 'xxxxxx'
        }
        console.log(paramsTyco);
        PanelApiTyco.PanelLogin(paramsTyco).subscribe((result: any) => {
          console.log('result: ', result);
          console.log('resultsession: ', result.session_token);
          paramsTyco.sToken = result.session_token;
          PanelApiTyco.GetPanelStatus(paramsTyco).subscribe((result: any) => {
            console.log('GetPanelStatus: ', result);
          });
        });
      });
    } catch (err) {
      console.log(err);
    }
  }

  // crow

  function GetZones() {
    try {
      ZonesApi.GetZones(paramsCrow).subscribe((result: any) => {
        console.log('result: ', result);
      });
    } catch (err) {
      console.log(err);
    }
  }
  1. List of the SDK functions:
  • AreasApi: GetAreas(Crow), GetAreasById(Crow), Arm(Crow), Disarm(Crow), Stay(Crow), changeAreaConfiguration(Crow)
  • AuthApi: Register(Crow), Authenticate(Crow, Tyco), ChangePassword(Crow, Tyco), ResetPassword(Tyco), ResetPasswordComplete(Tyco), Logout(Crow, Tyco), Login(Crow), GetVersion(Tyco)
  • BatchApi: GetBatchLists(Tyco), GetMine(Tyco)
  • CamerasApi: GetPictures(Crow), GetPicturesById(Crow), TakePicture(Crow), DeletePicture(Crow), GetCameras(Tyco), DemandVideo(Tyco), DemandVideoFrames(Tyco), DemandVideoStatus(Tyco), MakeVideo(Tyco), IpCameras(Tyco), UpdateIpCameras(Tyco), StartVideoIpCam(Tyco), StopVideoIpCam(Tyco), StartVideoRecordIpCam(Tyco), StopVideoRecordIpCam(Tyco), AddIpCam(Tyco), DeleteIpCam(Tyco), SetIpCamLocation(Tyco), MoveIpCamera(Tyco)
  • CommunicationApi: GetCommunicationDects(Crow), UpdateCommunicationDects(Crow)
  • DetectorApi: GetSmartDevices(Tyco), GetSmartDevicesSettings(Tyco), SmartDeviceAssign(Tyco)
  • EventsApi: GetEvents(Crow, Tyco), Eventprocessor(Tyco), GetAlarms(Tyco), GetAlarmPreviews(Tyco), GetAlarmVideo(Tyco), GetAlarmVideoFrames(Tyco), GetAlerts(Tyco)
  • KeyfobsApi: GetDevices(Tyco), EnrollDevice(Tyco), RemoveDevice(Tyco), UpdateDevice(Tyco)
  • KeypadsApi: GetKeypads(Crow), changeKeypadConfig(Crow)
  • MaintenanceApi: GetMaintenanceInfo(Crow), SetMaintenance(Crow), DeleteMaintenance(Crow)
  • MeasurementsApi: GetMeasurements(Crow), GetMeasurementsByDevice(Crow)
  • ModuleApi: GetEthernetInfo(Crow), GetWifiInfo(Crow), GetGsmInfo(Crow), GetRadioInfo(Crow), GetEthernetConfig(Crow), GetWifiConfig(Crow), GetGsmCofing(Crow), ZWaveNodesList(Tyco), ZWaveNodeInfo(Tyco), ZWaveNodeValues(Tyco), ZWaveEnableDriver(Tyco), ZWaveStartNodesList(Tyco), ZWaveEnrollMode(Tyco), ZWaveDeleteMode(Tyco), ZWaveStartNodeInfo(Tyco), ZWaveSetValue(Tyco), ZWaveSetNodeLocation(Tyco), ZWaveResetDriver(Tyco), HomeAutomationDevices(Tyco), PgmTypes(Tyco), PgmList(Tyco), SetPgmType(Tyco), SendHomeAutCommand(Tyco), SetHomeDeviceLocation(Tyco), EditPgm(Tyco), DisablePgm(Tyco)
  • NotificationApi: GetNotificationsByEmail(Crow), getEmailById(Crow), AddEmail(Crow), DeleteEmail(Crow), UpdateNotificationsByEmail(Crow), GetPushOptions(Tyco), EmailNotifications(Tyco), RegisterEmailNotification(Tyco)
  • OutputsApi: GetOutputs(Crow), GetOutputsById(Crow), On(Crow), Off(Crow), ChangeOutputConfig(Crow)
  • PanelApi: SetState(Tyco), AddPanel(Crow, Tyco), GetConfigMode(Crow), GetDects(Crow), ChangeToPanicState(Crow), UpdatePanelLocation(Crow), UpdatePanelName(Crow, Tyco), DeletePanelConnection(Crow), ConnectToPanel(Crow), GetConnection(Crow), GetPanels(Crow, Tyco), GetPanelById(Crow), GetPanelUser(Crow), DeletePanel(Crow), GetPanelUsers(Crow), PanelLogin(Tyco), ActivateSiren(Tyco), DisabelSiren(Tyco), GetPanelInfo(Tyco), GetFeatureSet(Tyco), GetPanelLocations(Tyco), SetPanelName(Tyco), WakeupSms(Tyco), GeoRedundancyOptions(Tyco), SendPrivateEmail(Tyco), UpdateVodMode(Tyco), CurrentSessionCount(Tyco), SetDateTime(Tyco), MeteoInfo(Tyco), WifiStatus(Tyco), Advertisment(Tyco), StartRefreshMeteo(Tyco), StartWifiStatus(Tyco), WifiEnableDisable(Tyco), WifiConnect(Tyco), SwitchToProgrammingMode(Tyco), GetPanelStatus(Tyco)
  • PmaxconfigApi: Refresh(Tyco), Upload(Tyco), RefreshLog(Tyco), GetLog(Tyco), GetState(Tyco)
  • ProcessApi: GetProcessStatus(Tyco), GetProcesses(Tyco)
  • ScheduleApi: GetSchedules(Crow), CreateSchedule(Crow), DeleteSchedule(Crow), UpdateSchedule(Crow)
  • SystemApi: Reboot(Tyco)
  • TroubleApi: GetTroubles(Crow, Tyco), DeleteTroubles(Crow)
  • UnitApi: GetAllUnits(Tyco), GetDiagnosticFeatures(Tyco), GetFirmwareLists(Tyco), GetGeneralForms(Tyco), GetGeneralIsonlines(Tyco), GetDiagnosticLists(Tyco), GetAllRemarks(Tyco), GetDiagnosticState(Tyco), GetRemoteinspectionUnits(Tyco), GetAllReports(Tyco), Discovery(Tyco), Installerapprestriction(Tyco), Quirestriction(Tyco), Zonerssi(Tyco), SetSoakzone(Tyco), Rarelyused(Tyco), SetLabel(Tyco), Walkteststart(Tyco), GetWalktest(Tyco), Walkteststop(Tyco), Zoneadd(Tyco), Zoneremove(Tyco), EnableKeypad(Tyco), DisableKeypad(Tyco), GetLocations(Tyco), SaveLocation(Tyco), GetRemoteinspectionResults(Tyco), RemoteinspectionSchedule(Tyco), Initiateinspection(Tyco), GetReportResults(Tyco), GetReportExpectedResults(Tyco), CreateReport(Tyco), EditInfo(Tyco), Edit(Tyco)
  • UsersApi: GetUsers(Crow, Tyco), GetUsersById(Crow), AuthUser(Crow), UpdateAuthUser(Crow), AddUser(Crow), DeleteUser(Crow), UpdateUser(Crow), GetUnitUsers(Tyco), SetUserCode(Tyco), SetUserPartitions(Tyco)
  • ZonesApi: GetZones(Crow), GetZonesById(Crow), Bypass(Crow, Tyco). ChangeZoneConfig(Crow)
  • ZwareApi: Login(Tyco), Logout(Tyco), BinarySwitchSelect(Tyco), BinarySwitchOn(Tyco), BinarySwitchOff(Tyco), BasicSelect(Tyco), BasicOn(Tyco), BasicOff(Tyco), GetNodeEndpoints(Tyco), GetNodeEndpointInterfaces(Tyco)

Note: If you use Node.js then install this dependency: https://www.npmjs.com/package/form-data

Developer: Zoltán R. Jánki ([email protected]), Gábor Simon ([email protected])