Guten Morgen zusammen,
gerade bin ich ein wenig verwirrt.
Und zwar habe ich fehm auf einem neuen Ubuntu Server installiert.
Dann mittels folgendem Startscript und der fhem.cfg gestartet.
#!/bin/sh
# description: Start or stop the fhem server
# Added by Alex Peuchert
### BEGIN INIT INFO
# Provides: fhem.pl
# Required-Start: $local_fs $remote_fs mysql
# Required-Stop: $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: FHEM server
### END INIT INFO
set -e
cd /opt/fhem
port=7072
case "$1" in
'start')
echo "Starting fhem..."
# perl fhem.pl configDB
perl fhem.pl fhem.cfg
RETVAL=$?
;;
'stop')
echo "Stopping fhem..."
perl fhem.pl $port "shutdown"
RETVAL=$?
;;
'status')
cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
if [ "$cnt" -eq "0" ] ; then
echo "fhem is not running"
else
echo "fhem is running"
fi
;;
*)
echo "Usage: $0 { start | stop | status }"
RETVAL=1
;;
esac
exit $RETVAL
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
WEB,WEBphone,WEBtablet has no basicAuth attribute.\
telnetPort has no password/globalpassword attribute.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\
attr global sendStatistics onUpdate
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global userattr devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global verbose 3
define telnetPort telnet 7072 global
define WEB FHEMWEB 8083 global
attr WEB reverseLogs 1
define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen
define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad
# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog
define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log
define eventTypes eventTypes ./log/eventTypes.txt
# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create
Dann noch brav ein update gemacht und fhem neu gestartet.
Klappt soweit. Wenn ich nun allerdings via fhemweb oder aber telnet ein "shutdown" eingebe, wird fhem beendet und automatisch wieder gestartet.
Ein neues Feature von fhem wird das wohl nicht sein, da meine produktive Umgebung auf einem SLES Server das nicht macht.
Hat dazu jemand eine Idee, warum fhem nach einem shutdown direkt wieder startet?
Ich habe noch mal ein wenig gestöbert was das Problem hier angeht.
Allerdings bin ich nicht wirklich weiter gekommen.
Das was ich geschrieben hatte war nicht ganz korrekt, wie sich jetzt rausstellte.
Ich hatte zwar wie ich es bisher kannte das Start/Stop Skript nach /etc/init.d/ kopiert, aber darüber wird FHEM auf dem Ubuntu gar nicht gestartet.
Von dem Installationspacket wird unter Ubuntu die Konfig hier nach /etc/init/ geschrieben
# FHEM Service
description "fhem server"
author "Rudolf Koenig <r.koenig@koeniglich.de>"
start on (net-device-up
and local-filesystems
and runlevel [2345])
stop on runlevel [016]
expect fork
respawn
chdir /opt/fhem
exec perl fhem.pl fhem.cfg
Offensichtlich sorgt diese dafür, dass fhem nach einem shutdown wieder neu gestartet wird.
Denn auch nach Löschung meines Skripts aus /etc/init.d/fhem startet fhem.
Testweise habe ich dann die Datei aus dem /etc/init/ gelöscht und FHEM mit dem mir bekannten Skript aus /etc/init.d/ gestartet.
Danach klappt auch ein "shutdown" aus Fhem web oder telnet wieder und fhem startet nicht automatisch neu.
Zumindest scheint es reproduzierbar zu sein.
Gerade mal eine VM mit Ubuntu 13.10 Server installiert, dann FHEM aus dem Packet installiert und schon kann ich FHEM nicht beenden.
Es macht zwar einen shutdown, aber auch direkt wieder die Initialisierung.
2014-08-25_13:17:25 global SHUTDOWN
2014.08.25 13:17:25 0: Server shutdown
2014.08.25 13:17:26 1: Including fhem.cfg
2014.08.25 13:17:26 1: Including ./log/fhem.save
2014-08-25_13:17:26 global INITIALIZED
2014.08.25 13:17:26 1: usb create starting
2014.08.25 13:17:26 1: usb create end
2014.08.25 13:17:26 0: Server started with 9 defined entities (version $Id: fhem.pl 6425 2014-08-19 20:55:00Z rudolfkoenig $, os linux, user fhem, pid 4081)
Das respawn steht doch ausdrücklich in dem von Dir zitierten Skript, das fhem als Service startet, fhem verhält sich also exakt so, wie es das Startskript vorschreibt - und zwar solange, bis Du den Server komplett neustartest.
Okay. Da hast Du wohl recht.
Wusste damit halt nicht wirklich viel anzufangen.
Macht das dann eventuell Sinn, das als Hinweis in die Command-ref aufzunehmen?
Da steht ja ausdrücklich drin, dass ein "shutdown" fhem runterfährt und erst mit "restart" es neu startet.
Geht man nun strikt danach läuft es ja nicht so.
Bei mir wurde noch bei keiner Installation das von Dir zitierte Startskript installiert. Insofern ist die commandref-Beschreibung durchaus richtig. Warum auf Ubuntu bei Dir plötzlich das Service-Skript auftaucht? Keine Ahnung.
Vielleicht liest Rudolf hier noch mit.
Er sollte da ja was zu sagen können.
Schliesslich steht sein Name in dem Skript.
Das Skript selbst ist in ./contrib/init-scripts ja immer vorhanden.
Welches fhem-Paket hattest Du denn installiert?
Das kam von dieser Seite hier:
http://fhem.de/fhem.html#Installation
und verlinkt dann auf dieses deb Packet
http://fhem.de/fhem-5.5.deb
Hallo.
Habe auch gerade fhem auf ubunturechner installiert und stehe vor selbigen problem. fhem lässt sich nicht stoppen.auch bringt mir ein update nichts. meine cfg vom anderen server wird nur teilweise eingelesen, DOIF sehe ich am ubunturechner gar nicht.
whats wrong?
Das mit dem nicht zu beenden FHEM habe ich so gelöst, indem ich in der Datei fhem.conf unter /etc/init/ einfach den Eintrag respawn wie betateilchen es geschrieben hatte, entfernt habe.
Danach beendet sich FHEM auch mittels "shutdown" aus fhemweb.
Ob das nun ein Bug oder Feature ist, keine Ahnung.
Rudi scheint den Post hier wohl noch nicht gelesen zu haben ;)
Bzgl der anderen Probleme solltest Du wohl lieber separate Post eröffnen.
Das ist hier ja eher etwas Off-Topic.
Hallo.
Ja, Tipp habe ich schon aus anderen Foren erhalten, fhem dürfte da probs auf Ubuntu haben. Mit löschen der fhem.conf in /etc/init und anlegen des fhem startscriptes in /etc/init.d klappt es jetzt. zusätzlich muss man das verzeichns /opt dem user fhem zuweisen. jetzt rennt alles wie es soll. nur Rss dürfte unbekannt sein bei fhem-5.5, das wird nicht initialisiert.
Zitat von: satprofi am 02 September 2014, 22:00:01
nur Rss dürfte unbekannt sein bei fhem-5.5, das wird nicht initialisiert.
was meinst Du damit?
cannot load module RSS.
weder mit define noch mit vorhandener fhem.cfg
Dann solltest Du einfach mal ins Logfile schauen, warum das nicht funktioniert, da sollten sich Hinweise finden lassen.
Vermutlich fehlen Dir einfach noch ein paar von 02_RSS.pm benötigte perl-Module, die Du in Deinem Ubuntu nachinstallieren musst.
Erste Hinweise bekommst Du auch im Frontend, wenn Du versuchst, ein "reload 02_RSS" durchzuführen, dann sparst Du Dir den Blick ins Logfile.
ich dachte wenn man die letzte version zieht ist alles vorhanden. habe mich an die manuals div. foren gehalten, alles nachinstalliert. bei 5.3 wars einfacher auf dockstar
Die Perl Module haben mit fhem nichts zu tun und sind (und waren) auch nie Bestandteil von fhem.
Sie werden von fhem nur BENUTZT, müssen aber vom Betriebssystem BEREITGESTELLT sein.