Autor Thema: [gelöst] Device ermitteln welches das Event gefeuert hat  (Gelesen 221 mal)

Offline Goofy180173

  • New Member
  • *
  • Beiträge: 24
Ich habe ein Notify auf mehreren devices und würde gerne in meiner perl Funktion wissen welches device das Event getriggert hat
define tuwas.notify notify (test1.on|test2.on) {tuwas($NAME)}

wenn ich in der Perl Funktion print ("Device", $_, "\n"); mache bekomme ich als ausgabe "fhemicon.png"
Ich hab aufs Icon geklickt:-)
Erwartet hätte ich mir aber test1 oder test2
Ich hab auch schon $EVENT versucht. Da bekomme ich als ausgabe "on"
Was grundsätzlich ja ok ist. Erwartet hätte ich mir allerdings die Ausgabe die ich im Log erhalte.
Was mach ich falsch?
« Letzte Änderung: 11 Juli 2018, 19:27:35 von Goofy180173 »

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3692
  • Wer anderen eine Bratwurst brät...
Antw:Device ermitteln welches das Event gefeuert hat
« Antwort #1 am: 11 Juli 2018, 17:22:26 »
Wie du schon richtig vermutet hast, ist die Variable $NAME dafür da.

Geuß
Dan
FHEM 5.8, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert

Offline Goofy180173

  • New Member
  • *
  • Beiträge: 24
Antw:Device ermitteln welches das Event gefeuert hat
« Antwort #2 am: 11 Juli 2018, 17:27:07 »
Sub
tuwas($) {
  print("Device: ", $_, "/n");
}
Allerdings liefert mir $NAME in meinem Beispiel "Device: fhemicon.png"
Damit kann ich nichts anfangen:-(
Was mach ich falsch?

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 14748
  • s/fhem\.cfg/configDB/g
Antw:Device ermitteln welches das Event gefeuert hat
« Antwort #3 am: 11 Juli 2018, 17:54:41 »
Wenn man nicht weiß, was perl interne Variablen wie $_ bedeuten, sollte man sie nicht verwenden.

sub tuwas($) {
my ($v) = @_;
Debug "Device: $v";
}

-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 07.09.2018 - 18:30 Uhr
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Goofy180173

  • New Member
  • *
  • Beiträge: 24
Antw:Device ermitteln welches das Event gefeuert hat
« Antwort #4 am: 11 Juli 2018, 19:27:12 »
Danke für den Hinweis.
In der Zwischenzeit weis ich es.
$_ ist der Itterator.
Aber jeder fängt irgendwann einmal mit perl an ;)

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 14748
  • s/fhem\.cfg/configDB/g
Antw:Device ermitteln welches das Event gefeuert hat
« Antwort #5 am: 11 Juli 2018, 19:28:04 »
Aber jeder fängt irgendwann einmal mit perl an ;)

ja schon, aber doch bitte nicht mit dessen internen Variablen...
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 07.09.2018 - 18:30 Uhr
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Goofy180173

  • New Member
  • *
  • Beiträge: 24
Antw:[gelöst] Device ermitteln welches das Event gefeuert hat
« Antwort #6 am: 11 Juli 2018, 19:30:15 »
ich hab $_ mit @_ verwechselt :(
Passiert mir aber sicher nicht wieder

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 14748
  • s/fhem\.cfg/configDB/g
Antw:[gelöst] Device ermitteln welches das Event gefeuert hat
« Antwort #7 am: 11 Juli 2018, 19:31:44 »
und weißt Du denn wenigstens, was @_ bedeutet?  8)
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 07.09.2018 - 18:30 Uhr

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 14899
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
Informativ Informativ x 1 Liste anzeigen

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 14748
  • s/fhem\.cfg/configDB/g
Antw:[gelöst] Device ermitteln welches das Event gefeuert hat
« Antwort #9 am: 11 Juli 2018, 20:00:06 »
Spaßbremse...
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Nächster Hamburg-Stammtisch: 07.09.2018 - 18:30 Uhr

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 14899
Antw:[gelöst] Device ermitteln welches das Event gefeuert hat
« Antwort #10 am: 11 Juli 2018, 20:02:09 »
Ich weiß. Hoffe es bleibt beim Threadersteller hängen. Einen schönen Abend wünsche ich.
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.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier

 

decade-submarginal