TypeScript House Automation How it works Demo It uses graphql subscriptions to keep IO state synced between all clients