ioBroker Installation

Installation of ioBroker under Windows 10

Install the latest version of Node.js, create a directory and install ioBroker using the node package manager:

ioBroker Installation Windows

You can start the ioBroker service by typing .\iobroker start:

ioBroker Installation Windows

Check if ioBroker is up with your webbrowser: http://<IP Address of your Pi>:8081

ioBroker Installation

Side Note

Node-RED can be installed directly from the ioBroker Admin Panel:

ioBroker Installation Windows

The configuration file for Node-RED can then be found in the ioBroker installation directory under .\node_modules\iobroker.node-red\userdata:

module.exports = {
    uiPort: 1880,
    uiHost: "127.0.0.1",
    iobrokerInstance: 0,
    iobrokerConfig: {"system":{"memoryLimitMB":0,"hostname":"","statisticsInterval":15000,"statisticsIntervalComment":"Interval how often the counters for input/output in adapters and controller will be updated"},"multihostService":{"enabled":false,"secure":true},"network":{"IPv4":true,"IPv6":true,"bindAddress":null},"objects":{"type":"file","typeComment":"Possible values: 'file' - [port 9001], redis - [port 6379], couch - [port 5984].","host":"127.0.0.1","port":9001,"user":"","pass":"","noFileCache":false,"connectTimeout":2000,"backup":{"disabled":false,"files":24,"filesComment":"Minimal number of backup files, after the deletion will be executed according to backupTime settings","hours":48,"hoursComment":"All backups older than 48 hours will be deleted. But only if the number of files is greater than of backupNumber","period":120,"periodComment":"by default backup every 2 hours. Time is in minutes. To disable backup set the value to 0","path":"","pathComment":"Absolute path to backup directory or empty to backup in data directory"}},"states":{"type":"file","typeComment":"Possible values: 'file' - [port 9000], 'redis' - [port 6379].","host":"127.0.0.1","port":9000,"maxQueue":1000,"options":{"auth_pass":null,"retry_max_delay":15000},"backup":{"disabled":false,"files":24,"filesComment":"Minimal number of backup files, after the deletion will be executed according to backupTime settings","hours":48,"hoursComment":"All backups older than 48 hours will be deleted. But only if the number of files is greater than of backupNumber","period":120,"periodComment":"by default backup every 2 hours. Time is in minutes. To disable backup set the value to 0","path":"","pathComment":"Absolute path to backup directory or empty to backup in data directory"}},"log":{"level":"info","maxDays":7,"noStdout":true,"transport":{"file1":{"type":"file","enabled":true,"filename":"E:\\iobroker\\log\\iobroker","fileext":".log","maxsize":null,"maxFiles":null,"systemLog":true,"handleExceptions":false,"name":"iobroker","label":"","level":"info","json":false,"silent":false,"colorize":true,"localTime":true,"datePattern":".yyyy-MM-dd.log"},"syslog1":{"type":"syslog","enabled":false,"host":"localhost","host_comment":"The host running syslogd, defaults to localhost.","port_comment":"The port on the host that syslog is running on, defaults to syslogd's default port(514/UDP).","protocol":"udp4","protocol_comment":"The network protocol to log over (e.g. tcp4, udp4, unix, unix-connect, etc).","path_comment":"The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).","facility_comment":"Syslog facility to use (Default: local0).","localhost":"iobroker","localhost_comment":"Host to indicate that log messages are coming from (Default: localhost).","sysLogType_comment":"The type of the syslog protocol to use (Default: BSD).","app_name_comment":"The name of the application (Default: process.title).","eol_comment":"The end of line character to be added to the end of the message (Default: Message without modifications)."}}},"dataDirComment":"Always relative to iobroker.js-controller/","dataDir":"../../iobroker-data/","instance":0},

    // Retry time in milliseconds for MQTT connections
    mqttReconnectTime: 15000,

    // Retry time in milliseconds for Serial port connections
    serialReconnectTime: 15000,

    // Maximum number of lines in debug window before pruning
    debugMaxLength: 1000,

    // The file containing the flows. If not set, it defaults to flows_<hostname>.json
    flowFile: 'flows.json',

    // To enabled pretty-printing of the flow within the flow file, set the following
    //  property to true:
    flowFilePretty: true,
    
    // By default, all user data is stored in the Node-RED install directory. To
    // use a different location, the following property can be used
    userDir: __dirname + '/',

    // Node-RED scans the `nodes` directory in the install directory to find nodes.
    // The following property can be used to specify an additional directory to scan.
    nodesDir: "E:/iobroker/node_modules/iobroker.node-red/nodes/",

    // By default, the Node-RED UI is available at http://localhost:1880/
    // The following property can be used to specify a different root path.
    // If set to false, this is disabled.
    //httpAdminRoot: '/admin',

    // You can protect the user interface with a userid and password by using the following property.
    // The password must be an md5 hash  eg.. 5f4dcc3b5aa765d61d8327deb882cf99 ('password')
    httpAdminAuth: {"user":"admin","pass":"40587bff0e72b6fdbba30c40c95e148a"},
    
    // When httpAdminRoot is used to move the UI to a different root path, the
    // following property can be used to identify a directory of static content
    // that should be served at http://localhost:1880/.
    httpStatic: 'E:\iobroker\node_modules\iobroker.node-red\userdata\static',

    // If you installed the optional node-red-dashboard you can set it's path
    // relative to httpRoot
    ui: { path: "dashboard" },
    
    // The following property can be used in place of 'httpAdminRoot' and 'httpNodeRoot',
    // to apply the same root to both parts.
    httpRoot: "/admin",

    valueConvert: true,

    credentialSecret: "e3bfefdd5055584322358e77f3a80bf025b3b67a87c80fad",
	
    functionGlobalContext: {
        //

        // os:require('os'),
        // bonescript:require('bonescript'),
        // arduino:require('duino')
    }

};