EnOcean: Energieeffizienter Kommunikationsstandard zur Heimautomatisierung

Aus LinuxUser 09/2024

EnOcean: Energieeffizienter Kommunikationsstandard zur Heimautomatisierung

© Vadzim Yakubovich / 123RF.com

Batterie adé

EnOcean sei nur etwas für Profis, heißt es oft. Unsinn: Mit ein wenig Python binden Sie die Geräte problemlos in eigene Projekte ein.

EnOcean [1] wurde als herstellerübergreifender Kommunikationsstandard für den Einsatz in der Gebäudeautomation entwickelt. Das Projekt zielt unter anderem auf den batterielosen Betrieb von Sensoren. Die benötigte Energie müssen die Sensoren also selbst produzieren. Üblicherweise nutzt man Bewegung, Lichteinstrahlung oder Temperaturdifferenzen, um die nötige Energie zu gewinnen. In diesem Zusammenhang taucht häufig der Begriff Energy Harvesting (Energiegewinnung) auf. Abbildung 1 zeigt als Beispiel einen Wandler [2], der Bewegung in elektrische Energie transformiert. Hier wird ein Magnet durch eine Spule bewegt und so ein Strom induziert.

Verwenden Sie diese Komponente, genügt ein Tastendruck, um mehrere EnOcean-Telegramme zu senden. Deren Übertragung erfolgt auf dem 868,3-MHz-Band. Die Übertragungsdauer für ein einzelnes Telegramm beträgt rund 1 Millisekunde. Dadurch sinkt die Kollisionswahrscheinlichkeit stark, und es lässt sich eine große Anzahl von EnOcean-Sensoren in einem Gebäude betreiben. Um die sichere Übertragung der Telegramme zu gewährleisten, sind sie mit Prüfsummen gesichert. Als zusätzliche Sicherungsmaßnahme dient das mehrfache Versenden der Telegramme.

Abbildung 1: EnOcean Bewegungsenergiewandler.

Abbildung 1: EnOcean Bewegungsenergiewandler.

EnOcean-Geräte nutzen für die Kommunikation standardisierte EnOcean-Equipment-Profile, sogenannte EEPs. Mittlerweile gibt es über 200 Devices verschiedenster Arten. Der Empfänger der Telegramme muss in der Lage sein, sie sicher zu dekodieren. Um eine erhöhte Datensicherheit zu erreichen, lässt sich eine 128-AES-Verschlüsselung aktivieren. Die Kommunikation klappt sowohl uni- als auch bidirektional. Die Reichweite von EnOcean beträgt in Gebäuden etwa 30 Meter, mithilfe eines Repeaters lässt sie sich erweitern. Jedes EnOcean-Funkmodul besitzt eine 32-Bit-Identifikationsnummer.

Inzwischen produzieren über 400 Hersteller Geräte, die den EnOcean-Standard unterstützen. Falls Sie weiterführende Informationen zu EnOcean benötigen, besuchen Sie am besten die Webseite des Projekts.

Testaufbau

Der Testaufbau (Abbildung 2) für unser EnOcean-Experiment ist schnell erklärt: Ein USB-300-Dongle [3] dient zum Empfangen der EnOcean-Telegramme der Geräte. Ihn stecken Sie in Ihren Rechner, und schon kann es losgehen. Der USB 300 betätigt sich als bidirektionale Kommunikationsschnittstelle für die EnOcean-Funkkommunikation. Sobald er ein Telegramm empfängt, blinkt die rote LED am Dongle. Das hilft ungemein bei den ersten Tests.

Abbildung 2: Der Testaufbau mit USB-300-Dongle, Eltako-FPE-1-Schalter, Weinzierl KNX RF/ENO Push Button 440 und einem KNX-EnOcean-Gateway.

Abbildung 2: Der Testaufbau mit USB-300-Dongle, Eltako-FPE-1-Schalter, Weinzierl KNX RF/ENO Push Button 440 und einem KNX-EnOcean-Gateway.

Als EnOcean-Geräte dienen in unserem Versuchsaufbau zwei FPE-1-Schalter von Eltako und ein Weinzierl KNX RF/ENO Push Button 440 secure. Genaueres zu beiden Geräten entnehmen Sie bitte den entsprechenden Kästen. Außerdem kommt für die Tests ein KNX-EnOcean-Gateway zum Einsatz. Zwingend erforderlich ist es zwar nicht, verfügt aber über eine bei den ersten Schritten mit EnOcean sehr hilfreiche Funktion: einen Telegramm-Monitor.

Eltako FPE-1

Der EnOcean-Funkschalter FPE-1 (Abbildung 3) eignet sich für unterschiedliche Anwendungen. Er dient zum Beispiel als Tür- oder Fensterkontakt. Dazu verschrauben Sie ihn über seine zwei Montagelöcher an der gewünschten Stelle. Auch in Anlagen oder an nur schwer zugänglichen Stellen lässt er sich als Endschalter einbauen. Der FPE-1 ist für 10 0000 Schaltzyklen ausgelegt, die Telegramme werden auf 868,3 MHz übertragen. Beim Drücken sendet er 0x10, beim Loslassen 0x00. Die Bedienungsanleitung [9] des Schalters erweist sich als guter Ratgeber.

Abbildung 3: Der EnOcean-Schalter FPE-1 von Eltako lässt sich dank seiner beiden Befestigungslöcher vielerorts verschrauben.

Abbildung 3: Der EnOcean-Schalter FPE-1 von Eltako lässt sich dank seiner beiden Befestigungslöcher vielerorts verschrauben.

Weinzierl KNX RF/ENO Push Button 440 secure

Beim KNX RF/ENO Push Button 440 secure (Abbildung 4) handelt es sich um ein Kombinationsgerät, das sowohl über EnOcean als auch über KNX RF kommunizieren kann. Über die integrierte CR-2032-Batterie betreiben Sie den Taster ohne Probleme über mehrere Jahre hinweg. Er ist so flach, dass Sie ihn direkt auf die Wand schrauben können. Hinter den zwei Wippen befinden sich vier Kontakte, die ihren Status per EnOcean übermitteln. Mehr über den Taster verrät ein Blick in das zugehörige Handbuch [10].

Abbildung 4: Das EnOcean-Tastermodul kann nicht nur via EnOcean kommunizieren, sondern auch über KNX RF.

Abbildung 4: Das EnOcean-Tastermodul kann nicht nur via EnOcean kommunizieren, sondern auch über KNX RF.

Gateway KNX ENO 636 secure

Das Gateway KNX ENO 636 secure (Abbildung 5) entwickelte der Hersteller Weinzierl dazu, eine Verbindung zwischen EnOcean-Geräten und dem KNX-Bus herzustellen. Dabei erlaubt es eine bidirektionale Kommunikation. Mit seinen über 100 gespeicherten Profilen ist das Gateway in der Lage, unterschiedlichste EnOcean-Geräte anzubinden. Es arbeitet auf der Frequenz 868,3 MHz und hat am KNX-Bus eine Stromaufnahme von 12 Milliampere. Eine wirklich nützliche Eigenschaft des Geräts steckt im eingebauten Telegramm-Monitor, der auf einem Mini-Display die empfangenen Telegramme samt Identifikationsnummer der Geräte anzeigt. Weitere Details zum Gateway finden sich im zugehörigen Handbuch [4].

Abbildung 5: Das EnOcean-Gateway von Weinzierl bietet die überaus nützliche Funktion eines Telegramm-Monitors.

Abbildung 5: Das EnOcean-Gateway von Weinzierl bietet die überaus nützliche Funktion eines Telegramm-Monitors.

Testprogramm

Das in Python geschriebene Testprogramm (Listing 1) liest die über den USB 300 gesendeten Daten aus. Bitte beachten Sie, dass der Name der USB-Schnittstelle je nach Betriebssystem variieren kann. Das Programm liest die Daten byteweise ein, formatiert sie zur besseren Lesbarkeit um und dekodiert sie rudimentär. Es wertet nur die Bytes zwischen b'z' (Zeile 10) und dem Leerzeichen b' ' (Zeile 11) aus. Das funktioniert für die Schalter von Eltako einwandfrei. Bei dem Vierfach-Taster wirkt die Sache etwas eigenartig, weil er ein anderes Geräteprofil verwendet.

Doch prinzipiell soll das Programm lediglich zeigen, wie man die Daten des USB 300 verarbeitet, und nicht, wie sich alle über 200 möglichen Geräteprofile (EEPs) akkurat dekodieren lassen. Spielen Sie ein wenig mit dem Code, um ihn an Ihre Anforderungen anzupassen. Falls Sie das oben beschriebene Gateway nutzen, können Sie die Telegramme über das kleine Display einsehen. Eine Beispielausgabe des Programms zeigt Listing 2. Bitte beachten Sie dabei, dass Ihre Geräte sicher über andere IDs verfügen werden.

Listing 1

EnOcean.py

import serial
eno = serial.Serial(port='/dev/ttyUSB0', baudrate=57600, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, timeout=1)
eno.flushInput()
try:
  if (eno.isOpen()):
    while(1):
      zeichen=eno.read()
      if (zeichen):
        text=""
        if (zeichen==b'z'):
          while(zeichen!=b' '):
            zeichen=eno.read()
            text=text+str(zeichen)
            bereinigterText=text.replace("b'\\x","").replace("'","")
          id=bereinigterText[4:12]
          wert=bereinigterText[2:4]
          print("ID: "+id+" Wert: "+wert)
          #print(bereinigterText)
  else:
    print("Fehler USB 300")
except Exception:
  print("Fehler")

Listing 2

Beispielausgabe

$ python3 EnOcean.py
ID: feeab24b Wert: 10
ID: feeab24b Wert: 00
ID: fed80793 Wert: 10
ID: fed80793 Wert: 00
ID: 81018dd2 Wert: b0
ID: 81018dd2 Wert: bp
ID: 81018dd2 Wert: 10
ID: 81018dd2 Wert: bP

Ausblick

Jetzt stellt sich die Frage, was EnOcean denn bringt. Der Hauptvorteil der Technologie liegt auf der Hand: Mit EnOcean betreiben Sie Funktaster und -sensoren in Ihrem Haus, ohne jemals eine Batterie wechseln zu müssen. Dadurch lassen sich die Devices an Stellen verwenden, wo Sie nur schwer eine Leitung hinziehen könnten – ein einleuchtendes Beispiel dazu ist eine schicke Glaswand in einem modernen Büro. Mittlerweile gibt es auch Schließsysteme [5], die mit EnOcean den Status von Schlössern übermitteln. Damit kann man mit wenig Aufwand große Einrichtungen wie Krankenhäuser, Altenwohnheime und so weiter überwachen.

Das Einbinden von EnOcean-Geräten in bestehende Systeme gestaltet sich weitgehend reibungsfrei: Für fast alle etablierten proprietären und quellfreien Smart-Home-Systeme existieren Gateways, mit denen Sie EnOcean anbinden können. Alle unterstützen den USB-300-Dongle und verarbeiten die Telegramme problemlos. Beispielhaft seien hier Node-RED [6], ioBroker [7] und FHEM [8] genannt. Mitunter kommt es vor, dass Sie die Software an Ihr konkretes Geräteprofil anpassen müssen.

Fazit

EnOcean ist ein etablierter Standard zum Anbinden von Funkkomponenten. Der Hauptvorteil liegt darin, dass die Geräte die für ihren Betrieb nötige Energie selbst erzeugen. Das Haupteinsatzgebiet von EnOcean liegt in der Gebäudeautomation. Ambitionierten Geeks fallen für diese Technik sicher etliche Anwendungsszenarien in eigenen Projekten ein. Dass sich die Sensoren problemlos an schwer zugänglichen Stellen integrieren lassen, eröffnet zusätzlich völlig neue Nutzungsmöglichkeiten. (csi)

Der Autor

Martin Mohr hat die komplette Entwicklung der modernen Computertechnik live miterlebt. Nach dem Studium entwickelte er überwiegend Java-Applikationen. Mit dem Raspberry Pi erwachte seine alte Liebe zur Elektronik wieder.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 09/2024 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben