Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simonswine/easymeter_mon
EasyMeter Q3CA (smart meter) monitor
https://github.com/simonswine/easymeter_mon
Last synced: 27 days ago
JSON representation
EasyMeter Q3CA (smart meter) monitor
- Host: GitHub
- URL: https://github.com/simonswine/easymeter_mon
- Owner: simonswine
- Created: 2014-09-18T13:00:55.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2014-09-18T14:44:09.000Z (over 10 years ago)
- Last Synced: 2023-03-11T19:37:06.546Z (almost 2 years ago)
- Language: C
- Size: 328 KB
- Stars: 2
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
easymeter_mon
=============Query EasyMeter Q3CA smart meters via IR and output in Zabbix Active Check format.
The protocol on the IR interface is [Smart Message Language (SML)](http://de.wikipedia.org/wiki/Smart_Message_Language). The messages contain the values in the [OBIS](http://de.wikipedia.org/wiki/OBIS-Kennzahlen) format.
## Acknowledgements
This project basically just puts the building blocks togehter. Thanks to:
* [libsml](https://github.com/dailab/libsml) for SML parsing
* [vzlogger](http://www.volkszaehler.org/) for obis.c
* [Sven Jordan](http://www.s-jordan.de/index.php?page=easymeter_raspberrypi) for IR reader electronics
* [Zabbix](http://www.zabbix.com/) for the montioring software## Dependencies
### Hardware
* EasyMeter Q3CA smart meter for solar inverters
* IR - UART Interface ([PNG](/misc/easymon_reader.png) / [SCHEME](/misc/easymon_reader.sch))### Software
* Compilation
* CMake
* libsml (https://github.com/dailab/libsml)
* Essentials build utils (git, gcc, ...)
* Data usage
* Zabbix## Compilation & Installation
#### Example for Debian/Ubuntu based systems
* Tested for
* Debian Wheezy (7) on RaspberryPi
* Ubuntu Precise (12.04) x64
* Q3CA```bash
# Install dependencies
apt-get install build-essential cmake uuid-dev uuid-runtime git debhelper# Compile & install libsml
git clone git://github.com/simonswine/libsml.git
cd libsml
dpkg-buildpackage -b
cd ..
dpkg -i libsml*deb# Compile & install easymeter_mon
git clone git://github.com/simonswine/easymeter_mon.git
cd easymeter_mon
mkdir build
cd build
cmake ..
make
make install
```## Usage
### Parameters
| Parameter | Default value | Description |
|--------------|---------------|---------------------------------|
| `-d `|`/dev/ttyAMA0` |Specify serial device to query |
| `-h ` |`powermon` |Hostname for Zabbix output format|### Query smart meter
```bash
easymeter_mon -z powermon -d /dev/ttyAMA0
powermon power.counter-in 8208517.71
powermon power.counter-out 6000398.39
powermon power.counter-in-t1 8202860.00
powermon power.counter-in-t2 1130.00
powermon power.counter-in-t3 1100.00
powermon power.counter-in-t4 1110.00
powermon power.counter-in-t5 1100.00
powermon power.counter-in-t6 1210.00
powermon power.counter-out-t7 5999270.00
powermon power.counter-out-t8 1120.00
powermon power.power -1561.21
powermon power.power-l1 -1815.88
powermon power.power-l2 236.09
powermon power.power-l3 18.58
```### Send values to Zabbix
* Setup a Zabbix host which is linked to this template [Zabbix Template](/misc/zabbix_template_powermon.xml)
* Make sure this script is run on a periodic basis:
```bash
easymeter_mon -z -d /dev/ttyAMA0 | zabbix_sender -i - -z
```### Example charts from Zabbix
* Inverter production vs. consumption of energy
![Image](/misc/production_vs_consumption.png)
* Power per phase
![Image](/misc/power_per_phase.png)