Wie prüfen ob anderes Modul geladen wurde?

Begonnen von Tobias, 24 Januar 2014, 04:08:57

Vorheriges Thema - Nächstes Thema

Tobias

Hi,
ich möchte gerne in meinem Modul prüfen, ob ein anderes Modul geladen ist bzw eine dessen Funktionen verfügbar ist.

zb. folgendes gibt immer false zurück :(
if(defined(&Text2Speech::Text2Speech_Ready)) {}

Hat jemand ev dafür einen Codeschnipsel?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Dr. Boris Neubert

Auf die Schnelle: probier mal require in Verbindung mit eval.
Grüße, Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

rudolfkoenig

$modules{$m} && $modules{$m}{LOADED}

Siehe auch fhem.pl LoadModule()/CommandReload()

Tobias

#3
Danke!!!

hatte es mittels Workarround so gelöst:
  #suche ein DbLogDevice
  foreach my $key (keys(%defs)) {
    if(%defs->{$key}{TYPE} eq "DbLog") {
      $DbLogDev = $key;
      last;
    }
  }
  return undef unless($DbLogDev);


Hab es jetzt geändert, sieht auch schlanker aus ;)
return undef unless($modules{"DbLog"} && $modules{"DbLog"}{"LOADED"});
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter