ngbs-icon
TypeScript icon, indicating that this package has built-in type declarations

3.0.5 • Public • Published

ngbs-icon

NGBS iCON client library and command line tool

Client library

See client.ts for the API documentation.

CLI

The tool is more of a proof of concept, and is used mainly to test/try the library.

Get the SYSID of a controller (getSysId()):

$ ngbs_icon 192.168.1.19 sysid
123456789

Scan a network for NGBS controllers. It takes a comma separated list of hosts, or an IP range. The result ID might be empty for controllers that are running an old version of the controller software (pre-2023).

$ ngbs_icon 192.168.1.1-192.168.1.255 scan
{"192.168.1.19":"123456789"}

Print the status of the iCON controller (client.getState(config=true).controller):

$ ngbs_icon service://123456789@192.168.1.19 controller get
{"eco":false,"cooling":false,"waterTemperature":222,"outsideTemperature":222,"midpoints":{"heating":23,"cooling":23,"ecoHeating":20,"ecoCooling":26},"firmwareVersion":1079,"configVersion":"20230110173134","timezone":"UTC","uptime":21,"config":{"name":"Test Controller","mixingValve":0,"thermostatHysteresis":0.5}}

Print the status of a specific thermostat or all without thermostat ID (client.getState().thermostats):

$ ngbs_icon service://123456789@192.168.1.19 thermostat get 1.1
{"id":"1.1","name":"Room 1","live":true,"valve":false,"parentalLock":false,"eco":false,"ecoFollowsMaster":true,"cooling":false,"temperature":24.4,"humidity":38.2,"dew":10.2,"dewProtection":false,"frost":false,"target":23.5,"targets":{"heating":23.5,"cooling":27,"ecoHeating":18,"ecoCooling":27},"floorHeatingOffset":1,"floorCoolingOffset":0,"limit":5}

Set the eco/non-eco cooling/heating target temperature (client.setThermostatTarget()):

$ ngbs_icon service://123456789@192.168.1.19 thermostat set 1.1 eco cooling 24 # ECO heating
{"id":"1.1", ...}
$ ngbs_icon service://123456789@192.168.1.19 thermostat set 1.1 heating 23 # Comfort heating
{"id":"1.1", ...}
$ ngbs_icon service://123456789@192.168.1.19 thermostat set 1.1 22 # Current mode
{"id":"1.1", ...}

Set parental lock (client.setThermostatParentalLock()):

$ ngbs_icon service://123456789@192.168.1.19 thermostat set 1.1 lock 1
{"id":"1.1", ...}
$ ngbs_icon service://123456789@192.168.1.19 thermostat set 1.1 lock 0
{"id":"1.1", ...}

Set ECO mode (client.setEco() and client.setThermostatEco()):

$ ngbs_icon service://123456789@192.168.1.19 thermostat set 1.1 mode eco
{"id":"1.1", ...}
$ ngbs_icon service://123456789@192.168.1.19 thermostat set 1.1 mode comfort
{"id":"1.1", ...}
$ ngbs_icon service://123456789@192.168.1.19 controller set mode eco
{...}
$ ngbs_icon service://123456789@192.168.1.19 controller set mode comfort
{...}

Set heating/cooling mode (client.setCooling() and client.setThermostatCooling()):

$ ngbs_icon service://123456789@192.168.1.19 thermostat set 1.1 mode heating
{"id":"1.1", ...}
$ ngbs_icon service://123456789@192.168.1.19 thermostat set 1.1 mode cooling
{"id":"1.1", ...}
$ ngbs_icon service://123456789@192.168.1.19 controller set mode heating
{...}
$ ngbs_icon service://123456789@192.168.1.19 controller set mode cooling
{...}

Updating and restarting the controller (client.softwareUpdate() and client.restart()):

$ ngbs_icon service://123456789@192.168.1.19 controller update
$ ngbs_icon service://123456789@192.168.1.19 controller restart

Readme

Keywords

Package Sidebar

Install

npm i ngbs-icon

Weekly Downloads

7

Version

3.0.5

License

MIT

Unpacked Size

52.5 kB

Total Files

22

Last publish

Collaborators

  • molnarg