We set up sleep over night. One night a week, usually Friday or Saturday, was sleepover night, where Lucca (now 7) would be able to come and sleep in our bed, we'd stay up a little later and watch a kids show or movie. We made sleep over night so much fun that if he came in the other nights, he wouldn't get sleepover night. Now we also have a clock in his room, and he's not allowed to come in before 6:30 am. The hardest part is still that sometimes he comes in at night==with the tummy ache, bad dream, etc. reason, and it's up to my husband and me to consistently get up and march him back to his room (where I usually lay for a minute before leaving.). So in writing this, I don't remember how we got it to work, but it did. Maybe we told him his options were sleepover night or never at all? Good luck. Lucca still gets up too much during the night, but this worked for a couple of years. Oh, and for a few weeks, telling him to count to 3,226 or 10,002 or some outrageous number, and then to come get me if still couldn't sleep, also seemed to work!