for my master thesis i want to look into and test different kinds of possible interoperable Smarthome Systems.
I found Open Hybrid and started to understand the basics. But i have some general Questions and make sure i understand everything right until now.
1: My first question is about the structure. Open Hybrid is the Server of the System. It manages the complete communication between the Reality Editor and the Hybrid Objects. The Reality Editor is the Application, which provides the augmented userinterface. The communication between the Reality Editor with Open Hybrid and Open Hybrid with the Hybrid Objects works over WLAN.
Did i understand this right?
2: Another question is, can all smarth things that support WLAN get connected to the open Hybrid Server? (I think an implemented binding is necessary to address the single functions of the object). Or do the smarth objects need to have something special manufactured to be capable to communicate with Open Hybrid?
3: I will try to run open Hybrid on my raspberry pi and make my Arduino to a Hybrid Object. Do i need to install open Hybrid also on the Arduino? Or how does it work?
Okay i think thats all for the beginning and the basics.
That’s not quite right. There is no central server. Each HybridObject can communicate with other HybridObjects in a peer-to-peer way. Let’s say you have an Arduino which is controlling a switch via it’s GPIO pins and a RasperryPi running a MediaCentre application like KODI. Then you would have an instance of OpenHybrid running on each device. Both devices can communicate with each other and with the RealityEditor app. To make it a little bit confusing it is also possible to have more than one HybridObject per device For example you could have another Pi which controls several PhilipsHue lights. This Pi would then kind of act as proxy/server for the lights. In this case each light would be represented by a HybridObject running in the OpenHybrid instance on the PI. Well the essence is: There is no central server which controls all HybridObjects.
That’s correct, but of course the communication between HybridObjects can also happen over LAN, as long as everything is in the same subnet.
You can integrate everything which has some kind of public interface. If you can communicate with the smart thing you can integrate it. The way to integrate something is to create your own so-called HardwareInterface which is supposed to translate between the object’s “protocol” and OpenHybrid’s “protocol”. This requires some programming.
As stated before: There is no central server and you can install OpenHybrid on both devices and make each a HybridObject.
Hello Carsten and thank you,
yes this helps a lot and now i think i understand it right.
The way of communication is interesting. Most Systems of which i have read, are Systems which include a Server for all the communication. So i thought from the beginning it would be the same here .
And now i think i understand the communication with objects without build in Open Hybrid.
I put in between an Arduino or other server with the definition of the hybrid object. I also need to define and implement an interface to communicate with the real objects protocol like Zigbee, ZWave or something. Does interfaces likes these already exist? Maybe created by the community.
When i only have Objects without build in Open Hybrid, i could define all these Objects and their communication on one server?
Thank you for your fast answer. Now i think i will try out some stuff to see how it works in action.
I think most commercial smart home solutions (for example PhilipsHue) provide a higher level API which is probably easier to use than the actual underlying communication protocol. But of course you could also implement that. OpenHybrid is written with node.js and a lot of packages are available. You should check out the GitHub repo and take a look at it.