<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/index.php?action=history&amp;feed=atom&amp;title=Matrix</id>
	<title>Matrix - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/index.php?action=history&amp;feed=atom&amp;title=Matrix"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Matrix&amp;action=history"/>
	<updated>2026-04-23T17:03:09Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in FHEMWiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40180&amp;oldid=prev</id>
		<title>Torxgewinde: /* Matrix per Device */</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40180&amp;oldid=prev"/>
		<updated>2025-05-24T17:07:31Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Matrix per Device&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&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 24. Mai 2025, 19:07 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-l9&quot;&gt;Zeile 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 9:&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;=== Matrix per Device ===&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;=== Matrix per Device ===&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;Es gibt ein Device für Matrix unter https://git.cooltux.net/FHEM/mod-matrix bzw https://github.com/Man-fred/matrix&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;Es gibt ein Device für Matrix unter https://git.cooltux.net/FHEM/mod-matrix bzw https://github.com/Man-fred/matrix&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;==== Einrichten ====&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;Das Device ist nicht im FHEM Umfang enthalten und wird deswegen mit den folgenden Befehlen hinzugefü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;&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;&amp;lt;code&amp;gt;update add &amp;lt;nowiki&amp;gt;https://git.cooltux.net/FHEM/mod-matrix/raw/branch/dev/controls_Matrix.txt&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;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;&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;&amp;lt;code&amp;gt;update&amp;lt;/code&amp;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;&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;&amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;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;&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;==== Weiteres ====&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;https://forum.fhem.de/index.php?topic=129978.0&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;=== Matrix per HTTPMOD Device ===&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;=== Matrix per HTTPMOD Device ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key c1fhemwiki:diff:1.41:old-40179:rev-40180:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Torxgewinde</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40179&amp;oldid=prev</id>
		<title>Torxgewinde: /* Matrix per Device */</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40179&amp;oldid=prev"/>
		<updated>2025-05-24T16:57:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Matrix per Device&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&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 24. Mai 2025, 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-l8&quot;&gt;Zeile 8:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 8:&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;=== Matrix per Device ===&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;=== Matrix per Device ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&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: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Es gibt ein Device für Matrix unter https://git.cooltux.net/FHEM/mod-matrix&lt;/div&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;Es gibt ein Device für Matrix unter https://git.cooltux.net/FHEM/mod-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;matrix bzw https://github.com/Man-fred/&lt;/ins&gt;matrix&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;=== Matrix per HTTPMOD Device ===&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;=== Matrix per HTTPMOD Device ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key c1fhemwiki:diff:1.41:old-40176:rev-40179:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Torxgewinde</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40176&amp;oldid=prev</id>
		<title>Torxgewinde: Cooltux Device auch mit aufgeführt, Screenshot ergänzt</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40176&amp;oldid=prev"/>
		<updated>2025-05-24T09:32:15Z</updated>

		<summary type="html">&lt;p&gt;Cooltux Device auch mit aufgeführt, Screenshot ergänzt&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&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 24. Mai 2025, 11:32 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-l6&quot;&gt;Zeile 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 6:&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;== Matrix und FHEM ==&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;== Matrix und FHEM ==&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;Um mit &amp;#039;&amp;#039;&amp;#039;FHEM&amp;#039;&amp;#039;&amp;#039; Nachrichten über das Matrix-Protokoll zu senden und zu empfangen, stehen mehrere Möglichkeiten zur Verfügung. Eine einfache und pragmatische Lösung ist die Nutzung eines &amp;#039;&amp;#039;&amp;#039;HTTPMOD-Devices&amp;#039;&amp;#039;&amp;#039;. Damit lassen sich Nachrichten über die Matrix-API versenden oder empfangen.&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;Um mit &amp;#039;&amp;#039;&amp;#039;FHEM&amp;#039;&amp;#039;&amp;#039; Nachrichten über das Matrix-Protokoll zu senden und zu empfangen, stehen mehrere Möglichkeiten zur Verfügung. Eine einfache und pragmatische Lösung ist die Nutzung eines &amp;#039;&amp;#039;&amp;#039;HTTPMOD-Devices&amp;#039;&amp;#039;&amp;#039;. Damit lassen sich Nachrichten über die Matrix-API versenden oder empfangen.&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;=== Matrix per Device ===&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;Es gibt ein Device für Matrix unter https://git.cooltux.net/FHEM/mod-matrix&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;=== Matrix per HTTPMOD Device ===&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;=== Matrix per HTTPMOD Device ===&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:Screenshot des Matrix HTTPMOD Device.png|alternativtext=Screenshot des Matrix HTTPMOD Device|ohne|mini|Screenshot des Matrix HTTPMOD Device]]&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;Folgendes Device kann Matrix Nachrichten senden und empfangen, es hat wenige Abhängigkeiten und sollte in den meisten FHEM Installationen unkompliziert eingerichtet sein. Es wird die Datenübertragung von FHEM zum Server mit HTTPS verschlüsselt, E2EE wird nicht verwendet.&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;Folgendes Device kann Matrix Nachrichten senden und empfangen, es hat wenige Abhängigkeiten und sollte in den meisten FHEM Installationen unkompliziert eingerichtet sein. Es wird die Datenübertragung von FHEM zum Server mit HTTPS verschlüsselt, E2EE wird nicht verwendet.&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 c1fhemwiki:diff:1.41:old-40174:rev-40176:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Torxgewinde</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40174&amp;oldid=prev</id>
		<title>Torxgewinde: /* Einrichtung */</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40174&amp;oldid=prev"/>
		<updated>2025-05-24T08:46:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einrichtung&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&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 24. Mai 2025, 10: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-l21&quot;&gt;Zeile 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 21:&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;&amp;lt;code&amp;gt;set MatrixBot storeKeyValue MatrixPassword yourPassword123&amp;lt;/code&amp;gt;&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;&amp;lt;code&amp;gt;set MatrixBot storeKeyValue MatrixPassword yourPassword123&amp;lt;/code&amp;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; 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: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Dann richtet man einen nicht E2E verschlüsselten Raum ein in dem der Matrix-FHEM-Account eingeladen ist. Von dem Raum benötigt man die MatrixRoomID, die man mit Element in den Raumdetails finden kann (Room Settings --&amp;gt; Advanced --&amp;gt; Internal room ID).&lt;/div&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;Dann richtet man einen&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &#039;&#039;&#039;&lt;/ins&gt;nicht E2E verschlüsselten Raum&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039; &lt;/ins&gt;ein in dem der Matrix-FHEM-Account eingeladen ist. Von dem Raum benötigt man die MatrixRoomID, die man mit Element in den Raumdetails finden kann (Room Settings --&amp;gt; Advanced --&amp;gt; Internal room ID).&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;&amp;lt;code&amp;gt;attr MatrixBot MatrixRoomID !12345678901234:example.com&amp;lt;/code&amp;gt;&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;&amp;lt;code&amp;gt;attr MatrixBot MatrixRoomID !12345678901234:example.com&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key c1fhemwiki:diff:1.41:old-40173:rev-40174:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Torxgewinde</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40173&amp;oldid=prev</id>
		<title>Torxgewinde: /* Einrichtung */</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40173&amp;oldid=prev"/>
		<updated>2025-05-24T08:44:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Einrichtung&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&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 24. Mai 2025, 10:44 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-l16&quot;&gt;Zeile 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 16:&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;&amp;lt;code&amp;gt;attr MatrixBot MatrixUser FHEM-Matrix-Username&amp;lt;/code&amp;gt;&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;&amp;lt;code&amp;gt;attr MatrixBot MatrixUser FHEM-Matrix-Username&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&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: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&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: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dann richtet man einen nicht E2E verschlüsselten Raum ein in dem der Matrix-FHEM-Account eingeladen ist. Von dem Raum benötigt man die MatrixRoomID, die man mit Element in den Raumdetails finden kann (Room Settings --&amp;gt; Advanced --&amp;gt; Internal room ID).&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&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;Das Passwort des Matrix-FHEM-Users setzt man mit dem Befehl:&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;Das Passwort des Matrix-FHEM-Users setzt man mit dem Befehl:&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;&amp;lt;code&amp;gt;set MatrixBot storeKeyValue MatrixPassword yourPassword123&amp;lt;/code&amp;gt;&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;&amp;lt;code&amp;gt;set MatrixBot storeKeyValue MatrixPassword yourPassword123&amp;lt;/code&amp;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;Dann richtet man einen nicht E2E verschlüsselten Raum ein in dem der Matrix-FHEM-Account eingeladen ist. Von dem Raum benötigt man die MatrixRoomID, die man mit Element in den Raumdetails finden kann (Room Settings --&amp;gt; Advanced --&amp;gt; Internal room ID).&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;&amp;lt;code&amp;gt;attr MatrixBot MatrixRoomID !12345678901234:example.com&amp;lt;/code&amp;gt;&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;==== Verwendung ====&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;==== Verwendung ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key c1fhemwiki:diff:1.41:old-40172:rev-40173:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Torxgewinde</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40172&amp;oldid=prev</id>
		<title>Torxgewinde: /* Weiteres */</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40172&amp;oldid=prev"/>
		<updated>2025-05-24T08:37:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Weiteres&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&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 24. Mai 2025, 10:37 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-l35&quot;&gt;Zeile 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 35:&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;==== Weiteres ====&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;==== Weiteres ====&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;===== Forumlink =====&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;https://forum.fhem.de/index.php?topic=120834.msg1339487#msg1339487&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;https://forum.fhem.de/index.php?topic=120834.msg1339487#msg1339487&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;===== Demo-Device =====&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;Das folgende DOIF-Device lauscht auf eine eingehende Nachricht die als Inhalt &quot;ping&quot; oder &quot;Ping&quot; ist und antwortet mit &quot;Pong!&quot;. Es dient als Beispiel und kann natürlich um weitere Befehle ergänzt/ersetzt werden um FHEM damit zu steuern:&amp;lt;syntaxhighlight lang=&quot;perl&quot; line=&quot;1&quot;&amp;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;defmod MatrixPing.doif DOIF ([&quot;MatrixBot:msg: .*: @.*: [Pp]ing$&quot;])\&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;  (set MatrixBot sendText Pong!)&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;attr MatrixPing.doif alias Matrix Ping/Pong&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;attr MatrixPing.doif do always&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;attr MatrixPing.doif group Meldungen&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;attr MatrixPing.doif icon homeConnect&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;&amp;lt;/syntaxhighlight&amp;gt;&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;==== Device-Definition ====&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;==== Device-Definition ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key c1fhemwiki:diff:1.41:old-40171:rev-40172:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Torxgewinde</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40171&amp;oldid=prev</id>
		<title>Torxgewinde: Matrix mit FHEM nutzen, erste Version der Seite</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Matrix&amp;diff=40171&amp;oldid=prev"/>
		<updated>2025-05-24T08:31:54Z</updated>

		<summary type="html">&lt;p&gt;Matrix mit FHEM nutzen, erste Version der Seite&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Allgemeines ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Matrix&amp;#039;&amp;#039;&amp;#039; ist ein offenes Kommunikationsprotokoll für dezentrale Echtzeitkommunikation. Es wird von zahlreichen Clients unterstützt, darunter &amp;#039;&amp;#039;&amp;#039;Element&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;Element-X&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;SchildiChat Next&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;FluffyChat&amp;#039;&amp;#039;&amp;#039; und viele weitere.&lt;br /&gt;
&lt;br /&gt;
Viele Open-Source-Projekte betreiben eigene Chaträume auf föderierten Matrix-Servern. Ein Beispiel dafür ist der &amp;#039;&amp;#039;&amp;#039;Gadgetbridge-Chat&amp;#039;&amp;#039;&amp;#039;, einer der größeren und aktiveren Räume im Matrix-Ökosystem.&lt;br /&gt;
&lt;br /&gt;
== Matrix und FHEM ==&lt;br /&gt;
Um mit &amp;#039;&amp;#039;&amp;#039;FHEM&amp;#039;&amp;#039;&amp;#039; Nachrichten über das Matrix-Protokoll zu senden und zu empfangen, stehen mehrere Möglichkeiten zur Verfügung. Eine einfache und pragmatische Lösung ist die Nutzung eines &amp;#039;&amp;#039;&amp;#039;HTTPMOD-Devices&amp;#039;&amp;#039;&amp;#039;. Damit lassen sich Nachrichten über die Matrix-API versenden oder empfangen.&lt;br /&gt;
&lt;br /&gt;
=== Matrix per HTTPMOD Device ===&lt;br /&gt;
Folgendes Device kann Matrix Nachrichten senden und empfangen, es hat wenige Abhängigkeiten und sollte in den meisten FHEM Installationen unkompliziert eingerichtet sein. Es wird die Datenübertragung von FHEM zum Server mit HTTPS verschlüsselt, E2EE wird nicht verwendet.&lt;br /&gt;
&lt;br /&gt;
==== Einrichtung ====&lt;br /&gt;
Es sind die Attribute MatrixServer und MatrixUser zu setzen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;attr MatrixBot MatrixServer Dein-Servername&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;attr MatrixBot MatrixUser FHEM-Matrix-Username&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dann richtet man einen nicht E2E verschlüsselten Raum ein in dem der Matrix-FHEM-Account eingeladen ist. Von dem Raum benötigt man die MatrixRoomID, die man mit Element in den Raumdetails finden kann (Room Settings --&amp;gt; Advanced --&amp;gt; Internal room ID).&lt;br /&gt;
&lt;br /&gt;
Das Passwort des Matrix-FHEM-Users setzt man mit dem Befehl:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;set MatrixBot storeKeyValue MatrixPassword yourPassword123&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Verwendung ====&lt;br /&gt;
Nachrichten senden geht mit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;set MatrixBot sendText Bla Bla Bla&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Longpoll von Nachrichten starten und stoppen mit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;set MatrixBot longpollCmd startTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;set MatrixBot longpollCmd stopTimer&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Weiteres ====&lt;br /&gt;
https://forum.fhem.de/index.php?topic=120834.msg1339487#msg1339487&lt;br /&gt;
&lt;br /&gt;
==== Device-Definition ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
defmod MatrixBot HTTPMOD none 0&lt;br /&gt;
attr MatrixBot userattr MatrixRoomID MatrixServer MatrixUser&lt;br /&gt;
attr MatrixBot MatrixRoomID !12345678901234:nope.chat&lt;br /&gt;
attr MatrixBot MatrixServer nope.chat&lt;br /&gt;
attr MatrixBot MatrixUser DeinUsername&lt;br /&gt;
attr MatrixBot bodyDecode utf-8&lt;br /&gt;
attr MatrixBot bodyEncode utf-8&lt;br /&gt;
attr MatrixBot comment &amp;quot;\&lt;br /&gt;
Create a room for FHEM.\&lt;br /&gt;
\&lt;br /&gt;
The room must not use encryption, a room that has encryption\&lt;br /&gt;
enabled, cannot be converted to a non-encrypted room anymore \&lt;br /&gt;
\&lt;br /&gt;
The room-id can be found in Element-Web at:\&lt;br /&gt;
Room Settings --&amp;gt; Advanced --&amp;gt; Internal room ID\&lt;br /&gt;
\&lt;br /&gt;
To store the password in FHEM in obfuscated way:\&lt;br /&gt;
set MatrixBot storeKeyValue MatrixPassword yourPassword123\&lt;br /&gt;
\&lt;br /&gt;
###\&lt;br /&gt;
To send a text:\&lt;br /&gt;
set MatrixBot sendText Bla Bla Bla\&lt;br /&gt;
\&lt;br /&gt;
\&lt;br /&gt;
###\&lt;br /&gt;
To longpoll for messages once:\&lt;br /&gt;
# 1. send special filter to Matrix:\&lt;br /&gt;
set MatrixBot sendFilter\&lt;br /&gt;
\&lt;br /&gt;
# 2. start one longPoll (waits up to 60 seconds\&lt;br /&gt;
#                        or until data is available)\&lt;br /&gt;
get MatrixBot longpoll\&lt;br /&gt;
\&lt;br /&gt;
#alternatively, to keep on longPolling (this also sets filter):\&lt;br /&gt;
set MatrixBot longpollCmd startTimer\&lt;br /&gt;
#to stop the timers:\&lt;br /&gt;
set MatrixBot longpollCmd stopTimer\&lt;br /&gt;
\&lt;br /&gt;
#############################################################\&lt;br /&gt;
https://spec.matrix.org/v1.14/client-server-api/#syncing\&lt;br /&gt;
&amp;quot;&lt;br /&gt;
attr MatrixBot get02AlwaysNum 0&lt;br /&gt;
attr MatrixBot get02HeaderAuthorization Authorization: Bearer $sid&lt;br /&gt;
attr MatrixBot get02Name longpoll&lt;br /&gt;
attr MatrixBot get02Regex \&amp;quot;next_batch\&amp;quot;:\s*\&amp;quot;(?&amp;lt;next_batch&amp;gt;[^\&amp;quot;]+)\&amp;quot;(?:.*?\&amp;quot;timeline\&amp;quot;:\s*{\s*\&amp;quot;events\&amp;quot;:\s*(?&amp;lt;messages&amp;gt;\[.*?\])\s*)?&lt;br /&gt;
attr MatrixBot get02TextArg 0&lt;br /&gt;
attr MatrixBot get02URL https://[$name:MatrixServer]/_matrix/client/v3/sync?timeout=60000&amp;amp;filter=[$name:filter_id]%%next_batch_param%%&lt;br /&gt;
attr MatrixBot icon message_info&lt;br /&gt;
attr MatrixBot parseFunction1 handleAuthErrors&lt;br /&gt;
attr MatrixBot reAuthAlways 0&lt;br /&gt;
attr MatrixBot reAuthRegex M_UNKNOWN_TOKEN&lt;br /&gt;
attr MatrixBot replacement01Mode expression&lt;br /&gt;
attr MatrixBot replacement01Regex \[([^:\s\[\&amp;quot;\&amp;#039;]+):([^\]\s]+)\]&lt;br /&gt;
attr MatrixBot replacement01Value my $device = $name if ($1 eq &amp;quot;\$name&amp;quot;) // $1;;\&lt;br /&gt;
ReadingsVal($device, $2, undef) or AttrVal($device, $2, &amp;quot;???&amp;quot;);;&lt;br /&gt;
attr MatrixBot replacement02Mode expression&lt;br /&gt;
attr MatrixBot replacement02Regex %%uuid%%&lt;br /&gt;
attr MatrixBot replacement02Value join(&amp;quot;-&amp;quot;, unpack(&amp;quot;A8 A4 A4 A4 A12&amp;quot;, unpack(&amp;quot;H*&amp;quot;, join(&amp;quot;&amp;quot;, map { chr(int rand 256) } 0..15))))&lt;br /&gt;
attr MatrixBot replacement03Mode key&lt;br /&gt;
attr MatrixBot replacement03Regex %%MatrixPassword%%&lt;br /&gt;
attr MatrixBot replacement03Value MatrixPassword&lt;br /&gt;
attr MatrixBot replacement04Mode expression&lt;br /&gt;
attr MatrixBot replacement04Regex %%next_batch_param%%&lt;br /&gt;
attr MatrixBot replacement04Value #is there a reading &amp;#039;next_batch&amp;#039;?\&lt;br /&gt;
my $val = ReadingsVal($name, &amp;#039;next_batch&amp;#039;, &amp;#039;???&amp;#039;);;\&lt;br /&gt;
\&lt;br /&gt;
#return the GET parameter &amp;#039;sync=value&amp;#039; for /sync Endpoint\&lt;br /&gt;
return &amp;quot;&amp;amp;since=$val&amp;quot; if ($val ne &amp;#039;???&amp;#039;);;\&lt;br /&gt;
\&lt;br /&gt;
#return neither since-key nor value for it:\&lt;br /&gt;
return &amp;quot;&amp;quot;;;&lt;br /&gt;
attr MatrixBot set01Data {\&lt;br /&gt;
  &amp;quot;msgtype&amp;quot;: &amp;quot;m.text&amp;quot;,\&lt;br /&gt;
  &amp;quot;body&amp;quot;: &amp;quot;$val&amp;quot;\&lt;br /&gt;
}&lt;br /&gt;
attr MatrixBot set01HeaderAuthorization Authorization: Bearer $sid&lt;br /&gt;
attr MatrixBot set01HeaderContent-Type application/json&lt;br /&gt;
attr MatrixBot set01IExpr #cancel an active longpoll\&lt;br /&gt;
if ($hash-&amp;gt;{BUSY}\&lt;br /&gt;
    &amp;amp;&amp;amp; $hash-&amp;gt;{HttpUtils}\&lt;br /&gt;
    &amp;amp;&amp;amp; $hash-&amp;gt;{HttpUtils}-&amp;gt;{url} =~ m|^https://[^/]+/_matrix/client/v3/sync\?timeout=\d+&amp;amp;filter=| ) {\&lt;br /&gt;
    Log(3, &amp;quot;$name: longpoll active, cutting it off now&amp;quot;);;\&lt;br /&gt;
    HttpUtils_Close($hash-&amp;gt;{HttpUtils});;\&lt;br /&gt;
}\&lt;br /&gt;
\&lt;br /&gt;
#just return $val unteraltered\&lt;br /&gt;
$val&lt;br /&gt;
attr MatrixBot set01Method POST&lt;br /&gt;
attr MatrixBot set01Name sendText&lt;br /&gt;
attr MatrixBot set01ParseResponse 1&lt;br /&gt;
attr MatrixBot set01Regex {\&amp;quot;event_id\&amp;quot;:\&amp;quot;(.*)\&amp;quot;}&lt;br /&gt;
attr MatrixBot set01TextArg 1&lt;br /&gt;
attr MatrixBot set01URL https://[$name:MatrixServer]/_matrix/client/v3/rooms/[$name:MatrixRoomID]/send/m.room.message?txnId=%%uuid%%&lt;br /&gt;
attr MatrixBot set02Data {\&lt;br /&gt;
  &amp;quot;room&amp;quot;: {\&lt;br /&gt;
    &amp;quot;rooms&amp;quot;: [&amp;quot;[$name:MatrixRoomID]&amp;quot;],\&lt;br /&gt;
    &amp;quot;timeline&amp;quot;: {\&lt;br /&gt;
      &amp;quot;limit&amp;quot;: 10,\&lt;br /&gt;
      &amp;quot;types&amp;quot;: [&amp;quot;m.room.message&amp;quot;]\&lt;br /&gt;
    },\&lt;br /&gt;
    &amp;quot;include_leave&amp;quot;: false,\&lt;br /&gt;
    &amp;quot;include_join&amp;quot;: false,\&lt;br /&gt;
    &amp;quot;include_account_data&amp;quot;: false,\&lt;br /&gt;
    &amp;quot;include_state&amp;quot;: false,\&lt;br /&gt;
    &amp;quot;state&amp;quot;: {\&lt;br /&gt;
      &amp;quot;types&amp;quot;: []\&lt;br /&gt;
    },\&lt;br /&gt;
    &amp;quot;ephemeral&amp;quot;: {\&lt;br /&gt;
      &amp;quot;types&amp;quot;: []\&lt;br /&gt;
    },\&lt;br /&gt;
    &amp;quot;account_data&amp;quot;: {\&lt;br /&gt;
      &amp;quot;types&amp;quot;: []\&lt;br /&gt;
    }\&lt;br /&gt;
  },\&lt;br /&gt;
  &amp;quot;event_fields&amp;quot;: [\&lt;br /&gt;
    &amp;quot;content.body&amp;quot;,\&lt;br /&gt;
    &amp;quot;sender&amp;quot;,\&lt;br /&gt;
    &amp;quot;origin_server_ts&amp;quot;\&lt;br /&gt;
  ],\&lt;br /&gt;
  &amp;quot;event_format&amp;quot;: &amp;quot;client&amp;quot;,\&lt;br /&gt;
  &amp;quot;presence&amp;quot;: {\&lt;br /&gt;
    &amp;quot;types&amp;quot;: [],\&lt;br /&gt;
    &amp;quot;not_types&amp;quot;: [&amp;quot;*&amp;quot;]\&lt;br /&gt;
  },\&lt;br /&gt;
  &amp;quot;account_data&amp;quot;: {\&lt;br /&gt;
    &amp;quot;types&amp;quot;: [],\&lt;br /&gt;
    &amp;quot;not_types&amp;quot;: [&amp;quot;*&amp;quot;]\&lt;br /&gt;
  }\&lt;br /&gt;
}&lt;br /&gt;
attr MatrixBot set02HeaderAuthorization Authorization: Bearer $sid&lt;br /&gt;
attr MatrixBot set02HeaderContent-Type application/json&lt;br /&gt;
attr MatrixBot set02Method POST&lt;br /&gt;
attr MatrixBot set02Name sendFilter&lt;br /&gt;
attr MatrixBot set02NoArg 1&lt;br /&gt;
attr MatrixBot set02ParseResponse 1&lt;br /&gt;
attr MatrixBot set02Regex \&amp;quot;filter_id\&amp;quot;:\s*\&amp;quot;(?&amp;lt;filter_id&amp;gt;\d+)\&amp;quot;&lt;br /&gt;
attr MatrixBot set02URL https://[$name:MatrixServer]/_matrix/client/v3/user/@[$name:MatrixUser]:[$name:MatrixServer]/filter&lt;br /&gt;
attr MatrixBot set03Local 1&lt;br /&gt;
attr MatrixBot set03Name longpollCmd&lt;br /&gt;
attr MatrixBot set03TextArg 1&lt;br /&gt;
attr MatrixBot showError 1&lt;br /&gt;
attr MatrixBot sid01Data {\&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;m.login.password&amp;quot;,\&lt;br /&gt;
  &amp;quot;identifier&amp;quot;: {\&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;m.id.user&amp;quot;,\&lt;br /&gt;
    &amp;quot;user&amp;quot;: &amp;quot;[$name:MatrixUser]&amp;quot;\&lt;br /&gt;
  },\&lt;br /&gt;
  &amp;quot;password&amp;quot;: &amp;quot;%%MatrixPassword%%&amp;quot;\&lt;br /&gt;
}&lt;br /&gt;
attr MatrixBot sid01HeaderContent-Type application/json&lt;br /&gt;
attr MatrixBot sid01IdRegex &amp;quot;access_token&amp;quot;\s*:\s*&amp;quot;([^&amp;quot;]+)&amp;quot;&lt;br /&gt;
attr MatrixBot sid01URL https://[$name:MatrixServer]/_matrix/client/v3/login&lt;br /&gt;
attr MatrixBot timeout 65&lt;br /&gt;
attr MatrixBot userReadings longpollTimer:(next_batch|longpollCmd|LAST_ERROR|sendText):.* {\&lt;br /&gt;
  my $longpollCmd = ReadingsVal($name, &amp;#039;longpollCmd&amp;#039;, &amp;#039;???&amp;#039;);;\&lt;br /&gt;
  my $delay = 1;;\&lt;br /&gt;
  my $timeout = AttrVal($name, &amp;#039;timeout&amp;#039;, 61) + $delay + 5;;\&lt;br /&gt;
  \&lt;br /&gt;
  # stop our timers:\&lt;br /&gt;
  if ($longpollCmd eq &amp;quot;stopTimer&amp;quot;) {\&lt;br /&gt;
    fhem(&amp;quot;cancel ${name}_longpollTimer quiet&amp;quot;);;\&lt;br /&gt;
    fhem(&amp;quot;cancel ${name}_longpollTimer2 quiet&amp;quot;);;\&lt;br /&gt;
    return &amp;quot;stopped&amp;quot;;;\&lt;br /&gt;
  }\&lt;br /&gt;
  \&lt;br /&gt;
  if ($longpollCmd ne &amp;quot;startTimer&amp;quot;) {\&lt;br /&gt;
    return &amp;quot;no timer set, longpollCmd is not set to &amp;#039;startTimer&amp;#039;&amp;quot;;;\&lt;br /&gt;
  }\&lt;br /&gt;
  \&lt;br /&gt;
  #if startTimer cmd was given now, set filter as well:\&lt;br /&gt;
  if (ReadingsAge($name, &amp;#039;longpollCmd&amp;#039;, 0) &amp;lt;= 1) {\&lt;br /&gt;
    $delay = 5;; #delay to allow for sendFilter to be answered\&lt;br /&gt;
    #Log(1, &amp;quot;🪲 $name: &amp;gt;&amp;gt;&amp;quot;. InternalVal($name, &amp;#039;httpbody&amp;#039;, &amp;#039;???&amp;#039;) .&amp;quot;&amp;lt;&amp;lt;&amp;quot;);;\&lt;br /&gt;
    fhem(&amp;quot;sleep 0.1 quiet;; set $name sendFilter&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  \&lt;br /&gt;
  #we handle an error reported by http-utils:\&lt;br /&gt;
  if (ReadingsAge($name, &amp;#039;LAST_ERROR&amp;#039;, 0) &amp;lt;= 1) {\&lt;br /&gt;
    my $last_error = ReadingsVal($name, &amp;#039;LAST_ERROR&amp;#039;, &amp;#039;???&amp;#039;);;\&lt;br /&gt;
    $delay = 10;; #delay to allow for error reasons to improve\&lt;br /&gt;
    #Log(1, &amp;quot;🪲 $name: Dealing with error: &amp;gt;&amp;gt;$last_error&amp;lt;&amp;lt;&amp;quot;);;\&lt;br /&gt;
  }\&lt;br /&gt;
  \&lt;br /&gt;
  # for testing this: { $defs{MatrixBot}{sid} = &amp;#039;bla&amp;#039; }\&lt;br /&gt;
  if (!defined &amp;amp;HTTPMOD::handleAuthErrors) {\&lt;br /&gt;
    *HTTPMOD::handleAuthErrors = sub {\&lt;br /&gt;
      my ($hash, $header, $body, $request) = @_;;\&lt;br /&gt;
      my $name = $hash-&amp;gt;{NAME};;\&lt;br /&gt;
      my $status;;\&lt;br /&gt;
      \&lt;br /&gt;
      if ($header =~ m{^HTTP/\d\.\d\s+(\d+)}m) {\&lt;br /&gt;
        $status = $1;;\&lt;br /&gt;
      }\&lt;br /&gt;
      \&lt;br /&gt;
      Log3($name, 4, &amp;quot;$name: HTTP status code is $status&amp;quot;);;\&lt;br /&gt;
      \&lt;br /&gt;
      if ( $status == 401 || $status == 403 || $status == 500 ) {\&lt;br /&gt;
        Log3($name, 3, &amp;quot;$name: auth-error or servererror ($status), calling doAuth()&amp;quot;);;\&lt;br /&gt;
        HTTPMOD::DoAuth($hash);;\&lt;br /&gt;
      }\&lt;br /&gt;
    };;\&lt;br /&gt;
  }\&lt;br /&gt;
  \&lt;br /&gt;
  #set timers, one regular and one fallback:\&lt;br /&gt;
  fhem(&amp;quot;sleep $delay ${name}_longpollTimer quiet;; get $name longpoll&amp;quot;);;\&lt;br /&gt;
  fhem(&amp;quot;sleep $timeout ${name}_longpollTimer2 quiet;; set $name longpollCmd startTimer&amp;quot;);;\&lt;br /&gt;
  \&lt;br /&gt;
  return strftime(&amp;quot;next longpoll at %H:%M:%S&amp;quot;, localtime( time()+$delay ));;\&lt;br /&gt;
},\&lt;br /&gt;
messages_list:messages:.* {\&lt;br /&gt;
  my $this = ReadingsVal($name, $reading, &amp;#039;&amp;#039;);;\&lt;br /&gt;
  my @timestampArray = split(&amp;quot;\n&amp;quot;, $this);;\&lt;br /&gt;
  my $messages_ref = decode_json(ReadingsVal($name, &amp;#039;messages&amp;#039;, &amp;#039;&amp;#039;));;\&lt;br /&gt;
  my $length = 20;;\&lt;br /&gt;
  \&lt;br /&gt;
  my %seen_messages = map { $_ =&amp;gt; 1 } @timestampArray;;\&lt;br /&gt;
  \&lt;br /&gt;
  foreach my $msg (@$messages_ref) {\&lt;br /&gt;
    my $val = $msg-&amp;gt;{content}{body};;\&lt;br /&gt;
    $val = Encode::decode(&amp;#039;utf-8&amp;#039;, $val) unless Encode::is_utf8($val);;\&lt;br /&gt;
    $val =~ s/\n/ /g;; #replace newlines with spaces\&lt;br /&gt;
    \&lt;br /&gt;
    my $sender = $msg-&amp;gt;{sender};;\&lt;br /&gt;
    my $ts = strftime(&amp;quot;%Y-%m-%d %H:%M:%S&amp;quot;, localtime($msg-&amp;gt;{origin_server_ts} / 1000));;\&lt;br /&gt;
    my $new_entry = &amp;quot;$ts: $sender: $val&amp;quot;;;\&lt;br /&gt;
    \&lt;br /&gt;
    next if $seen_messages{$new_entry};;\&lt;br /&gt;
    \&lt;br /&gt;
    my $inserted = 0;;\&lt;br /&gt;
    for (my $i = 0;; $i &amp;lt; @timestampArray;; $i++) {\&lt;br /&gt;
      my ($existing_ts) = $timestampArray[$i] =~ /^([^:]+):/;;\&lt;br /&gt;
      if ($ts lt $existing_ts) {\&lt;br /&gt;
        splice(@timestampArray, $i, 0, $new_entry);;\&lt;br /&gt;
        $inserted = 1;;\&lt;br /&gt;
        last;;\&lt;br /&gt;
      }\&lt;br /&gt;
    }\&lt;br /&gt;
    push(@timestampArray, encode(&amp;#039;utf-8&amp;#039;, $new_entry)) unless $inserted;;\&lt;br /&gt;
    shift(@timestampArray) while @timestampArray &amp;gt; $length;;\&lt;br /&gt;
  }\&lt;br /&gt;
  \&lt;br /&gt;
  return join(&amp;quot;\n&amp;quot;, @timestampArray);;\&lt;br /&gt;
},\&lt;br /&gt;
process_messages:messages:.* {\&lt;br /&gt;
  my $val = ReadingsVal($name, &amp;#039;messages_list&amp;#039;, &amp;#039;&amp;#039;);;\&lt;br /&gt;
  my $this = ReadingsVal($name, $reading, &amp;#039;&amp;#039;);;\&lt;br /&gt;
  my $latest_ts = $this;;\&lt;br /&gt;
  \&lt;br /&gt;
  foreach my $line (split(/\n/, $val)) {\&lt;br /&gt;
    if ($line =~ /^(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}):\s*(.*)$/) {\&lt;br /&gt;
      my ($ts, $msg) = ($1, $2);;\&lt;br /&gt;
      \&lt;br /&gt;
      if ($ts gt $this) {\&lt;br /&gt;
        fhem(&amp;quot;trigger $name msg: $line&amp;quot;);;\&lt;br /&gt;
        $latest_ts = $ts if ($ts gt $latest_ts);;\&lt;br /&gt;
      }\&lt;br /&gt;
    }\&lt;br /&gt;
  }\&lt;br /&gt;
  return $latest_ts;;\&lt;br /&gt;
}&lt;br /&gt;
attr MatrixBot verbose 3&lt;br /&gt;
attr MatrixBot widgetOverride longpollCmd:uzsuSelectRadio,startTimer,stopTimer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Torxgewinde</name></author>
	</entry>
</feed>