Offbeatmammal / blync-node

NodeJS example for controlling Embrava Blynclight devices
The Unlicense
5 stars 3 forks source link

Debugging Command Buffer? #1

Open thewatts opened 5 years ago

thewatts commented 5 years ago

Hello!

Thank you for this project!

This works great with an older Blync that I own - but our company got some new devices, and while I can find them by their vendor/product id, the commandBuffer doesn't do anything.

How did you go about finding out what the spec was for passing color attributes to the device? Any suggestions on how we would debug // figure out what is needed?

Thanks!

Offbeatmammal commented 5 years ago

Most of it was digging into other samples/projects and testing against the devices I own. My guess is that the newer devices have a changed protocol, but the Embrava SDK isn't really much help for situations like this as it's pretty much a black box.

What device(s) are you trying to get working? The developer forums - http://blynclight.proboards.com/ - are pretty quiet, but sometimes worth asking (and I'll see if I can get any response as well)

thewatts commented 5 years ago

Hey @Offbeatmammal thanks for the quick response!

Here's data on the current device (not working):

  {
    vendorId: 11277,
    productId: 12,
    path: 'IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG2@1,2/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@0/IOPP/pci-bridge@0/IOPP/pci-bridge@3/IOPP/pci12d8,400f@0,2/AppleUSBEHCIPI7C9X440SL@40000000/PRT1@40100000/IOUSBHostDevice@40100000/AppleUSB20InternalHub@40100000/PRT1@40110000/Blynclight ' +
      'Plus@40110000/IOUSBHostInterface@0/IOUSBHostHIDDevice@40110000,0',
    serialNumber: '',
    manufacturer: '',
    product: 'Blynclight Plus',
    release: 256,
    interface: -1,
    usagePage: 65280,
    usage: 1
  },

Here's data on my old device that does work:

  {
    vendorId: 3667,
    productId: 9495,
    path: 'IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG2@1,2/IOPP/UPSB@0/IOPP/DSB1@1/IOPP/UPS0@0/IOPP/pci-bridge@0/IOPP/pci-bridge@0/IOPP/pci-bridge@3/IOPP/pci12d8,400f@0,2/AppleUSBEHCIPI7C9X440SL@40000000/PRT1@40100000/IOUSBHostDevice@40100000/AppleUSB20InternalHub@40100000/PRT1@40110000/Blynclight@40110000/IOUSBHostInterface@0/IOUSBHostHIDDevice@40110000,0',
    serialNumber: '',
    manufacturer: '',
    product: 'Blynclight',
    release: 256,
    interface: -1,
    usagePage: 65280,
    usage: 1
  },
Offbeatmammal commented 5 years ago

one silly question... have you added the vendor and productID to the list in blync.js, line 10

(seems weird that they use different VendorIDs but I guess they outsource the hardware)

thewatts commented 5 years ago

Hey @Offbeatmammal - sorry for my late reply here!

Yes, I did update the blync.js file to use the correct vendor/product identifiers.

The device is found from the list correctly - but sending in the data into the commandBuffer doesn't work.

Thank you for your help!

Offbeatmammal commented 5 years ago

Sadly might not be able to address this (at least short term) ... reached out to Embrava and their support say their policy is not to support commandBuffer access so if the SDK doesn't work for us we're out of luck (though they did say they'd review policy, so who knows longer term).

As this is just a fun project for me I can't really justify getting new devices to test and try to fix this with (they didn't want to send me review devices either!) - if you're buying enough devices that you have an account rep you might be able to get them to look at the policy issue (meantime I'll see if I can poke around and get something working, though without a device hard to be sure!)

voipnorm commented 5 years ago

@thewatts did you find a solution for this?, I ran into the same as you. Command buffer seems to have changed.

Offbeatmammal commented 5 years ago

looking into this at the moment, and should have a "Plus" device to test soon so will see if I can update... @voipnorm do yo get the same device identification data as above?