You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently have the DeviceMonitor which checks if the homebrain ports on any devices on the local network are open which can detect clients. This makes us able to know which clients are out there, but homebrain still has absolutely no idea about what kind of client it is, what kind of input it accepts and therefore not what it's supposed to do with it.
For everything that listens for events it's a must for a good experience; having to manually enter IPs and ports is a hassle. I have an implementation idea, not sure if it's the best one but it would work.
As soon as a client connects to the network it should send a "Hello" message as a UDP broadcast including the connection type (rest, websock, udp), port and event types, name etc so homebrain can know what to do with the node. This would be a step forward to make the output of #17 more interesting.
Any additional ideas about this solution? Alternative ways to solve it?
The text was updated successfully, but these errors were encountered:
I think UDP broadcasts are the goto way to announce availability of a service on a local network (this is how Steam's In-home Streaming does it for instance). But one broadcast likely isn't enough (imagine for instance if the Homebrain core is momentarily offline when the client connects to the network), and an alternative might be for the Homebrain core to do the broadcasting instead of the clients who will instead respond to the broadcast with information about themselves, effectively registering themselves via the REST API.
The udp broadcaster is working and the clients (simulatedlamp and ttsclient) can now find the homebrain server automatically. They also register themselves at the homebrain server by sending a "add_lamp" or "add_tts" message which a new devicemanager handles and sets them up.
What i don't like about this solution is that lamps and tts are always set up the same way, a chain with a ID filter with a default name and then the agent. Currently it's only possible to add tts and lamps, i would like a dynamic system where you can specify what kind of events the clients accepts and sends.
If these two things are fixed, we can start working on the web interface for configuring clients and agents.
We currently have the DeviceMonitor which checks if the homebrain ports on any devices on the local network are open which can detect clients. This makes us able to know which clients are out there, but homebrain still has absolutely no idea about what kind of client it is, what kind of input it accepts and therefore not what it's supposed to do with it.
For everything that listens for events it's a must for a good experience; having to manually enter IPs and ports is a hassle. I have an implementation idea, not sure if it's the best one but it would work.
As soon as a client connects to the network it should send a "Hello" message as a UDP broadcast including the connection type (rest, websock, udp), port and event types, name etc so homebrain can know what to do with the node. This would be a step forward to make the output of #17 more interesting.
Any additional ideas about this solution? Alternative ways to solve it?
The text was updated successfully, but these errors were encountered: