GithubHelp home page GithubHelp logo

fantasticfiasco / axis-js Goto Github PK

View Code? Open in Web Editor NEW
14.0 4.0 3.0 7.93 MB

A collection of Node.js packages written in TypeScript, helping you to interact with network cameras from Axis Communication.

License: Apache License 2.0

JavaScript 4.43% TypeScript 95.57%
axis communications camera device discovery ssdp bonjour zero-configuration upnp network

axis-js's Introduction

axis-js

Packages

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

  • axis-configuration - A Node.js library written in TypeScript capable of configuring Axis Communication cameras.
  • axis-core - A Node.js library written in TypeScript containing shared behavior for the other packages, e.g. code handling communication and authentication with Axis Communication cameras.
  • 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-maintenance - A Node.js library written in TypeScript capable of running maintenance operations on cameras from Axis Communication.
  • axis-snapshot - A Node.js library written in TypeScript capable of getting snapshots from Axis Communication cameras.

Credit

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

JetBrains

axis-js's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

axis-js's Issues

Abstract core connection functionality into it's own package

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Split out the core Axis connection components and put them in another package folder.
This will allow changes to be made in one place instead of every package.
Also will be good for people who want to use the connection object for another Axis product.

Describe alternatives you've considered
N/A

Additional context
N/A

Device properties are reported as undefined

Device properties in the cache should be prioritized over undefined properties from discovered devices. Running the sample illustrates the problem.

9:16:30 AM - Hello from <mac address> on <ip address>
	port: undefined
	model: undefined
9:16:30 AM - Hello from <mac address> on <ip address>
	port: 80
	model: <model>
9:16:30 AM - Hello from <mac address> on <ip address>
	port: 80
	model: undefined

The model should not be reported as undefined in the final hello.

Support for new feature: Dynamic Overlay API

Is your feature request related to a problem? Please describe.

Ability to set the dynamic overlay via the VAPIX API

Describe the solution you'd like

Support to set Dynamic Overlay options as indicated in the VAPIX API documentation here: https://www.axis.com/vapix-library/subjects/t10175981/section/t10007638/display?section=t10007638-t10119641

Describe alternatives you've considered

I can make manual calls to the API but it would be great to have it supported in axis-js as we are using the library in other places of the application

Additional context

There are quite a few features offered thru the VAPIX API, but I think adding/updating/listing current overlays would be a great start for axis-js

Getting more users than usual

It seems that VAPIX has changed since the implementation first came about. Currently when axis-configuration is listing users, the following are reported.

wwwaop (Administrator)
wwwaov (Administrator)
wwwap (Administrator)
wwwav (Administrator)
wwwa (Administrator)
wwwao (Administrator)
sdk (Administrator)
wwwaovp (Administrator)
root (Administrator)
wwwavp (Administrator)
wwwovp (Operator)
wwwop (Operator)
wwwo (Operator)
wwwov (Operator)
wwwv (Viewer)
wwwvp (Viewer)

These users are not listed in the camera UI. Fix the issue by making sure we list the same users as the UI.

Axis-core pkg is not working in Webpack 5 when building the code in VS 2022

After installing axis-core NPM, and adding the sample code for testing, the project will not compile. It throws 26 Errors of Module cannot be found for DNS, NET, HTTP, HTTPS, etc.

I believe this is caused by Webpack 5 not automatically including Node.js built-ins. I added the modules referenced in the errors as Externals:{} in the webpack-config.js file and the errors went away. However, now at runtime I am receiving an error "Stream" is undefined.

The NPM seems to have several issues when trying to run in VS2022 react app using webpack and node.js

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Warning

These dependencies are deprecated:

Datasource Name Replacement PR?
npm @types/nock Unavailable

Pending Status Checks

These updates await pending status checks. To force their creation now, click the checkbox below.

  • chore(deps): update dependency @types/node to v20.14.5
  • chore(deps): update dependency prettier to v3.3.2
  • chore(deps): update dependency ts-jest to v29.1.5
  • chore(deps): update eslint packages (@typescript-eslint/eslint-plugin, @typescript-eslint/parser, eslint)
  • chore(deps): update dependency tape to v5.8.1

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/axis-configuration.yml
  • actions/checkout v4
  • actions/setup-node v4
.github/workflows/axis-core.yml
  • actions/checkout v4
  • actions/setup-node v4
.github/workflows/axis-discovery-bonjour.yml
  • actions/checkout v4
  • actions/setup-node v4
.github/workflows/axis-discovery-ssdp.yml
  • actions/checkout v4
  • actions/setup-node v4
.github/workflows/axis-discovery.yml
  • actions/checkout v4
  • actions/setup-node v4
.github/workflows/axis-maintenance.yml
  • actions/checkout v4
  • actions/setup-node v4
.github/workflows/axis-snapshot.yml
  • actions/checkout v4
  • actions/setup-node v4
npm
package.json
  • @octokit/rest 20.1.1
  • inquirer 9.2.23
  • prettier 3.3.1
packages/axis-configuration/package.json
  • @fantasticfiasco/expect 1.1.0
  • axis-core 1.0.1
  • @types/jest 29.5.12
  • @types/nock 11.1.0
  • @types/node 20.14.2
  • @typescript-eslint/eslint-plugin 7.13.0
  • @typescript-eslint/parser 7.13.0
  • coveralls 3.1.1
  • eslint 9.4.0
  • jest 29.7.0
  • nock 13.5.4
  • rimraf 5.0.7
  • ts-jest 29.1.4
  • typescript 5.4.5
  • node >=16.0.0
  • json-schema >=0.4.0
  • minimist >=1.2.6
packages/axis-core/package.json
  • cheerio 1.0.0-rc.12
  • got 11.8.6
  • uuid 9.0.1
  • @types/cheerio 0.22.35
  • @types/express 4.17.21
  • @types/jest 29.5.12
  • @types/node 20.14.2
  • @types/passport-http 0.3.11
  • @types/uuid 9.0.8
  • @typescript-eslint/eslint-plugin 7.13.0
  • @typescript-eslint/parser 7.13.0
  • coveralls 3.1.1
  • eslint 9.4.0
  • express 4.19.2
  • jest 29.7.0
  • passport 0.7.0
  • passport-http 0.3.0
  • rimraf 5.0.7
  • ts-jest 29.1.4
  • typescript 5.4.5
  • node >=16.0.0
  • minimist >=1.2.6
packages/axis-discovery-bonjour/package.json
  • @fantasticfiasco/expect 1.1.0
  • debug 4.3.5
  • deep-equal ^2.0.0
  • dns-equal ^1.0.0
  • dns-txt ^2.0.2
  • multicast-dns-service-types ^1.1.0
  • thunky ^1.0.0
  • @types/debug 4.1.12
  • @types/jest 29.5.12
  • @types/node 20.14.2
  • @typescript-eslint/eslint-plugin 7.13.0
  • @typescript-eslint/parser 7.13.0
  • coveralls 3.1.1
  • eslint 9.4.0
  • jest 29.7.0
  • rimraf 5.0.7
  • ts-jest 29.1.4
  • typescript 5.4.5
  • node >=16.0.0
  • json-schema >=0.4.0
  • minimist >=1.2.6
packages/axis-discovery-bonjour/vendor/bonjour/package.json
  • deep-equal ^2.0.0
  • dns-equal ^1.0.0
  • dns-txt ^2.0.2
  • multicast-dns-service-types ^1.1.0
  • after-all 2.0.2
  • tape 5.7.5
packages/axis-discovery-bonjour/vendor/multicast-dns/package.json
  • thunky ^1.0.0
  • tape 5.7.5
packages/axis-discovery-ssdp/package.json
  • @fantasticfiasco/expect 1.1.0
  • debug 4.3.5
  • got 11.8.6
  • xml2js 0.6.2
  • @types/debug 4.1.12
  • @types/jest 29.5.12
  • @types/node 20.14.2
  • @types/xml2js 0.4.14
  • @typescript-eslint/eslint-plugin 7.13.0
  • @typescript-eslint/parser 7.13.0
  • coveralls 3.1.1
  • eslint 9.4.0
  • jest 29.7.0
  • rimraf 5.0.7
  • ts-jest 29.1.4
  • typescript 5.4.5
  • node >=16.0.0
  • json-schema >=0.4.0
  • minimist >=1.2.6
packages/axis-discovery/package.json
  • @fantasticfiasco/expect 1.1.0
  • axis-discovery-bonjour 3.0.0
  • axis-discovery-ssdp 8.0.1
  • debug 4.3.5
  • @types/debug 4.1.12
  • @types/jest 29.5.12
  • @types/node 20.14.2
  • @typescript-eslint/eslint-plugin 7.13.0
  • @typescript-eslint/parser 7.13.0
  • coveralls 3.1.1
  • eslint 9.4.0
  • jest 29.7.0
  • rimraf 5.0.7
  • ts-jest 29.1.4
  • typescript 5.4.5
  • node >=16.0.0
  • json-schema >=0.4.0
  • minimist >=1.2.6
packages/axis-maintenance/package.json
  • @fantasticfiasco/expect 1.1.0
  • axis-core 1.0.1
  • @types/jest 29.5.12
  • @types/node 20.14.2
  • @typescript-eslint/eslint-plugin 7.13.0
  • @typescript-eslint/parser 7.13.0
  • coveralls 3.1.1
  • eslint 9.4.0
  • jest 29.7.0
  • rimraf 5.0.7
  • ts-jest 29.1.4
  • typescript 5.4.5
  • node >=16.0.0
  • json-schema >=0.4.0
  • minimist >=1.2.6
packages/axis-snapshot/package.json
  • @fantasticfiasco/expect 1.1.0
  • axis-core 1.0.1
  • @types/jest 29.5.12
  • @types/node 20.14.2
  • @typescript-eslint/eslint-plugin 7.13.0
  • @typescript-eslint/parser 7.13.0
  • coveralls 3.1.1
  • eslint 9.4.0
  • jest 29.7.0
  • rimraf 5.0.7
  • ts-jest 29.1.4
  • typescript 5.4.5
  • node >=16.0.0
  • json-schema >=0.4.0
  • minimist >=1.2.6

  • Check this box to trigger a request for Renovate to run again on this repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.