Hallo,
nach jahrelanger Pause (wurden hier mal inaktive Benutzeraccounts gelöscht, naja egal, wieder angelegt) bin ich wieder dabei, läuft auf einem E4200 mit DD-Wrt.
Ein (Linux) Problem ist geblieben:
wie kann ich den Start von fhem automatisieren? Bisher muss ich (nach Reboots) in den passenden Ordner wechseln und "perl fhem.pl fhem.pl fhem.cfg" eingeben.
Kenne mich nicht aus und habe wirklich schon lange gesucht... (in Dd-wrt gibt es u.a.eine rc_startup Konfigmöglichkeit).
Danke
Keine Ahnung welche autostart Varianten dd-wrt benutzt, aber die linux-üblichen werden von FHEM alle unterstützt.
Ich bevorzuge systemd, dazu gibt es im Linux-Bereich hier im Forum auch eine Anleitung.
Grundsätzlich befinden sich startskripte auch in der FHEM Auslieferung im Ordner contrib/init-scripts
Guuute Frage ... was für ein DD-wrt hast Du?
Und .. wird es eher gestartet durch:
- init-Scripte (Gucke mal nach /etc/init.d/)
- systemd
Edit:
bettateilchen war schneller....
Zitat von: betateilchen am 07 Dezember 2017, 10:23:22
Keine Ahnung welche autostart Varianten dd-wrt benutzt, aber die linux-üblichen werden von FHEM alle unterstützt.
Ich bevorzuge systemd, dazu gibt es im Linux-Bereich hier im Forum auch eine Anleitung.
Grundsätzlich befinden sich startskripte auch in der FHEM Auslieferung im Ordner contrib/init-scripts
Danke, scheitert bisher alles leider am nicht vorhandenen Wissen. Wüsste nicht, wo ich "systemd" dafür bekäme (DD-WRT v24SP2, Kernel Linux 2.6.24.111 und optware), apt-get geht nicht, bei ipkg gibts kein solches Modul.
Von den mitgelieferten init.d-Skripten schien mir Nummer 2 * am ehesten passend, habe damit eine S99fhem erstellt, Ort: /etc/init.d), ausführbar gemacht, kein Erfolg (fhem.pl liegt in /opt/fhem).
Dann noch zusätzlich im DD-WRT-Webinterface bei den Startup-Commands "/opt/etc/init.d S99fhem start" eingetragen, geht auch nicht....
*:
#!/bin/sh
# by Matthias Bauer
cd /opt/fhem
case "$1" in
start)
echo "Starting $0"
perl fhem.pl fhem.cfg
;;
stop)
echo "Stopping $0"
killall fhem.pl
;;
status)
cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
if [ "$cnt" -eq "0" ] ; then
echo "$0 is not running"
else
echo "$0 is running"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
Dad kann so nicht funktionieren.
Bezüglich Starten mit init.d
1. es gehört in /etc/init.d (z.B. /etc/init.d/fhem
2. es braucht eine gewisse "Form", die Du nicht verwendest
3. die starrt/stop-automatsimen werden unter /etc/rc erledigt
Allerdings brachte eine kurze Suche zu dd-wrt ein etwas "differenzierten" Blick. Weiß aktuell wirklich nicht, welche Startmetode gewählt wird.
Gucke doch mal unter:
https://www.dd-wrt.com/wiki/index.php/Startup_Scripts#Write_the_Shell_Script
1. ist es nicht?, da sind auch massenweise andere Start-Scripts drin, von einem optware-script https://www.dd-wrt.com/wiki/index.php/OTRW2_%28Optware_the_right_way_Take_2%29 (https://www.dd-wrt.com/wiki/index.php/OTRW2_%28Optware_the_right_way_Take_2%29) reingesetzt (hier müssen die Services allerdings noch auf "on" gestellt werden, was bei dieser nachträglich hinzugefügten Datei nicht funktioniert.)
2. welche dann? Ich dachte, eine S99...-Datei dort wäre korrekt
3. ja, es gibt wohl verschiedene Orte/Möglichkeiten bei dd-wrt, allerdings auch ein ganz einfaches Startup-Webinterface, wenn ich da die passende Syntax hinbekäme...
Zitat von: martin-h am 07 Dezember 2017, 12:22:29
allerdings auch ein ganz einfaches Startup-Webinterface, wenn ich da die passende Syntax hinbekäme...
Probiere mal:
cd /opt/fhem && perl fhem.pl fhem.cfg
Danke, geht!! Perfekt...