Smartvisu - Einträge GAD Liste leer nach Neustart

Begonnen von Thargor, 18 April 2015, 07:02:12

Vorheriges Thema - Nächstes Thema

Thargor

Hiiiilfe ...

nach einem Neustart von FHEM sind alle Einträge in der GAD-Liste leer, obwohl die entsprechende cfg Datei in [...]/www/fronthem/server/meinfronthem noch vorhanden und dort die Einträge korrekt sind. Wie kann ich die Liste wieder einlesen? Alles wieder händisch in FHEM eintippen macht nicht wirklich Spaß ... Ich bin also für jede Hilfe dankbar!

Wie kann denn sowas passieren?

Gruß Lars

herrmannj

Hallo Lars,

eigentlich überhaupt nicht - Ausnahmen inbegriffen.

Neustart meint einen kompletten fhem Neustart ? (nicht re-read und co)
Mit welchem user läuft fhem ?
Wer ist Besitzer der server cfg, welche Rechte ?
Hast Du evl die server cfg händisch angepasst ? (Hintergrund: wenn da syntaxfehler drin sind wird die verworfen neu erstellt)

vg
jörg 

Thargor

#2
Zitat von: herrmannj am 18 April 2015, 09:58:45
Neustart meint einen kompletten fhem Neustart ? (nicht re-read und co)
Mit welchem user läuft fhem ?
Wer ist Besitzer der server cfg, welche Rechte ?
Hast Du evl die server cfg händisch angepasst ? (Hintergrund: wenn da syntaxfehler drin sind wird die verworfen neu erstellt)

Ja, ich hatte fhem mit shutdown beendet und später (am nächsten Tag, es ging über MItternacht) dann wieder neu gestartet.
fhem läuft mit root rechten.
Hm ... da ich nicht weiß was die Server.cfg ist, nein, da habe ich nichts händisch geändert. Wo finde ich denn die server.cfg? Ist das die Datei mit der GAD Liste?
Wann wird denn die GAD Liste eingelesen? Kann es sein, dass er irgendwie im falschen Verzeichnis sucht?

Vielen Dank!
Gruß Lars

herrmannj

ZitatKann es sein, dass er irgendwie im falschen Verzeichnis sucht?
denk ich eher nicht - speichern scheint ja zu funktionieren. Wie gesagt, kannst ir die gern per pm schicken - ich schau mal.

vg
jörg

Thargor

Alles sehr mysteriös. Ich hab auch eine alte cfg-Datei mit weniger Einträgen aus einem Backup probiert. Klappte nicht. GAD Liste leer und erst wenn man ein Frontend verbindet werden die GADs augefüllt.

Jetzt habe ich gerade ein Update gemacht und schwupps geht es wieder. Geupdatet wurde:
UPD ./CHANGED
2015.04.18 21:39:20 1: UPD ./fhem.pl
2015.04.18 21:39:20 1: UPD FHEM/00_MAXLAN.pm
2015.04.18 21:39:21 1: UPD FHEM/00_SONOS.pm
2015.04.18 21:39:21 1: UPD FHEM/00_TCM.pm
2015.04.18 21:39:22 1: UPD FHEM/01_FHEMWEB.pm
2015.04.18 21:39:22 1: UPD FHEM/10_CUL_HM.pm
2015.04.18 21:39:23 1: UPD FHEM/10_EnOcean.pm
2015.04.18 21:39:24 1: UPD FHEM/10_IT.pm
2015.04.18 21:39:24 1: UPD FHEM/10_MAX.pm
2015.04.18 21:39:24 1: UPD FHEM/10_ZWave.pm
2015.04.18 21:39:24 1: UPD FHEM/14_CUL_TCM97001.pm
2015.04.18 21:39:25 1: UPD FHEM/21_SONOSPLAYER.pm
2015.04.18 21:39:25 1: UPD FHEM/30_LIGHTIFY.pm
2015.04.18 21:39:25 1: UPD FHEM/31_HUEDevice.pm
2015.04.18 21:39:25 1: UPD FHEM/34_SWAP.pm
2015.04.18 21:39:25 1: UPD FHEM/36_PCA301.pm
2015.04.18 21:39:26 1: UPD FHEM/55_GDS.pm
2015.04.18 21:39:26 1: UPD FHEM/73_km200.pm
2015.04.18 21:39:26 1: UPD FHEM/91_eventTypes.pm
2015.04.18 21:39:26 1: UPD FHEM/92_FileLog.pm
2015.04.18 21:39:27 1: UPD FHEM/93_FHEM2FHEM.pm
2015.04.18 21:39:27 1: UPD FHEM/98_DOIF.pm
2015.04.18 21:39:27 1: UPD FHEM/98_Heating_Control.pm
2015.04.18 21:39:27 1: UPD FHEM/98_SVG.pm
2015.04.18 21:39:27 1: UPD FHEM/98_WeekdayTimer.pm
2015.04.18 21:39:28 1: UPD FHEM/HMConfig.pm
2015.04.18 21:39:28 1: UPD FHEM/RESIDENTStk.pm
2015.04.18 21:39:28 1: UPD FHEM/SubProcess.pm
2015.04.18 21:39:28 1: UPD docs/commandref_frame.html
2015.04.18 21:39:29 1: UPD docs/commandref_frame_DE.html
2015.04.18 21:39:29 1: UPD www/pgm2/alarm.js
2015.04.18 21:39:29 1: UPD www/pgm2/darkCommon.css
2015.04.18 21:39:29 1: UPD www/pgm2/darkstyle.css
2015.04.18 21:39:29 1: UPD www/pgm2/dashboard_darkstyle.css
2015.04.18 21:39:29 1: UPD www/pgm2/defaultCommon.css
2015.04.18 21:39:29 1: UPD www/pgm2/fhemweb_sortable.js
2015.04.18 21:39:30 1: UPD www/pgm2/fhemweb_uzsu.js
2015.04.18 21:39:30 1: UPD www/pgm2/ios7Common.css
2015.04.18 21:39:30 1: UPD www/pgm2/ios7style.css

Ich kann mir aber nicht vorstellen, dass es an den neuen Dateien liegt, es hat ja vorher auch funktioniert. Wird da noch etwas Anderes beim Update gemacht? Wie gesagt, sehr sehr mysteriös für mich.


marvin78

Das kommt darauf an, wie alt deine Version vorher war. Im Bereich FHEMWEB hat sich in den letzten Montaten viel getan. Hier werden Änderungen im Bereich JavaScript die Verantwortlichen sein.

Thargor

Zitat von: marvin78 am 19 April 2015, 07:07:35
Das kommt darauf an, wie alt deine Version vorher war. Im Bereich FHEMWEB hat sich in den letzten Montaten viel getan. Hier werden Änderungen im Bereich JavaScript die Verantwortlichen sein.

FHEM war allerhöchstens 2 Wochen nicht mehr geupdatet, ausserdem lief es ja bis dahin wunderprächtig ...

Thargor


Ich hatte das Problem nun übrigens wiederholt. Ein "shutdown restart" hilft nicht. Ein "Update" hilft nur, wenn es auch etwas zum Updaten gibt. Ich mache jetzt immer ein update force von fronthem. Nach dem Neustart ist dann die Liste wieder gefüllt. Da sich ja dabei prinzipiell nichts an den Dateien ändert, muss der "Fix" während oder nach dem Update passieren. Wird da ein Reload oder noch eine andere Aktion aufgerufen, die irgendwas "resettet"?

herrmannj

Hi

Du hattest mir deine gadliste geschickt ich hab die aber zu spät gesehen. Sorry

Ein update verändert definitiv nichts an der konfig. Du musst mit shutdown restart exakt das gleiche Ergebnis bekommen.

Vg
Jörg

Thargor

Zitat von: herrmannj am 07 Mai 2015, 20:13:52
Ein update verändert definitiv nichts an der konfig. Du musst mit shutdown restart exakt das gleiche Ergebnis bekommen.

Vielleicht nochmal genauer:
Wenn meine GAD Liste leer ist, dann ist die Konfigdatei auch noch da und korrekt. Dann hilft ein Shutdown restart nicht. Aber ein update force hilft.
Also wird irgendwas beim Update (force) gemacht, dass über Datei abrufen und kopieren hinausgeht (denn ich habe ja schon die gleiche Version auf der Platte vor dem update). Und dieses "irgendwas" sorgt dafür, dass meine GAD Liste nach einem anschliessenden shutdown restart wieder da ist.

daniel85

Gibt es hier eine Lösung ??

Habe das gleiche Problem. Die liste ist in FHEM leer nach einem neustart.
In der Server.cfg sind jedoch noch die Einträge korrekt vorhanden!
Also das schreiben funktioniert wohl.

Thargor

Bei mir leider nicht.
Ich update aber immer nur noch eine Datei, z.B: update 00_ZWDongle.pm und mache danach ein shutdown restart.



daniel85

hmmm sind wir denn die einzigen mit dem problem ??????
wäre ja cool wenn jmd, erklären könnte wo das auslesen der Dateien mit der gespeicherten liste statt findet. Dann könnte man mal weiter nachfroschen

dev0


Zitat von: daniel85 am 19 März 2016, 20:48:31
hmmm sind wir denn die einzigen mit dem problem ??????
Sieht so aus.
Gelesen wird die .cfg in 01_fronthem.pm, fronthem_ReadCfg(@)

herrmannj

yepp.

Mit dem update seid Ihr recht sicher auf einem Holzweg. Das aktuelle ReadCfg ist nicht schön ...

Wenn Ihr suchen möchtet:

Ich vermute Probleme mit dem json. Dann müsstet ihr aber (line#377) eine Fehlermeldung im log finden die sagt warum.

vg
joerg

daniel85

omg...hab das problem gefunden.

in der 01_fronthem wird in der variable $cfgFile immer der pfad als ./www/fronthem/usw angegeben bzw. genutzt.
nur bei der funktion readcfg steht  $cfgFile = "/opt/lib/www/fronthem/server/$hash->{NAME}/$cfgFile"


das ist natürlich je nach Installation unterschiedlich. bei mir liegt alles im ordner /opt/fhem

Es wundert mich doch daher sehr das sonst niemand das Problem hatte oder alle haben diesen pfad zufällig korrekt.  Sollte vllt angepasst werden und einheitlich gehalten werden ;)

Thargor


Also bei mir steht da:
# $Id: 01_fronthem.pm 21 2015-02-13 20:25:09Z. herrmannj $
my $cfgFile = AttrVal($hash->{NAME}, 'configFile', "fhserver.$hash->{NAME}.cfg");
$cfgFile = "./www/fronthem/server/$hash->{NAME}/$cfgFile";

Schade, hatte mich schon gefreut.

herrmannj

Doch, möglich. Ist ein bug. (Danke!)

Wenn Du das attrib configFile setzt wird das von write richtig, von read falsch behandelt.

Das: $cfgFile = "./www/fronthem/server/$hash->{NAME}/$cfgFile"; gehört gelöscht.

Darüber hinaus bleiben Berechtigungen und JSON (UTF8) Probleme als mögliche Fehlerquelle. Dafür müsste es dann eine log eintrag geben

vg
joerg

Thargor


Also ich hab kein Attriburt Configfile gesetzt.

Wenn ich in Zeile 359 die Logmeldung aktiviere, dann lese ich jetzt:
Error loading cfg file Inappropriate ioctl for device

Lustigerweise klappt es aber gerade trotzdem.

Ansonsten sehe ich keine weitere Logmeldung.

Gruß Lars

herrmannj

ne, die in #359 ist auskommentiert weil nutzlos. Der eval block wird durchlaufen wenn das öffnen klappt. ...

vg
joerg

Thargor


Wenn ich #353 auskommentiere, wird bei mir dann der Block #359 nicht mehr durchlaufen und die Liste ist zwar da, aber die Zuordnung zu den Devices fehlt. Also hab ichs wieder einkommentiert.

Vielleicht probiere ich mal das Atribut zu setzen.

herrmannj

oh!

Dann würde ich eher untersuchen warum das eval *nicht* durchlaufen wird.

Aber wie gesagt, die read and write sind eh doof. Vmtl wird #359 raus und attrib setzen (Schreibrechte beachten!) helfen.

vg
joerg

the ratman

ich nehme mal an, dass mein "problem" auch hierher gehört.

festgestellt hab ich folgendes:
wenn ich in der config von fhem direkt was eintrage, dann geht nach dem abspeichern derselben smartvisu nicht mehr. sehr selten passiert das auch bei einem update von fhem. aber nur, wenn elend viel upzudaten is. scheint also irgendiwe zeitkritisch zu sein.
das zeigt sich dann darin, dass alle in smartvisu erlaubten geräte keine gads mehr haben.

ich hab dann mal genervt aufgegeben, eine lösung zu finden und starte einfach meinen raspi neu. dann sind wieder alle gads da.
ich glaub, einmal hat auch der neustart meines webservers geholfen, auf dem smartvisu rennt. das konnt ich aber nie wieder reproduzieren.
was 100% sicher nicht hilft, is n restart von fhem oder des fronthem moduls, auch das neue einlesen der cfg ist eher sinnlos.
→do↑p!dnʇs↓shit←

dev0

Zitat von: the ratman am 27 März 2016, 11:10:52
wenn ich in der config von fhem direkt was eintrage, dann geht nach dem abspeichern derselben smartvisu nicht mehr.
- Das Verhalten ist seit einem Jahr bekannt.
- Um es nett zu fomulieren wurde ich sagen: es ist mehr als unelegant die fhem.cfg direkt und im laufenden Betrieb zu edieren.
- Soll in der nächsten Fronthem Verison gefixed sein.

herrmannj