Prüfen, ob Funktion von Modul implementiert wurde

Hallo,

gibt es eine Möglichkeit, wie ich prüfen kann, ob ein Modul eine bestimmte Funktion implementiert hat? Oder kann ich sie nur aufrufen und gucken, ob es klappt oder ob eine Warnung kommt?

Ich möchte z.B. bei verschiedenen EnOcean-Instancen prüfen, ob sie das Lesen von Werten unterstützen (ENO_RequestStatus). Kann ich das irgendwie testen ohne die Funktion aufzurufen oder funktioniert nur try and error?

Gruß
Slummi

Ja, du kannst IPS_GetFunctionList($id) aufrufen. Das liefert alle Funktion die diese Instanz anbietet. IPS_GetFunctionList — IP-Symcon :: Automatisierungssoftware

paresy

Danke! Die Funktion habe ich ganz übersehen. Hatte irgendwie nur IPS_FunctionExists() auf dem Schirm.

Gruß
Slummi

Für alle, die es interessiert. Es gibt auch die (scheinbar undokumentierte) Funktion IPS_GetFunctionListByModuleID(string $ModuleID) mit der man direkt die veröffentlichten Funktionen eines Moduls erhält. Dann spart man sich die Prüfung jeder einzelnen Instanz.

Das ist für meinen konkreten Anwendungsfall sogar besser.

Gruß
Slummi