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
--
To unsubscribe from this group, send email to
fhem-users+...@googlegroups.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é
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
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
um besser sehen zu könne, wo dein Problem liegt, starte
/etc/init.d/fhem doch einmal mit sh -x. Also:
sh -x /etc/init.d/fhem start
Damit bekommst du einen recht brauchbaren Output. Sollte dir dieser
nicht aussagekräftig genug sein, dann einfach einmal hier posten.
Bezüglich deines SerialPort-Fehlers scheint es wohl noch ein
Config-Problem bei dir zu geben.
@1) Die Ausgabe die du mit @directio bekommst, zeigt an, dass die
Baudrate nicht passt (ist bei mir ebenso), mit der dein CUL
angesprochen wird. Da wurde wohl etwas an der openwrt-Config
geschraubt, hatte aber noch keine Zeit, mir das anzusehen und daher
bin ich erstmals auf die ser2net-Variante zurück gestiegen.
Aber schick mir hier doch bitte einmal den init-String für deinen CUL
von FHEM (oder besser die ganze Config). Denn irgendetwas scheint FHEM
zu einem INIT-Versuch bewegen zu wollen.
Greetz,
Gerhard
Am 21. Januar 2012 17:10 schrieb Baron Graf von Etzmolch
<graf.e...@googlemail.com>: