I never really liked the structure of my piMeter software. The combination of websockets for live data and a database for the historical data was cluttered and prone to error. Added to this i never felt happy with the javascript frontend in which all graphs were hardcoded for visualization.
Time to streamline the software and leave the visualization to people who know about it. Grafana and InfluxDB were the right candidates for this.
The Old Repository gets cleaned up and will be renamed to piMeter_hardware.
I would like to thank orca-zhang for the really easy to use InfluxDB-Cpp Lib!
I was missing the ability of measuring and visualizing power consumption in my Smarthome. For this reason I have developed a Smartmeter / Energymonitor as an extension for the Raspberry Pi which I would like to share for rebuilding / improving / expanding. The piMeter.
The Smartmeter can record the following data on 3 phases:
Current RMS
Voltage RMS
Active power
Apparent power
Reactive power
Accumulated active power
Accumulated apparent power
Accumulated reactive power
All smartmeter data is visualized on a web frontend. It shows consumption data for a given day, month or year. It can also show real-time data of the actual consumption. The real-time data is stored in RAM. It holds 10 minutes of data in a buffer and sends it to the browser if needed. The long time data is stored in a mariaDB on my NAS. Storing this data on the pi directly is not recommended due to high read / write cycles on the sdcard.
The Smartmeter is based on the ADE9000 chip from Analog Devices which communicates over SPI with the Raspberry Pi. For current measurement I use SCT-013-000 Current Transformers from YHDC. They are cheap and can measure currents up to 100A.
Web Frontend
DashboardRealtime Data
Smartmeter Board
piMeter Board
Case
Case bottom with Pi ZeroCase bottom with piMeterCase closed
When working with 230V there is danger to life. The board has no protection against contact. I assume no liability for damage to persons or objects that arise when replicating the meter.
Ich habe auf Github eine kleine c++ Bibliothek veröffentlicht die zur Einbindung von Wetterdaten auf Smarthome Geräten genutzt werden kann.
Der Code holt sich die aktuellen Wetter Informationen von OpenWeatherMap und stellt diese per Modbus IP im Netzwerk zur Verfügung.
Bei mir Zuhause nutze ich die Bibliothek auf einem Raspberry Pi um die Daten auf einem Loytec Display grafisch darstellen zu können. Die Daten können aber auch als Grundlage für eine Bewässerungssteuerung oder zur Berechnung der Vorlauftemperatur für die Heizungsregelung genutzt werden.