Skip to content
forked from dailab/libsml

Implementation in C of the Smart Message Language (SML) protocol

License

Notifications You must be signed in to change notification settings

volkszaehler/libsml

 
 

Repository files navigation

libSML

Build Status Join the chat at https://gitter.im/volkszaehler/volkszaehler.org

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).

This is the official libSML repo, the original dailab libsml repo on GitHub is dead

Usage

An example how to use libSML is in the examples directory.

Dependencies

Ubuntu

apt-get install uuid-dev uuid-runtime

Compilation

make

The resulting binaries are located in sml/lib

Debian and Raspbian Packages

Hosted By: Cloudsmith

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.

Testing

For testing data have a look at https://github.com/devZer0/libsml-testing

License

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.

Thanks

Steffen Vogel, Thorben Thuermer, Daniel Pauli, He Bowei

Thirdparty Acknowledgements

This product includes software developed for the Unity Project, by Mike Karlesky, Mark VanderVoord, and Greg Williams and other contributors

About

Implementation in C of the Smart Message Language (SML) protocol

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 99.2%
  • Other 0.8%