Git Product home page Git Product logo

knxlib's Introduction

javascript knx library in typescript

This will grow to a KNX library for talking to the KNX bus via KNXnet/IP without dependency to an additional eibd or knxd service running.

Do not use in production yet, this is still in development! Help is always welcome.

Usage

For now, see src/examples/busmonitor.ts as starting point.

Features / High level ToDo's

  • fully implemented in typescript to be used directly in typescript projects
  • implemented wherever applicable as defined in the latest KNX Specifications (at the time of writing 2.1 from 2013) of KNX Association.
  • Connection Support
    • Tunnel connection
      • as client
        • auto discovery with search request over multicast
      • as server (knx ip router)
    • Router connection
      • as client
      • as server (knx ip router)
  • Additional functions
    • support for handling DPT conversion
      • support to import knx project GA's for automatically convert to the correct DPT
    • support for optional caching layer to save last seen values by group addresses.
  • testable with test's

Ideas for the future

  • implement UdpSocket based on chrome.sockets.udp for support to run in the browser

ToDo

  • testing
    • classes
      • UdpSocket
      • IPHelper
      • KnxProtocol
      • KnxConnection
        • KnxTunnelConnection
        • KnxRouterConnection
      • implement tests (should work without hardware by talking to itself and hard coded frames)
  • KNXProtocol improve parsing of packages (try rx implementation)
  • implement example main app function as busmonitor
    • still requires DPT handling
  • aside to the library, direct usable command line script to write or read to the KNX GA's

Licence

knxlib is licensed under the MIT license.

knxlib's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

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.