Newton's Programmatic Measurements

    homee-api

    0.24.0 • Public • Published

    homee API wrapper

    a library to interact with homee

    Installation

    npm install homee-api --save
    

    Usage

    Connect

    const Homee = require('homee-api');
    
    const homee = new Homee(host, user, password, options);
    
    homee.connect().then(() => {
        //
    }).catch((error) => {
        console.log(error);
    });

    Options

        {
            device: 'homeeApi',
            reconnect:  true,
            reconnectInterval: 5000,
            maxRetries: Infinity
        }

    homee accepts only one connection per device. Therefore, you must specify a unique device name when using the API multiple times.

    Events

        // handle at least the "error" event to prevent crashing
        homee.on('error', (err) => {});
    
        homee.on('message', (message) => {});
        homee.on('connected', () => {});
        homee.on('reconnect', (retries) => {})
        homee.on('disconnected', (reason) => {});
        homee.on('maxRetries', (maxRetries) => {});
    
        // special events
        homee.on('user', (user) => {})
        homee.on('attribtue', (attribute) => {})
        homee.on('nodes', (nodes) => {})
        homee.on('history', (type, data) => {})
        // ...tbc

    Methods

    // send any message
    homee.send('your-message, i.E. GET:nodes');
    
    // homeegram interactions
    homee.play(id)
    homee.activateHomeegram(id);
    homee.deactivateHomeegram(id);
    
    // update an attributes target_value
    homee.setValue(device_id, attribute_id, value);
    
    // group interactions
    homee.createGroup(name, image);
    homee.deleteGroup(id);
    homee.getNodesByGroup(id); // id or group name
    
    // get diary entries (you should use at least one parameter to shrink the result set)
    homee.getDiary(from, till, limit);
    
    // get History for node or attribute (type), from and till are unix timestamps
    homee.getHistory(type, id, from, till, limit);
    
    // close connection
    homee.disconnect();

    Stored Nodes

    The homee api keeps a copy of all your nodes, attributes and groups. Each time the value of an attribute changes, the stored data is also updated. The following attributes give you access to the data at any time.

    const nodes = homee.nodes
    const attributes = homee.attributes
    const groups = homee.groups

    Install

    npm i homee-api

    DownloadsWeekly Downloads

    53

    Version

    0.24.0

    License

    MIT

    Unpacked Size

    68 kB

    Total Files

    13

    Last publish

    Collaborators

    • stfnhmplr