libSML is a library which implements the Smart Message Language (SML) protocol specified by VDE's Forum Netztechnik/Netzbetrieb (FNN). It can be utilized to communicate to FNN specified Smart Meters or Smart Meter components (EDL/MUC).
An example how to use libSML is in the examples directory.
Ubuntu
apt-get install uuid-dev uuid-runtime
make
The resulting binaries are located in sml/lib
We now build Debian packages for amd64, armhf and arm64 and Raspbian packages for armhf as part of our releases. Unfortunately Debian armhf packages do not run on Raspberry Pi 1 although the architecture on the RPi is named armhf. Using Raspian armhf packages fixes that.
The ones attached to the release are meant for debian trixie. These and packages for bookworm and bullseye are also provided through a repository graciously provided by Cloudsmith.
The setup of the repository is also explained by Cloudsmith. This boils down to adding a file to /etc/apt/sources.list.d/ containing
deb [signed-by=/usr/share/keyrings/volkszaehler-volkszaehler-org-project-archive-keyring.gpg] https://dl.cloudsmith.io/public/volkszaehler/volkszaehler-org-project/deb/debian bookworm main
deb-src [signed-by=/usr/share/keyrings/volkszaehler-volkszaehler-org-project-archive-keyring.gpg] https://dl.cloudsmith.io/public/volkszaehler/volkszaehler-org-project/deb/debian bookworm main
You need to replace bookworm with your distro and debian with raspbian in case you are using an RPi 1. You also need to retrieve our repository key as a trusted one.
curl -1sLf "https://dl.cloudsmith.io/public/volkszaehler/volkszaehler-org-project/gpg.21DBDAC56DF44DA1.key" | \
gpg --dearmor > /usr/share/keyrings/volkszaehler-volkszaehler-org-project-archive-keyring.gpg
There is also a libsml package that is part of Debian. While the version in older Debian releases is somewhat outdated the version in trixie is recent. Other than the project packages the official Debian package has a version postfix separated by a hyphen (e.g. 1.0.2-3). It has minor differences in packaging and is maintained as part of the project in the debian branch.
For testing data have a look at https://github.com/devZer0/libsml-testing
Copyright 2011 Juri Glass, Mathias Runge, Nadim El Sayed - DAI-Labor, TU-Berlin Copyright 2014-2018 libSML contributors
libSML is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
libSML is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
See the file LICENSE for the full license text.
Steffen Vogel, Thorben Thuermer, Daniel Pauli, He Bowei
This product includes software developed for the Unity Project, by Mike Karlesky, Mark VanderVoord, and Greg Williams and other contributors