The services in the Internet of Things (IoT) are the key components to realize the value of IoT. The entity-oriented services are discovered from data. However, a large number of heterogeneous data and entities in IoT increase the difficulty of service development. For this, we propose a cyber-physical-social model to recommend services in IoT. The model consists of four layers: in the physical layer, the individual behavior pattern is defined. The system layer is responsible for handling interaction data to solve the heterogeneous data problem. The cyber layer is the agent layer, where we use the defined agents to establish service logic, shielding the entity heterogeneous problem. In the social layer, we explore the behavior similarity between individual users, achieving entity interaction in different scenes. In experiments, we obtain the data from 5 scenes, and the data is used for 6 experiments. In terms of accuracy and response time, our model has outstanding advantages compared with the previous methods.