elementaryOS 8.0.1 – mehr als ein Bugfix-Release
Eigentlich soll die neue elementaryOS-Version vorwiegend Fehler erschlagen, sie bringt aber auch einige interessante Neuerungen mit.
Eigentlich soll die neue elementaryOS-Version vorwiegend Fehler erschlagen, sie bringt aber auch einige interessante Neuerungen mit.
Eigentlich soll die neue elementaryOS-Version vorwiegend Fehler erschlagen, sie bringt aber auch einige interessante Neuerungen mit.
Die digitalen Stromzähler (offizielle Bezeichnung: Moderne Messeinrichtung) sind inzwischen weit verbreitet. Viele können in zwei Richtungen zählen, was bei der Benutzung eines Balkonkraftwerks von großer Bedeutung sein kann. Ich habe vor einiger Zeit beschrieben, wie ich mit dem Impulsausgang auf der Vorderseite des Stromzählers den aktuellen Verbrauch ablese. Diese Methode klappt sehr gut, ist sehr einfach und braucht keine weitere Freischaltung des Netzbetreibers. Man kann einfach loslegen. Leider bringt der Impulszähler zwei Nachteile mit sich.
In diesem Artikel möchte ich eine alternative Auslesevariante vorstellen, die robuster und zuverlässiger arbeitet. Aussetzer in der Datenerfassung lassen sich durch späteres Zählerablesen wieder kompensieren, die Bilanz passt immer. Es können nicht nur der aktuelle Verbrauch, sondern auch die Zählerstände „in beide Richtungen“ erfasst werden. Das geschieht über das Auslesen von mehreren OBIS-Kennzahlen über die SML-Schnittstelle.

Die digitalen Stromzähler haben eine zweite, wertvolle Schnittstelle: Die SML-Schnittstelle (Smart Meter Language). Über sie kommuniziert der Stromzähler mit einem genormten Protokoll (IEC 62056-6-1) mit uns Anwendern. In ihr werden die Zählerstände, der Momentanverbrauch und gelegentlich noch weitere Informationen bereitgestellt. Die Informationen sind als OBIS-Kennzahlen verfügbar und können leicht zugeordnet werden. Für mich sind die beiden OBIS-Kennzahlen 1.8.0 (Zählerstand, bezogen aus dem Netz) sowie 2.8.0 (Zählerstand, eingespeiste Energie ins Netz) relevant. Der OBIS-Kennwert 16.7.0 gibt mir die momentan bezogene Leistung aus.
Standardmäßig ist diese optische Schnittstelle deaktiviert und mit einer PIN geschützt. Diese PIN erhält man meist kostenlos von seinem Netzbetreiber. Der Netzbetreiber (nicht verwechseln mit dem Stromanbieter!) ist auf dem Stromzähler und der Stromrechnung genannt. In meinem Fall sind es die Stadtwerke. Eine freundliche E-Mail mit der Bitte um Bekanntgabe der PIN unter Nennung meiner Zählernummer hat bereits gereicht.
Diese PIN muss nun mit einer Taschenlampe in die optische Schnittstelle eingeblinkt werden. Schaut euch das kurze Video von Extra 3 dazu an, darin wird der ganze Frust damit gut zusammengefasst.
Bei erfolgreicher Eingabe der PIN muss die Funktion „Inf off“ auf „Inf on“ gestellt werden. Das gelingt, indem man sich durch das Menü des Stromzählers „blinkt“ und beim entsprechenden Eintrag mind. 4 Sekunden mit der Taschenlampe leuchtet. Diese Funktion schaltet die erweiterte Funktion des Stromzählers frei. Man erkennt das später daran, dass nicht nur der Zählerstand im Display angezeigt wird, sondern auch der Momentanverbrauch.
Ist die PIN eingegeben und die erweiterte Informationsvergabe freigeschaltet, kann es endlich losgehen!
Ich verwende für die optische Schnittstelle einen ESP8266 und das Bauteil TCRT5000. Beides erhält man für weniger als 5 Euro bei Ebay oder anderen Händlern. Der TCRT5000 ist ein optischer LED-Sensor für Infrarot, die sowohl eine LED als auch eine IR-Diode verwendet.

Die LED stört uns in diesem Fall, man muss sie vorher entfernen. Entweder zwickt man sie einfach ab, oder man lötet den Vorwiderstand von ihr weg. Ich habe mich für zweiteres entschieden. Der TCRT hat mehrere Vorteile gegenüber anderen Varianten. Manche Leute löten direkt eine IR-Diode an den ESP. Kann man natürlich machen, ich möchte nur auf die Vorteile meiner Variante hinweisen:
Jetzt verkabelt man die Baugruppe mit dem ESP8266. Ich habe die Variante Wemos D1 mini. Dieses hat bereits die UART-Schnittstelle vorbereitet, die wir verwenden wollen. Dadurch ergibt sich folgendes Verkabelungsschema. Ob ihr das nun verlötet oder mit Jumper-Kabeln verdrahtet, bleibt euch überlassen.

Die Installation von ESPHome im Windows Service for Linux habe ich bereits in einem anderen Artikel beschrieben. Wir erzeugen uns eine Textdatei mit dem Dateinamen stromzaehler-sml.yaml und füllen sie mit folgendem Inhalt.
touch stromzaehler-sml.yaml
nano stromzaehler-sml.yaml
esphome:
name: stromzaehlersml
esp8266:
board: d1_mini
# Enable logging
logger:
level: VERY_VERBOSE # kann spaeter auf DEBUG verringert werden
logs:
sml: DEBUG
text_sensor: DEBUG
# Enable Home Assistant API
api:
password: "<password>"
ota:
password: "<password>"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
manual_ip:
static_ip: <statische IP eintragen>
gateway: <gateway>
subnet: <subnet>
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Stromzaehler Sml"
password: "<password>"
captive_portal:
uart:
id: uart_bus
tx_pin: GPIO1
rx_pin: GPIO3 # dieser GPIO ist wichtig, hier ist das Signalkabel angeschlossen
baud_rate: 9600
data_bits: 8
parity: NONE
stop_bits: 1
sml:
id: mysml
uart_id: uart_bus
sensor:
- platform: sml
name: "Total energy SML 180"
sml_id: mysml
server_id: "0123456789abcdef"
obis_code: "1-0:1.8.0"
unit_of_measurement: kWh
accuracy_decimals: 3
device_class: energy
state_class: total_increasing
filters:
- multiply: 0.0001
- platform: sml
name: "Total energy SML 280"
sml_id: mysml
server_id: "0123456789abcdef"
obis_code: "1-0:2.8.0"
unit_of_measurement: kWh
accuracy_decimals: 3
device_class: energy
state_class: total_increasing
filters:
- multiply: 0.0001
- platform: sml
name: "Stromverbrauch SML 1670"
sml_id: mysml
server_id: "0123456789abcdef"
obis_code: "1-0:16.7.0"
unit_of_measurement: W
accuracy_decimals: 0
device_class: energy
filters:
- multiply: 1.0
text_sensor:
- platform: sml
name: "Total energy text"
sml_id: mysml
server_id: "0123456789abcdef"
obis_code: "1-0:1.8.0"
Es müssen folgende Zeilen angepasst werden:
Zur Erklärung: Die Kommunikation zwischen unserer IR-Diode und dem ESP erfolgt über ein Protokoll namens UART. Diese Schnittstelle wird in den Zeilen nach uart: konfiguriert. Der GPIO-Pin 3 ist dabei derjenige, der auf dem Wemos D1 Mini mit RX gekennzeichnet ist. Falls ihr einen anderen verwendet, müsst ihr diese Zeile anpassen. Die SML Schnittstelle wird ab Zeile sml: konfiguriert. Die meisten Einstellungen könnt ihr so lassen, wie es oben beschrieben ist. Die wichtigen Zeilen sind die mit server_id. Dort wird die Server-Adresse eingestellt. Vermutlich kennt ihr sie nicht von Anfang an, lasst also erstmal die Voreinstellung. Wir ändern sie später, sobald wir sie erfahren haben.
Speichert die Datei nun und kompiliert sie über den Befehl
esphome run stromzaehler-sml.yaml
Nach ein paar Augenblicken ist der Vorgang abgeschlossen und irgendwo wird eine Datei namens firmware.bin abgelegt. Der Pfad ist in der Textausgabe angegeben, bei mir war es
.esphome/build/stromzaehlersml/.pioenvs/stromzaehlersml/firmware.bin
Nun flashen wir die Datei auf den ESP8266. Dazu benutzen wir den Google Chrome (oder einen anderen kompatiblen Browser) und gehen auf die Webseite https://web.esphome.io Schließt den ESP mit einem USB-Kabel an den PC an. Auf der Webseite sollte ein Popup erscheinen.

Sollte dieser Schritt nicht funktionieren, liegt das sehr wahrscheinlich am USB-Kabel. Tauscht das Kabel gegen ein anderes, nicht alle Kabel sind dafür geeignet! Folgt den Anweisungen auf der Webseite, um die Datei firmware.bin auf den ESP zu flashen.
Kontrolliert nach dem Flashen, ob ihr den ESP in eurem WLAN findet. Falls ja, großartig! Wir binden ihn gleich in Home Assistant ein. Gehe in Home Assistant auf Einstellungen → Geräte und Dienste → Integration hinzufügen → ESPHome
Baut jetzt den ESP in der Nähe eures Stromzählers auf. Versorgt ihn mit Spannung (z.B. über ein Handy-Netzteil) und richtet die IR-Diode richtig aus. Jetzt hilft euch die Status-LED vom TCRT5000. Sollte sie regelmäßig blinken, habt ihr schon viel geschafft. Ich habe mit einem kleinen Schraubendreher das Poti noch so verstellt, bis ein wirklich sauberes Signal angekommen ist.

Ruft die Logs des Controllers auf. Über Home Assistant gibt es die entsprechende Schnittstelle, über WSL geht das mit dem Befehl
esphome logs stromzaehler-sml.yaml
Wenn alles bis hierher geklappt hat, müsste die Ausgabe sich stetig erweitern. Darin müssten auch Einträge nach dem folgenden Format auftauchen:

Hier findet ihr auch die Server-ID, die wir anfangs noch nicht kannten. Sie steht in runden Klammern und ist im Screenshot rot eingerahmt. Kopiert sie euch und fügt sie in der YAML-Datei in Zeilen, wo die server_id eingetragen werden muss (insgesamt vier mal).
Zur Kontrolle der Validität der Daten, könnt ihr den HEX-Wert mal umrechnen und checken, ob der Stromzählerwert korrekt übertragen wird. Im Beispiel oben:
0x056f8b25 entspricht 91196197. Multipliziert mit 0,0001 ergibt 9119,6 kWh
Ändert nun die YAML-Datei auf die für euch wichtigen Werte (Server-ID und ggf. andere OBIS-Codes) und flasht sie kabellos („Over the air“) auf den ESP
esphome run stromzaehler-sml.yaml
Seht im Home Assistant, ob die Werte dort ankommen. In aller Regel kommen die Werte dort an und können weiter verarbeitet werden. Ich habe mir noch einen Helfer gebaut, der den aktuellen Verbrauch in Kilowatt umrechnet. Das lässt sich mit anderen Energiequellen schöner in Diagrammen darstellen.
Fertig, ihr habt es geschafft! Kommentiert gerne, ob ihr diese Werte für andere Zwecke weiterverwendet. Realisiert ihr damit eine Nulleinspeisung oder beobachtet den Strompreis in Echtzeit?
Weiterführende Quellen: https://esphome.io/components/sml.html
The post Digitalen Stromzähler auslesen mit SML und ESPHome first appeared on bejonet - Linux | Smart Home | Technik.
Was wolltet ihr schon immer mal über mailbox.org wissen? Ab damit in die Kommentare!
Die an Pentester und Sicherheitsexperten gerichtete Distribution Kali Linux frischt die Optik leicht auf, schraubt dezent an den Images für den Raspberry Pi und trägt ungewöhnlicherweise ein „a“…
Die an Pentester und Sicherheitsexperten gerichtete Distribution Kali Linux frischt die Optik leicht auf, schraubt dezent an den Images für den Raspberry Pi und trägt ungewöhnlicherweise ein „a“…
Hugging Face, die führende Internet-Plattform für Open-Source-KI-Modelle, hat in einer Antwort auf eine Anfrage des Büros für Wissenschafts- und Technologiepolitik des Weißen Hauses nach…
Wer der gesamten Schülerschaft die Funktionalität des Taschenrechners im Unterricht erklären will, kommt nicht um einen Emulator herum. In diesem Beitrag geht es um einen Emulator für den TI-Nspire, welcher weit verbreitet an Gymnasien ist.


Am 3. April 2025 ist es wieder so weit: Der bundesweite Girls‘Day bietet Schülerinnen die Möglichkeit, Berufsfelder kennenzulernen, in denen Frauen bislang unterrepräsentiert sind – darunter IT, Handwerk, Naturwissenschaften und Technik. Unsere Mitgliedsunternehmen laden Mädchen und junge Frauen ein, sich mit diesem dynamischen Umfeld IT und Open Source vertraut zu machen.
Das Gnome-Projekt hat Gnome 48 vorgestellt. Sechs Monate Arbeit stecken im neuen Release mit dem Codenamen „Bengaluru“.
GNOME 48 „Bengaluru“ wurde veröffentlicht und bringt zahlreiche Verbesserungen für den Linux Desktop. Die auffälligste Neuerung ist die Einführung der Benachrichtigungsstapelung. Dadurch werden Meldungen einer App gruppiert, um die Übersichtlichkeit zu erhöhen. Nutzer können diese Stapel bei Bedarf erweitern oder reduzieren. Ein weiterer Schwerpunkt liegt auf der Performance. Dank eines neuen Triple-Buffering-Frameworks läuft Mutter, der […]
Der Beitrag GNOME 48: Verbesserte Leistung und neue Funktionen erschien zuerst auf fosstopia.
Mit diesem Wettbewerb möchten wir Frauen zur Teilnahme an der Freien Community ermutigen. Dazu könnt ihr eine Webseite gestalten.


GNOME 48 »Bengaluru« steckt voller Innovation und guter Ideen. Unterstützung für HDR und das Wayland-Color-Management-Protokoll halten Einzug, und ein neuer Font verleiht dem Desktop einen modernen Anstrich.
Das neue Typemill 2.15.0 stellt Autoren einen KI-Assistenten beiseite, der Texte auf Zuruf überarbeitet und optimiert. Unter der Haube arbeitet dabei ein alter Bekannter.
Das neue Typemill 2.15.0 stellt Autoren einen KI-Assistenten beiseite, der Texte auf Zuruf überarbeitet und optimiert. Unter der Haube arbeitet dabei ein alter Bekannter.
Die MZLA Technologies Corporation hat mit Thunderbird 136.0.1 ein Update für seinen Open Source E-Mail-Client veröffentlicht.
Mit Thunderbird 136.0.1 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht. Die neue Version bringt mehrere Fehlerkorrekturen, welche sich in den Release Notes (engl.) nachlesen lassen.
Der Beitrag Thunderbird 136.0.1 veröffentlicht erschien zuerst auf soeren-hentzschel.at.
Unraid hat im letzten Jahr nicht nur die Preise angezogen, sondern liefert seitdem auch Updates mit vielen wichtigen Neuerungen aus. Dieses Mal ist der Import fremder ZFS-Pools mit dabei.
Der Konferenzveranstalter Netways Event Services stellt ein neues Format vor: den Open Tech Day. Dessen erste Ausgabe ist ganz Grafana gewidmet. Das Event findet am 23. September in Nürnberg statt.
Die Blender-Entwickler haben sich auf Stabilität und Performance konzentriert. Dazu kommen viele Verbesserungen, die das Leben leichter machen. (Blender, 3D-Software) Folge 127 des CIW Podcasts.
Warum sind so wenige Frauen in der Community unterwegs?

