## Classes
EventEmitter
Hub
Hub
EventEmitter
EventEmitter
**Kind**: global class
**Extends**: EventEmitter
* [LPF2](#LPF2) ⇐ EventEmitter
* [.scan()](#LPF2+scan)
* [.stop()](#LPF2+stop)
* [.getConnectedDeviceByUUID(uuid)](#LPF2+getConnectedDeviceByUUID) ⇒ [Hub
](#Hub) \| null
* [.getConnectedDevices()](#LPF2+getConnectedDevices) ⇒ [Array.<Hub>
](#Hub)
* ["discover" (hub)](#LPF2+event_discover)
### lpF2.scan()
Begin scanning for LPF2 Hub devices.
**Kind**: instance method of [LPF2
](#LPF2)
### lpF2.stop()
Stop scanning for LPF2 Hub devices.
**Kind**: instance method of [LPF2
](#LPF2)
### lpF2.getConnectedDeviceByUUID(uuid) ⇒ [Hub
](#Hub) \| null
Retrieve a LPF2 Hub device by UUID.
**Kind**: instance method of [LPF2
](#LPF2)
| Param | Type |
| --- | --- |
| uuid | string
|
### lpF2.getConnectedDevices() ⇒ [Array.<Hub>
](#Hub)
Retrieve a list of LPF2 Hub devices.
**Kind**: instance method of [LPF2
](#LPF2)
### "discover" (hub)
Emits when a LPF2 Hub device is found.
**Kind**: event emitted by [LPF2
](#LPF2)
| Param | Type |
| --- | --- |
| hub | [WeDo2Hub
](#WeDo2Hub) \| [LPF2Hub
](#LPF2Hub) |
## LPF2Hub ⇐ [Hub
](#Hub)
**Kind**: global class
**Extends**: [Hub
](#Hub)
* [LPF2Hub](#LPF2Hub) ⇐ [Hub
](#Hub)
* [new LPF2Hub()](#new_LPF2Hub_new)
* [.setLEDColor(color)](#LPF2Hub+setLEDColor) ⇒ Promise
* [.setMotorSpeed(port, speed, [time])](#LPF2Hub+setMotorSpeed) ⇒ Promise
* [.setMotorAngle(port, angle, [speed])](#LPF2Hub+setMotorAngle) ⇒ Promise
* [.connect()](#Hub+connect) ⇒ Promise
* [.disconnect()](#Hub+disconnect) ⇒ Promise
* [.subscribe(port, [mode])](#Hub+subscribe) ⇒ Promise
* [.unsubscribe(port)](#Hub+unsubscribe) ⇒ Promise
* [.sleep(delay)](#Hub+sleep) ⇒ Promise
* [.wait(commands)](#Hub+wait) ⇒ Promise
* ["button" (button, state)](#LPF2Hub+event_button)
* ["distance" (port, distance)](#LPF2Hub+event_distance)
* ["color" (port, color)](#LPF2Hub+event_color)
* ["tilt" (port, x, y)](#LPF2Hub+event_tilt)
* ["rotate" (port, rotation)](#LPF2Hub+event_rotate)
### new LPF2Hub()
The LPF2Hub is emitted if the discovered device is either a Boost Move Hub, Powered Up Hub, or Powered Up Remote.
### lpF2Hub.setLEDColor(color) ⇒ Promise
Set the color of the LED on the Hub via a color value.
**Kind**: instance method of [LPF2Hub
](#LPF2Hub)
**Returns**: Promise
- Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
| color | number
| A number representing one of the LED color consts. |
### lpF2Hub.setMotorSpeed(port, speed, [time]) ⇒ Promise
Set the motor speed on a given port.
**Kind**: instance method of [LPF2Hub
](#LPF2Hub)
**Returns**: Promise
- Resolved upon successful completion of command. If time is specified, this is once the motor is finished.
| Param | Type | Description |
| --- | --- | --- |
| port | string
| |
| speed | number
| For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0. |
| [time] | number
| How long to activate the motor for (in milliseconds). Leave empty to turn the motor on indefinitely. |
### lpF2Hub.setMotorAngle(port, angle, [speed]) ⇒ Promise
Rotate a motor by a given angle.
**Kind**: instance method of [LPF2Hub
](#LPF2Hub)
**Returns**: Promise
- Resolved upon successful completion of command (ie. once the motor is finished).
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| port | string
| | |
| angle | number
| | How much the motor should be rotated (in degrees). |
| [speed] | number
| 100
| How fast the motor should be rotated. |
### lpF2Hub.connect() ⇒ Promise
Connect to the Hub.
**Kind**: instance method of [LPF2Hub
](#LPF2Hub)
**Overrides**: [connect
](#Hub+connect)
**Returns**: Promise
- Resolved upon successful connect.
### lpF2Hub.disconnect() ⇒ Promise
Disconnect the Hub.
**Kind**: instance method of [LPF2Hub
](#LPF2Hub)
**Returns**: Promise
- Resolved upon successful disconnect.
### lpF2Hub.subscribe(port, [mode]) ⇒ Promise
Subscribe to sensor notifications on a given port.
**Kind**: instance method of [LPF2Hub
](#LPF2Hub)
**Returns**: Promise
- Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
| port | string
| |
| [mode] | number
| The sensor mode to activate. If no mode is provided, the default for that sensor will be chosen. |
### lpF2Hub.unsubscribe(port) ⇒ Promise
Unsubscribe to sensor notifications on a given port.
**Kind**: instance method of [LPF2Hub
](#LPF2Hub)
**Returns**: Promise
- Resolved upon successful issuance of command.
| Param | Type |
| --- | --- |
| port | string
|
### lpF2Hub.sleep(delay) ⇒ Promise
Sleep a given amount of time.
This is a helper method to make it easier to add delays into a chain of commands.
**Kind**: instance method of [LPF2Hub
](#LPF2Hub)
**Returns**: Promise
- Resolved after the delay is finished.
| Param | Type | Description |
| --- | --- | --- |
| delay | number
| How long to sleep (in milliseconds). |
### lpF2Hub.wait(commands) ⇒ Promise
Wait until a given list of concurrently running commands are complete.
This is a helper method to make it easier to wait for concurrent commands to complete.
**Kind**: instance method of [LPF2Hub
](#LPF2Hub)
**Returns**: Promise
- Resolved after the commands are finished.
| Param | Type | Description |
| --- | --- | --- |
| commands | Array.<Promise.<any>>
| Array of executing commands. |
### "button" (button, state)
Emits when a button is pressed.
**Kind**: event emitted by [LPF2Hub
](#LPF2Hub)
| Param | Type | Description |
| --- | --- | --- |
| button | string
| |
| state | number
| A number representing one of the button state consts. |
### "distance" (port, distance)
Emits when a distance sensor is activated.
**Kind**: event emitted by [LPF2Hub
](#LPF2Hub)
| Param | Type | Description |
| --- | --- | --- |
| port | string
| |
| distance | number
| Distance, in millimeters. |
### "color" (port, color)
Emits when a color sensor is activated.
**Kind**: event emitted by [LPF2Hub
](#LPF2Hub)
| Param | Type | Description |
| --- | --- | --- |
| port | string
| |
| color | number
| A number representing one of the LED color consts. |
### "tilt" (port, x, y)
Emits when a tilt sensor is activated.
**Kind**: event emitted by [LPF2Hub
](#LPF2Hub)
| Param | Type | Description |
| --- | --- | --- |
| port | string
| If the event is fired from the Move Hub's in-built tilt sensor, the special port "TILT" is used. |
| x | number
| |
| y | number
| |
### "rotate" (port, rotation)
Emits when a rotation sensor is activated.
**Kind**: event emitted by [LPF2Hub
](#LPF2Hub)
| Param | Type |
| --- | --- |
| port | string
|
| rotation | number
|
## WeDo2Hub ⇐ [Hub
](#Hub)
**Kind**: global class
**Extends**: [Hub
](#Hub)
* [WeDo2Hub](#WeDo2Hub) ⇐ [Hub
](#Hub)
* [new WeDo2Hub()](#new_WeDo2Hub_new)
* [.setLEDColor(color)](#WeDo2Hub+setLEDColor) ⇒ Promise
* [.setLEDRGB(red, green, blue)](#WeDo2Hub+setLEDRGB) ⇒ Promise
* [.setMotorSpeed(port, speed)](#WeDo2Hub+setMotorSpeed) ⇒ Promise
* [.connect()](#Hub+connect) ⇒ Promise
* [.disconnect()](#Hub+disconnect) ⇒ Promise
* [.subscribe(port, [mode])](#Hub+subscribe) ⇒ Promise
* [.unsubscribe(port)](#Hub+unsubscribe) ⇒ Promise
* [.sleep(delay)](#Hub+sleep) ⇒ Promise
* [.wait(commands)](#Hub+wait) ⇒ Promise
* ["button" (button, state)](#WeDo2Hub+event_button)
* ["distance" (port, distance)](#WeDo2Hub+event_distance)
* ["color" (port, color)](#WeDo2Hub+event_color)
* ["tilt" (port, x, y)](#WeDo2Hub+event_tilt)
* ["rotate" (port, rotation)](#WeDo2Hub+event_rotate)
### new WeDo2Hub()
The WeDo2Hub is emitted if the discovered device is a WeDo 2.0 Smart Hub.
### weDo2Hub.setLEDColor(color) ⇒ Promise
Set the color of the LED on the Hub via a color value.
**Kind**: instance method of [WeDo2Hub
](#WeDo2Hub)
**Returns**: Promise
- Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
| color | number
| A number representing one of the LED color consts. |
### weDo2Hub.setLEDRGB(red, green, blue) ⇒ Promise
Set the color of the LED on the Hub via RGB values.
**Kind**: instance method of [WeDo2Hub
](#WeDo2Hub)
**Returns**: Promise
- Resolved upon successful issuance of command.
| Param | Type |
| --- | --- |
| red | number
|
| green | number
|
| blue | number
|
### weDo2Hub.setMotorSpeed(port, speed) ⇒ Promise
Set the motor speed on a given port.
**Kind**: instance method of [WeDo2Hub
](#WeDo2Hub)
**Returns**: Promise
- Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
| port | string
| |
| speed | number
| For forward, a value between 1 - 100 should be set. For reverse, a value between -1 to -100. Stop is 0. |
### weDo2Hub.connect() ⇒ Promise
Connect to the Hub.
**Kind**: instance method of [WeDo2Hub
](#WeDo2Hub)
**Overrides**: [connect
](#Hub+connect)
**Returns**: Promise
- Resolved upon successful connect.
### weDo2Hub.disconnect() ⇒ Promise
Disconnect the Hub.
**Kind**: instance method of [WeDo2Hub
](#WeDo2Hub)
**Returns**: Promise
- Resolved upon successful disconnect.
### weDo2Hub.subscribe(port, [mode]) ⇒ Promise
Subscribe to sensor notifications on a given port.
**Kind**: instance method of [WeDo2Hub
](#WeDo2Hub)
**Returns**: Promise
- Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
| port | string
| |
| [mode] | number
| The sensor mode to activate. If no mode is provided, the default for that sensor will be chosen. |
### weDo2Hub.unsubscribe(port) ⇒ Promise
Unsubscribe to sensor notifications on a given port.
**Kind**: instance method of [WeDo2Hub
](#WeDo2Hub)
**Returns**: Promise
- Resolved upon successful issuance of command.
| Param | Type |
| --- | --- |
| port | string
|
### weDo2Hub.sleep(delay) ⇒ Promise
Sleep a given amount of time.
This is a helper method to make it easier to add delays into a chain of commands.
**Kind**: instance method of [WeDo2Hub
](#WeDo2Hub)
**Returns**: Promise
- Resolved after the delay is finished.
| Param | Type | Description |
| --- | --- | --- |
| delay | number
| How long to sleep (in milliseconds). |
### weDo2Hub.wait(commands) ⇒ Promise
Wait until a given list of concurrently running commands are complete.
This is a helper method to make it easier to wait for concurrent commands to complete.
**Kind**: instance method of [WeDo2Hub
](#WeDo2Hub)
**Returns**: Promise
- Resolved after the commands are finished.
| Param | Type | Description |
| --- | --- | --- |
| commands | Array.<Promise.<any>>
| Array of executing commands. |
### "button" (button, state)
Emits when a button is pressed.
**Kind**: event emitted by [WeDo2Hub
](#WeDo2Hub)
| Param | Type | Description |
| --- | --- | --- |
| button | string
| |
| state | number
| A number representing one of the button state consts. |
### "distance" (port, distance)
Emits when a distance sensor is activated.
**Kind**: event emitted by [WeDo2Hub
](#WeDo2Hub)
| Param | Type | Description |
| --- | --- | --- |
| port | string
| |
| distance | number
| Distance, in millimeters. |
### "color" (port, color)
Emits when a color sensor is activated.
**Kind**: event emitted by [WeDo2Hub
](#WeDo2Hub)
| Param | Type | Description |
| --- | --- | --- |
| port | string
| |
| color | number
| A number representing one of the LED color consts. |
### "tilt" (port, x, y)
Emits when a tilt sensor is activated.
**Kind**: event emitted by [WeDo2Hub
](#WeDo2Hub)
| Param | Type |
| --- | --- |
| port | string
|
| x | number
|
| y | number
|
### "rotate" (port, rotation)
Emits when a rotation sensor is activated.
**Kind**: event emitted by [WeDo2Hub
](#WeDo2Hub)
| Param | Type |
| --- | --- |
| port | string
|
| rotation | number
|
## Hub ⇐ EventEmitter
**Kind**: global class
**Extends**: EventEmitter
* [Hub](#Hub) ⇐ EventEmitter
* [.connect()](#Hub+connect) ⇒ Promise
* [.disconnect()](#Hub+disconnect) ⇒ Promise
* [.subscribe(port, [mode])](#Hub+subscribe) ⇒ Promise
* [.unsubscribe(port)](#Hub+unsubscribe) ⇒ Promise
* [.sleep(delay)](#Hub+sleep) ⇒ Promise
* [.wait(commands)](#Hub+wait) ⇒ Promise
### hub.connect() ⇒ Promise
Connect to the Hub.
**Kind**: instance method of [Hub
](#Hub)
**Returns**: Promise
- Resolved upon successful connect.
### hub.disconnect() ⇒ Promise
Disconnect the Hub.
**Kind**: instance method of [Hub
](#Hub)
**Returns**: Promise
- Resolved upon successful disconnect.
### hub.subscribe(port, [mode]) ⇒ Promise
Subscribe to sensor notifications on a given port.
**Kind**: instance method of [Hub
](#Hub)
**Returns**: Promise
- Resolved upon successful issuance of command.
| Param | Type | Description |
| --- | --- | --- |
| port | string
| |
| [mode] | number
| The sensor mode to activate. If no mode is provided, the default for that sensor will be chosen. |
### hub.unsubscribe(port) ⇒ Promise
Unsubscribe to sensor notifications on a given port.
**Kind**: instance method of [Hub
](#Hub)
**Returns**: Promise
- Resolved upon successful issuance of command.
| Param | Type |
| --- | --- |
| port | string
|
### hub.sleep(delay) ⇒ Promise
Sleep a given amount of time.
This is a helper method to make it easier to add delays into a chain of commands.
**Kind**: instance method of [Hub
](#Hub)
**Returns**: Promise
- Resolved after the delay is finished.
| Param | Type | Description |
| --- | --- | --- |
| delay | number
| How long to sleep (in milliseconds). |
### hub.wait(commands) ⇒ Promise
Wait until a given list of concurrently running commands are complete.
This is a helper method to make it easier to wait for concurrent commands to complete.
**Kind**: instance method of [Hub
](#Hub)
**Returns**: Promise
- Resolved after the commands are finished.
| Param | Type | Description |
| --- | --- | --- |
| commands | Array.<Promise.<any>>
| Array of executing commands. |