Homy, iOS / Android home automation application to control a server or DIY connected objects

After several months of silence, I’m happy to introduce Homy. Homy is a mobile application running iOS and Android that allows you to control connected objects developed based on Arduino, ESP8266, ESP32 or DIY home automation server such as Domoticz even outside your home.

 

For the moment, I have focused on Domoticz but other servers will be added later. It was necessary to give it a name to this application, I propose to you Homy, the contraction of Home and DIY: D. Homy arrives just in time for Christmas. For all those who will find a beginner Arduino / Raspberry Pi kit under the tree, that’s enough to enjoy a little more during the holidays xD.

I also take the opportunity to unveil the application icon. Nothing really original for the beta. If you have better ideas, I’m interested.

Why Homy?

Since working on the DIY Projects blog, I have always been frustrated that I can not (easily) drive or communicate from my phone with the proposed projects. There are many apps that are specialized in the field, but that’s a bit of a problem, they are (too) specialized.

Blynk or Cayenne that we could use last year in several projects focus on Arduino / ESP8266 projects and require the use of dedicated libraries.

There are applications that know very well connect and control home automation servers DIY but often they are limited to one or two servers. This is for example the official app for Jeedom, Pilot for Domoticz. As for the general applications (ImperiHome, Yonomi, Yeti), most often, they pay or only support commercial products (Philips Hue bulbs, Amazon Echo, Belkin Wemo, Google Home, Nest thermostats, Sonos speakers … )

Homy will therefore have the mission to enable us to exploit home automation accessories and connected objects developed from open source solutions. Arduino, ESP32, ESP8266, DIY home automation servers …

What is Homy compatible with in beta?

Although I have great long-term ambitions for Homy, we had to start by laying the foundation for the application. For the beta, I focused on Domoticz support as well as the MQTT protocol.

What kind of (open source or not) software do you use?
  • Add your answer

 

Homy is able to communicate in two ways with Domoticz:

  • Via the standard HTTP API and if you have enabled it (strongly recommended) in HTTPS
  • Via the JSON API using the MQTT protocol.

Most Domoticz equipment * is supported:

  • Lights and switches
    • Multi-position selector
    • LED color bulbs with dimmer RGB. Other types (RGBW, RGBWWZ, RBGWZ) are partially supported. Only the color, the
    • brightness
    • Push buttons
    • Switch
    • Dimmer
  • Sensors
    • Generic sensor
    • Rain
    • Weight or scale
    • Humidity of the foliage (leafwetness)
    • Door closing switch or window or connected lock (door, contact, doorlock types)
    • Bell (doorbell)
    • Brightness (lux)
    • UV (uv)
    • Incremental counters (counter, rfxmeter)
    • Electrical power reading (kwh) and gas reading (gas)
    • Electric current (current)
    • Dewpoint
    • Soil moisture
    • Solar radiation
    • Sound pollution
    • Distance
    • Temperature
    • Humidity
    • Barometer or atmospheric pressure (barometer)
    • Water flow
    • Visibility (visibility)?
    • Wind speed
    • Wind direction
    • Air quality represented only by the CO2 content in the atmosphere with Domoticz
    • Motion sensor
    • Smoke detector
  • Actuators
    • Alert with level and publication of a message (alert)
    • Siren to the X10 standard (x10siren, old standard home automation)
    • Motorized shutters (blinds) with different variants
    • On/Off switch
    • With adjustable opening level
    • Venetian blind (Venetian blinds EU) and US
    • With inverted variants
    • Text display
    • Setpoint (thermostat)

(*) Attention, these are the internal equipment of Domoticz, which has nothing to do with commercial products supported.

For your DIY projects and connected objects, Homy supports JSON objects (the detailed documentation is being written). For example, if you are developing a temperature probe, you only need to publish a message containing the measurements as a JSON object.

{
   temperature: 22,
   humidity: 66.4
}

The MQTT connector is also able to automatically detect messages sent by the Tasmota * firmware that is used to hack the Sonoff manufacturer’s products. For now, the Power On / Off controls and the following sensors are supported:

  • SHT30 (temperature and humidity)
  • BMP180, BMP280
  • DHT11 and DHT22 (temperature and humidity)
  • AM312 (equivalent of DHT22)
  • MHZ19 (CO2 content)
  • HC-SR04 (distance measurement)

(*) Attention, on the Wemos d1 mini, the DHT11 / DHT22 shield seems incompatible with the I2C shields. No pins are shared but reading data on the I2C bus does not work anyway.

How does Homy’s core work?

Homy’s core takes care of interpreting incoming messages to convert them into universal objects (well, from Homy’s point of view, of course). In this way, lighting a light bulb with Domoticz or a Wemos relay shield will be exactly the same.

 

No intermediary server required, your data remain private!

What always annoys me with commercial solutions is the need to go through an intermediary server somewhere … With Homy, no need for an intermediary server. You can connect directly to your home box and even directly to an ESP8266. All you need to do is expose your home automation server to the internet by configuring your internet box.

 

how to use Homy with router

 

I do not recommend, however, to expose your equipment to the internet. The best is to go through an intermediary server. Yes, it is contradictory with what I just wrote, but giving access to your Raspberry Pi from the internet can also give access to an attacker.

Since not all of us are IT security professionals, it is safer to go through an online MQTT server.

Architecture Homy broker MQTT en ligne

There are several of which some offer free offers. cloudMQTT is the best known. The free offer is limited to 5 simultaneous connections but it is more than enough for personal use:

  1. A connection for the home automation server
  2. If you have a fleet of accessories based on ESP8266, you can, for example, install a local broker and return all incoming messages using a flow Node-RED to cloudMQTT. Only one connection will be needed for your connected objects
  3. A connection for a smartphone
  4. Possibly a second connection from another smartphone
  5. One last connection for a wall dashboard or tablet

cloudMQTT has complied with the European directive GDPR, the confidentiality of your data is guaranteed. You can even go further by setting the retention setting to false so that no messages are saved on the intermediate MQTT server.

Connectors

To connect to home automation systems, you will have to configure a connector. This is a configuration page that allows you to enter the authentication settings. Here for example, the configuration page for a Domoticz server.

 

homy domoticz connector settings

Homy needs to periodically connect to the server to refresh the displays. To avoid draining the smartphone battery, the number of connectors has been limited. Thus in the first version it is possible to configure up to 2 MQTT connectors and 2 Domoticz connectors.

If performance is at the rendezvous, the limit can be raised even if it seems superfluous.

What can be done with the beta version of Homy?

The first version of Homy is therefore compatible with Domoticz (via the HTTP or MQTT interface), the Tasmota firmware (the main sensors are already supported) and the generic messages in JSON format sent in MQTT.

The accessories are organized in a logical way for immediate access to information and commands. It is accessed by a tab system at the bottom of the application

  • Places
  • Favorites
  • Categories
  • All accessories
  • Domoticz scenes

 

Organization by place

The first tab allows you to group accessories by location and by room. You can create as many pieces and places as you need.

Homy places rooms

 

Some information is put forward. For example in the living room, there is a room sensor whose measurements appear in the header. At any time, you can display props in the form of a grid or a list.

 

Homy display devices by list homy room display iot devices by grid
Display in the form of a list that also allows access to the accessory settings (notched wheel), the event log and the measurement history (only for Domoticz HTTP) and to put this one in favorites . Display in the form of a more practical grid when there is a large number of accessories in a room. Orders are directly available. Here you can increase or decrease the setpoint of the thermostat without having to open the accessory. You access the settings and pressing the accessory for 2 seconds.

Organization by category

Homy automatically assigns a category to each accessory. For example, an RGB bulb will automatically be classified in the lighting categories.

Homy display devices by categorie

Depending on the open category, some bulk orders are available. For example, it is possible to turn off or turn on all lights at one time.

Homy light switches categorie commands

Same principle, pressing 2 seconds accesses the detailed commands of the accessory. For this RGB bulb, we can choose another color from pre-configured colors and change the brightness.

If available, the history is displayed.

Homy change color brigthness rgb bulb

If the automatically assigned category is bad, it can be changed from the access control panel of the accessible accessory using the thumb wheel. The Auto button re-assigns the category initially found by Homy. It is also here that you can change the place and the room.

 homy device setting page

All accessories

This page includes all accessories connected to Homy. You can search the label or filter a particular type of accessory.

homy display all devices

Of course, it’s a very fast presentation of the features offered by Homy. I let you discover them for yourself: D.

How to contribute to Homy?

The source code of Homy is not open source yet. It should be sufficiently documented and there is still too much to do. Publishing the source code on GitHub also requires being able to handle changes from other developers and I lack the time and experience in the field.

In such a development, which takes a lot of time and costs the most, are the tests. Impossible for me to buy all the accessories of the market. This is where you can contribute to Homy by testing with your materials and sending me your feedback.

That’s why the next major releases will come in the form of a public beta to which you can subscribe (and unsubscribe) at any time. The places are at the bottom of the page.

You can also contribute to Homy on all other aspects of the project:

  • Test the features and report bugs (incorrect display, erroneous or unsent commands …). To report a bug, use the GitHub page created for this purpose.
  • Translate the interface. At the moment Homy is only available in French and English
  • Donate equipment that you no longer use. Contact me by email to receive my mailing address in France
  • Make a donation of money which will allow you to buy more equipment

Personal data and privacy

Everything you do with Homy will stay in Homy! Your data (status of accessories, names of places and equipment, sensor measurements …) remain in Homy and your servers (local or online).

Homy does not integrate any analysis system. No need for me to know what is the most used function of Homy. There are other ways to tell me, like just using a questionnaire like this: D

What features do you expect from Homy?
  • Add your answer

Does the Homy app is free ?

No, Homy is totally free. Time that no infrastructure is needed to run Homy, there will be no advertising or paid features.

To help me finance the purchase of materials, you can simply follow the links to buy your materials from the blog. The few percent of the amount of your donated purchases allow me to buy the material for future developments and tutorials. Help tutorials will also be gradually integrated into Homy.

For me, the best way to help me would be to develop a large community around Homy 😀

 

Test Homy on iOS or Android (smartphone or tablet)

Beta numbered 0.0.1 is available today on the Apple Store and Google Play in both English and French. It works on smartphone but also on tablet with an optimized display for a wider screen.

On iOS, you will need to install the TestFlight app first. Of course, you can unsubscribe at any point in the program from the TestFlight app.

Roadmap

Now that Homy is launched, here is how I think to continue the developments

  • Finalize standardization of keys for generic JSON (Arduino code)
  • Finalize the integration of the Espurna firmwares (everything remains to be done) and Tasmota
  • Add Siri shortcuts to iOS
  • Integrate camera support
  • Add support for radio accessories (Sonoff RF Bridge, MySensors, RFLink …).

However, if you want to change the order or add other features, you can suggest them using this questionnaire or by using the comments below the article.

What new feature (s) would you like to have in Homy?
  • Add your answer

I hope you enjoy Homy and that it will meet your needs. In the coming weeks you will find technical documentation and tutorials to develop compatible connected objects in the new section dedicated to Homy.

Subscribe to the weekly newsletter

No spam and no other use will be made of your email. You can unsubscribe anytime.

8 Comments
  1. This looks bloody brilliant, great work man.

  2. Christophe, I am really excited by this. I am looking forward to further developments. Merry Christmas and a happy New Year.

  3. Wow – this looks amazing!

    I’m having a problem binding a device – I just get a completely grey screen when I try to bind to any devices. This is using Domoticz.

    • Thank you very much Mike. I think you’re trying to use a device which is not yet integrated with Homy. Can you send me the message received. Just open the device and go to the bottom of the page to send me an error report. thank you so much

      • Hi Christope – I’m really sorry but I mixed up my home automation apps … I’m checking out a few.

        The issue I had is not with Homy at all so please ignore this.

        Homy is awesome – keep it going and if you ever need any testing or translation help etc. get in touch

        • Oh Ok, no problem. Thank you very much Mike. I am in the process of rewriting the code with ReactNative so that the app is more fluid and works on TV and connected watches … See you soon

Leave a Reply

DIY Projects
%d bloggers like this: