Hallo, ich habe ein presence-Device das zusammen mit einem eigenen Script die Anwesenheit über die Lokalisation der Mac-Adresse des Handys feststellt.
Komischerweise schaltet das Device manchmal und manchmal auch nicht.
Ein zweites Device mit einer anderen Mac-Adresse funktioniert komplett richtig.
Habe schon das Device neu angelegt, aber finde einfach keinen logischen Ansatzpunkt.
Hier das List des Device:
Internals:
.FhemMetaInternals 1
DEF function {checkAllFritzMACpresent("30:07:4D:B8:4D:DE")} 60 60
FUUID 5fc39935-f33f-793a-ba18-a9aef79783cec6ba
FVERSION 73_PRESENCE.pm:0.207820/2019-12-19
INTERVAL_NORMAL 60
INTERVAL_PRESENT 60
MODE function
NAME Marion_Anwesenheitskontrolle
NOTIFYDEV global
NR 87
NTFY_ORDER 50-Marion_Anwesenheitskontrolle
STATE present
TYPE PRESENCE
.attraggr:
.attreocr:
.*
.attrminint:
.attrtocr:
.*
READINGS:
2021-02-04 08:13:42 .absenceThresholdCounter 0
2021-02-04 08:13:42 .presenceThresholdCounter 0
2021-01-30 09:58:05 model function
2021-02-02 15:37:15 presence present
2021-02-02 15:37:15 state present
helper:
CURRENT_STATE present
call {checkAllFritzMACpresent("30:07:4D:B8:4D:DE")}
Attributes:
event-on-change-reading .*
group Anwesenheitskontrolle
icon people_sensor
room Steuerung->Anwesenheitskontrolle
timestamp-on-change-reading .*
userattr Anwesenheitskontrolle Anwesenheitskontrolle_map structexclude teststructure teststructure_map
verbose 2
Und hier das Script aus ymutils:
# angemeldete MAC-Adresse in Fritzbox suchen
#
sub checkAllFritzMACpresent($) {
# Benötigt: nur die zu suchende MAC ($MAC),
# Es werden alle Instanzen vom Type FRITZBOX abgefragt
#
# Rückgabe: 1 = Gerät gefunden
# 0 = Gerät nicht gefunden
my ($MAC) = @_;
# Wird in keiner Instanz die MAC Adresse gefunden bleibt der Status 0
my $Status = 0;
$MAC =~ tr/:/_/;
$MAC = "mac_".uc($MAC);
my @FBS = devspec2array("TYPE=FRITZBOX");
foreach( @FBS ) {
my $StatusFritz = ReadingsVal($_, $MAC, "weg");
if ($StatusFritz eq "weg") {
} elsif ($StatusFritz eq "inactive") {
} else {
# Reading existiert, Rückgabewert ist nicht "inactive", also ist das Gerät am Netzwerk angemeldet.
$Status = 1;
}
}
return $Status
}
1;
Hier noch das List der Fritzbox in der das Handy/die Mac-Adresse gefunden werden soll:
Internals:
.FhemMetaInternals 1
APICHECKED 1
DEF 192.168.178.1
FUUID 5fc36337-f33f-793a-9b81-44c57875f7726f3e
FVERSION 72_FRITZBOX.pm:0.221250/2020-06-06
HOST 192.168.178.1
INTERVAL 60
LUAQUERY 1
M3U_LOCAL ./www/images/FritzBox.m3u
M3U_URL unknown
MODEL FRITZ!Box 6490 Cable (lgi)
NAME FritzBox
NR 69
REMOTE 1
SECPORT 49443
STATE WLAN: on gWLAN: off
TELNET 0
TR064 1
TYPE FRITZBOX
WEBCM 0
.attraggr:
.attreocr:
.*
.attrminint:
.attrtocr:
.*
READINGS:
2021-02-04 08:17:13 .box_TodayBytesReceivedHigh 0
2021-02-04 08:17:13 .box_TodayBytesReceivedLow 467104764
2021-02-04 08:17:13 .box_TodayBytesSentHigh 0
2021-02-04 08:17:13 .box_TodayBytesSentLow 114129021
2020-09-04 19:18:14 alarm1 Wecker 1
2020-09-04 19:18:14 alarm1_state off
2020-09-04 19:18:14 alarm1_target FON 1
2020-09-04 19:18:14 alarm1_time 00:00
2020-09-04 19:18:14 alarm1_wdays daily
2020-09-04 19:18:14 alarm2 Wecker 2
2020-09-04 19:18:14 alarm2_state off
2020-09-04 19:18:14 alarm2_target FON 1
2020-09-04 19:18:14 alarm2_time 00:00
2020-09-04 19:18:14 alarm2_wdays daily
2020-09-04 19:18:14 alarm3 Wecker 3
2020-09-04 19:18:14 alarm3_state off
2020-09-04 19:18:14 alarm3_target FON 1
2020-09-04 19:18:14 alarm3_time 00:00
2020-09-04 19:18:14 alarm3_wdays daily
2021-01-29 11:52:26 box_connect 5
2021-02-04 08:17:13 box_cpuTemp 53
2020-09-04 19:18:14 box_dect on
2020-09-04 19:18:14 box_fwVersion 141.07.20
2020-09-04 19:18:14 box_guestWlan off
2020-09-04 19:18:14 box_guestWlanCount 0
2020-09-04 19:18:14 box_guestWlanRemain 0
2021-01-29 11:52:26 box_ipExtern 88.152.251.43
2020-08-30 17:36:41 box_model FRITZ!Box 6490 Cable (lgi) [lgi]
2020-09-04 19:18:14 box_moh default
2021-02-04 08:17:13 box_powerRate 29
2021-02-04 08:17:13 box_rateDown 5.497
2021-02-04 08:17:13 box_rateUp 1.742
2020-09-04 19:18:14 box_stdDialPort allFons
2020-09-04 19:18:14 box_tr064 on
2020-09-04 19:18:14 box_tr069 on
2021-02-04 07:44:13 box_wlanCount 11
2020-11-12 07:11:41 box_wlan_2.4GHz on
2020-11-12 07:11:41 box_wlan_5GHz on
2020-09-04 19:18:14 dect1 Gigaset C530
2020-09-04 19:18:14 dect1_fwVersion 0.00
2020-09-04 19:18:14 dect1_intRingTone HandsetDefault
2020-09-04 19:18:14 dect1_intern 610
2020-09-04 19:18:14 dect1_manufacturer Siemens
2020-09-04 19:18:14 dect1_model 0x00
2020-09-04 19:18:14 dect2 Sinus 205 Comfort
2020-09-04 19:18:14 dect2_fwVersion 0.00
2020-09-04 19:18:14 dect2_intRingTone HandsetDefault
2020-09-04 19:18:14 dect2_intern 611
2020-09-04 19:18:14 dect2_manufacturer 0x8a01
2020-09-04 19:18:14 dect2_model MT-D
2020-09-04 19:18:14 diversity1 SIP2
2020-09-04 19:18:14 diversity1_dest 600
2020-09-04 19:18:14 diversity1_state off
2020-09-04 19:18:14 gsm_internet 0
2021-02-04 08:12:13 lastReadout 330 values captured in 1.00 s
2020-11-06 08:13:42 mac_00_09_34_45_27_5E DM920uHD
2020-12-07 03:17:43 mac_00_1A_22_14_39_E3 Homematic-Gateway
2021-01-30 09:28:59 mac_02_42_75_C5_F7_DF PC-192-168-178-199
2021-02-04 08:17:13 mac_18_1E_B0_5D_AB_1B Galaxy-Tab3 (WLAN, 72 / 32 Mbit/s, -60)
2021-01-18 11:50:12 mac_24_5E_BE_2D_D3_B1 PrivateCloud
2020-12-07 02:32:42 mac_24_5E_BE_2D_D3_B2 PrivateCloud
2021-02-04 08:17:13 mac_30_07_4D_82_B0_F3 Galaxy-S8-Marko (WLAN, 780 / 780 Mbit/s, -57)
2020-09-28 17:12:50 mac_32_91_AB_3E_C1_B4 fritz.repeater
2020-09-04 19:18:14 mac_44_4E_6D_E8_2C_47 fritz.box
2021-02-04 08:17:13 mac_64_90_C1_14_98_64 Roborock-S6-Max-V (WLAN, 72 / 15 Mbit/s, -46)
2021-02-04 08:17:13 mac_68_C6_3A_F9_D8_76 shellyswitch25-Brunnen (WLAN, 72 / 18 Mbit/s, -32)
2021-02-04 08:15:13 mac_68_C6_3A_F9_DC_45 shellyswitch25-Marion (WLAN, 1 / 48 Mbit/s, -56)
2021-02-04 08:16:13 mac_68_C6_3A_F9_E1_25 shellyswitch25-Marko (WLAN, 1 / 12 Mbit/s, -55)
2020-09-28 17:13:50 mac_68_FF_7B_C3_D8_86 Schlafzimmerswitch
2020-12-07 02:32:42 mac_98_DA_C4_B6_01_71 Wohnzimmerswitch
2021-02-04 08:01:14 mac_D4_6D_6D_43_CD_D5 ZDE-MPO (WLAN, 866 / 866 Mbit/s, -51)
2021-02-04 08:17:13 mac_D4_A6_51_DA_CB_64 PC-192-168-178-26 (WLAN, 72 / 35 Mbit/s, -70)
2021-02-04 08:16:13 mac_D4_F5_47_10_8F_6D Google-Nest-Mini (WLAN, 433 / 433 Mbit/s, -60)
2020-11-18 19:25:24 mac_EC_B5_FA_2D_9B_D0 Philips-hue
2021-02-04 08:17:13 mac_F0_72_EA_EC_87_0E Google-Nest-Mini (WLAN, 433 / 6 Mbit/s, -57)
2021-02-04 08:17:13 mac_F8_AC_65_08_2A_E1 PC-192-168-178-12 (WLAN, 866 / 702 Mbit/s, -59)
2020-12-07 02:31:47 state WLAN: on gWLAN: off
2020-09-04 19:18:14 tam1 Anrufbeantworter
2020-09-04 19:18:14 tam1_newMsg 0
2020-09-04 19:18:14 tam1_oldMsg 0
2020-09-04 19:18:14 tam1_state on
2020-09-04 19:18:14 tam2 Anonym
2020-09-04 19:18:14 tam2_newMsg 0
2020-09-04 19:18:14 tam2_oldMsg 0
2020-09-04 19:18:14 tam2_state off
2020-09-04 19:18:14 user01 (guest)
2020-09-04 19:18:14 user01_thisMonthTime 0:00
2020-09-04 19:18:14 user01_todaySeconds 0
2020-09-04 19:18:14 user01_todayTime 0:00
2020-09-04 19:18:14 user01_type Guest
2020-09-04 19:18:14 userTicket01 453323
fhem:
LOCAL 0
definedHost 192.168.178.1
is_double_wlan 1
lastHour 0
modulVersion $Date: 2020-06-06 11:11:54 +0000 (Sat, 06 Jun 2020) $
radioCount 40
sid a10eb5981bb6965e
sidTime 1612423033
610:
brand Siemens
id 1
model 0x00
userId 1
611:
brand 0x8a01
id 2
model MT-D
userId 2
landevice:
Canon-iP7200
192.168.178.1 fritz.box
192.168.178.10 Workstation
192.168.178.100 DM920uHD
192.168.178.101 DM7020HD
192.168.178.12 PC-192-168-178-12
192.168.178.126 FireTVStick4K
192.168.178.150 Philips-hue
192.168.178.151 shellyswitch25-Brunnen
192.168.178.153 shellyswitch25-Marion
192.168.178.154 shellyswitch25-Marko
192.168.178.156 Homematic-Gateway
192.168.178.158 Roborock-S6-Max-V
192.168.178.159 Lidl-Gateway
192.168.178.160 Google-Nest-Mini
192.168.178.161 Google-Nest-Mini
192.168.178.162 Xiaomi-Hub
192.168.178.163 mija-Schlafzimmerhub
192.168.178.199 PC-192-168-178-199
192.168.178.2 Fritzbox7050
192.168.178.20 Fernseher-LE32C630
192.168.178.200 PrivateCloud
192.168.178.201 PrivateCloud
192.168.178.202 boxuser_service
192.168.178.203 Canon-iP7200
192.168.178.204 Schlafzimmerswitch
192.168.178.205 Wohnzimmerswitch
192.168.178.206 MyFRITZ!App (Samsung SM-G955F)
192.168.178.210 fritz.repeater
192.168.178.26 PC-192-168-178-26
192.168.178.27 ZDE-MPO
192.168.178.54 Galaxy-Tab3
192.168.178.55 Galaxy-S8-Marko
192.168.178.56 Galaxy-S8-Marion
192.168.178.60 eBook-Reader
landevice122125 PrivateCloud
landevice123431 Fhem-Server
landevice1336 Fernseher-LE32C630
landevice1337 Galaxy-Tab3
landevice1338 eBook-Reader
landevice1339 DM7020HD
landevice1340 Galaxy-S8-Marion
landevice1341 Galaxy-S8-Marko
landevice1342 DM920uHD
landevice1348 Homematic-Gateway
landevice1356 shellyswitch25-Brunnen
landevice143035 ZDE-MPO
landevice143036 PC-192-168-178-12
landevice143037 PC-192-168-178-199
landevice143038 PC-192-168-178-199
landevice143039 PC-192-168-178-200
landevice143040 PC-192-168-178-199
landevice143041 Philips-hue
landevice143042 PC-192-168-178-199
landevice15709 mija-Schlafzimmerhub
landevice15710 FireTVStick4K
landevice16647 Notebook
landevice2822 Philips-hue
landevice2823 fritz.box
landevice2828 boxuser_service
landevice4353 PrivateCloud
landevice5226 Google-Nest-Mini
landevice5227 Google-Nest-Mini
landevice5233 Roborock-S6-Max-V
landevice5237 Xiaomi-Hub
landevice5264 Fhem-Server
landevice5327 Lidl-Gateway
landevice59244 Canon-iP7200
landevice62189 Fhem-Server
landevice7180 PrivateCloud
landevice7475 shellyswitch25-Marko
landevice7478 shellyswitch25-Marion
landevice7482 Fritzbox7050
landevice7484 fritz.repeater
landevice7911 Schlafzimmerswitch
landevice7912 Workstation
landevice7914 PrivateCloud
landevice83969 PC-192-168-178-26
landevice8457 Wohnzimmerswitch
landevice95006 MyFRITZ!App (Samsung SM-G955F)
radio:
0
1
10
11
12
13
14
15
16
17
18
19
2
20
21
22
23
24
25
26
27
28
29
3
30
31
32
33
34
35
36
37
38
39
4
5
6
7
8
9
wlanDevice:
00_F3_61_DB_86_50:
rssi 0
speed 0
speed_rx 0
18_1E_B0_5D_AB_1B:
rssi -60
speed 72
speed_rx 32
30_07_4D_82_B0_F3:
rssi -57
speed 780
speed_rx 780
30_07_4D_B8_4D_DE:
rssi 0
speed 0
speed_rx 0
4E_91_AB_3E_C1_B4:
rssi 0
speed 0
speed_rx 0
4E_91_AB_3E_C1_B5:
rssi 0
speed 0
speed_rx 0
54_EF_44_CC_32_35:
rssi 0
speed 0
speed_rx 0
54_EF_44_CC_9A_59:
rssi 0
speed 0
speed_rx 0
58_B0_D4_3A_26_D1:
rssi 0
speed 0
speed_rx 0
64_90_C1_14_98_64:
rssi -46
speed 72
speed_rx 15
68_C6_3A_F9_D8_76:
rssi -32
speed 72
speed_rx 18
68_C6_3A_F9_DC_45:
rssi -56
speed 1
speed_rx 48
68_C6_3A_F9_E1_25:
rssi -55
speed 1
speed_rx 12
88_87_17_96_26_E2:
rssi 0
speed 0
speed_rx 0
D4_6D_6D_43_CD_D5:
rssi -51
speed 866
speed_rx 866
D4_A6_51_DA_CB_64:
rssi -70
speed 72
speed_rx 35
D4_A6_51_DA_D3_6C:
rssi 0
speed 0
speed_rx 0
D4_F5_47_10_8F_6D:
rssi -60
speed 433
speed_rx 433
F0_72_EA_EC_87_0E:
rssi -57
speed 433
speed_rx 6
F8_AC_65_08_2A_E1:
rssi -59
speed 866
speed_rx 702
helper:
TimerCmd FritzBox.Cmd
TimerReadout FritzBox.Readout
Attributes:
INTERVAL 30
allowTR064Command 1
boxUser boxuser_service
event-on-change-reading .*
group Fritzbox
icon mqtt_bridge_2
room Devices,FBDECT
timestamp-on-change-reading .*
verbose 2
Vielleicht findet ja irgendjemand einen Ansatz, ich verstehe es nicht, warum es mal funktioniert und mal nicht.
Muss das im Script nach dem Funktionsnamen nicht auch $MAC für die zu übergebende Variale heißen?
Hast Du schon mal an der Fritte das Reading mit der MAC Adresse überwacht welche Werte dort ankommen?
Das geht am einfachsten mit readingsHistory.
Gruß
Dan
P.S. Die Funktion geht auch einfacher... ;)
Hab verschiedene Zustände durch abschalten des WLans simuliert.
Keihen Ahnung wo der Fehler liegt, bei gleichen Readings sind die Reaktionen unterschiedlich.
Hab inzwischen eine ähnliche Lösung mit dem Gerätenamen statt der MAC-Adresse. Ist auch besser bei Austausch des Gerätes zu handeln.