fhem startet nicht mehr automatisch beim Neustart (also nach Stromverlust) des raspberry.
Ich habe den rpi vom Strom getrennt, was vorher kein Problem war und nun startet er nicht mehr automatisch.
Per Hand kann ich fhem noch starten.
Habe noch 0 Ahnung von Linux. Das Paket heisst wheezy
Wie kann ich das korrigieren?
Schau mal hier http://www.forum-raspberrypi.de/Thread-tutorial-automatisches-starten-von-scripte-programme-autostart
ZitatACHTUNG!
Wenn Ihr ein fehlerhaftes Script einbindet (egal ob es ein Init-Script ist oder in der rc.local) kann es euer System lahm legen!!
Deshalb sollte das Script erst per Hand getestet werden!
Hatte ich schon erwähnt, dass ich 0 Ahnung von Linux habe?
Das hatte doch vorher funktioniert. Warum denn jetzt nicht mehr. Ich kann auch keinen reboot ausführen, daher muss ich wohl immer den Stecker ziehen. Beim Befehl reboot kommt die Meldung:
reboot: must be superuser.
Hat noch jemand einen Vorschlag?
sudo reboot
Du hast ein Rechteproblem auf deinem RasPi.
Grüße
Edith: Der eingeloggte User hat keine/zuwenig Rechte.
ZitatHatte ich schon erwähnt, dass ich 0 Ahnung von Linux habe?
Und dann kauft man sich ein Linuxsystem ???
Ich würde dir raten dich mal schlau zu machen und in Linux einzuarbeiten.
Edith2: Sorry - Rechteproblem ist nicht ganz richtig.
Bei Unix soll ja nicht jeder alles machen dürfen.
Du musst dem eingeloggten User entweder die passenden Rechte geben oder den User der richtigen Gruppe zuordnen damit er schalten und walten darf.
ZitatUnd dann kauft man sich ein Linuxsystem ???
Ich würde dir raten dich mal schlau zu machen und in Linux einzuarbeiten.
Ja, das tut man. Wenn nicht, müsste ich meinen TV, meinen Satreciver, meine Fritzbox und wahrscheinlich auch meine Waschmaschine wieder abgeben.
Von gestern um 10 Uhr bis heute war noch nicht viel Zeit.
Es kaufen sich auch Millionen Menschen Windows PCs und haben davon auch keine Ahnung.
Keine Sorge, ich werde lernen, aber nicht, weil du mich dazu erziehst, sondern weil ich schon alt bin und daher weiss, wie man seine Ziele erreicht.
Hallo, guck vielleicht mal hier:
http://www.meintechblog.de/2013/05/fhem-server-auf-dem-raspberry-pi-in-einer-stunde-einrichten/
ZitatJetzt noch die Schreib- und Userrechte hinzufügen:
sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem
und FHEM läuft jetzt immer (auch nach einem Neustart des RPI).
Vielleicht hilft´s ja.
P.S. überprüfe mal deine /etc/sudoers die sollte so aussehen: (ggf. anpassen)
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL
VG
Frank
Danke dir, hilft bestimmt. Das kann ich schon machen. :-)
Stecker ziehen kann bei einem Linux System tödlich sein, dass ist die schlechteste aller "Ausschaltvarianten" und kann dir dein Dateisystem zerstören.
VG
Frank
Ja, das hatte ich befürchtet. Dabei ist es auch bestimmt passiert. Aber das Herunterfahren hatte er mir ja leider verweigert. Was sollte ich tun? :-)
@Puschel74 - sudo reboot hat geholfen. Ich hatte mangels Durchblick nur reboot eingegeben. Danke dir.
@franky08 - Auch dir vielen Dank. Ich hatte ja mein System nach dieser Anleitung eingerichtet, wusste aber nicht, dass man den Befehl noch einmal verwenden kann, nachdem die Einrichtung fortgeschritten ist.
Es ist also wieder alles im grünen Bereich, der rpi startet nun wieder mit fhem.
Ich habe den Eindruck, dass die Geschwindigkeit stark nachgelassen hat. Gibt es eine Möglichkeit mit einem Befehl etwas aufzuräumen, ähnlich wie bei Win den defrag oder so etwas? Also einen Pflegebefehl, um festzustellen, ob das Dateisystem noch in Ordnung ist, oder so etwas?
Sichere dir mit einem ftp Programm deine fhem.cfg oder dein komplettes /opt/fhem Verzeichnis und setze Wheezy sowie dann fhem komplett neu auf. Ich denke das ist der sicherste Weg wieder zu einem lauffähigen System zu kommen.
Gehe am besten nach der Anleitung vor, die ich dir oben gepostet habe. Deine gplot sowie 99_myUtils Dateien solltest du auch sichern, wenn du nicht den gesamten fhem Ordner sichern willst.
P.S. Jetzt war ich zu langsam ;)
P.P.S. das Dateisystem hat bestimmt "einen weg", wenn du mehrfach den Stecker gezogen hast. Überprüfung, siehe:
Zitathttp://wiki.ubuntuusers.de/Dateisystemcheck
VG
Frank
Hat alles gut funktioniert. Ich habe alles gesichert und nach Anleitung neu gemacht, anschliessend die Sicherung zurückgespielt. Jetzt schein alles zu laufen.
Ich danke dir für die ausführliche Hilfe.
Kein Problem, Hauptsache du hast wieder ein stabiles System. ;)
ich möchte mich hier mal anhängen. Mein RPI2 startet auch nicht automatisch FHEM.
Meine sudoers sieht genauso aus.
sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem
habe ich durchgeführt.
Habt Ihr noch einen Tipp?
Das hat mit der sudoers nichts zu tun, sieh dir mal deine init.d/fhem an, dort startet fhem.
Hier findest du auch noch etwas zum richtigen einrichten, genau so im WIKI
http://www.meintechblog.de/2013/05/fhem-server-auf-dem-raspberry-pi-in-einer-stunde-einrichten/
VG
Frank
Danke für Deine Antwort.
Meine init.d/fhem sieht so aus:
#!/bin/sh
# description: start or stop the fhem server
# 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
case "$1" in
'start')
echo "Enabling I2C on P5 ..."
sudo hipi-i2c e 0 1
sudo chown fhem:root /dev/i2c-0
echo "starting fhem ..."
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
passt das?
Da Frage ist eher:
- Wenn Du das INIT manuell ausführst, bootet dann fhem?
- hast Du ntp Konfiguriert?
Stoppen klappt manuell.
Starten nicht:
pi@raspberrypi ~ $ sudo /etc/init.d/fhem stop
stopping fhem ...
pi@raspberrypi ~ $ sudo /etc/init.d/fhem start
Enabling I2C on P5 ...
1
chown: Zugriff auf ?/dev/i2c-0? nicht m?glich: Datei oder Verzeichnis nicht gefunden
Ist das ein Berechtigungsproblem?
Wenn Du mit ntp das Zeitprotokoll meinst. Nach Googlerecherche eher nicht, oder?
pi@raspberrypi /opt/fhem $ nano /etc/rc.local
GNU nano 2.2.6 Datei: /etc/rc.local Ver?ndert
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
Muss das hier noch rein: (?)
/etc/init.d/ntp stop
ntpdate ptbtime1.ptb.de
/etc/init.d/ntp start
Das sieht mir nicht nach dem fehler aus, den ich dachte....
Was sagt den:
ls -lhad /dev/i2c-*
folgendes kommt:
ls -lhad /dev/i2c-*pi@raspberrypi ~ $ ls -lhad /dev/i2c-*
ls: Zugriff auf /dev/i2c-* nicht m?glich: Datei oder Verzeichnis nicht gefunden
Du hast mit Deinem i2C Probleme.
Kommentiere erstmal folgendes aus:
sudo hipi-i2c e 0 1
sudo chown fhem:root /dev/i2c-0
Wieso hast Du die überhaupt drin?
ehrlicherweise: keine Ahnung.
Leider bleibt die Fehlermeldung bestehen.
Dann hast Du es nicht auskommentiert ...
hmm:
#!/bin/sh
# description: start or stop the fhem server
# 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
case "$1" in
'start')
echo "Enabling I2C on P5 ..."
# sudo hipi-i2c e 0 1
# sudo chown fhem:root /dev/i2c-0
echo "starting fhem ..."
perl fhem.pl fhem.cfg
RETVAL=$?
;;
'stop')
echo "stopping fhem ..."
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
EDIT:
ok:
sudo /etc/init.d/fhem start
Enabling I2C on P5 ...
starting fhem ...
ich reboote mal und teste
Ich bekomme jetzt in FHEM folgende Fehlermeldung:
Messages collected while initializing FHEM:
configfile: Can't open ./log/FHT_0f1f-2016.log: Keine Berechtigungstatefile: Please define FileLog_FHT_0f1f first
Das sind zwei Meldungen!
Zitat von: Gunther am 30 Januar 2016, 20:03:18
configfile: Can't open ./log/FHT_0f1f-2016.log: Keine Berechtigung
statefile: Please define FileLog_FHT_0f1f first
fhem darf die genannte Logdatei FHT... nicht beschreiben (vermutlich hast Du die als root oder als anderer user angelegt und die Rechte nicht angepaßt)
Die Meldung aus dem statefile ist ein Folgefehler der ersten Meldung, da wird versucht, dem Log-device einen state zu setzen, aber das Log-device ist gar nicht vorhanden.
Habe die Berechtigungen (waren pi/pi) auf 3x rw angepasst. Warum auch immer diese nicht wie bei den anderen Files waren. Ich denke, ich muss mal aufräumen...
Neustart geht jetzt. Wunderbar. Danke für Eure tolle Hilfe!
Eine Frage noch: In den Logs habe ich mal Dateien mit User "pi pi" mal mit "fhem dialout". Woran liegt das und ist das ok?
mach mal als root auf der Konsole ein
chown -R fhem:dialout /opt/fhem
dann sollte alles wieder passen. Die unterschiedlichen Eigentümer sind vermutlich dadurch entstanden, dass fhem einmal von Dir manuell gestartet wurde und im anderen Fall automatisch beim Systemstart.
Grundsätzlich sollten die Dateien alle auf fhem:dialout stehen.
passt jetzt
Danke Dir!
Wenn ich nun Dateien per FTP auf den RPI schicke (z. B. Tablet UI), dann haben die wieder pi pi und Berechtigung 700 statt 666. Muss ich einen User FHEM für FTP haben? Oder geht auch root?
Hallo,
also wenn Du root nimmst, funktioniert das genauso wenig. Am besten du führt nach einer "manuellen" Änserung wie dem kopieren "sudo chown -R fhem:dialout /opt/fhem" aus. Dann sollte alles passen. Einfach alles auf 777 oder wrx zu setzten ist nicht wirklich gut.
Damit Du auch weißt, was Du da machst - sudo (als root ausführen) chown (Eigentümer wechseln) -R (recrusiv, also alle Unterverzeichnisse mit) fhem:dialout (user:gruppe) ... na und dann noch den Pfad bzw. auch nur eine Datei.
Gruß Christoph
Wobei ... ob es jetzt als Gruppe umbedingt "dialout" ist, ist die gute Frage.
besser:
chown -R fhem: /opt/fhem
Man berücksichtige den ":" nach dem user fhem
@Gunther:
Es ist das Sicherheitskonzept. Die Dateien sollten dem user gehören, welcher sie verwendet. Da Dein FHEM bestimmt unter dem user FHEM läuft, also FHEM.
Mit chmod änderst Du nicht den User, sondern die Rechte. Es ist aber immer gut, wenn nicht jeder User ALLES auf Deinem System darf.
Zitat von: Wernieman am 31 Januar 2016, 18:17:16
chown -R fhem: /opt/fhem
Man berücksichtige den ":" nach dem user fhem.
Aha:
Zitat von: wiki link= https://wiki.ubuntuusers.de/chown/Der Besitzer wird auf <besitzer_name> - und die Gruppe auf die Standardgruppe des eingeloggten Benutzers gesetzt.
Wieder was gelernt heute ;)
Hallo,
was ist den die Standartgruppe von fhem ?
Um zu testen habe ich fhem auch mal ein password verpasst (als root einfach gesetzt), damit ich mit "su fhem" zu fhem werden konnte. Wird der user fhem überhaupt mit einem password angelegt - und wenn ja mit welchem ?
Gruß Christoph