(I've looked through existing threads but didn't find anything relevant to my case so posting a new thread)
I have an older mac (iMac 27-inch, Mid 2011) that does not support BLE (Apple logo ->System Report->Hardware->Bluetooth->Bluetooth Low Energy Supported:No) so I followed the instructions here:
https://www.espruino.com/Puck.js+Quick+Start#with_web_bluetooth , namely:
1) Unpair Bluetooth devices using internal Bluetooth
2) sudo nvram bluetoothHostControllerSwitchBehavior=always
The steps worked as I then saw (Apple logo ->System Report->Hardware->Bluetooth->Bluetooth Low Energy Supported:Yes). The MAC address of the external bluetooth USB is also showing correctly (option+bluetooth icon).
However, when I go to the Espruino Web IDE although the puck is detected right away, after choosing it and clicking connect, the connection takes a very long time and almost never happens.
I also have a MacBook Air (13" early 2015) with BLE enabled (no dongle needed) for which the connection to the puck is instant and I have no issues.
Both my machines are running OS X High Sierra