FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Leugi am 21 Februar 2017, 22:49:09

Titel: Aufruf von Funktionen aus einem Modul für anderes Device
Beitrag von: Leugi am 21 Februar 2017, 22:49:09
Hallo,

wie kann ich aus einem Modul am besten eine Funktion für ein anderes Device aufrufen.

Ich habe beispielsweise zwei Devices vom Typ YAMAHA_MC definiert :

define mc_receiver YAMAHA_MC 192.168.0.25 80 120 60
define wx030 YAMAHA_MC 192.168.0.28 80 120 60

und im Modul 71_YAMAHA_MC.pm eine Funktion sub YAMAHA_MC_getDistributionInfo($); definiert.

Jetzt möchte ich vom mc_receiver die Funktion YAMAHA_MC_getDistributionInfo vom wx030 aufrufen.
Wie mache ich das am besten ?

Danke für die Hilfe.

Gruss
Leugi
Titel: Antw:Aufruf von Funktionen aus einem Modul für anderes Device
Beitrag von: Thorsten Pferdekaemper am 22 Februar 2017, 10:54:40
Hi,
so lange Du sicher stellst, dass die Moduldatei geladen ist, müsstest Du die Funktion einfach aufrufen können.
Ich wundere mich nur etwas, warum eine Frage zur Modulentwicklung in "Anfängerfragen" auftaucht.
Gruß,
   Thorsten
Titel: Antw:Aufruf von Funktionen aus einem Modul für anderes Device
Beitrag von: Leugi am 22 Februar 2017, 20:26:06
Hallo Thorsten,

danke für die Antwort. Ich dachte die Frage wäre zu banal für das Development-Forum.

Eine einfache Funktion kann ich direkt im Modul aufrufen, aber ich möchte hier mit dem Hash eines anderen Devices arbeiten.
Ich müsste also der Funktion den "fremden" Hash mitgeben. Wie mache ich das ? Hast du irgendein Beispiel ?

Gruss,
Sefan.
Titel: Antw:Aufruf von Funktionen aus einem Modul für anderes Device
Beitrag von: CoolTux am 22 Februar 2017, 21:06:06
https://wiki.fhem.de/wiki/DevelopmentModuleIntro#Der_Hash_einer_Ger.C3.A4teinstanz

Eventuell hilft das Dir weiter.
Titel: Antw:Aufruf von Funktionen aus einem Modul für anderes Device
Beitrag von: betateilchen am 22 Februar 2017, 21:19:09
Zitat von: Thorsten Pferdekaemper am 22 Februar 2017, 10:54:40
Ich wundere mich nur etwas, warum eine Frage zur Modulentwicklung in "Anfängerfragen" auftaucht.

Mich wundert hier im Forum seit einiger Zeit überhaupt nix mehr...
Titel: Antw:Aufruf von Funktionen aus einem Modul für anderes Device
Beitrag von: Leugi am 22 Februar 2017, 21:30:00
@CoolTux
Danke das hat mir weitegeholfen, hab es jetzt so hinbekommen :

my $clienthash = $defs{$mc_clientname};
YAMAHA_MC_getDistributionInfo($clienthash);

Entschuldigung für das Posten im Anfänger-Forum, fühle mich noch als Anfänger, weil das ganze bei mir doch mehr Rumprobierei als echte Programmierung ist.
Werde nächste mal den Entwicklerberich nehmen.

Stefan.