Disclaimer

Please, proceed carefully following the tips published in this blog, specially when Main Power is involved. I'm not responsible for any damages caused by what is written in this blog.
Thank you

Sunday, 11 November 2018

Home Automation System - Let's make it cleaner



It's time to put in order my things and idea about my Home Automation System project



In particular:

openHAB: there's a little confusion on logical name of item and things

MQTT: topic names are a little complicated to be memorized

Software: I have a lot of custom firmware version wrote for my custom devices (see ESP8266...)

Hardware: my custom devices are always "unfinished", with "live" wires...I'd like to packaging them

Let's start from the last point

The first device which needs a good packaging, also for security purpose, is the power meter, placed on the main floor (see https://domoticsduino.blogspot.com/2018/05/home-automation-system-energy.html)

Some weeks ago, I bought some plastic boxes. Here is the mail bag



and these are the boxes...two different sizes



I hope both PZEM-004T and ESP8266 will fit together



Perfect fit. Now I will try to run the wires through the hole


Ok, now I put it in its right place...hoping it will work as before



Luckily, it works as expected. Next packages will be the device involved in monitoring the photovoltaic production and basement consumption (see https://domoticsduino.blogspot.com/2018/10/home-automation-system-two-pzem-004t.html) and the device with gas, temperature and humidity sensors (see https://domoticsduino.blogspot.com/2017/11/home-automation-system-my-first-sensors.html)


-----------------------------------------------------
Similar items used in this project
-----------------------------------------------------

Friday, 26 October 2018

Home Automation System - Automating a floor lamp







Let's continue with my Home Automation System design, based on the wonderful OpenHAB

This time the main attraction is a simple floor lamp that will be trasformed in a SMART Device, using a Sonoff Basic.

These are my soldiers:




For those who don't know it, SONOFF  is a simple "wifi button", which allows you to control electrical loads remotely. The Basic version is the simplest one with a single relay.

It seems a simple job...

I will replace the standard button with the SONOFF...so, I will cut the wires to move away the button from the lamp...and plug these wires in INPUT e OUTPUT pins of the SONOFF.

Let the things be a little more complicated: on TASMOTA (https://github.com/arendst/Sonoff-Tasmota/wiki/DHT11-Wiring---Sonoff-Basic), I learnt that it's possible to manage an humidity/temperature sensor, linked to a free pin inside the SONOFF (GPIO14). A compatible sensor is the DHT11 and, luckily, I own some of them.


This sensor has 3 pin, Vin, GND and OUT. So I link Vin and GND to the right SONOFF pins and OUT pin to the GPIO14 (always inside the sonoff)...To discover the right position of these pins, I used again the TASMOTA Wiki (https://github.com/arendst/Sonoff-Tasmota/wiki/GPIO-Locations)

Here are the wires soldered and protected by a heat-shrinking sheath




Now, I have to solder the other side of the wires to the DHT11...



Also here I used a heat-shrinking sheath ...these pins are very close



And here is the complete device...



Now I make an hole in the plastic case to let the wires get out



And here is the lamp with the SONOFF and the DHT11...



Now it's software time. Using the well known TASMOTA web interface, I selected the right sensor connected to the GPIO14.

and then I inserted the usual MQTT informations.

Back to the home page, I noticed that the data acquired by the DHT11 is displayed on top of the page


Let's configure OpenHAB defining new items and the MQTT topic used by the SONOFF...

My MQTT topic will be smarthome/light_env/%topic%/%prefix%/

Looking to the TASMOTA console, I noticed a new prefix in the topic related to the temperature and humidity information:


This will be the topic which I'll use in the items definition.

Here is the result

Basic UI


Grafana Dashboard



And this is the switch for the lamp


-----------------------------------------------------
Similar items used in this project
-----------------------------------------------------

Friday, 5 October 2018

Home Automation System - Two PZEM-004T and a single ESP8266




After my successful experiments with the PZEM-004T and a Nodemcu ESP8266 aim to monitor power consumption (devices are actually working well in my ground floor power monitoring system, see https://domoticsduino.blogspot.com/2018/05/home-automation-system-energy.html), I decided to update my photovoltaic production monitoring system, actually based on a Wifi 433Mhz receiver (see https://domoticsduino.blogspot.com/2017/08/home-automation-system-mqtt-and-rf433.html).

Actual system has a problem due to an invalid read of power values when the inverter is switched off. In fact it gives me about 250W power production...

My idea is to use the same devices used for the ground floor power monitoring system...so a PZEM-004T and a Nodemcu ESP8266.

These are the devices:

NODEMCU ESP8266

PZEM-004T

Because my inverter is near the electrical panel in the garage, I decided to let the things more complicated adding another PZEM-004T to also monitor the basement consumption with the same ESP8266.

Then I added also a temperature and humidity sensor to the same circuit.

My following step was to check that a single NODEMCU ESP8266 was able to control both PZEM-004T...My tests were successful

Here is it my first PZEM-004T linked to the main output cable of the inverter...on the right you can see the DHT11, temperature and humidity sensor (it's a not so accurate sensor, but it's right for my kind of measurement...)


This is the second PZEM-004T, linked to the main cable of basement power, inside the electrical panel


Complete view:


Now it's time to write the software and test it.

I decided names for the MQTT topics and I created items and sitemap objects for OpenHAB

This is what we could see in my OpenHAB BASIC UI



Energy Consumption value is the sum of all the sensor power (2 of them are already running)
Values are different related to the previous screenshot because they continuously change


Last step: I created some charts in the Grafana dashboard


My primary target was reached: my production monitor give about 0W when the inverter is switched off

Saturday, 1 September 2018

Home Automation System - SONOFF 4 Channel integration with OpenHAB





In the previous post, I spoke about my SONOFF 4 channel, describing the physical installation.

Now, this device will help me to drive 4 lights: 1 internal and 3 exterior; of course, OpenHAB will be my control system and MQTT will be the message protocol.

Let's go to setup the SONOFF, using its web interface



The first step will be to setup the module type, using the menù Configuration -> Configure Module



Then, in Configuration -> Configure MQTT, we will put the MQTT topic, splitted in TOPIC and FULLTOPIC as TASMOTA ask



In my case the device will use the following topic smarthome/sonoff4ch14/###. TASMOTA will replace ### with the type of message it will be sending (for example cmnd for commands, state for status information etc etc)

No more details on the other configuration options...they are the same as the other SONOFF

Now it's time for OpenHAB...we will add 4 items, one for each light.

Create a new file, called sonoff4ch.items, in the usual folder /etc/openhab2/items; in the file we will write the items configuration:


As you can see, MQTT topic is the same for all items. Only one thing changes...the property name, indexed by a number to indicate the relay number.

Finally, the last step: put the 4 items into a sitemap. So, write down 4 switch into the sitemap file

(these are the 3 items for exterior lights...)

And here is my complete sitemap:


Now let's push some buttons and see what happens.