Während der Eingabe kein speichern in fhem.cfg möglich, nach Neustart can't open

Begonnen von Tecra8000, 16 Februar 2017, 20:21:00

Vorheriges Thema - Nächstes Thema

Tecra8000

Hallo,
ich bin am verzweifeln, PI und Fhem lief gut, ich habe noch etwas kosmetik machen wollen, dann beim Speichern "Fehlermeldung so ungefähr nicht möglich wegen Schreibschutz..... Pi neu neugestart, Fhem Webinterface läuft nicht, dann  Fhem Status abgefragt, is running.

In der Fhem. log steht include fhem.cfg und dann can t open Serverport at 7072, die Adresse wird verwendet, sonst nichts.....

Ich hatte noch für einen Test das komplette Fhem Verzeichnis für Fhem unter Windows zum Testen kopiert, das kopierte Fhem  Verzeichnis hat unter Windows funktioniert,  das ich die Hardwarezugriffe unter Windows deaktiviert hatte.

Also habe ich diese Version auf den Pi kopiert (mit aktiven Hardwarezugriffen), leider der selbe Fehler nach Neustart. meine Vermutung ist das das Problem nicht in Fhem liegt, aber wo soll ich suchen, wie soll ich anfangen....

Natürlich habe ich im Forum und Internet nach einer Lösung gesucht aber nichts gefunden.

Über ein paar tolle Tipps würde ich mich sehr freuen.

Viele Grüße
Frank

ph1959de

Zitat von: Tecra8000 am 16 Februar 2017, 20:21:00
... ich habe noch etwas kosmetik machen wollen, ...
Was genau soll man sich jetzt darunter vorstellen?
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

marvin78

Auch wenn du total wirres Zeug schreibst, meine ich raus gelesen zu haben, dass du ein Speicherplatzproblem haben könntest.

Für demnächst: Fehlermeldungen, Logeinträge genau und im Wortlaut posten. Bitte Strutkur in deine Posts bringen, man weiß nicht, was du beim Schreiben gedacht hast.

Tecra8000

Kosmetik = optisch spalten anpassen und die Sendoren in Gruppen zusammen gefasst.

Mit der kopieraktion wollte ich sagen, das ich die vorher funktionierende Fhem Version wieder zurück kopiert habe, aber als komplettes Fhem Verzeichnis  also nicht ein richtiges Backup, gleiche Fehlermeldung...

die Fhem.log hatte ich vor dem letzen Neustart gelöscht, damit nur aktuelle Infos dort stehen.
hier die Eintrage

2017.02.16 20:38:26 1: Including fhem.cfg
2017.02.16 20:38:26 1: telnetPort: Can't open server port at 7072: Die Adresse wird bereits verwendet. Exiting.


Beta-User

klingt für mich nach einem Rechteproblem.

Kannst Du Dich mal per ssh da einloggen und ein "ls -l /opt/fhem/" machen. Da sollte fhem:dialout gesetzt sein.

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Tecra8000

Guten Morgen,

hier ist das Ergebnis:

pi@SmartHome2:~ $ ls -l /opt/fhem/
insgesamt 424
-rw-rw-rw-  1 fhem dialout 183831 Feb 16 06:33 CHANGED
-rw-rw-rw-  1 fhem dialout  34691 Feb 16 06:33 configDB.pm
drwxrwxrwx 39 fhem dialout   4096 Feb  7 21:52 contrib
drwxrwxrwx  3 fhem dialout   4096 Feb  7 21:48 demolog
drwxrwxrwx  4 fhem dialout   4096 Feb  7 21:48 docs
drwxrwxrwx  5 fhem dialout  20480 Feb  8 21:34 FHEM
-rw-r--r--  1 pi   pi        8659 Feb 16 20:00 fhem.cfg
-rw-rw-rw-  1 fhem dialout  15703 Feb 16 06:33 fhem.cfg.demo
-rwxrwxrwx  1 fhem dialout 129579 Feb 16 06:33 fhem.pl
drwxrwxrwx  2 fhem dialout   4096 Feb 16 21:12 log
-rw-rw-rw-  1 fhem dialout    935 Feb 16 06:33 README_DEMO.txt
drwxrwxrwx  4 fhem dialout   4096 Feb  8 21:34 restoreDir
drwxrwxrwx  2 fhem dialout   4096 Feb  7 21:52 unused
drwxrwxrwx  8 fhem dialout   4096 Feb  7 21:48 www

Sorry bin noch Anfänger....

Beta-User

...die fhem.cfg gehört aktuell (user:gruppe) pi:pi.

Ändern:
chown /opt/fhem/fhem.cfg fhem:dialout
(uU. brauchst Du ein "sudo" vorneweg).

Das passiert gerne, wenn man files von einem entfernten Rechner wieder rüberkopiert.

Ein paar Anmerkungen:
- Das direkte Editieren der fhem.cfg ist nicht mehr zu empfehlen, insbesondere für Anfänger. Besser über die FHEMWEB-Oberfläche die einzelnen Geräte bearbeiten. "Kosmetik" ist überflüssig bis riskant ;). Notfalls über die eingebaute Funktion edit files, da gibt es auch eine Syntaxprüfung.
- Ausgaben, lists usw. bitte immer in code-tags verpacken (#-Button oben), siehe dazu und zu weiteren wichtigen Infos zum Forum usw. die oben angepinnten Beiträge im Anfänger-Bereich.
- Für Neulinge gibt es im (deutschsprachigen) Ubuntu-Wiki viele Infos, wie ein (debian-basiertes) Linux (zu denen auch raspbian gehört) so tickt. Hier würde ich mal user- und Gruppenrechte empfehlen und das Thema manpages. Vieles läßt sich 1:1 übertragen.

Viel Erfolg noch,

Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

automatisierer

andersrum...
erst User:Group, dann der Dateiname

sudo chown fhem:dialout /opt/fhem/fhem.cfg

Tecra8000

Hallo an den Rechten lag es nicht, da ich am 2. Pi die Rechte nicht noch einmal angepasst habe.

Als mein 2. Pi der per VPN und UMTS angebunden ist auch die gleichen Probleme bekam viel mir ein das ich einen cronjob alle 59 Minuten laufen lasse, der die Werte für die beiden DHT11 an Fhem liefert.
Pi 1 ist zum Testen und weiter Programmieren, wenn er stabil läuft wird das Update auf den aktiven 2.Pi kopiert.

Die Tests zeigten das bei 99 % der Neustarts kein Zugriff möglich war, obwohl laut Status Fhem lief.

Es gibt jetzt 2 Möglichkeiten.
Entweder ich habe ein Spannungsproblem bei der Abfrage der DHTs, habe aber 2 unterschiedliche Netzteile im Einsatz....
Oder der Cronjob startet ungünstig so das Fhem nicht richtig startet.
Im Fehmlog gab es leider keine Hinweise.

Ich muss jetzt mal sehen wie ich den cronjob verzögert starte.

Oder hat einer schone eine Idee wie ich die Verzögerung programmiere?

Vielen Dank für die Unterstützung
Frank

Beta-User

Zitat von: Tecra8000 am 17 Februar 2017, 06:51:40
-rw-r--r--  1 pi   pi        8659 Feb 16 20:00 fhem.cfg
Das sollte definitif auf "fhem dialout" statt "pi pi" stehen, unabhängig von allen anderen Problemen, die es vielleicht noch gibt >:(

@automatisierer: Danke für's korrigieren, man sollte einfach immer auch nochmal die manpages zu Rate ziehen ::).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Tecra8000

chown /opt/fhem/fhem.cfg fhem:dialout das hatte ich natürlich sofort durchgeführt, brachte aber keine Besserung.

wie es aussieht dem der Cronjob für die DHTs nicht mehr läuft schein wieder alles OK zu sein, ich beobechte weiter.....

nen Tipp für das zeitversetzte Starten des Jobs????....

LG
Frank

Thorsten Pferdekaemper

Zitat von: Tecra8000 am 18 Februar 2017, 17:37:41
Oder der Cronjob startet ungünstig so das Fhem nicht richtig startet.
Das habe ich nicht kapiert. Kannst Du das mal erklären? Startest Du FHEM immer wieder neu? Wenn ja: Wozu?
Gruß,
   Thorsten
FUIP

Beta-User

Zitat von: Tecra8000 am 18 Februar 2017, 18:12:43
chown ... das hatte ich natürlich sofort durchgeführt, brachte aber keine Besserung.
Hi Frank,

hat das in der Form wirklich funktioniert?

Wie automatisierer geschrieben hat, hatte ich versehentlich die Parameter vertauscht, vermutlich braucht es auch sudo. Mach besser nochmal ein ls -l und nimm erforderlichenfalls den korrekten Befehl:
sudo chown fhem:dialout /opt/fhem/fhem.cfg
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Tecra8000

So um mal ein etwas mehr Klarheit hier zu bringen.

Das ich sehr viel Zeit bei der UMTS VPN zu meiner Kabel Fritzbox verloren habe (es lag daran das mich Kabel D auf IPV6 umgestellt hatte), fehlte mir am Ende die Zeit um den Pi / Fhem zu testen und weiter einzurichten. Da ich Anfang Dezember bis Ende Januar ins Ausland musste.
Also habe ich 2 Tage vor Abflug in 250 KM Entfernung alles angeschlossen.
Um etwas mehr Sicherheit reinzubringen, fahre ich zur Zeit den Pi um 6:00 softwaretechnis runter und umv 6:30 schalte eine Schaltuhr den Pi aus und an.

Also wenn er sich weg hängen sollte bekomme ich ihn morgens wieder.
Hat auch so perfekt und stabil funktioniert.

Was aktuell läuft ist relativ einfach. 8 Relais können geschaltet werden, 8 kabelgebunden Temperatursensoren und die 2 DHT11s die nur über Linux zu erreichen waren bzw. auszulesen.

Meine Probleme fingen wohl mit dem Cronjob die die DHTs auslesen und in Fhem schreiben. Seit der Deaktivierung laufen die beiden Pi wieder stabil.

SmartHome2 ist meine Testumgebung hier.

Hier noch einmal die aktuellen Rechte:
pi@SmartHome2:~ $ ls -l /opt/fhem/
insgesamt 440
drwxr-xr-x  2 fhem dialout   4096 Feb 17 21:23 backup
-rw-rw-rw-  1 fhem dialout 183831 Feb 16 06:33 CHANGED
-rw-rw-rw-  1 fhem dialout  34691 Feb 16 06:33 configDB.pm
drwxrwxrwx 39 fhem dialout   4096 Feb  7 21:52 contrib
drwxrwxrwx  3 fhem dialout   4096 Feb  7 21:48 demolog
drwxrwxrwx  4 fhem dialout   4096 Feb  7 21:48 docs
drwxrwxrwx  5 fhem dialout  20480 Feb  8 21:34 FHEM
-rw-r--r--  1 fhem dialout   8434 Feb 17 21:18 fhem.cfg
-rw-rw-rw-  1 fhem dialout  15703 Feb 16 06:33 fhem.cfg.demo
-rw-rwxr-x  1 fhem dialout   8668 Feb 17 19:18 fhem.cfg.ok
-rwxrwxrwx  1 fhem dialout 129579 Feb 16 06:33 fhem.pl
drwxrwxrwx  2 fhem dialout   4096 Feb 17 19:33 log
-rw-rw-rw-  1 fhem dialout    935 Feb 16 06:33 README_DEMO.txt
drwxrwxrwx  4 fhem dialout   4096 Feb  8 21:34 restoreDir
drwxrwxrwx  2 fhem dialout   4096 Feb  7 21:52 unused
drwxrwxrwx  8 fhem dialout   4096 Feb  7 21:48 www


Es muss doch aber auch möglich sein die DHTs über fhem direkt auszulesen.

Ohne das man einen cronjob laufen lässt oder?


# DHT11 alle 30 min lesen
*/30 *  * * * root    /usr/local/sbin/fhem-dht
irgend wie in Fhem umgesetzt

Ps ich war jetzt auch noch nicht wieder dort. Wenn zur Zeit nur Remote
LG Frank

Thorsten Pferdekaemper

Zitat von: Tecra8000 am 19 Februar 2017, 18:58:35
Es muss doch aber auch möglich sein die DHTs über fhem direkt auszulesen.
Ohne das man einen cronjob laufen lässt oder?
Z.B. über einen Arduino und mySensors...?
Statt des Cronjobs könntest Du das Skript von fhem aus mit einem at starten. Dann startet es bestimmt erst, wenn fhem auch da ist.
...oder man übersetzt das, was in dem Skript steht, gleich auf Perl und macht es direkt von fhem aus. Natürlich ohne telnet-Kram am Ende, sondern setzt direkt ein Reading.
Gruß,
   Thorsten
FUIP