... when calling node.dsleep("1000") the unit hard resets immediately, it does not respect the time ( 1 second )
You might have found out already, but the time passed to dsleep is in micro seconds, not milli seconds. For one second you would have to use 1000000.