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

node-red-contrib-xap-framework

v0.9.4

Published

Send and receive xAP home automation messages with Node-RED and xap-framework

Downloads

3

Readme

node-red-contrib-xap-framework

Send and receive xAP home automation messages with Node-RED and xap-framework.

Requires xap-hub to communicate with the LAN.

xap-hub is best installed globally and run as a service.

Installation

Not yet published to the Node-RED repository so install locally. Typically,

cd ~/.node-red

npm install node-red-contrib-xap-framework

and restart Node-RED.

The xAP-In and xAP-Out nodes will appear in the network section of the node palette.

Nodes

  • xAP-Device config node
  • xAP-In receives xAP messages from the LAN
  • xAP-Out transmits messages to the LAN.

xAP-Device (config node)

  • Common connection point for In and Out nodes to communicate with the local network.
  • Sets the source address for messages sent and sets the interval between heartbeat messages.

xAP-In

  • By default, with no filters set, receives all xAP messages
  • Filters can be set for class, source and target message fields
  • msg.payload contains the xAP message as a structured message object that can be inspected in a function node using all the methods and sub-objects defined by xap-framework.
function lc(str) { return str.toLowerCase(); }

// Extract the header and first block
var hdr = msg.payload.header;
var blk = msg.payload.blocks[1];

// Check the header class and block name
if(hdr.class == 'xapbsc.event') {
  if(lc(blk.name) == 'output.state') {
      state = lc(blk.getValue('state'));
...

xAP-Out

Parses a string containing a partial xAP message on its input, passes it to the connected xAP-Device config node which adds the source address and UID, and transmits to xap-hub for forwarding onto the LAN.

Example

A template node Mustache template for creating a BSC command message:

{
  "class": "xAPBSC.Cmd",
  "target": "{{target}}",
  "output.state.1": {
    "ID": "*",
    "State": "{{state}}"
  }
}