Skip to content

Project to monitor electricity (HolleyTech DTZ541-ZEBA), water and natural gas consumption.

License

Notifications You must be signed in to change notification settings

cooling75/home-monitoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

home-monitoring

Project to monitor electricity, water and natural gas consumption. Hardware is a D1Mini ESP8266 microcontroller development board for electricity and gas, water would be based on the ESP32-CAM board.

Grafana electricity dashboard

We have a small (max. 600 W) solar power plant on our balcony. So the negative consumption and the 'self produced breakdown' as well as the other data on the right comes from this. Luckily there is a very nice project for our inverter called grott. So we get the data directly via MQTT in our local network.

Commodities

Electricity

Currently code for power meters 'Holleytech DTZ 541-ZEBA' (2021) and 'Easymeter Q3MA' is available. For the Holleytech the date/version is important since the SML byte order has changed from 2019 to 2021 version.

Sensor

As a write-read head I use a Osram SFH 3100 F phototransistor and 1 kOhm resistor. For testing purposes I cut a hole into a piece of cardboard at the position of the diode of the power meter. The first examples I did with an Arduino Uno for byte sequence debugging. Now I use a Wemos D1mini because of its direct WiFi capabilities.

The pulldown resistor gives a clean state to the input pin D2. The two capacitors are for stability reasons of the D1 mini following this site and this site unfortunately both in german language. If there is the need, just ask me. ;)

Part list:

  • 1 kOhm resistor
  • IR phototransistor
  • 100 nF ceramic capacitor
  • 3300 uF electrolyt capacitor

write-red head

write-red head

Gas

Sensor

The sensor is a simple reed switch or reed contact. The last number on the meter contains a magnet which increments the gas meter count by 0.01 m³ when it passes the zero. I used the debounce example of the Arduino IDE and extended it by WiFi manager and MQTT client for value submission.

Grafana natural gas consumption dashboard

Water

Not started yet.

Data processing

My approach is completely based on a K3s cluster on Raspberry Pis (because it is already available), but native or docker deployments works also. For an external setup I use a Ubuntu EC2 instance on the Amazon AWS cloud with docker-compose.

graph LR;
A(ESP8266)-->|MQTT| B(mosquitto MQTT broker on K3s);
B-->|telegraf| C(InfluxDB);
C --> D(Grafana dashboard)

Storage (InfluxDB)

Create namespace

kubectl create namespace home-mon

Add helm repository

helm repo add influxdata https://helm.influxdata.com/

Install InfluxDB

helm install influx influxdata/influxdb \
        --set image.tag=1.8.10 -n home-mon

Credits

About

Project to monitor electricity (HolleyTech DTZ541-ZEBA), water and natural gas consumption.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published