A method of consolidating Internet of Things (IoT) devices connected via an IoT network is disclosed. An IoT integration platform implemented by a computer system can collect data from one or more of IoT devices, IoT solution specific server systems, third-party server systems, general-purpose user computing devices, or any combination thereof. The IoT integration platform can label the data based on entity-specific context. The entity-specific context can correspond to a user account, a device, a location, or any combination thereof. The IoT integration platform can generate an entity-specific profile based on the labeled data. The IoT integration platform can generate, based on the entity-specific profile, a situation forecast associated with a target entity and with a timeframe yet to occur.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method comprising: receiving a plurality of activity data streams at an Internet of things (IoT) integration platform, wherein the IoT integration platform is implemented in a computer system and connected to multiple data sources from different vertical IoT solutions, wherein the data sources include one or more IoT devices, general-purpose mobile devices, solution-specific computer server systems, third-party computer server systems, IoT-solution specific Web server systems, or any combination thereof; updating a plurality of evolving context indicators associated with one or more trackable entities in the IoT integration platform based on the plurality of activity data streams, wherein the evolving context indicators change over time; training one or more machine learning models based on a historical log of the plurality of evolving context indictors, activity data from the plurality of activity data streams, or a combination thereof; and forecasting a contextual situation associated with a target entity by testing a subset of the plurality of evolving context indicators within a timeframe against the one or more machine learning models. 2. The method of claim 1, further comprising defining a set of possible contextual situations; and wherein forecasting the contextual situation includes computing which of the possible contextual situations best matches the plurality of evolving context indicators. 3. The method of claim 2, wherein the set of possible contextual situations is defined specifically for the target entity. 4. The method of claim 2, wherein each possible contextual situation is associated with one or more profile attributes, one or more entity states, one or more event types, or any combination thereof. 5. The method of claim 2, wherein said defining includes automatically generating the set of possible contextual situations by analyzing a historical log of the activity data streams, the historical log of the evolving context indicators, or a combination thereof. 6. The method of claim 1, wherein updating the plurality of evolving context indicators is in response to receiving new data from the plurality of activity data streams. 7. The method of claim 1, wherein updating the plurality of evolving context indicators includes computing a context indicator as a function of one or more event types of activity data from the plurality of activity data streams. 8. The method of claim 1, wherein at least one of the evolving context indicators is a function of another one of the evolving context indicators; and wherein updating the plurality of evolving context indicators includes iterating said updating multiple times to capture interdependent impact of the evolving context indicators on each other. 9. The method of claim 1, wherein the activity data streams include a user reported activity, a third party application observed activity, an IoT integration platform observed or inferred activity, or any combination thereof. 10. The method of claim 1, wherein the evolving context indicators include an entity state machine of a trackable entity related to the target entity, an entity graph including a node therein corresponding to the target entity, a profile attribute of the trackable entity, a detected event associated with the trackable entity and observed by the IoT integration platform, or any combination thereof. 11. The method of claim 10, wherein the trackable entity is the target entity, a parent entity that the target entity is part of, a sub entity that is part of the target entity, or a connected entity that is within a preset threshold number of direct connections to the target entity in the entity graph. 12. The method of claim 10, wherein the entity state machine is based on predefined states. 13. The method of claim 10, further comprising generating a new state in the entity state machine based on the plurality of activity data streams. 14. The method of claim 10, further comprising analyzing the plurality of activity data streams to detect the event associated with the trackable entity. 15. The method of claim 14, wherein the detected event is characterized by a combination of one or more entity states of one or more trackable entities, one or more profile attributes of the trackable entities, one or more occurrences of known activity types, or any combination thereof. 16. The method of claim 14, wherein said analyzing includes classifying activity data in the plurality of activity data streams into one or more events utilizing one or more machine learning models. 17. The method of claim 1, wherein said training includes training the one or more machine learning models using labeled data that specifies at least a possible contextual situation and one or more corresponding context indicators or activity data known to correlate with the possible contextual situation. 18. The method of claim 1, further comprising: detecting a current contextual situation of the target entity; and generating labeled data from the historical log of the plurality of evolving context indicators, user feedback of a current contextual situation, the detected current contextual situation, the plurality of activity data streams, or any combination thereof; and wherein the machine learning models includes at least a supervised machine learning model and the supervised machine learning model is trained via the labeled data. 19. The method of claim 1, wherein machine learning model is specific to a user, a device, a location or place, a group of users, a group of devices, a group of locations or places, or any combination thereof. 20. A computer readable data memory storing computer-executable instructions that, when executed by a computer system, cause the computer system to perform a computer-implemented method, the computer-executable instructions comprising: instructions for collecting data from a plurality of Internet of Things (IoT) devices; instructions for labeling the data based on entity-specific context, wherein the entity-specific context corresponds to a user account, a device, a location, or any combination thereof; instructions for generating an entity-specific profile based on the labeled data; and instructions for predicting a possible situation associated with a target entity based on the entity-specific profile. 21. The computer readable data memory of claim 20, wherein the possible situation is a wellness related situation. 22. The computer readable data memory of claim 20, wherein the computer executable instructions further comprises instructions for generating a group-entity profile based on the labeled data associated with multiple entities, including the target entity, that form a group; and wherein the instructions for predicting the possible situation associated with the entity includes: instructions for predicting a situation forecast associated with the group; and instructions for tuning, based on the entity-specific profile, the situation forecast to generate the possible situation associated with the target entity. 23. A computer system comprising: a processor system comprising one or more processors; a memory system configured to store executable instructions; wherein the processor system, when configured by the executable instructions, is operable to: receive a plurality of activity data streams at an Internet of things (IoT) integration platform, wherein the IoT integration platform is implemented in a computer system and connected to multiple data sources from different vertical IoT solutions, wherein the data sources include one or more IoT devices, general-purpose mobile devices, solution-specific computer server systems, third-party computer server systems, IoT-solution specific Web server systems, or any combination thereof; update a plurality of evolving context indicators associated with one or more trackable entities in the IoT integration platform based on the plurality of activity data streams, wherein the evolving context indicators change over time; and forecast a contextual situation associated with a target entity by testing a historical log of the plurality of evolving context indicators.