In interactive mode this is what I get (I type/paste in the bits after the > prompts):
> var HID = require('node-hid');
undefined
> HID
{ HID:
{ [Function: HID]
super_:
{ [Function: EventEmitter]
EventEmitter: [Circular],
usingDomains: true,
defaultMaxListeners: [Getter/Setter],
init: [Function],
listenerCount: [Function] } },
devices: [Function] }
> var devices = HID.devices();
undefined
> devices
[ { vendorId: 0,
productId: 0,
path: 'IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SBUS@1F,3/AppleSMBusPCI/BUS0@0/AppleSMBusControllerICH/MKY0/AppleMikeyDriver/AppleMikeyHIDDriver',
serialNumber: '',
manufacturer: '',
product: 'Apple Mikey HID Driver',
release: 0,
interface: -1,
usagePage: 12,
usage: 1 },… etc.
I'm loading the node-hid library, checking that I got something, then asking it for a list of devices, then inspecting the list. If you get that far successfully then you could try:
> var device = new HID.HID(1452, 33346)
undefined
> device
HID {
domain:
Domain {
domain: null,
_events: { error: [Function] },
_eventsCount: 1,
_maxListeners: undefined,
members: [] },
_events: { newListener: [Function] },
_eventsCount: 1,
_maxListeners: undefined,
_raw: HID {},
write: [Function: bound write],
getFeatureReport: [Function: bound getFeatureReport],
sendFeatureReport: [Function: bound sendFeatureReport],
setNonBlocking: [Function: bound setNonBlocking],
readSync: [Function: bound readSync],
readTimeout: [Function: bound readTimeout],
getDeviceInfo: [Function: bound getDeviceInfo],
_paused: true }
Here I'm opening a device (an IR receiver in my case), and then inspecting it. You will need to change the vendor and product ids to do it for the Green Bean (1240, 64752).
If you can paste the output of what you get that may help us narrow down the issue.