FHEM automatisch starten nach Reboot

Begonnen von Burny4600, 06 April 2016, 17:59:08

Vorheriges Thema - Nächstes Thema

Burny4600

Wie kann ich FHEM einrichten damit das Programm immer selbstständig gestartet wird?
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

roedert

Wenn du fhem aus dem dpkg-Paket installierst, startet es bereits automatisch.

Burny4600

Die Installation von FHEM erfolgte so.

sudo wget http://fhem.de/fhem-5.7.deb -O /tmp/fhem-5.7.deb && sudo dpkg -i /tmp/fhem-5.7.deb

Früher hatte der Autostart funktioniert.
Seit ich den Raspberry völlig neu installiert habe funktioniert kein Autostart mehr.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

Tedious

Alternativ wenn gar nix hilft nen Cronjob bei restart - sudo service fhem start
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

bgewehr

Gibt es eigentlich einen Grund, warum so wenige mit init-scripten arbeiten? Das ist doch imho der beste Weg, oder?
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

Burny4600

Wie geht das mit den init-scripten?

Hast du für die init-scripten eine Anleitung wie ich das aufbauen kann?
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

Puschel74

http://www.forum-raspberrypi.de/Thread-tutorial-automatisches-starten-von-scripte-programme-autostart
Was Goo*** doch so alles findet  ::)
Das ist jetzt aber nur eine Seite - Treffer hat es ganz schön viele gegeben.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

rudolfkoenig

Ich habe auch sehr viele Seiten gefunden (nach dem Betreff suchen), aber fuer diesen Fall wuerde ich was anderes vorschlagen:

Ausgangslage: /opt/fhem gerettet, Rest des Systems komplett neu aufgesetzt. Damit ist das fhem-init-Skript verlorengegangen, genauso wie Benutzer und Paketinformationen. Vorschlag (ungetestet): /opt/fhem nach /opt/fhem.wichtig umbenennen, danach von http://fhem.de fhem-X.Y.deb installieren, /opt/fhem loeschen, und /opt/fhem.wichtig nach /opt/fhem zurueckschieben. Danach reboot, um zu testen.

Bei anderen Ausgangslagen ist diese Methode Murks(TM)!

Elektrolurch

außerdem befindet sich im Installationspaket von fhem auch das Script, welches unter /etc/init.d/fhem liegen sollte....
Das muss dannn nur noch wie oben im Link beschrieben, eingetragen werden.
configDB und Windows befreite Zone!

Burny4600

#10
Wenn ich das richtig verstehe, hätte durch die Neuinstallation des Raspy und FHEM eigentlich ein Autostart des FHEM von vorne herein funktionieren sollen, aber tut es nicht.

Und es liegt auch ein Script in dem Verzeichnis /etc/init.d
#!/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
# 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

if test "$2" != "noaptmark"; then
  apt-mark hold fhem > /dev/null
fi

case "$1" in
'start')

        echo "Starting fhem..."

# if you need to start hmland for use with
# Homematic, please start the hmland daemon
# like this (please use correct path and port,
# depending on your installation!)
#
#       /opt/hmcfgusb/hmland -d -p 1234 -r 0
#

        perl fhem.pl fhem.cfg

# if you want to use configDB for configuration,
# use this command to start fhem:
#
#       perl fhem.pl configDB
#
# and remove/comment the above line including fhem.cfg

        RETVAL=$?
        ;;
'stop')
        echo "Stopping fhem..."

# if you want to stop hmland during fhem stop:
#       pkill hmland

        pkill -U fhem perl
        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


Habe die Scripte nochmals mit
sudo update-rc.d fhem defaults
sudo update-rc.d watchdog defaults

eingebunden. Hat aber nichts gebracht. Keines dieser Scripte wird automatisch gestartet nach dem Reboot.
Muss diese genauso manuell starten.
sudo /etc/init.d/fhem start
sudo /etc/init.d/watchdog start


Eines was mich an dem Linux nervt ist das für Linux ein Verzeichnis das gleiche ist wie eine Datei.
Möchte ich das fhem Script in einem Laufwerk ablegen wo sich ein Ordner mit FHEM befindet, jammert Linux im Desktop Modus ob es die Datei ersetzten soll.
Aus manchen werde ich bei Linux nicht schlau.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

digiart

Was Du noch nachsehen kannst:
- Ist das Startscript auführbar (ls -la /etc/init.d/fhem)
- Den Start in das System eintragen (sudo update-rc.d fhem enable)
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

Burny4600

Also da habe ich nichts gemerkt das FHEM gestartet wird.
pi@ccs-ht-rasp04:~ $ ls -la /etc/init.d/fhem
-rwxr-xr-x 1 root root 1442 Apr  9 13:12 /etc/init.d/fhem
pi@ccs-ht-rasp04:~ $ sudo update-rc.d fhem enable
pi@ccs-ht-rasp04:~ $


Nach dem Reboot ist genauso Ruhe wie vorher.
Mfg Chris

Raspberry Pi 2/2+/3/3+/4 / Betriebssystem: Bullseye Lite
Schnittstellen: RFXtrx433E, SIGNALduino, MQTT, nanoCUL, HM-MOD-UART, 1-Wire, LAN, ser2net, FHEM2FEHEM
Devices: S.USV, APC-USV, Fronius Datalogger Web 2, FS20, IT, Resol VBUS & DL2, TEK603, WMR200, YouLess, Homematic, MQTT

Prof. Dr. Peter Henning

ZitatEines was mich an dem Linux nervt ist das für Linux ein Verzeichnis das gleiche ist wie eine Datei.

So ? Ich nutze zwar Linux seit mehr als 25 Jahren, aber da lernt man doch immer noch dazu.

LG

pah

abc2006

Hi,
versuchs mit
sudo update-rc.d fhem defaults

Ich glaube, bei "enable" musst du die gewünschten runlevel angeben.
Wenns dann noch nicht klappt, mit

runlevel
den aktuellen runlevel ausgeben und in

ls /etc/rcX.d
schauen, ob sich dort ein S**fhem befindet:(die ** bedeuten eine erstmal beliebige Zahl).

lrwxrwxrwx   1 root root    14 Apr 13 17:08 S03fhem -> ../init.d/fhem*




Btw möchte ich vorschlagen, in das INIT-Script von fhem die Zeile
# Should-Start:         mysql owhttpd
mit aufzunehmen ( kein Anspruch auf vollständigkeit, da ich nicht weiss, auf welche Systemprozesse fhem möglicherweise noch angewiesen ist), um zu erreichen, dass fhem erst gestartet wird, nachdem die Logdatenbank und owserver verfügbar sind. Falls diese nicht installiert sind (weil sie nicht gebraucht werden) wird der Parameter von update-rc.d ignoriert.

Grüße
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX