Autor Thema: PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code  (Gelesen 12056 mal)

Offline gestein

  • Hero Member
  • *****
  • Beiträge: 1165
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #105 am: 17 Januar 2021, 20:42:06 »
Hallo Martin,

Danke für die neue Version, habe ich gerade installiert.
Anscheinend war es bei mir wieder mal ein Problem mit den zu kurzem "intervalNormal".

Irgendwie scheint aber auch die Liste der Readings noch nicht ganz zu stimmen.
Ich habe 3 Arten von PRESENCE-Devices:
1) lan-ping
2) function
3) lan-bluetooth

Für die Devices für (1) und (2) werden werden Readings mit "pr_<Name>" angelegt, für die (3) aber nicht.
Unter "Probably associated with" werden alle Devices also (1)-(3) aufgelistet.

Die folgenden Readings gibt es außerdem in meinem Daemon-Device:
daemonMaxScanTime 1296 2021-01-07 15:01:12
daemonSkipCnt 1 2021-01-14 20:48:39
model daemon 2021-01-17 16:11:26
pGrp__total dis:8 ab:11 pres:57 2021-01-17 20:31:10
pGrp_default dis:8 ab:11 pres:57 2021-01-17 20:31:10

Die Readings "daemonMaxScanTime" und "daemonSkipCnt" werden bei mir leider nicht mehr aktualisiert, obwohl sie sehr hilfreich wären.

Alles andere muss ich mir erst noch genauer anschauen.
lg, Gerhard

p.s.: Ein kurzes "clearCounts daemon" löst das Problem mit den beiden Readings.
Klar, wenn die 1296 der bisherige Rekord waren ;-)
« Letzte Änderung: 17 Januar 2021, 23:37:18 von gestein »

Online marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5956
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #106 am: 17 Januar 2021, 20:46:14 »
Ist zwar nirgendwo mit Blut geschrieben, aber einige Module nutzen sowohl set active/inaktive als vorübergehende Abschaltung (ist bei Neustart wieder weg, d.h. aktiv) und zusätzlich noch das Attribut disable 0/1 für permanente Deaktivierung.

Wieso sollte das beim Neustart weg sein? Das ist natürlich Quatsch. Richtig implementiert ist das ein state reading und nicht weg.

Offline Benni

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2437
  • FHEMinist
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #107 am: 17 Januar 2021, 22:11:17 »
Ist zwar nirgendwo mit Blut geschrieben, aber einige Module nutzen sowohl set active/inaktive als vorübergehende Abschaltung (ist bei Neustart wieder weg, d.h. aktiv) und zusätzlich noch das Attribut disable 0/1 für permanente Deaktivierung.

Das ist so pauschal nicht richtig! Bspw. at und notify können damit dauerhaft deaktiviert werden. Nur wird das nicht in der Config gespeichert, sondern im statefile und überlebt daher natürlich auch einen Neustart.

Das ist schätzungsweise das, was marvin78 mit "richtiger Implementierung" meint ;)

Ich persönlich bin ein Fan von set active/inactive, eben weil die Config nicht geändert wird.

gb#

Offline lichtimc

  • Full Member
  • ***
  • Beiträge: 115
    • davitech.casa
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #108 am: 22 Januar 2021, 16:10:41 »
Hi und danke für den Beitrag!
Würde dieses Modul das Problem mit folgender Situation lösen?

Offline punker

  • Sr. Member
  • ****
  • Beiträge: 608
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #109 am: 25 Januar 2021, 12:47:28 »
Hi,

leider klappt bei mir die Installation von PRESENCE define OWServerPRES PRESENCE lan-ping 192.168.2.213 nicht.
Wenn ich das Device so anlege geht FHEM sofort auf 100% Prozessorlast und lässt sich nicht mehr bedienen.
Nur ein systemctl restart fhem startet FHEM wieder.
Dann ist natürlich auch die PRESENCE-Definition weg.
Im Log befindet sich nur bis dahin nur folgendes:
2021.01.25 12:44:02.656 1: PERL WARNING: Subroutine PRESENCE_Initialize redefined at ./FHEM/73_PRESENCE.pm line 39.
2021.01.25 12:44:02.657 1: PERL WARNING: Subroutine PRESENCE_Rename redefined at ./FHEM/73_PRESENCE.pm line 65.
2021.01.25 12:44:02.664 1: PERL WARNING: Subroutine PRESENCE_Define redefined at ./FHEM/73_PRESENCE.pm line 71.
2021.01.25 12:44:02.668 1: PERL WARNING: Subroutine PRESENCE_Undef redefined at ./FHEM/73_PRESENCE.pm line 181.
2021.01.25 12:44:02.671 1: PERL WARNING: Subroutine PRESENCE_updateConfig redefined at ./FHEM/73_PRESENCE.pm line 192.
2021.01.25 12:44:02.673 1: PERL WARNING: Subroutine PRESENCE_Notify redefined at ./FHEM/73_PRESENCE.pm line 232.
2021.01.25 12:44:02.677 1: PERL WARNING: Subroutine PRESENCE_Set redefined at ./FHEM/73_PRESENCE.pm line 247.
2021.01.25 12:44:02.686 1: PERL WARNING: Subroutine PRESENCE_Get redefined at ./FHEM/73_PRESENCE.pm line 302.
2021.01.25 12:44:02.695 1: PERL WARNING: Subroutine PRESENCE_Attr redefined at ./FHEM/73_PRESENCE.pm line 462.
2021.01.25 12:44:02.699 1: PERL WARNING: Subroutine PRESENCE_setNotfiyDev redefined at ./FHEM/73_PRESENCE.pm line 588.
2021.01.25 12:44:02.700 1: PERL WARNING: Subroutine PRESENCE_getBlockingEntites redefined at ./FHEM/73_PRESENCE.pm line 594.
2021.01.25 12:44:02.701 1: PERL WARNING: Subroutine PRESENCE_getAllEntites redefined at ./FHEM/73_PRESENCE.pm line 597.
2021.01.25 12:44:02.702 1: PERL WARNING: Subroutine PRESENCE_getDaemonName redefined at ./FHEM/73_PRESENCE.pm line 600.
2021.01.25 12:44:02.703 1: PERL WARNING: Subroutine PRESENCE_lanBtWrite redefined at ./FHEM/73_PRESENCE.pm line 605.
2021.01.25 12:44:02.705 1: PERL WARNING: Subroutine PRESENCE_lanBtDoInit redefined at ./FHEM/73_PRESENCE.pm line 615.
2021.01.25 12:44:02.709 1: PERL WARNING: Subroutine PRESENCE_lanBtRead redefined at ./FHEM/73_PRESENCE.pm line 627.
2021.01.25 12:44:02.711 1: PERL WARNING: Subroutine PRESENCE_lanBtUpdtTiming redefined at ./FHEM/73_PRESENCE.pm line 688.
2021.01.25 12:44:02.713 1: PERL WARNING: Subroutine PRESENCE_lanBtReady redefined at ./FHEM/73_PRESENCE.pm line 695.
2021.01.25 12:44:02.714 1: PERL WARNING: Subroutine PRESENCE_lanBtProcessAddonData redefined at ./FHEM/73_PRESENCE.pm line 702.
2021.01.25 12:44:02.717 1: PERL WARNING: Subroutine PRESENCE_ProcessState redefined at ./FHEM/73_PRESENCE.pm line 708.
2021.01.25 12:44:02.721 1: PERL WARNING: Subroutine PRESENCE_daemonScanScheduler redefined at ./FHEM/73_PRESENCE.pm line 748.
2021.01.25 12:44:02.723 1: PERL WARNING: Subroutine PRESENCE_doDaemonUnBlocking redefined at ./FHEM/73_PRESENCE.pm line 787.
2021.01.25 12:44:02.727 1: PERL WARNING: Subroutine PRESENCE_daemonScanReply redefined at ./FHEM/73_PRESENCE.pm line 801.
2021.01.25 12:44:02.730 1: PERL WARNING: Subroutine PRESENCE_daemonAbortedScan redefined at ./FHEM/73_PRESENCE.pm line 856.
2021.01.25 12:44:02.733 1: PERL WARNING: Subroutine PRESENCE_doDaemonEntityScan redefined at ./FHEM/73_PRESENCE.pm line 864.
2021.01.25 12:44:02.736 1: PERL WARNING: Subroutine PRESENCE_doDaemonCleanup redefined at ./FHEM/73_PRESENCE.pm line 895.
2021.01.25 12:44:02.740 1: PERL WARNING: Subroutine PRESENCE_doEvtSetup redefined at ./FHEM/73_PRESENCE.pm line 921.
2021.01.25 12:44:02.743 1: PERL WARNING: Subroutine PRESENCE_doEvtCheck redefined at ./FHEM/73_PRESENCE.pm line 955.
2021.01.25 12:44:02.745 1: PERL WARNING: Subroutine PRESENCE_doEvtCheckReply redefined at ./FHEM/73_PRESENCE.pm line 973.
2021.01.25 12:44:13.662 1: PERL WARNING: Deep recursion on subroutine "main::CommandDefine" at ./FHEM/73_PRESENCE.pm line 208.
2021.01.25 12:44:13.663 1: PERL WARNING: Deep recursion on subroutine "main::LoadModule" at fhem.pl line 2075.
2021.01.25 12:44:13.663 1: PERL WARNING: Deep recursion on subroutine "main::CommandReload" at fhem.pl line 2018.

Woran scheiterts?
LG

Dieter

The truth is out there!

Offline gestein

  • Hero Member
  • *****
  • Beiträge: 1165
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #110 am: 25 Januar 2021, 16:09:09 »
Hallo punker,

das ist eigenartig. Bei mir laufen die lan-pings seit Wochen ohne Probleme (und ich habe testweise mehr als 50).

Ich nehme an, Du hast:
- Die Datei aus dem Betrag #101 genommen? [url]https://forum.fhem.de/index.php/topic,117007.msg1122351.html#msg1122351[url]
- Die vorhandene Datei im Verzeichnis FHEM damit überschrieben
- Die Rechte richtig gesetzt und
- fhem neu gestartet

Sinnvoll ist es dann auch, die Datei 73_PRESENCE.pm aus dem update-Prozess zu nehmen.

Und trotzdem kommen die Fehlermeldungen?
lg, Gerhard

Offline punker

  • Sr. Member
  • ****
  • Beiträge: 608
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #111 am: 25 Januar 2021, 16:28:31 »
Genau, habe es auch mit älteren Versionen aus dem Thread probiert - mit dem selben Ergebnis!
LG

Dieter

The truth is out there!

Offline gestein

  • Hero Member
  • *****
  • Beiträge: 1165
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #112 am: 25 Januar 2021, 17:17:33 »
Eigenartig. Bist Du sicher, dass fhem nur die eine richtige 73_PRESENCE.pm lädt?
Die Warnings sollten nicht kommen.

Welche Version verwendest Du gerade? Die aus #101?
Wie viele Zeilen hat die bei Dir? Bei mir sind es 1264 Zeilen.

lg, Gerhard

Offline punker

  • Sr. Member
  • ****
  • Beiträge: 608
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #113 am: 25 Januar 2021, 17:22:40 »
Auch eigenartig - meine Version hat 1262 Zeilen.
$Id: 73_PRESENCE.pm 18314 2019-01-18 13:49:05Z markusbloch
LG

Dieter

The truth is out there!

Offline gestein

  • Hero Member
  • *****
  • Beiträge: 1165
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #114 am: 25 Januar 2021, 19:17:03 »
Das ist dann die aus #96 und nicht die aus #101 ;-)

Nach der $Id kannst Du nicht gehen, da diese eine Entwicklerversion ist und Martin das sicherlich noch nicht angepasst hat.

Edit: Mein Fehler: stimmt eh.
« Letzte Änderung: 25 Januar 2021, 19:26:00 von gestein »

Offline martinp876

  • Developer
  • Hero Member
  • ****
  • Beiträge: 11088
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #115 am: 31 Januar 2021, 17:49:56 »
Das mit 100% load ist klar und unklar.
Offensichtlich wird das Modul neu geladen. Und entweder dies oder etwas anderes ist recursiv, startet sich also immer selbst.
Unklar ist,  warum  das Modul beim define neu geladen wird  und warum recursiv. Das scheint bei dir einzigartig,  bis jetzt.
Ist dies das erste presents device?

Offline bmwfan

  • Sr. Member
  • ****
  • Beiträge: 545
Antw:PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code
« Antwort #116 am: 15 November 2021, 11:36:43 »
Hallo,
muss den alten Thread nochmal aktivieren, da ich gerade erst das modifizierte Modul entdeckt habe.

System: Mehrere Handys (iPhone + Android), die ich über das PRESENCE-Modul erkenne. iPhone durch Abfrage der MAC-Adresse an einer Fritzbox über (Beispiel)
defmod Handy_Andreas PRESENCE function cmd:{checkAllFritzMACpresent("XX:XX:XX:XX:XX:XX")} scan:1 sowie Android über eine structure, die aus lan-ping und der genannten Funktion zusammengesetzt wird. Hatte das vor Jahren so aufgesetzt, bin mir aber nicht klar ob das aktuell auch noch die geeignetste Lösung zur Erkennung der Handys ist.

"Installation" und Anpassung hat geklappt, allerdings habe ich folgende Meldungen im Log:
2021.11.15 11:31:00.895 3: PRESENCE (PsnceDaemon) - skip scan due to running job
2021.11.15 11:31:01.896 3: PRESENCE (PsnceDaemon) - skip scan due to running job
2021.11.15 11:31:06.758 3: PRESENCE (PsnceDaemon) - skip scan due to running job
2021.11.15 11:31:07.760 3: PRESENCE (PsnceDaemon) - skip scan due to running job
2021.11.15 11:31:10.450 3: PRESENCE (PsnceDaemon) - skip scan due to running job

ein get childinfo all bringt:
BlockingCalls:

   Pid:17923
   Fn:PRESENCE_doDaemonUnBlocking
   Arg:PsnceDaemon#Handy_Andreas,Handy_Andreas_LP,Handy_Natasja,Handy_Petra,Handy_Petra_LP,Handy_Tanja
   Timeout:60
   ConnectedVia:telnetForBlockingFn_1636969611_127.0.0.1_52974

Wie kann ich weitersuchen, woher diese Log-Einträge stammen und was noch nciht korrekt läuft?

Grüße Jürgen

Edit:
Glaube den Fehler gefunden zu haben.
IntervalNormal und IntervalPresence bei den Device waren im Standard mit 1 belegt. Habe beides auf 30 gestellt.
IntervalNormal im PsnceDaemon war auf 1 gestellt. Habe jetzt 60 eingetragen.

Mal sehen, ob das Problem beseitigt ist.
« Letzte Änderung: 15 November 2021, 14:41:06 von bmwfan »
CUL auf Raspi 2 B, HW-LAN, HMW_LC_Bl1_DR für Jalousien, HM_LC_Bl1_DR für Rolläden, Umweltsensoren

 

decade-submarginal