Skip to content
This repository has been archived by the owner on Dec 9, 2020. It is now read-only.

A Node.js library written in TypeScript capable of running maintenance operations on cameras from Axis Communication.

License

Notifications You must be signed in to change notification settings

FantasticFiasco/axis-maintenance-js

Repository files navigation

axis-maintenance

THIS REPOSITORY HAS MOVED TO FantasticFiasco/axis-js

Build Status Coverage Status npm version SemVer compatible dependencies Status devDependencies Status

A Node.js library written in TypeScript capable of running maintenance operations on cameras from Axis Communication.

Table of contents


Super simple to use

const connection = new Connection(Protocol.Http, '192.168.1.102', 80, 'root', '32naJzkJdZ!7*HK&Dz');
const maintenance = new Maintenance(connection);

// Restart
await maintenance.restart();

// Partial factory default
await maintenance.factoryDefault(FactoryDefaultType.Partial);

// Hard factory default
await maintenance.factoryDefault(FactoryDefaultType.Hard);

Installation

npm install axis-maintenance
# or
yarn add axis-maintenance

Family of packages

The following NPM packages have been created to provide a smooth experience with devices from Axis Communications.

  • axis-discovery - A Node.js client library written in TypeScript capable of searching for Axis Communication cameras using Bonjour and SSDP (UPnP).
    • axis-discovery-bonjour - A Node.js Bonjour client library written in TypeScript capable of searching for Axis Communication cameras.
    • axis-discovery-ssdp - A Node.js SSDP (UPnP) client library written in TypeScript capable of searching for Axis Communication cameras.
  • axis-configuration - A Node.js library written in TypeScript capable of configuring Axis Communication cameras.
  • axis-maintenance - This package
  • axis-snapshot - A Node.js library written in TypeScript capable of getting snapshots from Axis Communication cameras.

API

Maintenance

The Maintenance class is the main class in the package. With it you can start maintenance operations on a camera.

/**
 * Class responsible for running maintenance operations on devices from Axis Communication.
 */
class Maintenance {
    /**
     * Restarts the Axis device.
     *
     * The returned promise is resolved when the device accepts the restart request, before
     * disconnecting from the network.
     * @throws {UnauthorizedError} User is not authorized to perform operation.
     * @throws {RequestError} Request failed.
     * @throws {UnknownError} Error cause is unknown.
     */
    restart(): Promise<void>;

    /**
     * Resets the Axis device to factory default.
     *
     * The returned promise is resolved when the device accepts the factory default request, before
     * disconnecting from the network.
     * @param type The type of factory default.
     * @throws {UnauthorizedError} User is not authorized to perform operation.
     * @throws {RequestError} Request failed.
     * @throws {UnknownError} Error cause is unknown.
     */
    factoryDefault(type: FactoryDefaultType): Promise<void>;
}

Credit

Thank you JetBrains for your important initiative to support the open source community with free licenses to your products.

JetBrains