FHEM startet erst beim ca. 5. Mal

Begonnen von ToM_ToM, 08 Januar 2015, 09:42:00

Vorheriges Thema - Nächstes Thema

ToM_ToM

Hallo liebe Community,

nach einer Woche ständiger Neuinstallation und Test komme ich einfach nicht mehr weiter.
Ich habe FHEM auf dem BananaPi (Bananian) installiert und ich muss per SSH ca. alle 10 min den folgenden Befehl ausführen. Beim ca. 5. Mal läuft es.

perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg

Und dann habe ich auch nach einer knappen Stunde auch endlich per Browser Zugriff auf die Weboberfläche.

So habe ich es installiert:

Aktualiesierung des Systems:
apt-get update && apt-get upgrade -y && apt-get autoremove -y && shutdown –r now

Telnet installiert
apt-get install telnet

Perl-Pakete installiert
apt-get -f install
apt-get install perl
apt-get install libdevice-serialport-perl
apt-get install libio-socket-ssl-perl
apt-get install libwww-perl
apt-get install libxml-simple-perl


USB-Utils
apt-get install usbutils

USBMount fürs automatische Mounten meines USB-Sticks auf dem die Logfiles ausgelagert werden
apt-get install usbmount

benötigte Tools für die Installation
apt-get install make
apt-get install subersion

Files heruntergeladen und installiert
svn checkout http://svn.code.sf.net/p/fhem/code/trunk fhem-code
cd fhem-code/fhem
make install


Im fhem-Verzeichnis das SSL-Zertifikat erstellt
openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem
mkdir certs
chmod 711 certs
mv *.pem certs/
cd certs/
chmod 644 server-cert.pem
chmod 644 server-key.pem


fhem.cfg angepasst
attr global userattr devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global logfile /media/usb0/log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
Running with root privileges.\
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 statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 5

define telnetPort telnet 7072 global
attr telnetPort SSL 1
attr telnetPort password MEINPASSWORT

define WEB FHEMWEB 8083 global
attr WEB HTTPS 1
attr WEB basicAuth MEINBASE64PASWWORT

define WEBphone FHEMWEB 8084 global
attr WEBphone HTTPS 1
attr WEBphone basicAuth MEINBASE64PASWWORT
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet HTTPS 1
attr WEBtablet basicAuth MEINBASE64PASWWORT
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog /media/usb0/log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog /media/usb0/log/%NAME-%Y.log

define eventTypes eventTypes /media/usb0/log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create

# Add CUL Stick
define CUL CUL /dev/ttyACM0@38400 0000
attr CUL rfmode HomeMatic


Das Logfile gibt leider keine Fehlermeldung aus und auf der SSH-Shell sehe ich auch keine Fehlermeldung. Dort sieht es nach dem Ausführen des Befehls perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg aus, als wäre alles ganz normal.

Nachdem ich jetzt die ganze Woche überall im Netz gesucht habe, hoffe ich, mir kann jemand helfen.

Vielen Dank schon mal fürs ansehen meines Problems.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Rohan

Kann es sein, dass der Perl-Prozess beendet wird, sobald die SSH-Sitzung geschlossen/beendet/abgebrochen wird?

screen & Co oder Start per init-Skript dürften Abhilfe schaffen.

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

ToM_ToM

Hallo Thomas,

vielen Dank für die schnelle Antwort. Ich habe die SSH-Sitzung in der Zwischenzeit nicht getrennt. Sie blieb die ganze Zeit bestehen.
Da ich keinen funktionierenden Befehl finden konnte um FHEM zu beenden und neu zu starten hatte ich aber nach der Änderung in der "fhem.cfg" immer das System neu gebootet und dann fhem wieder über den Befehl perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg gestartet. Jedoch lief es dann nicht. Erst nach dem ca. 5. Mal.
Also sprich System neu gestartet.

perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg ausgeführt und 10 min gewartet. IP-Aufruf im Browser sagte: "nicht erreichbar".
perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg ausgeführt und 10 min gewartet. IP-Aufruf im Browser sagte: "nicht erreichbar".
perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg ausgeführt und 10 min gewartet. IP-Aufruf im Browser sagte: "nicht erreichbar".
perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg ausgeführt und 10 min gewartet. IP-Aufruf im Browser sagte: "nicht erreichbar".
perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg ausgeführt und 10 min gewartet. IP-Aufruf im Browser zeigte jetzt die FHEM-Seite und meine Geräte.

Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

DerFrickler

welches Betriebssystem hast Du installiert?

funktioniert fhem vor der Modifikation des config-files? d.h., mit der Version des config-files direkt nach der installation?


ToM_ToM

Ja, da funktioniert es. Es funktioniert auch nach der Modifikation der Config-Files (auch über HTTPS).
Wenn ich jedoch nach der FHEM-Installation einmal einen reboot des Systems durchgeführt habe, dann gehen die Start-Probleme von fhem los.

Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

ToM_ToM

Im FHEM HOWTO steht ja folgendes:

To install & start fhem type:

make
cd /opt/fhem
perl fhem.pl fhem.cfg


Darf ich diesen Befehl evtl. nur einmal ausführen? Aber wie kann ich dann fhem nach einem Neustart des Systems starten?
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Rohan


make


zumindest der Befehl sollte nur einmal ausgeführt werde, weil du sonst jedes Mal Fhem neu installierst.


cd /opt/fhem
perl fhem.pl fhem.cfg


so wird Fhem von Hand gestartet. Ausgehend von dieser Anleitung gibt es halt auch die Möglichkeit, Fhem automatisch beim Systemstart durch ein Init-Skript starten zu lassen. Da ich Bananian nicht kenne, weiß ich nicht, ob sich das fhem.deb-Paket auch dort so installieren lässt.

Was gibt ein

ps ax | grep fhem

auf der Kommandozeile aus?

Gruß
Thomas

Edith hat das Quoting korrigiert
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

ToM_ToM

Hey,

sorry war mein Fehler. Natürlich ohne "make".

Fhem lässt sich auch über das fhem.deb-Paket installieren. Dies hatte ich auch ausprobiert. Dann habe ich allerdings das Problem, dass ich keine Logfiles auf meinem USB-Stick schreiben kann. Daher bin ich wieder zu dem anderen Installationsweg gewechselt. Zwischen jeder Installation habe ich natürlich das System komplett neu aufgesetzt.
Ich gehe davon aus, dass das mit dem USB-Zugriff nicht funktionierte, da ich den folgenden Schritt nicht  ausgeführt hatte:

Nun fügen wir die Benutzer pi und fhem der Gruppe tty hinzu (Zugriffsrechte auf Serial- und USB-Ports)
sudo usermod -aG tty pi && sudo usermod -aG tty fhem

Den hatte ich nicht ausgeführt, da der User "pi" auf meinem System nicht existiert. Es gibt dort nur den "root".

Den Befehl ps ax | grep fhem führe ich heute Abend mal aus wenn ich wieder daheim bin und schreibe dann das Ergebnis hier.

Vielen Dank schon mal für die Hilfe.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Rohan

- der User "pi" ist unter RaspBian nichts anderes als der Standard-Anmelde-User. Wenn unter Bananian nur root existiert, ist das zwar mMn nicht schön, aber dann kannst du diesen Schritt übergehen.

- das Ganze auf einen USB-Stick zu packen ist mMn kein Problem. Ich habe aber auch kein deb-Paket und auch nicht aus dem SVN installiert, sondern eine dateibasierte "Installation" durchgeführt. Evtl. vorhandene absolute Pfade in der fhem.cfg sind dann zwar einmalig anzupassen und der Aufruf im Init-Script musste an den anderen Pfad angepasst werden, aber das war es dann auch (wenn ich mich noch richtig an die Installation von vor über 1 Jahr erinnere).

- gerade bei den Log-Files kann man auch absolute Pfade angeben, die auf ein beliebiges Verzeichnis zeigen. Einzig Schreibrechte braucht der Benutzer, in dessen Kontext Fhem läuft in diesem Verzeichnis. Da bei dir aber standardmäßig "root" aktiv ist, sollte dies aber erst Recht kein Problem sein.

Dann mal bis heute Abend.

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

ToM_ToM

Hallo,

ich habe den Befehl
ps ax | grep fhem

Hier das Ergebnis:
1990 pts/0    S+     0:00 grep --color=auto fhem

Ich hoffe das hilft weiter.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Rohan

Das zeigt mir, dass Fhem nicht läuft. Bei mir sieht es so aus:


ps ax | grep fhem
7210 pts/0    R+     0:00 grep --color=auto fhem
17133 ?        S      8:39 /usr/bin/perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg


Und wenn du jetzt


cd /opt/fhem
perl fhem.pl /opt/fhem/fhem.cfg


eingibst, sollte das auch dir dir (in etwa) so aussehen, oder?

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

ToM_ToM

Okay, ich hatte FHEM auch nicht gestartet. Jetzt habe ich es aber gestartet und das Ergebnis ist nun folgendes:

2002 pts/0    S      0:00 perl /opt/fhem/fhem.pl /opt/fhem/fhem.cfg
2019 pts/0    S+     0:00 grep --color=auto fhem


Jedoch komme ich immer noch nicht auf die Weboberfläche. Weder per HTTPS wie es konfiguriert ist, noch über HTTP. Dass ich über HTTP nicht drauf komme, ist ja klar. Aber hatte es trotzdem mal probiert.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Rohan

#12
Dann hast du evtl. einen Prozess in der fhem.cfg, der Fhem stark blockiert, so dass es zu Timeouts im Browser kommt. Poste die fhem.cfg mal in der jetzigen Form, aber bitte in Code-Tags (also im Editor das #-Zeichen wählen) oder als Text-Anhang.

Edith ergänzt: und vergiss doch erst Mal den ganzen "Kram" um https. Erst muss die grundsätzliche Funktionalität gewährleistet sein, dann kann man an Änderungen gehen.

Gruß
Thomas
Fhem auf Mini-ITX mit Celeron 2-Core, HMLAN (> 55 Devices), CUL (FS20 und EM), RFXtrx 433E, Arduino (einige DS18B20), RPi mit 1-Wire (DS2423 für S0-Signale, DS18B20+), RPi/Arduino mit MQ-5 und MQ-9 (CO- und CNG/LPG-Sensor), CO-20 IAQ Sensor

ToM_ToM

Okay, hier anbei meine Config.
Die Passwörter habe ich in diesem Beispiel ersetzt. Sonst ist sie original.

attr global userattr devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global logfile /media/usb0/log/fhem-%Y-%m-%d.log
attr global modpath .
attr global motd Error messages while initializing FHEM:\
statefile: Please define ActionDetector first\
Please define ActionDetector first\
Please define ActionDetector first
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 5

define telnetPort telnet 7072 global
attr telnetPort SSL 1
attr telnetPort password MEIN_PASSWORT
define WEB FHEMWEB 8083 global
attr WEB HTTPS 1
attr WEB basicAuth MEINUSERUNDPASSWORTBASE64

define WEBphone FHEMWEB 8084 global
attr WEBphone HTTPS 1
attr WEBphone basicAuth MEINUSERUNDPASSWORTBASE64
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet HTTPS 1
attr WEBtablet basicAuth MEINUSERUNDPASSWORTBASE64
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog /media/usb0/log/fhem-%Y-%m-%d.log fakelog

define autocreate autocreate
attr autocreate filelog /media/usb0/log/%NAME-%Y.log

define eventTypes eventTypes /media/usb0/log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create

# Add CUL Stick
define CUL CUL /dev/ttyACM0@38400 0000
attr CUL rfmode HomeMatic
define CUL_HM_HM_SEC_SC_2_2AE7E1 CUL_HM 2AE7E1
attr CUL_HM_HM_SEC_SC_2_2AE7E1 IODev CUL
attr CUL_HM_HM_SEC_SC_2_2AE7E1 actCycle 028:00
attr CUL_HM_HM_SEC_SC_2_2AE7E1 actStatus alive
attr CUL_HM_HM_SEC_SC_2_2AE7E1 autoReadReg 4_reqStatus
attr CUL_HM_HM_SEC_SC_2_2AE7E1 expert 2_full
attr CUL_HM_HM_SEC_SC_2_2AE7E1 firmware 2.4
attr CUL_HM_HM_SEC_SC_2_2AE7E1 model HM-SEC-SC-2
attr CUL_HM_HM_SEC_SC_2_2AE7E1 room CUL_HM
attr CUL_HM_HM_SEC_SC_2_2AE7E1 serialNr LEQ0504979
attr CUL_HM_HM_SEC_SC_2_2AE7E1 subType threeStateSensor
define FileLog_CUL_HM_HM_SEC_SC_2_2AE7E1 FileLog /media/usb0/log/CUL_HM_HM_SEC_SC_2_2AE7E1-%Y.log CUL_HM_HM_SEC_SC_2_2AE7E1
attr FileLog_CUL_HM_HM_SEC_SC_2_2AE7E1 logtype text
attr FileLog_CUL_HM_HM_SEC_SC_2_2AE7E1 room CUL_HM
define ActionDetector CUL_HM 000000


Ich hoffe, das hilft.
Hardware: BananaPi, Busmaster CUL, SanDisk 16GB Ultra SD, 16 GB USB-Stick | Software: Armbian, FHEM 5.8

Puschel74

Ich würd grundsätzlich erstmal alles mit HHTPS rauswerfen und schauen ob ich überhaupt "normal" drauf komme.
Alles weitere würde ich dann darauf erst aufbauen.
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.