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?
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
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.
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.
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...?
@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)
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.
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)
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.
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) )
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.....
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 ...
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.
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!
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.
Kannst Du bitte "code"-Tags verwenen? Machen es lbar
Und was ist jetzt von mir und was von Dir? Bitte auch das Zitattag "quote" benutzen ..
sorry, aber ich verstehe Deinen Beitrag überhaupt nicht ...
Hallo Werniemann,
hast Recht mit der Zuordnung dir und mir:
Du hast geschrieben, dass es bei Dir im System heisst:
Zitat
# grep fhem /etc/group
tty:x:5:fhem
dialout:x:20:fhem
usb:x:85:fhem
fhem:x:1000:
bluetooth:x:125:fhem
Im Gegensatz dazu ist in meinem System der User FHEM nur in der Gruppe tty eingetragen. EInen Eintrag in der Gruppe Bluetooth benötige ich nicht weil kein Bluetooth auf dem raspi läuft, ebenso kein Eintrag in usb nötig weil ich einen HMLan Adapter und einen SCC benutze und keine USB-Komponenten, die Gruppe dialout weiß ich nicht genau. Demnach müsste meine Installation so weit ok sein, außer dass für die FHEM_Datei die Gruppe root eingetragen ist.
Mein Kommentar sollte also nur bestätigen, dass ich Deine Hinweise zu den Gruppen usw. richtig verstanden habe.
Ich wollte Dich nicht verwirren.
P.S. ein Standard ubuntu (Debian) hat keine Gruppe usb, die habe ich mir gebastelt für "User", die USB-Berechtigung brauchen. :)
Deshalb war übrigens auch mein Beispiel nicht als Vergleich gedacht,sondern eher, wie die Ausgaben der Angegebenen Unix-Befehle zu verstehen sind. 8)
Hi,
also ich habe den Fehler auch - und bei mir repariert sich leider nichts über Nacht oder mit einem nächsten Update. Dass der Updateprozess jedoch teilweise sehr lange dauert kann ich bestätigen. Hier mal ein Auszug aus meinem Log beim Starten:
2015.08.08 12:11:12 0: Server shutdown
Use of uninitialized value $serverbin in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 63.
Scalar value @uptime[0] better written as $uptime[0] at ./FHEM/99_RpiUtils.pm line 19.
Scalar value @speicher[0] better written as $speicher[0] at ./FHEM/99_RpiUtils.pm line 77.
Scalar value @speicher[0] better written as $speicher[0] at ./FHEM/99_RpiUtils.pm line 80.
Scalar value @speicher[0] better written as $speicher[0] at ./FHEM/99_RpiUtils.pm line 83.
"my" variable $fs_desc masks earlier declaration in same scope at ./FHEM/99_RpiUtils.pm line 106.
"my" variable $used masks earlier declaration in same scope at ./FHEM/99_RpiUtils.pm line 106.
Scalar value @filesystems[0] better written as $filesystems[0] at ./FHEM/99_RpiUtils.pm line 106.
2015.08.08 12:11:17 1: Including fhem.cfg
2015.08.08 12:11:17 3: localTelnet: port 7075 opened
2015.08.08 12:11:17 3: telnetPort: port 7072 opened
2015.08.08 12:11:18 3: WEB: port 8083 opened
Prototype after '@' for main::Text2Speech_SplitString : @$$$$ at ./FHEM/98_Text2Speech.pm line 465, <$fh> line 25.
2015.08.08 12:11:19 3: WEBphone: port 8084 opened
2015.08.08 12:11:19 3: WEBtablet: port 8085 opened
2015.08.08 12:11:19 3: Opening CCD device /dev/ttyAMA0
2015.08.08 12:11:20 3: Setting CCD serial parameters to 38400,8,N,1
2015.08.08 12:11:20 3: CCD device opened
2015.08.08 12:11:20 3: CCD: Possible commands: mCFiAZGMRTVWXefltux
2015.08.08 12:11:20 2: Switched CCD rfmode to HomeMatic
2015.08.08 12:11:21 3: [STV] defined with host: 192.168.178.25 port: 55000 MAC: b8:27:eb:0a:d8:20
2015.08.08 12:11:22 3: Opening Fritz device 192.168.178.1:1012
2015.08.08 12:11:22 3: Fritz device opened
2015.08.08 12:11:25 3: parameter illegal -
2015.08.08 12:11:27 1: Including ./log/fhem.save
2015.08.08 12:11:28 1: configfile: parameter illegal -
2015.08.08 12:11:28 3: set CCD raw l00
2015.08.08 12:11:28 2: Error messages while initializing FHEM: configfile: parameter illegal -
2015.08.08 12:11:28 0: Featurelevel: 5.6
2015.08.08 12:11:28 0: Server started with 56 defined entities (version $Id: fhem.pl 9002 2015-07-29 05:46:10Z rudolfkoenig $, os linux, user fhem, pid 24422)
2015.08.08 12:11:28 1: 192.168.178.25:55000 reappeared (myTV)
Sieht so aus als kommt das nach dem Einloggen in der Fritzbox ?