Nach Update "Error message while initializing FHEM"

Begonnen von Leinad, 02 August 2015, 16:25:12

Vorheriges Thema - Nächstes Thema

Leinad

Nachdem ich heute ein Update gemacht habe, bekomme ich nach einem "shutdown restart" folgende Meldung angezeigt:

Error messages while initializing FHEM:
configfile: 0
parameter illegal -

Im Log steht leider auch nicht viel mehr.

Wie ist die Fehlermeldung zu verstehen? Ist in der fhem.cfg irgendwo ein - zuviel?

franky08

Ist deine fhem.cfg beschädigt oder nicht lesbar oder ein Rechte Problem? Geh mal mit ssh drauf und sieh nach ob die fhem.cfg OK ist oder lad zum testen mal die demo fhem.cfg.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Leinad

#2
Danke für die schnelle Antwort.

Etwas ernstes scheint es nicht zu sein. Meine Config funktioniert wie gehabt.

Nur diese Fehlermeldung wird angezeigt und den Fehler hätte ich gerne gefunden und behoben.


Ich habe das Gefühl, dass es irgendwie mit fhem.save zusammen hängt.
Kann das sein? Muss mich mal einlesen.

misave

Hallo zusammen,

ich habe gestern auch diesen Fehler im Logfile gefunden nach einem update. Das update selber lief sehr lange, obwohl ich es regelmäßig mache.

Zitat von: Leinad am 02 August 2015, 16:25:12
Nachdem ich heute ein Update gemacht habe, bekomme ich nach einem "shutdown restart" folgende Meldung angezeigt:

Error messages while initializing FHEM:
configfile: 0
parameter illegal -

Im Log steht leider auch nicht viel mehr.

Wie ist die Fehlermeldung zu verstehen? Ist in der fhem.cfg irgendwo ein - zuviel?

Mal eben die demo cfg laden traue ich mich nicht, weil ich noch nicht verstehe, wie die demo anstelle meiner eigenen cfg. dann arbeitet. Es ist klar, dass die demo keines meiner Geräte kennen kann und umgekehrt ich keines der Geräte aus der demo cfg kenne.

das FHEM läuft aber trotzdem fast wie vorher. Es stört aber dieser Eindruck, dass etwas nicht stimmt.

Michael aus Jüchen

Raspi 2, 2XHMLan, SCC Busware, diverse HM und FS20 Komponenten,
Rpi 3 mit Buster lite und FHEM 6.0
IoBroker auf separatem Raspi 2, zig bee CONZ Stick, Nextcloud auf raspi2

Leinad

Meine FHEM Installation hat sich über Nacht selbst repariert... Fehler ist wieder weg.
Warum und worann es gelegen hat wüsste ich auch gerne.

Mein Update hat vorher jedenfalls auch sehr lange gedauert...?

Puschel74

@misave
ZitatMal eben die demo cfg laden traue ich mich nicht, weil ich noch nicht verstehe, wie die demo anstelle meiner eigenen cfg. dann arbeitet. Es ist klar, dass die demo keines meiner Geräte kennen kann und umgekehrt ich keines der Geräte aus der demo cfg kenne.

Keine Panik.
Einfach per ssh auf dem RasPi einloggen -
fhem beenden mit
/etc/init.d/fhem stop
Nach opt/fhem wechseln
cd opt/fhem
die fhem.cfg umbenennen
mv fhem.cfg fhem_old.cfg
Aus der fhem.cfg.demo die fhem.cfg machen
mv fhem.cfg.demo fhem.cfg
(sollte ein Fehler permission denied kommen dann den Befehl/die Befehle nochmal mit sudo vorne dran eingeben).
Danach ein
/etc/init.d/fhem start
und schauen was passiert.

Keine Angst - deine Konfig bleibt erhalten da du sie ja umbenannt hast.

Evtl. wäre es auch noch schlau das Logfile vorher umzubenennen oder zu sichern damit du dann auch den Logfileinhalt der Demo-Konfig in einem eigenen Logfile hast.
Da ich die Demo noch nie benutzt habe (und auch nicht in die Konfig geschaut habe) weiß ich nicht ob nicht ein eigenes Logfile erstellt wird.

Wenn du alles hast und fertig bist einfach nochmal das ganze durchmachen und nur die Dateinamen entsprechend anpassen.
Erst aus der fhem.cfg die fhem.cfg.demo machen  ;)

Und dann mal schön langsam anfangen sich mit Linux zu befassen und vielleicht doch mal so den einen oder anderen "älteren" Beitrag neugierigerweise durchlesen.
Gerne auch mal ein paar Suchbegriffe durchprobieren und ein bischen einlesen.
Evtl. findest du ja so ein paar "Denkanstösse"  8)
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.

misave

Hallo Puschel,

so ähnlich hatte ich mir das schon gedacht. Da ich aber drei Raspi2 betreibe werde ich auf einem der anderen ein FHEM zur Demo laufen lassen. Ich kann dann immer mal im anderen FHEM nachschauen, wie etwas in der Demo gelöst wurde. Linux kenne ich schon ein bischen, zumindest was Rechteverwaltung (chmod) und die kleinen anderen Fallstricke betrifft. Gelesen habe ich schon sehr viel, bevor ich überhaupt hier eine Frage gestellt habe. In meinem anderen Hobby (Motorrad fahren) war ich ein aktiver Schreiber und Beantworter in dem Forum dazu. Habe auch Treffen von Motorrad-Fahrern organisiert und einen Stammtisch aufgebaut.

Was mir noch fehlt ist ein klares Bild der vielen "Sonderzeichen"/Steuerzeichen für Perl und fhem in notify at oder DOIF. Ich weiß, dass in der fhemweb-Zeile in der Regel keine escape-Zeichen gesetzt werden, diese werden beim Abspeichen automatisch in der Zeile eingesetzt. Wenn dann jemand ein Beispiel aus seiner config hier postet sind escape Zeichen drin oder auch Zeilenumbrüche. wenn man diesen Befehl dann aber in der Kommandozeile einträgt wird es nicht klappen und dann als Anfänger den Grund finde ist schwierig. Deshalb habe ich ja ein einfache Beispiel (sende mir die Helligkeit im Raum jeden Tag um 15:30 versucht, aber irgendwas ist falsch). wenn Du noch Lust hast kannst Du ja mal in den Beitrag dazu von mir reinschauen.

Danke für deine Mühe.
Michael aus Jüchen

Raspi 2, 2XHMLan, SCC Busware, diverse HM und FS20 Komponenten,
Rpi 3 mit Buster lite und FHEM 6.0
IoBroker auf separatem Raspi 2, zig bee CONZ Stick, Nextcloud auf raspi2

Wernieman

Kleine Hinweise:

1. wenn, wie Puschel74 sagt, beim Verschieben der fhem.cfg ein "sudo" erforderlich ist, sollten die rechte geprüft werden.
Die Datei sollte dem user gehören, unter dem fhem läuft (normalerweise fhem).

Prüfen unter welchem user fhem läuft, in der ersten Spalte:
$ ps aux | grep [f]hem
fhem      1457  0.3  0.9 170128 79252 ?        S    Aug03   2:36 perl fhem.pl fhem.cfg


Prüfen, wem die Datei "fhem" gehört:
$ ls -lha /opt/fhem/fhem.cfg
-rw-rw-r-- 1 fhem fhem 15K Aug  3 18:31 /opt/fhem/fhem.cfg


Wichtig: 1. es sollte gleich am Anfang rw stehen (lesen/schreiben) und 2. fhem gehören. Die Gruppe (hier auch fhem) ist nicht so relevant.

2. Weil es so wichtig ist, gleich dazu:
Eine Kopie der fhem.cfg ist IMMER wichtig! In diesem Falle wäre sogar eine Kopie des Kompletten fhem Ordners (sofern Platz vorhanden) interessant!

Deshalb würde ich beim rückspielen nicht mv (verschieben), sondern cp (kopieren) verwenden. So hat man wenigstens "mal" ein Backup (Auch wenn man eigentlich ein regelmäßiges, automatisch durchgeführtes benötigt).

Nur mal als Kleine Hinweise :o)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

misave

Hallo,

@Wernieman:

ich habe nun die demo auf meinem zweiten raspi installiert. Sieht schick aus, aber es sind alles andere devices als ich derzeit habe. Trotzdem kann man gut gucken. Ich habe auf beiden Systemen auf dem raspi nun nachgesehen, wem die Datei gehört. bei beiden kommt als Antwort -rw-rw-rw- 1 fhem root 23K Aug  5 13:54 /opt/fhem/fhem.cfg.

bedeutet das fhem root nun, dass die Datei fhem als user gehört und auch in der Gruppe root ist? oder umgekehrt? und wenn es so ist, ist das ja nicht schlimm? ich habe zumindest nicht gemerkt, dass etwas nicht klappt.
Michael aus Jüchen

Raspi 2, 2XHMLan, SCC Busware, diverse HM und FS20 Komponenten,
Rpi 3 mit Buster lite und FHEM 6.0
IoBroker auf separatem Raspi 2, zig bee CONZ Stick, Nextcloud auf raspi2

Wernieman

Die Datei gehört dem User fhem und der Gruppe root.

jetzt kommt es noch auf die Berechtigung an. Wenn fhem die Datei lesen/schreiben darf, ist alles O.K.

Gut wäre es aber eigentlich, wenn es auch die richtige Gruppe ist, das ist aber eher im Bereich "Schönheitsfehler" zu suchen. Also in Deinem Falle: "Newer Change a Running System"

(Wobei ich es trotzdem Ändern würde ;o) )
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

misave

Hallo Werniemann

auf meinen beiden Pis mit fhem gibt es keine Gruppe FHEM! demzufolge kann sie auch nicht in den Rechten an der Datei aufgeführt werden. In der Gruppendatei von Debian (/etc/group) hat der user fhem nur einen Eintrag in tty, sonst nirgendwo, auch nicht bei root oder sonstwo. Ich kann mich auch nicht erinnern, dass ich einen user fhem angelegt hätte. in der /etc/passwd wird der user fhem angezeigt aber mit dem Eintrag bin/false, also kann er sich nicht über ein Terminal anmelden.

Wenn also die Gruppe Root eingetragen ist, kann dann jedes Gruppenmitglied von root das fhem starten bzw. die cfg ändern? ich bin da nicht ganz sicher.....
Michael aus Jüchen

Raspi 2, 2XHMLan, SCC Busware, diverse HM und FS20 Komponenten,
Rpi 3 mit Buster lite und FHEM 6.0
IoBroker auf separatem Raspi 2, zig bee CONZ Stick, Nextcloud auf raspi2

Puschel74

#11
Zitat von: misave am 05 August 2015, 17:41:38
Wenn also die Gruppe Root eingetragen ist, kann dann jedes Gruppenmitglied von root das fhem starten bzw. die cfg ändern? ich bin da nicht ganz sicher.....
Die Gruppe root sowie logischerweise dessen Mitglieder können immer alles - fast immer aber sie haben zumindest die Rechte um sich die Erlaubnis, alles zu machen, aneignen zu können.
Das Betriebssystem geht logischerweise davon aus das root auch weiß wie er das machen muss wenn er alles machen muss  ;)
Und auch das er weiß was er wie machen soll (und was besser nicht)  ::)

Aber ja, root darf dein FHEM starten und beenden und natürlich auch die Konfig sowie jede andere Datei ändern oder löschen oder umbenennen, verschieben ... und natürlich auch FHEM selbst löschen oder verschieben oder ...
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.

misave

In der Gruppe root sind aber keine user eingetragen, oder meinst du nicht eher die gruppe sudoers, nämlich diejenigen die sich per Sudo su root-Rechte holen dürfen?

ich verstehe es nun so, dass die fhem-Installation dem user fhem gehört, er hat zusätzlich einen Eintrag in tty (also darf die serielle Schnittstelle des Pi nutzen).

Und ich achte hier auch auf die "blöden" ( ; { &

Bis bald mal.
Michael aus Jüchen

Raspi 2, 2XHMLan, SCC Busware, diverse HM und FS20 Komponenten,
Rpi 3 mit Buster lite und FHEM 6.0
IoBroker auf separatem Raspi 2, zig bee CONZ Stick, Nextcloud auf raspi2

Wernieman

1. Jeder Unix-User hat eine User und eine Group-ID

z.B. auf meinem System steht für fhem in der passwd:
# grep fhem /etc/passwd
fhem:x:999:1000::/opt/fhem:/bin/false


Also:
1. Der User lautet fhem (Klar? ;o) )
2. Kein Passwort (x)
3. Group-ID = 1000, er ist also der Gruppe 1000 zugehörig
4. hier Unwichtig
5. Sein Homeverzeichnis ist /opt/fhem (Wichtig)
6. Beim Einloggen zugewiesene shell ist /bin/false, damit darf er sich nicht einloggen

Wenn ich jetzt (auf Meinem) System gucke, was die Gruppe 1000 ist:
# grep 1000 /etc/group
fhem:x:1000:

Dann gehört (bei mir) der User der Gruppe fhem an. Kann bei Dir anders sein, muß aber nicht. Ich glaube aber, normalerweise ist die Standartgruppe für fhem "dialout"

Der User fhem kann dann auch noch andere Gruppenzugehörigkeiten haben. z.B. bei mir:
# grep fhem /etc/group
tty:x:5:fhem
dialout:x:20:fhem
usb:x:85:fhem
fhem:x:1000:
bluetooth:x:125:fhem


Hinter diesen Gruppen gibt es dann besondere Berechtigungen.
(Was ich gerade merke: Muß mal wieder die Gruppen aufräumen)

Noch etwas:
Der User root ist etwas besonderes in einem Unix System, die Gruppe roo0t dagegen .... nur weil man in der Gruppe root ist, hat man nicht automatisch "Alle root supersonder rechte".

Dieses mal als Kurze (und sehr vereinfachte) Zusammenfassung der User/Group-IDs unter Unix.

Für Tieferes Verständnis, gehe bitte einen pasenden Unix (Linux) Kurs durch. Gibt auch genug Doku im I-Net, es sprengt nur den Rahmen dieses Forums
User root mit User-ID 0 ist eben ein besonderer User. Aber eher wegen der User-ID 0 als wegen des Namens. Schließlich muß nach dem Booten eines Systemes alles gestartet werden und unter einem guten Betriebsystem geht kein Start ohne User!
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

misave

Hallo,

Die Zuordnung bei dir:
Der User fhem kann dann auch noch andere Gruppenzugehörigkeiten haben. z.B. bei mir:

# grep fhem /etc/group
tty:x:5:fhem
dialout:x:20:fhem
usb:x:85:fhem
fhem:x:1000:
bluetooth:x:125:fhem


Und bei hat fhem nur die Zugehörigkeit zu tty. USB braucht er nicht, weil ich ein SSC benutze, Bluetooth habe ich nicht installiert, dialout na ja.  Gruppennummern kleiner 100 sind ja für systemgruppen.

Demnach müsste alles so weit passen.
Michael aus Jüchen

Raspi 2, 2XHMLan, SCC Busware, diverse HM und FS20 Komponenten,
Rpi 3 mit Buster lite und FHEM 6.0
IoBroker auf separatem Raspi 2, zig bee CONZ Stick, Nextcloud auf raspi2