{"id":590,"date":"2019-11-27T07:40:10","date_gmt":"2019-11-27T07:40:10","guid":{"rendered":"https:\/\/wordpress.steffmaster.mooo.com\/?p=590"},"modified":"2021-02-08T13:00:23","modified_gmt":"2021-02-08T13:00:23","slug":"anwesenheitserkennung-ueber-mehrere-fritzboxen-oder-avm-repeater-und-fritzbox","status":"publish","type":"post","link":"https:\/\/wordpress.steffmaster.mooo.com\/?p=590","title":{"rendered":"Anwesenheitserkennung \u00fcber mehrere Fritzboxen oder AVM Repeater und Fritzbox"},"content":{"rendered":"<p>99_myUtils.pm erstellen und den Sub eintragen.<\/p>\n<p> checkAllFritzMACpresent($) {<\/p>\n<pre class=\"lang:default decode:true \" >sub checkAllFritzMACpresent($) {\r\n  # Ben\u00f6tigt: nur die zu suchende MAC ($MAC),\r\n  # Es werden alle Instanzen vom Type FRITZBOX abgefragt\r\n  #\r\n  # R\u00fcckgabe: 1 = Ger\u00e4t gefunden\r\n  #           0 = Ger\u00e4t nicht gefunden\r\n  my ($MAC) = @_;\r\n  # Wird in keiner Instanz die MAC Adresse gefunden bleibt der Status 0\r\n  my $Status = 0;\r\n  $MAC =~ tr\/:\/_\/;\r\n  $MAC = \"mac_\".uc($MAC);\r\n  my @FBS = devspec2array(\"TYPE=FRITZBOX\");\r\n    foreach( @FBS ) {\r\n        my $StatusFritz = ReadingsVal($_, $MAC, \"weg\");\r\n        if ($StatusFritz eq \"weg\") {\r\n            # Dieser Zweig testet ob das Reading vorhanden ist\r\n            } elsif ($StatusFritz eq \"inactive\") {\r\n            # Dieser Zweig testet ob im Reading inactive steht\r\n            } elsif ($StatusFritz =~ \/(.*)s, 0\/) {\r\n            # Dieser Zweig testet auf \"<geraetename> (WLAN, 0 \/ 0 Mbit\/s, 0)\"\r\n        } else { $Status = 1}\r\n    }\r\n  return $Status\r\n}<\/pre>\n<p>Nutzung dieser Funktion mit dem PRESENCE Modul definieren:<\/p>\n<pre class=\"lang:default decode:true \" >define <Name> PRESENCE function {checkAllFritzMACpresent(\"AA:BB:CC:DD:EE:FF\")} 60 60<\/pre>\n<p>wobei<\/p>\n<p><Name> ein beliebig zu w\u00e4hlender Name f\u00fcr die PRESENCE-Funktion ist,<br \/>\nFritzbox der Name ist, mit dem ihr die abzufragende Fritzbox als FRITZBOX definiert habt,<br \/>\nAA:BB:CC:DD:EE:FF die MAC-Adresse des gesuchten Ger\u00e4ts ist.<br \/>\n&#8222;60 60&#8220; sagt, dass der Anwesenheitsstatus im 60-Sekunden-Takt abgefragt wird. Das macht nat\u00fcrlich nur Sinn, wenn ihr mit attr Fritzbox INTERVAL 60 den Abfrageinterval bei der Fritzbox auch entsprechend hochgesetzt habt. Der Standard ist 300.<br \/>\n&#8222;Log 1&#8220; f\u00fchrt immer zum Loggen. Das ist zum Einrichten praktisch, ohne dass man gleich f\u00fcr das ganze Modul oder ganz FHEM attr <device> verbose 5 setzen muss. Wenn es l\u00e4uft, k\u00f6nnen die &#8222;Log 1&#8220;-Zeilen gel\u00f6scht, auskommentiert (# an den Zeilenanfang) oder in &#8222;Log 5&#8220; ge\u00e4ndert werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>99_myUtils.pm erstellen und den Sub eintragen. checkAllFritzMACpresent($) { sub checkAllFritzMACpresent($) { # Ben\u00f6tigt: nur die zu suchende MAC ($MAC), # Es werden alle Instanzen vom Type FRITZBOX abgefragt # # R\u00fcckgabe: 1 = Ger\u00e4t gefunden # 0 = Ger\u00e4t nicht gefunden my ($MAC) = @_; # Wird in keiner Instanz die MAC Adresse gefunden bleibt &hellip; <a href=\"https:\/\/wordpress.steffmaster.mooo.com\/?p=590\" class=\"more-link\"><span class=\"screen-reader-text\">Anwesenheitserkennung \u00fcber mehrere Fritzboxen oder AVM Repeater und Fritzbox<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,10],"tags":[],"class_list":["post-590","post","type-post","status-publish","format-standard","hentry","category-fhem","category-fritzbox"],"_links":{"self":[{"href":"https:\/\/wordpress.steffmaster.mooo.com\/index.php?rest_route=\/wp\/v2\/posts\/590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.steffmaster.mooo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.steffmaster.mooo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.steffmaster.mooo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.steffmaster.mooo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=590"}],"version-history":[{"count":7,"href":"https:\/\/wordpress.steffmaster.mooo.com\/index.php?rest_route=\/wp\/v2\/posts\/590\/revisions"}],"predecessor-version":[{"id":686,"href":"https:\/\/wordpress.steffmaster.mooo.com\/index.php?rest_route=\/wp\/v2\/posts\/590\/revisions\/686"}],"wp:attachment":[{"href":"https:\/\/wordpress.steffmaster.mooo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.steffmaster.mooo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.steffmaster.mooo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}