SMA-EM icon indicating copy to clipboard operation
SMA-EM copied to clipboard

Bug in sma-daemon.py => doppelter Aufruf von config()

Open Berlenz opened this issue 1 year ago • 0 comments

[Problem] Die "featurelist" Variable enthält jedes Feature doppelt. D.h. jedes Feature, das in der "config" Datei unter [SMA-EM] "features=pvdata mqtt ....." eingetragen ist, ist doppelt in der "featurelist" Variable enthalten. Dadurch wird die run() Funktion jedes Features, z.B. /opt/smaemd/features/pvdata.py => run(), zweimal kurz hintereinander ausgeführt. Siehe /opt/smaemd/sma-daemon.py => run() ... for featurenr in featurelist: featurelist[featurenr]['feature'].run(emparts,featurelist[featurenr]['config']) ...

[Ursache] Das Problem wird verursacht, weil die Funktion MyDaemon => config() doppelt aufgerufen wird. Erster Aufruf: daemon3x => start() => self.config() Zweiter Aufruf: MyDaemon => run() => self.config() Das Problem fällt in der Praxis nicht auf, weil in der Datei "/etc/smaemd/config" der Parameter "min_update" der eintsprechenden Features auf mehrere Sekunden gesetzt sein dürfte. Deshalb wir ein zweiter Aufruf der Feature run() Funktion aufgrund der nicht erreichten Updatezeit abgebrochen.

[Lösung] /opt/smaemd/sma-daemon.py => run() => Zeile "self.config()" löschen

Berlenz avatar Mar 28 '24 16:03 Berlenz