"It involves the control and automation of lighting, heating (such as smart thermostats), ventilation, air conditioning (HVAC), and security, as well as home appliances such as washer/dryers, ovens or refrigerators/freezers. Wi-Fi is often used for remote monitoring and control. Home devices, when remotely monitored and controlled via the Internet, are an important constituent of the Internet of Things. Modern systems generally consist of switches and sensors connected to a central hub sometimes called a "gateway" from which the system is controlled with a user interface that is interacted either with a wall-mounted terminal, mobile phone software, tablet computer or a web interface, often but not always via Internet cloud services.
While there are many competing vendors, there are very few worldwide accepted industry standards and the smart home space is heavily fragmented.Manufacturers often prevent independent implementations by withholding documentation and by litigation.
The home automation market was worth US$5.77 billion in 2013, predicted to reach a market value of US$12.81 billion by the year 2020." Read more here
Today I would like to mention, for home domotics application, Arduino solution that it is a C++ programmable micro-controller in conjunction with Blynk that it is an IOS/android application for remote command purpose that interface with Arduino.
More precisely Blynk is a platform with iOS and Android apps to control Arduino, ESP8266, Raspberry Pi and the likes over the Internet.
You can easily build graphic interfaces for all your projects by simply dragging and dropping widgets.
Documentation could be found here
Here it is a graphic that better explain if and how it work:
Usually Blynk utilize propritary cloud server but often, this solution could create some connection/delays issue.
Installation could be done locally, to avoid internet connection problems, and to improve speed.
Blynk Server is an Open-Source Netty based Java server, responsible for forwarding messages between Blynk mobile application and various microcontroller boards and SBCs (i.e. Arduino, Raspberry Pi. etc).
- Java 8/9 required (OpenJDK, Oracle)
- Any OS that can run java
- At least 30 MB of RAM (could be less with tuning)
- Open ports 8443 (for app), 8442 (for hardware without ssl), 8441 (for hardware with ssl)
More detailed information could be found at this link or this one
I am mentioning old blog article that refer to friend's company.
It is in italian language but it could be useful to have an overview about opportunities given from domotics/home automation: