I am trying to use a call_on_delay in a driver command handler to retry a command after a given delay, since the hub I am talking to is unreliable.
When I call the following in a command handler
device.thread:call_with_delay(10, function() command_handlers["do_"..name](driver, device, command) end)
I get the following error
2022-09-04T23:28:48.891828826+00:00 FATAL Hunter Douglas Platinum Shades Lua: runtime error: [string "cosock/socket/internals.lua"]:101: recvr waker already set, sockets can only block one thread per waker kind
stack traceback:
[C]: in function 'assert'
[string "cosock/socket/internals.lua"]:101: in method 'setwaker'
[string "cosock.lua"]:279: in field 'run'
[string "st/driver.lua"]:739: in method 'run'
[string "init.lua"]:39: in main chunk