http://wiki.fhem.de/w/api.php?action=feedcontributions&user=Aps&feedformat=atomFHEMWiki - Benutzerbeiträge [de]2024-03-28T23:06:36ZBenutzerbeiträgeMediaWiki 1.39.3http://wiki.fhem.de/w/index.php?title=Event-aggregator&diff=27859Event-aggregator2018-09-13T15:30:37Z<p>Aps: </p>
<hr />
<div>{{SEITENTITEL:event-aggregator}} <!-- da richtige Schreibweise kleinen Anfangsbuchstaben hat --><br />
<!-- Infobox Attribut sinnvoll? --><br />
{{Baustelle}}<br />
Mit dem Attribut [[event-aggregator]] können (nach Wunsch zeitlich gewichtete) Durchschnittswerte, Minima, Maxima, etc. berechnet werden. <br />
<br />
Der "Median" kann hilfreich sein, um Messwerte mit Ausreissern (unsinnige Werte, z.B. durch Übertragungsfehler) zu "glätten".<br />
<br />
== Syntax ==<br />
Das ''event-aggregator'' Attribut wird in der folgenden Weise spezifiziert:<br />
:<code><nowiki>attr <device> event-aggregator reading:interval:method:function:holdTime</nowiki></code><br />
<br />
Mehrere Readings werden als kommagetrennte Liste angegeben.<br />
<br />
Die einzelnen Teile haben folgende Bedeutung:<br />
=== reading ===<br />
Das zu bearbeitende Reading des aktuellen Gerätes. Wichtig zu bedenken: es kann immer nur einen event-aggregator pro Reading geben. Will man daher mehrere Werte (z.B. min, max, avg), muss man das Reading erst duplizieren (z.B. mit userReadings oder notify). Kann als regulärer Ausdruck angegeben werden (bsp. .*_rain.*)<br />
<br />
=== interval === <br />
<br />
Updates des <readings> werden ignoriert, Events werden für mindestens <interval> Sekunden unterdrückt.<br />
<br />
<br />
Nach der blackout-periode wird das reading mit einem Wert upgedated, der sich aus den Werten und Zeitstempeln der vorher ignorierten Updates zusammensetzt.<br />
<br />
=== method === <br />
<br />
betrifft die Gewichtung nach Zeitintervallen<br />
* <code>none</code>: keine zeitliche Gewichtung<br />
* <code>const</code>: Annahme, dass zwischen den zwei Messpunkten keine Veränderung stattgefunden hat<br />
* <code>linear</code>: Annahme, dass der Wert sich zwischen zwei Messpunkten linear verändert hat.<br />
<br />
=== function === <br />
<br />
* <code>count</code> Anzahl<br />
* <code>min</code> Minimum<br />
* <code>max</code> Maximum<br />
* <code>mean</code> artihmetischer Mittelwert<br />
* <code>sd</code> Standardabweichung<br />
* <code>integral</code> Summe (falls holdTime nicht angegeben) oder Integral für den Zeitraum holdTime<br />
* <code>median</code> [https://de.wikipedia.org/wiki/Median Median] (nur für method <code>none</code> und gesetzte holdTime) - im Gegensatz zum Mittelwert nicht anfällig für Ausreisser, hilfreich bei Sensoren mit sporadisch unsinnigen Messwerten<br />
<br />
=== holdTime === <br />
<br />
Zeitfenster in Sekunden, für die die vergangenen Werte gehalten werden, um die Aggregatfunktion zu berechnen.<br />
<br />
== Wechselwirkungen == <br />
- keine bekannt - <br />
<br />
== Beispiele ==<br />
; aus der {{Link2CmdRef|Anker=Event-aggregator}}<br />
attr myPowerMeter event-aggregator EP_POWER_METER:300:linear:mean,EP_ENERGY_METER:300:none:v<br />
attr myBadSensor event-aggregator TEMP::none:median:300<br />
attr mySunMeter event-aggregator SUN_INTENSITY_24H::const:integral:86400<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Siehe auch ==<br />
*[[event-on-update-reading]]<br />
*[[event-min-interval]]<br />
*[[event-aggregator]]<br />
<br />
== Links ==<br />
* Benutzungstipps (''Best Practice'') für das Attribut in {{Link2Forum|Topic=36522|LinkText=diesem Forenthread}}<br />
<br />
[[Kategorie:Attribut (allgemeingültig)]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Apache_Authentication_Proxy&diff=27189Apache Authentication Proxy2018-06-17T17:29:39Z<p>Aps: /* Content Encoding Fehler */</p>
<hr />
<div>{{Randnotiz|RNText=Eine sicherere Variante eines Apache Authentication Proxy zusätzlich mit Zertifikaten ist [https://gist.github.com/gbirke/8608543 hier dokumentiert]}}<br />
== Konfiguration ==<br />
<br />
Um den Zugriff auf [[FHEMWEB]] etwas sicherer zu machen, kann man den Webzugriff über einen [https://httpd.apache.org/ Apache Webserver] laufen lassen. Dies ist ein kurzes Rezept, um Zugriffe auf FHEMWEB über einen Apachen authentifizieren zu lassen. Erstellt wurde es auf [https://www.debian.org Debian Squeeze]], sollte aber auch mit [https://www.ubuntu.com/ Ubuntu] funktionieren.<br />
<br />
<syntaxhighlight lang="bash"><br />
apt-get install apache2 libapache2-mod-proxy-html<br />
</syntaxhighlight><br />
<br />
<br />
Step 1) FHEMWEB sollte nur noch auf Anfragen vom selben Rechner lauschen, also kein 'global' Attribut in der Definition in fhem.cfg<br />
<br />
<syntaxhighlight lang="perl"><br />
define WEBS FHEMWEB 8084<br />
</syntaxhighlight><br />
<br />
Step 2) die folgenden Apache2 Module müssen aktiviert sein: [https://httpd.apache.org/docs/current/mod/mod_proxy.html mod_proxy] + [http://httpd.apache.org/docs/2.4/mod/mod_proxy_http.html mod_proxy_http]<br />
<br />
<syntaxhighlight lang="ini"><br />
a2enmod proxy<br />
a2enmod proxy_http<br />
</syntaxhighlight><br />
<br />
Step 3) neue Datei '''''/etc/apache2/conf.d/fhem''''' anlegen:<br />
<br />
Diese Konfiguration sorgt dafür, dass alle Anfragen unter /fhem weiter nach '''http://localhost/fhem''' geleitet werden. Zusätzlich wird eine Basic-Authentifizierung eingeschaltet. Die Benutzerdatenbank ist dann in /etc/fhem-htpasswd zu finden.<br />
<br />
<syntaxhighlight lang="ini"><br />
<Location /fhem><br />
# ProxyPass/ProxyPassReverse leitet HTTP requests auf eine andere URL um<br />
ProxyPass http://localhost:8084/fhem<br />
ProxyPassReverse http://localhost:8084/fhem<br />
ProxyHTMLEnable On<br />
# ProxyHTMLURLMap passt Links im HTML/JavaScript Source an<br />
ProxyHTMLURLMap / /fhem/<br />
ProxyHTMLURLMap /fhem/ /fhem/<br />
AuthType Basic<br />
AuthName &quot;Password Required&quot;<br />
AuthUserFile /etc/fhem-htpasswd<br />
Require valid-user<br />
Order deny,allow<br />
Allow from all<br />
</Location><br />
</syntaxhighlight><br />
<br />
Step 4) Benutzer-Datenbank in '''''/etc/fhem-htpasswd''''' anlegen<br />
<br />
<syntaxhighlight lang="bash"><br />
# -c -> create file<br />
# -s SHA encryption<br />
htpasswd -c -s /etc/fhem-htpasswd <username><br />
# add more users with<br />
htpasswd -s /etc/fhem-htpasswd <username><br />
</syntaxhighlight><br />
<br />
Step 5) Apache neu starten<br />
<br />
<syntaxhighlight lang="bash">invoke-rc.d apache2 reload</syntaxhighlight><br />
<br />
bzw.<br />
<br />
<syntaxhighlight lang="bash">service apache2 reload</syntaxhighlight><br />
<br />
Fertig. FHEM ist jetzt über '''''http://server/fhem''''' erreichbar. Alle Zugriffe müssen aber erst mit Benutzername + Passwort freigeschaltet werden.<br />
<br />
=== SSL-Konfiguration ===<br />
<br />
Um nicht die Passwörter unverschlüsselt übers Netz zu schicken, ist die Konfiguration eines SSL-Reverse-Proxys noch empfehlenswerter. Die untenstehende Konfiguration zeigt die Verwendung mittels Zertifikaten, die von [https://letsencrypt.org Let's Encrypt] ausgestellt wurden. <br />
<br />
<syntaxhighlight lang="ini"><br />
<VirtualHost *:80><br />
ServerName $host<br />
RedirectPermanent / https://$host/<br />
</VirtualHost><br />
<br />
<VirtualHost *:443><br />
ServerName $host<br />
<br />
SSLEngine on<br />
SSLProtocol all -SSLv2 -SSLv3<br />
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA<br />
SSLHonorCipherOrder on<br />
SSLCompression off<br />
SSLOptions +StrictRequire<br />
<br />
SSLCertificateFile /etc/letsencrypt/live/$host/fullchain.pem<br />
SSLCertificateKeyFile /etc/letsencrypt/live/$host/privkey.pem<br />
<br />
Use RootDir $dir # hier sollte ein Verzeichnis unter /var/www stehen (kann leer sein, muss aber existieren)<br />
<br />
ProxyPass /.well-known !<br />
Alias /.well-known "/var/www/proxy/.well-known"<br />
<Directory "$dir/.well-known"><br />
order allow,deny<br />
allow from all<br />
AllowOverride All<br />
AddDefaultCharset Off<br />
</Directory><br />
<br />
<br />
ProxyRequests Off<br />
ProxyVia Off<br />
ProxyPreserveHost On<br />
ProxyPass /fhem http://$fhemhost:$port/fhem<br />
ProxyPassReverse /fhem http://$fhemhost:$port/fhem<br />
<br />
Header always set Strict-Transport-Security "max-age=31536000"<br />
<br />
<Proxy *><br />
Order deny,allow<br />
Allow from all<br />
AuthType Basic<br />
AuthName &quot;Password Required&quot;<br />
AuthUserFile /etc/fhem-htpasswd<br />
Require valid-user<br />
</Proxy><br />
</VirtualHost><br />
</syntaxhighlight><br />
<br />
Die Proxy-Konfiguration ist so gewählt, dass auch automatische Zertifikats-Aktualisierung per webroot klappt (<code>letsencrypt certonly --renew-by-default --webroot -w $dir -d $host</code>). Initial muss man natürlich ohne Zertifikat einen normalen non-SSL-VHost aufmachen.<br />
<br />
== Websockets-Unterstützung ==<br />
<br />
<syntaxhighlight lang="ini"><br />
RewriteEngine On<br />
RewriteCond %{HTTP:Upgrade} =websocket [NC]<br />
RewriteRule /fhem(.*) ws://$url$1 [P,L]<br />
RewriteCond %{HTTP:Upgrade} !=websocket [NC]<br />
RewriteRule /fhem(.*) http://$url$1 [P,L]<br />
</syntaxhighlight><br />
<br />
== Hinweis zu Apache 2.4 ==<br />
Es muss zusätzlich das Modul '''proxy_html''' aktiviert werden (<code>a2enmod proxy_html</code>).<br />
Und die zu erstellende Config-Datei muss jetzt nach ''/etc/apache2/conf-available/fhem.conf'' (statt /etc/apache2/conf.d/fhem).<br />
<br />
== Mögliche Probleme ==<br />
<br />
=== Invalid command 'ProxyHTMLURLMap' ===<br />
Falls nach dem Neustart des Apache folgende Fehlermeldung kommt:<br />
<br />
<nowiki>Invalid command 'ProxyHTMLURLMap', perhaps misspelled or defined by a module not included in the server configuration<br />
Action 'configtest' failed.<br />
The Apache error log may have more information.</nowiki><br />
<br />
fehlt das Paket libapache2-mod-proxy-html. Einfach mit <br />
<br />
<syntaxhighlight lang="bash">apt-get install libapache2-mod-proxy-html</syntaxhighlight> <br />
<br />
nachinstallieren.<br />
<br />
=== ProxyHTMLURLMap funktioniert nicht ===<br />
<br />
Nicht bei allen Distributionen scheint die Konfigurationsdatei proxy_html.conf mitgeliefert zu werden. Allerdings ist seit einigen Versionen aus mod_proxy_ssl alle Information über zu ersetzende Links etc. entfernt worden. proxy_html.conf wird daher zwingend benötigt. Sie sollte in /etc/apache2/mods-available liegen und bei der Aktivierung des mods nach /etc/apache2/mods-enabled verlinkt werden. Wenn das nicht der Fall ist, kann man das nachholen.<br />
<br />
Eine Beispielkonfiguration gibt es [http://apache.webthing.com/svn/apache/filters/proxy_html/proxy_html.conf hier beim ursprünglichen Autor des mods]. Abspeichern unter /etc/apache2/mods-available/proxy_html.conf und dann verlinken:<br />
<br />
<syntaxhighlight lang="bash">ln -s /etc/apache2/mods-available/proxy_html.conf /etc/apache2/mods-enabled/proxy_html.conf</syntaxhighlight><br />
<br />
Dann Apache neu starten/laden.<br />
<br />
=== Content Encoding Fehler ===<br />
<br />
Wenn Firefox und Chromium sich nach der Konfigurationsänderung über Content Encoding Fehler beschweren, könnte Folgendes helfen:<br />
<br />
<pre>SetOutputFilter INFLATE;proxy-html;DEFLATE</pre><br />
<br />
Evtl. kann auch folgender Eintrag noch notwendig sein:<br />
<br />
<pre><br />
# Enables outgoing compression for specific file types<br />
<IfModule mod_deflate.c><br />
<FilesMatch ".*\.(html|htm|shtml|php|css|js|xml|log|txt|bmp|ttf|otf|eot|svg)$"><br />
SetOutputFilter DEFLATE<br />
</FilesMatch><br />
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json<br />
AddOutputFilterByType DEFLATE application/rss+xml<br />
AddOutputFilterByType DEFLATE text/xml application/xml application/xhtml+xml text/x-com$<br />
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-java$<br />
</IfModule><br />
</pre><br />
<br />
==Links==<br />
*[[HTTPS-Absicherung & Authentifizierung via nginx Webserver]]<br />
<br />
[[Kategorie:HOWTOS]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Smartwares&diff=26562Smartwares2018-05-02T07:12:26Z<p>Aps: /* Links */</p>
<hr />
<div>{{Todo|Ausbauen, Struktur an FHEMWiki-Standard anpassen, IT-Komponente?}}<br />
<br />
{{Hinweis|Vorsicht: Es gibt nur wenige Infos zur Einsetzbarkeit der Komponenten mit FHEM}}<br />
<br />
Unter der Markenbezeichnung [[Smartwares]] werden verschiedenste Funkkomponenten für die Hausautomation vermarktet. Eine Übersicht bietet die [http://www.smartwaressafetylighting.eu/en-us/search?q=SH5 Internetseite von Smartwares]. Die Funkkomponenten arbeiten mit 433,92 MHz<br />
<br />
== Features ==<br />
=== Modelle ===<br />
* SH5-RBS-10A Einbau Funkschalter, max. 1000 Watt<br />
* SH5-RPS-36A Schuko Funkschalter, max. 3600 Watt (kann wie jede IT Funksteckdose angelernt werden) <br />
* SH5-TBD-02A Einbau Dimmer; max. 200 Watt<br />
* SH5-TSW-B Flacher Aufputz Doppeltaster<br />
* SH5-TSM-A Türsensor / Fensterkontakt<br />
* SH5-TDR-K Schlüsselanhänger-Fernbedienung<br />
* SH5-TDR-F 4-Kanal-Fernbedienung<br />
<br />
=== Bezugsquellen ===<br />
Die Smartware Funkkomponenten gibt es in Baumaerkten, beispielsweise bei Obi. Zudem sind sie beispielsweise auch bei [https://www.conrad.de/de/smartwares-sh5-rbs-10a-funk-schalter-reichweite-max-im-freifeld-50-m-1399742.html Conrad] oder [http://www.elv.de/smartwares-smart-home-funk-einbauschalter-sh5-rbs-10a-fuer-smart-home-hausautomation.html Elv] erhältlich.<br />
<br />
== Hinweise zum Betrieb mit FHEM ==<br />
Es gibt kein Modul zur Unterstützung der Smartwares-Funkkomponenten. Bisher ist in FHEM nur in diesem {{Link2Forum|Topic=51206|Message=428529}} über eine Einbindung einer Smartwares-Funkkomponente in FHEM berichtet worden. Bei einem geplanten Einsatz in FHEM sollte man sich daher genau informieren, ob die gewünschte Komponente überhaupt mit FHEM nutzbar ist.<br />
Einige smartwares Komponenten sind vom Kommunikationsverhalten einfach [[Intertechno_Code_Berechnung#Selbstlernende_Intertechno_Funksteckdosen_.28z.B._ITR-1500.29|Intertechno V3]] Geräte (z.B. SH5-RPS-36A).<br />
<br />
Die '''Fernbedienungen''' werden per autocreate nach einfachem Tastendruck anlegt. Sollte dies nicht der Fall sein, dann kann eine Ursache die Sendefrequenz sein (s.u.).<br />
<br />
=== Pairing ===<br />
Das Pairing zwischen Empfänger und Sender erfolgt durch aktivieren des Pairing Mode im Empfänger (Drucktaster 3 sec halten) und danach normales Drücken des Tasters auf der Sender Seite (z.B. Schalter)<br />
Es können wohl pro Empfänger(Dimmer, Relais, ...) maximal 6 Sender gleichzeitig angelernt werden. Ein Schalter kann auf beliebig viele Empfänger angelernt werden.<br />
Das Pairing kann durch halten der Pairingtaste von 10 sec. komplett gelöscht werden.<br />
<br />
==== Probleme ====<br />
Funktioniert das Pairing nicht, kann das verschiedene Ursachen haben.<br />
# Die smartwares Funksteckdosen mit Taster erfordern etwas Übung um in den Pairing-Betrieb zu gelangen. Die Taste schaltet bei kurzer Betätigung das Relais ein und aus. Bei 3 Sekunden Betätigung leuchtet mit dem Loslassen die LED und fängt an langsam zu blinken. Wenn die LED einfach an bleibt hat man zu kurz gedrückt. Bei smartwares kann "kurz" durchaus bis 2s sein. Blinkt die LED ist das der Pairing-Betrieb. Nach erfolgreichem Pairing blinkt die LED kurz schneller und erlöscht oder das Gerät und die LED schalten dauerhaft ein. Hält man die Taste zu lange (>10s), so dass schon wären der Betätigung die LED an geht, hat man alle bisherigen Pairings gelöscht.<br />
# Ein zweites Problem ist die Frequenzgenauigkeit der Geräte. Es hilft ggf. die Sendefrequenz des CUL zu verändert. Bei einem meiner Geräte war das Pairing erst nach <code>set CUL0 freq 433.910</code> möglich. Damit wird 10kHz tiefer als in der Voreinstellung gesendet. Das Problem mit der Sendefrequenz ist nicht speziell bei smartware sondern auch bei anderen IT Geräten. Man kann eine 3er Packung kaufen und zwei tun und der dritte erst nach Änderung der Frequenz. Das scheint eine Fertigungstoleranz zu sein.<br />
<br />
== Nutzung der SH5-TDR-F als günstige 10-Tasten-Fernbedienung ==<br />
<br />
Da die Fernbedienung zum An- und Ausschalten von 4 Kanälen und das 5. Tastenpaar für alle ein bzw. aus gedacht ist, muss man etwas Aufwand betreiben, um die Fernbedienung allgemein verwenden zu können (mit frei programmierbaren 10 Tasten). Hierzu funktioniert folgendes DOIF:<br />
<br />
<pre><br />
defmod smartwares10 DOIF \ <br />
( [ITxxx_11:"^on"] or ([ITxxx_11:state:sec] le 1 and [?ITxxx_11] eq 'on')) \<br />
DOELSEIF ([ITxxx_11:"^off"] or ([ITxxx_11:state:sec] le 1 and [?ITxxx_11] eq 'off')) \<br />
DOELSEIF ([ITxxx_01:"^on"])\<br />
DOELSEIF ([ITxxx_01:"^off"])\<br />
DOELSEIF ([ITxxx_02:"^on"])\<br />
DOELSEIF ([ITxxx_02:"^off"])\<br />
DOELSEIF ([ITxxx_03:"^on"])\<br />
DOELSEIF ([ITxxx_03:"^off"])\<br />
DOELSEIF ([ITxxx_04:"^on"])\<br />
DOELSEIF ([ITxxx_04:"^off"])<br />
attr smartwares10 checkall event<br />
attr smartwares10 cmdState 9|10|1|2|3|4|5|7|8<br />
attr smartwares10 do always<br />
attr smartwares10 event-on-update-reading state<br />
</pre><br />
<br />
Hierbei sind ITxxx_01 bis ITxxx_04 die automatisch angelegten vier Devices für die Kanäle und ITxxx_11 das Gerät für "alles schalten". Bitte entsprechend anpassen.<br />
<br />
Das Device hat dann den Zustand der jeweils zuletzt gedrückten Taste. Für jeden Tastendruck wird ein Event erzeugt (auch wenn dieselbe Taste gedrückt wird).<br />
<br />
== Links ==<br />
<br />
[[Kategorie:Other Components]]<br />
[[Kategorie:433MHz]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Smartwares&diff=26561Smartwares2018-05-02T07:10:04Z<p>Aps: /* Nutzung der SH5-TDR-F als günstige 10-Tasten-Fernbedienung */</p>
<hr />
<div>{{Todo|Ausbauen, Struktur an FHEMWiki-Standard anpassen, IT-Komponente?}}<br />
<br />
{{Hinweis|Vorsicht: Es gibt nur wenige Infos zur Einsetzbarkeit der Komponenten mit FHEM}}<br />
<br />
Unter der Markenbezeichnung [[Smartwares]] werden verschiedenste Funkkomponenten für die Hausautomation vermarktet. Eine Übersicht bietet die [http://www.smartwaressafetylighting.eu/en-us/search?q=SH5 Internetseite von Smartwares]. Die Funkkomponenten arbeiten mit 433,92 MHz<br />
<br />
== Features ==<br />
=== Modelle ===<br />
* SH5-RBS-10A Einbau Funkschalter, max. 1000 Watt<br />
* SH5-RPS-36A Schuko Funkschalter, max. 3600 Watt (kann wie jede IT Funksteckdose angelernt werden) <br />
* SH5-TBD-02A Einbau Dimmer; max. 200 Watt<br />
* SH5-TSW-B Flacher Aufputz Doppeltaster<br />
* SH5-TSM-A Türsensor / Fensterkontakt<br />
* SH5-TDR-K Schlüsselanhänger-Fernbedienung<br />
* SH5-TDR-F 4-Kanal-Fernbedienung<br />
<br />
=== Bezugsquellen ===<br />
Die Smartware Funkkomponenten gibt es in Baumaerkten, beispielsweise bei Obi. Zudem sind sie beispielsweise auch bei [https://www.conrad.de/de/smartwares-sh5-rbs-10a-funk-schalter-reichweite-max-im-freifeld-50-m-1399742.html Conrad] oder [http://www.elv.de/smartwares-smart-home-funk-einbauschalter-sh5-rbs-10a-fuer-smart-home-hausautomation.html Elv] erhältlich.<br />
<br />
== Hinweise zum Betrieb mit FHEM ==<br />
Es gibt kein Modul zur Unterstützung der Smartwares-Funkkomponenten. Bisher ist in FHEM nur in diesem {{Link2Forum|Topic=51206|Message=428529}} über eine Einbindung einer Smartwares-Funkkomponente in FHEM berichtet worden. Bei einem geplanten Einsatz in FHEM sollte man sich daher genau informieren, ob die gewünschte Komponente überhaupt mit FHEM nutzbar ist.<br />
Einige smartwares Komponenten sind vom Kommunikationsverhalten einfach [[Intertechno_Code_Berechnung#Selbstlernende_Intertechno_Funksteckdosen_.28z.B._ITR-1500.29|Intertechno V3]] Geräte (z.B. SH5-RPS-36A).<br />
<br />
Die '''Fernbedienungen''' werden per autocreate nach einfachem Tastendruck anlegt. Sollte dies nicht der Fall sein, dann kann eine Ursache die Sendefrequenz sein (s.u.).<br />
<br />
=== Pairing ===<br />
Das Pairing zwischen Empfänger und Sender erfolgt durch aktivieren des Pairing Mode im Empfänger (Drucktaster 3 sec halten) und danach normales Drücken des Tasters auf der Sender Seite (z.B. Schalter)<br />
Es können wohl pro Empfänger(Dimmer, Relais, ...) maximal 6 Sender gleichzeitig angelernt werden. Ein Schalter kann auf beliebig viele Empfänger angelernt werden.<br />
Das Pairing kann durch halten der Pairingtaste von 10 sec. komplett gelöscht werden.<br />
<br />
==== Probleme ====<br />
Funktioniert das Pairing nicht, kann das verschiedene Ursachen haben.<br />
# Die smartwares Funksteckdosen mit Taster erfordern etwas Übung um in den Pairing-Betrieb zu gelangen. Die Taste schaltet bei kurzer Betätigung das Relais ein und aus. Bei 3 Sekunden Betätigung leuchtet mit dem Loslassen die LED und fängt an langsam zu blinken. Wenn die LED einfach an bleibt hat man zu kurz gedrückt. Bei smartwares kann "kurz" durchaus bis 2s sein. Blinkt die LED ist das der Pairing-Betrieb. Nach erfolgreichem Pairing blinkt die LED kurz schneller und erlöscht oder das Gerät und die LED schalten dauerhaft ein. Hält man die Taste zu lange (>10s), so dass schon wären der Betätigung die LED an geht, hat man alle bisherigen Pairings gelöscht.<br />
# Ein zweites Problem ist die Frequenzgenauigkeit der Geräte. Es hilft ggf. die Sendefrequenz des CUL zu verändert. Bei einem meiner Geräte war das Pairing erst nach <code>set CUL0 freq 433.910</code> möglich. Damit wird 10kHz tiefer als in der Voreinstellung gesendet. Das Problem mit der Sendefrequenz ist nicht speziell bei smartware sondern auch bei anderen IT Geräten. Man kann eine 3er Packung kaufen und zwei tun und der dritte erst nach Änderung der Frequenz. Das scheint eine Fertigungstoleranz zu sein.<br />
<br />
== Nutzung der SH5-TDR-F als günstige 10-Tasten-Fernbedienung ==<br />
<br />
Da die Fernbedienung zum An- und Ausschalten von 4 Kanälen und das 5. Tastenpaar für alle ein bzw. aus gedacht ist, muss man etwas Aufwand betreiben, um die Fernbedienung allgemein verwenden zu können (mit frei programmierbaren 10 Tasten). Hierzu funktioniert folgendes DOIF:<br />
<br />
<pre><br />
defmod smartwares10 DOIF \ <br />
( [ITxxx_11:"^on"] or ([ITxxx_11:state:sec] le 1 and [?ITxxx_11] eq 'on')) \<br />
DOELSEIF ([ITxxx_11:"^off"] or ([ITxxx_11:state:sec] le 1 and [?ITxxx_11] eq 'off')) \<br />
DOELSEIF ([ITxxx_01:"^on"])\<br />
DOELSEIF ([ITxxx_01:"^off"])\<br />
DOELSEIF ([ITxxx_02:"^on"])\<br />
DOELSEIF ([ITxxx_02:"^off"])\<br />
DOELSEIF ([ITxxx_03:"^on"])\<br />
DOELSEIF ([ITxxx_03:"^off"])\<br />
DOELSEIF ([ITxxx_04:"^on"])\<br />
DOELSEIF ([ITxxx_04:"^off"])<br />
attr smartwares10 checkall event<br />
attr smartwares10 cmdState 9|10|1|2|3|4|5|7|8<br />
attr smartwares10 do always<br />
attr smartwares10 event-on-update-reading state<br />
</pre><br />
<br />
Hierbei sind ITxxx_01 bis ITxxx_04 die automatisch angelegten vier Devices für die Kanäle und ITxxx_11 das Gerät für "alles schalten". Bitte entsprechend anpassen.<br />
<br />
Das Device hat dann den Zustand der jeweils zuletzt gedrückten Taste. Für jeden Tastendruck wird ein Event erzeugt (auch wenn dieselbe Taste gedrückt wird).<br />
<br />
== Links ==<br />
<br />
[[Kategorie:Other Components]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Event-aggregator&diff=25808Event-aggregator2018-03-08T13:51:03Z<p>Aps: /* Syntax */ fehlende Parameter beschrieben auf der Basis des Quellcodes</p>
<hr />
<div>{{SEITENTITEL:event-aggregator}} <!-- da richtige Schreibweise kleinen Anfangsbuchstaben hat --><br />
<!-- Infobox Attribut sinnvoll? --><br />
{{Baustelle}}<br />
Mit dem Attribut [[event-aggregator]] können (zeitlich gewichtete) Durchschnittswerte berechnet werden.<br />
<br />
== Syntax ==<br />
Das ''event-aggregator'' Attribut wird in der folgenden Weise spezifiziert:<br />
:<code><nowiki>attr <device> event-aggregator reading:interval:method:function:holdTime</nowiki></code><br />
<br />
Die einzelnen Teile haben folgende Bedeutung:<br />
=== reading ===<br />
Das zu bearbeitende Reading des aktuellen Gerätes. Wichtig zu bedenken: es kann immer nur einen event-aggregator pro Reading geben. Will man daher mehrere Werte (z.B. min, max, avg), muss man das Reading erst duplizieren (z.B. mit userReadings oder notify). Kann als regulärer Ausdruck angegeben werden (bsp. .*_rain.*)<br />
<br />
=== interval === <br />
<br />
Updates des <readings> werden ignoriert, Events werden für mindestens <interval> Sekunden unterdrückt.<br />
<br />
<br />
Nach der blackout-periode wird das reading mit einem Wert upgedated, der sich aus den Werten und Zeitstempeln der vorher ignorierten Updates zusammensetzt.<br />
<br />
=== method === <br />
<br />
betrifft die Gewichtung nach Zeitintervallen<br />
* <code>none</code>: keine zeitliche Gewichtung<br />
* <code>const</code>: Annahme, dass zwischen den zwei Messpunkten keine Veränderung stattgefunden hat<br />
* <code>linear</code>: Annahme, dass der Wert sich zwischen zwei Messpunkten linear verändert hat.<br />
<br />
=== function === <br />
<br />
* <code>count</code> Anzahl<br />
* <code>min</code> Minimum<br />
* <code>max</code> Maximum<br />
* <code>mean</code> artihmetischer Mittelwert<br />
* <code>sd</code> Standardabweichung<br />
* <code>integral</code> Summe (falls holdTime nicht angegeben) oder Integral für den Zeitraum holdTime<br />
* <code>median</code> Median (nur für method <code>none</code> und gesetzte holdTime)<br />
<br />
=== holdTime === <br />
<br />
Zeitfenster in Sekunden, für die die vergangenen Werte gehalten werden, um die Aggregatfunktion zu berechnen.<br />
<br />
== Wechselwirkungen == <br />
- keine bekannt - <br />
<br />
== Beispiele ==<br />
; aus der {{Link2CmdRef|Anker=Event-aggregator}}<br />
attr myPowerMeter event-aggregator EP_POWER_METER:300:linear:mean,EP_ENERGY_METER:300:none:v<br />
attr myBadSensor event-aggregator TEMP::none:median:300<br />
attr mySunMeter event-aggregator SUN_INTENSITY_24H::const:integral:86400<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
== Siehe auch ==<br />
*[[event-on-update-reading]]<br />
*[[event-min-interval]]<br />
*[[event-aggregator]]<br />
<br />
== Links ==<br />
* Benutzungstipps (''Best Practice'') für das Attribut in {{Link2Forum|Topic=36522|LinkText=diesem Forenthread}}<br />
<br />
[[Kategorie:Attribut (allgemeingültig)]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Smartwares&diff=22012Smartwares2017-07-30T11:09:16Z<p>Aps: /* Hinweise zum Betrieb mit FHEM */</p>
<hr />
<div>{{Todo|Ausbauen, Struktur an FHEMWiki-Standard anpassen, IT-Komponente?}}<br />
<br />
{{Hinweis|Vorsicht: Es gibt nur wenige Infos zur Einsetzbarkeit der Komponenten mit FHEM}}<br />
<br />
Unter der Markenbezeichnung [[Smartwares]] werden verschiedenste Funkkomponenten für die Hausautomation vermarktet. Eine Übersicht bietet die [http://www.smartwaressafetylighting.eu/en-us/search?q=SH5 Internetseite von Smartwares]. Die Funkkomponenten arbeiten mit 433,92 MHz<br />
<br />
== Features ==<br />
=== Modelle ===<br />
* SH5-RBS-10A Einbau Funkschalter, max. 1000 Watt<br />
* SH5-RPS-36A Schuko Funkschalter, max. 3600 Watt (kann wie jede IT Funksteckdose angelernt werden) <br />
* SH5-TBD-02A Einbau Dimmer; max. 200 Watt<br />
* SH5-TSW-B Flacher Aufputz Doppeltaster<br />
* SH5-TSM-A Türsensor / Fensterkontakt<br />
* SH5-TDR-K Schlüsselanhänger-Fernbedienung<br />
* SH5-TDR-F 4-Kanal-Fernbedienung<br />
<br />
=== Bezugsquellen ===<br />
Die Smartware Funkkomponenten gibt es in Baumaerkten, beispielsweise bei Obi. Zudem sind sie beispielsweise auch bei [https://www.conrad.de/de/smartwares-sh5-rbs-10a-funk-schalter-reichweite-max-im-freifeld-50-m-1399742.html Conrad] oder [http://www.elv.de/smartwares-smart-home-funk-einbauschalter-sh5-rbs-10a-fuer-smart-home-hausautomation.html Elv] erhältlich.<br />
<br />
== Hinweise zum Betrieb mit FHEM ==<br />
Es gibt kein Modul zur Unterstützung der Smartwares-Funkkomponenten. Bisher ist in FHEM nur in diesem {{Link2Forum|Topic=51206|Message=428529}} über eine Einbindung einer Smartwares-Funkkomponente in FHEM berichtet worden. Bei einem geplanten Einsatz in FHEM sollte man sich daher genau informieren, ob die gewünschte Komponente überhaupt mit FHEM nutzbar ist.<br />
Einige smartwares Komponenten sind vom Kommunikationsverhalten einfach [[Intertechno_Code_Berechnung#Selbstlernende_Intertechno_Funksteckdosen_.28z.B._ITR-1500.29|Intertechno V3]] Geräte (z.B. SH5-RPS-36A).<br />
<br />
Die '''Fernbedienungen''' werden per autocreate nach einfachem Tastendruck anlegt. Sollte dies nicht der Fall sein, dann kann eine Ursache die Sendefrequenz sein (s.u.).<br />
<br />
=== Pairing ===<br />
Das Pairing zwischen Empfänger und Sender erfolgt durch aktivieren des Pairing Mode im Empfänger (Drucktaster 3 sec halten) und danach normales Drücken des Tasters auf der Sender Seite (z.B. Schalter)<br />
Es können wohl pro Empfänger(Dimmer, Relais, ...) maximal 6 Sender gleichzeitig angelernt werden. Ein Schalter kann auf beliebig viele Empfänger angelernt werden.<br />
Das Pairing kann durch halten der Pairingtaste von 10 sec. komplett gelöscht werden.<br />
<br />
==== Probleme ====<br />
Funktioniert das Pairing nicht, kann das verschiedene Ursachen haben.<br />
# Die smartwares Funksteckdosen mit Taster erfordern etwas Übung um in den Pairing-Betrieb zu gelangen. Die Taste schaltet bei kurzer Betätigung das Relais ein und aus. Bei 3 Sekunden Betätigung leuchtet mit dem Loslassen die LED und fängt an langsam zu blinken. Wenn die LED einfach an bleibt hat man zu kurz gedrückt. Bei smartwares kann "kurz" durchaus bis 2s sein. Blinkt die LED ist das der Pairing-Betrieb. Nach erfolgreichem Pairing blinkt die LED kurz schneller und erlöscht oder das Gerät und die LED schalten dauerhaft ein. Hält man die Taste zu lange (>10s), so dass schon wären der Betätigung die LED an geht, hat man alle bisherigen Pairings gelöscht.<br />
# Ein zweites Problem ist die Frequenzgenauigkeit der Geräte. Es hilft ggf. die Sendefrequenz des CUL zu verändert. Bei einem meiner Geräte war das Pairing erst nach <code>set CUL0 freq 433.910</code> möglich. Damit wird 10kHz tiefer als in der Voreinstellung gesendet. Das Problem mit der Sendefrequenz ist nicht speziell bei smartware sondern auch bei anderen IT Geräten. Man kann eine 3er Packung kaufen und zwei tun und der dritte erst nach Änderung der Frequenz. Das scheint eine Fertigungstoleranz zu sein.<br />
<br />
== Nutzung der SH5-TDR-F als günstige 10-Tasten-Fernbedienung ==<br />
<br />
Da die Fernbedienung zum An- und Ausschalten von 4 Kanälen und das 5. Tastenpaar für alle ein bzw. aus gedacht ist, muss man etwas Aufwand betreiben, um die Fernbedienung allgemein verwenden zu können (mit frei programmierbaren 10 Tasten). Hierzu funktioniert folgendes DOIF:<br />
<br />
<pre><br />
defmod smartwares10 DOIF \ <br />
( [ITxxx_11:"^on"] or ([ITxxx_11:state:sec] le 1 and [?ITxxx_11] eq 'on')) \<br />
DOELSEIF ([ITxxx_11:"^off"] or ([ITxxx_11:state:sec] le 1 and [?IT_V3_50390011] eq 'off')) \<br />
DOELSEIF ([ITxxx_01:"^on"])\<br />
DOELSEIF ([ITxxx_01:"^off"])\<br />
DOELSEIF ([ITxxx_02:"^on"])\<br />
DOELSEIF ([ITxxx_02:"^off"])\<br />
DOELSEIF ([ITxxx_03:"^on"])\<br />
DOELSEIF ([ITxxx_03:"^off"])\<br />
DOELSEIF ([ITxxx_04:"^on"])\<br />
DOELSEIF ([ITxxx_04:"^off"])<br />
attr smartwares10 checkall event<br />
attr smartwares10 cmdState 9|10|1|2|3|4|5|7|8<br />
attr smartwares10 do always<br />
attr smartwares10 event-on-update-reading state<br />
</pre><br />
<br />
Hierbei sind ITxxx_01 bis ITxxx_04 die automatisch angelegten vier Devices für die Kanäle und ITxxx_11 das Gerät für "alles schalten". Bitte entsprechend anpassen.<br />
<br />
Das Device hat dann den Zustand der jeweils zuletzt gedrückten Taste. Für jeden Tastendruck wird ein Event erzeugt (auch wenn dieselbe Taste gedrückt wird).<br />
<br />
== Links ==<br />
<br />
[[Kategorie:Other Components]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Smartwares&diff=21373Smartwares2017-04-20T19:59:00Z<p>Aps: /* Hinweise zum Betrieb mit FHEM */</p>
<hr />
<div>{{Todo|Ausbauen, Struktur an FHEMWiki-Standard anpassen, IT-Komponente?}}<br />
<br />
{{Hinweis|Vorsicht: Es gibt nur wenige Infos zur Einsetzbarkeit der Komponenten mit FHEM}}<br />
<br />
Unter der Markenbezeichnung [[Smartwares]] werden verschiedenste Funkkomponenten für die Hausautomation vermarktet. Eine Übersicht bietet die [http://www.smartwaressafetylighting.eu/en-us/search?q=SH5 Internetseite von Smartwares]. Die Funkkomponenten arbeiten mit 433,92 MHz<br />
<br />
== Features ==<br />
=== Modelle ===<br />
* SH5-RBS-10A Einbau Funkschalter, max. 1000 Watt<br />
* SH5-RPS-36A Schuko Funkschalter, max. 3600 Watt (kann wie jede IT Funksteckdose angelernt werden) <br />
* SH5-TBD-02A Einbau Dimmer; max. 200 Watt<br />
* SH5-TSW-B Flacher Aufputz Doppeltaster<br />
* SH5-TSM-A Türsensor / Fensterkontakt<br />
* SH5-TDR-K Schlüsselanhänger-Fernbedienung<br />
* SH5-TDR-F 4-Kanal-Fernbedienung<br />
<br />
=== Bezugsquellen ===<br />
Die Smartware Funkkomponenten gibt es in Baumaerkten, beispielsweise bei Obi. Zudem sind sie beispielsweise auch bei [https://www.conrad.de/de/smartwares-sh5-rbs-10a-funk-schalter-reichweite-max-im-freifeld-50-m-1399742.html Conrad] oder [http://www.elv.de/smartwares-smart-home-funk-einbauschalter-sh5-rbs-10a-fuer-smart-home-hausautomation.html Elv] erhältlich.<br />
<br />
== Hinweise zum Betrieb mit FHEM ==<br />
Es gibt kein Modul zur Unterstützung der Smartwares-Funkkomponenten. Bisher ist in FHEM nur in diesem {{Link2Forum|Topic=51206|Message=428529}} über eine Einbindung einer Smartwares-Funkkomponente in FHEM berichtet worden. Bei einem geplanten Einsatz in FHEM sollte man sich daher genau informieren, ob die gewünschte Komponente überhaupt mit FHEM nutzbar ist.<br />
Einige smartwares Komponenten sind vom Kommunikationsverhalten einfach [[Intertechno_Code_Berechnung#Selbstlernende_Intertechno_Funksteckdosen_.28z.B._ITR-1500.29|Intertechno V3]] Geräte (z.B. SH5-RPS-36A).<br />
<br />
Die '''Fernbedienungen''' werden per autocreate nach einfachem Tastendruck anlegt. Sollte dies nicht der Fall sein, dann kann eine Ursache die Sendefrequenz sein (s.u.).<br />
<br />
=== Pairing ===<br />
Das Pairing zwischen Empfänger und Sender erfolgt durch aktivieren des Pairing Mode im Empfänger (Drucktaster 3 sec halten) und danach normales Drücken des Tasters auf der Sender Seite (z.B. Schalter)<br />
Es können wohl pro Empfänger(Dimmer, Relais, ...) maximal 6 Sender gleichzeitig angelernt werden. Ein Schalter kann auf beliebig viele Empfänger angelernt werden.<br />
Das Pairing kann durch halten der Pairingtaste von 10 sec. komplett gelöscht werden.<br />
<br />
==== Probleme ====<br />
Funktioniert das Pairing nicht, kann das verschiedene Ursachen haben.<br />
# Die smartwares Funksteckdosen mit Taster erfordern etwas Übung um in den Pairing-Betrieb zu gelangen. Die Taste schaltet bei kurzer Betätigung das Relais ein und aus. Bei 3 Sekunden Betätigung leuchtet mit dem Loslassen die LED und fängt an langsam zu blinken. Wenn die LED einfach an bleibt hat man zu kurz gedrückt. Bei smartwares kann "kurz" durchaus bis 2s sein. Blinkt die LED ist das der Pairing-Betrieb. Nach erfolgreichem Pairing blinkt die LED kurz schneller und erlöscht oder das Gerät und die LED schalten dauerhaft ein. Hält man die Taste zu lange (>10s), so dass schon wären der Betätigung die LED an geht, hat man alle bisherigen Pairings gelöscht.<br />
# Ein zweites Problem ist die Frequenzgenauigkeit der Geräte. Es hilft ggf. die Sendefrequenz des CUL zu verändert. Bei einem meiner Geräte war das Pairing erst nach <code>set CUL0 freq 433.910</code> möglich. Damit wird 10kHz tiefer als in der Voreinstellung gesendet. Das Problem mit der Sendefrequenz ist nicht speziell bei smartware sondern auch bei anderen IT Geräten. Man kann eine 3er Packung kaufen und zwei tun und der dritte erst nach Änderung der Frequenz. Das scheint eine Fertigungstoleranz zu sein.<br />
<br />
== Links ==<br />
<br />
[[Kategorie:Other Components]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Smartwares&diff=21372Smartwares2017-04-20T19:57:28Z<p>Aps: /* Modelle */</p>
<hr />
<div>{{Todo|Ausbauen, Struktur an FHEMWiki-Standard anpassen, IT-Komponente?}}<br />
<br />
{{Hinweis|Vorsicht: Es gibt nur wenige Infos zur Einsetzbarkeit der Komponenten mit FHEM}}<br />
<br />
Unter der Markenbezeichnung [[Smartwares]] werden verschiedenste Funkkomponenten für die Hausautomation vermarktet. Eine Übersicht bietet die [http://www.smartwaressafetylighting.eu/en-us/search?q=SH5 Internetseite von Smartwares]. Die Funkkomponenten arbeiten mit 433,92 MHz<br />
<br />
== Features ==<br />
=== Modelle ===<br />
* SH5-RBS-10A Einbau Funkschalter, max. 1000 Watt<br />
* SH5-RPS-36A Schuko Funkschalter, max. 3600 Watt (kann wie jede IT Funksteckdose angelernt werden) <br />
* SH5-TBD-02A Einbau Dimmer; max. 200 Watt<br />
* SH5-TSW-B Flacher Aufputz Doppeltaster<br />
* SH5-TSM-A Türsensor / Fensterkontakt<br />
* SH5-TDR-K Schlüsselanhänger-Fernbedienung<br />
* SH5-TDR-F 4-Kanal-Fernbedienung<br />
<br />
=== Bezugsquellen ===<br />
Die Smartware Funkkomponenten gibt es in Baumaerkten, beispielsweise bei Obi. Zudem sind sie beispielsweise auch bei [https://www.conrad.de/de/smartwares-sh5-rbs-10a-funk-schalter-reichweite-max-im-freifeld-50-m-1399742.html Conrad] oder [http://www.elv.de/smartwares-smart-home-funk-einbauschalter-sh5-rbs-10a-fuer-smart-home-hausautomation.html Elv] erhältlich.<br />
<br />
== Hinweise zum Betrieb mit FHEM ==<br />
Es gibt kein Modul zur Unterstützung der Smartwares-Funkkomponenten. Bisher ist in FHEM nur in diesem {{Link2Forum|Topic=51206|Message=428529}} über eine Einbindung einer Smartwares-Funkkomponente in FHEM berichtet worden. Bei einem geplanten Einsatz in FHEM sollte man sich daher genau informieren, ob die gewünschte Komponente überhaupt mit FHEM nutzbar ist.<br />
Einige smartwares Komponenten sind vom Kommunikationsverhalten einfach [[Intertechno_Code_Berechnung#Selbstlernende_Intertechno_Funksteckdosen_.28z.B._ITR-1500.29|Intertechno V3]] Geräte (z.B. SH5-RPS-36A).<br />
<br />
=== Pairing ===<br />
Das Pairing zwischen Empfänger und Sender erfolgt durch aktivieren des Pairing Mode im Empfänger (Drucktaster 3 sec halten) und danach normales Drücken des Tasters auf der Sender Seite (z.B. Schalter)<br />
Es können wohl pro Empfänger(Dimmer, Relais, ...) maximal 6 Sender gleichzeitig angelernt werden. Ein Schalter kann auf beliebig viele Empfänger angelernt werden.<br />
Das Pairing kann durch halten der Pairingtaste von 10 sec. komplett gelöscht werden.<br />
<br />
==== Probleme ====<br />
Funktioniert das Pairing nicht, kann das verschiedene Ursachen haben.<br />
# Die smartwares Funksteckdosen mit Taster erfordern etwas Übung um in den Pairing-Betrieb zu gelangen. Die Taste schaltet bei kurzer Betätigung das Relais ein und aus. Bei 3 Sekunden Betätigung leuchtet mit dem Loslassen die LED und fängt an langsam zu blinken. Wenn die LED einfach an bleibt hat man zu kurz gedrückt. Bei smartwares kann "kurz" durchaus bis 2s sein. Blinkt die LED ist das der Pairing-Betrieb. Nach erfolgreichem Pairing blinkt die LED kurz schneller und erlöscht oder das Gerät und die LED schalten dauerhaft ein. Hält man die Taste zu lange (>10s), so dass schon wären der Betätigung die LED an geht, hat man alle bisherigen Pairings gelöscht.<br />
# Ein zweites Problem ist die Frequenzgenauigkeit der Geräte. Es hilft ggf. die Sendefrequenz des CUL zu verändert. Bei einem meiner Geräte war das Pairing erst nach <code>set CUL0 freq 433.910</code> möglich. Damit wird 10kHz tiefer als in der Voreinstellung gesendet. Das Problem mit der Sendefrequenz ist nicht speziell bei smartware sondern auch bei anderen IT Geräten. Man kann eine 3er Packung kaufen und zwei tun und der dritte erst nach Änderung der Frequenz. Das scheint eine Fertigungstoleranz zu sein.<br />
<br />
== Links ==<br />
<br />
[[Kategorie:Other Components]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Apache_Authentication_Proxy&diff=20672Apache Authentication Proxy2017-03-10T11:54:39Z<p>Aps: /* SSL-Konfiguration */</p>
<hr />
<div>{{Randnotiz|RNText=Eine sicherere Variante eines Apache Authentication Proxy zusätzlich mit Zertifikaten ist [https://gist.github.com/gbirke/8608543 hier dokumentiert]}}<br />
== Konfiguration ==<br />
<br />
Um den Zugriff auf [[FHEMWEB]] etwas sicherer zu machen, kann man den Webzugriff über einen [https://httpd.apache.org/ Apache Webserver] laufen lassen. Dies ist ein kurzes Rezept, um Zugriffe auf FHEMWEB über einen Apachen authentifizieren zu lassen. Erstellt wurde es auf [https://www.debian.org Debian Squeeze]], sollte aber auch mit [https://www.ubuntu.com/ Ubuntu] funktionieren.<br />
<br />
<source lang="bash"><br />
apt-get install apache2 libapache2-mod-proxy-html<br />
</source><br />
<br />
<br />
Step 1) FHEMWEB sollte nur noch auf Anfragen vom selben Rechner lauschen, also kein 'global' Attribut in der Definition in fhem.cfg<br />
<br />
<source lang="perl"><br />
define WEBS FHEMWEB 8084<br />
</source><br />
<br />
Step 2) die folgenden Apache2 Module müssen aktiviert sein: [https://httpd.apache.org/docs/current/mod/mod_proxy.html mod_proxy] + [http://httpd.apache.org/docs/2.4/mod/mod_proxy_http.html mod_proxy_http]<br />
<br />
<source lang="ini"><br />
a2enmod proxy<br />
a2enmod proxy_http<br />
</source><br />
<br />
Step 3) neue Datei '''''/etc/apache2/conf.d/fhem''''' anlegen:<br />
<br />
Diese Konfiguration sorgt dafür, dass alle Anfragen unter /fhem weiter nach '''http://localhost/fhem''' geleitet werden. Zusätzlich wird eine Basic-Authentifizierung eingeschaltet. Die Benutzerdatenbank ist dann in /etc/fhem-htpasswd zu finden.<br />
<br />
<source lang="ini"><br />
<Location /fhem><br />
# ProxyPass/ProxyPassReverse leitet HTTP requests auf eine andere URL um<br />
ProxyPass http://localhost:8084/fhem<br />
ProxyPassReverse http://localhost:8084/fhem<br />
ProxyHTMLEnable On<br />
# ProxyHTMLURLMap passt Links im HTML/JavaScript Source an<br />
ProxyHTMLURLMap / /fhem/<br />
ProxyHTMLURLMap /fhem/ /fhem/<br />
AuthType Basic<br />
AuthName &quot;Password Required&quot;<br />
AuthUserFile /etc/fhem-htpasswd<br />
Require valid-user<br />
Order deny,allow<br />
Allow from all<br />
</Location><br />
</source><br />
<br />
Step 4) Benutzer-Datenbank in '''''/etc/fhem-htpasswd''''' anlegen<br />
<br />
<source lang="bash"><br />
# -c -> create file<br />
# -s SHA encryption<br />
htpasswd -c -s /etc/fhem-htpasswd <username><br />
# add more users with<br />
htpasswd -s /etc/fhem-htpasswd <username><br />
</source><br />
<br />
Step 5) Apache neu starten<br />
<br />
<source lang="bash">invoke-rc.d apache2 reload</source><br />
<br />
bzw.<br />
<br />
<source lang="bash">service apache2 reload</source><br />
<br />
Fertig. FHEM ist jetzt über '''''http://server/fhem''''' erreichbar. Alle Zugriffe müssen aber erst mit Benutzername + Passwort freigeschaltet werden.<br />
<br />
=== SSL-Konfiguration ===<br />
<br />
Um nicht die Passwörter unverschlüsselt übers Netz zu schicken, ist die Konfiguration eines SSL-Reverse-Proxys noch empfehlenswerter. Die untenstehende Konfiguration zeigt die Verwendung mittels Zertifikaten, die von [https://letsencrypt.org Let's Encrypt] ausgestellt wurden. <br />
<br />
<source lang="ini"><br />
<VirtualHost *:80><br />
ServerName $host<br />
RedirectPermanent / https://$host/<br />
</VirtualHost><br />
<br />
<VirtualHost *:443><br />
ServerName $host<br />
<br />
SSLEngine on<br />
SSLProtocol all -SSLv2 -SSLv3<br />
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA<br />
SSLHonorCipherOrder on<br />
SSLCompression off<br />
SSLOptions +StrictRequire<br />
<br />
SSLCertificateFile /etc/letsencrypt/live/$host/fullchain.pem<br />
SSLCertificateKeyFile /etc/letsencrypt/live/$host/privkey.pem<br />
<br />
Use RootDir $dir # hier sollte ein Verzeichnis unter /var/www stehen (kann leer sein, muss aber existieren)<br />
<br />
ProxyPass /.well-known !<br />
Alias /.well-known "/var/www/proxy/.well-known"<br />
<Directory "$dir/.well-known"><br />
order allow,deny<br />
allow from all<br />
AllowOverride All<br />
AddDefaultCharset Off<br />
</Directory><br />
<br />
<br />
ProxyRequests Off<br />
ProxyVia Off<br />
ProxyPreserveHost On<br />
ProxyPass /fhem http://$fhemhost:$port/fhem<br />
ProxyPassReverse /fhem http://$fhemhost:$port/fhem<br />
<br />
Header always set Strict-Transport-Security "max-age=31536000"<br />
<br />
<Proxy *><br />
Order deny,allow<br />
Allow from all<br />
AuthType Basic<br />
AuthName &quot;Password Required&quot;<br />
AuthUserFile /etc/fhem-htpasswd<br />
Require valid-user<br />
</Proxy><br />
</VirtualHost><br />
</source><br />
<br />
Die Proxy-Konfiguration ist so gewählt, dass auch automatische Zertifikats-Aktualisierung per webroot klappt (<code>letsencrypt certonly --renew-by-default --webroot -w $dir -d $host</code>). Initial muss man natürlich ohne Zertifikat einen normalen non-SSL-VHost aufmachen.<br />
<br />
== Websockets-Unterstützung ==<br />
<br />
<source lang="ini"><br />
RewriteEngine On<br />
RewriteCond %{HTTP:Upgrade} =websocket [NC]<br />
RewriteRule /fhem(.*) ws://$url$1 [P,L]<br />
RewriteCond %{HTTP:Upgrade} !=websocket [NC]<br />
RewriteRule /fhem(.*) http://$url$1 [P,L]<br />
</source><br />
<br />
== Hinweis zu Apache 2.4 ==<br />
Es muss zusätzlich das Modul '''proxy_html''' aktiviert werden (<code>a2enmod proxy_html</code>).<br />
Und die zu erstellende Config-Datei muss jetzt nach ''/etc/apache2/conf-available/fhem.conf'' (statt /etc/apache2/conf.d/fhem).<br />
<br />
== Mögliche Probleme ==<br />
<br />
=== Invalid command 'ProxyHTMLURLMap' ===<br />
Falls nach dem Neustart des Apache folgende Fehlermeldung kommt:<br />
<br />
<nowiki>Invalid command 'ProxyHTMLURLMap', perhaps misspelled or defined by a module not included in the server configuration<br />
Action 'configtest' failed.<br />
The Apache error log may have more information.</nowiki><br />
<br />
fehlt das Paket libapache2-mod-proxy-html. Einfach mit <br />
<br />
<source lang="bash">apt-get install libapache2-mod-proxy-html</source> <br />
<br />
nachinstallieren.<br />
<br />
=== ProxyHTMLURLMap funktioniert nicht ===<br />
<br />
Nicht bei allen Distributionen scheint die Konfigurationsdatei proxy_html.conf mitgeliefert zu werden. Allerdings ist seit einigen Versionen aus mod_proxy_ssl alle Information über zu ersetzende Links etc. entfernt worden. proxy_html.conf wird daher zwingend benötigt. Sie sollte in /etc/apache2/mods-available liegen und bei der Aktivierung des mods nach /etc/apache2/mods-enabled verlinkt werden. Wenn das nicht der Fall ist, kann man das nachholen.<br />
<br />
Eine Beispielkonfiguration gibt es [http://apache.webthing.com/svn/apache/filters/proxy_html/proxy_html.conf hier beim ursprünglichen Autor des mods]. Abspeichern unter /etc/apache2/mods-available/proxy_html.conf und dann verlinken:<br />
<br />
<source lang="bash">ln -s /etc/apache2/mods-available/proxy_html.conf /etc/apache2/mods-enabled/proxy_html.conf</source><br />
<br />
Dann Apache neu starten/laden.<br />
<br />
=== Content Encoding Fehler ===<br />
<br />
Wenn Firefox und Chromium sich nach der Konfigurationsänderung über Content Encoding Fehler beschweren, könnte Folgendes helfen:<br />
<br />
<pre>SetOutputFilter INFLATE;proxy-html;DEFLATE</pre><br />
<br />
==Links==<br />
*[[HTTPS-Absicherung & Authentifizierung via nginx Webserver]]<br />
<br />
[[Kategorie:HOWTOS]]</div>Apshttp://wiki.fhem.de/w/index.php?title=VAir_Monitor&diff=16406VAir Monitor2016-09-22T09:27:01Z<p>Aps: </p>
<hr />
<div>Der [http://vair-monitor.com/ v.Air-Monitor-Sensor] ist ein Sensor, der über WLAN (sowie andere Funktechnologien als Optionen) Sensorwerte wie CO2-Gehalt der Luft, Temperatur oder Luftfeuchtigkeit ermittelt.<br />
<br />
Die Einbindung in FHEM funktioniert am zuverlässigsten über [[MQTT]]. Voraussetzung ist demnach ein installierter MQTT-Server. Für die folgende Anleitung wird angenommen, dass dieser auf demselben Server (localhost) und auf Port 1883 (ohne SSL und ohne Authentifizierung) arbeitet.<br />
<br />
== Definiere MQTT gateway IODevice (siehe [http://fhem.de/commandref.html#MQTT Commandref]) ==<br />
<br />
:<code>define mqttserver MQTT localhost:1883</code><br />
<br />
== Definiere dummy device für den Sensor ==<br />
<br />
:<code>define vairsensor dummy</code><br />
:<code>attr vairsensor readingList temperature humidity co2</code><br />
<br />
== Definiere MQTT bridge ==<br />
<br />
:<code>define vairsensor_MQTT MQTT_BRIDGE vairsensor</code><br />
:<code>attr vairsensor_MQTT subscribeSet_co2 vair/co2</code><br />
:<code>attr vairsensor_MQTT subscribeSet_temperature vair/temp</code><br />
:<code>attr vairsensor_MQTT subscribeSet_humidity vair/hum</code><br />
<br />
== Konfiguration des Sensors == <br />
<br />
Über die Chrome-App, die für die Konfiguration des Sensors (u.a. auch für die Eingabe der WLAN-Zugangsdaten) verwendet wird, den MQTT-Server (localhost, 1883) konfigurieren und bei den Topics folgendes eintragen:<br />
<br />
:<code>vair/co2 %CO2%</code><br />
:<code>vair/temp %TEMP%</code><br />
:<code>vair/hum %HUM%</code><br />
<br />
Die Topics können natürlich frei gewählt werden; sie müssen nur mit der MQTT-Bridge übereinstimmen.<br />
<br />
<br />
[[Kategorie:Other Components]]</div>Apshttp://wiki.fhem.de/w/index.php?title=VAir_Monitor&diff=16405VAir Monitor2016-09-22T09:26:32Z<p>Aps: Die Seite wurde neu angelegt: „Der [http://vair-monitor.com/ v.Air-Monitor-Sensor] ist ein Sensor, der über WLAN (sowie andere Funktechnologien als Optionen) Sensorwerte wie CO2-Gehalt der…“</p>
<hr />
<div>Der [http://vair-monitor.com/ v.Air-Monitor-Sensor] ist ein Sensor, der über WLAN (sowie andere Funktechnologien als Optionen) Sensorwerte wie CO2-Gehalt der Luft, Temperatur oder Luftfeuchtigkeit ermittelt.<br />
<br />
Die Einbindung in FHEM funktioniert am zuverlässigsten über [MQTT]. Voraussetzung ist demnach ein installierter MQTT-Server. Für die folgende Anleitung wird angenommen, dass dieser auf demselben Server (localhost) und auf Port 1883 (ohne SSL und ohne Authentifizierung) arbeitet.<br />
<br />
== Definiere MQTT gateway IODevice (siehe [http://fhem.de/commandref.html#MQTT Commandref]) ==<br />
<br />
:<code>define mqttserver MQTT localhost:1883</code><br />
<br />
== Definiere dummy device für den Sensor ==<br />
<br />
:<code>define vairsensor dummy</code><br />
:<code>attr vairsensor readingList temperature humidity co2</code><br />
<br />
== Definiere MQTT bridge ==<br />
<br />
:<code>define vairsensor_MQTT MQTT_BRIDGE vairsensor</code><br />
:<code>attr vairsensor_MQTT subscribeSet_co2 vair/co2</code><br />
:<code>attr vairsensor_MQTT subscribeSet_temperature vair/temp</code><br />
:<code>attr vairsensor_MQTT subscribeSet_humidity vair/hum</code><br />
<br />
== Konfiguration des Sensors == <br />
<br />
Über die Chrome-App, die für die Konfiguration des Sensors (u.a. auch für die Eingabe der WLAN-Zugangsdaten) verwendet wird, den MQTT-Server (localhost, 1883) konfigurieren und bei den Topics folgendes eintragen:<br />
<br />
:<code>vair/co2 %CO2%</code><br />
:<code>vair/temp %TEMP%</code><br />
:<code>vair/hum %HUM%</code><br />
<br />
Die Topics können natürlich frei gewählt werden; sie müssen nur mit der MQTT-Bridge übereinstimmen.<br />
<br />
<br />
[[Kategorie:Other Components]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Synology_Diskstation&diff=14892Synology Diskstation2016-03-30T07:00:18Z<p>Aps: </p>
<hr />
<div>== Fhem Installation auf der Synology Diskstation (ab DSM 5)==<br />
<br />
Fhem auf einer Synology Diskstation (DS) zu installieren ist grundsätzlich nicht schwierig. Wichtig ist zunächst eine aktuelle DSM - also Systemupdates auf der DS installieren).<br />
<br />
* Zunächst installiert ihr Euch über das Paket-Zentrum der DS das Programm "Perl". <br />
* Dann besorgt ihr Euch von Martin Fischer ein kompiliertes Fhem [https://www.fischer-net.de/hausautomation/downloads/category/11-fhem.html SPK]. Mehr Infos s. [https://forum.fhem.de/index.php/topic,51265.0.html]<br />
* Dann wieder den Paket-Zentrum der DS aufrufen und "Manuelle Installation" -> entsprechende Datei auswählen -> weiter. Wenn es Mecker gibt wegen Signierung o.ä., dann Paket-Zentrum -> Einstellungen -> Vertrauensebene auf "Jeder Herausgeber".<br />
<br />
Danach ist Fhem installiert und ihr könnt es über das Paket-Zentrum starten. Dann einfach Fhem aufrufen und als erstes mal ein Update durchführen. <br />
Nach dem Update die Datei 99_update.pm löschen, siehe [http://forum.fhem.de/index.php/topic,36249.msg285521.html#msg285521 hier]<br />
<br />
Um einen CUL damit zu betreiben oder HUEs anzusteuern müssen noch weitere Schritte unternommen werden. (siehe weiter unten)<br />
<br />
<i>Hinweis:</i> Falls man eine neuere Version von Perl benötigt bzw. Probleme auftreten, dann kann auf x86_64-Architekturen (s. [http://www.synology-wiki.de/index.php/Welchen_Prozessortyp_besitzt_mein_System%3F]) auch ActivePerl eingesetzt werden. Dazu muss man nur das Startskript von FHEM anpassen. Dann kann man beide Versionen auch parallel betreiben. Nur bei CPAN/PPM darauf achten, in welchem Verzeichnis man das aufruft.<br />
<br />
Hier noch Links zu Wiki-Einträgen für ältere DSM-Versionen / Modelle:<br />
<br />
http://www.fhemwiki.de/wiki/Synology_409:_Update_auf_4.0<br />
<br />
http://www.fhemwiki.de/wiki/FHEM_auf_dem_Synology_DS408<br />
<br />
== CUL zum laufen bringen | IPKG installieren ==<br />
A.) Zunächst braucht ihr die USB-Treiber: http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial - diese einfach über das Paket-Zentrum installieren. Die Zusatzkonfigurationen, die vom Wizard nach der Installation gefragt werden, müssen nicht ausgewählt werden.<br />
<br />
B.) Dann braucht ihr das IPKG, damit ihr verschiedene Programme nachladen könnt, die ihr für den Betrieb des CUL benötigt:<br />
1. Prozessor (CPU) Architektur heraussuchen - http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have<br />
2. Der Prozessor (CPU) Architektur entsprechendes Shell-Script herunterladen und in einem beliebigen Ordner auf der DiskStation speichern - http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#Bootstrap<br />
Wenn ihr den Prozessor Marvel Armada XP oder Marvel Armada 370 habt (z.B. DS 214+), dann schaut hier: https://gist.github.com/marlun78/9349792<br />
3. Dieses How-to durch arbeiten - http://forum.synology.com/wiki/index.php/How_to_Install_Bootstrap (für den Armada nicht - da steht alles im o.g. Link)<br />
4. DiskStation neustarten<br />
<br />
C) Jetzt braucht ihr die SerialPort Modul.<br />
Das kann funktionieren mit:<br />
<br />
<code>"ipkg install gcc"<br />
<br />
"/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell" <br />
<br />
"cpan install Device::SerialPort"</code><br />
<br />
Hat es bei mir nicht - ich habe es so geschafft:<br />
<br />
<code>"ipkg install perl-device-serialport"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/Device/SerialPort.pm /volume1/@appstore/Perl/lib/perl5/site_perl/Device/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.bs /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.so /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"</code><br />
<br />
Keine der beiden Varianten funktioniert für DS213+ (Stand: Juni 2015). Alternative für DS213+ siehe [[Synology Diskstation DS213+|hier]].<br />
<br />
<br />
D) ganz wichtig - sonst schmiert Euch der CUL immer wieder ab - synousbmdemd deaktivieren - das habe ich wie folgt gemacht:<br />
<br />
<code>mv /usr/syno/sbin/synousbmodemd /usr/syno/sbin/synousbmodemd_bkp</code><br />
<br />
Bei einem DSM update wird dieser Dienst vermutlich wieder installiert - daher nach einem Update same procedure as every year.<br />
<br />
Der "Security Advisor" erkennt diese Änderung und glaubt, dass sich eine Malware auf dem NAS breitgemacht hätte. Man erhält deswegen eine entsprechende Warnung.<br />
<br />
== Wichtig: Logfile auf USB auslagern ==<br />
Damit die DS auch ab und zu mal die Platten zum schlafen schicken kann, solltet ihr die Logfiles auf ein USB-Laufwerk auslagern. Dazu einfach eines an die DS anschließen und im File-Explorer nachschauen, wie das Laufwerk benannt wurde (z.B. volumeUSB1). Dann Fhem runterfahren ("shutdown"), anschließend als root über z.B. putty mit der DS verbinden, das Log-Verzeichnis auf den Stick verschieben und einen Link anlegen - z.B. so:<br />
<br />
<code>mv /usr/local/FHEM/var/log /volumeUSB1/usbshare/fhem/log<br />
<br />
ln -s /volumeUSB1/usbshare/fhem/log /usr/local/FHEM/var/log</code><br />
<br />
Dann Fhem wieder starten und es sollte klappen.<br />
<br />
== Inhalt von Fhem-Verzeichnissen aus Windows direkt bearbeiten ==<br />
Hier gibt es mehrere Möglichkeiten. Entweder ihr verbindet Euch über WinSCP mit der DS. Oder aber ihr verschiebt und verknüpft noch weitere Teile der Fhem Installation auf den Stick (siehe Logfile auf USB auslagern). Hier wäre ich allerdings vorsichtig, da kann Fhem zickig werden. Ich persönlich habe mir die fhem.cfg auf diese Weise noch auf den Stick geschoben - also das /usr/local/FHEM/etc Verzeichnis analog obiger Beschreibung zum Logfile. Darüber hinaus könnt ihr auch einfach Dateien auf Eurem Stick ablegen und im entsprechenden Fhem-Verzeichnis einen Link dazu erstellen - so habe ich das z.B. mit meinen pm-Files gemacht - z.B.<br />
<br />
<code>ln -s /volumeUSB1/usbshare/fhem/99_myUtils.pm /usr/local/FHEM/share/fhem/FHEM/99_myUtils.pm</code><br />
<br />
== HUE auf der Synology Diskstation ==<br />
Da auf der DS standardmäßig kein JSON installiert ist, muss dies nachinstalliert werden (Danke an Patlinger für die Anleitung). Wichtig - ihr braucht IPKG (siehe CUL zum Laufen bringen):<br />
<br />
1. Per SSH verbinden (Befehl "ssh <ip-adresse> -l root")<br />
<br />
2. Superuser aktivieren (Befehl "su")<br />
<br />
3. "make" installieren (Befehl "ipkg install make")<br />
<br />
4. PERL und CPAN starten (Befehl "/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell"<br />
<br />
5. CPAN updaten (Befehl "install CPAN")<br />
<br />
6. JSON installieren (Befehl "install JSON")<br />
<br />
7. Per telnet verbinden (Befehl "telnet <ip-adresse> <port (7072)>")<br />
<br />
8. FHEM Update durchführen (Befehl "update")<br />
<br />
9. FHEM Neustart (Befehl "shutdown restart")<br />
<br />
10. Hue Bridge hinzufügen (Befehl "define <Name-für-die-Bridge> HUEBridge <ip-adresse-der-Hue-Bridge>")<br />
<br />
11. Taste an der Hue Bridge drücken um das "Pairing" zu bestätigen.<br />
<br />
12. GANZ WICHTIG - Wenn's jetzt einmal läuft, dann nicht vergessen die Konfiguration zu speichern! (Befehl "save")<br />
<br />
== Net::Telnet installieren ==<br />
Net::Telnet benötigt ihr beispielsweises für das geniale Modul FRITZBOX, dass Euch viele Möglichkeiten eröffnet, wenn ihr einen solchen Router besitzt.<br />
<br />
Los gehts wie üblich mit <br />
<code>"/usr/bin/perl -MCPAN -e shell"</code><br />
Der Pfad zu perl kann bei Euch auch anders lauten, siehe oben. Dann seid ihr fast fertig, nur noch folgendes eingeben - und fertig:<br />
<code>install Net::Telnet</code><br />
<br />
== JeeLink ==<br />
<br />
Für den JeeLink werden zwei Kernelmodule gebraucht, die seit DSM 5.2 dabei sind und nicht mehr separat installiert werden müssen. Jedoch müssen sie nach jedem Update wieder neu aktiviert werden (kann auch bei laufendem Betrieb von FHEM passieren):<br />
<br />
* <code>cd /lib/modules</code><br />
* <code>insmod usbserial.ko</code><br />
* <code>insmod ftdi_sio.ko</code><br />
<br />
Ansonsten wird wie oben beschrieben das <code>Device::SerialPort</code>-Modul benötigt.<br />
<br />
Getestet auf DSM415+<br />
<br />
== Automatischer Neustart == <br />
<br />
Script anlegen:<br />
<br />
<syntaxhighlight lang="bash"><br />
#!/bin/sh<br />
cnt=$(ps -A -f | grep "fhem\.pl" | grep -v grep | wc -l)<br />
if [ "$cnt" -eq "0" ] ; then<br />
/var/packages/FHEM/scripts/start-stop-status restart<br />
else<br />
echo "FHEM still running.";<br />
return 1;<br />
fi<br />
</syntaxhighlight><br />
<br />
Dann kann man entweder über cron das Skript regelmäßíg (z.B. alle 15min) oder man nutzt hierfür die in DSM eingebaute Aufgabenverwaltung (einfach vollständigen Pfad zum Skript eingeben). Letzteres ist für den Überblick auf praktischer.<br />
<br />
[[Kategorie:HOWTOS]]<br />
[[Kategorie:Synology]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Synology_Diskstation&diff=14891Synology Diskstation2016-03-30T06:36:26Z<p>Aps: /* Fhem Installation auf der Synology Diskstation (ab DSM 5) */</p>
<hr />
<div>== Fhem Installation auf der Synology Diskstation (ab DSM 5)==<br />
<br />
Fhem auf einer Synology Diskstation (DS) zu installieren ist grundsätzlich nicht schwierig. Wichtig ist zunächst eine aktuelle DSM - also Systemupdates auf der DS installieren).<br />
<br />
* Zunächst installiert ihr Euch über das Paket-Zentrum der DS das Programm "Perl". <br />
* Dann besorgt ihr Euch von Martin Fischer ein kompiliertes Fhem [https://www.fischer-net.de/hausautomation/downloads/category/11-fhem.html SPK].<br />
* Dann wieder den Paket-Zentrum der DS aufrufen und "Manuelle Installation" -> entsprechende Datei auswählen -> weiter. Wenn es Mecker gibt wegen Signierung o.ä., dann Paket-Zentrum -> Einstellungen -> Vertrauensebene auf "Jeder Herausgeber".<br />
<br />
Danach ist Fhem installiert und ihr könnt es über das Paket-Zentrum starten. Dann einfach Fhem aufrufen und als erstes mal ein Update durchführen. <br />
Nach dem Update die Datei 99_update.pm löschen, siehe [http://forum.fhem.de/index.php/topic,36249.msg285521.html#msg285521 hier]<br />
<br />
Um einen CUL damit zu betreiben oder HUEs anzusteuern müssen noch weitere Schritte unternommen werden. (siehe weiter unten)<br />
<br />
<i>Hinweis:</i> Falls man eine neuere Version von Perl benötigt bzw. Probleme auftreten, dann kann auf x86_64-Architekturen (s. [http://www.synology-wiki.de/index.php/Welchen_Prozessortyp_besitzt_mein_System%3F]) auch ActivePerl eingesetzt werden. Dazu muss man nur das Startskript von FHEM anpassen. Dann kann man beide Versionen auch parallel betreiben. Nur bei CPAN/PPM darauf achten, in welchem Verzeichnis man das aufruft.<br />
<br />
Hier noch Links zu Wiki-Einträgen für ältere DSM-Versionen / Modelle:<br />
<br />
http://www.fhemwiki.de/wiki/Synology_409:_Update_auf_4.0<br />
<br />
http://www.fhemwiki.de/wiki/FHEM_auf_dem_Synology_DS408<br />
<br />
== CUL zum laufen bringen | IPKG installieren ==<br />
A.) Zunächst braucht ihr die USB-Treiber: http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial - diese einfach über das Paket-Zentrum installieren. Die Zusatzkonfigurationen, die vom Wizard nach der Installation gefragt werden, müssen nicht ausgewählt werden.<br />
<br />
B.) Dann braucht ihr das IPKG, damit ihr verschiedene Programme nachladen könnt, die ihr für den Betrieb des CUL benötigt:<br />
1. Prozessor (CPU) Architektur heraussuchen - http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have<br />
2. Der Prozessor (CPU) Architektur entsprechendes Shell-Script herunterladen und in einem beliebigen Ordner auf der DiskStation speichern - http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#Bootstrap<br />
Wenn ihr den Prozessor Marvel Armada XP oder Marvel Armada 370 habt (z.B. DS 214+), dann schaut hier: https://gist.github.com/marlun78/9349792<br />
3. Dieses How-to durch arbeiten - http://forum.synology.com/wiki/index.php/How_to_Install_Bootstrap (für den Armada nicht - da steht alles im o.g. Link)<br />
4. DiskStation neustarten<br />
<br />
C) Jetzt braucht ihr die SerialPort Modul.<br />
Das kann funktionieren mit:<br />
<br />
<code>"ipkg install gcc"<br />
<br />
"/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell" <br />
<br />
"cpan install Device::SerialPort"</code><br />
<br />
Hat es bei mir nicht - ich habe es so geschafft:<br />
<br />
<code>"ipkg install perl-device-serialport"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/Device/SerialPort.pm /volume1/@appstore/Perl/lib/perl5/site_perl/Device/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.bs /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.so /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"</code><br />
<br />
Keine der beiden Varianten funktioniert für DS213+ (Stand: Juni 2015). Alternative für DS213+ siehe [[Synology Diskstation DS213+|hier]].<br />
<br />
<br />
D) ganz wichtig - sonst schmiert Euch der CUL immer wieder ab - synousbmdemd deaktivieren - das habe ich wie folgt gemacht:<br />
<br />
<code>mv /usr/syno/sbin/synousbmodemd /usr/syno/sbin/synousbmodemd_bkp</code><br />
<br />
Bei einem DSM update wird dieser Dienst vermutlich wieder installiert - daher nach einem Update same procedure as every year.<br />
<br />
Der "Security Advisor" erkennt diese Änderung und glaubt, dass sich eine Malware auf dem NAS breitgemacht hätte. Man erhält deswegen eine entsprechende Warnung.<br />
<br />
== Wichtig: Logfile auf USB auslagern ==<br />
Damit die DS auch ab und zu mal die Platten zum schlafen schicken kann, solltet ihr die Logfiles auf ein USB-Laufwerk auslagern. Dazu einfach eines an die DS anschließen und im File-Explorer nachschauen, wie das Laufwerk benannt wurde (z.B. volumeUSB1). Dann Fhem runterfahren ("shutdown"), anschließend als root über z.B. putty mit der DS verbinden, das Log-Verzeichnis auf den Stick verschieben und einen Link anlegen - z.B. so:<br />
<br />
<code>mv /usr/local/FHEM/var/log /volumeUSB1/usbshare/fhem/log<br />
<br />
ln -s /volumeUSB1/usbshare/fhem/log /usr/local/FHEM/var/log</code><br />
<br />
Dann Fhem wieder starten und es sollte klappen.<br />
<br />
== Inhalt von Fhem-Verzeichnissen aus Windows direkt bearbeiten ==<br />
Hier gibt es mehrere Möglichkeiten. Entweder ihr verbindet Euch über WinSCP mit der DS. Oder aber ihr verschiebt und verknüpft noch weitere Teile der Fhem Installation auf den Stick (siehe Logfile auf USB auslagern). Hier wäre ich allerdings vorsichtig, da kann Fhem zickig werden. Ich persönlich habe mir die fhem.cfg auf diese Weise noch auf den Stick geschoben - also das /usr/local/FHEM/etc Verzeichnis analog obiger Beschreibung zum Logfile. Darüber hinaus könnt ihr auch einfach Dateien auf Eurem Stick ablegen und im entsprechenden Fhem-Verzeichnis einen Link dazu erstellen - so habe ich das z.B. mit meinen pm-Files gemacht - z.B.<br />
<br />
<code>ln -s /volumeUSB1/usbshare/fhem/99_myUtils.pm /usr/local/FHEM/share/fhem/FHEM/99_myUtils.pm</code><br />
<br />
== HUE auf der Synology Diskstation ==<br />
Da auf der DS standardmäßig kein JSON installiert ist, muss dies nachinstalliert werden (Danke an Patlinger für die Anleitung). Wichtig - ihr braucht IPKG (siehe CUL zum Laufen bringen):<br />
<br />
1. Per SSH verbinden (Befehl "ssh <ip-adresse> -l root")<br />
<br />
2. Superuser aktivieren (Befehl "su")<br />
<br />
3. "make" installieren (Befehl "ipkg install make")<br />
<br />
4. PERL und CPAN starten (Befehl "/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell"<br />
<br />
5. CPAN updaten (Befehl "install CPAN")<br />
<br />
6. JSON installieren (Befehl "install JSON")<br />
<br />
7. Per telnet verbinden (Befehl "telnet <ip-adresse> <port (7072)>")<br />
<br />
8. FHEM Update durchführen (Befehl "update")<br />
<br />
9. FHEM Neustart (Befehl "shutdown restart")<br />
<br />
10. Hue Bridge hinzufügen (Befehl "define <Name-für-die-Bridge> HUEBridge <ip-adresse-der-Hue-Bridge>")<br />
<br />
11. Taste an der Hue Bridge drücken um das "Pairing" zu bestätigen.<br />
<br />
12. GANZ WICHTIG - Wenn's jetzt einmal läuft, dann nicht vergessen die Konfiguration zu speichern! (Befehl "save")<br />
<br />
== Net::Telnet installieren ==<br />
Net::Telnet benötigt ihr beispielsweises für das geniale Modul FRITZBOX, dass Euch viele Möglichkeiten eröffnet, wenn ihr einen solchen Router besitzt.<br />
<br />
Los gehts wie üblich mit <br />
<code>"/usr/bin/perl -MCPAN -e shell"</code><br />
Der Pfad zu perl kann bei Euch auch anders lauten, siehe oben. Dann seid ihr fast fertig, nur noch folgendes eingeben - und fertig:<br />
<code>install Net::Telnet</code><br />
<br />
== JeeLink ==<br />
<br />
Für den JeeLink werden zwei Kernelmodule gebraucht, die seit DSM 5.2 dabei sind und nicht mehr separat installiert werden müssen. Jedoch müssen sie nach jedem Update wieder neu aktiviert werden (kann auch bei laufendem Betrieb von FHEM passieren):<br />
<br />
* <code>cd /lib/modules</code><br />
* <code>insmod usbserial.ko</code><br />
* <code>insmod ftdi_sio.ko</code><br />
<br />
Ansonsten wird wie oben beschrieben das <code>Device::SerialPort</code>-Modul benötigt.<br />
<br />
Getestet auf DSM415+<br />
<br />
== Automatischer Neustart == <br />
<br />
Script anlegen:<br />
<br />
<syntaxhighlight lang="bash"><br />
#!/bin/sh<br />
cnt=$(ps -A -f | grep "fhem\.pl" | grep -v grep | wc -l)<br />
if [ "$cnt" -eq "0" ] ; then<br />
/var/packages/FHEM/scripts/start-stop-status restart<br />
else<br />
echo "FHEM still running.";<br />
return 1;<br />
fi<br />
</syntaxhighlight><br />
<br />
Dann kann man entweder über cron das Skript regelmäßíg (z.B. alle 15min) oder man nutzt hierfür die in DSM eingebaute Aufgabenverwaltung (einfach vollständigen Pfad zum Skript eingeben). Letzteres ist für den Überblick auf praktischer.<br />
<br />
[[Kategorie:HOWTOS]]<br />
[[Kategorie:Synology]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Synology_Diskstation&diff=14890Synology Diskstation2016-03-30T06:29:31Z<p>Aps: /* Aktualisierung Link zum SPK gemäß Forumsbeitrag */</p>
<hr />
<div>== Fhem Installation auf der Synology Diskstation (ab DSM 5)==<br />
<br />
Fhem auf einer Synology Diskstation (DS) zu installieren ist grundsätzlich nicht schwierig. Wichtig ist zunächst eine aktuelle DSM - also Systemupdates auf der DS installieren).<br />
<br />
* Zunächst installiert ihr Euch über das Paket-Zentrum der DS das Programm "Perl". <br />
* Dann besorgt ihr Euch von Martin Fischer ein kompiliertes Fhem [https://www.fischer-net.de/hausautomation/downloads/category/11-fhem.html SPK].<br />
* Dann wieder den Paket-Zentrum der DS aufrufen und "Manuelle Installation" -> entsprechende Datei auswählen -> weiter. Wenn es Mecker gibt wegen Signierung o.ä., dann Paket-Zentrum -> Einstellungen -> Vertrauensebene auf "Jeder Herausgeber".<br />
<br />
Danach ist Fhem installiert und ihr könnt es über das Paket-Zentrum starten. Dann einfach Fhem aufrufen und als erstes mal ein Update durchführen. <br />
Nach dem Update die Datei 99_update.pm löschen, siehe [http://forum.fhem.de/index.php/topic,36249.msg285521.html#msg285521 hier]<br />
<br />
Um einen CUL damit zu betreiben oder HUEs anzusteuern müssen noch weitere Schritte unternommen werden. (siehe weiter unten)<br />
<br />
Hier noch Links zu Wiki-Einträgen für ältere DSM-Versionen / Modelle:<br />
<br />
http://www.fhemwiki.de/wiki/Synology_409:_Update_auf_4.0<br />
<br />
http://www.fhemwiki.de/wiki/FHEM_auf_dem_Synology_DS408<br />
<br />
== CUL zum laufen bringen | IPKG installieren ==<br />
A.) Zunächst braucht ihr die USB-Treiber: http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial - diese einfach über das Paket-Zentrum installieren. Die Zusatzkonfigurationen, die vom Wizard nach der Installation gefragt werden, müssen nicht ausgewählt werden.<br />
<br />
B.) Dann braucht ihr das IPKG, damit ihr verschiedene Programme nachladen könnt, die ihr für den Betrieb des CUL benötigt:<br />
1. Prozessor (CPU) Architektur heraussuchen - http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have<br />
2. Der Prozessor (CPU) Architektur entsprechendes Shell-Script herunterladen und in einem beliebigen Ordner auf der DiskStation speichern - http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#Bootstrap<br />
Wenn ihr den Prozessor Marvel Armada XP oder Marvel Armada 370 habt (z.B. DS 214+), dann schaut hier: https://gist.github.com/marlun78/9349792<br />
3. Dieses How-to durch arbeiten - http://forum.synology.com/wiki/index.php/How_to_Install_Bootstrap (für den Armada nicht - da steht alles im o.g. Link)<br />
4. DiskStation neustarten<br />
<br />
C) Jetzt braucht ihr die SerialPort Modul.<br />
Das kann funktionieren mit:<br />
<br />
<code>"ipkg install gcc"<br />
<br />
"/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell" <br />
<br />
"cpan install Device::SerialPort"</code><br />
<br />
Hat es bei mir nicht - ich habe es so geschafft:<br />
<br />
<code>"ipkg install perl-device-serialport"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/Device/SerialPort.pm /volume1/@appstore/Perl/lib/perl5/site_perl/Device/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.bs /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.so /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"</code><br />
<br />
Keine der beiden Varianten funktioniert für DS213+ (Stand: Juni 2015). Alternative für DS213+ siehe [[Synology Diskstation DS213+|hier]].<br />
<br />
<br />
D) ganz wichtig - sonst schmiert Euch der CUL immer wieder ab - synousbmdemd deaktivieren - das habe ich wie folgt gemacht:<br />
<br />
<code>mv /usr/syno/sbin/synousbmodemd /usr/syno/sbin/synousbmodemd_bkp</code><br />
<br />
Bei einem DSM update wird dieser Dienst vermutlich wieder installiert - daher nach einem Update same procedure as every year.<br />
<br />
Der "Security Advisor" erkennt diese Änderung und glaubt, dass sich eine Malware auf dem NAS breitgemacht hätte. Man erhält deswegen eine entsprechende Warnung.<br />
<br />
== Wichtig: Logfile auf USB auslagern ==<br />
Damit die DS auch ab und zu mal die Platten zum schlafen schicken kann, solltet ihr die Logfiles auf ein USB-Laufwerk auslagern. Dazu einfach eines an die DS anschließen und im File-Explorer nachschauen, wie das Laufwerk benannt wurde (z.B. volumeUSB1). Dann Fhem runterfahren ("shutdown"), anschließend als root über z.B. putty mit der DS verbinden, das Log-Verzeichnis auf den Stick verschieben und einen Link anlegen - z.B. so:<br />
<br />
<code>mv /usr/local/FHEM/var/log /volumeUSB1/usbshare/fhem/log<br />
<br />
ln -s /volumeUSB1/usbshare/fhem/log /usr/local/FHEM/var/log</code><br />
<br />
Dann Fhem wieder starten und es sollte klappen.<br />
<br />
== Inhalt von Fhem-Verzeichnissen aus Windows direkt bearbeiten ==<br />
Hier gibt es mehrere Möglichkeiten. Entweder ihr verbindet Euch über WinSCP mit der DS. Oder aber ihr verschiebt und verknüpft noch weitere Teile der Fhem Installation auf den Stick (siehe Logfile auf USB auslagern). Hier wäre ich allerdings vorsichtig, da kann Fhem zickig werden. Ich persönlich habe mir die fhem.cfg auf diese Weise noch auf den Stick geschoben - also das /usr/local/FHEM/etc Verzeichnis analog obiger Beschreibung zum Logfile. Darüber hinaus könnt ihr auch einfach Dateien auf Eurem Stick ablegen und im entsprechenden Fhem-Verzeichnis einen Link dazu erstellen - so habe ich das z.B. mit meinen pm-Files gemacht - z.B.<br />
<br />
<code>ln -s /volumeUSB1/usbshare/fhem/99_myUtils.pm /usr/local/FHEM/share/fhem/FHEM/99_myUtils.pm</code><br />
<br />
== HUE auf der Synology Diskstation ==<br />
Da auf der DS standardmäßig kein JSON installiert ist, muss dies nachinstalliert werden (Danke an Patlinger für die Anleitung). Wichtig - ihr braucht IPKG (siehe CUL zum Laufen bringen):<br />
<br />
1. Per SSH verbinden (Befehl "ssh <ip-adresse> -l root")<br />
<br />
2. Superuser aktivieren (Befehl "su")<br />
<br />
3. "make" installieren (Befehl "ipkg install make")<br />
<br />
4. PERL und CPAN starten (Befehl "/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell"<br />
<br />
5. CPAN updaten (Befehl "install CPAN")<br />
<br />
6. JSON installieren (Befehl "install JSON")<br />
<br />
7. Per telnet verbinden (Befehl "telnet <ip-adresse> <port (7072)>")<br />
<br />
8. FHEM Update durchführen (Befehl "update")<br />
<br />
9. FHEM Neustart (Befehl "shutdown restart")<br />
<br />
10. Hue Bridge hinzufügen (Befehl "define <Name-für-die-Bridge> HUEBridge <ip-adresse-der-Hue-Bridge>")<br />
<br />
11. Taste an der Hue Bridge drücken um das "Pairing" zu bestätigen.<br />
<br />
12. GANZ WICHTIG - Wenn's jetzt einmal läuft, dann nicht vergessen die Konfiguration zu speichern! (Befehl "save")<br />
<br />
== Net::Telnet installieren ==<br />
Net::Telnet benötigt ihr beispielsweises für das geniale Modul FRITZBOX, dass Euch viele Möglichkeiten eröffnet, wenn ihr einen solchen Router besitzt.<br />
<br />
Los gehts wie üblich mit <br />
<code>"/usr/bin/perl -MCPAN -e shell"</code><br />
Der Pfad zu perl kann bei Euch auch anders lauten, siehe oben. Dann seid ihr fast fertig, nur noch folgendes eingeben - und fertig:<br />
<code>install Net::Telnet</code><br />
<br />
== JeeLink ==<br />
<br />
Für den JeeLink werden zwei Kernelmodule gebraucht, die seit DSM 5.2 dabei sind und nicht mehr separat installiert werden müssen. Jedoch müssen sie nach jedem Update wieder neu aktiviert werden (kann auch bei laufendem Betrieb von FHEM passieren):<br />
<br />
* <code>cd /lib/modules</code><br />
* <code>insmod usbserial.ko</code><br />
* <code>insmod ftdi_sio.ko</code><br />
<br />
Ansonsten wird wie oben beschrieben das <code>Device::SerialPort</code>-Modul benötigt.<br />
<br />
Getestet auf DSM415+<br />
<br />
== Automatischer Neustart == <br />
<br />
Script anlegen:<br />
<br />
<syntaxhighlight lang="bash"><br />
#!/bin/sh<br />
cnt=$(ps -A -f | grep "fhem\.pl" | grep -v grep | wc -l)<br />
if [ "$cnt" -eq "0" ] ; then<br />
/var/packages/FHEM/scripts/start-stop-status restart<br />
else<br />
echo "FHEM still running.";<br />
return 1;<br />
fi<br />
</syntaxhighlight><br />
<br />
Dann kann man entweder über cron das Skript regelmäßíg (z.B. alle 15min) oder man nutzt hierfür die in DSM eingebaute Aufgabenverwaltung (einfach vollständigen Pfad zum Skript eingeben). Letzteres ist für den Überblick auf praktischer.<br />
<br />
[[Kategorie:HOWTOS]]<br />
[[Kategorie:Synology]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Apache_Authentication_Proxy&diff=14846Apache Authentication Proxy2016-03-26T16:37:51Z<p>Aps: /* SSL-Konfiguration */</p>
<hr />
<div>== Konfiguration ==<br />
<br />
Um den Zugriff auf FHEMWEB etwas sicherer zu machen, kann man den Webzugriff über einen Apachen laufen lassen. Dies ist ein kurzes Rezept, um Zugriffe auf FHEMWEB über einen Apachen authentifizieren zu lassen. Erstellt wurde es auf Debian Squeeze, sollte aber auch mit Ubuntu funktionieren.<br />
<br />
<nowiki>apt-get install apache2 libapache2-mod-proxy-html</nowiki><br />
<br />
<br />
Step 1) FHEMWEB sollte nur noch auf dem Loopback lauschen, also kein 'global' Attribut in der Definition in fhem.cfg<br />
<br />
<nowiki>define WEBS FHEMWEB 8084</nowiki><br />
<br />
Step 2) die folgenden Apache2 Module müssen aktiviert sein: mod_proxy + mod_proxy_http<br />
<br />
<nowiki>a2enmod proxy<br />
a2enmod proxy_http</nowiki><br />
<br />
Step 3) neue Datei /etc/apache2/conf.d/fhem:<br />
<br />
Diese Konfiguration sorgt dafür, dass alle Anfragen unter /fhem weiter nach [http://localhost/fhem http://localhost/fhem] geleitet werden. Zusätzlich wird eine Basic-Authentifizierung eingeschaltet. Die Benutzerdatenbank ist dann in /etc/fhem-htpasswd zu finden.<br />
<br />
<nowiki>&lt;Location /fhem&gt;<br />
# ProxyPass/ProxyPassReverse leitet HTTP requests auf eine andere URL um<br />
ProxyPass http://localhost:8084/fhem<br />
ProxyPassReverse http://localhost:8084/fhem<br />
ProxyHTMLEnable On<br />
# ProxyHTMLURLMap passt Links im HTML/JavaScript Source an<br />
ProxyHTMLURLMap / /fhem/<br />
ProxyHTMLURLMap /fhem/ /fhem/<br />
AuthType Basic<br />
AuthName &quot;Password Required&quot;<br />
AuthUserFile /etc/fhem-htpasswd<br />
Require valid-user<br />
Order deny,allow<br />
Allow from all<br />
&lt;/Location&gt;</nowiki><br />
<br />
Step 4) Benutzer-Datenbank in /etc/fhem-htpasswd anlegen<br />
<br />
<nowiki># -c -&gt; create file<br />
# -s SHA encryption<br />
htpasswd -c -s /etc/fhem-htpasswd &lt;username&gt;<br />
# add more users with<br />
htpasswd -s /etc/fhem-htpasswd &lt;username&gt;</nowiki><br />
<br />
Step 5) Apache neu starten<br />
<br />
<nowiki>invoke-rc.d apache2 reload</nowiki><br />
<br />
bzw.<br />
<br />
<nowiki>service apache2 reload</nowiki><br />
<br />
Fertig. FHEM ist jetzt über http://server/fhem erreichbar. Alle Zugriffe müssen aber erst mit Benutzername + Passwort freigeschaltet werden.<br />
<br />
=== SSL-Konfiguration ===<br />
<br />
Um nicht die Passwörter unverschlüsselt übers Netz zu schicken, ist die Konfiguration eines SSL-Reverse-Proxys noch empfehlenswerter. Die untenstehende Konfiguration zeigt die Verwendung von letsencrypt. <br />
<br />
<nowiki><br />
<VirtualHost *:80><br />
ServerName $host<br />
RedirectPermanent / https://$host/<br />
</VirtualHost><br />
<br />
<VirtualHost *:443><br />
ServerName $host<br />
<br />
SSLEngine on<br />
SSLProtocol all -SSLv2 -SSLv3<br />
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA<br />
<br />
SSLHonorCipherOrder on<br />
SSLCompression off<br />
<br />
SSLOptions +StrictRequire<br />
<br />
SSLCertificateFile /etc/letsencrypt/live/$host/fullchain.pem<br />
SSLCertificateKeyFile /etc/letsencrypt/live/$host/privkey.pem<br />
<br />
Use RootDir $dir # hier sollte ein Verzeichnis unter /var/www stehen (kann leer sein, muss aber existieren)<br />
<br />
ProxyPass /.well-known !<br />
Alias /.well-known "/var/www/proxy/.well-known"<br />
<Directory "$dir/.well-known"><br />
order allow,deny<br />
allow from all<br />
AllowOverride All<br />
AddDefaultCharset Off<br />
</Directory><br />
<br />
<br />
ProxyRequests Off<br />
ProxyVia Off<br />
ProxyPreserveHost On<br />
ProxyPass /fhem http://$fhemhost:$port/fhem<br />
ProxyPassReverse /fhem http://$fhemhost:$port/fhem<br />
<br />
Header always set Strict-Transport-Security "max-age=31536000"<br />
<br />
<Proxy *><br />
Order deny,allow<br />
Allow from all<br />
AuthType Basic<br />
AuthName &quot;Password Required&quot;<br />
AuthUserFile /etc/fhem-htpasswd<br />
Require valid-user<br />
</Proxy><br />
</VirtualHost><br />
<br />
</nowiki><br />
<br />
Die Proxy-Konfiguration ist so gewählt, dass auch automatische letsencrypt-Aktualisierung per webroot klappt (<code>letsencrypt certonly --renew-by-default --webroot -w $dir -d $host</code>). Initial muss man natürlich ohne Zertifikat einen normalen non-SSL-VHost aufmachen.<br />
<br />
== Hinweis zu Apache 2.4 ==<br />
Es muss zusätzlich das Modul '''proxy_html''' aktiviert werden (<code>a2enmod proxy_html</code>).<br />
Und die zu erstellende Config-Datei muss jetzt nach ''/etc/apache2/conf-available/fhem.conf'' (statt /etc/apache2/conf.d/fhem).<br />
<br />
== Mögliche Probleme ==<br />
<br />
=== Invalid command 'ProxyHTMLURLMap' ===<br />
Falls nach dem Neustart des Apache folgende Fehlermeldung kommt:<br />
<br />
<nowiki>Invalid command 'ProxyHTMLURLMap', perhaps misspelled or defined by a module not included in the server configuration<br />
Action 'configtest' failed.<br />
The Apache error log may have more information.</nowiki><br />
<br />
fehlt das Paket libapache2-mod-proxy-html. Einfach mit <br />
<br />
<nowiki>apt-get install libapache2-mod-proxy-html</nowiki> <br />
<br />
nachinstallieren.<br />
<br />
=== ProxyHTMLURLMap funktioniert nicht ===<br />
<br />
Nicht bei allen Distributionen scheint die Konfigurationsdatei proxy_html.conf mitgeliefert zu werden. Allerdings ist seit einigen Versionen aus mod_proxy_ssl alle Information über zu ersetzende Links etc. entfernt worden. proxy_html.conf wird daher zwingend benötigt. Sie sollte in /etc/apache2/mods-available liegen und bei der Aktivierung des mods nach /etc/apache2/mods-enabled verlinkt werden. Wenn das nicht der Fall ist, kann man das nachholen.<br />
<br />
Eine Beispielkonfiguration gibt es [http://apache.webthing.com/svn/apache/filters/proxy_html/proxy_html.conf hier beim ursprünglichen Autor des mods]. Abspeichern unter /etc/apache2/mods-available/proxy_html.conf und dann verlinken:<br />
<br />
<pre>ln -s /etc/apache2/mods-available/proxy_html.conf /etc/apache2/mods-enabled/proxy_html.conf</pre><br />
<br />
Dann Apache neu starten/laden.<br />
<br />
=== Content Encoding Fehler ===<br />
<br />
Wenn Firefox und Chromium sich nach der Konfigurationsänderung über Content Encoding Fehler beschweren, könnte Folgendes helfen:<br />
<br />
<pre>SetOutputFilter INFLATE;proxy-html;DEFLATE</pre><br />
<br />
[[Kategorie:HOWTOS]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Apache_Authentication_Proxy&diff=14845Apache Authentication Proxy2016-03-26T16:35:05Z<p>Aps: /* Konfiguration */</p>
<hr />
<div>== Konfiguration ==<br />
<br />
Um den Zugriff auf FHEMWEB etwas sicherer zu machen, kann man den Webzugriff über einen Apachen laufen lassen. Dies ist ein kurzes Rezept, um Zugriffe auf FHEMWEB über einen Apachen authentifizieren zu lassen. Erstellt wurde es auf Debian Squeeze, sollte aber auch mit Ubuntu funktionieren.<br />
<br />
<nowiki>apt-get install apache2 libapache2-mod-proxy-html</nowiki><br />
<br />
<br />
Step 1) FHEMWEB sollte nur noch auf dem Loopback lauschen, also kein 'global' Attribut in der Definition in fhem.cfg<br />
<br />
<nowiki>define WEBS FHEMWEB 8084</nowiki><br />
<br />
Step 2) die folgenden Apache2 Module müssen aktiviert sein: mod_proxy + mod_proxy_http<br />
<br />
<nowiki>a2enmod proxy<br />
a2enmod proxy_http</nowiki><br />
<br />
Step 3) neue Datei /etc/apache2/conf.d/fhem:<br />
<br />
Diese Konfiguration sorgt dafür, dass alle Anfragen unter /fhem weiter nach [http://localhost/fhem http://localhost/fhem] geleitet werden. Zusätzlich wird eine Basic-Authentifizierung eingeschaltet. Die Benutzerdatenbank ist dann in /etc/fhem-htpasswd zu finden.<br />
<br />
<nowiki>&lt;Location /fhem&gt;<br />
# ProxyPass/ProxyPassReverse leitet HTTP requests auf eine andere URL um<br />
ProxyPass http://localhost:8084/fhem<br />
ProxyPassReverse http://localhost:8084/fhem<br />
ProxyHTMLEnable On<br />
# ProxyHTMLURLMap passt Links im HTML/JavaScript Source an<br />
ProxyHTMLURLMap / /fhem/<br />
ProxyHTMLURLMap /fhem/ /fhem/<br />
AuthType Basic<br />
AuthName &quot;Password Required&quot;<br />
AuthUserFile /etc/fhem-htpasswd<br />
Require valid-user<br />
Order deny,allow<br />
Allow from all<br />
&lt;/Location&gt;</nowiki><br />
<br />
Step 4) Benutzer-Datenbank in /etc/fhem-htpasswd anlegen<br />
<br />
<nowiki># -c -&gt; create file<br />
# -s SHA encryption<br />
htpasswd -c -s /etc/fhem-htpasswd &lt;username&gt;<br />
# add more users with<br />
htpasswd -s /etc/fhem-htpasswd &lt;username&gt;</nowiki><br />
<br />
Step 5) Apache neu starten<br />
<br />
<nowiki>invoke-rc.d apache2 reload</nowiki><br />
<br />
bzw.<br />
<br />
<nowiki>service apache2 reload</nowiki><br />
<br />
Fertig. FHEM ist jetzt über http://server/fhem erreichbar. Alle Zugriffe müssen aber erst mit Benutzername + Passwort freigeschaltet werden.<br />
<br />
=== SSL-Konfiguration ===<br />
<br />
Um nicht die Passwörter unverschlüsselt übers Netz zu schicken, ist die Konfiguration eines SSL-Reverse-Proxys noch empfehlenswerter:<br />
<br />
<nowiki><br />
<VirtualHost *:80><br />
ServerName $host<br />
RedirectPermanent / https://$host/<br />
</VirtualHost><br />
<br />
<VirtualHost *:443><br />
ServerName $host<br />
<br />
SSLEngine on<br />
SSLProtocol all -SSLv2 -SSLv3<br />
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA<br />
<br />
SSLHonorCipherOrder on<br />
SSLCompression off<br />
<br />
SSLOptions +StrictRequire<br />
<br />
SSLCertificateFile /etc/letsencrypt/live/$host/fullchain.pem<br />
SSLCertificateKeyFile /etc/letsencrypt/live/$host/privkey.pem<br />
<br />
Use RootDir $dir # hier sollte ein Verzeichnis unter /var/www stehen (kann leer sein, muss aber existieren)<br />
<br />
ProxyPass /.well-known !<br />
Alias /.well-known "/var/www/proxy/.well-known"<br />
<Directory "$dir/.well-known"><br />
order allow,deny<br />
allow from all<br />
AllowOverride All<br />
AddDefaultCharset Off<br />
</Directory><br />
<br />
<br />
ProxyRequests Off<br />
ProxyVia Off<br />
ProxyPreserveHost On<br />
ProxyPass /fhem http://$fhemhost:$port/fhem<br />
ProxyPassReverse /fhem http://$fhemhost:$port/fhem<br />
<br />
Header always set Strict-Transport-Security "max-age=31536000"<br />
<br />
<Proxy *><br />
Order deny,allow<br />
Allow from all<br />
AuthType Basic<br />
AuthName &quot;Password Required&quot;<br />
AuthUserFile /etc/fhem-htpasswd<br />
Require valid-user<br />
</Proxy><br />
</VirtualHost><br />
<br />
</nowiki><br />
<br />
=== Weitere Absicherung<br />
<br />
== Hinweis zu Apache 2.4 ==<br />
Es muss zusätzlich das Modul '''proxy_html''' aktiviert werden (<code>a2enmod proxy_html</code>).<br />
Und die zu erstellende Config-Datei muss jetzt nach ''/etc/apache2/conf-available/fhem.conf'' (statt /etc/apache2/conf.d/fhem).<br />
<br />
== Mögliche Probleme ==<br />
<br />
=== Invalid command 'ProxyHTMLURLMap' ===<br />
Falls nach dem Neustart des Apache folgende Fehlermeldung kommt:<br />
<br />
<nowiki>Invalid command 'ProxyHTMLURLMap', perhaps misspelled or defined by a module not included in the server configuration<br />
Action 'configtest' failed.<br />
The Apache error log may have more information.</nowiki><br />
<br />
fehlt das Paket libapache2-mod-proxy-html. Einfach mit <br />
<br />
<nowiki>apt-get install libapache2-mod-proxy-html</nowiki> <br />
<br />
nachinstallieren.<br />
<br />
=== ProxyHTMLURLMap funktioniert nicht ===<br />
<br />
Nicht bei allen Distributionen scheint die Konfigurationsdatei proxy_html.conf mitgeliefert zu werden. Allerdings ist seit einigen Versionen aus mod_proxy_ssl alle Information über zu ersetzende Links etc. entfernt worden. proxy_html.conf wird daher zwingend benötigt. Sie sollte in /etc/apache2/mods-available liegen und bei der Aktivierung des mods nach /etc/apache2/mods-enabled verlinkt werden. Wenn das nicht der Fall ist, kann man das nachholen.<br />
<br />
Eine Beispielkonfiguration gibt es [http://apache.webthing.com/svn/apache/filters/proxy_html/proxy_html.conf hier beim ursprünglichen Autor des mods]. Abspeichern unter /etc/apache2/mods-available/proxy_html.conf und dann verlinken:<br />
<br />
<pre>ln -s /etc/apache2/mods-available/proxy_html.conf /etc/apache2/mods-enabled/proxy_html.conf</pre><br />
<br />
Dann Apache neu starten/laden.<br />
<br />
=== Content Encoding Fehler ===<br />
<br />
Wenn Firefox und Chromium sich nach der Konfigurationsänderung über Content Encoding Fehler beschweren, könnte Folgendes helfen:<br />
<br />
<pre>SetOutputFilter INFLATE;proxy-html;DEFLATE</pre><br />
<br />
[[Kategorie:HOWTOS]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Synology_Diskstation&diff=14844Synology Diskstation2016-03-26T16:16:35Z<p>Aps: /* Automatischer Neustart */</p>
<hr />
<div>== Fhem Installation auf der Synology Diskstation (ab DSM 5)==<br />
<br />
Fhem auf einer Synology Diskstation (DS) zu installieren ist grundsätzlich nicht schwierig. Wichtig ist zunächst eine aktuelle DSM - also Systemupdates auf der DS installieren).<br />
Zunächst installiert ihr Euch über das Paket-Zentrum der DS das Programm "Perl". Dann besorgt ihr Euch von Martin Fischer ein kompiliertes Fhem 5.3 - dort gibt es zwei Versionen:<br />
Wenn Eure DS einen Marvell 6281 oder 9282 Prozessor hat, nehmt die fhem-5.3-mfr-1.1-syno-88f628x.spk (http://www.fischer-net.de/hausautomation/downloads/file/23-fhem-5-3-mfr-1-1-syno-88f628x-spk.html) ansonsten die fhem-5.3-mfr-1.1-syno-noarch.spk (http://www.fischer-net.de/hausautomation/downloads/file/24-fhem-5-3-mfr-1-1-syno-noarch-spk.html).<br />
<br />
Dann wieder den Paket-Zentrum der DS aufrufen und "Manuelle Installation" -> entsprechende Datei auswählen -> weiter. Wenn es Mecker gibt wegen Signierung o.ä., dann Paket-Zentrum -> Einstellungen -> Vertrauensebene auf "Jeder Herausgeber".<br />
Danach ist Fhem installiert und ihr könnt es über das Paket-Zentrum starten. Dann einfach Fhem aufrufen und als erstes mal ein Update durchführen. <br />
Nach dem Update die Datei 99_update.pm löschen, siehe [http://forum.fhem.de/index.php/topic,36249.msg285521.html#msg285521 hier]<br />
<br />
<br />
Um einen CUL damit zu betreiben oder HUEs anzusteuern müssen noch weitere Schritte unternommen werden. (siehe weiter unten)<br />
<br />
Hier noch Links zu Wiki-Einträgen für ältere DSM-Versionen / Modelle:<br />
<br />
http://www.fhemwiki.de/wiki/Synology_409:_Update_auf_4.0<br />
<br />
http://www.fhemwiki.de/wiki/FHEM_auf_dem_Synology_DS408<br />
<br />
== CUL zum laufen bringen | IPKG installieren ==<br />
A.) Zunächst braucht ihr die USB-Treiber: http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial - diese einfach über das Paket-Zentrum installieren. Die Zusatzkonfigurationen, die vom Wizard nach der Installation gefragt werden, müssen nicht ausgewählt werden.<br />
<br />
B.) Dann braucht ihr das IPKG, damit ihr verschiedene Programme nachladen könnt, die ihr für den Betrieb des CUL benötigt:<br />
1. Prozessor (CPU) Architektur heraussuchen - http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have<br />
2. Der Prozessor (CPU) Architektur entsprechendes Shell-Script herunterladen und in einem beliebigen Ordner auf der DiskStation speichern - http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#Bootstrap<br />
Wenn ihr den Prozessor Marvel Armada XP oder Marvel Armada 370 habt (z.B. DS 214+), dann schaut hier: https://gist.github.com/marlun78/9349792<br />
3. Dieses How-to durch arbeiten - http://forum.synology.com/wiki/index.php/How_to_Install_Bootstrap (für den Armada nicht - da steht alles im o.g. Link)<br />
4. DiskStation neustarten<br />
<br />
C) Jetzt braucht ihr die SerialPort Modul.<br />
Das kann funktionieren mit:<br />
<br />
<code>"ipkg install gcc"<br />
<br />
"/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell" <br />
<br />
"cpan install Device::SerialPort"</code><br />
<br />
Hat es bei mir nicht - ich habe es so geschafft:<br />
<br />
<code>"ipkg install perl-device-serialport"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/Device/SerialPort.pm /volume1/@appstore/Perl/lib/perl5/site_perl/Device/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.bs /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.so /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"</code><br />
<br />
Keine der beiden Varianten funktioniert für DS213+ (Stand: Juni 2015). Alternative für DS213+ siehe [[Synology Diskstation DS213+|hier]].<br />
<br />
<br />
D) ganz wichtig - sonst schmiert Euch der CUL immer wieder ab - synousbmdemd deaktivieren - das habe ich wie folgt gemacht:<br />
<br />
<code>mv /usr/syno/sbin/synousbmodemd /usr/syno/sbin/synousbmodemd_bkp</code><br />
<br />
Bei einem DSM update wird dieser Dienst vermutlich wieder installiert - daher nach einem Update same procedure as every year.<br />
<br />
Der "Security Advisor" erkennt diese Änderung und glaubt, dass sich eine Malware auf dem NAS breitgemacht hätte. Man erhält deswegen eine entsprechende Warnung.<br />
<br />
== Wichtig: Logfile auf USB auslagern ==<br />
Damit die DS auch ab und zu mal die Platten zum schlafen schicken kann, solltet ihr die Logfiles auf ein USB-Laufwerk auslagern. Dazu einfach eines an die DS anschließen und im File-Explorer nachschauen, wie das Laufwerk benannt wurde (z.B. volumeUSB1). Dann Fhem runterfahren ("shutdown"), anschließend als root über z.B. putty mit der DS verbinden, das Log-Verzeichnis auf den Stick verschieben und einen Link anlegen - z.B. so:<br />
<br />
<code>mv /usr/local/FHEM/var/log /volumeUSB1/usbshare/fhem/log<br />
<br />
ln -s /volumeUSB1/usbshare/fhem/log /usr/local/FHEM/var/log</code><br />
<br />
Dann Fhem wieder starten und es sollte klappen.<br />
<br />
== Inhalt von Fhem-Verzeichnissen aus Windows direkt bearbeiten ==<br />
Hier gibt es mehrere Möglichkeiten. Entweder ihr verbindet Euch über WinSCP mit der DS. Oder aber ihr verschiebt und verknüpft noch weitere Teile der Fhem Installation auf den Stick (siehe Logfile auf USB auslagern). Hier wäre ich allerdings vorsichtig, da kann Fhem zickig werden. Ich persönlich habe mir die fhem.cfg auf diese Weise noch auf den Stick geschoben - also das /usr/local/FHEM/etc Verzeichnis analog obiger Beschreibung zum Logfile. Darüber hinaus könnt ihr auch einfach Dateien auf Eurem Stick ablegen und im entsprechenden Fhem-Verzeichnis einen Link dazu erstellen - so habe ich das z.B. mit meinen pm-Files gemacht - z.B.<br />
<br />
<code>ln -s /volumeUSB1/usbshare/fhem/99_myUtils.pm /usr/local/FHEM/share/fhem/FHEM/99_myUtils.pm</code><br />
<br />
== HUE auf der Synology Diskstation ==<br />
Da auf der DS standardmäßig kein JSON installiert ist, muss dies nachinstalliert werden (Danke an Patlinger für die Anleitung). Wichtig - ihr braucht IPKG (siehe CUL zum Laufen bringen):<br />
<br />
1. Per SSH verbinden (Befehl "ssh <ip-adresse> -l root")<br />
<br />
2. Superuser aktivieren (Befehl "su")<br />
<br />
3. "make" installieren (Befehl "ipkg install make")<br />
<br />
4. PERL und CPAN starten (Befehl "/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell"<br />
<br />
5. CPAN updaten (Befehl "install CPAN")<br />
<br />
6. JSON installieren (Befehl "install JSON")<br />
<br />
7. Per telnet verbinden (Befehl "telnet <ip-adresse> <port (7072)>")<br />
<br />
8. FHEM Update durchführen (Befehl "update")<br />
<br />
9. FHEM Neustart (Befehl "shutdown restart")<br />
<br />
10. Hue Bridge hinzufügen (Befehl "define <Name-für-die-Bridge> HUEBridge <ip-adresse-der-Hue-Bridge>")<br />
<br />
11. Taste an der Hue Bridge drücken um das "Pairing" zu bestätigen.<br />
<br />
12. GANZ WICHTIG - Wenn's jetzt einmal läuft, dann nicht vergessen die Konfiguration zu speichern! (Befehl "save")<br />
<br />
== Net::Telnet installieren ==<br />
Net::Telnet benötigt ihr beispielsweises für das geniale Modul FRITZBOX, dass Euch viele Möglichkeiten eröffnet, wenn ihr einen solchen Router besitzt.<br />
<br />
Los gehts wie üblich mit <br />
<code>"/usr/bin/perl -MCPAN -e shell"</code><br />
Der Pfad zu perl kann bei Euch auch anders lauten, siehe oben. Dann seid ihr fast fertig, nur noch folgendes eingeben - und fertig:<br />
<code>install Net::Telnet</code><br />
<br />
== JeeLink ==<br />
<br />
Für den JeeLink werden zwei Kernelmodule gebraucht, die seit DSM 5.2 dabei sind und nicht mehr separat installiert werden müssen. Jedoch müssen sie nach jedem Update wieder neu aktiviert werden (kann auch bei laufendem Betrieb von FHEM passieren):<br />
<br />
* <code>cd /lib/modules</code><br />
* <code>insmod usbserial.ko</code><br />
* <code>insmod ftdi_sio.ko</code><br />
<br />
Ansonsten wird wie oben beschrieben das <code>Device::SerialPort</code>-Modul benötigt.<br />
<br />
Getestet auf DSM415+<br />
<br />
== Automatischer Neustart == <br />
<br />
Script anlegen:<br />
<br />
<syntaxhighlight lang="bash"><br />
#!/bin/sh<br />
cnt=$(ps -A -f | grep "fhem\.pl" | grep -v grep | wc -l)<br />
if [ "$cnt" -eq "0" ] ; then<br />
/var/packages/FHEM/scripts/start-stop-status restart<br />
else<br />
echo "FHEM still running.";<br />
return 1;<br />
fi<br />
</syntaxhighlight><br />
<br />
Dann kann man entweder über cron das Skript regelmäßíg (z.B. alle 15min) oder man nutzt hierfür die in DSM eingebaute Aufgabenverwaltung (einfach vollständigen Pfad zum Skript eingeben). Letzteres ist für den Überblick auf praktischer.<br />
<br />
[[Kategorie:HOWTOS]]<br />
[[Kategorie:Synology]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Synology_Diskstation&diff=14843Synology Diskstation2016-03-26T16:14:43Z<p>Aps: /* JeeLink */</p>
<hr />
<div>== Fhem Installation auf der Synology Diskstation (ab DSM 5)==<br />
<br />
Fhem auf einer Synology Diskstation (DS) zu installieren ist grundsätzlich nicht schwierig. Wichtig ist zunächst eine aktuelle DSM - also Systemupdates auf der DS installieren).<br />
Zunächst installiert ihr Euch über das Paket-Zentrum der DS das Programm "Perl". Dann besorgt ihr Euch von Martin Fischer ein kompiliertes Fhem 5.3 - dort gibt es zwei Versionen:<br />
Wenn Eure DS einen Marvell 6281 oder 9282 Prozessor hat, nehmt die fhem-5.3-mfr-1.1-syno-88f628x.spk (http://www.fischer-net.de/hausautomation/downloads/file/23-fhem-5-3-mfr-1-1-syno-88f628x-spk.html) ansonsten die fhem-5.3-mfr-1.1-syno-noarch.spk (http://www.fischer-net.de/hausautomation/downloads/file/24-fhem-5-3-mfr-1-1-syno-noarch-spk.html).<br />
<br />
Dann wieder den Paket-Zentrum der DS aufrufen und "Manuelle Installation" -> entsprechende Datei auswählen -> weiter. Wenn es Mecker gibt wegen Signierung o.ä., dann Paket-Zentrum -> Einstellungen -> Vertrauensebene auf "Jeder Herausgeber".<br />
Danach ist Fhem installiert und ihr könnt es über das Paket-Zentrum starten. Dann einfach Fhem aufrufen und als erstes mal ein Update durchführen. <br />
Nach dem Update die Datei 99_update.pm löschen, siehe [http://forum.fhem.de/index.php/topic,36249.msg285521.html#msg285521 hier]<br />
<br />
<br />
Um einen CUL damit zu betreiben oder HUEs anzusteuern müssen noch weitere Schritte unternommen werden. (siehe weiter unten)<br />
<br />
Hier noch Links zu Wiki-Einträgen für ältere DSM-Versionen / Modelle:<br />
<br />
http://www.fhemwiki.de/wiki/Synology_409:_Update_auf_4.0<br />
<br />
http://www.fhemwiki.de/wiki/FHEM_auf_dem_Synology_DS408<br />
<br />
== CUL zum laufen bringen | IPKG installieren ==<br />
A.) Zunächst braucht ihr die USB-Treiber: http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial - diese einfach über das Paket-Zentrum installieren. Die Zusatzkonfigurationen, die vom Wizard nach der Installation gefragt werden, müssen nicht ausgewählt werden.<br />
<br />
B.) Dann braucht ihr das IPKG, damit ihr verschiedene Programme nachladen könnt, die ihr für den Betrieb des CUL benötigt:<br />
1. Prozessor (CPU) Architektur heraussuchen - http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have<br />
2. Der Prozessor (CPU) Architektur entsprechendes Shell-Script herunterladen und in einem beliebigen Ordner auf der DiskStation speichern - http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#Bootstrap<br />
Wenn ihr den Prozessor Marvel Armada XP oder Marvel Armada 370 habt (z.B. DS 214+), dann schaut hier: https://gist.github.com/marlun78/9349792<br />
3. Dieses How-to durch arbeiten - http://forum.synology.com/wiki/index.php/How_to_Install_Bootstrap (für den Armada nicht - da steht alles im o.g. Link)<br />
4. DiskStation neustarten<br />
<br />
C) Jetzt braucht ihr die SerialPort Modul.<br />
Das kann funktionieren mit:<br />
<br />
<code>"ipkg install gcc"<br />
<br />
"/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell" <br />
<br />
"cpan install Device::SerialPort"</code><br />
<br />
Hat es bei mir nicht - ich habe es so geschafft:<br />
<br />
<code>"ipkg install perl-device-serialport"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/Device/SerialPort.pm /volume1/@appstore/Perl/lib/perl5/site_perl/Device/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.bs /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.so /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"</code><br />
<br />
Keine der beiden Varianten funktioniert für DS213+ (Stand: Juni 2015). Alternative für DS213+ siehe [[Synology Diskstation DS213+|hier]].<br />
<br />
<br />
D) ganz wichtig - sonst schmiert Euch der CUL immer wieder ab - synousbmdemd deaktivieren - das habe ich wie folgt gemacht:<br />
<br />
<code>mv /usr/syno/sbin/synousbmodemd /usr/syno/sbin/synousbmodemd_bkp</code><br />
<br />
Bei einem DSM update wird dieser Dienst vermutlich wieder installiert - daher nach einem Update same procedure as every year.<br />
<br />
Der "Security Advisor" erkennt diese Änderung und glaubt, dass sich eine Malware auf dem NAS breitgemacht hätte. Man erhält deswegen eine entsprechende Warnung.<br />
<br />
== Wichtig: Logfile auf USB auslagern ==<br />
Damit die DS auch ab und zu mal die Platten zum schlafen schicken kann, solltet ihr die Logfiles auf ein USB-Laufwerk auslagern. Dazu einfach eines an die DS anschließen und im File-Explorer nachschauen, wie das Laufwerk benannt wurde (z.B. volumeUSB1). Dann Fhem runterfahren ("shutdown"), anschließend als root über z.B. putty mit der DS verbinden, das Log-Verzeichnis auf den Stick verschieben und einen Link anlegen - z.B. so:<br />
<br />
<code>mv /usr/local/FHEM/var/log /volumeUSB1/usbshare/fhem/log<br />
<br />
ln -s /volumeUSB1/usbshare/fhem/log /usr/local/FHEM/var/log</code><br />
<br />
Dann Fhem wieder starten und es sollte klappen.<br />
<br />
== Inhalt von Fhem-Verzeichnissen aus Windows direkt bearbeiten ==<br />
Hier gibt es mehrere Möglichkeiten. Entweder ihr verbindet Euch über WinSCP mit der DS. Oder aber ihr verschiebt und verknüpft noch weitere Teile der Fhem Installation auf den Stick (siehe Logfile auf USB auslagern). Hier wäre ich allerdings vorsichtig, da kann Fhem zickig werden. Ich persönlich habe mir die fhem.cfg auf diese Weise noch auf den Stick geschoben - also das /usr/local/FHEM/etc Verzeichnis analog obiger Beschreibung zum Logfile. Darüber hinaus könnt ihr auch einfach Dateien auf Eurem Stick ablegen und im entsprechenden Fhem-Verzeichnis einen Link dazu erstellen - so habe ich das z.B. mit meinen pm-Files gemacht - z.B.<br />
<br />
<code>ln -s /volumeUSB1/usbshare/fhem/99_myUtils.pm /usr/local/FHEM/share/fhem/FHEM/99_myUtils.pm</code><br />
<br />
== HUE auf der Synology Diskstation ==<br />
Da auf der DS standardmäßig kein JSON installiert ist, muss dies nachinstalliert werden (Danke an Patlinger für die Anleitung). Wichtig - ihr braucht IPKG (siehe CUL zum Laufen bringen):<br />
<br />
1. Per SSH verbinden (Befehl "ssh <ip-adresse> -l root")<br />
<br />
2. Superuser aktivieren (Befehl "su")<br />
<br />
3. "make" installieren (Befehl "ipkg install make")<br />
<br />
4. PERL und CPAN starten (Befehl "/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell"<br />
<br />
5. CPAN updaten (Befehl "install CPAN")<br />
<br />
6. JSON installieren (Befehl "install JSON")<br />
<br />
7. Per telnet verbinden (Befehl "telnet <ip-adresse> <port (7072)>")<br />
<br />
8. FHEM Update durchführen (Befehl "update")<br />
<br />
9. FHEM Neustart (Befehl "shutdown restart")<br />
<br />
10. Hue Bridge hinzufügen (Befehl "define <Name-für-die-Bridge> HUEBridge <ip-adresse-der-Hue-Bridge>")<br />
<br />
11. Taste an der Hue Bridge drücken um das "Pairing" zu bestätigen.<br />
<br />
12. GANZ WICHTIG - Wenn's jetzt einmal läuft, dann nicht vergessen die Konfiguration zu speichern! (Befehl "save")<br />
<br />
== Net::Telnet installieren ==<br />
Net::Telnet benötigt ihr beispielsweises für das geniale Modul FRITZBOX, dass Euch viele Möglichkeiten eröffnet, wenn ihr einen solchen Router besitzt.<br />
<br />
Los gehts wie üblich mit <br />
<code>"/usr/bin/perl -MCPAN -e shell"</code><br />
Der Pfad zu perl kann bei Euch auch anders lauten, siehe oben. Dann seid ihr fast fertig, nur noch folgendes eingeben - und fertig:<br />
<code>install Net::Telnet</code><br />
<br />
== JeeLink ==<br />
<br />
Für den JeeLink werden zwei Kernelmodule gebraucht, die seit DSM 5.2 dabei sind und nicht mehr separat installiert werden müssen. Jedoch müssen sie nach jedem Update wieder neu aktiviert werden (kann auch bei laufendem Betrieb von FHEM passieren):<br />
<br />
* <code>cd /lib/modules</code><br />
* <code>insmod usbserial.ko</code><br />
* <code>insmod ftdi_sio.ko</code><br />
<br />
Ansonsten wird wie oben beschrieben das <code>Device::SerialPort</code>-Modul benötigt.<br />
<br />
Getestet auf DSM415+<br />
<br />
== Automatischer Neustart == <br />
<br />
Script anlegen (basiert):<br />
<br />
<syntaxhighlight lang="bash"><br />
#!/bin/sh<br />
cnt=$(ps -A -f | grep "fhem\.pl" | grep -v grep | wc -l)<br />
if [ "$cnt" -eq "0" ] ; then<br />
/var/packages/FHEM/scripts/start-stop-status restart<br />
else<br />
echo "FHEM still running.";<br />
return 1;<br />
fi<br />
</syntaxhighlight><br />
<br />
[[Kategorie:HOWTOS]]<br />
[[Kategorie:Synology]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Synology_Diskstation&diff=14841Synology Diskstation2016-03-26T15:47:39Z<p>Aps: /* JeeLink */</p>
<hr />
<div>== Fhem Installation auf der Synology Diskstation (ab DSM 5)==<br />
<br />
Fhem auf einer Synology Diskstation (DS) zu installieren ist grundsätzlich nicht schwierig. Wichtig ist zunächst eine aktuelle DSM - also Systemupdates auf der DS installieren).<br />
Zunächst installiert ihr Euch über das Paket-Zentrum der DS das Programm "Perl". Dann besorgt ihr Euch von Martin Fischer ein kompiliertes Fhem 5.3 - dort gibt es zwei Versionen:<br />
Wenn Eure DS einen Marvell 6281 oder 9282 Prozessor hat, nehmt die fhem-5.3-mfr-1.1-syno-88f628x.spk (http://www.fischer-net.de/hausautomation/downloads/file/23-fhem-5-3-mfr-1-1-syno-88f628x-spk.html) ansonsten die fhem-5.3-mfr-1.1-syno-noarch.spk (http://www.fischer-net.de/hausautomation/downloads/file/24-fhem-5-3-mfr-1-1-syno-noarch-spk.html).<br />
<br />
Dann wieder den Paket-Zentrum der DS aufrufen und "Manuelle Installation" -> entsprechende Datei auswählen -> weiter. Wenn es Mecker gibt wegen Signierung o.ä., dann Paket-Zentrum -> Einstellungen -> Vertrauensebene auf "Jeder Herausgeber".<br />
Danach ist Fhem installiert und ihr könnt es über das Paket-Zentrum starten. Dann einfach Fhem aufrufen und als erstes mal ein Update durchführen. <br />
Nach dem Update die Datei 99_update.pm löschen, siehe [http://forum.fhem.de/index.php/topic,36249.msg285521.html#msg285521 hier]<br />
<br />
<br />
Um einen CUL damit zu betreiben oder HUEs anzusteuern müssen noch weitere Schritte unternommen werden. (siehe weiter unten)<br />
<br />
Hier noch Links zu Wiki-Einträgen für ältere DSM-Versionen / Modelle:<br />
<br />
http://www.fhemwiki.de/wiki/Synology_409:_Update_auf_4.0<br />
<br />
http://www.fhemwiki.de/wiki/FHEM_auf_dem_Synology_DS408<br />
<br />
== CUL zum laufen bringen | IPKG installieren ==<br />
A.) Zunächst braucht ihr die USB-Treiber: http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial - diese einfach über das Paket-Zentrum installieren. Die Zusatzkonfigurationen, die vom Wizard nach der Installation gefragt werden, müssen nicht ausgewählt werden.<br />
<br />
B.) Dann braucht ihr das IPKG, damit ihr verschiedene Programme nachladen könnt, die ihr für den Betrieb des CUL benötigt:<br />
1. Prozessor (CPU) Architektur heraussuchen - http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have<br />
2. Der Prozessor (CPU) Architektur entsprechendes Shell-Script herunterladen und in einem beliebigen Ordner auf der DiskStation speichern - http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#Bootstrap<br />
Wenn ihr den Prozessor Marvel Armada XP oder Marvel Armada 370 habt (z.B. DS 214+), dann schaut hier: https://gist.github.com/marlun78/9349792<br />
3. Dieses How-to durch arbeiten - http://forum.synology.com/wiki/index.php/How_to_Install_Bootstrap (für den Armada nicht - da steht alles im o.g. Link)<br />
4. DiskStation neustarten<br />
<br />
C) Jetzt braucht ihr die SerialPort Modul.<br />
Das kann funktionieren mit:<br />
<br />
<code>"ipkg install gcc"<br />
<br />
"/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell" <br />
<br />
"cpan install Device::SerialPort"</code><br />
<br />
Hat es bei mir nicht - ich habe es so geschafft:<br />
<br />
<code>"ipkg install perl-device-serialport"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/Device/SerialPort.pm /volume1/@appstore/Perl/lib/perl5/site_perl/Device/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.bs /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.so /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"</code><br />
<br />
Keine der beiden Varianten funktioniert für DS213+ (Stand: Juni 2015). Alternative für DS213+ siehe [[Synology Diskstation DS213+|hier]].<br />
<br />
<br />
D) ganz wichtig - sonst schmiert Euch der CUL immer wieder ab - synousbmdemd deaktivieren - das habe ich wie folgt gemacht:<br />
<br />
<code>mv /usr/syno/sbin/synousbmodemd /usr/syno/sbin/synousbmodemd_bkp</code><br />
<br />
Bei einem DSM update wird dieser Dienst vermutlich wieder installiert - daher nach einem Update same procedure as every year.<br />
<br />
Der "Security Advisor" erkennt diese Änderung und glaubt, dass sich eine Malware auf dem NAS breitgemacht hätte. Man erhält deswegen eine entsprechende Warnung.<br />
<br />
== Wichtig: Logfile auf USB auslagern ==<br />
Damit die DS auch ab und zu mal die Platten zum schlafen schicken kann, solltet ihr die Logfiles auf ein USB-Laufwerk auslagern. Dazu einfach eines an die DS anschließen und im File-Explorer nachschauen, wie das Laufwerk benannt wurde (z.B. volumeUSB1). Dann Fhem runterfahren ("shutdown"), anschließend als root über z.B. putty mit der DS verbinden, das Log-Verzeichnis auf den Stick verschieben und einen Link anlegen - z.B. so:<br />
<br />
<code>mv /usr/local/FHEM/var/log /volumeUSB1/usbshare/fhem/log<br />
<br />
ln -s /volumeUSB1/usbshare/fhem/log /usr/local/FHEM/var/log</code><br />
<br />
Dann Fhem wieder starten und es sollte klappen.<br />
<br />
== Inhalt von Fhem-Verzeichnissen aus Windows direkt bearbeiten ==<br />
Hier gibt es mehrere Möglichkeiten. Entweder ihr verbindet Euch über WinSCP mit der DS. Oder aber ihr verschiebt und verknüpft noch weitere Teile der Fhem Installation auf den Stick (siehe Logfile auf USB auslagern). Hier wäre ich allerdings vorsichtig, da kann Fhem zickig werden. Ich persönlich habe mir die fhem.cfg auf diese Weise noch auf den Stick geschoben - also das /usr/local/FHEM/etc Verzeichnis analog obiger Beschreibung zum Logfile. Darüber hinaus könnt ihr auch einfach Dateien auf Eurem Stick ablegen und im entsprechenden Fhem-Verzeichnis einen Link dazu erstellen - so habe ich das z.B. mit meinen pm-Files gemacht - z.B.<br />
<br />
<code>ln -s /volumeUSB1/usbshare/fhem/99_myUtils.pm /usr/local/FHEM/share/fhem/FHEM/99_myUtils.pm</code><br />
<br />
== HUE auf der Synology Diskstation ==<br />
Da auf der DS standardmäßig kein JSON installiert ist, muss dies nachinstalliert werden (Danke an Patlinger für die Anleitung). Wichtig - ihr braucht IPKG (siehe CUL zum Laufen bringen):<br />
<br />
1. Per SSH verbinden (Befehl "ssh <ip-adresse> -l root")<br />
<br />
2. Superuser aktivieren (Befehl "su")<br />
<br />
3. "make" installieren (Befehl "ipkg install make")<br />
<br />
4. PERL und CPAN starten (Befehl "/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell"<br />
<br />
5. CPAN updaten (Befehl "install CPAN")<br />
<br />
6. JSON installieren (Befehl "install JSON")<br />
<br />
7. Per telnet verbinden (Befehl "telnet <ip-adresse> <port (7072)>")<br />
<br />
8. FHEM Update durchführen (Befehl "update")<br />
<br />
9. FHEM Neustart (Befehl "shutdown restart")<br />
<br />
10. Hue Bridge hinzufügen (Befehl "define <Name-für-die-Bridge> HUEBridge <ip-adresse-der-Hue-Bridge>")<br />
<br />
11. Taste an der Hue Bridge drücken um das "Pairing" zu bestätigen.<br />
<br />
12. GANZ WICHTIG - Wenn's jetzt einmal läuft, dann nicht vergessen die Konfiguration zu speichern! (Befehl "save")<br />
<br />
== Net::Telnet installieren ==<br />
Net::Telnet benötigt ihr beispielsweises für das geniale Modul FRITZBOX, dass Euch viele Möglichkeiten eröffnet, wenn ihr einen solchen Router besitzt.<br />
<br />
Los gehts wie üblich mit <br />
<code>"/usr/bin/perl -MCPAN -e shell"</code><br />
Der Pfad zu perl kann bei Euch auch anders lauten, siehe oben. Dann seid ihr fast fertig, nur noch folgendes eingeben - und fertig:<br />
<code>install Net::Telnet</code><br />
<br />
== JeeLink ==<br />
<br />
Für den JeeLink werden zwei Kernelmodule gebraucht, die seit DSM 5.2 dabei sind und nicht mehr separat installiert werden müssen. Jedoch müssen sie nach jedem Update wieder neu aktiviert werden (kann auch bei laufendem Betrieb von FHEM passieren):<br />
<br />
* <code>cd /lib/modules</code><br />
* <code>insmod usbserial.ko</code><br />
* <code>insmod ftdi_sio.ko</code><br />
<br />
Ansonsten wird wie oben beschrieben das <code>Device::SerialPort</code>-Modul benötigt.<br />
<br />
Getestet auf DSM415+<br />
<br />
[[Kategorie:HOWTOS]]<br />
[[Kategorie:Synology]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Synology_Diskstation&diff=14840Synology Diskstation2016-03-26T15:46:53Z<p>Aps: /* JeeLink */</p>
<hr />
<div>== Fhem Installation auf der Synology Diskstation (ab DSM 5)==<br />
<br />
Fhem auf einer Synology Diskstation (DS) zu installieren ist grundsätzlich nicht schwierig. Wichtig ist zunächst eine aktuelle DSM - also Systemupdates auf der DS installieren).<br />
Zunächst installiert ihr Euch über das Paket-Zentrum der DS das Programm "Perl". Dann besorgt ihr Euch von Martin Fischer ein kompiliertes Fhem 5.3 - dort gibt es zwei Versionen:<br />
Wenn Eure DS einen Marvell 6281 oder 9282 Prozessor hat, nehmt die fhem-5.3-mfr-1.1-syno-88f628x.spk (http://www.fischer-net.de/hausautomation/downloads/file/23-fhem-5-3-mfr-1-1-syno-88f628x-spk.html) ansonsten die fhem-5.3-mfr-1.1-syno-noarch.spk (http://www.fischer-net.de/hausautomation/downloads/file/24-fhem-5-3-mfr-1-1-syno-noarch-spk.html).<br />
<br />
Dann wieder den Paket-Zentrum der DS aufrufen und "Manuelle Installation" -> entsprechende Datei auswählen -> weiter. Wenn es Mecker gibt wegen Signierung o.ä., dann Paket-Zentrum -> Einstellungen -> Vertrauensebene auf "Jeder Herausgeber".<br />
Danach ist Fhem installiert und ihr könnt es über das Paket-Zentrum starten. Dann einfach Fhem aufrufen und als erstes mal ein Update durchführen. <br />
Nach dem Update die Datei 99_update.pm löschen, siehe [http://forum.fhem.de/index.php/topic,36249.msg285521.html#msg285521 hier]<br />
<br />
<br />
Um einen CUL damit zu betreiben oder HUEs anzusteuern müssen noch weitere Schritte unternommen werden. (siehe weiter unten)<br />
<br />
Hier noch Links zu Wiki-Einträgen für ältere DSM-Versionen / Modelle:<br />
<br />
http://www.fhemwiki.de/wiki/Synology_409:_Update_auf_4.0<br />
<br />
http://www.fhemwiki.de/wiki/FHEM_auf_dem_Synology_DS408<br />
<br />
== CUL zum laufen bringen | IPKG installieren ==<br />
A.) Zunächst braucht ihr die USB-Treiber: http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial - diese einfach über das Paket-Zentrum installieren. Die Zusatzkonfigurationen, die vom Wizard nach der Installation gefragt werden, müssen nicht ausgewählt werden.<br />
<br />
B.) Dann braucht ihr das IPKG, damit ihr verschiedene Programme nachladen könnt, die ihr für den Betrieb des CUL benötigt:<br />
1. Prozessor (CPU) Architektur heraussuchen - http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have<br />
2. Der Prozessor (CPU) Architektur entsprechendes Shell-Script herunterladen und in einem beliebigen Ordner auf der DiskStation speichern - http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#Bootstrap<br />
Wenn ihr den Prozessor Marvel Armada XP oder Marvel Armada 370 habt (z.B. DS 214+), dann schaut hier: https://gist.github.com/marlun78/9349792<br />
3. Dieses How-to durch arbeiten - http://forum.synology.com/wiki/index.php/How_to_Install_Bootstrap (für den Armada nicht - da steht alles im o.g. Link)<br />
4. DiskStation neustarten<br />
<br />
C) Jetzt braucht ihr die SerialPort Modul.<br />
Das kann funktionieren mit:<br />
<br />
<code>"ipkg install gcc"<br />
<br />
"/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell" <br />
<br />
"cpan install Device::SerialPort"</code><br />
<br />
Hat es bei mir nicht - ich habe es so geschafft:<br />
<br />
<code>"ipkg install perl-device-serialport"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/Device/SerialPort.pm /volume1/@appstore/Perl/lib/perl5/site_perl/Device/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.bs /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.so /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"</code><br />
<br />
Keine der beiden Varianten funktioniert für DS213+ (Stand: Juni 2015). Alternative für DS213+ siehe [[Synology Diskstation DS213+|hier]].<br />
<br />
<br />
D) ganz wichtig - sonst schmiert Euch der CUL immer wieder ab - synousbmdemd deaktivieren - das habe ich wie folgt gemacht:<br />
<br />
<code>mv /usr/syno/sbin/synousbmodemd /usr/syno/sbin/synousbmodemd_bkp</code><br />
<br />
Bei einem DSM update wird dieser Dienst vermutlich wieder installiert - daher nach einem Update same procedure as every year.<br />
<br />
Der "Security Advisor" erkennt diese Änderung und glaubt, dass sich eine Malware auf dem NAS breitgemacht hätte. Man erhält deswegen eine entsprechende Warnung.<br />
<br />
== Wichtig: Logfile auf USB auslagern ==<br />
Damit die DS auch ab und zu mal die Platten zum schlafen schicken kann, solltet ihr die Logfiles auf ein USB-Laufwerk auslagern. Dazu einfach eines an die DS anschließen und im File-Explorer nachschauen, wie das Laufwerk benannt wurde (z.B. volumeUSB1). Dann Fhem runterfahren ("shutdown"), anschließend als root über z.B. putty mit der DS verbinden, das Log-Verzeichnis auf den Stick verschieben und einen Link anlegen - z.B. so:<br />
<br />
<code>mv /usr/local/FHEM/var/log /volumeUSB1/usbshare/fhem/log<br />
<br />
ln -s /volumeUSB1/usbshare/fhem/log /usr/local/FHEM/var/log</code><br />
<br />
Dann Fhem wieder starten und es sollte klappen.<br />
<br />
== Inhalt von Fhem-Verzeichnissen aus Windows direkt bearbeiten ==<br />
Hier gibt es mehrere Möglichkeiten. Entweder ihr verbindet Euch über WinSCP mit der DS. Oder aber ihr verschiebt und verknüpft noch weitere Teile der Fhem Installation auf den Stick (siehe Logfile auf USB auslagern). Hier wäre ich allerdings vorsichtig, da kann Fhem zickig werden. Ich persönlich habe mir die fhem.cfg auf diese Weise noch auf den Stick geschoben - also das /usr/local/FHEM/etc Verzeichnis analog obiger Beschreibung zum Logfile. Darüber hinaus könnt ihr auch einfach Dateien auf Eurem Stick ablegen und im entsprechenden Fhem-Verzeichnis einen Link dazu erstellen - so habe ich das z.B. mit meinen pm-Files gemacht - z.B.<br />
<br />
<code>ln -s /volumeUSB1/usbshare/fhem/99_myUtils.pm /usr/local/FHEM/share/fhem/FHEM/99_myUtils.pm</code><br />
<br />
== HUE auf der Synology Diskstation ==<br />
Da auf der DS standardmäßig kein JSON installiert ist, muss dies nachinstalliert werden (Danke an Patlinger für die Anleitung). Wichtig - ihr braucht IPKG (siehe CUL zum Laufen bringen):<br />
<br />
1. Per SSH verbinden (Befehl "ssh <ip-adresse> -l root")<br />
<br />
2. Superuser aktivieren (Befehl "su")<br />
<br />
3. "make" installieren (Befehl "ipkg install make")<br />
<br />
4. PERL und CPAN starten (Befehl "/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell"<br />
<br />
5. CPAN updaten (Befehl "install CPAN")<br />
<br />
6. JSON installieren (Befehl "install JSON")<br />
<br />
7. Per telnet verbinden (Befehl "telnet <ip-adresse> <port (7072)>")<br />
<br />
8. FHEM Update durchführen (Befehl "update")<br />
<br />
9. FHEM Neustart (Befehl "shutdown restart")<br />
<br />
10. Hue Bridge hinzufügen (Befehl "define <Name-für-die-Bridge> HUEBridge <ip-adresse-der-Hue-Bridge>")<br />
<br />
11. Taste an der Hue Bridge drücken um das "Pairing" zu bestätigen.<br />
<br />
12. GANZ WICHTIG - Wenn's jetzt einmal läuft, dann nicht vergessen die Konfiguration zu speichern! (Befehl "save")<br />
<br />
== Net::Telnet installieren ==<br />
Net::Telnet benötigt ihr beispielsweises für das geniale Modul FRITZBOX, dass Euch viele Möglichkeiten eröffnet, wenn ihr einen solchen Router besitzt.<br />
<br />
Los gehts wie üblich mit <br />
<code>"/usr/bin/perl -MCPAN -e shell"</code><br />
Der Pfad zu perl kann bei Euch auch anders lauten, siehe oben. Dann seid ihr fast fertig, nur noch folgendes eingeben - und fertig:<br />
<code>install Net::Telnet</code><br />
<br />
== JeeLink ==<br />
<br />
Für den JeeLink werden zwei Kernelmodule gebraucht, die seit DSM 5.2 dabei sind und nicht mehr separat installiert werden müssen. Jedoch müssen sie nach jedem Update wieder neu aktiviert werden (kann auch bei laufendem Betrieb von FHEM passieren):<br />
<br />
* <code>cd /lib/modules</code><br />
* <code>insmod usbserial.ko</code><br />
* <code>insmod ftdi_sio.ko</code><br />
<br />
Getestet auf DSM415+<br />
<br />
[[Kategorie:HOWTOS]]<br />
[[Kategorie:Synology]]</div>Apshttp://wiki.fhem.de/w/index.php?title=Synology_Diskstation&diff=14839Synology Diskstation2016-03-26T15:45:37Z<p>Aps: /* JeeLink */</p>
<hr />
<div>== Fhem Installation auf der Synology Diskstation (ab DSM 5)==<br />
<br />
Fhem auf einer Synology Diskstation (DS) zu installieren ist grundsätzlich nicht schwierig. Wichtig ist zunächst eine aktuelle DSM - also Systemupdates auf der DS installieren).<br />
Zunächst installiert ihr Euch über das Paket-Zentrum der DS das Programm "Perl". Dann besorgt ihr Euch von Martin Fischer ein kompiliertes Fhem 5.3 - dort gibt es zwei Versionen:<br />
Wenn Eure DS einen Marvell 6281 oder 9282 Prozessor hat, nehmt die fhem-5.3-mfr-1.1-syno-88f628x.spk (http://www.fischer-net.de/hausautomation/downloads/file/23-fhem-5-3-mfr-1-1-syno-88f628x-spk.html) ansonsten die fhem-5.3-mfr-1.1-syno-noarch.spk (http://www.fischer-net.de/hausautomation/downloads/file/24-fhem-5-3-mfr-1-1-syno-noarch-spk.html).<br />
<br />
Dann wieder den Paket-Zentrum der DS aufrufen und "Manuelle Installation" -> entsprechende Datei auswählen -> weiter. Wenn es Mecker gibt wegen Signierung o.ä., dann Paket-Zentrum -> Einstellungen -> Vertrauensebene auf "Jeder Herausgeber".<br />
Danach ist Fhem installiert und ihr könnt es über das Paket-Zentrum starten. Dann einfach Fhem aufrufen und als erstes mal ein Update durchführen. <br />
Nach dem Update die Datei 99_update.pm löschen, siehe [http://forum.fhem.de/index.php/topic,36249.msg285521.html#msg285521 hier]<br />
<br />
<br />
Um einen CUL damit zu betreiben oder HUEs anzusteuern müssen noch weitere Schritte unternommen werden. (siehe weiter unten)<br />
<br />
Hier noch Links zu Wiki-Einträgen für ältere DSM-Versionen / Modelle:<br />
<br />
http://www.fhemwiki.de/wiki/Synology_409:_Update_auf_4.0<br />
<br />
http://www.fhemwiki.de/wiki/FHEM_auf_dem_Synology_DS408<br />
<br />
== CUL zum laufen bringen | IPKG installieren ==<br />
A.) Zunächst braucht ihr die USB-Treiber: http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial - diese einfach über das Paket-Zentrum installieren. Die Zusatzkonfigurationen, die vom Wizard nach der Installation gefragt werden, müssen nicht ausgewählt werden.<br />
<br />
B.) Dann braucht ihr das IPKG, damit ihr verschiedene Programme nachladen könnt, die ihr für den Betrieb des CUL benötigt:<br />
1. Prozessor (CPU) Architektur heraussuchen - http://forum.synology.com/wiki/index.php/What_kind_of_CPU_does_my_NAS_have<br />
2. Der Prozessor (CPU) Architektur entsprechendes Shell-Script herunterladen und in einem beliebigen Ordner auf der DiskStation speichern - http://forum.synology.com/wiki/index.php/Overview_on_modifying_the_Synology_Server,_bootstrap,_ipkg_etc#Bootstrap<br />
Wenn ihr den Prozessor Marvel Armada XP oder Marvel Armada 370 habt (z.B. DS 214+), dann schaut hier: https://gist.github.com/marlun78/9349792<br />
3. Dieses How-to durch arbeiten - http://forum.synology.com/wiki/index.php/How_to_Install_Bootstrap (für den Armada nicht - da steht alles im o.g. Link)<br />
4. DiskStation neustarten<br />
<br />
C) Jetzt braucht ihr die SerialPort Modul.<br />
Das kann funktionieren mit:<br />
<br />
<code>"ipkg install gcc"<br />
<br />
"/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell" <br />
<br />
"cpan install Device::SerialPort"</code><br />
<br />
Hat es bei mir nicht - ich habe es so geschafft:<br />
<br />
<code>"ipkg install perl-device-serialport"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/Device/SerialPort.pm /volume1/@appstore/Perl/lib/perl5/site_perl/Device/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.bs /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"<br />
<br />
"cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.so /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort/"</code><br />
<br />
Keine der beiden Varianten funktioniert für DS213+ (Stand: Juni 2015). Alternative für DS213+ siehe [[Synology Diskstation DS213+|hier]].<br />
<br />
<br />
D) ganz wichtig - sonst schmiert Euch der CUL immer wieder ab - synousbmdemd deaktivieren - das habe ich wie folgt gemacht:<br />
<br />
<code>mv /usr/syno/sbin/synousbmodemd /usr/syno/sbin/synousbmodemd_bkp</code><br />
<br />
Bei einem DSM update wird dieser Dienst vermutlich wieder installiert - daher nach einem Update same procedure as every year.<br />
<br />
Der "Security Advisor" erkennt diese Änderung und glaubt, dass sich eine Malware auf dem NAS breitgemacht hätte. Man erhält deswegen eine entsprechende Warnung.<br />
<br />
== Wichtig: Logfile auf USB auslagern ==<br />
Damit die DS auch ab und zu mal die Platten zum schlafen schicken kann, solltet ihr die Logfiles auf ein USB-Laufwerk auslagern. Dazu einfach eines an die DS anschließen und im File-Explorer nachschauen, wie das Laufwerk benannt wurde (z.B. volumeUSB1). Dann Fhem runterfahren ("shutdown"), anschließend als root über z.B. putty mit der DS verbinden, das Log-Verzeichnis auf den Stick verschieben und einen Link anlegen - z.B. so:<br />
<br />
<code>mv /usr/local/FHEM/var/log /volumeUSB1/usbshare/fhem/log<br />
<br />
ln -s /volumeUSB1/usbshare/fhem/log /usr/local/FHEM/var/log</code><br />
<br />
Dann Fhem wieder starten und es sollte klappen.<br />
<br />
== Inhalt von Fhem-Verzeichnissen aus Windows direkt bearbeiten ==<br />
Hier gibt es mehrere Möglichkeiten. Entweder ihr verbindet Euch über WinSCP mit der DS. Oder aber ihr verschiebt und verknüpft noch weitere Teile der Fhem Installation auf den Stick (siehe Logfile auf USB auslagern). Hier wäre ich allerdings vorsichtig, da kann Fhem zickig werden. Ich persönlich habe mir die fhem.cfg auf diese Weise noch auf den Stick geschoben - also das /usr/local/FHEM/etc Verzeichnis analog obiger Beschreibung zum Logfile. Darüber hinaus könnt ihr auch einfach Dateien auf Eurem Stick ablegen und im entsprechenden Fhem-Verzeichnis einen Link dazu erstellen - so habe ich das z.B. mit meinen pm-Files gemacht - z.B.<br />
<br />
<code>ln -s /volumeUSB1/usbshare/fhem/99_myUtils.pm /usr/local/FHEM/share/fhem/FHEM/99_myUtils.pm</code><br />
<br />
== HUE auf der Synology Diskstation ==<br />
Da auf der DS standardmäßig kein JSON installiert ist, muss dies nachinstalliert werden (Danke an Patlinger für die Anleitung). Wichtig - ihr braucht IPKG (siehe CUL zum Laufen bringen):<br />
<br />
1. Per SSH verbinden (Befehl "ssh <ip-adresse> -l root")<br />
<br />
2. Superuser aktivieren (Befehl "su")<br />
<br />
3. "make" installieren (Befehl "ipkg install make")<br />
<br />
4. PERL und CPAN starten (Befehl "/usr/local/perl/bin/perl -MCPAN -e shell") / je nachdem wo Eure perl Installation liegt - bei mir war es "/usr/bin/perl -MCPAN -e shell"<br />
<br />
5. CPAN updaten (Befehl "install CPAN")<br />
<br />
6. JSON installieren (Befehl "install JSON")<br />
<br />
7. Per telnet verbinden (Befehl "telnet <ip-adresse> <port (7072)>")<br />
<br />
8. FHEM Update durchführen (Befehl "update")<br />
<br />
9. FHEM Neustart (Befehl "shutdown restart")<br />
<br />
10. Hue Bridge hinzufügen (Befehl "define <Name-für-die-Bridge> HUEBridge <ip-adresse-der-Hue-Bridge>")<br />
<br />
11. Taste an der Hue Bridge drücken um das "Pairing" zu bestätigen.<br />
<br />
12. GANZ WICHTIG - Wenn's jetzt einmal läuft, dann nicht vergessen die Konfiguration zu speichern! (Befehl "save")<br />
<br />
== Net::Telnet installieren ==<br />
Net::Telnet benötigt ihr beispielsweises für das geniale Modul FRITZBOX, dass Euch viele Möglichkeiten eröffnet, wenn ihr einen solchen Router besitzt.<br />
<br />
Los gehts wie üblich mit <br />
<code>"/usr/bin/perl -MCPAN -e shell"</code><br />
Der Pfad zu perl kann bei Euch auch anders lauten, siehe oben. Dann seid ihr fast fertig, nur noch folgendes eingeben - und fertig:<br />
<code>install Net::Telnet</code><br />
<br />
== JeeLink ==<br />
<br />
Für den JeeLink werden zwei Kernelmodule gebraucht, die seit DSM 5.2 dabei sind und nicht mehr separat installiert werden müssen. Jedoch müssen sie nach jedem Update wieder neu aktiviert werden (kann auch bei laufendem Betrieb von FHEM passieren):<br />
<br />
* <code>cd /lib/modules</code><br />
* <code>insmod usbserial.ko</code><br />
* <code>insmod ftdi_sio.ko</code><br />
<br />
[[Kategorie:HOWTOS]]<br />
[[Kategorie:Synology]]</div>Aps