Hallo zusammen...
Ich habe einen Raspberry 2. Auf diesem möchte ich FHEM und Zoneminder laufen lassen. Sobald FHEM installiert ist, bekomme ich keinen Zugriff mehr auf Zoneminder und Apache. Es scheint als würde Apache nicht mehr starten.
Ohne FHEM läuft Zoneminder/Apache problemlos...
Auch per SSH kann ich mich mit Putty nicht mehr verbinden. Das einzige was wirklich noch funktioniert ist der aufruf http://IP:8083/fhem
Sonst geht nichts mehr.
Ich habe keinen Monitor, Tastatur, Maus etc. an meinem Raspberry. Ich mache alles über Putty.
Hat jemand eine Idee?
Gib mal ssh Zugang dann schau ich es mir mal an.
Wenn fhem läuft, geht nicht mal ssh?
Also bestehende ssh-Verbindungen bleiben "stehen"?
Wenn ich FHEM installiere, funktioniert nichts mehr außer FHEM.
Beziehungsweise: In dem Moment wenn ich es installiere klappt alles noch. Wenn ich den Raspberry neu starte geht nichts mehr. Ich komme nicht mehr auf die Apache Test-Seite (IP:80), nicht mehr auf Zoneminder (IP/zm) und mit Putty kann ich mich auch nicht mehr auf den Raspberry verbinden. Das einzige was noch funktioniert ist der Aufruf von FHEM (IP:8083/fhem)...
Wenn Du nach der Installation von FHEM fhem startest, also nicht den RasPi neu bootest, funktioniert es dann?
Oder schmiert Dir die laufende ssh-Session ab?
bzw. wie lautet Dein Start-Script?
Edit:
Hast Du Sicherheitssoftware wie SELinux o.Ä. laufen?
Hast Du eine besondere Firewall?
Was hast Du bisher probiert, um den Fehler zu finden?
Probiert, FHEM zu deaktivieren (nicht zu deinstallieren), so das es beim booten nicht gestartet wird, läuft es dann?
Wie gesagt: Wenn alles frisch installiert ist und ich noch nicht neu gestartet habe, funktioniert alles. SSH bleibt auch bestehen. Nur sobald ich den Raspberry das erste mal neu gestartet habe geht nichts mehr außer FHEM.
Ich habe kein eigenes Startscript angelegt. Habe FHEM einmal nach dieser Anleitung https://debian.fhem.de/ und nach dieser Anleitung http://www.meintechblog.de/2013/05/fhem-server-auf-dem-raspberry-pi-in-einer-stunde-einrichten/ installiert.
Bei beiden wird das Startscript automatisch angelegt.
Sicherheitssoftware, Firewall oder ähnliches hab ich nicht installiert auf dem Raspberry.
Und FHEM deaktievieren hab ich noch nicht probiert weil ich ja über Putty nicht mehr darauf zugreifen kann nach einem neustart.
Fehlersuche hab ich so noch garnicht gemacht weil ich nicht weis wo ich anfangen soll. Hat sogar ne Weile gedauert bis ich darauf kam dass Zoneminder nicht funktionieren kann weil Apache scheinbar garnicht gestartet wird...
Also .. nach der Installation IN der ssh (putty) session fhem starten (service fhem start)
DANN gucken, ob Deine ssh-Session noch läuft, wenn nicht, hast Du ein grundsätzliches Problem mit Deinem System. Wenn es läuft, ist fhem erreichbar?
Wenn nach einem Neustart ssh nicht geht, kannst Du über die Weboberfläche von FHEM dieses beenden, läuft dann Fhem?
Wie gut kennst Du Dich mit Linux aus?
FHEM wird ja direkt nach der installation schon von alleine gestartet. Muss nicht extra starten. Habe ja dann auch schon zugriff auf fhem und die Verbindung über Putty bleibt in dem Moment bestehen. Erts wenn ich dann neu starte, kann ich mich danach nicht mehr per Putty verbinden und Zoneminder/Apache hab ich auch keinen zugriff. FHEM selbst funktioniert weiter.
Auf die Idee mit FHEM über Weboberfläche beenden bin ich noch garnicht gekommen. Werd ich gleich mal probieren. Wie war das, einfach nur shutdown? Ich berichte gleich wenn ich es probiert habe.
Linux hab ich minimale Grundkentnisse. Ich weis wie man nano aufruft, rechte vergibt, Verzeichnisse erstellt und anzeigen lässt und so Kleinigkeiten. Aber ohne Google währe ich aufgeschmissen was Linux betrifft...
Wenn grundsätzlich nach einem neustart FHEM läuft, aber ssh nicht, könntest Du testeise den automatischen start von FHEM unterbinden
update-rc.d fhem disable
Wenn Du dann trotzdem Dein ssh-Problem hast, ist bei der Installation was kaputt gegangen ...
Na da laus mich doch der Affe...
Wernieman, ich bin zwar Stock Hetero aber währst du jetzt hier, würd ich dich knutschen...
Um nicht alles jedesmal neu aufsetzen zu müssen hab ich mir mein Image vom Raspberry gesichert. Das ist so weit das ich nur noch FHEM installieren muss.
Image mal wieder auf die Speicherkarte geschoben und FHEM installiert.
Zum Reproduzieren erstmal alles wie immer gemacht. Gleicher Fehler wie immer.
Image wieder neu aufgespielt, FHEM installiert und gleich nach der Installation update-rc.d fhem disable ausgeführt. Nach einem Neustart Funktionierten Apache, Zoneminder und Putty. FHEM logischerweise nicht weil es ja ausgeschaltet war.
Habe dann FHEM mit service fhem start gestartet und es funktionierte alles weiterhin.
Habe mir dann gedacht ich probiere mal update-rc.d fhem enable aus und seh mal was nach einem neustart passiert...
...und es funktioniert... Es startet alles, ich hab auf alles Zugriff und Putty funktioniert auch. War erst ungläubig und dachte an einen Zufall. Hab mehrfach neu gestartet und auch komplett runter gefahren und vom Strom getrennt. Aber war kein Zufall... Es funktioniert...
Vielen, vielen Dank... Wenn du in der Nähe von Bad Hersfeld bist sag bescheid... Ich schulde dir ein paar Bier...
Ach mann... Zu früh gefreut :(
Hatte den Raspberry jetzt nen Moment aus und hab wieder genau die gleichen Probleme...
Hab jetzt etwas wieter probiert. Hab im Webinterface von FHEM shutdown eingegeben und dann funktioniert Zoneminder, Apache und Putty wieder. Scheint so als würde FHEM da irgendwas blockieren...
Weitere Ideen???
?? FHEM blockt Dir einen Basisdienst wie ssh ??
1. Config von FHEM?
2. Unter welchem User läuft FHEM?
Meinst du mit config fhem.cfg oder das Startscript?
Ich hoffe mit dem User das mache ich so richtig...
Im Ordner /opt den Befehl ls -l eingeben?
Wenn das so richtig ist steht da:
drwxrwxrwx 10 fhem root 4096 Jul 24 18:28 fhem
Normalerweise würdest Du, wenn fhem läuft, mit
ps aux | grep fhem
den user rausfinden, unter dem FHEM bei Dir läuft. Diesmal .. ist es schwierig, da bei laufendem FHEM Du nicht mehr auf das System kommst ... jedenfalls direkt. Gibt uns bitte mal die /etc/init.d/fhem
Und außerdem Deine fhem.cfg
/etc/init.d/fhem:
#!/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
fhem.cfg
attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global backup_before_update 0
attr global latitude 50.868222
attr global logfile ./log/fhem-%m-%Y.log
attr global longitude 9.75699
attr global modpath .
attr global motd none
attr global nofork 1
attr global room System
attr global sendStatistics never
attr global statefile ./log/fhem.save
attr global verbose 3
include ./configs/fhemstart.cfg
include ./configs/web.cfg
#include ./configs/wohnzimmer.cfg
#include ./configs/schlafzimmer.cfg
#include ./configs/kinderzimmer.cfg
#include ./configs/arbeitszimmer.cfg
#include ./configs/kueche.cfg
#include ./configs/keller.cfg
#include ./configs/flur.cfg
#include ./configs/handsender.cfg
#include ./configs/kalender.cfg
#include ./configs/wetter.cfg
#include ./configs/tablet.cfg
#include ./configs/fritzbox.cfg
#include ./configs/alarm.cfg
Bei meiner fhem.cfg wahrscheinlich auch noch wichtig die fhemstart.cfg...
define telnetPort telnet 7072 global
attr telnetPort room System
#define hmusb HMLAN localhost:15383
#attr hmusb hmId 121204
#attr hmusb hmKey 01:c0cb6b98a02949a5b971378a2c067517
#attr hmusb hmLanQlen 1_min
#attr hmusb room System
#define CUL CUL /dev/ttyACM0@9600 1212
#attr CUL icon icoSYSTEM.png
#attr CUL room System
# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%m-%Y.log fakelog
attr Logfile room Logs
#define autocreate autocreate
#attr autocreate filelog ./log/autocreate.log
#attr autocreate room System
define eventTypes eventTypes ./log/eventTypes.txt
attr eventTypes room Logs
# Disable this to avoid looking for new USB devices on startup
#define initialUsbCheck notify global:INITIALIZED usb create
#attr initialUsbCheck room System
...und die web.cfg
define WEB FHEMWEB 8083 global
attr WEB room System
attr WEB stylesheetPrefix dark
define WEBphone FHEMWEB 8084 global
attr WEBphone HTTPS 1
attr WEBphone basicAuth Umljb1RldHo6Tmljb2xlMDNSaWNv
attr WEBphone hiddenroom input,Save config,Event monitor,Select style,Edit files,Remote doc,Commandref,Logfile,Logs,Everything,detail
attr WEBphone room System
attr WEBphone stylesheetPrefix darksmallscreen
define WEBtablet FHEMWEB 8085 global
attr WEBtablet hiddenroom input,Save config,Event monitor,Select style,Edit files,Remote doc,Commandref,Logfile,Logs,Everything,detail
attr WEBtablet room System
attr WEBtablet stylesheetPrefix darktouchpad2
Die .cfg's dürften eigentlich alle ok sein. Hab halt zum probieren erstmal alles unnötige auskommentiert um zu sehen ob fhem überhaupt läuft. Auch CUL und HM-CFG-USB sind nicht angesteckt. Diese configs hab ich bei mir schon ewigkeiten laufen.
EDIT:
Weiß nicht ob ich es schon geschrieben habe oder ob es unter gegangen ist. FHEM im Webinterface mit shutdown klappt ja. Dann hab ich ja auch wieder Zugriff mit Putty. Dann kann ich auch update-rc.d fhem disable ausführen. Nach einem Neustart starte ich FHEM dann manuell mit service fhem start. In dem Moment wo ich dann manuell starte klappt alles andere ja auch weiterhin. Also ich habe Zugriff auf Apache, Zoneminder, FHEM und Putty...
Das gibt mir dann auch die Gelegenheit ps aux | grep fhem auszuführen. Da bekomme ich dann
root 3007 0.0 0.2 5140 2596 pts/0 S+ 21:16 0:00 sudo service fhem start
root 3008 0.0 0.0 1764 336 pts/0 S+ 21:16 0:00 /bin/sh /etc/init.d/fhem start
fhem 3016 2.3 1.3 16744 13228 pts/0 S+ 21:16 0:01 perl fhem.pl fhem.cfg
pi 3049 0.0 0.1 4148 1864 pts/1 S+ 21:17 0:00 grep --color=auto fhem
EDIT 2:
Hier mal noch die Ausgaben von Zoneminder und Apache falls die noch interessant sind...
Zoneminder:
pi 3063 0.0 0.1 4148 1864 pts/1 S+ 21:28 0:00 grep --color=auto zoneminder
Apache:
root 2103 0.0 1.4 36120 13616 ? Ss 21:15 0:00 /usr/sbin/apache2 -k start
www-data 2302 0.0 1.1 36856 11152 ? S 21:15 0:00 /usr/sbin/apache2 -k start
www-data 2303 0.0 0.6 36144 5700 ? S 21:15 0:00 /usr/sbin/apache2 -k start
www-data 2304 0.0 0.6 36144 5700 ? S 21:15 0:00 /usr/sbin/apache2 -k start
www-data 2306 0.0 0.6 36144 5700 ? S 21:15 0:00 /usr/sbin/apache2 -k start
www-data 2307 0.0 0.6 36144 5700 ? S 21:15 0:00 /usr/sbin/apache2 -k start
www-data 3050 0.0 0.6 36144 5700 ? S 21:23 0:00 /usr/sbin/apache2 -k start
pi 3069 0.0 0.1 4152 1804 pts/1 S+ 21:29 0:00 grep --color=auto apache
Was vieleicht auch noch interessant ist, wenn ich service fhem start ausführe tut sich in dem Fenster nichts mehr. Ich musste ein neues Fenster auf machen um ps aux | grep fhem ausführen zu können.
Gott das ich das noch mal erleben darf in diesem Thread. Endlich mal Configfiles. Wenn Du jetzt noch ein paar Logfiles rüber bringst könnte man fast noch was draus machen. Ansonsten, ich habe nicht umsonst nach SSH Zugang gefragt, wie soll man Dir helfen wenn Du ausser es geht nicht nichts weiter anbietest ???
CoolTux, ich kann dir gerne einen Zugang einrichten. Aber der Zugriff darauf funktioniert ja dann nicht...
Oder soll ich FHEM erstmal runter lassen? Nur Zoneminder, was ja automatisch auch Apache enthält, damit SSH funktioniert?
Rico Du rätst. Das ist pures Windows Verhalten. Schaue indie Logs. Meistens fi der man da die Antwort.
Zonminder brauchst Du nicht für Fhem oder SSH. Deaktivieren vorerst den automatischen Start. Du musst schauen wer da wen blockiert. Kontrollieren die Ports. Ist SSH wirklich auf 22 und Fhem nur auf 8083 8084 8085? Welche Ports will sich Zonemi der reservieren. KO trolliere Deine Konfigfiles.
Hab den Fehler gefunden. Ich hatte FHEM mal auf Windows laufen und danach auf einer Fritzbox. Hab bei jedem Umzug die gleichen Configs mitgenommen. Aus dieser Zeit stammt noch attr global nofork 1 in meiner fhem.cfg.
Hatte jetzt einen Monitor am Raspberry angeschlossen und da gesehen, dass er immer bei Starting FHEM... hängen geblieben ist. Aber immer erst nachdem ich meine Configs eingespielt hatte.
Hab dann Zeile für Zeile kopiert und jedesmal neu gestartet bis ich den Fehler gefunden hatte.
Hab FHEM zwar schon länger auf einem Raspberry aber da er bis jetzt nur für die Hausautomation zuständig war und FHEM ja lief, ist es mir nie aufgefallen dass er beim starten an genanter Position fest hängt. Erst jetzt wo Zoneminder dazu gekommen ist, habe ich gemerkt das was nicht stimmt.
Ich danke euch allen für eure Mühe und die Hilfe...
Genau aus dem Grunde funktioniert Dein ssh etc. nicht mehr. Der Bootprozess startet fhem, da das init-Script sich aber nie beendet, wird nicht mehr weiter "gebootet". rst nach einem beenden von fhem und (mein Glaube) weiterlaufen des bootprozesses läuft es.
Dein Init-Script sieht aber normal aus .. weshalb ich es nicht verstehe. Auch Deine Angegebenen configs sehen normal aus. Abgesehen von den includes, was ich persönlich nicht mehr machen würde. Kannst Du mal mit einer, nur mit dem nötigsten gefüllten fhem.cfg (ohne includes) probieren zu starten?
btw:
Wie sieht die Berechtigungen, vor allem beim logdirektory von FHEM aus?