Do I have a right to be upset or am I overreacting??

So this isn't the first time this has happened, but I'm gonna use today as the example.
So I had to be up early for work (left at 8:20am), and I got home from my shift at 12:40pm. The plan was for my boyfriend and I to spend together the few hours between when I got home and when he left for his shift (4:15pm) together because usually in our work schedules we don't get that. When I got home he instead complained about how tired he was because instead of sleeping while I was gone (I offered to wake him when I got home) he watched tv and wanted to take a nap before his shift. He lied in bed until 1:45pm before deciding to take a nap until 2:30, told me he had an alarm set. I ended up falling asleep around 2:00, since I was up early, but his alarm was never set so I woke up at 3:15, told him to get up, and he got pissed at me for it. Our entire time together has been him in bed asleep and me waiting for him to get up. This has happened on several occasions where our time together turned into him asleep and me upset because he chose sleep over me when he could have slept while I was at work instead of getting up with me. Do I even have the right to be upset here?? Am I overreacting?? What do I do??