<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mark79</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mark79"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Mark79"/>
	<updated>2026-04-10T15:31:00Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=FRITZBOX&amp;diff=28468</id>
		<title>FRITZBOX</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=FRITZBOX&amp;diff=28468"/>
		<updated>2018-11-20T12:28:35Z</updated>

		<summary type="html">&lt;p&gt;Mark79: /* Ring auf mehreren Telefonen gleichzeitig */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Steuerung einer Fritz!Box über FHEM &lt;br /&gt;
|ModType=d&lt;br /&gt;
|ModForumArea=FRITZ!Box&lt;br /&gt;
|ModTechName=72_FRITZBOX.pm&lt;br /&gt;
|ModOwner=tupol/Topos ({{Link2FU|5432|Forum}} / [[Benutzer Diskussion:Topos|Wiki]])}}&lt;br /&gt;
&lt;br /&gt;
Das Modul [[FRITZBOX]] ermöglicht die Steuerung einer [[AVM Fritz!Box]] und von AVM FRITZ!WLAN Repeatern durch FHEM . An Fritzboxen können sowohl Geräte abgefragt werden, auf denen FHEM selbst läuft (lokaler Modus), als auch entfernte (externe) Geräte.&lt;br /&gt;
&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
=== Remote-Zugang ===&lt;br /&gt;
Für den Remote-Zugang müssen die Module JSON:XS, LWP und SOAP::Lite installiert sein; auf einem [[Raspberry Pi]] oder unter Ubuntu z.&amp;amp;nbsp;B. mit dem Befehl&lt;br /&gt;
:&amp;lt;code&amp;gt;sudo apt-get install libjson-perl libwww-perl libsoap-lite-perl libjson-xs-perl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teilweise ist derzeit zusätzlich die Installation der telnet Libraries erforderlich, auch wenn der Telnet-Zugang nicht genutzt werden soll. Siehe dazu den nachfolgenden Abschnitt.&lt;br /&gt;
&lt;br /&gt;
=== Telnet ===&lt;br /&gt;
Das Modul basierte ursprünglich auf dem Zugriff auf die Fritzbox per Telnet. Ab FRITZ!OS 6.2x baut AVM den abgekündigten Telnet-Zugang sowie die webcm-Schnittstelle sukzessive zurück bzw. hat dies, je nach Firmware, schon ganz abgestellt (siehe {{Link2Forum|Topic=38586|LinkText=dieses Forenthema}}). Der zukunftssichere Zugriff auf die Fritzbox sollte also per TR-064 erfolgen. Der Vollständigkeit halber und für ältere Firmwareversionen: &lt;br /&gt;
&lt;br /&gt;
# Wer den Zugang per Telnet (noch) nutzen (kann und) möchte, muss dies zuerst freischalten. Üblicherweise durch Eingabe von #96*7* an einem direkt an der entsprechenden FritzBox angeschlosssenen Telefon&lt;br /&gt;
# Auf dem System, auf dem FHEM  läuft ([[Systemübersicht#Server|Server]]) muss Telnet installiert sein; auf einem [[Raspberry Pi]] und unter Ubuntu z.&amp;amp;nbsp;B. mit dem Befehl&lt;br /&gt;
::&amp;lt;code&amp;gt;sudo apt-get install libnet-telnet-perl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
=== Erste Schritte ===&lt;br /&gt;
Zur Erstinstallation reicht ein einfaches &amp;lt;code&amp;gt;define FritzBox FRITZBOX&amp;lt;/code&amp;gt;, dieses Modul funktioniert lokal (FHEM auf Fritzbox) sowie per Fernzugriff (FHEM auf einem anderen Server im Netz, siehe nächsten Schritt).&lt;br /&gt;
&lt;br /&gt;
==== TR-064: Modul FRITZBOX für Zugriff auf einem externen Server einrichten ====&lt;br /&gt;
Für den Fernzugriff über TR-064 auf eine oder mehrere Fritzboxen und/oder einen FRITZ!WLAN Repeater sind die folgenden Schritte nötig (für jedes Gerät):&lt;br /&gt;
&lt;br /&gt;
Fritzbox definieren:&lt;br /&gt;
:&amp;lt;code&amp;gt;define FritzBox FRITZBOX&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn die Fritzbox nicht unter &amp;lt;nowiki&amp;gt;http://fritz.box&amp;lt;/nowiki&amp;gt; erreichbar ist, IP im define setzen:&lt;br /&gt;
:&amp;lt;code&amp;gt;define FritzBox FRITZBOX 192.168.168.168&amp;lt;/code&amp;gt;&lt;br /&gt;
192.168.168.168 dabei natürlich durch die passende IP ersetzen... Alternativ kann statt der IP auch der Hostname eingegeben werden.&lt;br /&gt;
&lt;br /&gt;
Wenn (&#039;&#039;&#039;und nur wenn&#039;&#039;&#039;) das Login auf der Benutzeroberfläche der FritzBox mit User und Passwort (und nicht nur per Passwort) geschieht, den User konfigurieren:&lt;br /&gt;
:&amp;lt;code&amp;gt;attr FritzBox boxUser &#039;&#039;Benutzername&#039;&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
In der Fritzbox muss dann auch &amp;quot;Anmeldung mit FRITZ!Box-Benutzernamen und Kennwort&amp;quot; ausgewählt sein.&lt;br /&gt;
&lt;br /&gt;
Passwort konfigurieren:&lt;br /&gt;
:&amp;lt;code&amp;gt;set FritzBox password &#039;&#039;Passwort&#039;&#039;&amp;lt;/code&amp;gt;  - legt das zugehörige Passwort fest (nur einmal --&amp;gt; gehört nicht in die cfg-Datei) &lt;br /&gt;
&lt;br /&gt;
Manuelle TR-064 Kommandos erlauben (Das Auslesen der Readings per TR-064 funktioniert auch ohne dieses Attribut.):&lt;br /&gt;
:&amp;lt;code&amp;gt;attr FritzBox allowTR064Command 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Telnet: Modul FRITZBOX für Zugriff auf einem externen Server einrichten ====&lt;br /&gt;
[[Datei:Screenshot_FritzBox_TelnetUser.png|mini|300px|rechts|Anlegen des Attributs telnetUser]]&lt;br /&gt;
Bei Fernzugriff über Telnet sind weitere Schritte nötig:&lt;br /&gt;
# Telnet auf der Fritzbox freischalten (Tastenkombination #96*7* am angeschlossenen Telefon (auch FritzFon)&lt;br /&gt;
# TelnetUser definieren (wie im Screenshot gezeigt)&lt;br /&gt;
# Passwort zum Benutzer auf der Fritzbox definieren&lt;br /&gt;
&lt;br /&gt;
[[Datei:Screenshot_FritzBox_Passwort.png|mini|300px|rechts|Passwort definieren]]&lt;br /&gt;
&lt;br /&gt;
(bitte die Buttons {{Taste|set}} und {{Taste|attr}} bei der Definition der jeweiligen Einträge nicht vergessen)&lt;br /&gt;
&lt;br /&gt;
Wer stattdessen lieber das [[Konfiguration|Befehl-Eingabefeld]] verwendet:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define FritzBox FRITZBOX&amp;lt;/code&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr FritzBox telnetUser &#039;&#039;Benutzername&#039;&#039; &amp;lt;/code&amp;gt; - legt den Benutzer fest&lt;br /&gt;
:&amp;lt;code&amp;gt;set FritzBox password &#039;&#039;Passwort&#039;&#039; &amp;lt;/code&amp;gt; - legt das zugehörige Passwort fest&lt;br /&gt;
&lt;br /&gt;
Wer keinen User konfiguriert hat, kann das Feld &amp;quot;telnetUser&amp;quot; leer lassen.&lt;br /&gt;
&lt;br /&gt;
Wer sicher gehen möchte, dass auch tatsächlich Telnet und nicht andere Zugriffe benutzt werden, sollte außerdem noch setzen:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;attr FritzBox forceTelnetConnection 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== mögliche Fehlermeldungen ===&lt;br /&gt;
Sollte schon bei &amp;lt;code&amp;gt;define FritzBox FRITZBOX&amp;lt;/code&amp;gt; die Fehlermeldung kommen, dass dieses Modul nicht existiert, dann bitte prüfen, ob FHEM  auf dem aktuellen Stand ist und ggf. [[Update|aktualisieren]].&lt;br /&gt;
&lt;br /&gt;
Kommt jetzt bei der erneuten Definition die Fehlermeldung &amp;lt;code&amp;gt;Error: Perl modul Net::Telnet is missing on this system&amp;lt;/code&amp;gt; bitte wie oben schon erwähnt den Befehl &lt;br /&gt;
:&amp;lt;code&amp;gt;sudo apt-get install libnet-telnet-perl&amp;lt;/code&amp;gt; &lt;br /&gt;
direkt per Telnet/SSH auf dem FHEM-Server ausführen und neu starten.&lt;br /&gt;
Sollte alles geklappt haben, seht ihr nun eure Fritzbox und könnt diverse Einstellungen manuell vornehmen und/oder automatisch vornehmen lassen.&lt;br /&gt;
&lt;br /&gt;
== Anwendung ==&lt;br /&gt;
=== Define ===&lt;br /&gt;
Siehe  {{Link2CmdRef|Lang=de|Anker=FRITZBOXdefine}}&lt;br /&gt;
&lt;br /&gt;
=== Attribute ===&lt;br /&gt;
Siehe {{Link2CmdRef|Lang=de|Anker=FRITZBOXattr}}&lt;br /&gt;
&lt;br /&gt;
=== TR-064 ===&lt;br /&gt;
Die offizielle Programmier-Schnittstelle der Fritz!Box läuft über das Protokoll TR-064.&lt;br /&gt;
&lt;br /&gt;
mit dem Attribute&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;attr &amp;lt;device&amp;gt; allowTR064Command 1&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
kann man den Befehl&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; tr064Command &amp;lt;service&amp;gt; &amp;lt;control&amp;gt; &amp;lt;action&amp;gt; [[parameterName1 parameterValue1] ...]&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
freischalten und damit auf diese Schnittstelle zugreifen.&lt;br /&gt;
&lt;br /&gt;
AVM hat die Schnittstellenbeschreibung unter [http://avm.de/service/schnittstellen/] veröffentlicht. Diese wird jedoch nur sehr sporadisch gepflegt.&amp;lt;br&amp;gt;&lt;br /&gt;
Ein besserer Einstiegspunkt befindet sich auf der Box unter http://fritz.box:49000/tr64desc.xml.&amp;lt;br&amp;gt;&lt;br /&gt;
Die möglichen TR-064-Aktionen kann man auch über den Befehl &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; tr064ServiceList&amp;lt;/code&amp;gt; auslesen.&lt;br /&gt;
&lt;br /&gt;
Folgende Service und Controls existieren (für den get-Befehl &#039;&#039;tr064Command&#039;&#039; werden nur die fett formatierten Wörter benötigt)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!serviceType!!controlURL!!XML!!Dokument bei AVM&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;DeviceInfo:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;deviceinfo&#039;&#039;&#039;||[http://fritz.box:49000/deviceinfoSCPD.xml deviceinfoSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/deviceinfoSCPD.pdf deviceinfoSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;DeviceConfig:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;deviceconfig&#039;&#039;&#039;||[http://fritz.box:49000/deviceconfigSCPD.xml deviceconfigSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/deviceconfigSCPD.pdf deviceconfigSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Layer3Forwarding:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;layer3forwarding&#039;&#039;&#039;||[http://fritz.box:49000//layer3forwardingSCPD.xml layer3forwardingSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/layer3forwardingSCPD.pdf layer3forwardingSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;LANConfigSecurity:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;lanconfigsecurity&#039;&#039;&#039;||[http://fritz.box:49000//lanconfigsecuritySCPD.xml lanconfigsecuritySCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/lanconfigsecuritySCPD.pdf lanconfigsecuritySCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;ManagementServer:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;mgmsrv&#039;&#039;&#039;||[http://fritz.box:49000//mgmsrvSCPD.xml mgmsrvSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/mgmsrvSCPD.pdf mgmsrvSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Time:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;time&#039;&#039;&#039;||[http://fritz.box:49000//timeSCPD.xml timeSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/timeSCPD.pdf timeSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;UserInterface:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;userif&#039;&#039;&#039;||[http://fritz.box:49000//userifSCPD.xml userifSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/userifSCPD.pdf userifSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;X_VoIP:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;x_voip&#039;&#039;&#039;||[http://fritz.box:49000//x_voipSCPD.xml x_voipSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_voipSCPD.pdf x_voipSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;X_AVM-DE_Storage:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;x_storage&#039;&#039;&#039;||[http://fritz.box:49000//x_storageSCPD.xml x_storageSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_storageSCPD.pdf x_storageSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;X_AVM-DE_OnTel:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;x_contact&#039;&#039;&#039;||[http://fritz.box:49000//x_contactSCPD.xml x_contactSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_contactSCPD.pdf x_contactSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;X_AVM-DE_WebDAVClient:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;x_webdav&#039;&#039;&#039;||[http://fritz.box:49000//x_webdavSCPD.xml x_webdavSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_webdavSCPD.pdf x_webdavSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;X_AVM-DE_UPnP:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;x_upnp&#039;&#039;&#039;||[http://fritz.box:49000//x_upnpSCPD.xml x_upnpSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_upnp.pdf x_upnp.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;X_AVM-DE_RemoteAccess:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;x_remote&#039;&#039;&#039;||[http://fritz.box:49000/x_remoteSCPD.xml x_remoteSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_remoteSCPD.pdf x_remoteSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;X_AVM-DE_MyFritz:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;x_myfritz&#039;&#039;&#039;||[http://fritz.box:49000/x_myfritzSCPD.xml x_myfritzSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_myfritzSCPD.pdf x_myfritzSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;X_AVM-DE_TAM:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;x_tam&#039;&#039;&#039;||[http://fritz.box:49000/x_tamSCPD.xml x_tamSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_tam.pdf x_tam.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;X_AVM-DE_AppSetup:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;x_appsetup&#039;&#039;&#039;||[http://fritz.box:49000/x_homeautoSCPD.xml x_homeautoSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_appsetupSCPD.pdf x_appsetupSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;X_AVM-DE_Homeauto:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;x_homeauto&#039;&#039;&#039;||[http://fritz.box:49000/x_homeautoSCPD.xml x_homeautoSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/x_homeautoSCPD.pdf x_homeautoSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;WLANConfiguration:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;wlanconfig1&#039;&#039;&#039;||[http://fritz.box:49000/wlanconfigSCPD.xml wlanconfigSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wlanconfigSCPD.pdf wlanconfigSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;WLANConfiguration:2&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;wlanconfig2&#039;&#039;&#039;||[http://fritz.box:49000/wlanconfigSCPD.xml wlanconfigSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wlanconfigSCPD.pdf wlanconfigSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;WLANConfiguration:3&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;wlanconfig3&#039;&#039;&#039;||[http://fritz.box:49000/wlanconfigSCPD.xml wlanconfigSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wlanconfigSCPD.pdf wlanconfigSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Hosts:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;hosts&#039;&#039;&#039;||[http://fritz.box:49000/hostsSCPD.xml hostsSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/hostsSCPD.pdf hostsSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;LANEthernetInterfaceConfig:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;lanethernetifcfg&#039;&#039;&#039;||[http://fritz.box:49000/lanifconfigSCPD.xml lanifconfigSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/lanifconfigSCPD.pdf lanifconfigSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;LANHostConfigManagement:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;lanhostconfigmgm&#039;&#039;&#039;||[http://fritz.box:49000/lanhostconfigmgmSCPD.xml lanhostconfigmgmSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/lanhostconfigmgmSCPD.pdf lanhostconfigmgmSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;WANCommonInterfaceConfig:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;wancommonifconfig1&#039;&#039;&#039;||[http://fritz.box:49000/wancommonifconfigSCPD.xml wancommonifconfigSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wancommonifconfigSCPD.pdf wancommonifconfigSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;WANDSLInterfaceConfig:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;wandslifconfig1&#039;&#039;&#039;||[http://fritz.box:49000/wandslifconfigSCPD.xml wandslifconfigSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wandslifconfigSCPD.pdf wandslifconfigSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;WANDSLLinkConfig:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;wandsllinkconfig1&#039;&#039;&#039;||[http://fritz.box:49000/wandsllinkconfigSCPD.xml wandsllinkconfigSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wandsllinkconfigSCPD.pdf wandsllinkconfigSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;WANEthernetLinkConfig:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;wanethlinkconfig1&#039;&#039;&#039;||[http://fritz.box:49000/wanethlinkconfigSCPD.xml wanethlinkconfigSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wanethlinkconfigSCPD.pdf wanethlinkconfigSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;WANPPPConnection:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;wanpppconn1&#039;&#039;&#039;||[http://fritz.box:49000/wanpppconnSCPD.xml wanpppconnSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wanpppconnSCPD.pdf wanpppconnSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;urn:dslforum-org:service:&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;WANIPConnection:1&#039;&#039;&#039;||/upnp/control/&#039;&#039;&#039;wanipconnection1&#039;&#039;&#039;||[http://fritz.box:49000/wanipconnSCPD.xml wanipconnSCPD.xml]||[http://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/wanipconnSCPD.pdf wanipconnSCPD.pdf]&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Status-Symbol ===&lt;br /&gt;
&amp;lt;code&amp;gt;attr &amp;lt;device&amp;gt; devStateIcon .*on.*off:WLAN_on_gWLAN_off .*on.*on.*:WLAN_on_gWLAN_on WLAN..off.*:WLAN_off&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Verzeichnis www/images/default müssen die passenden Dateien &amp;quot;WLAN_on_gWLAN_off.png&amp;quot;, &amp;quot;WLAN_on_gWLAN_on.png&amp;quot; und &amp;quot;WLAN_off.png&amp;quot; liegen. Wenn die PNGs fehlen, können sie {{Link2Forum|Topic=29725|Message=318113|LinkText=hier}} heruntergeladen werden.&lt;br /&gt;
&lt;br /&gt;
== Anwendungsbeispiele ==&lt;br /&gt;
[[Datei:Screenshot_FritzBox1.png|mini|300px|rechts|FRITZBOX Gerät auf der FHEM  Oberfläche]]&lt;br /&gt;
Sollte alles geklappt haben, seht ihr nun unter &amp;quot;Unsortiert&amp;quot; den im nebenstehenden Screenshot gezeigten Eintrag für das &amp;quot;Gerät&amp;quot; (hier mit dem Icon &amp;quot;it_router&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=== TR-064 Beispiele ===&lt;br /&gt;
*Box Reboot: &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; tr064Command DeviceConfig:1 deviceconfig Reboot&amp;lt;/code&amp;gt;&lt;br /&gt;
*Internet Reconnect: &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; tr064Command WANIPConnection:1 wanipconnection1 ForceTermination&amp;lt;/code&amp;gt;&lt;br /&gt;
*Daten eines Smart-Home-Gerätes auslesen: &amp;lt;code&amp;gt;get &amp;lt;device&amp;gt; tr064Command X_AVM-DE_Homeauto:1 x_homeauto GetGenericDeviceInfos NewIndex 0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Klingel- und Sprachausgabe per TR-064 ===&lt;br /&gt;
Das geht derzeit nicht, da entsprechende Kommandos per TR-064 nicht verfügbar sind. Da Telnet sukzessive abgestellt wird, sollten sich Interessenten per Feature-Request an AVM wenden, wie {{Link2Forum|Topic=38586|LinkText=hier}} beschrieben.&lt;br /&gt;
&lt;br /&gt;
Eine Alternative um Telefone klingeln zu lassen, ist die Nutzung des [[SIP-Client]]s.&lt;br /&gt;
&lt;br /&gt;
=== Anwesenheitserkennung per regelmäßiger Abfrage über das PRESENCE Modul ===&lt;br /&gt;
Fritzboxen und die FRITZ!WLAN Repeater speichern den Status angemeldeter Geräte. Dieser Status lässt sich mittels des FRITZBOX Moduls über Readings abfragen, die das Format mac_AA_AA_AA_AA_AA_AA haben und die MAC-Adressen der jeweils angemeldeten Geräte (AA:AA:AA:AA:AA:AA) enthalten. Das Reading existiert, wenn das Gerät angemeldet ist. Wenn das Gerät abgemeldet ist, existiert es nicht mehr. Es gibt auch noch den Zwischenstatus &amp;quot;inactive&amp;quot;, der anscheinend gesetzt wird, bevor das Reading gelöscht wird.&lt;br /&gt;
&lt;br /&gt;
Mit Hilfe des [[PRESENCE]] Moduls (vgl. [[Anwesenheitserkennung]]) kann man auf diese Weise den Anwesenheitsstatus abfragen. Anregungen dazu gibt es im zugehörigen {{Link2Forum|Topic=39433|LinkText=Forenthread}} zur Anwesenheitserkennung und in [http://heinz-otto.blogspot.de/2015/07/die-zeiten-andern-sich.html diesem  Blogpost]. Auf dieser Basis könnte eine einfache Implementierung zum Beispiel so aussehen:&lt;br /&gt;
&lt;br /&gt;
Funktion in [[99_myUtils anlegen|99_myUtils]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;perl&#039;&amp;gt;sub checkFritzMACpresent($$) {&lt;br /&gt;
  # Benötigt: Name der zu testenden Fritzbox ($Device),&lt;br /&gt;
  #           zu suchende MAC ($MAC), &lt;br /&gt;
  # Rückgabe: 1 = Gerät gefunden&lt;br /&gt;
  #           0 = Gerät nicht gefunden&lt;br /&gt;
  my ($Device, $MAC) = @_;&lt;br /&gt;
  my $Status = 0;&lt;br /&gt;
  $MAC =~ tr/:/_/;&lt;br /&gt;
  $MAC = &amp;quot;mac_&amp;quot;.uc($MAC);&lt;br /&gt;
  my $StatusFritz = ReadingsVal($Device, $MAC, &amp;quot;weg&amp;quot;);&lt;br /&gt;
  if ($StatusFritz eq &amp;quot;weg&amp;quot;) {&lt;br /&gt;
    Log 1, (&amp;quot;checkFritzMACpresent ($Device): $MAC nicht gefunden, abwesend.&amp;quot;);&lt;br /&gt;
    $Status = 0;&lt;br /&gt;
  } elsif ($StatusFritz eq &amp;quot;inactive&amp;quot;) {&lt;br /&gt;
    Log 1, (&amp;quot;checkFritzMACpresent ($Device): $MAC ist &amp;gt;inactive&amp;lt;, also abwesend.&amp;quot;);&lt;br /&gt;
    $Status = 0;&lt;br /&gt;
  } else {&lt;br /&gt;
    # Reading existiert, Rückgabewert ist nicht &amp;quot;inactive&amp;quot;, also ist das Gerät per WLAN angemeldet.&lt;br /&gt;
    Log 4, (&amp;quot;checkFritzMACpresent ($Device): $MAC gefunden, Gerät heißt &amp;gt;$StatusFritz&amp;lt;.&amp;quot;);&lt;br /&gt;
    $Status = 1;&lt;br /&gt;
  }&lt;br /&gt;
  return $Status&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nutzung dieser Funktion mit dem PRESENCE Modul definieren:&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;Name&amp;gt; PRESENCE function {checkFritzMACpresent(&amp;quot;Fritzbox&amp;quot;,&amp;quot;AA:BB:CC:DD:EE:FF&amp;quot;)}  60 60&amp;lt;/code&amp;gt;&lt;br /&gt;
wobei&lt;br /&gt;
*&amp;lt;Name&amp;gt; ein beliebig zu wählender Name für die PRESENCE-Funktion ist,&lt;br /&gt;
*Fritzbox der Name ist, mit dem ihr die abzufragende Fritzbox als FRITZBOX definiert habt,&lt;br /&gt;
*AA:BB:CC:DD:EE:FF die MAC-Adresse des gesuchten Geräts ist.&lt;br /&gt;
* &amp;quot;60 60&amp;quot; sagt, dass der Anwesenheitsstatus im 60-Sekunden-Takt abgefragt wird. Das macht natürlich nur Sinn, wenn ihr mit &amp;lt;code&amp;gt;attr Fritzbox INTERVAL 60&amp;lt;/code&amp;gt; den Abfrageinterval bei der Fritzbox auch entsprechend hochgesetzt habt. Der Standard ist 300.&lt;br /&gt;
* &amp;quot;Log 1&amp;quot; führt immer zum Loggen. Das ist zum Einrichten praktisch, ohne dass man gleich für das ganze Modul oder ganz FHEM &amp;lt;code&amp;gt;attr &amp;lt;device&amp;gt; verbose 5&amp;lt;/code&amp;gt; setzen muss. Wenn es läuft, können die &amp;quot;Log 1&amp;quot;-Zeilen gelöscht, auskommentiert (# an den Zeilenanfang) oder in &amp;quot;Log 5&amp;quot; geändert werden.&lt;br /&gt;
&lt;br /&gt;
=== Anwesenheitserkennung über mehrere Fritzboxen oder AVM Repeater und Fritzbox ===&lt;br /&gt;
Existiert ein AVM Repeater im Netzwerk, kann der als eigenständiges Gerät mit FRITZBOX definiert werden. WLAN Geräte an der Fritzbox werden in der Instanz der Fritzbox gelistet und WLAN Geräte am Repeater in der Repeater Instanz. Um trotzdem die Anwesenheit im Netzwerk einfach zu erkennen, muss die Subroutine in 99_myUtils.pm abgewandelt werden.&lt;br /&gt;
&lt;br /&gt;
Existiert eine zweite Fritzbox im Accesspointmodus, werden die WLAN Geräte im Netzwerk alle in der Hauptfritzbox an einem LAN Anschluss gelistet. D.h. man sieht an der Hauptfritzbox nicht, dass sie im WLAN sind. Eine zweite Instanz mit dem FRITZBOX Modul muss wegen der Anwesenheitserkennung nicht gemacht werden. Die folgende Routine kann aber universell eingesetzt werden, unabhängig von der Anzahl der FRITZBOX Instanzen. Wer mitloggen will, kann das analog zur obigen Routine einbauen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;perl&#039;&amp;gt;sub checkAllFritzMACpresent($) {&lt;br /&gt;
  # Benötigt: nur die zu suchende MAC ($MAC), &lt;br /&gt;
  # Es werden alle Instanzen vom Type FRITZBOX abgefragt&lt;br /&gt;
  #&lt;br /&gt;
  # Rückgabe: 1 = Gerät gefunden&lt;br /&gt;
  #           0 = Gerät nicht gefunden&lt;br /&gt;
  my ($MAC) = @_;&lt;br /&gt;
  # Wird in keiner Instanz die MAC Adresse gefunden bleibt der Status 0&lt;br /&gt;
  my $Status = 0;&lt;br /&gt;
  $MAC =~ tr/:/_/;&lt;br /&gt;
  $MAC = &amp;quot;mac_&amp;quot;.uc($MAC);&lt;br /&gt;
  my @FBS = devspec2array(&amp;quot;TYPE=FRITZBOX&amp;quot;);&lt;br /&gt;
    foreach( @FBS ) {&lt;br /&gt;
		my $StatusFritz = ReadingsVal($_, $MAC, &amp;quot;weg&amp;quot;);&lt;br /&gt;
		if ($StatusFritz eq &amp;quot;weg&amp;quot;) {&lt;br /&gt;
		} elsif ($StatusFritz eq &amp;quot;inactive&amp;quot;) {&lt;br /&gt;
		} else {&lt;br /&gt;
		  # Reading existiert, Rückgabewert ist nicht &amp;quot;inactive&amp;quot;, also ist das Gerät am Netzwerk angemeldet.&lt;br /&gt;
		  $Status = 1;&lt;br /&gt;
		}&lt;br /&gt;
    }&lt;br /&gt;
  return $Status&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Da hiermit nach allen Instanzen mit dem TYPE=FRITZBOX durchsucht wird, braucht der Name der Fritzbox nicht angegeben werden.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define &amp;lt;Name&amp;gt; PRESENCE function {checkAllFritzMACpresent(&amp;quot;AA:BB:CC:DD:EE:FF&amp;quot;)}  60 60&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Abfrage auf einen bestimmten Status kann einfach erweitert werden, ist aber immer vom Entwicklunsgstand der Fritzbox Firmware und des FRITZBOX Moduls abhängig. Eventuell erreicht man bessere Reaktionszeiten auf Abwesenheit  durch diesen Zusatz:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&#039;perl&#039;&amp;gt;my $StatusFritz = ReadingsVal($_, $MAC, &amp;quot;weg&amp;quot;);&lt;br /&gt;
		if ($StatusFritz eq &amp;quot;weg&amp;quot;) {&lt;br /&gt;
		} elsif ($StatusFritz eq &amp;quot;inactive&amp;quot;) {&lt;br /&gt;
		} elsif ($StatusFritz =~ /(.*)s, 0/) { &lt;br /&gt;
                # Dieser Zweig testet auf &amp;quot;&amp;lt;geraetename&amp;gt; (WLAN, 0 / 0 Mbit/s, 0)&amp;quot;&lt;br /&gt;
		} else {&lt;br /&gt;
		  $Status = 1;&lt;br /&gt;
		}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere Hinweise zu komplexeren Abfragen mehrere Boxen auf einmal etc. findet ihr auch im diesem {{Link2Forum|Topic=39433|LinkText=Forenthread}}.&lt;br /&gt;
&lt;br /&gt;
=== Anwesenheitserkennung per Notify ===&lt;br /&gt;
Der von Fritzboxen und Fritz!WLAN Repeatern gespeicherte Status zum Status angemeldeter Geräte lässt sich (statt per PRESENCE, s.o.) auch per [[notify]] anfragen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;define &amp;lt;Name&amp;gt; notify Fritzbox:mac_AA_BB_CC_DD_EE_FF:.* {&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Fritzbox&amp;quot;, &amp;quot;mac_AA_BB_CC_DD_EE_FF&amp;quot;, &amp;quot;inactive&amp;quot;) eq &amp;quot;inactive&amp;quot;) &lt;br /&gt;
  {&lt;br /&gt;
    fhem(&amp;quot;set anwesend_smartphone absent&amp;quot;);&lt;br /&gt;
  } &lt;br /&gt;
  else &lt;br /&gt;
  {&lt;br /&gt;
    fhem(&amp;quot;set anwesend_smartphone present&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hinweise:&lt;br /&gt;
* &amp;lt;code&amp;gt;fhem(&amp;quot;set anwesend_smartphone absent&amp;quot;);&amp;lt;/code&amp;gt; ist nur ein Beispiel, das einen Dummy auf den Status &amp;quot;absent&amp;quot; bzw. &amp;quot;present&amp;quot; setzt. Man kann hier natürlich auch gleich entsprechende Aktionen durchführen. Wer das Beispiel übernehmen möchte, sollte den Dummy vorher definieren (&amp;lt;code&amp;gt;define anwesend_smartphone dummy&amp;lt;/code&amp;gt;).&lt;br /&gt;
* mac_AA_BB_CC_DD_EE_FF ist die MAC-Adresse des gesuchten Geräts.&lt;br /&gt;
* &amp;quot;Fritzbox&amp;quot; ist der Name, unter dem die Fritzbox als FRITZBOX-Modul definiert wurde.&lt;br /&gt;
* Das Notify funktioniert, weil Geräte, wenn sie sich abgemeldet haben, erst den Status &amp;quot;inactive&amp;quot; erhalten. Ist das Gerät ganz abgemeldet, verschwindet das mac_.*-Reading. Dabei löst das Notify nicht mehr aus. Da das mac-.*-Reading aber vorher auf &amp;quot;inactive&amp;quot; stand, wurde die Abwesend-Aktion schon ausgeführt.&lt;br /&gt;
* Damit der Notify nicht andauernd losgeht, sollte man mittels &amp;lt;code&amp;gt;attr Fritzbox [[event-on-change-reading]] mac_AA_BB_CC_DD_EE_FF&amp;lt;/code&amp;gt; Events nur auslösen, wenn sich der Status des Gerätes ändert. Will man mehrere Geräte abfragen, sollte man &amp;lt;code&amp;gt;attr Fritzbox event-on-change-reading mac_AA_BB_CC_DD_EE_FF,mac_GG_HH_II_JJ_KK_LL&amp;lt;/code&amp;gt; setzen, damit bei der Änderung jedes Readings ein Event ausgelöst wird.&lt;br /&gt;
&lt;br /&gt;
=== Vergleich Anwesenheitserkennung PRESENCE/Notify ===&lt;br /&gt;
Die Anwesenheitserkennung per regelmäßiger PRESENCE-Abfrage hat den Vorteil, dass sie im Turnus der regelmäßigen Abfragen immer einen aktuellen Status produziert. Sie hat dafür den Nachteil, dass die PRESENCE-Funktionen regelmäßig abgearbeitet werden müssen, auch wenn sich gar nichts ändert. Außerdem aktualisiert sich der Status nicht sofort, sondern erst bei der nächsten regelmäßigen Abfrage. Durch häufiges Abfragen kann dieser Nachteil verringert werden (bei entsprechend höherer Systemlast).&lt;br /&gt;
&lt;br /&gt;
Die Anwesenheitserkennung per Notify hat den Vorteil, dass ein sich ändernder Status sofort abgebildet wird. Ändert sich kein Status, werden keine Routinen ausgeführt, was die Systemlast gering hält. Der Nachteil ist, dass - z.B. nach einem Systemstart - die entsprechende Aktion erst bei einer Änderung des Status ausgeführt wird. D.h. ist das zu testende Gerät anwesend, wird dann FHEM beendet, das Gerät entfernt und FHEM wieder gestartet, ist der Status in FHEM immer noch &amp;quot;anwesend&amp;quot;. Da das Reading für das Gerät nicht existiert, wird darauf auch erst wieder ein Notify ausgeführt, wenn sich der Status des Geräts wieder ändert, d.h. es wieder ankommt. Bis dahin ist der Status im System falsch. &lt;br /&gt;
Der Nachteil des Notify kann verringert werden, wenn man statt &amp;lt;code&amp;gt;attr Fritzbox event-on-change-reading mac_AA_BB_CC_DD_EE_FF&amp;lt;/code&amp;gt; ein &amp;lt;code&amp;gt;attr Fritzbox [[event-on-update-reading]] mac_AA_BB_CC_DD_EE_FF&amp;lt;/code&amp;gt; setzt. Das erhöht allerdings die Systemlast und funktioniert auch nur für den Status &amp;quot;anwesend&amp;quot;. Bei &amp;quot;abwesend&amp;quot; ist kein Reading vorhanden, so dass auch event-on-update-reading nicht ausgeführt wird.&lt;br /&gt;
Eine weitere Möglichkeit, den Nachteil der Notify-Methode auszugleichen, ist, die Statusabfrage beim Systemstart einmal manuell auszuführen, durch ein notify auf &amp;quot;GLOBAL:initialized&amp;quot;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;perl&amp;quot;&amp;gt;&lt;br /&gt;
global:INITIALIZED {&lt;br /&gt;
  Reset_Variables;&lt;br /&gt;
  if (ReadingsVal(&amp;quot;Fritzbox&amp;quot;, &amp;quot;mac_AA_BB_CC_DD_EE_FF&amp;quot;, &amp;quot;inactive&amp;quot;) eq &amp;quot;inactive&amp;quot;) {&lt;br /&gt;
    fhem(&amp;quot;set anwesend_smartphone absent&amp;quot;);&lt;br /&gt;
  } else {&lt;br /&gt;
    fhem(&amp;quot;set anwesend_smartphone present&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Das hilft allerdings nur beim Systemstart. Nicht, wenn FHEM aufgrund irgendwelcher Hänger eine Aktualisierung des Status verpasst hat.&lt;br /&gt;
&lt;br /&gt;
=== userReadings per &#039;&#039;get tr064Command&#039;&#039; oder &#039;&#039;get luaQuery&#039;&#039; ===&lt;br /&gt;
Um dem Gerätewert &amp;lt;userReadingName&amp;gt; den Wert von &amp;lt;VariabelName&amp;gt; aus der Rückgabe des get-Befehls &#039;&#039;tr064Command&#039;&#039; oder &#039;&#039;luaQuery&#039;&#039; zuzuordnen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
attr &amp;lt;device&amp;gt; userReadings &amp;lt;userReadingName&amp;gt; {my $resp=fhem(&amp;quot;get &amp;lt;device&amp;gt; tr064Command &amp;lt;service&amp;gt; &amp;lt;control&amp;gt; &amp;lt;action&amp;gt; [[&amp;lt;argName1&amp;gt; &amp;lt;argValue1&amp;gt;] ...]&amp;quot;,1);;$resp =~/\&#039;&amp;lt;VariabelName&amp;gt;\&#039; =&amp;gt; &#039;(.*)&#039;/;;return $1;;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Beispielsweise&lt;br /&gt;
&amp;lt;pre&amp;gt;attr Fritzbox userReadings urMobilteil_1 {my $resp=fhem(&amp;quot;get Fritzbox tr064Command X_AVM-DE_OnTel:1 x_contact GetDECTHandsetInfo NewDectID 1&amp;quot;,1);;$resp =~/&#039;NewHandsetName&#039; =&amp;gt; &#039;(.*)&#039;/;;return $1;;},&lt;br /&gt;
        urDownstreamDSLRate {my $resp=fhem(&amp;quot;get Fritzbox tr064Command WANDSLInterfaceConfig:1 wandslifconfig1 GetInfo&amp;quot;,1);;$resp =~/&#039;NewDownstreamCurrRate&#039; =&amp;gt; &#039;(.*)&#039;/;;return $1;;},&lt;br /&gt;
        urUpstreamDSLRate {my $resp=fhem(&amp;quot;get Fritzbox tr064Command WANDSLInterfaceConfig:1 wandslifconfig1 GetInfo&amp;quot;,1);;$resp =~/&#039;NewUpstreamCurrRate&#039; =&amp;gt; &#039;(.*)&#039;/;;return $1;;}&amp;lt;/pre&amp;gt;&lt;br /&gt;
oder bei einzelnen Werte über &#039;&#039;get luaQuery&#039;&#039;&amp;lt;pre&amp;gt;attr Fritzbox userReadings sip1_connect {my $resp=fhem(&amp;quot;get Fritzbox luaQuery sip:settings/sip1/connect&amp;quot;,1);;$resp =~/([0-9])$/;;return $1;;}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Klingelton-Einstellung und Abspielen von Sprachnachrichten bei Fritz!OS-Versionen &amp;gt;6.24 ===&lt;br /&gt;
Wenn die Fritzbox weder die Telnet- noch die webcmd-Schnittstelle hat, kann der Klingelton der Fritz!Fons nicht mehr verstellt und auch keine Sprachnachricht über ein Fritz!Fon ausgegeben werden.&lt;br /&gt;
&lt;br /&gt;
Es gibt eine Behelfslösung über das Attribut &#039;&#039;useGuiHack&#039;&#039;. Dadurch wird eine Eingabe in die WebGUI der Fritzbox simuliert. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ACHTUNG&#039;&#039;&#039;: Vor allem nach einem Update der FritzBox kann es durch dieses Attribut zu ungewolltem Verstellen von Werten in der Fritzbox kommen.&lt;br /&gt;
&lt;br /&gt;
Bei Verwendung der ring-Parameter &amp;quot;play:&amp;quot; und &amp;quot;say:&amp;quot; wird die abzuspielende URL in die M3U-Datei, die unter dem Internal &#039;&#039;M3U_LOCAL&#039;&#039; steht, eingetragen.&amp;lt;br&amp;gt; &lt;br /&gt;
Standardmäßig wird versucht, diese Datei im image-Verzeichnis von FHEM abzulegen. Diese kann dann vom Fritz!Fon über [[FHEMWEB]] abgespielt werden (IP-Freigaben beachten). Direkt nach dem ersten Anlegen der m3u-Datei kennt [[FHEMWEB]] diese noch nicht, daher bitte entweder &#039;&#039;set &amp;lt;webdevice&amp;gt; rereadicons&#039;&#039; ausführen oder FHEM neu starten.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aufgrund der Beschränkungen von [[FHEMWEB]] oder auch bei Authentifizierungsanforderungen ist es empfehlenswert, die Datei über das Attribute &#039;&#039;m3uFileLocal&#039;&#039; selber vorzugeben. Am besten auf einem Webserver, der auf dem FHEM-Server läuft und dessen Seiten-Verzeichnis durch FHEM beschreibbar ist.&amp;lt;br&amp;gt;&lt;br /&gt;
Beispiel: &amp;lt;code&amp;gt;attr Fritzbox m3uFileLocal /var/www/mp3/Fritzbox.m3u&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In dem Radioeintrag &#039;&#039;FHEM&#039;&#039; muss dann &#039;&#039;&#039;auf der FritzBox&#039;&#039;&#039;, die &#039;&#039;&#039;Web&#039;&#039;&#039;-Adresse der entsprechenden Datei eingetragen werden. Dieser Sender sollte zu Testzwecken dann auch einmal am Fritz!Fon von Hand gestartet werden.&amp;lt;br&amp;gt;&lt;br /&gt;
Das Modul versucht, beim Start die einzutragende Radio-URL im image-Verzeichnis selber zu ermitteln (IP-Freigabe beachten). Gelingt dies, so steht diese im Internal &#039;&#039;M3U_URL&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Ring auf mehreren Telefonen gleichzeitig ===&lt;br /&gt;
&lt;br /&gt;
Damit mehrere Telefone per ring gleichzeitig Klingel, muss in der Fritzbox eine Rufgruppe definiert werden.&lt;br /&gt;
Sollte eine Türsprechanlage schon in Benutzung sein, kann die eventuell hierfür bereits eingerichtete Gruppe verwendet werden.&lt;br /&gt;
Das anlegen der Gruppe erfolgt wie in folgender AVM Anleitung erledigt werden. [https://avm.de/service/fritzbox/fritzbox-7390/wissensdatenbank/publication/show/1148_Interne-Rufgruppe-in-FRITZ-Box-einrichten-Gruppenruf/ AVM Interne Rufgruppe anlegen]&lt;br /&gt;
&lt;br /&gt;
Es muss eine Kurzwahl bei der Gruppe zwingend hinterlegt sein.&lt;br /&gt;
Danach kann mit folgendem Beispiel Code gearbeitet werden:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;set FritzBox ring 791 15 show:Türklingel&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Name des Devices, Rufgruppen Nummer, Länge und gezeigter Text auf das gewünschte anpassen.&lt;br /&gt;
&lt;br /&gt;
== Bekannte Probleme / Fehlersuche ==&lt;br /&gt;
=== Fehler nach Firmware Update ===&lt;br /&gt;
Typischer Fehler ist hier &amp;quot;Error: 403 Forbidden&amp;quot;. &lt;br /&gt;
Nach einem Firmwareupdate der Fritzbox am besten auch FHEM neu starten.&lt;br /&gt;
&lt;br /&gt;
=== Modul bleibt im Status &amp;quot;Check APIs&amp;quot; hängen===&lt;br /&gt;
Im Log steht die Meldung: &amp;quot;Error: Timeout when reading Fritz!Box data.&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Mögliche Ursache: Nutzung des FHEM-Befehls [[FHEM_Command_Beispiele#rereadcfg|rereadcfg]]. Dieser verträgt sich nicht mit dem Modul &amp;quot;blocking.pm&amp;quot;, das für parallel laufende FHEM-Prozesse genutzt wird.&lt;br /&gt;
&lt;br /&gt;
Abhilfe schafft ein Neustart &amp;lt;code&amp;gt;shutdown restart&amp;lt;/code&amp;gt; oder das Einfügen eines zusätzlichen, lokalen Telnet-Ports z.B. durch &amp;lt;code&amp;gt;define tPortLocal telnet 7073&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Nachtschaltung Doppel-WLAN ===&lt;br /&gt;
Beim Abschalten des WLAN über das Modul wird (über TR064) zuerst das 2.4 GHz und dann das 5 GHz WLAN ausgeschaltet. Bei der gleichzeitigen Nutzung der WLAN-Nachtschaltung (Anschalten über das Fritz!OS) wird dann jedoch nur noch das 5 GHz WLAN wieder angeschaltet. Die Box interpretiert den TR064-Befehl anscheinend als ein komplettes Abwählen des 2.4 GHz WLAN.&lt;br /&gt;
&lt;br /&gt;
Abhilfe schafft hier nur ein notify auf das 5 GHz WLAN mit einem nachträglichem Anschalten des 2.4 GHz WLAN.&lt;br /&gt;
&lt;br /&gt;
Alternativ kann das Ausschalten des WLANs nicht direkt über TR064-Kommandos, sondern über einen indirekten Weg erfolgen: über TR064 ein set call abzusetzen und hier den Tastencode zum Ausschalten des WLANs einzugeben, bei einer FritzBox 7490 wäre dies z. B. #96*0*. &lt;br /&gt;
Schaltet man über diese Methode das WLAN aus, kann es über die Nachtschaltung wieder automatisch auf beiden Frequenzen angeschaltet werden.&lt;br /&gt;
&lt;br /&gt;
=== Kabelboxen ===&lt;br /&gt;
Bei Fritz!Boxen für den Kabelanschluss (z.B. Kabel Deutschland) scheint neben Telnet auch die TR064-API nicht zu funktionieren. Vermutlich wurde die API von AVM auf Betreiberwunsch deaktiviert, da man sonst Dinge ändern kann, die das gesamte Kabelnetz stören können.&lt;br /&gt;
&lt;br /&gt;
Zumindest für Unitymedia und einer FRITZ!Box 6490 Cable (lgi) mit FRITZ!OS:06.50 funktioniert TR064. &lt;br /&gt;
&lt;br /&gt;
Eine Rufumleitung bei Abwesenheit (Modul PRESENCE) funktioniert mit einer vorher eingerichten Telefonnummer wie folgt: &lt;br /&gt;
&amp;lt;code&amp;gt;define Rufumleitung DOIF ([Anwesenheit.dum:state] eq &amp;quot;off&amp;quot;) (set FritzBox6490 diversity 1 on) DOELSEIF ([Anwesenheit.dum:state] eq &amp;quot;on&amp;quot;) (set FritzBox6490 diversity 1 off)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Wenn&#039;s nicht klingelt ===&lt;br /&gt;
Das Klingeln erfolgt über die Wählhilfe. Eventuell muss über die Weboberfläche der Fritz!Box ein anderer Port eingestellt werden. Der aktuelle steht in &amp;quot;box_stdDialPort&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== TR064-Transport-Error: 500 Can&#039;t connect to ...:49443 (certificate verify failed) ===&lt;br /&gt;
Eventuell hilft es, die Perl Module Net::HTTPS, Net::SSL und IO::Socket::SSL zu aktualisieren.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Error: Old SID not valid anymore.&amp;quot; nach Erlauben von IPv6 auf der Fritzbox ===&lt;br /&gt;
Ohne hier den genauen Grund zu kennen - es hilft die Angabe der IPv4-Adresse: also statt &amp;lt;code&amp;gt;define FritzBox FRITZBOX&amp;lt;/code&amp;gt; dann &amp;lt;code&amp;gt;define FritzBox FRITZBOX &amp;lt;IP&amp;gt;&amp;lt;/code&amp;gt; (z.B. &amp;lt;code&amp;gt;define FritzBox FRITZBOX 192.168.10.1&amp;lt;/code&amp;gt;), so dass das Modul nicht über IPv6 geht.&lt;br /&gt;
&lt;br /&gt;
=== &amp;quot;Didn&#039;t get a session ID&amp;quot; ===&lt;br /&gt;
Bei gleichzeitiger Nutzung anderer Modul für die Fritzbox (z.B. {{Link2CmdRef|Anker=FBAHAHTTP|Lang=en|Label=FBAHAHTTP}}) muss der Zugang über Benutzername und Password erfolgen.&amp;lt;br&amp;gt;&lt;br /&gt;
:&amp;lt;code&amp;gt;attr &amp;lt;DEVICE&amp;gt; boxUser &amp;lt;USER&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Da das FRITZBOX-Modul eine inoffizielle Schnittstelle benutzt, muss dann auch der normale Zugang zur Box auf &amp;quot;Benutzername und Password&amp;quot; eingestellt sein.&amp;lt;bR&amp;gt;&lt;br /&gt;
In der Firmware 6.92 wird der Zugang über die Menüs &amp;quot;System&amp;quot;-&amp;gt;&amp;quot;Fritz!Box-Benutzer&amp;quot;-&amp;gt;&amp;quot;Anmeldung im Heimnetz&amp;quot; eingestellt.&lt;br /&gt;
&lt;br /&gt;
Oft wird aber auch ein falsches oder gar kein Passwort gesetzt.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;set &amp;lt;DEVICE&amp;gt; password &amp;lt;PASSWORD&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===  TR064-Error 401:invalid action ===&lt;br /&gt;
Eventuell ist auf der Fritzbox ein Benutzer gesetzt und im Modul nicht korrekt angegeben bzw. mit falschen Rechten versehen (attribut boxUser).&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=29725|LinkText=Forenthread}} zu diesem Modul&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FritzBox]] &lt;br /&gt;
&amp;lt;!-- (Modulkategorie wird automatisch gesetzt) --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Akustische Ausgabe]]&lt;/div&gt;</summary>
		<author><name>Mark79</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MQTT2-Module_-_Praxisbeispiele&amp;diff=28398</id>
		<title>MQTT2-Module - Praxisbeispiele</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MQTT2-Module_-_Praxisbeispiele&amp;diff=28398"/>
		<updated>2018-11-17T17:51:48Z</updated>

		<summary type="html">&lt;p&gt;Mark79: /* Define eines MQTT2-Devices als &amp;quot;Bridge&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Einführung: MQTT2 vs. MQTT ==&lt;br /&gt;
Zur Einbindung von Geräten, welche mit einem MQTT-Server (früher: Broker) kommunizieren können, stehen unter FHEM zwei Optionen zur Verfügung: Man kann entweder einen dedizierten Server (wie z.B. mosquitto) nutzen, der dann über das Modul [[MQTT]] eingebunden wird und zu dem die Module [[MQTT_DEVICE]] und {{Link2CmdRef|Anker=MQTT_BRIDGE|Lang=en|Label=MQTT_BRIDGE}} gehören (bzw. noch MQTT_GENERIC_BRIDGE), oder man kann mit Hilfe des Moduls {{Link2CmdRef|Anker=MQTT2_SERVER|Lang=en|Label=MQTT2_SERVER}} FHEM selbst zum MQTT-Server machen.&lt;br /&gt;
{{Hinweis|Man kann auch beide Ansätze gleichzeitig nutzen, sollte dann aber darauf achten, dass man an dem MQTT-Device eine &#039;&#039;client-ID&#039;&#039; vergibt.}}&lt;br /&gt;
&lt;br /&gt;
Gegenstand dieses Artikels sind Beispiele, wie MQTT-Client-Geräte mit Hilfe der MQTT2-Implementierung ohne einen weiteren Server wie mosquitto genutzt werden können. {{Link2CmdRef|Anker=MQTT2_DEVICE|Lang=en|Label=MQTT2_DEVICE}} unterstützt dabei die &#039;&#039;setextensions&#039;&#039; direkt, also z.B. &#039;&#039;on-for-timer&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Für alle Beispiele wird vorausgesetzt, dass ein MQTT2_SERVER-Device als Server definiert wurde. Es wird in einer Installation nur ein eiziger MQTT2_SERVER benötigt. Für dieser sollte dabei &#039;&#039;autocreate&#039;&#039; aktiviert werden, damit die erforderlichen MQTT2_DEVICES soweit möglich automatisiert erstellt werden. Die nachfolgende Code-Darstellung ist jeweils im RAW-Format zum [[Import von Code Snippets]].&lt;br /&gt;
&lt;br /&gt;
== zigbee2mqtt ==&lt;br /&gt;
[[Bild:MQTT2_zigbee2mqtt_Bulbs.png|400px|thumb|Darstellung in FHEMWEB]]&lt;br /&gt;
[https://https://github.com/Koenkk/zigbee2mqtt zigbee2mqtt] ist ein open-source Projekt, mit dem zigbee-Geräte über MQTT direkt angesprochen werden können, ohne dass hierfür eine Bridge eines Herstellers benötigt wird.&lt;br /&gt;
=== Installation von zigbee2mqtt ===&lt;br /&gt;
Die Installation ist auf der Homepage des Projekts beschrieben. Ergänzend muß in der configuration.yaml eine &#039;&#039;client_id&#039;&#039; unter &#039;&#039;mqtt&#039;&#039; (z.B. zigbee_pi) vergeben werden. &lt;br /&gt;
&lt;br /&gt;
=== Define eines MQTT2-Devices als &amp;quot;Bridge&amp;quot; === &lt;br /&gt;
Dann kann eine Art &amp;quot;Grund-Device&amp;quot; angelegt werden, über das die gesamte Kommunikation zu allen angeschlossenen Zigbee-Geräten dann läuft. In der Regel sollte dieses automatisch erstellt werden, wenn der zigbee2mqtt-Dienst (oder der betreffende Rechner) neu gestartet wird:&lt;br /&gt;
 &lt;br /&gt;
 defmod MQTT2_zigbee_pi MQTT2_DEVICE zigbee_pi&lt;br /&gt;
 attr MQTT2_zigbee_pi IODev MQTT2_FHEM_Server&lt;br /&gt;
 attr MQTT2_zigbee_pi setList permit_join:true,false zigbee2mqtt/bridge/config/permit_join $EVTPART1&lt;br /&gt;
 remove:textField zigbee2mqtt/bridge/config/remove $EVTPART1&lt;br /&gt;
 log_level:debug,info,warn,error zigbee2mqtt/bridge/config/log_level $EVTPART1&lt;br /&gt;
 rename:textField zigbee2mqtt/bridge/config/rename  {&amp;quot;old&amp;quot;:&amp;quot;$EVTPART1&amp;quot;,&amp;quot;new&amp;quot;:&amp;quot;$EVTPART2&amp;quot;}&lt;br /&gt;
 network_map:raw,graphviz zigbee2mqtt/bridge/networkmap  $EVTPART1&lt;br /&gt;
 devicelist:noArg zigbee2mqtt/bridge/config/devices&lt;br /&gt;
&lt;br /&gt;
Ist dieses angelegt, kann zigbee2mqtt mit &amp;lt;code&amp;gt;set MQTT2_zigbee_pi permit_join true&amp;lt;/code&amp;gt; in den Anlernmodus versetzt werden, anzulernende Geräte müssen dann nach Bedienungsanleitung in den Anlernmodus gebracht werden.&lt;br /&gt;
&lt;br /&gt;
Nach einem Browser-refresh sollte das neue Device zusätzliche Readings in MQTT2_zigbee_pi erzeugt haben.&lt;br /&gt;
Wer möchte, kann die Devices dann umbenennen; da diese in FHEM aber nachfolgend sowieso eigene Namen erhalten, kann dieses auch unterbleiben.&lt;br /&gt;
&lt;br /&gt;
=== Vereinzeln der eigentlichen Geräte ===&lt;br /&gt;
&lt;br /&gt;
Anschließend kann man - am einfachsten über die Anpassung der RAW-Definition des &amp;quot;Bridge&amp;quot;-Devices - neue MQTT2_DEVICE-Geräte ableiten (also manuell anlegen), die dann jeweils nur den Teil der readingList abbilden, der zu einem einzelnen pysischen Gerät gehört. &lt;br /&gt;
&lt;br /&gt;
Beispiele:&lt;br /&gt;
==== IKEA-Tradfri-Birne ====&lt;br /&gt;
Beispiel eines dimmbaren Tradfri-Leuchtmittels&lt;br /&gt;
 defmod IKEA_Bulb2 MQTT2_DEVICE&lt;br /&gt;
 attr IKEA_Bulb2 IODev MQTT2_FHEM_Server&lt;br /&gt;
 attr IKEA_Bulb2 eventMap on:ON:off off:OFF:on&lt;br /&gt;
 attr IKEA_Bulb2 icon light_control&lt;br /&gt;
 attr IKEA_Bulb2 readingList zigbee_pi:zigbee2mqtt/Kueche_Durchgang_A2:.* { json2nameValue($EVENT) }&lt;br /&gt;
 attr IKEA_Bulb2 setList on zigbee2mqtt/Kueche_Durchgang_A2/set {&amp;quot;state&amp;quot;:&amp;quot;ON&amp;quot;}\&lt;br /&gt;
 off zigbee2mqtt/Kueche_Durchgang_A2/set {&amp;quot;state&amp;quot;:&amp;quot;OFF&amp;quot;}\&lt;br /&gt;
 brightness:colorpicker,BRI,0,15,255 zigbee2mqtt/Kueche_Durchgang_A2/set {&amp;quot;state&amp;quot;:&amp;quot;on&amp;quot;,&amp;quot;$EVTPART0&amp;quot;:&amp;quot;$EVTPART1&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
 attr IKEA_Bulb2 webCmd brightness&lt;br /&gt;
&lt;br /&gt;
Kann man auch die Farbtemperatur einstellen, wird die setList wie folgt erweitert:&lt;br /&gt;
 ...&lt;br /&gt;
 color_temp:colorpicker,CT,250,1,454 zigbee2mqtt/ikea_flur_oben/set {&amp;quot;$EVTPART0&amp;quot;:&amp;quot;$EVTPART1&amp;quot;}&lt;br /&gt;
webCmd muß dann ebenfalls noch ergänzt werden.&lt;br /&gt;
&lt;br /&gt;
Für ein dynamisches Icon, das die Helligkeit wiedergibt, kann man folgenden Code in [[99 myUtils anlegen|myUtils]] verwenden und mit &amp;lt;code&amp;gt;attr IKEA_Bulb2 devStateIcon {devStateIcon255($name)}&amp;lt;/code&amp;gt; einbinden:&lt;br /&gt;
&lt;br /&gt;
 ##############################################&lt;br /&gt;
 # $Id: myUtils_Color.pm 08-15 2018-10-08 18:31:44Z Beta-User $&lt;br /&gt;
 #&lt;br /&gt;
 &lt;br /&gt;
 package main;&lt;br /&gt;
 &lt;br /&gt;
 use strict;&lt;br /&gt;
 use warnings;&lt;br /&gt;
 use POSIX;&lt;br /&gt;
 &lt;br /&gt;
 sub&lt;br /&gt;
 myUtils_Color_Initialize($$)&lt;br /&gt;
 {&lt;br /&gt;
  my ($hash) = @_;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 # Enter you functions below _this_ line.&lt;br /&gt;
 &lt;br /&gt;
 sub devStateIcon255($) {&lt;br /&gt;
 my $name = shift(@_);&lt;br /&gt;
 return &amp;quot;.*:off:toggle&amp;quot; if( ReadingsVal($name,&amp;quot;state&amp;quot;,&amp;quot;ON&amp;quot;) eq &amp;quot;OFF&amp;quot; );&lt;br /&gt;
 my %dim_values = (&lt;br /&gt;
   0 =&amp;gt; &amp;quot;dim06%&amp;quot;,&lt;br /&gt;
   1 =&amp;gt; &amp;quot;dim12%&amp;quot;,&lt;br /&gt;
   2 =&amp;gt; &amp;quot;dim18%&amp;quot;,&lt;br /&gt;
   3 =&amp;gt; &amp;quot;dim25%&amp;quot;,&lt;br /&gt;
   4 =&amp;gt; &amp;quot;dim31%&amp;quot;,&lt;br /&gt;
   5 =&amp;gt; &amp;quot;dim37%&amp;quot;,&lt;br /&gt;
   6 =&amp;gt; &amp;quot;dim43%&amp;quot;,&lt;br /&gt;
   7 =&amp;gt; &amp;quot;dim50%&amp;quot;,&lt;br /&gt;
   8 =&amp;gt; &amp;quot;dim56%&amp;quot;,&lt;br /&gt;
   9 =&amp;gt; &amp;quot;dim62%&amp;quot;,&lt;br /&gt;
  10 =&amp;gt; &amp;quot;dim68%&amp;quot;,&lt;br /&gt;
  11 =&amp;gt; &amp;quot;dim75%&amp;quot;,&lt;br /&gt;
  12 =&amp;gt; &amp;quot;dim81%&amp;quot;,&lt;br /&gt;
  13 =&amp;gt; &amp;quot;dim87%&amp;quot;,&lt;br /&gt;
  14 =&amp;gt; &amp;quot;dim93%&amp;quot;,&lt;br /&gt;
 );&lt;br /&gt;
 &lt;br /&gt;
 my $pct = ReadingsVal($name,&amp;quot;brightness&amp;quot;,&amp;quot;255&amp;quot;);&lt;br /&gt;
 my $s = $dim_values{int($pct/18)};&lt;br /&gt;
 $s=&amp;quot;on&amp;quot; if( $pct &amp;gt; 253 );&lt;br /&gt;
 return &amp;quot;.*:$s:off&amp;quot;;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 1;&lt;br /&gt;
&lt;br /&gt;
==== Temp/Hum. Sensor ====&lt;br /&gt;
tbd&lt;br /&gt;
&lt;br /&gt;
== Tasmota ==&lt;br /&gt;
[https://github.com/arendst/Sonoff-Tasmota Tasmota] ist eine open-source Software für ESP8266-Geräte, die z.B. statt der originalen firmware für Sonoff-Geräte verwendet werden kann. {{Randnotiz|RNTyp=r|RNText=Bitte beachten Sie, dass versicherungsrechtliche Probleme entstehen können, wenn die die herstellereigene firmware ersetzt wird!}}&lt;br /&gt;
&lt;br /&gt;
=== MQTT2_DEVICE ===&lt;br /&gt;
Dieses sollte bei aktiviertem &#039;&#039;autocreate&#039;&#039; am MQTT2_SERVER-Device automatisch angelegt werden, sobald das betreffende Gerät eingesteckt oder neu gestartet wird oder an einem evtl. vorhandenen Taster geschalten. Hier wurden Tasmota version(en) 6.1.1 und 6.2.1 getestet, Hardware war Sonoff Touch und S20.&lt;br /&gt;
&lt;br /&gt;
=== Anpassungen ===&lt;br /&gt;
Die RAW-Definition kann dann beispielsweise wie folgt ergänzt werden:  &lt;br /&gt;
 defmod MQTT2_DVES_9B01BD MQTT2_DEVICE DVES_9B01BD&lt;br /&gt;
 attr MQTT2_DVES_9B01BD IODev m2server&lt;br /&gt;
 attr MQTT2_DVES_9B01BD readingList DVES_9B01BD:tele/sonoffkitchen/STATE:.* { json2nameValue($EVENT) }\&lt;br /&gt;
 DVES_9B01BD:tele/sonoffkitchen/LWT:.* LWT\&lt;br /&gt;
 DVES_9B01BD:cmnd/sonoffkitchen/POWER:.* POWER\&lt;br /&gt;
 DVES_9B01BD:tele/sonoffkitchen/UPTIME:.* { json2nameValue($EVENT) }\&lt;br /&gt;
 DVES_9B01BD:stat/sonoffkitchen/RESULT:.* { json2nameValue($EVENT) }\&lt;br /&gt;
 DVES_9B01BD:stat/sonoffkitchen/POWER:.* POWER&lt;br /&gt;
 attr MQTT2_DVES_9B01BD room MQTT2_DEVICE&lt;br /&gt;
 attr MQTT2_DVES_9B01BD setList on cmnd/sonoff/POWER on\&lt;br /&gt;
 off cmnd/sonoff/POWER off\&lt;br /&gt;
 reboot cmnd/sonoff/Restart 1&lt;br /&gt;
 attr MQTT2_DVES_9B01BD webCmd on:off:reboot&lt;br /&gt;
&lt;br /&gt;
== Milight-Bridge ==&lt;br /&gt;
[[Bild:MQTT2 MiLight.png|400px|thumb|Darstellung in FHEMWEB]]&lt;br /&gt;
=== Vorbemerkung ===&lt;br /&gt;
Der [https://github.com/sidoh/esp8266_milight_hub esp8266_milight_hub] ist ein open source- Projekt, mit dem auf Basis von &#039;&#039;openmili&#039;&#039; eine Vielzahl von MiLight-Geräten gesteuert werden können. Der MiLight-Hub erstetzt dabei eine beliebige Zahl von Milight-Bridges und ist auch zu verschiedenen Versionen des MiLight-Protokols kompatibel.&lt;br /&gt;
Neben MQTT kann dieser auch mit HTTPMOD oder Wifilight (bzw. den MiLight-Modulen) gesteuert werden. Die Hardware entspriche dabei im Wesentlichen einem MySensors-Wifi-Gateway, es wird lediglich ein anderer CS-PIN genutzt, was allerdings in der Web-Oberfläche auch so umgestellt werden kann.&lt;br /&gt;
Hier wird vorausgesetzt, dass eine funktionierende Bridge vorhanden ist.&lt;br /&gt;
Der Vorteil der MQTT-Lösung liegt darin, dass man bei kompatiblen Fernbedienungen auch direkt Informationen über Schaltvorgänge erhält, die mit diesen ausgelöst werden.&lt;br /&gt;
&lt;br /&gt;
=== Einstellungen am MiLight-Hub ===&lt;br /&gt;
Die zum FHEM-Server bzw. dem MQTT2_SERVER passenden Einstellungen sind im Web-Interface des Hub einzustellen. Um auch %-Werte für die Helligkeit zu erhalten, sollten diese ebenfalls als zu sendendes Element ausgewählt werden.&lt;br /&gt;
&lt;br /&gt;
=== FHEM-Devices ===&lt;br /&gt;
==== Bridge ====&lt;br /&gt;
Danach wird ein zentrales &amp;quot;Bridge-Device&amp;quot; definiert, über das später alle Informationen aller MiLight-Kanäle laufen bzw. zurückgemeldet werden.&lt;br /&gt;
 define Milight_Bridge MQTT2_DEVICE milight_hub_1370325&lt;br /&gt;
 attr Milight_Bridge IODev MQTT2_FHEM_Server&lt;br /&gt;
 attr Milight_Bridge readingList milight_hub_1370325:milight/updates/0xBE59/rgbw/0:.* { json2nameValue($EVENT) }\&lt;br /&gt;
 milight_hub_1370325:milight/updates/0xBE59/rgbw/1:.* { json2nameValue($EVENT) }\&lt;br /&gt;
 ...&lt;br /&gt;
 milight_hub_1370325:milight/states/0x..../rgb_cct/1:.* { json2nameValue($EVENT) }&lt;br /&gt;
&lt;br /&gt;
==== Einzelne Leuchtmittel ====&lt;br /&gt;
Um dann einzelne Geräte für jedes Leuchtmittel bzw. jede zu schaltende Gruppe zu erhalten, kopiert man dann (am besten über die RAW-Definition) die relevanten Teile aus dem Bridge-Device. Beispiel:&lt;br /&gt;
 define Licht_Essen MQTT2_DEVICE&lt;br /&gt;
 attr Licht_Essen IODev MQTT2_FHEM_Server&lt;br /&gt;
 attr Licht_Essen eventMap /set_white:Weiss/night_mode:Nacht/white_mode:white/on:on/off:off/ON:on/OFF:off/&lt;br /&gt;
 attr Licht_Essen icon light_control&lt;br /&gt;
 attr Licht_Essen readingList milight_hub_1370325:milight/states/0xBE59/rgbw/0:.* { json2nameValue($EVENT) }\&lt;br /&gt;
 milight_hub_1370325:milight/states/0xBE59/rgbw/1:.* { json2nameValue($EVENT) }&lt;br /&gt;
 attr Licht_Essen room Esszimmer&lt;br /&gt;
 attr Licht_Essen setList on milight/0xBE59/rgbw/1 {&amp;quot;status&amp;quot;:&amp;quot;ON&amp;quot;}\&lt;br /&gt;
 off milight/0xBE59/rgbw/1 {&amp;quot;status&amp;quot;:&amp;quot;OFF&amp;quot;}\&lt;br /&gt;
 level:colorpicker,BRI,0,1,100 milight/0xBE59/rgbw/1 {&amp;quot;$EVTPART0&amp;quot;:&amp;quot;$EVTPART1&amp;quot;}\&lt;br /&gt;
 hue:colorpicker,HUE,0,1,359 milight/0xBE59/rgbw/1 {&amp;quot;$EVTPART0&amp;quot;:&amp;quot;$EVTPART1&amp;quot;}\&lt;br /&gt;
 command milight/0xBE59/rgbw/1 {&amp;quot;$EVTPART0&amp;quot;:&amp;quot;$EVTPART1&amp;quot;}\&lt;br /&gt;
 brightness milight/0xBE59/rgbw/1 {&amp;quot;$EVTPART0&amp;quot;:&amp;quot;$EVTPART1&amp;quot;}\&lt;br /&gt;
&lt;br /&gt;
 attr Licht_Essen webCmd level:hue:command&lt;br /&gt;
 attr Licht_Essen widgetOverride state command:uzsuSelectRadio,Weiss,Nacht &lt;br /&gt;
&lt;br /&gt;
Indem man in der &#039;&#039;readingList&#039;&#039; sowohl den einzelnen Kanal wie die Gruppenadresse (&#039;&#039;0&#039;&#039;) angibt, erhält man auch Rückmeldungen über Schaltvorgänge, die die Gruppe betreffen.&lt;br /&gt;
Wer mag, kann dann noch ein Device anlegen, das nur den &#039;&#039;0&#039;&#039;-Kanal abbildet; über dieses werden dann alle Leuchtmittel geschaltet, die zu der betreffenden Gruppenadresse gehören (im obigen Beispiel: 0xBE59).&lt;br /&gt;
&lt;br /&gt;
Für ein dynamisches Icon kann derselbe code verwendet werden wir bei Tradfri beschrieben, dazu muss in der MQTT-Konfiguration des Milight-Hub auch &amp;quot;brightness&amp;quot; mit als zu sendendes Element eingestellt bleiben. &lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* {{Link2Forum|Topic=91394|LinkText=Thread, aus dem diese Anleitung ursprünglich entstanden ist}}&lt;br /&gt;
* {{Link2Forum|Topic=91807|LinkText=Thread zum Tasmota-Device}}&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
[[Kategorie:HOWTOS]]&lt;br /&gt;
[[Kategorie:MQTT]]&lt;br /&gt;
[[Kategorie:Zigbee]]&lt;br /&gt;
[[Kategorie:IP Components|IP Komponenten]]&lt;br /&gt;
[[Kategorie:Other Components]]&lt;br /&gt;
[[Kategorie:Interfaces]]&lt;/div&gt;</summary>
		<author><name>Mark79</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Rock64&amp;diff=27110</id>
		<title>Rock64</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Rock64&amp;diff=27110"/>
		<updated>2018-06-14T16:10:39Z</updated>

		<summary type="html">&lt;p&gt;Mark79: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beim Rock64 handelt es sich um einen Einplatinencomputer von Pine64 [https://www.pine64.org/?page_id=7147] mit dem Rockchip RK3328 Quad-Core ARM Cortex A53 64-Bit Prozessor und wahlweise 1 GB, 2 GB, oder 4 GB LPDDR3 Ram Speicher.&amp;lt;br/&amp;gt;&lt;br /&gt;
Das Board bietet 1x Gigabit LAN, 1x USB3, 2x USB2, eMMC-Modulsockel, 128Mb SPI Flash Speicher, MicroSD-Kartensteckplatz, native AES Verschlüsselung, Pi-2 Bus, Pi-P5+ Bus, IR Receiver &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Das Boardlayout ist von den Maßen baugleich mit dem Raspberry Pi 2-3. Allerdings hat das Rock64 eine runde Stromversorungsbuche, mit einer kleinen Modifikation können Gehäuse für den Raspberry 2-3, auch für den Rock64 verwendet werden.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Ein Nachteil ist leider, das man kein HM-Funkmodul aufstecken kann. Der UART lässt sich nicht mit eigenen Treibern nutzen und ist fix auf 1.5MBaud eingestellt.&amp;lt;br/&amp;gt;&lt;br /&gt;
Es empfiehlt sich daher das HM-Funkmodul per Seriellen USB Wandler, ESP8266, oder MapleCUN anzubinden.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Zum Vergleich ist in der Tabelle, der (Rock64) und (Raspberry Pi 3b) aufgeführt. Die Tabelle soll nur einen Überblick darstellen und erhebt keinen Anspruch auf Vollständigkeit.&amp;lt;br/&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable zebra toptextcells&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Eigenschaft !! Rock64  || Raspberry Pi &#039;&#039;&#039;3&#039;&#039;&#039; Model B&lt;br /&gt;
|-&lt;br /&gt;
| SOC         || RK3328  || Broadcom BCM2837&lt;br /&gt;
|-&lt;br /&gt;
| ARM Cortex  || A53 		|| A53&lt;br /&gt;
|-&lt;br /&gt;
| Takt        ||  4x 1.5 Ghz    || 4x 1.2GHz&lt;br /&gt;
|-&lt;br /&gt;
| RAM         || 1,2,4 Gbyte DDR 3     || 1Gbyte&lt;br /&gt;
|-&lt;br /&gt;
|  Arbeits&amp;amp;shy;speicher || eMMC Slot&amp;lt;br/&amp;gt;128Mb SPI Flash memory&amp;lt;br/&amp;gt;microSD || microSD&lt;br /&gt;
|-&lt;br /&gt;
| IR        || Ja     || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Peripherie || 1x USB 3.0 Host&amp;lt;br/&amp;gt;2x USB 2 Host (USB-OTG)&amp;lt;br/&amp;gt;Gigabit Ethernet&amp;lt;br/&amp;gt;HDMI 2.0a output up to 4K@60Hz&amp;lt;br/&amp;gt;2x20 pins &amp;quot;Pi2&amp;quot; GPIO Header&amp;lt;br/&amp;gt;2x11 pins &amp;quot;Pi P5+&amp;quot; GPIO Header (with 2nd 10/100Mbps Ethernet pins) || 4x USB 2 Host&amp;lt;br/&amp;gt;CSI camera port&amp;lt;br/&amp;gt;DSI display port&amp;lt;br/&amp;gt;Stereo Ausgang und Composite video&amp;lt;br/&amp;gt;Wifi+BT wireless&amp;lt;br/&amp;gt;40-pin extended GPIO&lt;br /&gt;
|-&lt;br /&gt;
| Power || 5V 3A&amp;lt;br/&amp;gt; Stecker innen 1.35mm und außen 3.5mm (Type H Barrel type DC connector)|| 5V 2.5A micro USB&lt;br /&gt;
|-&lt;br /&gt;
| Preis ca. &amp;lt;small&amp;gt;(Stand Dezember 2018)&amp;lt;/small&amp;gt; || ca 21-38€ || 38€&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Das Rock64 Board gibt es in drei Versionen. Mit 1 GB, 2 GB oder 4 GB. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vefügbare Betriebssysteme ==&lt;br /&gt;
[https://www.armbian.com/rock64/ Armbian Images (Empfohlen)]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://dl.armbian.com/rock64/ Armbian DEV Images (Empfohlen)]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://github.com/ayufan-rock64/linux-build ayufan Images]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://wiki.pine64.org/index.php/ROCK64_Main_Page#CPU_Architecture weitere Rock64 Images]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erste Inbetriebnahme ==&lt;br /&gt;
Als Betriebssystem eignet sich Armbian, oder die Ayufan Linux images.&amp;lt;br/&amp;gt;&lt;br /&gt;
In diesem Artikel wird die Installation mit Armbian auf SD Karte mit Hilfe eines Windows PC beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Download von Armbian und Vorbereitung der SD Karte ===&lt;br /&gt;
Von der obigen Image Auswahl kann ein Image heruntergeladen werden. Sofern der Rock64 hauptsächlich ohne Tastatur und Monitor betrieben wird, empfiehlt es sich sehr ein Headless Image zu verwenden.&lt;br /&gt;
Nach dem Auspacken unter Windows wird das Image mit dem Etcher Tool https://www.etcher.io/ auf die SD Karte geschrieben.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
Die SD Karte in den Kartenleser am PC stecken, Etcher starten, das gewünschte Image auswählen, danach die Speicherkarte auswählen und zum Schluss wird mit &amp;quot;Flash!&amp;quot;, der Flashvorgang gestartet.&lt;br /&gt;
&lt;br /&gt;
Nach dem flashen die SD Karte in den Rock64 stecken.&lt;br /&gt;
Stromversorgung einschalten.&lt;br /&gt;
Warten bis Armbian das Dateisystem vorbereitet hat.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Weiteres bearbeiten des Systems über SSH ===&lt;br /&gt;
Armbian kommt mit einem vorinstallierten SSH Server. Man sollte sich nach der installation über Putty mit dem System verbinden können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
username = root&lt;br /&gt;
password = 1234&lt;br /&gt;
&lt;br /&gt;
Über den Befehl:&lt;br /&gt;
armbian-config&lt;br /&gt;
Hat man auf umfangreiche Einstellungen zugriff.&lt;br /&gt;
z.B. &lt;br /&gt;
Zeitzone einstellen&lt;br /&gt;
Router Verbindungen einstellen DHCP/Static etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update auf den neusten Kernel ===&lt;br /&gt;
Um gleich das System zu aktualisieren geht es gleich in der Bash weiter&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get dist-upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation von FHEM ==&lt;br /&gt;
Die FHEM installation kann danach von der Bash aus gestartet werden.&lt;br /&gt;
Dazu über Putty Verbindung aufbauen und FHEM Installieren. Laut der FHEM for Debian Seite ist folgendes zu tun.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
wget -qO - http://debian.fhem.de/archive.key | apt-key ad&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zu der Datei /etc/apt/sources.list folgendes anfügen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
deb http://debian.fhem.de/nightly/ /&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
danach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install fhem&lt;br /&gt;
reboot now&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte FHEM unter eurer Rock64 IP erreichbar sein.&lt;br /&gt;
Als erstes in die FHEM Commandozeile folgendes eingeben&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
update all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weitere Konfiguartion==&lt;br /&gt;
Zusätzlich zu der Grundinstallation lassen sich noch weitere Einstellungen vornhemen. Grundsätzlich sind alle Änderungen auch mit der Linux bash und apt-get etc. durchzuführen. &lt;br /&gt;
&lt;br /&gt;
==Zusätzliche Perl Module==&lt;br /&gt;
Falls, je nach Nutzung von FHEM, noch zusätzliche FHEM Module installiert werden müssen konnte ich dies immer mit den Debian Paket Manager nach den Anleitungen aus dem FHEM Forum oder der WIKI für debian-jessie tun.&amp;lt;br/&amp;gt;&lt;br /&gt;
Zum Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
JSON&lt;br /&gt;
apt-get install libjson-perl&lt;br /&gt;
&lt;br /&gt;
AES&lt;br /&gt;
apt-get install libcrypt-cbc-perl&lt;br /&gt;
apt-get install libcrypt-rijndael-perl&lt;br /&gt;
apt-get install libssl-dev&lt;br /&gt;
apt-get install make&lt;br /&gt;
apt-get install gcc&lt;br /&gt;
cpan Crypt/OpenSSL/AES.pm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Einige Module sind schon vorhanden andere müssen eben wie gezeigt nachinstalliert werden.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
Link zum Rock64 [https://forum.pine64.org/ Pine64 Forum]&amp;lt;br/&amp;gt;&lt;br /&gt;
Link zum Rock64 [https://wiki.pine64.org/ Pine64 Wiki]&amp;lt;br/&amp;gt;&lt;br /&gt;
Link zum Armbian [https://forum.armbian.com/ Forum]&amp;lt;br/&amp;gt;&lt;br /&gt;
Link zur [https://debian.fhem.de/ FHEM for Debian] Seite&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Server Hardware]]&lt;/div&gt;</summary>
		<author><name>Mark79</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Rock64&amp;diff=27109</id>
		<title>Rock64</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Rock64&amp;diff=27109"/>
		<updated>2018-06-14T16:00:01Z</updated>

		<summary type="html">&lt;p&gt;Mark79: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beim Rock64 handelt es sich um einen Einplatinencomputer von Pine64 [https://www.pine64.org/?page_id=7147] mit dem Rockchip RK3328 Quad-Core ARM Cortex A53 64-Bit Prozessor und wahlweise 1 GB, 2 GB, oder 4 GB LPDDR3 Ram Speicher.&amp;lt;br/&amp;gt;&lt;br /&gt;
Das Board bietet 1x Gigabit LAN, 1x USB3, 2x USB2, eMMC-Modulsockel, 128Mb SPI Flash Speicher, MicroSD-Kartensteckplatz, native AES Verschlüsselung, Pi-2 Bus, Pi-P5+ Bus, IR Receiver &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Das Boardlayout ist von den Maßen baugleich mit dem Raspberry Pi 2-3. Allerdings hat das Rock64 eine runde Stromversorungsbuche, mit einer kleinen Modifikation können Gehäuse für den Raspberry 2-3, auch für den Rock64 verwendet werden.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Ein Nachteil ist leider, das man kein HM-Funkmodul aufstecken kann. Der UART lässt sich nicht mit eigenen Treibern nutzen und ist fix auf 1.5MBaud eingestellt.&amp;lt;br/&amp;gt;&lt;br /&gt;
Es empfiehlt sich daher das HM-Funkmodul per Seriellen USB Wandler, ESP8266, oder MapleCUN anzubinden.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Zum Vergleich ist in der Tabelle [[Rock64]] und [[Raspberry Pi 3b]] aufgeführt. Die Tabelle soll nur einen Überblick darstellen und erhebt keinen Anspruch auf Vollständigkeit.&amp;lt;br/&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable zebra toptextcells&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Eigenschaft !! Rock64  || Raspberry Pi &#039;&#039;&#039;3&#039;&#039;&#039; Model B&lt;br /&gt;
|-&lt;br /&gt;
| SOC         || RK3328  || Broadcom BCM2837&lt;br /&gt;
|-&lt;br /&gt;
| ARM Cortex  || A53 		|| A53&lt;br /&gt;
|-&lt;br /&gt;
| Takt        ||  4x 1.5 Ghz    || 4x 1.2GHz&lt;br /&gt;
|-&lt;br /&gt;
| RAM         || 1,2,4 Gbyte DDR 3     || 1Gbyte&lt;br /&gt;
|-&lt;br /&gt;
|  Arbeits&amp;amp;shy;speicher || eMMC Slot&amp;lt;br/&amp;gt;128Mb SPI Flash memory&amp;lt;br/&amp;gt;microSD || microSD&lt;br /&gt;
|-&lt;br /&gt;
| IR        || Ja     || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Peripherie || 1x USB 3.0 Host&amp;lt;br/&amp;gt;2x USB 2 Host (USB-OTG)&amp;lt;br/&amp;gt;Gigabit Ethernet&amp;lt;br/&amp;gt;HDMI 2.0a output up to 4K@60Hz&amp;lt;br/&amp;gt;2x20 pins &amp;quot;Pi2&amp;quot; GPIO Header&amp;lt;br/&amp;gt;2x11 pins &amp;quot;Pi P5+&amp;quot; GPIO Header (with 2nd 10/100Mbps Ethernet pins) || 4x USB 2 Host&amp;lt;br/&amp;gt;CSI camera port&amp;lt;br/&amp;gt;DSI display port&amp;lt;br/&amp;gt;Stereo Ausgang und Composite video&amp;lt;br/&amp;gt;Wifi+BT wireless&amp;lt;br/&amp;gt;40-pin extended GPIO&lt;br /&gt;
|-&lt;br /&gt;
| Power || 5V 3A&amp;lt;br/&amp;gt; Stecker innen 1.35mm und außen 3.5mm (Type H Barrel type DC connector)|| 5V 2.5A micro USB&lt;br /&gt;
|-&lt;br /&gt;
| Preis ca. &amp;lt;small&amp;gt;(Stand Dezember 2018)&amp;lt;/small&amp;gt; || ca 21-38€ || 38€&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Das Rock64 Board gibt es in drei Versionen. Mit 1 GB, 2 GB oder 4 GB. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vefügbare Betriebssysteme ==&lt;br /&gt;
[https://www.armbian.com/rock64/ Armbian Images (Empfohlen)]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://dl.armbian.com/rock64/ Armbian DEV Images (Empfohlen)]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://github.com/ayufan-rock64/linux-build ayufan Images]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://wiki.pine64.org/index.php/ROCK64_Main_Page#CPU_Architecture weitere Rock64 Images]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erste Inbetriebnahme ==&lt;br /&gt;
Als Betriebssystem eignet sich Armbian, oder die Ayufan Linux images.&amp;lt;br/&amp;gt;&lt;br /&gt;
In diesem Artikel wird die Installation mit Armbian auf SD Karte mit Hilfe eines Windows PC beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Download von Armbian und Vorbereitung der SD Karte ===&lt;br /&gt;
Von der obigen Image Auswahl kann ein Image heruntergeladen werden. Sofern der Rock64 hauptsächlich ohne Tastatur und Monitor betrieben wird, empfiehlt es sich sehr ein Headless Image zu verwenden.&lt;br /&gt;
Nach dem Auspacken unter Windows wird das Image mit dem Etcher Tool https://www.etcher.io/ auf die SD Karte geschrieben.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
Die SD Karte in den Kartenleser am PC stecken, Etcher starten, das gewünschte Image auswählen, danach die Speicherkarte auswählen und zum Schluss wird mit &amp;quot;Flash!&amp;quot;, der Flashvorgang gestartet.&lt;br /&gt;
&lt;br /&gt;
Nach dem flashen die SD Karte in den Rock64 stecken.&lt;br /&gt;
Stromversorgung einschalten.&lt;br /&gt;
Warten bis Armbian das Dateisystem vorbereitet hat.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Weiteres bearbeiten des Systems über SSH ===&lt;br /&gt;
Armbian kommt mit einem vorinstallierten SSH Server. Man sollte sich nach der installation über Putty mit dem System verbinden können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
username = root&lt;br /&gt;
password = 1234&lt;br /&gt;
&lt;br /&gt;
Über den Befehl:&lt;br /&gt;
armbian-config&lt;br /&gt;
Hat man auf umfangreiche Einstellungen zugriff.&lt;br /&gt;
z.B. &lt;br /&gt;
Zeitzone einstellen&lt;br /&gt;
Router Verbindungen einstellen DHCP/Static etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update auf den neusten Kernel ===&lt;br /&gt;
Um gleich das System zu aktualisieren geht es gleich in der Bash weiter&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get dist-upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation von FHEM ==&lt;br /&gt;
Die FHEM installation kann danach von der Bash aus gestartet werden.&lt;br /&gt;
Dazu über Putty Verbindung aufbauen und FHEM Installieren. Laut der FHEM for Debian Seite ist folgendes zu tun.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
wget -qO - http://debian.fhem.de/archive.key | apt-key ad&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zu der Datei /etc/apt/sources.list folgendes anfügen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
deb http://debian.fhem.de/nightly/ /&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
danach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install fhem&lt;br /&gt;
reboot now&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte FHEM unter eurer Rock64 IP erreichbar sein.&lt;br /&gt;
Als erstes in die FHEM Commandozeile folgendes eingeben&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
update all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weitere Konfiguartion==&lt;br /&gt;
Zusätzlich zu der Grundinstallation lassen sich noch weitere Einstellungen vornhemen. Grundsätzlich sind alle Änderungen auch mit der Linux bash und apt-get etc. durchzuführen. &lt;br /&gt;
&lt;br /&gt;
==Zusätzliche Perl Module==&lt;br /&gt;
Falls, je nach Nutzung von FHEM, noch zusätzliche FHEM Module installiert werden müssen konnte ich dies immer mit den Debian Paket Manager nach den Anleitungen aus dem FHEM Forum oder der WIKI für debian-jessie tun.&amp;lt;br/&amp;gt;&lt;br /&gt;
Zum Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
JSON&lt;br /&gt;
apt-get install libjson-perl&lt;br /&gt;
&lt;br /&gt;
AES&lt;br /&gt;
apt-get install libcrypt-cbc-perl&lt;br /&gt;
apt-get install libcrypt-rijndael-perl&lt;br /&gt;
apt-get install libssl-dev&lt;br /&gt;
apt-get install make&lt;br /&gt;
apt-get install gcc&lt;br /&gt;
cpan Crypt/OpenSSL/AES.pm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Einige Module sind schon vorhanden andere müssen eben wie gezeigt nachinstalliert werden.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
Link zum Rock64 [https://forum.pine64.org/ Pine64 Forum]&amp;lt;br/&amp;gt;&lt;br /&gt;
Link zum Rock64 [https://wiki.pine64.org/ Pine64 Wiki]&amp;lt;br/&amp;gt;&lt;br /&gt;
Link zum Armbian [https://forum.armbian.com/ Forum]&amp;lt;br/&amp;gt;&lt;br /&gt;
Link zur [https://debian.fhem.de/ FHEM for Debian] Seite&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Server Hardware]]&lt;/div&gt;</summary>
		<author><name>Mark79</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Rock64&amp;diff=27108</id>
		<title>Rock64</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Rock64&amp;diff=27108"/>
		<updated>2018-06-14T15:58:44Z</updated>

		<summary type="html">&lt;p&gt;Mark79: Die Seite wurde neu angelegt: „Beim Rock64 handelt es sich um einen Einplatinencomputer von Pine64 [https://www.pine64.org/?page_id=7147] mit dem Rockchip RK3328 Quad-Core ARM Cortex A53 64-…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Beim Rock64 handelt es sich um einen Einplatinencomputer von Pine64 [https://www.pine64.org/?page_id=7147] mit dem Rockchip RK3328 Quad-Core ARM Cortex A53 64-Bit Prozessor und wahlweise 1 GB, 2 GB, oder 4 GB LPDDR3 Ram Speicher.&amp;lt;br/&amp;gt;&lt;br /&gt;
Das Board bietet 1x Gigabit LAN, 1x USB3, 2x USB2, eMMC-Modulsockel, 128Mb SPI Flash Speicher, MicroSD-Kartensteckplatz, native AES Verschlüsselung, Pi-2 Bus, Pi-P5+ Bus, IR Receiver &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Das Boardlayout ist von den Maßen baugleich mit dem Raspberry Pi 2-3. Allerdings hat das Rock64 eine runde Stromversorungsbuche, mit einer kleinen Modifikation können Gehäuse für den Raspberry 2-3, auch für den Rock64 verwendet werden.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Ein Nachteil ist leider, das man kein HM-Funkmodul aufstecken kann. Der UART lässt sich nicht mit eigenen Treibern nutzen und ist fix auf 1.5MBaud eingestellt.&amp;lt;br/&amp;gt;&lt;br /&gt;
Es empfiehlt sich daher das HM-Funkmodul per Seriellen USB Wandler, ESP8266, oder MapleCUN anzubinden. &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Zum Vergleich ist in der Tabelle [[Rock64]] und [[Raspberry Pi 3b]] aufgeführt. Die Tabelle soll nur einen Überblick darstellen und erhebt keinen Anspruch auf Vollständigkeit.&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable zebra toptextcells&amp;quot; style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Eigenschaft !! Rock64  || Raspberry Pi &#039;&#039;&#039;3&#039;&#039;&#039; Model B&lt;br /&gt;
|-&lt;br /&gt;
| SOC         || RK3328  || Broadcom BCM2837&lt;br /&gt;
|-&lt;br /&gt;
| ARM Cortex  || A53 		|| A53&lt;br /&gt;
|-&lt;br /&gt;
| Takt        ||  4x 1.5 Ghz    || 4x 1.2GHz&lt;br /&gt;
|-&lt;br /&gt;
| RAM         || 1,2,4 Gbyte DDR 3     || 1Gbyte&lt;br /&gt;
|-&lt;br /&gt;
|  Arbeits&amp;amp;shy;speicher || eMMC Slot&amp;lt;br/&amp;gt;128Mb SPI Flash memory&amp;lt;br/&amp;gt;microSD || microSD&lt;br /&gt;
|-&lt;br /&gt;
| IR        || Ja     || Nein&lt;br /&gt;
|-&lt;br /&gt;
| Peripherie || 1x USB 3.0 Host&amp;lt;br/&amp;gt;2x USB 2 Host (USB-OTG)&amp;lt;br/&amp;gt;Gigabit Ethernet&amp;lt;br/&amp;gt;HDMI 2.0a output up to 4K@60Hz&amp;lt;br/&amp;gt;2x20 pins &amp;quot;Pi2&amp;quot; GPIO Header&amp;lt;br/&amp;gt;2x11 pins &amp;quot;Pi P5+&amp;quot; GPIO Header (with 2nd 10/100Mbps Ethernet pins) || 4x USB 2 Host&amp;lt;br/&amp;gt;CSI camera port&amp;lt;br/&amp;gt;DSI display port&amp;lt;br/&amp;gt;Stereo Ausgang und Composite video&amp;lt;br/&amp;gt;Wifi+BT wireless&amp;lt;br/&amp;gt;40-pin extended GPIO&lt;br /&gt;
|-&lt;br /&gt;
| Power || 5V 3A&amp;lt;br/&amp;gt; Stecker innen 1.35mm und außen 3.5mm (Type H Barrel type DC connector)|| 5V 2.5A micro USB&lt;br /&gt;
|-&lt;br /&gt;
| Preis ca. &amp;lt;small&amp;gt;(Stand Dezember 2018)&amp;lt;/small&amp;gt; || ca 21-38€ || 38€&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Das Rock64 Board gibt es in drei Versionen. Mit 1 GB, 2 GB oder 4 GB. &amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vefügbare Betriebssysteme ==&lt;br /&gt;
[https://www.armbian.com/rock64/ Armbian Images (Empfohlen)]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://dl.armbian.com/rock64/ Armbian DEV Images (Empfohlen)]&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://github.com/ayufan-rock64/linux-build ayufan Images]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://wiki.pine64.org/index.php/ROCK64_Main_Page#CPU_Architecture weitere Rock64 Images]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erste Inbetriebnahme ==&lt;br /&gt;
Als Betriebssystem eignet sich Armbian, oder die Ayufan Linux images.&amp;lt;br/&amp;gt;&lt;br /&gt;
In diesem Artikel wird die Installation mit Armbian auf SD Karte mit Hilfe eines Windows PC beschrieben.&lt;br /&gt;
&lt;br /&gt;
=== Download von Armbian und Vorbereitung der SD Karte ===&lt;br /&gt;
Von der obigen Image Auswahl kann ein Image heruntergeladen werden. Sofern der Rock64 hauptsächlich ohne Tastatur und Monitor betrieben wird, empfiehlt es sich sehr ein Headless Image zu verwenden.&lt;br /&gt;
Nach dem Auspacken unter Windows wird das Image mit dem Etcher Tool https://www.etcher.io/ auf die SD Karte geschrieben.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
Die SD Karte in den Kartenleser am PC stecken, Etcher starten, das gewünschte Image auswählen, danach die Speicherkarte auswählen und zum Schluss wird mit &amp;quot;Flash!&amp;quot;, der Flashvorgang gestartet.&lt;br /&gt;
&lt;br /&gt;
Nach dem flashen die SD Karte in den Rock64 stecken.&lt;br /&gt;
Stromversorgung einschalten.&lt;br /&gt;
Warten bis Armbian das Dateisystem vorbereitet hat.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Weiteres bearbeiten des Systems über SSH ===&lt;br /&gt;
Armbian kommt mit einem vorinstallierten SSH Server. Man sollte sich nach der installation über Putty mit dem System verbinden können.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
username = root&lt;br /&gt;
password = 1234&lt;br /&gt;
&lt;br /&gt;
Über den Befehl:&lt;br /&gt;
armbian-config&lt;br /&gt;
Hat man auf umfangreiche Einstellungen zugriff.&lt;br /&gt;
z.B. &lt;br /&gt;
Zeitzone einstellen&lt;br /&gt;
Router Verbindungen einstellen DHCP/Static etc.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update auf den neusten Kernel ===&lt;br /&gt;
Um gleich das System zu aktualisieren geht es gleich in der Bash weiter&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get dist-upgrade&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation von FHEM ==&lt;br /&gt;
Die FHEM installation kann danach von der Bash aus gestartet werden.&lt;br /&gt;
Dazu über Putty Verbindung aufbauen und FHEM Installieren. Laut der FHEM for Debian Seite ist folgendes zu tun.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
wget -qO - http://debian.fhem.de/archive.key | apt-key ad&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zu der Datei /etc/apt/sources.list folgendes anfügen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
deb http://debian.fhem.de/nightly/ /&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
danach&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install fhem&lt;br /&gt;
reboot now&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach sollte FHEM unter eurer Rock64 IP erreichbar sein.&lt;br /&gt;
Als erstes in die FHEM Commandozeile folgendes eingeben&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
update all&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weitere Konfiguartion==&lt;br /&gt;
Zusätzlich zu der Grundinstallation lassen sich noch weitere Einstellungen vornhemen. Grundsätzlich sind alle Änderungen auch mit der Linux bash und apt-get etc. durchzuführen. &lt;br /&gt;
&lt;br /&gt;
==Zusätzliche Perl Module==&lt;br /&gt;
Falls, je nach Nutzung von FHEM, noch zusätzliche FHEM Module installiert werden müssen konnte ich dies immer mit den Debian Paket Manager nach den Anleitungen aus dem FHEM Forum oder der WIKI für debian-jessie tun.&amp;lt;br/&amp;gt;&lt;br /&gt;
Zum Beispiel&lt;br /&gt;
&amp;lt;syntaxhighlight lang=bash&amp;gt;&lt;br /&gt;
JSON&lt;br /&gt;
apt-get install libjson-perl&lt;br /&gt;
&lt;br /&gt;
AES&lt;br /&gt;
apt-get install libcrypt-cbc-perl&lt;br /&gt;
apt-get install libcrypt-rijndael-perl&lt;br /&gt;
apt-get install libssl-dev&lt;br /&gt;
apt-get install make&lt;br /&gt;
apt-get install gcc&lt;br /&gt;
cpan Crypt/OpenSSL/AES.pm&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Einige Module sind schon vorhanden andere müssen eben wie gezeigt nachinstalliert werden.&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
Link zum Rock64 [https://forum.pine64.org/ Pine64 Forum]&amp;lt;br/&amp;gt;&lt;br /&gt;
Link zum Rock64 [https://wiki.pine64.org/ Pine64 Wiki]&amp;lt;br/&amp;gt;&lt;br /&gt;
Link zum Armbian [https://forum.armbian.com/ Forum]&amp;lt;br/&amp;gt;&lt;br /&gt;
Link zur [https://debian.fhem.de/ FHEM for Debian] Seite&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Server Hardware]]&lt;/div&gt;</summary>
		<author><name>Mark79</name></author>
	</entry>
</feed>