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

telldus-queue

v0.9.1

Published

Wrapper for node-telldus handling command repetitions and debouncing.

Downloads

3

Readme

Build Status License: MIT

telldus-queue

Telldus-queue is a wrapper for the node-telldus module, providing command repetition and debouncing while maintaining the API from node-telldus.

Why do I need this?

433 Mhz communication tend to be one-way; devices contain only a receiver or a transmitter. If you send a signal to turn a plug on and the signal gets lost in space, the plug won't turn on. The simple way to deal with this is to send the same command multiple times and hope that at least one signal reaches the intended target.

Consequently, if something else is trying to talk to us and is sending the same command multiple times, we probably want to ignore any repetitions beyond the first one.

This library will perform those tasks for you transparently. It'll also maintain a queue so that it doesn't repeat a command that has since been countermanded: if you turn the switch on, then off again, you don't want to repeat the on command since you know the switch is supposed to be in the off state already.

Installation

npm install telldus-queue

Basic usage

var telldus = require('telldus-queue');
telldus.turnOn(1, () => { console.log("Done"); });

API documentation

See node-telldus for the API reference.

The following methods are trapped by telldus-queue but should be 100% call compatible with node-telldus. Anything not on this list will be passed along transparently. Callbacks are fired after the command has been transmitted the first time.

  • turnOn
  • turnOff
  • dim
  • up
  • down
  • stop
  • bell
  • execute
  • addDeviceEventListener

This really only makes sense for the async versions of the node-telldus commands. The async commands passed along to node-telldus, but they do not get any of the queueing benefits.

Only the addDeviceEventListener() function is debounced. If you use the addSensorEventListener() or addRawDeviceEventListener() functions, you're on your own. (That said, I'm yet to see a compatible sensor repeat itself within a very short time frame)

Credits

Inspired by node-telldus and node-red-contrib-tellstick.