Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

omi-odf

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

omi-odf

O-MI/O-DF WebSocket client tested with the reference implementation.

  • 0.1.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Omi Client

This is a very simplistic WebSocket based client for communicating with a O-MI Node, using O-DF formatted messages.

Getting started

Start a O-MI Node

Download the reference server implementation from:

https://github.com/AaltoAsia/O-MI/releases

We used this one: https://github.com/AaltoAsia/O-MI/releases/download/0.8.2/o-mi-node-0.8.2-warp10.tgz

Extract it to an appropriate location.

Edit the conf/application.conf. Ensure the localhost is not commented out in the IP whitelist section.

input-whitelist-ips=[	
        "127.0.0.1"
]

Ensure you have java 8 or later.

In a console/command line type java -version, response should be something like this:

greg@desktop ~/o-mi-node-0.8.2-warp10 $ java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

Run the server.

greg@desktop ~/o-mi-node-0.8.2-warp10 $ ./bin/o-mi-node

The first startup will take some few minutes to start, be patient.

Run the example

Create a working directory for your project and install this package there.

npm install omi-odf

Create a app.js with the following sample code:

var OmiClient = require('omi-odf').OmiClient;
var inspect = require('util').inspect;

var host = 'ws://localhost:8080';
var omiClient = new OmiClient(host);

omiClient.once('ready', function() {
    console.log("OmiClient connected to "+ host +'.');
    
    var name = 'MyDevice';
    var path = 'Your/Path/Things/'+name;
    var ep = 'relay';

    // ensure the instance in the O-MI node by issuing a write command
    omiClient.write(path, ep, false);

    // subscribe to changes from "MyDevice"
    omiClient.subscribe(path, null, {}, function(ep, data, opts) {
        console.log("Subscribe:", ep, data, opts);
    });

    // write ep to true, which should trigger subscription callback
    setTimeout(() => { omiClient.write(path, ep, true); }, 500);
    
    setTimeout(() => {
        omiClient.read(path, ep, function(ep, value, opts) {
            console.log('Read:', ep, value, opts);
        });
    }, 600);
});

omiClient.once('close', function() {
    console.log("OmiClient websocket connection was lost.");
    process.exit(1);
});

Run the program:

node app.js

Develop

This code is available at GitHub:

git clone https://github.com/ControlThings/omi-odf-nodejs.git

Keywords

FAQs

Package last updated on 18 Jun 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc