99_myUtils.pm 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. ##############################################
  2. # $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
  3. #
  4. # Save this file as 99_myUtils.pm, and create your own functions in the new
  5. # file. They are then available in every Perl expression.
  6. package main;
  7. use strict;
  8. use warnings;
  9. use POSIX;
  10. sub
  11. myUtils_Initialize($$)
  12. {
  13. my ($hash) = @_;
  14. }
  15. # Enter you functions below _this_ line.
  16. sub checkAllFritzMACpresent($) {
  17. # Benötigt: nur die zu suchende MAC ($MAC),
  18. # Es werden alle Instanzen vom Type FRITZBOX abgefragt
  19. #
  20. # Rückgabe: 1 = Gerät gefunden
  21. # 0 = Gerät nicht gefunden
  22. my ($MAC) = @_;
  23. # Wird in keiner Instanz die MAC Adresse gefunden bleibt der Status 0
  24. my $Status = 0;
  25. $MAC =~ tr/:/_/;
  26. $MAC = "mac_".uc($MAC);
  27. my @FBS = devspec2array("TYPE=FRITZBOX");
  28. foreach( @FBS ) {
  29. my $StatusFritz = ReadingsVal($_, $MAC, "weg");
  30. if ($StatusFritz eq "weg") {
  31. } elsif ($StatusFritz eq "inactive") {
  32. } else {
  33. # Reading existiert, Rückgabewert ist nicht "inactive", also ist das Gerät am Netzwerk angemeldet.
  34. $Status = 1;
  35. }
  36. }
  37. return $Status
  38. }
  39. 1;