<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Smart_Message_Language</id>
	<title>Smart Message Language - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Smart_Message_Language"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Smart_Message_Language&amp;action=history"/>
	<updated>2026-05-18T02:02:32Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Smart_Message_Language&amp;diff=1196133&amp;oldid=prev</id>
		<title>imported&gt;ⵓ: +https ⇄</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Smart_Message_Language&amp;diff=1196133&amp;oldid=prev"/>
		<updated>2025-12-04T21:52:04Z</updated>

		<summary type="html">&lt;p&gt;+https &lt;a href=&quot;/index.php?title=Benutzer:%E2%B5%93/ARreplace&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer:ⵓ/ARreplace (Seite nicht vorhanden)&quot;&gt;⇄&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Smart Message Language&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;SML&amp;#039;&amp;#039;&amp;#039;) ist ein [[Kommunikationsprotokoll]] für [[Stromzähler]], das unter anderem für Messdatenaustausch, aber auch für [[Firmwareupdate|Firmwareupgrades]] entwickelt wurde.&lt;br /&gt;
&lt;br /&gt;
Dieses Protokoll wird in folgenden Zählern genutzt:&lt;br /&gt;
* [[Synchronous Modular Meter|SyM&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt; taktsynchroner Lastgangzähler]]&lt;br /&gt;
* eHZ, elektronischer Haushaltszähler im Entwurf Version 2.01 vom 10. November 2008&lt;br /&gt;
* EDL Zähler, aufbauend auf der Hardware des eHZ.&lt;br /&gt;
** Beispiel: EMH-ED300L&lt;br /&gt;
** Beispiel: Easymeter Q3-Reihe&lt;br /&gt;
*FNN Basiszähler, auf der LMN Schnittstelle zum Smart Meter Gateway&lt;br /&gt;
&lt;br /&gt;
Die Entwicklung findet parallel zur SyM&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;-Entwicklung im selben Konsortium statt. Stand November 2023 aktuell&amp;lt;ref name=&amp;quot;:0&amp;quot;&amp;gt;[https://www.bsi.bund.de/EN/Themen/Unternehmen-und-Organisationen/Standards-und-Zertifizierung/Technische-Richtlinien/TR-nach-Thema-sortiert/tr03109/TR-03109_node.html Übersicht des BSI zum Status aller Teile der TR-03109 „Technische Vorgaben für intelligente Messsysteme und deren sicherer Betrieb“]&amp;lt;/ref&amp;gt; war die Version 1.04 vom 18. März 2013, herausgegeben vom [[Bundesamt für Sicherheit in der Informationstechnik]].&amp;lt;ref&amp;gt;[https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03109/TR-03109-1_Anlage_Feinspezifikation_Drahtgebundene_LMN-Schnittstelle_Teilb.pdf?__blob=publicationFile&amp;amp;v=1 Version 1.04 vom 18. März 2013]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Grundlegender Aufbau ==&lt;br /&gt;
Jede Informationseinheit wird als SML-Datei bezeichnet. Sie kann einen SML-Auftrag, eine SML-Antwort oder eine Kombination aus beiden enthalten.&lt;br /&gt;
Eine SML-Datei wird aus SML-Nachrichten zusammengesetzt und von einer Start- und Endsequenz umfasst. Eine SML-Nachricht ist entweder ein Auftrag oder eine Antwort.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ SML-Datei Version 1&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Escape-Sequence&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | 1B 1B 1B 1B&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Beginn der SML-Datei&amp;lt;br /&amp;gt;(Version 1)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | 01 01 01 01&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Open-Nachricht&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | SML_PublicOpen.Req&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Nachricht(en)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | zu transportierende Nachricht(en)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Close-Nachricht&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | SML_PublicClose.Req&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Füllbytes&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;(um eine durch 4 teilbare Dateilänge zu erhalten)&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | &amp;#039;&amp;#039;00&amp;#039;&amp;#039; (&amp;lt;xx&amp;gt;-mal)&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Escape-Sequence&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | 1B 1B 1B 1B&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | &amp;#039;&amp;#039;&amp;#039;Ende der SML-Datei&amp;#039;&amp;#039;&amp;#039;&amp;lt;br /&amp;gt;&amp;lt;xx&amp;gt; : Anzahl der Füllbytes&amp;lt;br /&amp;gt;&amp;lt;yy&amp;gt; &amp;lt;zz&amp;gt; : Prüfsumme über die Datei&lt;br /&gt;
| align=&amp;quot;center&amp;quot; bgcolor=&amp;quot;#DDFFDD&amp;quot; | 1A &amp;lt;xx&amp;gt; &amp;lt;yy&amp;gt; &amp;lt;zz&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Die Prüfsumme wird nach dem [[Zyklische Redundanzprüfung|CCITT-CRC16]] (Polynom: 0x1021, Init: 0xFFFF, RefIn: True, RefOut: True, XOrOut: 0xFFFF) über alle Bytes des Datenstroms im SML-Transportprotokoll mit Ausnahme der letzten beiden Bytes (und damit ohne die Bytes der Prüfsumme selber) berechnet.&lt;br /&gt;
&lt;br /&gt;
Sollte in dem Nutzdatenstrom die Escape-Sequence (1B 1B 1B 1B) selbst enthalten sein, wird diese um eine zweite Escape-Sequence ergänzt.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Textform und ein komprimiertes Binärformat, die ineinander überführt werden können. Das Übertragungsmedium ist nicht festgelegt. Beim SyM&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;-Zähler wird [[Ethernet]] verwendet, beim eHZ eine Infrarot-Schnittstelle nach DIN EN 62056-21.&lt;br /&gt;
&lt;br /&gt;
Nachrichten sind in der Norm fest definiert&amp;lt;ref name=&amp;quot;:0&amp;quot; /&amp;gt;; eine Nachricht ist immer eine Struktur (SEQUENCE) bestehend aus (optionalen) einfachen Datentypen (Boolean, Integer, Unsigned, String,), Strukturen (SEQUENCE), Auswahl von Strukturen (CHOICE), und/oder Arrays von Strukturen (SEQUENCE OF). Datentypen werden im Datenstrom mit einem Typ-Längen-Feld eingeleitet, in dem der Datentyp und die Länge der Dateninformation abgelegt ist. Das Wort 0x1234 wird zum Beispiel als folgende Bytesequenz übertragen: 0x63 0x12 0x34.&lt;br /&gt;
&lt;br /&gt;
In den Nachrichten können Messdaten wie momentaner oder saldierter Stromverbrauch übertragen werden. Dabei werden zur Kategorisierung der Daten [[OBIS-Kennzahlen]] verwendet.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.vde.com/de/fnn/arbeitsgebiete/messwesen/Sym2/Seiten/default.aspx vde.com/…] – Offizielle Webseite des FNN zum Sym&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;&lt;br /&gt;
* [https://www.vde.com/de/fnn/arbeitsgebiete/messwesen/Sym2/Infomaterial/Documents/SML_081112_103.pdf vde.com/…] – SML-Spezifikation Version 1.03 vom SyM&amp;lt;sup&amp;gt;2&amp;lt;/sup&amp;gt;-Konsortium&lt;br /&gt;
* [https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03109/TR-03109-1_Anlage_Feinspezifikation_Drahtgebundene_LMN-Schnittstelle_Teilb.pdf?__blob=publicationFile bsi.bund.de/...] – SML-Spezifikation Version 1.04 vom [[Bundesamt für Sicherheit in der Informationstechnik]]&lt;br /&gt;
* [https://www.openmuc.org/sml/ jSML], Java-Bibliothek für SML (LGPL)&lt;br /&gt;
* [https://github.com/volkszaehler/libsml libsml], C-Bibliothek für SML, offizielles, aktiv gepflegtes Repository als Nachfolger des Dailab Repositories&lt;br /&gt;
* [https://github.com/hn/smldump smldump], Perl-Skript zur Ausgabe der Struktur und der Daten einer SML-Datei&lt;br /&gt;
* [http://web1.heissa.de/sml-easy.pl sml-easy.pl], Perl-Skript zum einfachen Auslesen von SML basierenden Zählern&lt;br /&gt;
* [http://www.kabza.de/MyHome/SmartMeter/SmartMeter.py SmartMeter.py], Python-Beispiel-Skript zum Auslesen eines SML basierenden Zählers&lt;br /&gt;
* [https://web.archive.org/web/20190403115322/http://web1.heissa.de/ED300L.pdf ED300L.pdf], Beispiel einer vollständigen SML Parameterbeschreibung&lt;br /&gt;
* [https://github.com/Apollon77/smartmeter-obis smartmeter-obis], NodeJs basiertes Parser Library&lt;br /&gt;
* [https://wiki.volkszaehler.org/software/controller/vzlogger vzlogger], Datenlogger mit SML-Unterstützung&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:XML]]&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.volkszaehler.org/software/sml#geraete_mit_sml-schnittstelle Stromzähler mit SML-Schnittstelle]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;ⵓ</name></author>
	</entry>
</feed>