Aufruf von Funktionen aus einem Modul für anderes Device

Begonnen von Leugi, 21 Februar 2017, 22:49:09

Vorheriges Thema - Nächstes Thema

Leugi

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
FHEM auf RaspPi 2, USB-CUL V3, div. HM Aktoren

Thorsten Pferdekaemper

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
FUIP

Leugi

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.
FHEM auf RaspPi 2, USB-CUL V3, div. HM Aktoren

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

betateilchen

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...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Leugi

@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.
FHEM auf RaspPi 2, USB-CUL V3, div. HM Aktoren