Google Groups

Re: [FHEM] fhem & openwrt


Gerhard Pfeffer Jan 16, 2012 2:34 PM
Posted in group: This group is closed. See forum.fhem.de
Hej hej,

also für OpenWRT sieht es folgendermaßen aus (die Orte für die Files
sind aus meiner Config heraus und können deinen Wünschen entsprechend
geändert werden):

Kopiere 'fhem.pl' nach '/usr/sbin/', alles andere kommt nach '/usr/lib/FHEM/'.

folgende Pakete (und ggf. Abhängigkeiten) installierst du mit opkg
(Voraussetzung dein CUL wird schon bei dmesg mit ttyUSB erkannt):
perl
perlbase-autoloader
perlbase-config
perlbase-dynaloader
perlbase-errno
perlbase-essential
perlbase-fcntl
perlbase-file
perlbase-io
perlbase-math
perlbase-posix
perlbase-selectsaver
perlbase-socket
perlbase-symbol
perlbase-tie
perlbase-time
perlbase-xsloader

Meine Konfiguration habe ich zu den anderen Config-Files des Routers
gegeben, damit sie beim Backup mitberücksichtigt wird. Daher:
'/etc/config/fhem'

Dort ist folgendes in der globals-Section wichtig:
attr global modpath /usr/lib
attr global pidfilename /var/run/fhem.pid
attr global statefile /var/log/fhem/fhem.save
attr global logfile /var/log/fhem/fhem-%Y-%m.log

Weiters muss noch folgendes in die Config:
Wenn du Glück hast, kannst du in deiner fhem-config das CUL mittels:
define CUL CUL /dev/ttyUSB0@directio 1234
definieren. Leider geht das bei mir seit einem Reboot vor ein paar
Tagen nicht mehr (zuvor offensichtlich viel zu lange gelaufen und
irgendwelche Updates installiert :-( ).
Da wollte ich noch mit Rudi reden, da sich jetzt scheinbar dieser
Baudraten-Fehler eingeschlichen hat, was und ob man etwas dagegen tun
kann. stty könnte vielleicht helfen, dass muss man sich aber selbst im
OpenWRT-Image mitbauen bauen.

Andernfalls definierst du es mit:
define CUL CUL 127.0.0.1:2323 1234

und brauchst dann noch ein Zusatzpaket 'ser2net', dessen Config unter
'/etc/ser2net' ersetzt du gänzlich mit der Zeile:
2323:raw:0:/dev/ttyUSB0:38400 (ggf. musst du ttyUSB0 ändern).

Last but not least noch ein init-Script '/etc/init.d/fhem' erstellt:

### cut begin ###

#!/bin/sh /etc/rc.common
# FHEM Startup
#
# This file handles start/stop for FHEM
START=99
STOP=1

FHEM="/usr/sbin/fhem.pl"
PORT="7072"
CONFIG="/etc/config/fhem"
PIDFILE="/var/run/fhem.pid"
LOGPATH="/var/log/fhem"
#EXTTMP="/dev/sda3" # Comment out, if you don't want to use it.
#EXTOPTS="-text3" # Option is not a must to have for external FS, so
comment it out, if you don't need it.
SER2NET="yes"        # If u use ser2net enter yes otherwise no.

start() {
        if [ "${SER2NET}" == "yes" ]; then
                ps axwww|grep -v grep|grep -i ser2net > /dev/null 2>&1
                if [ $(echo ${?}) -ne 0 ]; then ser2net;fi
        fi
        mkdir -p ${LOGPATH}
        if [ -n ${EXTTMP} ]; then
                df ${EXTTMP} > /dev/null 2>&1
                if [ $(echo ${?}) -ne 0 ]; then mount ${EXTOPTS} ${EXTTMP} ${LOGPATH};fi
        fi
        start-stop-daemon -S -x ${FHEM}        -p ${PIDFILE} -b -- ${CONFIG}
}
        
stop() {
        start-stop-daemon -K -p ${PIDFILE}
}

reload() {
        ${FHEM} ${PORT} rereadcfg
}

restart() {
        ${FHEM} ${PORT} "shutdown restart"
}

### cut end ###

...und dann noch:
chmod 755 /etc/init.d/fhem
ln -s /etc/init.d/fhem /etc/rc.d/S99fhem
ln -s /etc/init.d/fhem /etc/rc.d/K1fhem

und das wars... schon solltest du das Ganze mit /etc/init.d/fhem start
zum Laufen bringen (bzw. beim nächsten Reboot von selbst starten).

So... Das wars einmal. Wenn ich dich jetzt endgültig verwirrt habe
oder du noch andere Fragen hast... Nicht schüchtern sein. ;-)

Greetz,
   Gerhard

Am 16. Januar 2012 20:58 schrieb Gerhard Pfeffer <gerhard...@gmail.com>:
> Hej,
> du nimmst die ganz normale OpenWRT-Installation und installierst dir noch
> einige Perlmodule nach...
> Wenn ich heute daheim bin, kann ich dir gerne alles senden, was du brauchst.
> :-)
>
> Greetz,
>    Gerhard
>
> Am 16.01.2012 19:57 schrieb "Baron Graf von Etzmolch"
> <graf.e...@googlemail.com>:
>
>> Hallo,
>> danke Gerhard für deine Antwort. Leider ist mir immer noch nicht klar, wie
>> ich jetzt Fhem auf dem Router installiert bekomme. Ist es notwendig, mir
>> mein openwrt für den Router inkl. Fhem selbst zu bauen oder gibt es eine
>> Möglichkeit, Fhem in die fertige Openwrt-Installation zu integrieren?
>>
>> Gruß
>> André
>>
>> Am 15.01.2012 21:10 schrieb "Gerhard Pfeffer" <gerhard...@gmail.com>:
>>>
>>> Hej,
>>> also grundsaetzlich funktioniert das problemlos.
>>> Einzig und allein bei ein paar Spezialfunktionen (die nicht standard
>>> Perlmodule benoetigen) wird es sich spießen. Aber die Grundfunktionen lassen
>>> sich wie gesagt ohne Probleme abbilden. :-)
>>>
>>> Greetz,
>>>    Gerhard
>>>
>>> Am 15.01.2012 21:03 schrieb "Etzmolch" <graf.e...@googlemail.com>:
>>>>
>>>> Hallo zusammen,
>>>>
>>>> nach dem ich FHEM erfolgreich auf meinem PC in Betrieb genommen habe,
>>>> würde ich es ganz gern auf meinem Router / Openwrt installieren. Mir
>>>> ist nur nicht klar, wie ich jetzt FHEM in Openwrt installiert
>>>> bekomme.
>>>>
>>>> Vielen Dank und schöne Grüße,
>>>> André
>>>>
>>>> --
>>>> To unsubscribe from this group, send email to
>>>> fhem-users+...@googlegroups.com
>>>
>>> --
>>> To unsubscribe from this group, send email to
>>> fhem-users+...@googlegroups.com
>>
>> --
>> To unsubscribe from this group, send email to
>> fhem-users+...@googlegroups.com