<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>LHlab Wiki  - Letzte Änderungen [de]</title>
		<link>https://lhlab.wiki/wiki/Spezial:Letzte_%C3%84nderungen</link>
		<description>Verfolge mit diesem Feed die letzten Änderungen in LHlab Wiki.</description>
		<language>de</language>
		<generator>MediaWiki 1.46.2</generator>
		<lastBuildDate>Fri, 13 Nov 2026 19:11:05 GMT</lastBuildDate>
		<item>
			<title>Syslog-Server Docker Stack mit Webinterface für Log-Analyse</title>
			<link>https://lhlab.wiki/index.php?title=Syslog-Server_Docker_Stack_mit_Webinterface_f%C3%BCr_Log-Analyse&amp;diff=10517&amp;oldid=9784</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=Syslog-Server_Docker_Stack_mit_Webinterface_f%C3%BCr_Log-Analyse&amp;diff=10517&amp;oldid=9784</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://lhlab.wiki/index.php?title=Syslog-Server_Docker_Stack_mit_Webinterface_f%C3%BCr_Log-Analyse&amp;amp;diff=10517&amp;amp;oldid=9784&quot;&gt;Änderungen zeigen&lt;/a&gt;</description>
			<pubDate>Fri, 13 Nov 2026 10:42:39 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Diskussion:Syslog-Server_Docker_Stack_mit_Webinterface_f%C3%BCr_Log-Analyse</comments>
		</item>
		<item>
			<title>SMA MQTT Bridge: Wechselrichter und eCharger in openHAB integrieren</title>
			<link>https://lhlab.wiki/index.php?title=SMA_MQTT_Bridge:_Wechselrichter_und_eCharger_in_openHAB_integrieren&amp;diff=10516&amp;oldid=10508</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=SMA_MQTT_Bridge:_Wechselrichter_und_eCharger_in_openHAB_integrieren&amp;diff=10516&amp;oldid=10508</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 7. November 2026, 18:57 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l313&quot;&gt;Zeile 313:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 313:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Prognose-Widgets verwenden bereits vorhandene Prognose-Items. Die Bridge berechnet keine eigene Wetter- oder PV-Prognose.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Prognose-Widgets verwenden bereits vorhandene Prognose-Items. Die Bridge berechnet keine eigene Wetter- oder PV-Prognose.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Datei:Daily-energy-overview-demo.jpg|600x600px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Datei:Live-energy-flow-demo.jpg|600x600px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Import über die MainUI ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Import über die MainUI ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki:diff:1.41:old-10508:rev-10516:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 07 Nov 2026 17:57:39 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Diskussion:SMA_MQTT_Bridge:_Wechselrichter_und_eCharger_in_openHAB_integrieren</comments>
		</item>
		<item>
			<title>Datei:Live-energy-flow-demo.jpg</title>
			<link>https://lhlab.wiki/index.php?title=Datei:Live-energy-flow-demo.jpg&amp;diff=10515&amp;oldid=0</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=Datei:Live-energy-flow-demo.jpg&amp;diff=10515&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/wiki/Benutzer:Andreas&quot; class=&quot;mw-userlink&quot; title=&quot;Benutzer:Andreas&quot;&gt;&lt;bdi&gt;Andreas&lt;/bdi&gt;&lt;/a&gt; lud &lt;a href=&quot;/wiki/Datei:Live-energy-flow-demo.jpg&quot; title=&quot;Datei:Live-energy-flow-demo.jpg&quot;&gt;Datei:Live-energy-flow-demo.jpg&lt;/a&gt; hoch&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Live-energy-flow-demo&lt;/div&gt;</description>
			<pubDate>Sat, 07 Nov 2026 17:57:23 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Datei_Diskussion:Live-energy-flow-demo.jpg</comments>
		</item>
		<item>
			<title>Datei:Daily-energy-overview-demo.jpg</title>
			<link>https://lhlab.wiki/index.php?title=Datei:Daily-energy-overview-demo.jpg&amp;diff=10514&amp;oldid=0</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=Datei:Daily-energy-overview-demo.jpg&amp;diff=10514&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/wiki/Benutzer:Andreas&quot; class=&quot;mw-userlink&quot; title=&quot;Benutzer:Andreas&quot;&gt;&lt;bdi&gt;Andreas&lt;/bdi&gt;&lt;/a&gt; lud &lt;a href=&quot;/wiki/Datei:Daily-energy-overview-demo.jpg&quot; title=&quot;Datei:Daily-energy-overview-demo.jpg&quot;&gt;Datei:Daily-energy-overview-demo.jpg&lt;/a&gt; hoch&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Daily-energy-overview-demo&lt;/div&gt;</description>
			<pubDate>Sat, 07 Nov 2026 17:56:44 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Datei_Diskussion:Daily-energy-overview-demo.jpg</comments>
		</item>
		<item>
			<title>BMW MQTT Bridge mit Docker: CarData in openHAB einbinden</title>
			<link>https://lhlab.wiki/index.php?title=BMW_MQTT_Bridge_mit_Docker:_CarData_in_openHAB_einbinden&amp;diff=10513&amp;oldid=10511</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=BMW_MQTT_Bridge_mit_Docker:_CarData_in_openHAB_einbinden&amp;diff=10513&amp;oldid=10511</guid>
			<description>&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Fahrzeugkarte oder Listenwidget&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 7. November 2026, 13:46 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l121&quot;&gt;Zeile 121:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 121:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Fahrzeugkarte oder Listenwidget ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Fahrzeugkarte oder Listenwidget ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Datei:Openhab-demo-details.jpg|rechts|331x331px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Im [https://github.com/alaub81/bmw-mqtt-bridge/tree/main/openHAB openHAB-Verzeichnis] liegen die kanonische Widgetdatei und daraus erzeugte Einzelimporte.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Im [https://github.com/alaub81/bmw-mqtt-bridge/tree/main/openHAB openHAB-Verzeichnis] liegen die kanonische Widgetdatei und daraus erzeugte Einzelimporte.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki:diff:1.41:old-10511:rev-10513:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 07 Nov 2026 12:46:36 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Diskussion:BMW_MQTT_Bridge_mit_Docker:_CarData_in_openHAB_einbinden</comments>
		</item>
		<item>
			<title>Datei:Openhab-demo-details.jpg</title>
			<link>https://lhlab.wiki/index.php?title=Datei:Openhab-demo-details.jpg&amp;diff=10512&amp;oldid=0</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=Datei:Openhab-demo-details.jpg&amp;diff=10512&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/wiki/Benutzer:Andreas&quot; class=&quot;mw-userlink&quot; title=&quot;Benutzer:Andreas&quot;&gt;&lt;bdi&gt;Andreas&lt;/bdi&gt;&lt;/a&gt; lud &lt;a href=&quot;/wiki/Datei:Openhab-demo-details.jpg&quot; title=&quot;Datei:Openhab-demo-details.jpg&quot;&gt;Datei:Openhab-demo-details.jpg&lt;/a&gt; hoch&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Openhab-demo-details&lt;/div&gt;</description>
			<pubDate>Sat, 07 Nov 2026 12:45:59 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Datei_Diskussion:Openhab-demo-details.jpg</comments>
		</item>
		<item>
			<title>BMW MQTT Bridge mit Docker: CarData in openHAB einbinden</title>
			<link>https://lhlab.wiki/index.php?title=BMW_MQTT_Bridge_mit_Docker:_CarData_in_openHAB_einbinden&amp;diff=10511&amp;oldid=10509</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=BMW_MQTT_Bridge_mit_Docker:_CarData_in_openHAB_einbinden&amp;diff=10511&amp;oldid=10509</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 7. November 2026, 13:43 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Datei:Bmw-mqtt-bridge-article.png|rechts|250x250px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;BMW-Fahrzeugdaten im eigenen Smart Home anzeigen: Die BMW MQTT Bridge leitet den CarData-Datenstrom an deinen MQTT-Broker weiter. Hier zeige ich dir die Einrichtung mit Docker Compose, die Anmeldung bei BMW und die Einbindung in openHAB – einschließlich Updates, Backup und Fehlersuche.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;BMW-Fahrzeugdaten im eigenen Smart Home anzeigen: Die BMW MQTT Bridge leitet den CarData-Datenstrom an deinen MQTT-Broker weiter. Hier zeige ich dir die Einrichtung mit Docker Compose, die Anmeldung bei BMW und die Einbindung in openHAB – einschließlich Updates, Backup und Fehlersuche.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki:diff:1.41:old-10509:rev-10511:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 07 Nov 2026 12:43:29 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Diskussion:BMW_MQTT_Bridge_mit_Docker:_CarData_in_openHAB_einbinden</comments>
		</item>
		<item>
			<title>Datei:Bmw-mqtt-bridge-article.png</title>
			<link>https://lhlab.wiki/index.php?title=Datei:Bmw-mqtt-bridge-article.png&amp;diff=10510&amp;oldid=0</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=Datei:Bmw-mqtt-bridge-article.png&amp;diff=10510&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/wiki/Benutzer:Andreas&quot; class=&quot;mw-userlink&quot; title=&quot;Benutzer:Andreas&quot;&gt;&lt;bdi&gt;Andreas&lt;/bdi&gt;&lt;/a&gt; lud &lt;a href=&quot;/wiki/Datei:Bmw-mqtt-bridge-article.png&quot; title=&quot;Datei:Bmw-mqtt-bridge-article.png&quot;&gt;Datei:Bmw-mqtt-bridge-article.png&lt;/a&gt; hoch&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Bmw-mqtt-bridge-article&lt;/div&gt;</description>
			<pubDate>Sat, 07 Nov 2026 12:42:55 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Datei_Diskussion:Bmw-mqtt-bridge-article.png</comments>
		</item>
		<item>
			<title>BMW MQTT Bridge mit Docker: CarData in openHAB einbinden</title>
			<link>https://lhlab.wiki/index.php?title=BMW_MQTT_Bridge_mit_Docker:_CarData_in_openHAB_einbinden&amp;diff=10509&amp;oldid=0</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=BMW_MQTT_Bridge_mit_Docker:_CarData_in_openHAB_einbinden&amp;diff=10509&amp;oldid=0</guid>
			<description>&lt;p&gt;Die Seite wurde neu angelegt: „BMW-Fahrzeugdaten im eigenen Smart Home anzeigen: Die BMW MQTT Bridge leitet den CarData-Datenstrom an deinen MQTT-Broker weiter. Hier zeige ich dir die Einrichtung mit Docker Compose, die Anmeldung bei BMW und die Einbindung in openHAB – einschließlich Updates, Backup und Fehlersuche.  == Was macht die BMW MQTT Bridge? == Die Bridge verbindet den BMW-CarData-Streamingdienst mit deinem eigenen MQTT-Broker. Die Anmeldung erfolgt über den OAuth Device F…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;BMW-Fahrzeugdaten im eigenen Smart Home anzeigen: Die BMW MQTT Bridge leitet den CarData-Datenstrom an deinen MQTT-Broker weiter. Hier zeige ich dir die Einrichtung mit Docker Compose, die Anmeldung bei BMW und die Einbindung in openHAB – einschließlich Updates, Backup und Fehlersuche.&lt;br /&gt;
&lt;br /&gt;
== Was macht die BMW MQTT Bridge? ==&lt;br /&gt;
Die Bridge verbindet den BMW-CarData-Streamingdienst mit deinem eigenen MQTT-Broker. Die Anmeldung erfolgt über den OAuth Device Flow: Du bestätigst den Zugang im Browser, die Bridge speichert die erhaltenen Tokens in einem Docker-Volume und erneuert sie im laufenden Betrieb automatisch.&lt;br /&gt;
&lt;br /&gt;
Du kannst vollständige JSON-Nachrichten weiterreichen, einzelne Felder auf eigene Topics aufteilen und zusätzlich Homie 4 für die openHAB-Erkennung aktivieren. Welche Fahrzeugdaten eintreffen und wie häufig BMW sie aktualisiert, hängt vom Fahrzeug und der freigegebenen Datenauswahl ab. Die Bridge ist kein frei einstellbares Abfragesystem. Die Widgets zeigen Daten an und senden keine Fahrzeugbefehle.&lt;br /&gt;
&lt;br /&gt;
Das Projekt ist eine unabhängige Community-Bridge und basiert auf der Arbeit von dj0abr.&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
* Docker mit Compose-Plugin, beispielsweise auf einem Linux-Server, NAS oder Raspberry Pi mit 64-Bit-System.&lt;br /&gt;
* Ein erreichbarer MQTT-Broker, zum Beispiel Mosquitto. Die Bridge installiert keinen Broker.&lt;br /&gt;
* Ein BMW-Konto mit zugeordnetem Fahrzeug und nutzbarem CarData-Streamingzugang.&lt;br /&gt;
* Für die optionale Anzeige: openHAB mit MQTT Binding und Homie-Unterstützung passend zur installierten Version.&lt;br /&gt;
&lt;br /&gt;
Die Container werden für amd64 und arm64 gebaut. Ein Port muss für die Bridge nicht veröffentlicht werden: Sie baut ausgehende Verbindungen zu BMW und deinem Broker auf.&lt;br /&gt;
&lt;br /&gt;
== BMW CarData vorbereiten ==&lt;br /&gt;
Öffne das [https://www.bmw-connecteddrive.com/ BMW-Portal] und suche beim Fahrzeug nach CarData. Die genaue Menübezeichnung kann sich ändern.&lt;br /&gt;
&lt;br /&gt;
# Erstelle eine Client-ID für den CarData-Zugang. Die Funktion „Authenticate Vehicle“ ist dafür nicht der hier beschriebene Weg.&lt;br /&gt;
# Übernimm die Client-ID als &amp;lt;code&amp;gt;BMB_BMW_CLIENT_ID&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Öffne bei CarData Stream die Verbindungsdetails. Den dortigen Benutzernamen trägst du als &amp;lt;code&amp;gt;BMB_BMW_GCID&amp;lt;/code&amp;gt; ein.&lt;br /&gt;
# Aktiviere in der Datenauswahl die gewünschten Fahrzeugdaten.&lt;br /&gt;
&lt;br /&gt;
== Docker-Schnellstart ==&lt;br /&gt;
Lege ein eigenes Verzeichnis an:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p ~/bmw-mqtt-bridge&lt;br /&gt;
cd ~/bmw-mqtt-bridge&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Erstelle darin die Datei &amp;lt;code&amp;gt;docker-compose.yml&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  bmw-mqtt-bridge:&lt;br /&gt;
    image: ghcr.io/alaub81/bmw-mqtt-bridge:${BMB_VERSION:-latest}&lt;br /&gt;
    env_file: .env&lt;br /&gt;
    volumes:&lt;br /&gt;
      - data_bmb_token:/app/token&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
&lt;br /&gt;
volumes:&lt;br /&gt;
  data_bmb_token:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Daneben kommt eine &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
BMB_BMW_CLIENT_ID=DEINE-CLIENT-ID&lt;br /&gt;
BMB_BMW_GCID=DEIN-CARDATA-BENUTZERNAME&lt;br /&gt;
BMB_MQTT_LOCAL_HOST=192.168.1.10&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ersetze die Beispielwerte. Dieses Minimalbeispiel verwendet Port 1883 ohne TLS und ohne Broker-Anmeldung. Benötigt dein Broker Zugangsdaten, ergänze:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
BMB_MQTT_LOCAL_USER=DEIN-MQTT-BENUTZER&lt;br /&gt;
BMB_MQTT_LOCAL_PASSWORD=&amp;#039;DEIN-MQTT-PASSWORT&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei Sonderzeichen im Passwort die Compose-Regeln für &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; beachten; einfache Anführungszeichen erhalten beispielsweise ein Dollarzeichen als Literal. Verwende auf nicht vertrauenswürdigen Netzen TLS mit Zertifikatsprüfung. Für einen Broker mit öffentlich vertrauenswürdigem Zertifikat beispielsweise:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
BMB_MQTT_LOCAL_HOST=mqtt.example.org&lt;br /&gt;
BMB_MQTT_LOCAL_PORT=8883&lt;br /&gt;
BMB_MQTT_LOCAL_TLS=true&lt;br /&gt;
BMB_MQTT_LOCAL_TLS_VERIFY=true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für eine eigene CA beschreibt die Repository-Dokumentation den zusätzlichen Zertifikatsmount. Der Brokername muss zum Zertifikat passen. &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; bezeichnet im Container den Container selbst. Verwende die erreichbare LAN-Adresse oder den Dienstnamen des Brokers im gemeinsamen Docker-Netz.&lt;br /&gt;
&lt;br /&gt;
Die beiden Dateien reichen für den Einstieg. Zusätzliche Konfigurationsdateien im Container sind nicht erforderlich. Das ausführliche Compose-Beispiel im Repository ergänzt Healthcheck, begrenzte Logs und weitere Härtung.&lt;br /&gt;
&lt;br /&gt;
== Einmal anmelden und starten ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 600 .env&lt;br /&gt;
docker compose pull&lt;br /&gt;
docker compose run --rm -it bmw-mqtt-bridge ./bmw_flow.sh&lt;br /&gt;
docker compose up -d&lt;br /&gt;
docker compose logs -f bmw-mqtt-bridge&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Öffne den vom Helfer ausgegebenen Link und bestätige den angezeigten Gerätecode bei BMW. Die Tokens landen im Volume unter &amp;lt;code&amp;gt;/app/token/tokens.json&amp;lt;/code&amp;gt;. Bei späteren Starts bleibt die Anmeldung erhalten, solange die Zugangsdaten gültig sind. Zum Beenden der Logansicht drückst du Strg+C; der Container läuft weiter.&lt;br /&gt;
&lt;br /&gt;
Betreibe nur eine Bridge pro BMW-Zugang beziehungsweise gemeinsamem Tokenbestand. Für eine erneute Anmeldung zuerst den laufenden Dienst stoppen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker compose stop bmw-mqtt-bridge&lt;br /&gt;
docker compose run --rm -it bmw-mqtt-bridge ./bmw_flow.sh&lt;br /&gt;
docker compose up -d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Welche MQTT-Ausgaben gibt es? ==&lt;br /&gt;
Standardmäßig veröffentlicht die Bridge vollständige Nachrichten unter &amp;lt;code&amp;gt;bmw/raw/&amp;amp;lt;VIN&amp;amp;gt;/&amp;amp;lt;eventName&amp;amp;gt;&amp;lt;/code&amp;gt; sowie auf dem Legacy-Pfad &amp;lt;code&amp;gt;bmw/&amp;amp;lt;VIN&amp;amp;gt;/&amp;amp;lt;eventName&amp;amp;gt;&amp;lt;/code&amp;gt;. Optional lassen sich einzelne Felder aufteilen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
BMB_MQTT_SPLIT_TOPICS=1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese erscheinen unter &amp;lt;code&amp;gt;bmw/vehicles/&amp;amp;lt;VIN&amp;amp;gt;/&amp;amp;lt;property&amp;amp;gt;&amp;lt;/code&amp;gt;. Die tatsächlichen Feldnamen ergeben sich aus den empfangenen BMW-Nachrichten. &amp;lt;code&amp;gt;bmw/status&amp;lt;/code&amp;gt; beschreibt den Verbindungszustand, wenn RAW- oder Split-Ausgabe aktiv ist. Es ist kein Nachweis für aktuelle Werte aller Fahrzeugfelder.&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;BMB_MQTT_RETAIN=1&amp;lt;/code&amp;gt; bleiben die letzten RAW-/Split-Werte auf dem Broker erhalten. Status sowie Homie-Metadaten und Homie-Werte werden unabhängig davon retained veröffentlicht. Ein alter gespeicherter Wert ist keine neue Messung.&lt;br /&gt;
&lt;br /&gt;
Nach Änderungen an der &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; den Container neu erstellen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker compose up -d --force-recreate&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== openHAB über Homie anbinden ==&lt;br /&gt;
Ergänze in der &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
BMB_MQTT_HOMIE=1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Erstelle den Bridge-Container neu.&lt;br /&gt;
# Verbinde in openHAB eine MQTT Broker Bridge mit deinem lokalen Broker und aktiviere die Homie-Unterstützung deiner Version.&lt;br /&gt;
# Warte auf eine gültige Fahrzeugnachricht. Übernimm das erkannte Fahrzeug aus der Inbox.&lt;br /&gt;
# Verknüpfe die gewünschten Channels mit Items.&lt;br /&gt;
# Verknüpfe &amp;lt;code&amp;gt;telemetry#lastUpdate&amp;lt;/code&amp;gt; mit einem DateTime-Item und Standardprofil.&lt;br /&gt;
&lt;br /&gt;
Die Bridge veröffentlicht Homie unter &amp;lt;code&amp;gt;homie/bmw-&amp;amp;lt;VIN in Kleinbuchstaben&amp;amp;gt;/&amp;lt;/code&amp;gt;. Ein eigener &amp;lt;code&amp;gt;.things&amp;lt;/code&amp;gt;-Import oder JSONPath ist für diesen Weg nicht nötig. Broker-ACLs müssen auch diese Topics und das Last Will erlauben.&lt;br /&gt;
&lt;br /&gt;
„Last update“ ist die Empfangszeit der letzten gültigen Nachricht in der Bridge. Eine Teilnachricht kann nur einzelne Felder aktualisieren; die anderen Werte können älter sein. Auch wiederhergestellte Cachewerte müssen nicht frisch sein.&lt;br /&gt;
&lt;br /&gt;
=== Fahrzeugkarte oder Listenwidget ===&lt;br /&gt;
Im [https://github.com/alaub81/bmw-mqtt-bridge/tree/main/openHAB openHAB-Verzeichnis] liegen die kanonische Widgetdatei und daraus erzeugte Einzelimporte.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Dateiinstallation:&amp;#039;&amp;#039;&amp;#039; &amp;lt;code&amp;gt;bmw-vehicle-widgets.yml&amp;lt;/code&amp;gt; nach &amp;lt;code&amp;gt;$OPENHAB_CONF/yaml/&amp;lt;/code&amp;gt; kopieren und MainUI neu laden.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Einzelimport:&amp;#039;&amp;#039;&amp;#039; In MainUI unter Entwicklerwerkzeuge → Widgets ein Widget anlegen und den YAML-Code vollständig durch den gewünschten Import aus &amp;lt;code&amp;gt;openHAB/imports/&amp;lt;/code&amp;gt; ersetzen.&lt;br /&gt;
&lt;br /&gt;
Verwende je UID einen Installationsweg. Die Fahrzeugkarte lässt sich auf einer Layout-Seite einsetzen; das Listenwidget eignet sich als Default List Widget einer Fahrzeuggruppe. Wähle Fahrzeugname, Antrieb und die vorhandenen Items in der Instanz aus. Nicht benötigte Parameter bleiben leer.&lt;br /&gt;
&lt;br /&gt;
Die Widgets unterstützen unter anderem Reichweite, Akku oder Tank, Verriegelung, Ladeinformationen und ausgewählte Fenster-/Türzustände. Nicht eingerichtete Messwerte werden ausgeblendet; unbekannte Zustände bleiben unbekannt. Reifendruck und Wallboxleistung haben dokumentierte Einheitenumrechnungen. Die Wallboxleistung stammt aus einem separat gewählten Leistungs-Item deines Strommessers und wird nicht von der Bridge erzeugt.&lt;br /&gt;
&lt;br /&gt;
== Update ==&lt;br /&gt;
Sichere zuerst Konfiguration und Token-Volume. Für eine gezielte Version setze &amp;lt;code&amp;gt;BMB_VERSION&amp;lt;/code&amp;gt; in der &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; auf einen tatsächlich veröffentlichten Image-Tag ohne führendes &amp;lt;code&amp;gt;v&amp;lt;/code&amp;gt;. Danach:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker compose pull&lt;br /&gt;
docker compose up -d&lt;br /&gt;
docker compose ps&lt;br /&gt;
docker compose logs --tail=100 bmw-mqtt-bridge&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch &amp;lt;code&amp;gt;latest&amp;lt;/code&amp;gt; aktualisiert einen laufenden Container nicht von selbst. Versionstags können durch regelmäßige Basisimage-Neubauten ersetzt werden; notiere für einen exakten Rollback den Image-Digest. Bei Formatmigrationen gehört der passende Zustandsstand zum Rollback.&lt;br /&gt;
&lt;br /&gt;
== Backup und Restore ==&lt;br /&gt;
Das Volume enthält Tokens und bei Homie-Nutzung den Cache. Ein Backup des Images allein reicht nicht. Sichere zusätzlich &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;, Compose und eigene Zertifikate. Die Archive enthalten Zugangsdaten und gehören auf einen geschützten zweiten Speicherort.&lt;br /&gt;
&lt;br /&gt;
Im Compose-Verzeichnis:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
umask 077&lt;br /&gt;
mkdir -p backups&lt;br /&gt;
docker compose stop bmw-mqtt-bridge&lt;br /&gt;
docker compose run --rm --no-deps -T --entrypoint tar bmw-mqtt-bridge \&lt;br /&gt;
  -C /app/token -czf - . &amp;gt; backups/token-volume.tar.gz&lt;br /&gt;
tar -czf backups/config.tar.gz .env docker-compose.yml&lt;br /&gt;
tar -tzf backups/token-volume.tar.gz&lt;br /&gt;
docker compose start bmw-mqtt-bridge&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prüfe nach jedem Befehl den Erfolg. Ein fehlgeschlagener Export kann eine leere Datei hinterlassen. Eigene Zertifikatsdateien zusätzlich sichern.&lt;br /&gt;
&lt;br /&gt;
Zum Wiederherstellen zuerst die Konfiguration zurückspielen und ein &amp;#039;&amp;#039;&amp;#039;leeres&amp;#039;&amp;#039;&amp;#039; Token-Volume verwenden. Die Bridge muss gestoppt sein. Der folgende Befehl schreibt in das konfigurierte Volume:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker compose stop bmw-mqtt-bridge&lt;br /&gt;
docker compose run --rm --no-deps -T --entrypoint tar bmw-mqtt-bridge \&lt;br /&gt;
  -C /app/token -xzf - -o &amp;lt; backups/token-volume.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prüfe Inhalt und Eigentümer vor dem Start. Für einen Restore-Test ein getrenntes Compose-Projekt benutzen und keine zweite Bridge mit echten wiederhergestellten Tokens starten. Ein älteres Token-Backup kann nach einer Tokenrotation eine erneute BMW-Anmeldung erfordern. &amp;lt;code&amp;gt;docker compose down -v&amp;lt;/code&amp;gt; löscht das Volume.&lt;br /&gt;
&lt;br /&gt;
Weitere Grundlagen: [[Docker Backup und Restore - eine kleine Anleitung]].&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Problem !! Prüfen und beheben&lt;br /&gt;
|-&lt;br /&gt;
| Image lässt sich nicht laden || Existiert der Tag und ist das GHCR-Paket öffentlich? Ein Git-Tag und ein Image-Tag sind unterschiedlich: Image-Versionen haben kein führendes v.&lt;br /&gt;
|-&lt;br /&gt;
| Verbindung zum lokalen Broker fehlt || LAN-Adresse, Port, Benutzer, Passwort, Listener und ACLs prüfen. TLS wird ausdrücklich aktiviert, nicht allein durch Port 8883.&lt;br /&gt;
|-&lt;br /&gt;
| Anmeldung funktioniert, aber keine Fahrzeugdaten || CarData-Datenauswahl und BMW-Verbindung prüfen. Auf neue BMW-Nachrichten warten; die Bridge erzwingt keine neue Messung.&lt;br /&gt;
|-&lt;br /&gt;
| Keine Homie-Erkennung || BMB_MQTT_HOMIE prüfen, Container neu erstellen, homie/-ACLs und zusätzliche Homie-Verbindungslogs prüfen. Mindestens eine gültige Nachricht muss verarbeitet worden sein.&lt;br /&gt;
|-&lt;br /&gt;
| Widget leer oder zeigt — || Itemparameter und tatsächliche Rohzustände prüfen. Channels müssen mit passenden Items verknüpft sein. Zustandszuordnungen und Einheiten stehen in der Widget-Anleitung.&lt;br /&gt;
|-&lt;br /&gt;
| Konfigurationsänderung ohne Wirkung || docker compose up -d --force-recreate ausführen. Ein restart übernimmt keine neuen Umgebungsvariablen.&lt;br /&gt;
|-&lt;br /&gt;
| Unhealthy im ausführlichen Compose-Beispiel || Heartbeat und länger unterbrochene BMW-/Broker-Verbindung prüfen. Ein laufender Prozess kann unhealthy sein; Docker startet ihn dadurch nicht automatisch neu.&lt;br /&gt;
|-&lt;br /&gt;
| Tokenverzeichnis nicht beschreibbar || Rechte prüfen: Der Container läuft als UID/GID 10001:10001. Für alte root-eigene Volumes die dokumentierte Migration nach vorherigem Backup verwenden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Für eine kurze Fehlersuche kann &amp;lt;code&amp;gt;BMB_LOG_LEVEL=debug&amp;lt;/code&amp;gt; helfen. Debuglogs können Fahrzeugdaten enthalten. Vor dem Teilen Tokens, VIN, Kontokennungen und Positionen entfernen. Sicherheitslücken über den privaten Meldekanal im Repository melden.&lt;br /&gt;
&lt;br /&gt;
== Quellen und weiterführende Anleitungen ==&lt;br /&gt;
* [https://github.com/alaub81/bmw-mqtt-bridge BMW MQTT Bridge auf GitHub]&lt;br /&gt;
* [https://github.com/alaub81/bmw-mqtt-bridge/blob/main/docs/configuration.md Konfiguration und MQTT-Ausgaben]&lt;br /&gt;
* [https://github.com/alaub81/bmw-mqtt-bridge/blob/main/docs/operations.md Betrieb und Diagnosewerkzeuge]&lt;br /&gt;
* [https://github.com/alaub81/bmw-mqtt-bridge/tree/main/openHAB Widget-Anleitungen und Importe]&lt;br /&gt;
* [https://www.openhab.org/addons/bindings/homie/ openHAB Homie Binding]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Docker]]&lt;br /&gt;
[[Kategorie:MQTT]]&lt;br /&gt;
[[Kategorie:OpenHAB]]&lt;br /&gt;
[[Kategorie:SmartHome]]&lt;/div&gt;</description>
			<pubDate>Sat, 07 Nov 2026 12:42:17 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Diskussion:BMW_MQTT_Bridge_mit_Docker:_CarData_in_openHAB_einbinden</comments>
		</item>
		<item>
			<title>SMA MQTT Bridge: Wechselrichter und eCharger in openHAB integrieren</title>
			<link>https://lhlab.wiki/index.php?title=SMA_MQTT_Bridge:_Wechselrichter_und_eCharger_in_openHAB_integrieren&amp;diff=10508&amp;oldid=10506</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=SMA_MQTT_Bridge:_Wechselrichter_und_eCharger_in_openHAB_integrieren&amp;diff=10508&amp;oldid=10506</guid>
			<description>&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 7. November 2026, 13:22 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Datei:Sma-mqtt-bridge-artikelbild.png|rechts|rahmenlos|400x400px]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Mit der SMA MQTT Bridge integrierst du Wechselrichter, Home Manager, eCharger und BYD-Speicher per MQTT in openHAB – mit einfachem Docker-Setup.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Mit der SMA MQTT Bridge integrierst du Wechselrichter, Home Manager, eCharger und BYD-Speicher per MQTT in openHAB – mit einfachem Docker-Setup.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wiki:diff:1.41:old-10506:rev-10508:php=table --&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 07 Nov 2026 12:22:00 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Diskussion:SMA_MQTT_Bridge:_Wechselrichter_und_eCharger_in_openHAB_integrieren</comments>
		</item>
		<item>
			<title>Datei:Sma-mqtt-bridge-artikelbild.png</title>
			<link>https://lhlab.wiki/index.php?title=Datei:Sma-mqtt-bridge-artikelbild.png&amp;diff=10507&amp;oldid=0</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=Datei:Sma-mqtt-bridge-artikelbild.png&amp;diff=10507&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/wiki/Benutzer:Andreas&quot; class=&quot;mw-userlink&quot; title=&quot;Benutzer:Andreas&quot;&gt;&lt;bdi&gt;Andreas&lt;/bdi&gt;&lt;/a&gt; lud &lt;a href=&quot;/wiki/Datei:Sma-mqtt-bridge-artikelbild.png&quot; title=&quot;Datei:Sma-mqtt-bridge-artikelbild.png&quot;&gt;Datei:Sma-mqtt-bridge-artikelbild.png&lt;/a&gt; hoch&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Sma-mqtt-bridge-artikelbild&lt;/div&gt;</description>
			<pubDate>Sat, 07 Nov 2026 12:20:41 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Datei_Diskussion:Sma-mqtt-bridge-artikelbild.png</comments>
		</item>
		<item>
			<title>SMA MQTT Bridge: Wechselrichter und eCharger in openHAB integrieren</title>
			<link>https://lhlab.wiki/index.php?title=SMA_MQTT_Bridge:_Wechselrichter_und_eCharger_in_openHAB_integrieren&amp;diff=10506&amp;oldid=0</link>
			<guid isPermaLink="false">https://lhlab.wiki/index.php?title=SMA_MQTT_Bridge:_Wechselrichter_und_eCharger_in_openHAB_integrieren&amp;diff=10506&amp;oldid=0</guid>
			<description>&lt;p&gt;Die Seite wurde neu angelegt: „Mit der SMA MQTT Bridge integrierst du Wechselrichter, Home Manager, eCharger und BYD-Speicher per MQTT in openHAB – mit einfachem Docker-Setup.  Wer die Daten seiner SMA-Anlage im eigenen Smart Home verwenden möchte, braucht vor allem eines: eine zuverlässige Verbindung zwischen den Geräten und der Hausautomation. Genau dafür ist die SMA MQTT Bridge gedacht. Sie liest Messwerte und ausgewählte Einstellungen aus und veröffentlicht sie über MQTT.…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Mit der SMA MQTT Bridge integrierst du Wechselrichter, Home Manager, eCharger und BYD-Speicher per MQTT in openHAB – mit einfachem Docker-Setup.&lt;br /&gt;
&lt;br /&gt;
Wer die Daten seiner SMA-Anlage im eigenen Smart Home verwenden möchte, braucht vor allem eines: eine zuverlässige Verbindung zwischen den Geräten und der Hausautomation. Genau dafür ist die SMA MQTT Bridge gedacht. Sie liest Messwerte und ausgewählte Einstellungen aus und veröffentlicht sie über MQTT.&lt;br /&gt;
&lt;br /&gt;
Die Bridge läuft als einzelner Docker-Service, beispielsweise auf einem Raspberry Pi oder einem Linux-Server. Durch die Homie-Konvention kann openHAB die bereitgestellten Geräte automatisch entdecken. Passende Widgets für Energiefluss, Tageswerte und die Wallbox sind ebenfalls im Repository enthalten.&lt;br /&gt;
&lt;br /&gt;
Das Projekt findet ihr hier:&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge SMA MQTT Bridge auf GitHub]&lt;br /&gt;
&lt;br /&gt;
== Was macht die SMA MQTT Bridge? ==&lt;br /&gt;
&lt;br /&gt;
Die Bridge verbindet mehrere Datenquellen mit einem vorhandenen MQTT-Broker. Je nach angeschlossenen Geräten stehen unter anderem folgende Informationen zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PV-Anlage:&amp;#039;&amp;#039;&amp;#039; aktuelle Leistung, Ertrag und weitere Wechselrichterdaten.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Batteriespeicher:&amp;#039;&amp;#039;&amp;#039; Ladezustand, Lade- und Entladeleistung sowie Energiezähler.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Sunny Home Manager:&amp;#039;&amp;#039;&amp;#039; Netzbezug, Einspeisung und abhängig vom gewählten Zugriff weitere Messwerte.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;SMA eCharger:&amp;#039;&amp;#039;&amp;#039; Ladeleistung, Fahrzeugstatus, Sitzungsenergie und Ladeeinstellungen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;BYD Battery-Box:&amp;#039;&amp;#039;&amp;#039; optional direkte Batteriedaten sowie zusätzliche Zell-, Temperatur- und Diagnosedaten.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Anlagenberechnungen:&amp;#039;&amp;#039;&amp;#039; optional Hausverbrauch, Tagesenergien, Stromkosten und Einspeisevergütung.&lt;br /&gt;
&lt;br /&gt;
Jede Datenquelle wird einzeln aktiviert. Für den Einstieg reicht deshalb ein einzelner unterstützter Wechselrichter. Home Manager, Wallbox und weitere Geräte können später ergänzt werden.&lt;br /&gt;
&lt;br /&gt;
Die Geräteanbindung erfolgt überwiegend lokal. Für den Mindest-PV-Anteil des eChargers gibt es zusätzlich eine optionale Anbindung an Sunny Portal ennexOS. Dieser Portalzugriff wird separat eingerichtet.&lt;br /&gt;
&lt;br /&gt;
== Unterstützte Geräte ==&lt;br /&gt;
&lt;br /&gt;
Für folgende Geräte sind Profile beziehungsweise Adapter enthalten:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Gerät&lt;br /&gt;
! Modell / Umfang&lt;br /&gt;
! Verbindung&lt;br /&gt;
|-&lt;br /&gt;
| Sunny Tripower 8.0&lt;br /&gt;
| STP8.0-3AV-40&lt;br /&gt;
| Modbus TCP&lt;br /&gt;
|-&lt;br /&gt;
| Sunny Boy Storage 3.7&lt;br /&gt;
| SBS3.7-10&lt;br /&gt;
| Modbus TCP&lt;br /&gt;
|-&lt;br /&gt;
| Sunny Boy 4.0&lt;br /&gt;
| SB4.0-1AV-41&lt;br /&gt;
| Modbus TCP&lt;br /&gt;
|-&lt;br /&gt;
| Sunny Home Manager 2.0&lt;br /&gt;
| Messwerte über Modbus TCP oder UDP&lt;br /&gt;
| Lokales Netzwerk&lt;br /&gt;
|-&lt;br /&gt;
| SMA eCharger&lt;br /&gt;
| EVC22-3AC-20&lt;br /&gt;
| Lokale HTTPS-API, optional SEMP&lt;br /&gt;
|-&lt;br /&gt;
| BYD Battery-Box Premium HVS&lt;br /&gt;
| Unterstütztes HVS-Profil mit vier Modulen&lt;br /&gt;
| Lokaler Diagnosezugriff&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wichtig:&amp;#039;&amp;#039;&amp;#039; Ein ähnlicher Modellname bedeutet nicht automatisch, dass ein Gerät kompatibel ist. Vor der Einrichtung sollten Modell, Firmware und Profil zusammenpassen. Besonders die direkte BYD-Anbindung ist an die dokumentierte Topologie und Firmware gebunden und keine allgemeine Unterstützung aller HVS- oder HVM-Systeme.&lt;br /&gt;
&lt;br /&gt;
Weitere Wechselrichter lassen sich durch verifizierte JSON-Profile ergänzen. Die Profile enthalten die benötigten Registerzuordnungen und Metadaten; Zugangsdaten und Geräteadressen gehören in die eigene Konfiguration.&lt;br /&gt;
&lt;br /&gt;
Details dazu:&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/PROFILES.md Unterstützte Profile und eigene Profile]&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/BYD.md Voraussetzungen der BYD-Anbindung]&lt;br /&gt;
&lt;br /&gt;
== Architektur kurz erklärt ==&lt;br /&gt;
&lt;br /&gt;
Der Weg der Daten sieht so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SMA Wechselrichter ─┐&lt;br /&gt;
Home Manager ───────┤&lt;br /&gt;
SMA eCharger ───────┼── SMA MQTT Bridge ── MQTT-Broker ── openHAB&lt;br /&gt;
BYD Battery-Box ────┘&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Bridge veröffentlicht die Daten nach &amp;#039;&amp;#039;&amp;#039;Homie 4&amp;#039;&amp;#039;&amp;#039;. Damit werden neben den Messwerten auch Informationen wie Bezeichnungen, Datentypen und Einheiten über MQTT bereitgestellt.&lt;br /&gt;
&lt;br /&gt;
openHAB kann daraus Geräte und Channels erkennen. Anschließend werden die gewünschten Channels mit eigenen Items verknüpft.&lt;br /&gt;
&lt;br /&gt;
Ein MQTT-Broker und eine eigene Weboberfläche sind im Bridge-Container nicht enthalten. Für die Anzeige verwenden wir in dieser Anleitung openHAB. Andere MQTT-Anwendungen können die Topics ebenfalls nutzen.&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
&lt;br /&gt;
Für die Einrichtung benötigen wir:&lt;br /&gt;
&lt;br /&gt;
* Einen Linux-Host mit Docker und &amp;#039;&amp;#039;&amp;#039;Docker Compose ab Version 2.24&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* Git zum Herunterladen des Repositorys.&lt;br /&gt;
* Einen erreichbaren MQTT-Broker, beispielsweise Mosquitto.&lt;br /&gt;
* Mindestens ein unterstütztes Gerät mit aktivierter benötigter Schnittstelle.&lt;br /&gt;
* Für die mitgelieferten dateibasierten Widgets: &amp;#039;&amp;#039;&amp;#039;openHAB ab Version 5.2&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Die veröffentlichten Docker-Images unterstützen &amp;#039;&amp;#039;&amp;#039;amd64&amp;#039;&amp;#039;&amp;#039; und &amp;#039;&amp;#039;&amp;#039;arm64&amp;#039;&amp;#039;&amp;#039;. Damit kann derselbe Imagename auf einem üblichen x86-Server und einem Raspberry Pi mit 64-Bit-System verwendet werden.&lt;br /&gt;
&lt;br /&gt;
Bei Wechselrichtern muss Modbus TCP gegebenenfalls zuerst in der Gerätekonfiguration aktiviert werden. Die Bridge übernimmt diese Freischaltung nicht.&lt;br /&gt;
&lt;br /&gt;
== Installation mit Docker Compose ==&lt;br /&gt;
&lt;br /&gt;
Für den ersten Start richten wir zunächst einen Wechselrichter ein. Sobald dessen Werte ankommen, lassen sich weitere Geräte ergänzen.&lt;br /&gt;
&lt;br /&gt;
=== 1. Repository herunterladen ===&lt;br /&gt;
&lt;br /&gt;
In einem Verzeichnis eurer Wahl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git clone https://github.com/alaub81/sma-mqtt-bridge.git&lt;br /&gt;
cd sma-mqtt-bridge&lt;br /&gt;
&lt;br /&gt;
mkdir -p data/sma-mqtt-bridge&lt;br /&gt;
touch smab.env&lt;br /&gt;
chmod 600 smab.env&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Datei &amp;lt;code&amp;gt;smab.env&amp;lt;/code&amp;gt; enthält unsere Einstellungen und Zugangsdaten. Sie liegt direkt neben den Compose-Dateien und bleibt lokal.&lt;br /&gt;
&lt;br /&gt;
Für einen normalen Start ist keine zusätzliche JSON-Konfiguration notwendig. Alle verfügbaren Einstellungen sind in &amp;lt;code&amp;gt;smab.example.env&amp;lt;/code&amp;gt; beschrieben. Diese Datei dient als Nachschlagewerk; für den Einstieg müssen nicht sämtliche Optionen übernommen werden.&lt;br /&gt;
&lt;br /&gt;
=== 2. MQTT und Wechselrichter konfigurieren ===&lt;br /&gt;
&lt;br /&gt;
Die Datei &amp;lt;code&amp;gt;smab.env&amp;lt;/code&amp;gt; mit einem Texteditor öffnen und folgende Einstellungen eintragen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
SMAB_MQTT_HOST=mqtt.example.invalid&lt;br /&gt;
&lt;br /&gt;
SMAB_INVERTER1_ENABLED=true&lt;br /&gt;
SMAB_INVERTER1_HOST=inverter.example.invalid&lt;br /&gt;
SMAB_INVERTER1_PROFILE=sma-stp8-0-3av-40&lt;br /&gt;
&lt;br /&gt;
SMAB_LANGUAGE=de&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Beispieladressen müssen durch die eigenen Hostnamen oder IP-Adressen ersetzt werden. Das Profil im Beispiel gehört zum &amp;#039;&amp;#039;&amp;#039;Sunny Tripower STP8.0-3AV-40&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Für die drei mitgelieferten Wechselrichterprofile stehen folgende IDs zur Verfügung:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Modell&lt;br /&gt;
! Profil-ID&lt;br /&gt;
|-&lt;br /&gt;
| STP8.0-3AV-40&lt;br /&gt;
| &amp;lt;code&amp;gt;sma-stp8-0-3av-40&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| SBS3.7-10&lt;br /&gt;
| &amp;lt;code&amp;gt;sma-sbs3-7-10&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| SB4.0-1AV-41&lt;br /&gt;
| &amp;lt;code&amp;gt;sma-sb4-0-1av-41&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mit &amp;lt;code&amp;gt;SMAB_LANGUAGE=de&amp;lt;/code&amp;gt; werden die bereitgestellten Geräte- und Messwertbezeichnungen auf Deutsch veröffentlicht.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Wichtig bei MQTT:&amp;#039;&amp;#039;&amp;#039; Standardmäßig verwendet die Bridge TLS auf Port &amp;#039;&amp;#039;&amp;#039;8883&amp;#039;&amp;#039;&amp;#039; mit Zertifikatsprüfung.&lt;br /&gt;
&lt;br /&gt;
Wenn euer Broker ausdrücklich ohne TLS auf Port 1883 betrieben wird, müssen zusätzlich beide Einstellungen gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
SMAB_MQTT_TLS=false&lt;br /&gt;
SMAB_MQTT_PORT=1883&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Falls der Broker eine Anmeldung verlangt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
SMAB_MQTT_USERNAME=bridge-user&lt;br /&gt;
SMAB_MQTT_PASSWORD=&amp;#039;PASSWORT_EINTRAGEN&amp;#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Einfache Anführungszeichen erhalten auch Sonderzeichen wie &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; im Passwort.&lt;br /&gt;
&lt;br /&gt;
Bei einer privaten Zertifizierungsstelle wird das vertrauenswürdige CA-Zertifikat unter &amp;lt;code&amp;gt;data/sma-mqtt-bridge/certificates/&amp;lt;/code&amp;gt; abgelegt und über &amp;lt;code&amp;gt;SMAB_MQTT_TLS_CA_FILE&amp;lt;/code&amp;gt; ausgewählt. Die genaue Einrichtung steht in der [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/WIKI_QUICKSTART.md Installationsanleitung].&lt;br /&gt;
&lt;br /&gt;
Der Broker muss aus dem Container erreichbar sein. &amp;lt;code&amp;gt;localhost&amp;lt;/code&amp;gt; bezeichnet dort den Bridge-Container selbst. Läuft Mosquitto in einem anderen Docker-Container, benötigt die Verbindung beispielsweise ein gemeinsames Docker-Netzwerk oder einen erreichbaren Zugang über den Host.&lt;br /&gt;
&lt;br /&gt;
=== 3. Image laden und Konfiguration prüfen ===&lt;br /&gt;
&lt;br /&gt;
Wir verwenden die Compose-Datei für das veröffentlichte Image. Ein eigener Build ist dafür nicht notwendig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker compose -f compose.example.yml pull&lt;br /&gt;
&lt;br /&gt;
docker compose -f compose.example.yml run --rm --no-deps \&lt;br /&gt;
  sma-mqtt-bridge --check-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für unser Beispiel mit einem aktivierten Wechselrichter sollte die Prüfung sinngemäß Folgendes ausgeben:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
{&amp;quot;valid&amp;quot;: true, &amp;quot;enabledSources&amp;quot;: 1, &amp;quot;readOnly&amp;quot;: true}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Prüfung kontrolliert Einstellungen und benötigte lokale Dateien. Dabei wird noch keine Verbindung zum Wechselrichter oder MQTT-Broker aufgebaut.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;enabledSources: 0&amp;lt;/code&amp;gt; bedeutet, dass keine Datenquelle aktiviert ist. Eine eingetragene IP-Adresse allein reicht dafür nicht aus; die zugehörige &amp;lt;code&amp;gt;ENABLED&amp;lt;/code&amp;gt;-Einstellung muss ebenfalls gesetzt sein.&lt;br /&gt;
&lt;br /&gt;
=== 4. Container starten und Werte kontrollieren ===&lt;br /&gt;
&lt;br /&gt;
Nach erfolgreicher Prüfung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker compose -f compose.example.yml up -d&lt;br /&gt;
&lt;br /&gt;
docker compose -f compose.example.yml ps sma-mqtt-bridge&lt;br /&gt;
&lt;br /&gt;
docker compose -f compose.example.yml logs --tail=100 sma-mqtt-bridge&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für die ersten Abfragen etwas Zeit einplanen. Anschließend lassen sich die MQTT-Nachrichten beispielsweise mit einem MQTT-Viewer kontrollieren.&lt;br /&gt;
&lt;br /&gt;
Der erste Wechselrichter verwendet standardmäßig diesen Topic-Bereich:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
homie/sma-inverter1/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Darunter befinden sich Homie-Metadaten, der Gerätezustand und die Messwerte.&lt;br /&gt;
&lt;br /&gt;
Ein laufender oder als &amp;lt;code&amp;gt;healthy&amp;lt;/code&amp;gt; gemeldeter Container allein bestätigt noch keine aktuellen Gerätedaten. Deshalb immer auch Logs, Quellenstatus und tatsächliche Messwerte prüfen.&lt;br /&gt;
&lt;br /&gt;
== Weitere Geräte ergänzen ==&lt;br /&gt;
&lt;br /&gt;
Die folgenden Einstellungen werden ebenfalls in &amp;lt;code&amp;gt;smab.env&amp;lt;/code&amp;gt; ergänzt. Anschließend die Konfiguration erneut prüfen und den Container mit &amp;lt;code&amp;gt;up -d&amp;lt;/code&amp;gt; übernehmen. Ein einfacher Container-Neustart lädt geänderte Umgebungsvariablen nicht neu.&lt;br /&gt;
&lt;br /&gt;
=== Weitere Wechselrichter ===&lt;br /&gt;
&lt;br /&gt;
Für zusätzliche Wechselrichter wird der jeweilige Block mit einer anderen Nummer wiederholt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
SMAB_INVERTER2_ENABLED=true&lt;br /&gt;
SMAB_INVERTER2_HOST=storage.example.invalid&lt;br /&gt;
SMAB_INVERTER2_PROFILE=sma-sbs3-7-10&lt;br /&gt;
&lt;br /&gt;
SMAB_INVERTER3_ENABLED=true&lt;br /&gt;
SMAB_INVERTER3_HOST=solar.example.invalid&lt;br /&gt;
SMAB_INVERTER3_PROFILE=sma-sb4-0-1av-41&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Nummer legt das Modell nicht fest. Entscheidend ist das ausgewählte Profil. Dasselbe passende Profil kann auch für mehrere Geräte verwendet werden.&lt;br /&gt;
&lt;br /&gt;
=== Sunny Home Manager 2.0 ===&lt;br /&gt;
&lt;br /&gt;
Für die standardmäßige Modbus-TCP-Anbindung:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
SMAB_HOME_MANAGER_ENABLED=true&lt;br /&gt;
SMAB_HOME_MANAGER_HOST=home-manager.example.invalid&lt;br /&gt;
SMAB_HOME_MANAGER_SERIAL=DEINE_NUMERISCHE_SERIENNUMMER&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adresse und Seriennummer durch die tatsächlichen Werte ersetzen. Die Seriennummer wird zur Gerätezuordnung benötigt.&lt;br /&gt;
&lt;br /&gt;
Alternativ können UDP-Metertelegramme verwendet werden. Auch zusätzliche Phasenmesswerte neben Modbus sind möglich. Dafür müssen Netzwerk und Multicast-Empfang passen; für Linux enthält das Repository die separate Vorlage &amp;lt;code&amp;gt;compose.host.example.yml&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Varianten sind in der [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/HOME_MANAGER_MODBUS.md Home-Manager-Anleitung] beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== SMA eCharger ===&lt;br /&gt;
&lt;br /&gt;
Für die lokale API werden der lokale Benutzer und das lokale Passwort der Wallbox benötigt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
SMAB_ECHARGER_ENABLED=true&lt;br /&gt;
SMAB_ECHARGER_HOST=echarger.example.invalid&lt;br /&gt;
SMAB_ECHARGER_USERNAME=LOKALER_BENUTZER&lt;br /&gt;
SMAB_ECHARGER_PASSWORD=&amp;#039;LOKALES_PASSWORT&amp;#039;&lt;br /&gt;
SMAB_ECHARGER_EXPECTED_SERIAL=DEINE_WALLBOX_SERIENNUMMER&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die lokalen Zugangsdaten sind unabhängig vom Sunny-Portal-Konto.&lt;br /&gt;
&lt;br /&gt;
Auch hier ist die TLS-Prüfung standardmäßig aktiv. Wenn das Wallbox-Zertifikat nicht bereits vertrauenswürdig ist, muss ein passendes vertrauenswürdiges Zertifikat beziehungsweise CA-Zertifikat eingebunden werden. Zertifikat und verwendeter Hostname müssen zusammenpassen.&lt;br /&gt;
&lt;br /&gt;
SEMP und der optionale ennexOS-Portalzugriff werden separat aktiviert. Die vollständigen Einstellungen stehen in der [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/CONFIGURATION.md Konfigurationsreferenz].&lt;br /&gt;
&lt;br /&gt;
=== BYD Battery-Box ===&lt;br /&gt;
&lt;br /&gt;
Die direkte BYD-Anbindung ergänzt die Messwerte des SMA-Batteriewechselrichters um eigene Batterieinformationen.&lt;br /&gt;
&lt;br /&gt;
Vor der Aktivierung unbedingt die [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/BYD.md BYD-Anleitung] prüfen. Das mitgelieferte Profil gilt für das dort beschriebene HVS-System mit vier Modulen und den passenden Firmwareständen.&lt;br /&gt;
&lt;br /&gt;
Die BYD-Anbindung ist optional und ersetzt nicht die bisherigen SMA-Batteriewerte oder die Anlagenberechnung.&lt;br /&gt;
&lt;br /&gt;
== Geräte in openHAB einbinden ==&lt;br /&gt;
&lt;br /&gt;
Sobald die Bridge Daten veröffentlicht, kann openHAB die Homie-Geräte entdecken:&lt;br /&gt;
&lt;br /&gt;
# Das &amp;#039;&amp;#039;&amp;#039;MQTT-Binding&amp;#039;&amp;#039;&amp;#039; installieren und ein MQTT-Broker-Thing einrichten oder das vorhandene verwenden.&lt;br /&gt;
# Prüfen, ob das Broker-Thing verbunden ist.&lt;br /&gt;
# In der Inbox einen Scan des MQTT-Bindings starten.&lt;br /&gt;
# Die gefundenen Homie-Geräte dem passenden Broker zuordnen und hinzufügen.&lt;br /&gt;
# Unter den Channels die gewünschten Messwerte mit eigenen Items verknüpfen.&lt;br /&gt;
&lt;br /&gt;
Für Leistungswerte eignet sich &amp;lt;code&amp;gt;Number:Power&amp;lt;/code&amp;gt;, für Energie &amp;lt;code&amp;gt;Number:Energy&amp;lt;/code&amp;gt;. Die Einheiten liefert die Bridge mit. Zusätzliche Umrechnungen sind nur erforderlich, wenn die eigene weitere Verarbeitung sie tatsächlich benötigt.&lt;br /&gt;
&lt;br /&gt;
Die Bridge und openHAB benötigen jeweils ihre eigene funktionierende Verbindung zum MQTT-Broker.&lt;br /&gt;
&lt;br /&gt;
Bei einer bestehenden Installation können vorhandene Itemnamen und deren Historie erhalten bleiben. Vor dem Umstellen eines Links die bisherigen und neuen Werte vergleichen. Eigene Regeln und Berechnungen werden durch die Geräteerkennung nicht automatisch übertragen.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen:&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/blob/main/openHAB/openHAB.md openHAB-Einrichtung im Repository]&lt;br /&gt;
* [https://www.openhab.org/addons/bindings/homie/ Offizielle openHAB-Homie-Dokumentation]&lt;br /&gt;
&lt;br /&gt;
== Fertige Widgets für die MainUI ==&lt;br /&gt;
&lt;br /&gt;
Im Repository sind Widgets für folgende Ansichten enthalten:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Live-Energiefluss:&amp;#039;&amp;#039;&amp;#039; aktuelle Leistungen von PV, Haus, Netz, Batterie und optionalen Verbrauchern.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Tagesenergieübersicht:&amp;#039;&amp;#039;&amp;#039; Tagesertrag, Verbrauch, Netzbezug und Einspeisung sowie Batterieladung und -entladung.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PV-Dachproduktion:&amp;#039;&amp;#039;&amp;#039; DC-Leistung für drei konfigurierte Modulflächen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PV-Prognose:&amp;#039;&amp;#039;&amp;#039; Tagesprognosen mit einstellbaren Ampelgrenzen.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;eCharger:&amp;#039;&amp;#039;&amp;#039; Fahrzeugstatus, Ladeleistung, Sitzungsanzeige und optional Bedienelemente.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Ladeplan:&amp;#039;&amp;#039;&amp;#039; separate Karte und Listeneintrag für Zielenergie und Endzeit.&lt;br /&gt;
&lt;br /&gt;
Die Prognose-Widgets verwenden bereits vorhandene Prognose-Items. Die Bridge berechnet keine eigene Wetter- oder PV-Prognose.&lt;br /&gt;
&lt;br /&gt;
=== Import über die MainUI ===&lt;br /&gt;
&lt;br /&gt;
Für den Einstieg können die vorbereiteten Dateien unter &amp;lt;code&amp;gt;openHAB/mainui/widgets/&amp;lt;/code&amp;gt; verwendet werden:&lt;br /&gt;
&lt;br /&gt;
# In openHAB als Administrator &amp;#039;&amp;#039;&amp;#039;Entwicklerwerkzeuge → Widgets&amp;#039;&amp;#039;&amp;#039; öffnen.&lt;br /&gt;
# Mit &amp;#039;&amp;#039;&amp;#039;+&amp;#039;&amp;#039;&amp;#039; ein neues Widget anlegen.&lt;br /&gt;
# Den vollständigen Inhalt der passenden Importdatei in den YAML-Editor übernehmen.&lt;br /&gt;
# Die mitgelieferte UID beibehalten und speichern.&lt;br /&gt;
# Das Widget einer Seite hinzufügen und in dieser Instanz die eigenen Items auswählen.&lt;br /&gt;
&lt;br /&gt;
Alternativ lassen sich die kanonischen Dateien aus &amp;lt;code&amp;gt;openHAB/yaml/widgets/&amp;lt;/code&amp;gt; unter &amp;lt;code&amp;gt;$OPENHAB_CONF/yaml/widgets/&amp;lt;/code&amp;gt; installieren. Diese Variante wird über Dateien gepflegt und ist in der MainUI schreibgeschützt.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Pro Widget-UID nur eine Installationsmethode verwenden.&amp;#039;&amp;#039;&amp;#039; Die Dateiinstallation und der manuelle Import sind zwei Varianten derselben Widgetdefinition.&lt;br /&gt;
&lt;br /&gt;
Für eine erste Ansicht kann bei den unterstützten Widgets &amp;lt;code&amp;gt;demoMode&amp;lt;/code&amp;gt; aktiviert werden. Damit werden gekennzeichnete Beispielwerte angezeigt. Für die eigenen Messwerte den Demomodus wieder ausschalten und die passenden Items auswählen.&lt;br /&gt;
&lt;br /&gt;
Das Installieren eines Widgets legt keine Items, Links oder Regeln an. Die Zuordnung erfolgt bewusst über die Widget-Einstellungen.&lt;br /&gt;
&lt;br /&gt;
Anleitungen und Beispiele:&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/blob/main/openHAB/README.md Widget-Übersicht]&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/blob/main/openHAB/mainui/README.md MainUI-Import und Aktualisierung]&lt;br /&gt;
&lt;br /&gt;
== Wallbox steuern und Ladepläne verwenden ==&lt;br /&gt;
&lt;br /&gt;
Die Bridge startet mit deaktivierten Geräte-Schreibzugriffen. Wer zunächst nur Messwerte anzeigen möchte, kann es dabei belassen.&lt;br /&gt;
&lt;br /&gt;
Für lokale eCharger-Befehle müssen zusätzlich zur aktivierten lokalen Anbindung beide Schreibfreigaben gesetzt werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
SMAB_COMMANDS_ENABLED=true&lt;br /&gt;
SMAB_ECHARGER_COMMANDS_ENABLED=true&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Damit können unterstützte Einstellungen wie Ladefreigabe, Lademodus oder maximale Ladeleistung genutzt werden. Ladepläne übertragen Zielenergie und Endzeit gemeinsam. Die Bridge prüft die Gerätevorgaben und liest Änderungen zurück, bevor sie einen bestätigten Zustand veröffentlicht.&lt;br /&gt;
&lt;br /&gt;
Der Mindest-PV-Anteil nutzt die separate Portal-Anbindung und deren eigene Freigabe.&lt;br /&gt;
&lt;br /&gt;
Im eCharger-Widget werden Bedienelemente zusätzlich über &amp;lt;code&amp;gt;enableControls&amp;lt;/code&amp;gt; freigegeben. Schreibbare openHAB-Items sollten &amp;lt;code&amp;gt;autoupdate=false&amp;lt;/code&amp;gt; verwenden, damit eine Bedienung nicht bereits als bestätigte Geräteänderung erscheint.&lt;br /&gt;
&lt;br /&gt;
Der Sunny Home Manager bleibt für die Laderegelung zuständig. Die Bridge ermöglicht die dokumentierten Einstellungen und stellt Messwerte bereit.&lt;br /&gt;
&lt;br /&gt;
== Anlagenwerte und Tagesbilanzen ==&lt;br /&gt;
&lt;br /&gt;
Die optionale Anlagenberechnung kann mehrere Quellen zusammenführen. Dazu gehören beispielsweise Hausverbrauch, täglicher Netzbezug, Einspeisung und getrennte Tageswerte für Batterieladung und -entladung.&lt;br /&gt;
&lt;br /&gt;
Dafür müssen die beteiligten Quellen und ihre Rollen passend konfiguriert sein. Die Einrichtung ist in der [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/PLANT.md Anleitung zur Anlagenberechnung] beschrieben.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Bei Tageswerten beachten:&amp;#039;&amp;#039;&amp;#039; Nach der ersten Einrichtung beginnen einige Zählerdifferenzen mit der ersten gespeicherten Ausgangsmessung. Der erste Tag kann deshalb nur einen Teil des Tages abdecken. Der zugehörige Abdeckungsstatus hilft, diese Werte einzuordnen.&lt;br /&gt;
&lt;br /&gt;
Die Tagesübersicht zeigt die bereitgestellten Energiewerte an. Sie berechnet keine eigenen Tagesdifferenzen aus Gesamtzählern.&lt;br /&gt;
&lt;br /&gt;
== Updates und Backup ==&lt;br /&gt;
&lt;br /&gt;
Die Beispiel-Compose-Datei verwendet standardmäßig das veröffentlichte Image mit dem Tag &amp;lt;code&amp;gt;latest&amp;lt;/code&amp;gt;. Wer eine bestimmte Version festhalten möchte, kann &amp;lt;code&amp;gt;SMAB_BRIDGE_VERSION&amp;lt;/code&amp;gt; in der optionalen root-Datei &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt; setzen. Die Geräte- und MQTT-Einstellungen bleiben in &amp;lt;code&amp;gt;smab.env&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Vor einem Update sollten mindestens folgende Daten gesichert werden:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;smab.env&amp;lt;/code&amp;gt; und gegebenenfalls &amp;lt;code&amp;gt;.env&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Eigene Konfiguration, Profile und Zertifikate unter &amp;lt;code&amp;gt;data/sma-mqtt-bridge/&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Das persistente Zustandsvolume &amp;lt;code&amp;gt;data_smab_state&amp;lt;/code&amp;gt;; Docker stellt dem tatsächlichen Volumenamen normalerweise den Compose-Projektnamen voran.&lt;br /&gt;
&lt;br /&gt;
Im Zustandsvolume liegen unter anderem gespeicherte Ausgangswerte für Energiebilanzen und die Verwaltung bereits veröffentlichter MQTT-Topics. Es sollte beim Austausch des Containers erhalten bleiben.&lt;br /&gt;
&lt;br /&gt;
Das normale Update erfolgt im bisherigen Projektverzeichnis:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
git pull --ff-only&lt;br /&gt;
&lt;br /&gt;
docker compose -f compose.example.yml pull&lt;br /&gt;
&lt;br /&gt;
docker compose -f compose.example.yml run --rm --no-deps \&lt;br /&gt;
  sma-mqtt-bridge --check-config&lt;br /&gt;
&lt;br /&gt;
docker compose -f compose.example.yml up -d&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vor dem Start die Versionshinweise lesen und die erfolgreiche Konfigurationsprüfung abwarten. Bei fest eingestelltem Image-Tag muss dieser für einen Versionswechsel entsprechend angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Compose-Projektname und Zustandsvolume beibehalten. &amp;lt;code&amp;gt;docker compose down -v&amp;lt;/code&amp;gt; würde die zugehörigen benannten Volumes löschen.&lt;br /&gt;
&lt;br /&gt;
Details:&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/UPDATING.md Updates und Sicherung der Bridge]&lt;br /&gt;
* [[Docker Backup und Restore - eine kleine Anleitung]]&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Problem&lt;br /&gt;
! Was prüfen?&lt;br /&gt;
|-&lt;br /&gt;
| Der Container startet nicht.&lt;br /&gt;
| Zuerst &amp;lt;code&amp;gt;--check-config&amp;lt;/code&amp;gt; und anschließend die Container-Logs prüfen. Häufig fehlen Pflichtangaben einer aktivierten Quelle.&lt;br /&gt;
|-&lt;br /&gt;
| Keine Verbindung zum MQTT-Broker.&lt;br /&gt;
| Adresse aus Sicht des Containers, Port, TLS-Einstellung, Zertifikate und Zugangsdaten kontrollieren.&lt;br /&gt;
|-&lt;br /&gt;
| Keine Wechselrichterwerte.&lt;br /&gt;
| Passendes Modellprofil, Geräteadresse und aktivierte Modbus-Schnittstelle prüfen. Eine Adresse allein aktiviert den Adapter nicht.&lt;br /&gt;
|-&lt;br /&gt;
| openHAB findet keine Geräte.&lt;br /&gt;
| Prüfen, ob die Bridge tatsächlich unter &amp;lt;code&amp;gt;homie/&amp;lt;/code&amp;gt; veröffentlicht und openHAB denselben Broker sowie den passenden Homie-Präfix verwendet.&lt;br /&gt;
|-&lt;br /&gt;
| Ein Widget zeigt nur Striche.&lt;br /&gt;
| Item-Zuordnung, Itemzustand und Einheit prüfen. Tagesenergie benötigt Energie-Items, keine Leistungswerte oder Gesamtzähler.&lt;br /&gt;
|-&lt;br /&gt;
| Das Widget zeigt weiterhin Beispielwerte.&lt;br /&gt;
| &amp;lt;code&amp;gt;demoMode&amp;lt;/code&amp;gt; in der verwendeten Seiteninstanz ausschalten.&lt;br /&gt;
|-&lt;br /&gt;
| Änderungen an &amp;lt;code&amp;gt;smab.env&amp;lt;/code&amp;gt; greifen nicht.&lt;br /&gt;
| Die Konfiguration erneut prüfen und den Container mit derselben Compose-Datei über &amp;lt;code&amp;gt;up -d&amp;lt;/code&amp;gt; neu erstellen lassen.&lt;br /&gt;
|-&lt;br /&gt;
| Home-Manager-Phasenwerte fehlen.&lt;br /&gt;
| UDP-Konfiguration, Seriennummer, Netzwerkmodus und Multicast-Erreichbarkeit prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Ausführlichere Hinweise stehen in der [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/OPERATIONS.md Betriebs- und Fehlerbehebungsanleitung].&lt;br /&gt;
&lt;br /&gt;
== Weiterführende Links ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge GitHub-Repository]&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/WIKI_QUICKSTART.md Schrittweise Docker-Einrichtung]&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/blob/main/smab.example.env Alle Konfigurationsoptionen]&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/blob/main/docs/WERTEKATALOG.md MQTT-Wertekatalog]&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/blob/main/openHAB/README.md openHAB-Widgets und Anleitungen]&lt;br /&gt;
* [https://github.com/alaub81/sma-mqtt-bridge/releases Releases und Versionshinweise]&lt;br /&gt;
* [https://www.openhab.org/addons/bindings/homie/ openHAB Homie Convention]&lt;br /&gt;
* [https://www.openhab.org/docs/configuration/yaml/widgets.html openHAB YAML-Widgets]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:SMA]]&lt;br /&gt;
[[Kategorie:Photovoltaik]]&lt;br /&gt;
[[Kategorie:MQTT]]&lt;br /&gt;
[[Kategorie:OpenHAB]]&lt;br /&gt;
[[Kategorie:Docker]]&lt;br /&gt;
[[Kategorie:Docker Compose]]&lt;br /&gt;
[[Kategorie:SmartHome]]&lt;/div&gt;</description>
			<pubDate>Sat, 07 Nov 2026 12:17:19 GMT</pubDate>
			<dc:creator>Andreas</dc:creator>
			<comments>https://lhlab.wiki/wiki/Diskussion:SMA_MQTT_Bridge:_Wechselrichter_und_eCharger_in_openHAB_integrieren</comments>
		</item>
</channel></rss>