From a similar POC integration project I’ve done a while ago OS can only be polled to get a status update. Because OS runs independently it can Open|Close valves but it does not inform any upstream neighbour of the action. There were a few requests to have OS keep open a TCP connection to and then send the valve state through that connection. A Browser would be a perfect candidate and using Reverse Ajax or Comet would be the solution but that is not my area of expertise, actually I am just a tinker and a Master of None 🙂
I eventually settled on a Poller model and polled OS to get valve states. The best would be to have OS send State updates via TCP. If the connection drops, either OS or the HA Master could request a full sync and then settle back to the Push model again.