{"id":16,"date":"2015-04-24T18:43:30","date_gmt":"2015-04-24T16:43:30","guid":{"rendered":"https:\/\/steigerbalett.wordpress.com\/?p=16"},"modified":"2015-04-24T18:43:30","modified_gmt":"2015-04-24T16:43:30","slug":"fhem-auf-dem-raspberrypi-installieren","status":"publish","type":"post","link":"https:\/\/timeloop.de\/wp\/index.php\/2015\/04\/24\/fhem-auf-dem-raspberrypi-installieren\/","title":{"rendered":"FHEM auf dem RaspberryPi installieren"},"content":{"rendered":"<p>Voraussetzung: Der RaspberryPi ist wie im Artikel <a href=\"https:\/\/steigerbalett.wordpress.com\/2015\/04\/22\/raspberrypi-einrichten\/\">RaspberryPi einrichten <\/a>beschrieben betriebsbereit gemacht.<\/p>\n<p>Per SSH-Client (z.B. Kitty) auf dem RaspberyPi einloggen und folgende Befehle ausf\u00fchren:<\/p>\n<pre>sudo apt update &amp;&amp; full-upgrade\nsudo apt -y install perl-base libdevice-serialport-perl libwww-perl libio-socket-ssl-perl libcgi-pm-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl libtimedate-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl ttf-liberation libimage-librsvg-perl libgd-text-perl libsocket6-perl libio-socket-inet6-perl libmime-base64-perl libimage-info-perl libusb-1.0-0-dev libnet-server-perl\nsudo apt -y install apt-transport-https ntpdate socat libnet-telnet-perl libcrypt-rijndael-perl libdatetime-format-strptime-perl libsoap-lite-perl libjson-xs-perl libxml-simple-perl libdigest-md5-perl libdigest-md5-file-perl liblwp-protocol-https-perl liblwp-protocol-http-socketunix-perl libio-socket-multicast-perl libcrypt-cbc-perl libcrypt-ecb-perl <strong>libtypes-path-tiny-perl<\/strong>\nsudo ntpdate -u de.pool.ntp.org \nsudo cpan Crypt::Cipher::AES\nsudo cpan Crypt::ECB\n<\/pre>\n<pre class=\"EnlighterJSRAW\">sudo wget http:\/\/fhem.de\/fhem-5.9.deb &amp;&amp; sudo dpkg -i fhem-5.9.deb<\/pre>\n<p>Wenn es bereits eine neuere Version von FHEM gibt, kann der Befehl ver\u00e4ndert werden. Die Versionsnummer 5.9 muss dann jeweils mit der aktuellen Versionsnummer ersetzt werden. Die aktuelle Version steht unter <a href=\"http:\/\/fhem.de\/fhem_DE.html\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/fhem.de\/fhem_DE.html<\/a><\/p>\n<pre class=\"EnlighterJSRAW\"><span style=\"display:inline !important;float:none;background-color:#f3f6f8;color:#3d596d;font-family:Monaco, Consolas, 'Andale Mono', 'DejaVu Sans Mono', 'Courier 10 Pitch', Courier, monospace;font-size:16px;font-style:normal;font-variant:normal;font-weight:400;letter-spacing:normal;orphans:2;text-align:left;text-decoration:none;text-indent:0;text-transform:none;white-space:pre;word-spacing:0;\">sudo apt install -f\n<\/span>sudo cp \/opt\/fhem\/contrib\/init-scripts\/fhem.3 \/etc\/init.d\/fhem &amp;&amp; sudo chmod a+x \/etc\/init.d\/fhem &amp;&amp; sudo update-rc.d fhem defaults\n<\/pre>\n<p>Dann den RaspberryPi einmal neustarten:<\/p>\n<pre>sudo shutdown -r now<\/pre>\n<p>Dann bei FHEM das erste Mal einloggen:<\/p>\n<p>Einfach im Browser (Firefox &amp;Co.) in die Adresszeile die IP-Adresse des RaspberryPi und den Port 8083 durch einen Doppelpunkt getrennt eingeben. Dies sieht dann z.B. so aus:<\/p>\n<blockquote><p>http:\/\/192.168.178.35:8083<\/p><\/blockquote>\n<p>Dann \u00f6ffnet sich die Weboberfl\u00e4che des FHEM.<\/p>\n<p>Als erstes sollte FHEM auf den aktuellen stand gebracht werden. Dies geschieht, indem man in die Befehlszeile (leeres Feld oben)\u00a0 den Befehl<\/p>\n<blockquote><p>update<\/p><\/blockquote>\n<p>eingibt und mit |ENTER| best\u00e4tigt (dann warten). FHEM aktualisiert sich und wird danach mit dem Befehl<\/p>\n<blockquote><p>shutdown restart<\/p><\/blockquote>\n<p>neu gestartet.<\/p>\n<p><!--more-->&#8212;&#8211; Ab hier wird aktuell 30.03.2018 \u00fcberarbeitet! &#8212;&#8212;-<\/p>\n<p>Optional:<\/p>\n<div>Login erstellen:Benutzer: IchPasswort: TollesPasswort<\/p>\n<\/div>\n<div><\/div>\n<div><del>Auf dem RaspberryPi einloggen und den Hash berechnen lassen:<\/del><\/div>\n<pre><del>echo -n Ich:TollesPasswort| base64<\/del><\/pre>\n<div><del>Der RaspberryPi berechnet den Hash:<\/del><\/div>\n<pre><del>aWNoOlRvbGxlc1Bhc3N3b3J0<\/del><\/pre>\n<p><del>Diesen einfach markieren (kopieren)<\/del><\/p>\n<div>und dann in der FHEM Kommandozeile einf\u00fcgen:<\/div>\n<blockquote>\n<div>attr WEB basicAuth aWNoOlRvbGxlc1Bhc3N3b3J0attr WEBphone basicAuth aWNoOlRvbGxlc1Bhc3N3b3J0attr WEBtablet basicAuth aWNoOlRvbGxlc1Bhc3N3b3J0<\/p>\n<\/div>\n<\/blockquote>\n<div><\/div>\n<div>Nach dem Neustart mit<\/div>\n<blockquote>\n<pre>shutdown restart<\/pre>\n<\/blockquote>\n<div>wird der Login abgefragt.<\/div>\n<div><\/div>\n<div><\/div>\n<div>\n<div>FHEM Telnet mit Passwort versehen:Einfach direkt in der FHEM Kommandozeile das Passwort eingeben<\/div>\n<blockquote>\n<pre>attr telnetPort password TollesPasswort<\/pre>\n<\/blockquote>\n<\/div>\n<div>Falls FHEM nach einem Neustart des RaspberryPi nicht mehr automatisch startet kann man mit dem Befehl:<\/div>\n<pre>sudo systemctl enable fhem<\/pre>\n<div>\u00a0FHEM in den Autostart eintragen.<\/div>\n<div><\/div>\n<div>Mehr Icons:<\/div>\n<pre>attr WEB iconPath fhemSVG:openautomation:default:weathericons<\/pre>\n<div><\/div>\n<p><!--more--><\/p>\n<div>Archiv 1:<\/div>\n<div><\/div>\n<div>Aktuell nicht zu empfehlen, da alle Browser das selbst signierte Zertifikat ablehnen:<\/div>\n<div><\/div>\n<div>SSL aktivieren:Auf dem RaspberryPi einloggen und dann mit<\/div>\n<div><\/div>\n<pre>cd \/home\/pi\nopenssl genrsa -out server.key 2048\nopenssl req -new -key server.key -out server.csr<\/pre>\n<div><\/div>\n<div>Ein Assistent f\u00fchrt durch die Erstellung des SSL-KeysEs m\u00fcssen nur die Felder E-Mail und Passwort und Commen Name (Host Name oder DynDNS Adresse ohne http)<\/div>\n<div><\/div>\n<pre>cp server.key server.key.org\nopenssl rsa -in server.key.org -out server.key\nopenssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt\nsudo mkdir \/opt\/fhem\/certs\nsudo chmod 711 \/opt\/fhem\/certs\nsudo cp \/home\/pi\/server.key \/opt\/fhem\/certs\/server-key.pem\nsudo cp \/home\/pi\/server.crt \/opt\/fhem\/certs\/server-cert.pem\nsudo chmod 644 \/opt\/fhem\/certs\/server-key.pem\nsudo chmod 644 \/opt\/fhem\/certs\/server-cert.pem<\/pre>\n<div><\/div>\n<div>Jetzt in FHEM in der Befehlszeile oben HTTPS aktivieren:<\/div>\n<div><\/div>\n<blockquote>\n<div>attr WEB HTTPSattr WEBphone HTTPSattr WEBtablet HTTPS<\/p>\n<p>save<\/p>\n<\/div>\n<\/blockquote>\n<div><\/div>\n<div>Danach ist FHEM nur noch \u00fcber https erreichbar (z.B.: https:\/\/192.168.178.35:8083)<\/div>\n<div><\/div>\n<div>Die Weboberfl\u00e4che von FHEM ist \u00fcber verschiedene Ports erreichbar, je nach Port kann eine f\u00fcr die Verschiedenen Typen angepasste Ansicht ausgew\u00e4hlt werden:<\/div>\n<ul>\n<li>Weboberfl\u00e4che: https:\/\/192.168.178.35:8083<\/li>\n<li>Smartphone optimiert: https:\/\/192.168.178.35:8084<\/li>\n<li>Tablet optimiert: https:\/\/192.168.178.35:8085<\/li>\n<\/ul>\n<div><\/div>\n<div><\/div>\n<hr \/>\n<p>Archiv 2:<\/p>\n<p><!--more-->User manuell hinzuf\u00fcgen:<\/p>\n<p>sudo useradd &#8211;system &#8211;home \/opt\/fhem &#8211;gid dialout &#8211;shell \/bin\/false fhem<\/p>\n<p>Archiv 3:<\/p>\n<div><del>\u00a0Falls FHEM nicht startet kann man mit dem Befehl<\/del><\/div>\n<pre><del>sudo sed -i '$i<i>sud<\/i>' \/etc\/rc.local<\/del><\/pre>\n<div><\/div>\n<div><del>einen weiteren Autostarteintrag generieren.<\/del><\/div>\n<p>&#8230; ENDE<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Voraussetzung: Der RaspberryPi ist wie im Artikel RaspberryPi einrichten beschrieben betriebsbereit gemacht. Per SSH-Client (z.B. Kitty) auf dem RaspberyPi einloggen und folgende Befehle ausf\u00fchren: sudo apt update &amp;&amp; full-upgrade sudo apt -y install perl-base libdevice-serialport-perl libwww-perl libio-socket-ssl-perl libcgi-pm-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl libtimedate-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl ttf-liberation libimage-librsvg-perl libgd-text-perl libsocket6-perl libio-socket-inet6-perl libmime-base64-perl libimage-info-perl [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,9,13],"tags":[],"class_list":["post-16","post","type-post","status-publish","format-standard","hentry","category-fhem","category-howto","category-raspberrypi"],"_links":{"self":[{"href":"https:\/\/timeloop.de\/wp\/index.php\/wp-json\/wp\/v2\/posts\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/timeloop.de\/wp\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/timeloop.de\/wp\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/timeloop.de\/wp\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/timeloop.de\/wp\/index.php\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":0,"href":"https:\/\/timeloop.de\/wp\/index.php\/wp-json\/wp\/v2\/posts\/16\/revisions"}],"wp:attachment":[{"href":"https:\/\/timeloop.de\/wp\/index.php\/wp-json\/wp\/v2\/media?parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/timeloop.de\/wp\/index.php\/wp-json\/wp\/v2\/categories?post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/timeloop.de\/wp\/index.php\/wp-json\/wp\/v2\/tags?post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}