SPOT: A smartphone-based platform to tackle heterogeneity in smart-home IoT systems