{"id":2005,"date":"2025-09-04T07:05:21","date_gmt":"2025-09-04T05:05:21","guid":{"rendered":"https:\/\/elv001.staging.360vier.net\/?p=2005"},"modified":"2026-04-13T15:55:22","modified_gmt":"2026-04-13T13:55:22","slug":"elv-smart-home-sensor-base-uart","status":"publish","type":"post","link":"https:\/\/de.elv.com\/elvjournal\/elv-smart-home-sensor-base-uart\/","title":{"rendered":"Die eigenen Messwerte, wo und wann Sie wollen"},"content":{"rendered":"\n<p class=\"has-gray-light-color has-text-color has-link-color has-h-4-font-size wp-elements-ac148b31dc837a2d9a06b1bfac4b9402\"><strong>Mit der ELV Smart Home Sensor Base per UART eigene Sensoren in die Homematic IP-Welt bringen<\/strong><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Die eigene Messwerte, wo und wann Sie wollen<\/h1>\n\n\n\n<p><strong>Jeder T\u00fcftler kennt das Problem: Sie haben einen interessanten Sensor in Ihrer Teilekiste liegen und k\u00f6nnen sich schon ausmalen, wie der Messwert dieses Sensors mit in die Smart-Home-Steuerung eingebunden werden k\u00f6nnte. F\u00fcr Homematic IP Installationen gibt es daf\u00fcr jetzt eine einfache L\u00f6sung: eine neue Coprozessor-Firmware f\u00fcr die <span data-tooltip=\"158314\" class=\"dhsv-product-tooltip\">ELV Smart Home Sensor Base<\/span>, die mithilfe der UART-Schnittstelle Daten von Arduino- sowie Raspberry Pi-kompatiblen Sensoren in das Homematic IP System \u00fcbertr\u00e4gt. Doch was genau ist UART? Wie funktioniert die serielle Kommunikation, und worauf muss ich achten, wenn ich ein anderes Ger\u00e4t an das ELV-SH-BM-S anschlie\u00dfe? In diesem Artikel beantworten wir diese und weitere Fragen.<\/strong><\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Was ist UART?<\/h2>\n\n\n\n<p>UART steht f\u00fcr Universal Asynchronous Receiver\/Transmitter (universeller asynchroner Empf\u00e4nger\/Sender) und ist der Name eines Bauteils oder eines Peripherieelements innerhalb eines Ger\u00e4ts, das Signale in einer bestimmten Form \u00fcber zwei Signalleitungen (Rx f\u00fcr Receiver, also Empfangsleitung, und Tx f\u00fcr Transmitter, also Sendeleitung) senden und empfangen kann.<br>Damit beide Partner kommunizieren k\u00f6nnen, m\u00fcssen beide Ger\u00e4te die gleiche Baudrate haben. Diese entspricht der Anzahl der Symbole, die pro Sekunde \u00fcbertragen werden. Im Falle des UARTS entspricht ein Symbol einem Datenbit. Die Baudrate hat einige Standardwerte: 9600 oder 115200 sind die g\u00e4ngigsten. Wurde die Baudrate f\u00fcr beide Kommunikationspartner eingestellt, kann bestimmt werden, wie die Kommunikationspakete aussehen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Wenn nicht gesendet wird, hat die Kommunikationsleitung immer einen HIGH-Logikpegel.<\/li>\n\n\n\n<li>Ein Datenpaket beginnt immer mit einem Startbit. Dieses signalisiert den Beginn eines Pakets und dient dem Empf\u00e4nger als Synchronisationspunkt, von dem aus, entsprechend der Baudrate, die Bits aufgel\u00f6st werden.<\/li>\n\n\n\n<li>Ein Datenpaket hat eine festgelegte L\u00e4nge an Datenbits, m\u00f6glich sind f\u00fcnf bis neun, \u00fcblicherweise werden hier acht verwendet, da so genau ein Byte Daten in ein Paket passt.<\/li>\n\n\n\n<li>Nach den Datenbits folgt ein optionales Parit\u00e4tsbit. Es erm\u00f6glicht, eventuelle Fehler in der Kommunikation aufzudecken. Dazu werden die Datenbits jeweils entsprechend ihres Logiklevels gez\u00e4hlt. Je nachdem ob die Parit\u00e4t gerade (engl. EVEN) oder ungerade (engl. ODD) eingestellt ist, wird das Parit\u00e4tsbit gesetzt, um eine entsprechende Anzahl an Bits zu versenden, die auf dem Logiklevel HIGH sind. Ein Beispiel: Es soll der Buchstabe \u201eE\u201c versendet werden, dieser entspricht den Datenbits \u201e01000101\u201c. Wenn das Paket mit gerader Parit\u00e4t versendet werden soll, wird gez\u00e4hlt, wie viele Bits der Nachricht 1 sind. In diesem Fall sind es drei. Da drei eine ungerade Zahl ist, muss also das Parit\u00e4tsbit auf 1 gesetzt werden, um eine gerade Zahl von 1en zu erreichen. So kann eine grundlegende Korrektheit der Nachricht gepr\u00fcft werden, denn ist ein Bit \u201egekippt\u201c, stimmt die Parit\u00e4t nicht mehr mit dem Parit\u00e4tsbit \u00fcberein. Allerdings kann diese Herangehensweise lediglich erkennen, dass eine Kommunikation fehlgeschlagen ist, diese aber nicht korrigieren. Bei einem Fehler in zwei Bits ist sie ebenfalls nicht hilfreich, denn die Parit\u00e4t w\u00fcrde wieder stimmen. In vielen F\u00e4llen wird deswegen auf das Parit\u00e4tsbit verzichtet und die Konfiguration NONE (Deutsch: keine) gew\u00e4hlt.<\/li>\n\n\n\n<li>Nach den Parit\u00e4tsbits folgt eine vorkonfigurierte Anzahl an Stopp bits. Es k\u00f6nnen 1, 1,5 oder 2 Bits gesendet werden. Die Stoppbits sind immer Logik-Level HIGH und symbolisieren das Ende eines Pakets. <\/li>\n<\/ol>\n\n\n\n<p>Die konfigurierbaren Parameter der UART-Kommunikation lassen sich durch eine kurze Information zusammenfassen, die dem Format [Baudrate]-[Anzahl Datenbits]-[Parit\u00e4t]-[Anzahl Stoppbits] folgt. Die g\u00e4ngigste Konfiguration ist hier 9600-8-N-1. In dieser Konfiguration arbeitet auch die Schnittstelle der <span data-tooltip=\"158314\" class=\"dhsv-product-tooltip\">ELV Smart Home Sensor Base<\/span><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\"> (Bild 1)<\/mark>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"581\" height=\"270\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-162808.png\" alt=\"Bild 1: So sieht die Nachricht \u201eELV\u201c aus, wenn sie \u00fcber einen UART mit der Konfiguration 9600-8-N-1 verschickt wird.\" class=\"wp-image-2120\" style=\"width:745px;height:auto\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-162808.png 581w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-162808-300x139.png 300w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><figcaption class=\"wp-element-caption\">Bild 1: So sieht die Nachricht \u201eELV\u201c aus, wenn sie \u00fcber einen UART mit der Konfiguration \n9600-8-N-1 verschickt wird.<\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Was ist beim Auslesen zu beachten?<\/h3>\n\n\n\n<p>H\u00e4ufig werden Mikrocontroller wie Arduino UNOs oder auch Raspberry Pis verwendet, um Daten bzw. Messwerte von speziellen Sensoren auszulesen. Durch entsprechende Bibliotheken k\u00f6nnen diese Mikrocontroller unterschiedliche Standards auslesen und so z. B. mit I2C- oder auch anderen Bus-Sensoren kommunizieren und die ausgelesenen Daten softwareseitig zur Verf\u00fcgung stellen.<br>\u00dcber die UART-Schnittstelle zwischen dem eingesetzten Mikrocontroller, wie bspw. dem Arduino UNO, sowie dem Mikrocontroller der Smart Home Sensor Base kann dann wiederum eine entsprechende Daten\u00fcbertragung in das Homematic IP System erfolgen.<br>Damit zwei Mikrocontroller miteinander kommunizieren k\u00f6nnen, m\u00fcssen die Ausg\u00e4nge der jeweiligen UART-Schnittstellen verbunden werden. Diese sind im Datenblatt oder in einigen F\u00e4llen direkt auf dem Controller-Board mit Rx und Tx gekennzeichnet. Hier m\u00fcssen die Pins so verbunden werden, dass ein Tx-Pin jeweils an den Rx-Pin der Gegenstelle angeschlossen ist. Auch die beiden Massen (GND) der beiden Teilnehmer m\u00fcssen verbunden werden.<\/p>\n\n\n\n<p class=\"has-gray-lightest-100-background-color has-background\"><strong>ACHTUNG! WICHTIG! ZERST\u00d6RUNGSGEFAHR!<\/strong><br>Bevor Sie Ger\u00e4te miteinander verbinden, pr\u00fcfen Sie UNBEDINGT die Spannungskompatibilit\u00e4t beider Teilnehmer. Sollten diese nicht \u00fcbereinstimmen, m\u00fcssen Sie einen sogenannten Level-Shifter einsetzen. Die Verwendung wird im Folgenden erkl\u00e4rt.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>In der Kombination eines Arduino UNO und der ELV Smart Home Sensor Base ist eine solche Inkompatibilit\u00e4t gegeben. Der Arduino hat als Logikpegel HIGH ein Potential von 5 V, die maximal an den UART-Pins der ELV Smart Home Sensor Base anliegende Spannung betr\u00e4gt 3,6 V. Eine direkte Verbindung k\u00f6nnte also zur Zerst\u00f6rung f\u00fchren. Abhilfe schafft hier ein Level-Shifter<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\"> (Bild&nbsp;2)<\/mark>. Dieser ist im Bausatz der <span data-tooltip=\"155107\" class=\"dhsv-product-tooltip\">Prototypenadapter PAD4<\/span> enthalten. Bauen Sie diesen wie folgt in das System ein.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"423\" height=\"354\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-162829.png\" alt=\"Bild 2: Der Level-Shifter sch\u00fctzt die Smart Home Sensor Base vor \u00dcberspannung.\" class=\"wp-image-2121\" style=\"width:528px;height:auto\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-162829.png 423w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-162829-300x251.png 300w\" sizes=\"auto, (max-width: 423px) 100vw, 423px\" \/><figcaption class=\"wp-element-caption\">Bild 2: Der Level-Shifter sch\u00fctzt die Smart Home Sensor Base vor \n\u00dcberspannung.<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-table has-text-small-font-size\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Arduino<\/strong><\/th><th><strong>Level-Shifter<\/strong><\/th><th><strong>Level-Shifter<\/strong><\/th><th><strong>ELV Smart Home Sensor Base<\/strong><\/th><\/tr><\/thead><tbody><tr><td>D0(RX)<\/td><td>B7<\/td><td>A7<\/td><td>PC01(TX)<\/td><\/tr><tr><td>D1(TX)<\/td><td>B8<\/td><td>A8<\/td><td>PC00 (RX)<\/td><\/tr><tr><td>5V<\/td><td>Vccb<\/td><td>Vcca<\/td><td>+VDD<\/td><\/tr><tr><td>GND<\/td><td>GND<\/td><td>GND<\/td><td>GND<\/td><\/tr><tr><td>D8<\/td><td>B3<\/td><td>A3<\/td><td>PA00<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Arduino-Bibliotheken verwenden<\/h2>\n\n\n\n<p>Jetzt sind die beiden Ger\u00e4te korrekt miteinander verbunden, eine Komponente fehlt jedoch noch: Die aktualisierte Firmware! Um diese auf die ELV Smart Home Sensor Base zu installieren, gehen Sie auf die <span data-tooltip=\"158314\" class=\"dhsv-product-tooltip\">Produktseite<\/span> und laden Sie die Firmware unter Downloads herunter. Wie Sie diese mit dem Flasher Tool auf die Base \u00fcbertragen, finden Sie im <a href=\"https:\/\/de.elv.com\/p\/elv-smart-home-sensor-base-sensoren-aus-dem-elv-modulsystem-werden-kompatibel-mit-homematic-ip-P253831\/\">Fachbeitrag<\/a>.<br>Die Firmware f\u00fcr die Arduino-Seite muss allerdings noch geschrieben werden. Hierzu stellt ELV eine Arduino-Bibliothek zur Verf\u00fcgung. Eine Bibliothek ist eine Sammlung von bereits geschriebenem Code, die bestimmte Funktionen bereitstellt. Anstatt alles von Grund auf selbst zu programmieren, k\u00f6nnen Entwickler und Bastler auf diese fertigen Bausteine zur\u00fcckgreifen.<br>Ohne eine Bibliothek m\u00fcsste selbst programmiert werden, wie die Schnittstelle angesteuert wird, welche Signale sie erwartet und welche Befehle n\u00f6tig sind. Eine Bibliothek nimmt Ihnen diese Arbeit ab: Sie enth\u00e4lt bereits die richtigen Anweisungen und bietet einfache Befehle, um die UART-Schnittstelle der Smart Home Sensor Base anzusteuern.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Warum sind Bibliotheken so n\u00fctzlich?<\/h3>\n\n\n\n<p>Bibliotheken bieten mehrere Vorteile:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Sie sind einfach:<\/strong> Viele komplexe Aufgaben lassen sich mit wenigen Zeilen Code erledigen.<\/li>\n\n\n\n<li><strong>Sie minimieren Fehler:<\/strong> Die meisten Bibliotheken wurden von erfahrenen Entwicklern geschrieben und getestet. Das reduziert Fehler im eigenen Code.<\/li>\n\n\n\n<li><strong>Sie sparen Zeit:<\/strong> Anstatt sich stundenlang mit den technischen Details eines Bauteils auseinanderzusetzen, k\u00f6nnen Sie sich auf das Wesentliche konzentrieren: Ihr eigentliches Projekt!<\/li>\n\n\n\n<li><strong>Sie er\u00f6ffnen weitere M\u00f6glichkeiten:<\/strong> Dank Bibliotheken k\u00f6nnen Sie auch Bauteile nutzen, f\u00fcr die Sie selbst keine detaillierten Programmierkenntnisse besitzen.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Wie l\u00e4sst sich eine Bibliothek nutzen?<\/h3>\n\n\n\n<p>Die Verwendung einer Bibliothek ist einfach:<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Bibliothek installieren<\/h4>\n\n\n\n<p>Laden Sie zun\u00e4chst die Bibliothek von der ELVshop-Seite der <span data-tooltip=\"158314\" class=\"dhsv-product-tooltip\">Smart Home Sensor-Base<\/span> herunter. \u00d6ffnen Sie anschlie\u00dfend die Arduino IDE (mindestens Version 2.2.1) und f\u00fcgen Sie die Bibliothek \u00fcber das Men\u00fc \u201eSketch\u201c \u2192 \u201eInclude Library\u201c \u2192 \u201eAdd ZIP-Library\u201c hinzu, indem Sie das zuvor heruntergeladene ZIP-Archiv ausw\u00e4hlen <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">(siehe Bild 3)<\/mark>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"1038\" height=\"561\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163005.png\" alt=\"Bild 3: So f\u00fcgen Sie die Bibliothek hinzu.\" class=\"wp-image-2122\" style=\"width:1040px;height:auto\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163005.png 1038w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163005-300x162.png 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163005-768x415.png 768w\" sizes=\"auto, (max-width: 1038px) 100vw, 1038px\" \/><figcaption class=\"wp-element-caption\">Bild 3: So f\u00fcgen Sie die Bibliothek hinzu.<\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Bibliothek in den Code einbinden<\/h4>\n\n\n\n<p>In Sketch (dem Arduino-Programmcode) wird eine Bibliothek mit #include &lt;ELV-SH-BM-S.h&gt; eingebunden. Anschlie\u00dfend k\u00f6nnen Sie die Funktionen der Bibliothek im Programm nutzen.<\/p>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Beispielsketches nutzen<\/h4>\n\n\n\n<p>Die Bibliothek enth\u00e4lt einen Beispielprogrammcode, der zeigt, wie Sie diesen verwenden<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\"> (Bild 4).<\/mark> Sie finden ihn unter \u201eDatei\u201c \u2192 \u201eBeispiele\u201c \u2192 \u201eELV-SH-BM-S UART Interface\u201c in der Arduino IDE.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"1037\" height=\"560\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163109.png\" alt=\"Bild 4: Beispielaufbau zwischen einer Smart Home Sensor Base und einem \u00fcber den Arduino angeschlossenen Staubsensor\" class=\"wp-image-2123\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163109.png 1037w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163109-300x162.png 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163109-768x415.png 768w\" sizes=\"auto, (max-width: 1037px) 100vw, 1037px\" \/><figcaption class=\"wp-element-caption\">Bild 4: Beispielaufbau zwischen einer Smart Home Sensor Base und einem \u00fcber den Arduino angeschlossenen Staubsensor\n<\/figcaption><\/figure>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Hauptbestandteil der Bibliothek ist die Funktion \u201esendFrame(channel_no_t channel, float value)\u201c. Diese hat als \u00dcbergabeparameter als Erstes die Messwertkanalnummer. Die Messwertkanalnummern sind bereits vordefiniert und k\u00f6nnen einfach als Konstante mit dem Namen ELV_SH_BM_S::CHANNEL_[NR] abgerufen werden. Als N\u00e4chstes wird der \u00dcbergabewert erwartet mit dem Datentyp Float oder ein 16-Bit-Integer, in dem der eigentliche Messwert steht.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">CODEBLOCK 1: <br>Beispiel, in dem ein fester Wert in Messwertkanal 10 geschrieben wird:<\/h4>\n\n\n\n<pre class=\"wp-block-code has-black-background-color has-background\" style=\"padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>#include &lt;ELV_SH_BM_S.h&gt;\n\nELV_SH_BM_S sh_base;\n\nvoid setup() {\n sh_base.begin();\n}\n\nvoid loop() {\n float f = 20000;\n sh_base.sendFrame(ELV_SH_BM_S::CHANNEL_10, f);\n delay(5000);\n}<\/code><\/pre>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Anwendungsbeispiel<\/h2>\n\n\n\n<p>Neben der theoretischen Beschreibung zur Einbindung unterschiedlichster Sensoren wollen wir uns nachfolgend auch mit einer praxisorientierten Beispielkombination <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-blue-color\">(Bild 5)<\/mark> mit einem Arduino UNO sowie einem optischen Staubpartikelsensor von Joy-IT besch\u00e4ftigen. Dieser Sensor ist in der Lage, die Staubkonzentration zu messen und als Messwert im Homematic IP System zur Verf\u00fcgung zu stellen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"1036\" height=\"397\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163235.png\" alt=\"Bild 5: Ein Beispielaufbau der Smart Home Sensor Base mit einem Staubsensor\" class=\"wp-image-2125\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163235.png 1036w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163235-300x115.png 300w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163235-768x294.png 768w\" sizes=\"auto, (max-width: 1036px) 100vw, 1036px\" \/><figcaption class=\"wp-element-caption\">Bild 5: Ein Beispielaufbau der Smart Home Sensor Base mit einem Staubsensor\n<\/figcaption><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Zun\u00e4chst wird hierf\u00fcr die Smart Home Sensor Base wie in der eingangs zu sehenden Tabelle beschrieben \u00fcber einen Level-Shifter mit dem Arduino verbunden.<\/li>\n\n\n\n<li>Verbinden Sie den Staubsensor entsprechend der nachfolgenden Kontaktzuweisung:<br><br>\n<figure class=\"wp-block-table has-text-small-font-size\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>Arduino<\/strong><\/th><th><strong>Staubsensor<\/strong><\/th><\/tr><\/thead><tbody><tr><td>5V<\/td><td>VCC<\/td><\/tr><tr><td>GND<\/td><td>GND<\/td><\/tr><tr><td>2<\/td><td>LED<\/td><\/tr><tr><td>A0<\/td><td>OUT<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/li>\n\n\n\n<li>Flashen bzw. beschreiben Sie die Smart Home Sensor Base mit der Firmware f\u00fcr die generische UART-Schnittstelle.<\/li>\n\n\n\n<li>Der Arduino wird mit dem Code aus Codeblock 2 beschrieben:<br>Zun\u00e4chst wird in Zeile 1 die notwendige Bibliothek hinzugef\u00fcgt.<br>Es folgen einige Pin-Definitionen f\u00fcr den hier verwendeten Staubsensor. Sollten andere als die in der Tabelle aufgef\u00fchrten Anschlusspins gew\u00e4hlt werden, so m\u00fcssen diese im Code angepasst werden.<br>Die setup()-Methode initialisiert die Kommunikation mit der Base sowie die beiden Anschlusspins des Staubsensors.<br>Abschlie\u00dfend wird mit der Loop-Methode der Output des Sensors eingelesen und in Zeile 25 mit der Methode sendFrame() als Wert in den Messwertkanal 10 der SH-Base geschrieben.<\/li>\n\n\n\n<li>In der WebUI der CCU3 kann nun unter \u201eEinstellungen\u201c \u2192 \u201eGer\u00e4te\u201c \u2192 [Verwendete SH-Base] \u2192 \u201eEinstellen\u201c der Kanal 10 so konfiguriert werden, dass er drei Nachkommastellen liefert und der Einheit \u201e\u00b5g\/m\u00b3\u201c entspricht.<\/li>\n\n\n\n<li>Unter \u201eStatus und Bedienung\u201c \u2192 \u201eGer\u00e4te\u201d \u2192 [Verwendete SH-Base] kann nun der ausgelesene Wert des Staubsensors im Messwertkanal 10 eingesehen werden.<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"408\" height=\"105\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163326.png\" alt=\"\" class=\"wp-image-2127\" style=\"object-fit:cover\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163326.png 408w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163326-300x77.png 300w\" sizes=\"auto, (max-width: 408px) 100vw, 408px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-style-bordered\"><img loading=\"lazy\" decoding=\"async\" width=\"405\" height=\"104\" src=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163344.png\" alt=\"\" class=\"wp-image-2128\" srcset=\"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163344.png 405w, https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Screenshot-2025-09-03-163344-300x77.png 300w\" sizes=\"auto, (max-width: 405px) 100vw, 405px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div style=\"height:20px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Ausblick<\/h3>\n\n\n\n<p>Dank der Vielzahl an Sensoren und den damit verbundenen Einsatzzwecken sind Ihrer Fantasie keine Grenzen gesetzt. Eine gro\u00dfe Auswahl an Mikrocontroller-kompatiblen Sensoren finden Sie unter anderem in unserem Shop in der Kategorie <a href=\"https:\/\/de.elv.com\/technik-fuer-elektronik-projekte\/bausaetze\/minicomputer-sbc-ua-raspberry-pi\/sensoren\/\">Sensoren<\/a>. Auch die kreative Verwendung verschiedener Messwertkan\u00e4le, z. B. zur Speicherung von Extremwerten, ist durchaus denkbar.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">CODEBLOCK 2: Arduino-Anwendung mit Staubsensor<\/h4>\n\n\n\n<pre class=\"wp-block-code has-black-background-color has-background\" style=\"padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\"><code>#include &lt;ELV_SH_BM_S.h&gt;\n\nint dustPin = 0;\nfloat dustVal = 0;\nint ledPower = 2;\nint delayTime = 280;\nint delayTime2 = 40;\nfloat offTime = 9680;\nELV_SH_BM_S base;\n\nvoid setup() {\n base.begin();\n pinMode(ledPower, OUTPUT);\n pinMode(dustPin, INPUT);\n}\n\nvoid loop() {\n digitalWrite(ledPower, LOW);\n delayMicroseconds(delayTime);\n dustVal = analogRead(dustPin);\n delayMicroseconds(delayTime2);\n digitalWrite(ledPower, HIGH);\n delayMicroseconds(offTime);\n delay(1000);\n if (dustVal &gt; 36.455)\n base.sendFrame(ELV_SH_BM_S::CHANNEL_10,(float(dustVal \/ 1024) - 0.0356) *\n120000 * 0.035);\n}<\/code><\/pre>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"alignnone wp-block-dhsv-product-teaser\">\n    <div data-component=\"ProductTeaser\" data-props=\"{&quot;productIds&quot;:&quot;158314,155107&quot;,&quot;view&quot;:&quot;list&quot;,&quot;slider&quot;:true,&quot;sliderMobile&quot;:true,&quot;align&quot;:&quot;none&quot;}\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Die ELV Smart Home Sensor Base mit UART macht Ihre Projekte smart: Binden Sie Sensoren von Arduino oder Raspberry Pi direkt ins Homematic IP System ein. Dank neuer Firmware und ELV-Bibliothek lassen sich Messwerte flexibel \u00fcbertragen \u2013 vom Staubsensor bis zur individuellen Eigenl\u00f6sung.<\/p>\n","protected":false},"author":28,"featured_media":2260,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[160],"tags":[381,377,383,379,384,380,382,378],"post-author":[376],"class_list":["post-2005","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projekt-diy","tag-arduino-sensor-smart-home","tag-eigene-sensoren-ins-smart-home","tag-elv-smart-home-sensor-base","tag-elv-uart-schnittstelle","tag-prototypenadapter-pad4","tag-raspberry-pi-sensor-homematic","tag-smart-home-sensor-integration","tag-uart-homematic-ip","post-author-stephan"],"acf":[],"info":{"thumbnail":{"url":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/header_sh-base_uart.jpg","alt":""},"teaserImage":{"ID":2261,"id":2261,"title":"liste-beitrag_sh-base_uart","filename":"Liste-Beitrag_sh-base_uart.jpg","filesize":28686,"url":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_sh-base_uart.jpg","link":"https:\/\/de.elv.com\/elvjournal\/elv-smart-home-sensor-base-uart\/liste-beitrag_sh-base_uart\/","alt":"","author":"5","description":"","caption":"","name":"liste-beitrag_sh-base_uart","status":"inherit","uploaded_to":2005,"date":"2025-09-04 08:34:18","modified":"2025-09-04 08:34:18","menu_order":0,"mime_type":"image\/jpeg","type":"image","subtype":"jpeg","icon":"https:\/\/elvjournal.elv.com\/wp-includes\/images\/media\/default.png","width":312,"height":198,"sizes":{"thumbnail":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_sh-base_uart-250x198.jpg","thumbnail-width":250,"thumbnail-height":198,"medium":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_sh-base_uart-300x190.jpg","medium-width":300,"medium-height":190,"medium_large":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_sh-base_uart.jpg","medium_large-width":312,"medium_large-height":198,"large":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_sh-base_uart.jpg","large-width":312,"large-height":198,"1536x1536":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_sh-base_uart.jpg","1536x1536-width":312,"1536x1536-height":198,"2048x2048":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_sh-base_uart.jpg","2048x2048-width":312,"2048x2048-height":198,"gform-image-choice-sm":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_sh-base_uart.jpg","gform-image-choice-sm-width":300,"gform-image-choice-sm-height":190,"gform-image-choice-md":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_sh-base_uart.jpg","gform-image-choice-md-width":312,"gform-image-choice-md-height":198,"gform-image-choice-lg":"https:\/\/elvjournal.elv.com\/wp-content\/uploads\/Liste-Beitrag_sh-base_uart.jpg","gform-image-choice-lg-width":312,"gform-image-choice-lg-height":198}},"categories":[{"id":160,"name":"Projekte &amp; DIY","slug":"projekt-diy"}],"authors":[{"id":376,"name":"Stephan","slug":"stephan"}],"document":false,"epaper":"","date":"4. September 2025","excerpt":"Die ELV Smart Home Sensor Base mit UART macht Ihre Projekte smart: Binden Sie Sensoren von Arduino oder Raspberry Pi direkt ins Homematic IP System ein. Dank neuer Firmware und ELV-Bibliothek lassen sich Messwerte flexibel \u00fcbertragen \u2013 vom Staubsensor bis zur individuellen Eigenl\u00f6sung."},"_links":{"self":[{"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/posts\/2005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/comments?post=2005"}],"version-history":[{"count":9,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/posts\/2005\/revisions"}],"predecessor-version":[{"id":11261,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/posts\/2005\/revisions\/11261"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/media\/2260"}],"wp:attachment":[{"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/media?parent=2005"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/categories?post=2005"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/tags?post=2005"},{"taxonomy":"post-author","embeddable":true,"href":"https:\/\/de.elv.com\/elvjournal\/wp-json\/wp\/v2\/post-author?post=2005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}