# sml-exporter
[Prometheus](https://prometheus.io/) Exporter for smart meters that communicate using the [SML language](https://de.wikipedia.org/wiki/Smart_Message_Language), which is widely available through read-only interfaces on smart power meters in Germany.
Built on top of [pysml](https://github.com/mtdcr/pysml), which does most of the heavy lifting, by parsing the message stream into python objects.
## Install
The [package](https://pypi.org/project/sml-exporter/) can be installed from [PyPi](https://pypi.org). It provides an executable that should be installed automatically into your environment.
```
$ python3 -m pip install sml-exporter
```
Update an existing installation using
```
$ python3 -m pip install -U sml-exporter
```
## Usage
The only two options available configure the serial interface where your USB to D0 (or similiar) adapter is connected at. Setting an explicit port number is useful when you have multiple power meters.
```
❯ sml-exporter --help
Usage: sml-exporter [OPTIONS] TTY
Options:
-p, --http-port INTEGER RANGE HTTP Port for the Prometheus Exporter
[default: 9761]
--help Show this message and exit.
```
Make sure to use stable device symlinks provided by `/dev/serial/by-id/`, so you don't mixup different serial devices.
```
# ls /dev/serial/by-id/
usb-FTDI_FT232R_USB_UART_XXXXXXXX-if00-port0
usb-FTDI_FT232R_USB_UART_YYYYYYYY-if00-port0
```
## Metrics
Metrics are identified by their [OBIS](https://de.wikipedia.org/wiki/OBIS-Kennzahlen) numbering and transformed into a the following metrics:
```
# HELP smartmeter_wirkarbeit_verbrauch_total_wh Summe Wirkarbeit Verbrauch über alle Tarife (1-0:1.8.0*255)
# TYPE smartmeter_wirkarbeit_verbrauch_total_wh gauge
smartmeter_wirkarbeit_verbrauch_total_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 6.8437382e+06
# HELP smartmeter_wirkarbeit_lieferung_total_wh Summe Wirkarbeit Lieferung über alle Tarife (1-0:2.8.0*255)
# TYPE smartmeter_wirkarbeit_lieferung_total_wh gauge
smartmeter_wirkarbeit_lieferung_total_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 5.8312058e+06
# HELP smartmeter_wirkarbeit_verbrauch_tarif1_wh Summe Wirkarbeit Verbrauch im Tarif 1 (1-0:1.8.1*255)
# TYPE smartmeter_wirkarbeit_verbrauch_tarif1_wh gauge
smartmeter_wirkarbeit_verbrauch_tarif1_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 6.8437382e+06
# HELP smartmeter_wirkarbeit_lieferung_tarif1_wh Summe Wirkarbeit Lieferung im Tarif 1 (1-0:2.8.1*255)
# TYPE smartmeter_wirkarbeit_lieferung_tarif1_wh gauge
smartmeter_wirkarbeit_lieferung_tarif1_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 5.8312058e+06
# HELP smartmeter_wirkarbeit_verbrauch_tarif2_wh Summe Wirkarbeit Verbrauch im Tarif 2 (1-0:1.8.2*255)
# TYPE smartmeter_wirkarbeit_verbrauch_tarif2_wh gauge
smartmeter_wirkarbeit_verbrauch_tarif2_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 0.0
# HELP smartmeter_wirkarbeit_lieferung_tarif2_wh Summe Wirkarbeit Lieferung im Tarif 2 (1-0:2.8.2*255)
# TYPE smartmeter_wirkarbeit_lieferung_tarif2_wh gauge
smartmeter_wirkarbeit_lieferung_tarif2_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 0.0
# HELP smartmeter_wirkleistung_w Momentane Wirkleistung (1-0:16.7.0*255)
# TYPE smartmeter_wirkleistung_w gauge
smartmeter_wirkleistung_w{device="1 EMH00 XXXXXXXX",vendor="EMH"} 892.4
# HELP smartmeter_wirkarbeit_verbrauch_total_wh Summe Wirkarbeit Verbrauch über alle Tarife (1-0:1.8.0*255)
# TYPE smartmeter_wirkarbeit_verbrauch_total_wh gauge
smartmeter_wirkarbeit_verbrauch_total_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 6.8437382e+06
# HELP smartmeter_wirkarbeit_lieferung_total_wh Summe Wirkarbeit Lieferung über alle Tarife (1-0:2.8.0*255)
# TYPE smartmeter_wirkarbeit_lieferung_total_wh gauge
smartmeter_wirkarbeit_lieferung_total_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 5.8312058e+06
# HELP smartmeter_wirkarbeit_verbrauch_tarif1_wh Summe Wirkarbeit Verbrauch im Tarif 1 (1-0:1.8.1*255)
# TYPE smartmeter_wirkarbeit_verbrauch_tarif1_wh gauge
smartmeter_wirkarbeit_verbrauch_tarif1_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 6.8437382e+06
# HELP smartmeter_wirkarbeit_lieferung_tarif1_wh Summe Wirkarbeit Lieferung im Tarif 1 (1-0:2.8.1*255)
# TYPE smartmeter_wirkarbeit_lieferung_tarif1_wh gauge
smartmeter_wirkarbeit_lieferung_tarif1_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 5.8312058e+06
# HELP smartmeter_wirkarbeit_verbrauch_tarif2_wh Summe Wirkarbeit Verbrauch im Tarif 2 (1-0:1.8.2*255)
# TYPE smartmeter_wirkarbeit_verbrauch_tarif2_wh gauge
smartmeter_wirkarbeit_verbrauch_tarif2_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 0.0
# HELP smartmeter_wirkarbeit_lieferung_tarif2_wh Summe Wirkarbeit Lieferung im Tarif 2 (1-0:2.8.2*255)
# TYPE smartmeter_wirkarbeit_lieferung_tarif2_wh gauge
smartmeter_wirkarbeit_lieferung_tarif2_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 0.0
# HELP smartmeter_wirkleistung_w Momentane Wirkleistung (1-0:16.7.0*255)
# TYPE smartmeter_wirkleistung_w gauge
smartmeter_wirkleistung_w{device="1 EMH00 XXXXXXXX",vendor="EMH"} 892.4# HELP smartmeter_wirkarbeit_verbrauch_total_wh Summe Wirkarbeit Verbrauch über alle Tarife (1-0:1.8.0*255)
# TYPE smartmeter_wirkarbeit_verbrauch_total_wh gauge
smartmeter_wirkarbeit_verbrauch_total_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 6.8437382e+06
# HELP smartmeter_wirkarbeit_lieferung_total_wh Summe Wirkarbeit Lieferung über alle Tarife (1-0:2.8.0*255)
# TYPE smartmeter_wirkarbeit_lieferung_total_wh gauge
smartmeter_wirkarbeit_lieferung_total_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 5.8312058e+06
# HELP smartmeter_wirkarbeit_verbrauch_tarif1_wh Summe Wirkarbeit Verbrauch im Tarif 1 (1-0:1.8.1*255)
# TYPE smartmeter_wirkarbeit_verbrauch_tarif1_wh gauge
smartmeter_wirkarbeit_verbrauch_tarif1_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 6.8437382e+06
# HELP smartmeter_wirkarbeit_lieferung_tarif1_wh Summe Wirkarbeit Lieferung im Tarif 1 (1-0:2.8.1*255)
# TYPE smartmeter_wirkarbeit_lieferung_tarif1_wh gauge
smartmeter_wirkarbeit_lieferung_tarif1_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 5.8312058e+06
# HELP smartmeter_wirkarbeit_verbrauch_tarif2_wh Summe Wirkarbeit Verbrauch im Tarif 2 (1-0:1.8.2*255)
# TYPE smartmeter_wirkarbeit_verbrauch_tarif2_wh gauge
smartmeter_wirkarbeit_verbrauch_tarif2_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 0.0
# HELP smartmeter_wirkarbeit_lieferung_tarif2_wh Summe Wirkarbeit Lieferung im Tarif 2 (1-0:2.8.2*255)
# TYPE smartmeter_wirkarbeit_lieferung_tarif2_wh gauge
smartmeter_wirkarbeit_lieferung_tarif2_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 0.0
# HELP smartmeter_wirkleistung_w Momentane Wirkleistung (1-0:16.7.0*255)
# TYPE smartmeter_wirkleistung_w gauge
smartmeter_wirkleistung_w{device="1 EMH00 XXXXXXXX",vendor="EMH"} 892.4# HELP smartmeter_wirkarbeit_verbrauch_total_wh Summe Wirkarbeit Verbrauch über alle Tarife (1-0:1.8.0*255)
# TYPE smartmeter_wirkarbeit_verbrauch_total_wh gauge
smartmeter_wirkarbeit_verbrauch_total_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 6.8437382e+06
# HELP smartmeter_wirkarbeit_lieferung_total_wh Summe Wirkarbeit Lieferung über alle Tarife (1-0:2.8.0*255)
# TYPE smartmeter_wirkarbeit_lieferung_total_wh gauge
smartmeter_wirkarbeit_lieferung_total_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 5.8312058e+06
# HELP smartmeter_wirkarbeit_verbrauch_tarif1_wh Summe Wirkarbeit Verbrauch im Tarif 1 (1-0:1.8.1*255)
# TYPE smartmeter_wirkarbeit_verbrauch_tarif1_wh gauge
smartmeter_wirkarbeit_verbrauch_tarif1_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 6.8437382e+06
# HELP smartmeter_wirkarbeit_lieferung_tarif1_wh Summe Wirkarbeit Lieferung im Tarif 1 (1-0:2.8.1*255)
# TYPE smartmeter_wirkarbeit_lieferung_tarif1_wh gauge
smartmeter_wirkarbeit_lieferung_tarif1_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 5.8312058e+06
# HELP smartmeter_wirkarbeit_verbrauch_tarif2_wh Summe Wirkarbeit Verbrauch im Tarif 2 (1-0:1.8.2*255)
# TYPE smartmeter_wirkarbeit_verbrauch_tarif2_wh gauge
smartmeter_wirkarbeit_verbrauch_tarif2_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 0.0
# HELP smartmeter_wirkarbeit_lieferung_tarif2_wh Summe Wirkarbeit Lieferung im Tarif 2 (1-0:2.8.2*255)
# TYPE smartmeter_wirkarbeit_lieferung_tarif2_wh gauge
smartmeter_wirkarbeit_lieferung_tarif2_wh{device="1 EMH00 XXXXXXXX",vendor="EMH"} 0.0
# HELP smartmeter_wirkleistung_w Momentane Wirkleistung (1-0:16.7.0*255)
# TYPE smartmeter_wirkleistung_w gauge
smartmeter_wirkleistung_w{device="1 EMH00 XXXXXXXX",vendor="EMH"} 892.4
```
## Caveats
The exporter caches new values as they arrive, until they are overwritten by newer ones. This design was chosen as the arrival of data usually does not match up with any particular polling interval.
In an ideal world we would migrate this exporter to reuse [pushgateway](https://github.com/prometheus/pushgateway). This did not happen because I don't have any experience using it.
## License
This software is provided under the [MIT license](LICENSE) and uses
- [pysml](https://pypi.org/project/pysml/) MIT
- [click](https://pypi.org/project/click/) BSD3
- [prometheus-client](https://pypi.org/project/prometheus-client/) ASL20
Raw data
{
"_id": null,
"home_page": "https://github.com/mweinelt/sml-exporter",
"name": "sml-exporter",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "smartmeter,prometheus,exporter",
"author": "Martin Weinelt",
"author_email": "hexa@darmstadt.ccc.de",
"download_url": "https://files.pythonhosted.org/packages/2a/ea/670712cf6807a11ede686853677f57e0f01142125322f09e6555f6b8ee93/sml_exporter-0.1.5.tar.gz",
"platform": null,
"description": "# sml-exporter\n\n[Prometheus](https://prometheus.io/) Exporter for smart meters that communicate using the [SML language](https://de.wikipedia.org/wiki/Smart_Message_Language), which is widely available through read-only interfaces on smart power meters in Germany.\n\nBuilt on top of [pysml](https://github.com/mtdcr/pysml), which does most of the heavy lifting, by parsing the message stream into python objects.\n\n## Install\n\nThe [package](https://pypi.org/project/sml-exporter/) can be installed from [PyPi](https://pypi.org). It provides an executable that should be installed automatically into your environment.\n\n```\n$ python3 -m pip install sml-exporter\n```\n\nUpdate an existing installation using\n\n```\n$ python3 -m pip install -U sml-exporter\n```\n\n## Usage\n\nThe only two options available configure the serial interface where your USB to D0 (or similiar) adapter is connected at. Setting an explicit port number is useful when you have multiple power meters.\n\n```\n\u276f sml-exporter --help\nUsage: sml-exporter [OPTIONS] TTY\n\nOptions:\n -p, --http-port INTEGER RANGE HTTP Port for the Prometheus Exporter\n [default: 9761]\n\n --help Show this message and exit.\n```\n\nMake sure to use stable device symlinks provided by `/dev/serial/by-id/`, so you don't mixup different serial devices.\n\n```\n# ls /dev/serial/by-id/\nusb-FTDI_FT232R_USB_UART_XXXXXXXX-if00-port0\nusb-FTDI_FT232R_USB_UART_YYYYYYYY-if00-port0\n```\n\n## Metrics\n\nMetrics are identified by their [OBIS](https://de.wikipedia.org/wiki/OBIS-Kennzahlen) numbering and transformed into a the following metrics:\n\n```\n# HELP smartmeter_wirkarbeit_verbrauch_total_wh Summe Wirkarbeit Verbrauch \u00fcber alle Tarife (1-0:1.8.0*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_total_wh gauge\nsmartmeter_wirkarbeit_verbrauch_total_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 6.8437382e+06\n# HELP smartmeter_wirkarbeit_lieferung_total_wh Summe Wirkarbeit Lieferung \u00fcber alle Tarife (1-0:2.8.0*255)\n# TYPE smartmeter_wirkarbeit_lieferung_total_wh gauge\nsmartmeter_wirkarbeit_lieferung_total_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 5.8312058e+06\n# HELP smartmeter_wirkarbeit_verbrauch_tarif1_wh Summe Wirkarbeit Verbrauch im Tarif 1 (1-0:1.8.1*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_tarif1_wh gauge\nsmartmeter_wirkarbeit_verbrauch_tarif1_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 6.8437382e+06\n# HELP smartmeter_wirkarbeit_lieferung_tarif1_wh Summe Wirkarbeit Lieferung im Tarif 1 (1-0:2.8.1*255)\n# TYPE smartmeter_wirkarbeit_lieferung_tarif1_wh gauge\nsmartmeter_wirkarbeit_lieferung_tarif1_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 5.8312058e+06\n# HELP smartmeter_wirkarbeit_verbrauch_tarif2_wh Summe Wirkarbeit Verbrauch im Tarif 2 (1-0:1.8.2*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_tarif2_wh gauge\nsmartmeter_wirkarbeit_verbrauch_tarif2_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 0.0\n# HELP smartmeter_wirkarbeit_lieferung_tarif2_wh Summe Wirkarbeit Lieferung im Tarif 2 (1-0:2.8.2*255)\n# TYPE smartmeter_wirkarbeit_lieferung_tarif2_wh gauge\nsmartmeter_wirkarbeit_lieferung_tarif2_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 0.0\n# HELP smartmeter_wirkleistung_w Momentane Wirkleistung (1-0:16.7.0*255)\n# TYPE smartmeter_wirkleistung_w gauge\nsmartmeter_wirkleistung_w{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 892.4\n# HELP smartmeter_wirkarbeit_verbrauch_total_wh Summe Wirkarbeit Verbrauch \u00fcber alle Tarife (1-0:1.8.0*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_total_wh gauge\nsmartmeter_wirkarbeit_verbrauch_total_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 6.8437382e+06\n# HELP smartmeter_wirkarbeit_lieferung_total_wh Summe Wirkarbeit Lieferung \u00fcber alle Tarife (1-0:2.8.0*255)\n# TYPE smartmeter_wirkarbeit_lieferung_total_wh gauge\nsmartmeter_wirkarbeit_lieferung_total_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 5.8312058e+06\n# HELP smartmeter_wirkarbeit_verbrauch_tarif1_wh Summe Wirkarbeit Verbrauch im Tarif 1 (1-0:1.8.1*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_tarif1_wh gauge\nsmartmeter_wirkarbeit_verbrauch_tarif1_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 6.8437382e+06\n# HELP smartmeter_wirkarbeit_lieferung_tarif1_wh Summe Wirkarbeit Lieferung im Tarif 1 (1-0:2.8.1*255)\n# TYPE smartmeter_wirkarbeit_lieferung_tarif1_wh gauge\nsmartmeter_wirkarbeit_lieferung_tarif1_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 5.8312058e+06\n# HELP smartmeter_wirkarbeit_verbrauch_tarif2_wh Summe Wirkarbeit Verbrauch im Tarif 2 (1-0:1.8.2*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_tarif2_wh gauge\nsmartmeter_wirkarbeit_verbrauch_tarif2_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 0.0\n# HELP smartmeter_wirkarbeit_lieferung_tarif2_wh Summe Wirkarbeit Lieferung im Tarif 2 (1-0:2.8.2*255)\n# TYPE smartmeter_wirkarbeit_lieferung_tarif2_wh gauge\nsmartmeter_wirkarbeit_lieferung_tarif2_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 0.0\n# HELP smartmeter_wirkleistung_w Momentane Wirkleistung (1-0:16.7.0*255)\n# TYPE smartmeter_wirkleistung_w gauge\nsmartmeter_wirkleistung_w{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 892.4# HELP smartmeter_wirkarbeit_verbrauch_total_wh Summe Wirkarbeit Verbrauch \u00fcber alle Tarife (1-0:1.8.0*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_total_wh gauge\nsmartmeter_wirkarbeit_verbrauch_total_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 6.8437382e+06\n# HELP smartmeter_wirkarbeit_lieferung_total_wh Summe Wirkarbeit Lieferung \u00fcber alle Tarife (1-0:2.8.0*255)\n# TYPE smartmeter_wirkarbeit_lieferung_total_wh gauge\nsmartmeter_wirkarbeit_lieferung_total_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 5.8312058e+06\n# HELP smartmeter_wirkarbeit_verbrauch_tarif1_wh Summe Wirkarbeit Verbrauch im Tarif 1 (1-0:1.8.1*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_tarif1_wh gauge\nsmartmeter_wirkarbeit_verbrauch_tarif1_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 6.8437382e+06\n# HELP smartmeter_wirkarbeit_lieferung_tarif1_wh Summe Wirkarbeit Lieferung im Tarif 1 (1-0:2.8.1*255)\n# TYPE smartmeter_wirkarbeit_lieferung_tarif1_wh gauge\nsmartmeter_wirkarbeit_lieferung_tarif1_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 5.8312058e+06\n# HELP smartmeter_wirkarbeit_verbrauch_tarif2_wh Summe Wirkarbeit Verbrauch im Tarif 2 (1-0:1.8.2*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_tarif2_wh gauge\nsmartmeter_wirkarbeit_verbrauch_tarif2_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 0.0\n# HELP smartmeter_wirkarbeit_lieferung_tarif2_wh Summe Wirkarbeit Lieferung im Tarif 2 (1-0:2.8.2*255)\n# TYPE smartmeter_wirkarbeit_lieferung_tarif2_wh gauge\nsmartmeter_wirkarbeit_lieferung_tarif2_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 0.0\n# HELP smartmeter_wirkleistung_w Momentane Wirkleistung (1-0:16.7.0*255)\n# TYPE smartmeter_wirkleistung_w gauge\nsmartmeter_wirkleistung_w{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 892.4# HELP smartmeter_wirkarbeit_verbrauch_total_wh Summe Wirkarbeit Verbrauch \u00fcber alle Tarife (1-0:1.8.0*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_total_wh gauge\nsmartmeter_wirkarbeit_verbrauch_total_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 6.8437382e+06\n# HELP smartmeter_wirkarbeit_lieferung_total_wh Summe Wirkarbeit Lieferung \u00fcber alle Tarife (1-0:2.8.0*255)\n# TYPE smartmeter_wirkarbeit_lieferung_total_wh gauge\nsmartmeter_wirkarbeit_lieferung_total_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 5.8312058e+06\n# HELP smartmeter_wirkarbeit_verbrauch_tarif1_wh Summe Wirkarbeit Verbrauch im Tarif 1 (1-0:1.8.1*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_tarif1_wh gauge\nsmartmeter_wirkarbeit_verbrauch_tarif1_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 6.8437382e+06\n# HELP smartmeter_wirkarbeit_lieferung_tarif1_wh Summe Wirkarbeit Lieferung im Tarif 1 (1-0:2.8.1*255)\n# TYPE smartmeter_wirkarbeit_lieferung_tarif1_wh gauge\nsmartmeter_wirkarbeit_lieferung_tarif1_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 5.8312058e+06\n# HELP smartmeter_wirkarbeit_verbrauch_tarif2_wh Summe Wirkarbeit Verbrauch im Tarif 2 (1-0:1.8.2*255)\n# TYPE smartmeter_wirkarbeit_verbrauch_tarif2_wh gauge\nsmartmeter_wirkarbeit_verbrauch_tarif2_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 0.0\n# HELP smartmeter_wirkarbeit_lieferung_tarif2_wh Summe Wirkarbeit Lieferung im Tarif 2 (1-0:2.8.2*255)\n# TYPE smartmeter_wirkarbeit_lieferung_tarif2_wh gauge\nsmartmeter_wirkarbeit_lieferung_tarif2_wh{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 0.0\n# HELP smartmeter_wirkleistung_w Momentane Wirkleistung (1-0:16.7.0*255)\n# TYPE smartmeter_wirkleistung_w gauge\nsmartmeter_wirkleistung_w{device=\"1 EMH00 XXXXXXXX\",vendor=\"EMH\"} 892.4\n```\n\n## Caveats\n\nThe exporter caches new values as they arrive, until they are overwritten by newer ones. This design was chosen as the arrival of data usually does not match up with any particular polling interval.\nIn an ideal world we would migrate this exporter to reuse [pushgateway](https://github.com/prometheus/pushgateway). This did not happen because I don't have any experience using it.\n\n## License\n\nThis software is provided under the [MIT license](LICENSE) and uses\n - [pysml](https://pypi.org/project/pysml/) MIT\n - [click](https://pypi.org/project/click/) BSD3\n - [prometheus-client](https://pypi.org/project/prometheus-client/) ASL20\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Smartmeter Message Language Prometheus Exporter",
"version": "0.1.5",
"project_urls": {
"Homepage": "https://github.com/mweinelt/sml-exporter",
"Repository": "https://github.com/mweinelt/sml-exporter"
},
"split_keywords": [
"smartmeter",
"prometheus",
"exporter"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "94e149f30bff5495aa8baa74722b2d7c205367b22be4891c8f74459dd04ba046",
"md5": "3d1ba9f84f2d0eeab5a56b9259765110",
"sha256": "7de70ad2daecd73f375b296931667316970f009676438eae21cc818b636b9362"
},
"downloads": -1,
"filename": "sml_exporter-0.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3d1ba9f84f2d0eeab5a56b9259765110",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 6170,
"upload_time": "2023-05-18T09:52:09",
"upload_time_iso_8601": "2023-05-18T09:52:09.203668Z",
"url": "https://files.pythonhosted.org/packages/94/e1/49f30bff5495aa8baa74722b2d7c205367b22be4891c8f74459dd04ba046/sml_exporter-0.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2aea670712cf6807a11ede686853677f57e0f01142125322f09e6555f6b8ee93",
"md5": "fdfb71a4f15d2333228da7b9c6565f13",
"sha256": "c2b32580c0107e59f6e63cdeb8d631738dc0fa593f4faed4793acbcc80b8f79a"
},
"downloads": -1,
"filename": "sml_exporter-0.1.5.tar.gz",
"has_sig": false,
"md5_digest": "fdfb71a4f15d2333228da7b9c6565f13",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 5247,
"upload_time": "2023-05-18T09:52:11",
"upload_time_iso_8601": "2023-05-18T09:52:11.116974Z",
"url": "https://files.pythonhosted.org/packages/2a/ea/670712cf6807a11ede686853677f57e0f01142125322f09e6555f6b8ee93/sml_exporter-0.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-18 09:52:11",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mweinelt",
"github_project": "sml-exporter",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "sml-exporter"
}