Detecting if I’m on a single, non-post, non-homepage page?

The condition is_home() is right, but the condition have_post() in the template page.php will be true because at least one post of type ‘page‘ exist. A page is already a post.