Cannot declare trait

Frage in die Runde was könnte hier die Ursache für diese Fehlermeldung sein und wie kann man diese beseitigen?

Fatal error:  Cannot declare trait BufferHelper, because the name is already in use in /var/lib/symcon/modules/IPSymconNEEO/libs/BufferHelper.php on line 4

In einem Skript werden zwei PHP Methoden von unterschiedlichen PHP Modulen aufgerufen, dabei kommt es zu dieser Fehlermeldung durch IP-Symcon. Beide PHP Module besitzten den identischen Trait Bufferhelper, Nall-chan wohl bekannt, der in das Modul geladen wird.

Da die PHP Module durch die __generated Daten mehr oder wenig lose miteinander verbunden sind, kann das Ausführen zweier Funktionen dieses Problem auslösen. Hier ein Trick von Nall-Chan wie man es lösen kann: SendDebug in Trait oder anderer Klasse nutzten - Seite 2

paresy

Jep… Bin da immer wieder dabei alle meine Module umzustellen und dann wandert alles in den Store :smiley:
Michael

Ich habe den Fehler auch bei mehreren und vor allem großen Skripten. Gibt es da etwas, was ich als Nutzer tun kann? Unter anderem ist mein Wecker Skript für morgens betroffen :frowning:

Du kannst tatsächlich einen Workaround bauen.
Die betreffenden Funktionen, welche den Fehler bei dir auslösen, mit IPS_RunScriptText starten.
Welche Module betrifft es bei dir?
Michael

Laut Fehlermeldung zunächst das Squeezebox Modul. Ich weiß aber auch, dass das Tasmota auch einen Bufferhelper verwendet.
D.h. ich rufe die Methoden direkt in RunScriptText auf oder sollte ich dafür ein separates Script anlegen und dann dieses aufrufen?
Danke Dir schon mal, Michael!

Das geht mit ScriptText auch direkt.
Oder du wartest noch etwas, ich veröffentlichte nachher eine neue Beta im Store.
Michael

Für SqueezeBox gibt es im Store jetzt eine neue Beta, damit sollte das Problem erledigt sein :slight_smile:
Michael

Super, teste ich nachher mal.
Ich wollte eh nochmal sukzessive auf den Module Store umstellen. Beim ersten Versuch mit 26 Modulen ist leider Symcon abgeschmiert…

Ich schaue mir das mal bei Michael an und werde meine Module auch anpassen.

@Nall-chan, ich habe gesehen, dass du ein extra Repository gemacht hast. Nutzt du das als Submodule?
Wenn ja, kann ich diese in meinen Modulen auch nutzen? :smiley:
Gerade so BufferHelper usw. waren echt immer hilfreich. :slight_smile:

Edit: Ah, gerade im anderem Thread gelesen, Submodule werden noch nicht unterstützt im Store.

Grüße,
Kai