Unfortunately I don't have access to a Environmental and Biometric Sensor Puck, so I'm not able to test it myself. However, what agent are you registering on your board?
Are you able to see the sensor when you scan for devices? If so, are you able to pair it to your Edison?
In Environmental and Biometric Sensor Puck | Silicon Labs they mention that they developed an iOS/Android App for the device. I believe it'd helpful for you to check this app and see how it interacts with the sensor, so you may have a better idea of how to receive its data o the Edison.
They also provided the sensor's source code, I believe it might help you understand how it works and how to connect to it from your board.
The Sensor Puck should be just like any other 'transmit only' device. I am able to see the device when I scan for it, but I can't pair or connect it since it is only one-way communication. I do have the app and have looked at the source code for the puck, but it wasn't much help. I have also asked for the App source code but the creators did not want to share that.
And I may be wrong, but registering an agent is only required for Bluetooth 2.0 connections, such as connecting to my phone. I am able to get data from other BLE devices without the use of an agent.
I'm pretty sure this can be done, I just need the right commands or libraries/software.
Finally got this to work. For transmit only devices like the SL Sensor Puck, you will need to use the noble library (sandeepmistry/noble · GitHub) and then run the .js code 'advertisement-discovery' using the node command.
A full list of steps that should work is here: http://rexstjohn.com/configure-intel-edison-for-bluetooth-le-smart-development/
If you want to continuously search for packets, you will need to change the "noble.startScanning();" command to "noble.startScanning(, true);"