FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Superposchi am 04 Februar 2021, 08:19:14

Titel: Device schaltet mal und mal nicht
Beitrag von: Superposchi am 04 Februar 2021, 08:19:14
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?
Titel: Antw:Device schaltet mal und mal nicht
Beitrag von: DeeSPe am 04 Februar 2021, 16:14:06
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... ;)
Titel: Antw:Device schaltet mal und mal nicht
Beitrag von: Superposchi am 06 Februar 2021, 10:46:55
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.