axis-maintenance

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

Usage no npm install needed!

<script type="module">
  import axisMaintenance from 'https://cdn.skypack.dev/axis-maintenance';
</script>

README

axis-maintenance

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

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>;
}