Git Product home page Git Product logo

node-orvibo's Introduction

node-orvibo

This package lets you control various Orvibo products from node.js. It's a rewritten separation from my ninja-allone library, but with added RF support.

This library has been tested with an AllOne and two sockets. RF support should work, but is untested because I don't own any RF switches. There is no Kepler support (other than knowing when one is on the network) for the same reason.

Features

  • Learn and play back IR codes using the AllOne IR blaster
  • Use the AllOne to emit RF to control RF light switches
  • Turn WiFi sockets on and off
  • Set up Orvibo devices without needing a smartphone

Supported products

This library supports the S10 and S20 sockets, which is sold under a variety of names, including:

It also supports the AllOne, which is an IR / RF blaster. RF support should work, but switches can't be auto-detected, so you can't "detect and control" RF units

There is no support for the Kepler gas detector yet, but as soon as I can get my hands on a Kepler, I can add in the remaining code.

Helping out

I'm looking for hardware donations. If you own an RF switch or a Kepler and are willing to donate them, please contact me using the address on my GitHub profile. Likewise, if you'd like to donate money to cover hardware and programming costs, I accept PayPal and Bitcoin. Just head to http://paypal.me/davidgrayPhotography for PayPal, or send me some delicious digital currency with Bitcoin: 34agreMVU8QeHu4cLLPkyw5EYdSKp6NqTV

I'd also love pull requests and forks. As I no longer use my Orvibo products with node.js, my time spent maintaining this package will be low, so by all means raise issues, pull, fork and do whatever you can to help out :)

Usage

Install using npm install --save node-orvibo

See examples/basic/index.js for a near-complete sample. Check PROTOCOL.md for protocol, but also check out this Pastebin for a more complete documentation: http://pastebin.com/TSK4Lu4Q

What's New?

  • 27/12/2015
    • You can now set up a device without the WiWo app.
    • PROTOCOL.md updated. Still needs work, but is growing every Day
    • New examples added, and "basic" example updated to emit IR AND RF
    • Various bugfixes, plus new events added
  • 31/12/2015
    • Callbacks now implemented code-wide, though events are the best way to be notified
    • Device names that are 16 bytes of "FF" are no longer considered valid names
    • Basic timer support added. Querying a device now returns all the timers for a device, as a moment.js object for manipulation. You can also set timers, but only sockets have been implemented so far
    • Countdown timer (read only) also implemented. When queried, a countdown timer is set using setTimeout() and an event emitted.

To-Do

  • Add timer support for the AllOne
  • Be able to set countdown timers instead of just reading them.
  • Add Kepler support
  • Go through and clean up / standardize events being emitted
  • Test RF stuff
  • Finish off protocol documentation
  • Include emulator. Use the emulator from ninja-allone if you're desperate.
  • Implement these functions:
    • Rename device
    • Set timezone
    • Set time ("time since manufacture" field is the key)
  • Look in to remote login / TCP connections

node-orvibo's People

Contributors

grayda 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.