Wondering what’s next for npm?Check out our public roadmap! »

    homematic-rega

    1.5.2 • Public • Published

    homematic-rega

    NPM version dependencies Status Build Status XO code style License

    Node.js Homematic CCU ReGaHSS Remote Script Interface

    This module encapsulates the communication with the "ReGaHSS" - the logic layer of the Homematic CCU.

    • execute arbitrary scripts
    • get names and ids of devices and channels
    • get variables including their value und meta data
    • set variable values
    • get programs
    • execute programs
    • activate/deactivate programs
    • get rooms and functions including assigned channels
    • rename objects

    i18n placeholders (e.g. ${roomKitchen}) are translated by default.

    You can find offical and inoffical documentation of the homematic scripting language at wikimatic.de.

    Pull Requests welcome! :)

    Install

    $ npm install homematic-rega

    Usage Example

    const Rega = require('homematic-rega');
     
    const rega = new Rega({host: '192.168.2.105'});
     
    rega.exec('string x = "Hello";\nWriteLine(x # " World!");', (err, output, objects) => {
        if (err) {
            throw err;
        } 
        console.log('Output:', output);
        console.log('Objects:', objects);
    });
     
    rega.getVariables((err, res) => {
        console.log(res);
    });

    API

    Rega

    Kind: global class

    new Rega(options)

    Param Type Default Description
    options object
    options.host string hostname or IP address of the Homematic CCU
    [options.language] string "de" language used for translation of placeholders in variables/rooms/functions
    [options.disableTranslation] boolean false disable translation of placeholders
    [options.tls] boolean false Connect using TLS
    [options.inSecure] boolean false Ignore invalid TLS Certificates
    [options.auth] boolean false Use Basic Authentication
    [options.user] string Auth Username
    [options.pass] string Auth Password
    [options.port] number 8181 rega remote script port. Defaults to 48181 if options.tls is true

    rega.exec(script, [callback])

    Execute a rega script

    Kind: instance method of Rega

    Param Type Description
    script string string containing a rega script
    [callback] scriptCallback

    rega.script(file, [callback])

    Execute a rega script from a file

    Kind: instance method of Rega

    Param Type Description
    file string path to script file
    [callback] scriptCallback

    rega.getChannels(callback)

    Get all devices and channels

    Kind: instance method of Rega

    Param Type
    callback Rega~channelCallback

    rega.getValues(callback)

    Get all devices and channels values

    Kind: instance method of Rega

    Param Type
    callback Rega~valuesCallback

    rega.getPrograms(callback)

    Get all programs

    Kind: instance method of Rega

    Param Type
    callback Rega~programsCallback

    rega.getVariables(callback)

    Get all variables

    Kind: instance method of Rega

    Param Type
    callback Rega~variablesCallback

    rega.getRooms(callback)

    Get all rooms

    Kind: instance method of Rega

    Param Type
    callback Rega~roomsCallback

    rega.getFunctions(callback)

    Get all functions

    Kind: instance method of Rega

    Param Type
    callback Rega~functionsCallback

    rega.setVariable(id, val, [callback])

    Set a variables value

    Kind: instance method of Rega

    Param Type
    id number
    val number | boolean | string
    [callback] function

    rega.startProgram(id, [callback])

    Execute a program

    Kind: instance method of Rega

    Param Type
    id number
    [callback] function

    rega.setProgram(id, active, [callback])

    Activate/Deactivate a program

    Kind: instance method of Rega

    Param Type
    id number
    active boolean
    [callback] function

    rega.setName(id, name, [callback])

    Rename an object

    Kind: instance method of Rega

    Param Type
    id number
    name string
    [callback] function

    Rega~scriptCallback : function

    Kind: inner typedef of Rega

    Param Type Description
    err Error
    output string the scripts output
    variables Object.<string, string> contains all variables that are set in the script (as strings)

    Related projects

    License

    MIT (c) Sebastian Raff

    Install

    npm i homematic-rega

    DownloadsWeekly Downloads

    156

    Version

    1.5.2

    License

    MIT

    Unpacked Size

    354 kB

    Total Files

    16

    Last publish

    Collaborators

    • avatar