PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code

Begonnen von martinp876, 23 Dezember 2020, 14:38:45

Vorheriges Thema - Nächstes Thema

gestein

Hallo,

habe nun die letzte Version eingespielt.
An der Konfiguration habe ich nix geändert.
Es gibt

Der Deamon ändert keine Werte mehr, dafür kommt im log wieder:
PRESENCE (PsnceDeamon) - skip scan due to running job

Es gibt 50+ Devices mit "lan-ping" und den Werten:
intervalNormal 30
intervalPresent 30


Im Deamon gibt es die folgenden Readings:
deamonMaxScanTime 41
deamonSkipCnt 1


sowie das Attribut:
intervalNormal 60
Das hatte ich gestern selbst gesetzt, weil ja die MaxScanTime 41 ist.

Stimmt das so mit den Einstellungen?
Warum beendet der Deamon das Scannen dann nicht?

Danke im Voraus
lg, Gerhard

martinp876

Updates

  • 1) Namenskorrektur:
    Deamon ist natürlich falsch - habe ich in Daemon geändert - auf allen Ebenen. Achtung beim Einspielen - ich haben keinen Konverter eingebaut (wir sind in der Speilversion)
  • 2) lan-bluetooth
    habe ich eingebaut und getestet. Zumindest einige Fälle. Ich habe nur einen presenced in Betrieb und getestet.
    Ich bin aktuell nicht sicher, alle restart und stop events korrekt zu handeln. Testen sollte man schon können. Auch den collector-daemon ist  nicht getestet.
  • 3) bugfix
    disable wurde nicht immer korrekt ausgewertet
[li]4) Gerhards Kommentar
ist mir unklar, warum es nicht läuft. geskippt wird, wenn der Daemon noch einen Eintrag hat und "glaubt" ein Blocking Prozess sein noch aktiv. Unschön, wenn ich übersehen habe, den Eintrag in einem fall zu löschen.
[/li][/list]get PsnceDaemon childInfo
zeigt alle Kinder-Prozesse. Wird hier keiner angezeigt läuft auch keiner.
Mit
set PsnceDaemon killChilds

    kann man den Prozesse schlachten, dann sollte es wieder anlaufen
    Grundsätzlich sollte blocking einen default timeout von 60s haben, so die doku.
    => sollte es zu weiterenHängern kommen bitte um Info damit ich es prüfenund automatisch behandeln kann.
    [/li]
  • 5) lan-bluetooth verhalten
    Im Gegensatz zu den übrigen Scans ist lan-bluetooth deutlich schonender eingebaut. Der Daemon läuft im Hintergrund - es wird über socket kommuniziert. So etwas ist zwar aufwändiger aber doch performanter als das blocking. Will sagen eigentlich sollte man auch die Pings über einen externen Prozess laufen lassen. Das ist deutlich performanter, da schon erst einmal der Prozess viel kleiner ist. Das zu implementieren ist aber erst einmal in initialaufwand. Konzeptionell würde ich dann dennoch in FHEM einen Deamon vorsehen und alle Devices auf einmal abfragen. Macht den externen Prozess etwas aufwändiger, verringert die IPC (Sockets)


also: schon besser, es gibt Luft nach oben.

Erweiterungen: Bislang scheinen alle mit den Möglichkeiten und Readings zufrieden zu sein. Es gibt keine Wünsche.

gestein

Hallo,

Super, vielen Dank.

Das ,, get PsnceDaemon childInfo" liefert einen Dialog, in dem steht nur ,,blockingcalls:" - sonst nichts.
Auch das ,,killChilds" ändert nichts daran

Aber zuerst spiele ich mal die neue Version ein.
Vielleicht ist trotz Neustart was hängen geblieben.

Das mit lan-bluetooth werde ich auch gleich mal testen.

Lg, Gerhard

binford6000

    Zitat von: martinp876 am 30 Dezember 2020, 11:39:05
    Updates

    • 1) Namenskorrektur:
      Deamon ist natürlich falsch - habe ich in Daemon geändert - auf allen Ebenen. Achtung beim Einspielen - ich haben keinen Konverter eingebaut (wir sind in der Speilversion)
    • 2) lan-bluetooth
      habe ich eingebaut und getestet. Zumindest einige Fälle. Ich habe nur einen presenced in Betrieb und getestet.
      Ich bin aktuell nicht sicher, alle restart und stop events korrekt zu handeln. Testen sollte man schon können. Auch den collector-daemon ist  nicht getestet.
    • 3) bugfix
      disable wurde nicht immer korrekt ausgewertet
    [li]4) Gerhards Kommentar
    ist mir unklar, warum es nicht läuft. geskippt wird, wenn der Daemon noch einen Eintrag hat und "glaubt" ein Blocking Prozess sein noch aktiv. Unschön, wenn ich übersehen habe, den Eintrag in einem fall zu löschen.
    [/li][/list]get PsnceDaemon childInfo
    zeigt alle Kinder-Prozesse. Wird hier keiner angezeigt läuft auch keiner.
    Mit
    set PsnceDaemon killChilds

      kann man den Prozesse schlachten, dann sollte es wieder anlaufen
      Grundsätzlich sollte blocking einen default timeout von 60s haben, so die doku.
      => sollte es zu weiterenHängern kommen bitte um Info damit ich es prüfenund automatisch behandeln kann.
      [/li]
    • 5) lan-bluetooth verhalten
      Im Gegensatz zu den übrigen Scans ist lan-bluetooth deutlich schonender eingebaut. Der Daemon läuft im Hintergrund - es wird über socket kommuniziert. So etwas ist zwar aufwändiger aber doch performanter als das blocking. Will sagen eigentlich sollte man auch die Pings über einen externen Prozess laufen lassen. Das ist deutlich performanter, da schon erst einmal der Prozess viel kleiner ist. Das zu implementieren ist aber erst einmal in initialaufwand. Konzeptionell würde ich dann dennoch in FHEM einen Deamon vorsehen und alle Devices auf einmal abfragen. Macht den externen Prozess etwas aufwändiger, verringert die IPC (Sockets)


    also: schon besser, es gibt Luft nach oben.

    Erweiterungen: Bislang scheinen alle mit den Möglichkeiten und Readings zufrieden zu sein. Es gibt keine Wünsche.

    Vielen Dank für die lan-bluetooth Integration!  :)

    Ich hab die neue Version eingespielt. Presence springt sekündlich von present auf absent:

    Present:
    Internals:
       ADDRESS    7C:2F:80:98:AC:0F
       CFGFN     
       DEF        lan-bluetooth 7C:2F:80:98:AC:0F 10.3.3.9:5333 scan:1
       DeviceName 10.3.3.9:5333
       FD         19
       FUUID      5fec5c6b-f33f-fe74-4b0d-da59b4fcfe4569d2
       MODE       lan-bluetooth
       NAME       sebastian_gtag.pre
       NOTIFYDEV  global
       NR         133
       NTFY_ORDER 50-sebastian_gtag.pre
       PARTIAL   
       STATE      present
       TYPE       PRESENCE
       CL:
         Authenticated 0
         BUF       
         FD         21
         FW_ID      129
         LASTACCESS 1609326154
         NAME       WEB_10.3.3.31_63221
         NR         347
         PEER       10.3.3.31
         PORT       63221
         SNAME      WEB
         SSL       
         STATE      Connected
         TEMPORARY  1
         TYPE       FHEMWEB
         canAsyncOutput 1
         READINGS:
           2020-12-30 11:57:34   state           Connected
       READINGS:
         2020-12-30 12:02:23   ArrivalCnt      28
         2020-12-30 12:02:25   battery_level   19
         2020-12-30 12:02:25   battery_level_age 4
         2020-12-30 12:02:23   command_accepted yes
         2020-12-30 12:02:25   daemon          lepresenced V0.93dev20
         2020-12-30 12:02:25   device_name     device_name=Gigaset G-tag;rssi=-59;battery_level=19;battery_level_age=4;model=lan-lepresenced
         2020-12-30 12:02:23   lastArrival     2020-12-30 12:02:23
         2020-12-30 12:02:22   lastDeparture   2020-12-30 12:02:22
         2020-12-30 12:02:25   model           lan-lepresenced
         2020-12-30 12:02:25   presence        present
         2020-12-30 12:02:25   room            daemon=lepresenced V0.93dev20
         2020-12-30 12:02:25   rssi            -59
         2020-12-30 12:02:25   state           present
       helper:
         DISABLED   1
         curState   present
         maybe      0
         nextScan   0
         cnt:
           exec       178
           maybe      0
           state      28
           th         0
         interval:
           absent     1
           init       30
           present    1
         timestamp:
           absent     2020-12-30 12:02:22
           present    2020-12-30 12:02:23
    Attributes:
       disable    1
       event-on-change-reading .*
       icon       gtag
       intervalNormal 30
       intervalPresent 30
       verbose    5


    Absent:
    Internals:
       ADDRESS    7C:2F:80:98:AC:0F
       CFGFN     
       DEF        lan-bluetooth 7C:2F:80:98:AC:0F 10.3.3.9:5333 scan:1
       DeviceName 10.3.3.9:5333
       FD         19
       FUUID      5fec5c6b-f33f-fe74-4b0d-da59b4fcfe4569d2
       MODE       lan-bluetooth
       NAME       sebastian_gtag.pre
       NOTIFYDEV  global
       NR         133
       NTFY_ORDER 50-sebastian_gtag.pre
       PARTIAL   
       STATE      absent
       TYPE       PRESENCE
       CL:
         Authenticated 0
         BUF       
         FD         21
         FW_ID      129
         LASTACCESS 1609326348
         NAME       WEB_10.3.3.31_63221
         NR         347
         PEER       10.3.3.31
         PORT       63221
         SNAME      WEB
         SSL       
         STATE      Connected
         TEMPORARY  1
         TYPE       FHEMWEB
         canAsyncOutput 1
         READINGS:
           2020-12-30 11:57:34   state           Connected
       READINGS:
         2020-12-30 12:05:42   ArrivalCnt      2
         2020-12-30 12:05:44   battery_level   19
         2020-12-30 12:05:44   battery_level_age 4
         2020-12-30 12:05:45   command_accepted yes
         2020-12-30 12:05:45   daemon          lepresenced V0.93dev20
         2020-12-30 12:05:44   device_name     device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced
         2020-12-30 12:05:42   lastArrival     2020-12-30 12:05:42
         2020-12-30 12:05:45   lastDeparture   2020-12-30 12:05:45
         2020-12-30 12:05:45   model           lan-lepresenced
         2020-12-30 12:05:45   presence        absent
         2020-12-30 12:05:44   room            daemon=lepresenced V0.93dev20
         2020-12-30 12:05:45   rssi            unreachable
         2020-12-30 12:05:45   state           absent
       helper:
         DISABLED   1
         curState   absent
         maybe      0
         nextScan   0
         cnt:
           exec       13
           maybe      0
           state      2
           th         0
         interval:
           absent     1
           init       30
           present    1
         timestamp:
           absent     2020-12-30 12:05:45
           present    2020-12-30 12:05:42
    Attributes:
       disable    1
       event-on-change-reading .*
       icon       gtag
       intervalNormal 30
       intervalPresent 30
       verbose    5


    Nach dem Wechsel von Disable 0/1 musste ich nochmal die DEF speichern um das Device wieder zum Leben
    zu erwecken.

    Im Log steht:
    2020.12.30 12:05:46.241 5:  PRESENCE (sebastian_gtag.pre) - received data: absence;rssi=unreachable;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:47.244 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:48.248 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:49.251 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:50.255 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:51.007 5:  PRESENCE (sebastian_gtag.pre) - received data: absence;rssi=unreachable;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:52.011 5:  PRESENCE (sebastian_gtag.pre) - received data: absence;rssi=unreachable;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:53.016 5:  PRESENCE (sebastian_gtag.pre) - received data: absence;rssi=unreachable;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:54.020 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-57;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:55.023 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-57;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:56.026 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-57;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:57.030 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:58.034 5:  PRESENCE (sebastian_gtag.pre) - received data: absence;rssi=unreachable;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:05:59.038 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:00.043 5:  PRESENCE (sebastian_gtag.pre) - received data: absence;rssi=unreachable;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:01.051 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:02.050 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:03.056 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:04.060 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:05.063 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:06.067 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:07.071 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:08.076 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:09.081 5:  PRESENCE (sebastian_gtag.pre) - received data: absence;rssi=unreachable;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:10.085 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:11.091 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:12.094 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:13.098 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:14.101 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-57;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:15.110 5:  PRESENCE (sebastian_gtag.pre) - received data: absence;rssi=unreachable;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:16.113 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-57;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:17.116 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-57;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:18.119 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-57;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:19.124 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:20.128 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:21.133 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:22.147 5:  PRESENCE (sebastian_gtag.pre) - received data: absence;rssi=unreachable;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:23.150 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:24.155 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:25.153 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:26.153 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:27.156 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:28.159 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:29.163 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:30.168 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:31.177 5:  PRESENCE (sebastian_gtag.pre) - received data: absence;rssi=unreachable;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:32.178 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:33.182 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:34.179 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:35.190 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:36.186 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:37.189 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:38.221 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:39.210 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:40.198 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:41.201 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:42.204 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:43.207 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:44.210 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:45.215 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:46.219 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:47.222 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:48.256 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:49.254 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:50.258 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20
    2020.12.30 12:06:51.262 5:  PRESENCE (sebastian_gtag.pre) - received data: present;device_name=Gigaset G-tag;rssi=-58;battery_level=19;battery_level_age=4;model=lan-lepresenced;daemon=lepresenced V0.93dev20



    • Ist meine DEF korrekt?
    • FHEM läuft bei mir in einem Docker-Container und der lepresenced auf dem Docker-Host

    VG Sebastian

    binford6000

    ZitatErweiterungen: Bislang scheinen alle mit den Möglichkeiten und Readings zufrieden zu sein. Es gibt keine Wünsche.

    Ich hatte noch den Vorschlag gemacht, die Group-Readings für ab und pres als einzelne Readings für ab und pres zu gestalten... 

    MadMax-FHEM

    Ich lese ja schon eine Weile interessiert mit.
    (daher "pinne" ich mich jetzt [endlich] mal an :)  )

    Evtl. habe ich auch mal Zeit das auf ein Testsystem zu spielen...

    Auf meinem Hauptsystem würde ich es aber nur nutzen, wenn es "abgekoppelt" vom jetzigen PRESENCE wäre (also anderer Modulname) und auch über das fhem Update käme...
    ...sorry! ;)

    Aber danke für die Mühen schon mal!

    Gruß, Joachim
    FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
    FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
    FHEM PI3 Buster (Test)

    martinp876


    • killChild
      mein fehler:  ist korrigiert - nach Kill wird blocking nun definitiv gestartet.
      Evtl baue ich noch einen Automatischen Check ein, der wirklich nach den Jobs sucht.
    • @MADMax
      ein paralleles Modul will ich nicht einführen. Das führt m.E.  zum Chaos. Mich nervt es immer ungemein, wenn ich eine Auswahl  von 2 oder mehr Modulen habe und mich in der Tiefe um die Unterschiede kümmern muss. Ich werde das Modul für mich erstellen und es jedem anderen zu Verfügung stellen. Sollte die Entscheidung getroffen werden, das aktuelle Modul zu ersetzen ist das ok. Allerdings hat FHEM hier keinen mir bekannten Prozess - also wird es wohl nix
      Ersetzen kann ich es nicht, da ich nicht der Owner bin.
      Wenn du es  nicht nutzen willst trifft mich das nicht wirklich.
      Das aktuelle Modul kann aus meiner Sicht genutzt werden für lan-bluetooth (gut)und Event(nicht mein Stil). Für andere Modies ist es m.E. wegen des Blocking nur für sehr wenige Devices nutzbar. Alles andere ist ein Tanz auf dem Vulkan.
    • lan-bluetooth
      die Definition ist
      defmod prBtTablet PRESENCE lan-bluetooth  48:88:CA:DD:67:88 127.0.0.1:5111

      scan: wird nur gebrauche, wenn ich den scan-string nicht kenne - also bei function und shellscript.
      In der aktuellen Version sollte das Timer auf 30s für lan-bt stehen. 1s ist es für alle anderen unddamit der Timer des Daemon
    • lan-bluetooth funktion
      nun, bei mir toggelt es nicht. Wenn ich BT am Smartphone einschalte ist es present. wenn ich ausschalte ist es off

      lan-BT läuft nicht über den Daemon - der Timer läuft extern im "presenced". Es macht also keinen Sinn, dies künstlich dem daemon unterzuordnen
    • Gruppen Zähler
      sicher Geschmackssache, ob man eine komprimierte List oder doppelt so viele einzelne Readings haben will. Ich möchte es typisch komprimiert - was aber schlecht auszu werden ist. Bei Zählern reicht mir typisch, das sich etwas geändert hat. Bearbeite ich es automatisch (notify/alarming,...) reicht es typisch, zu wissen, dass sich die Gruppe verändert hat. Intersanter ist m.E. zu wissen, wer nun gekommen ist. Das könnte man in einem notify nutzen... ist aber schon recht speziell.
      Ich überlege noch einmal...
    • Disable bei lan-bt
      dummer logikfehler meinerseits. Schlecht getestet obendrein

    Vielen Dank fü rdas rege Testen und die Gedult

    Benni

    Zitat von: martinp876 am 30 Dezember 2020, 19:32:16
    Sollte die Entscheidung getroffen werden, das aktuelle Modul zu ersetzen ist das ok. Allerdings hat FHEM hier keinen mir bekannten Prozess - also wird es wohl nix
    Ersetzen kann ich es nicht, da ich nicht der Owner bin.

    Hmm ... grundsätzlich würde ich es auch begrüßen, wenn die Änderungen in den "offiziellen" Zweig übernommen würden. Hast du schon mal versucht, diesbezüglich mit Markus Bloch, dem eigentlichen Modulautor in Kontakt zu treten? Vielleicht hätte er ja gar nichts dagegen, wenn ihm jemand Arbeit abnimmt ;)

    gb#

    binford6000

    Zitatlan-bluetooth
    die Definition ist
    defmod prBtTablet PRESENCE lan-bluetooth  48:88:CA:DD:67:88 127.0.0.1:5111

    scan: wird nur gebrauche, wenn ich den scan-string nicht kenne - also bei function und shellscript.
    In der aktuellen Version sollte das Timer auf 30s für lan-bt stehen. 1s ist es für alle anderen unddamit der Timer des Daemon
    lan-bluetooth funktion
    nun, bei mir toggelt es nicht. Wenn ich BT am Smartphone einschalte ist es present. wenn ich ausschalte ist es off

    lan-BT läuft nicht über den Daemon - der Timer läuft extern im "presenced". Es macht also keinen Sinn, dies künstlich dem daemon unterzuordnen

    Hab die aktuellste Version eingespielt:


    • Ok, scan: jetzt final verstanden...
    • Mit dem externen lepresenced toggelt es nach wie vor nahezu sekündlich.
    • Vermutlich ist der externe Timer von lepresenced das "Problem". Wie macht das das alte PRESENCE?
    • Ein gesetztes disable 1 wird beim Speichern der DEF immer noch ignoriert.

    Ich scheine der einzige zu sein, der mit lepresenced und lan-bluetooth testet. Wäre ja schön, wenn
    die anderen "Wünscher" es auch mal testen würden...  ;)

    VG Sebastian


    gestein

    Hallo,

    das Testen ist nicht immer so einfach ;)
    Man muss sich dazu Zeit nehmen ...

    Habe aber nun die neue Version eingespielt.
    1) lan-ping scheint zu funktionieren
    2) lan-bluetooth klappt mit der Definition:
    lan-bluetooth 7C:2F:80:99:XX:YY 127.0.0.1:5222

    Allerdings liefert es diese Readings:
    ArrivalCnt 1
    command_accepted yes
    daemon lepresenced V0.93dev21
    device_name rooms='Vorzimmer';room='Vorzimmer';rssi_Vorzimmer='-80';device_name=Gigaset G-tag;rssi=-80;model=lan-lepresenced
    lastArrival 2020-12-30 23:20:40
    lastDeparture 2020-12-30 22:08:51
    model lan-lepresenced
    presence present
    room daemon=lepresenced V0.93dev21
    rooms Vorzimmer
    rssi -80
    rssi_Vorzimmer -80
    state present


    Da scheint das Parsen noch nicht ganz hinzuhauen.

    3) das lepresenced erzeugt noch Batterie-Readings, die in den collectord und dann in das Presence-Device durchgereicht wurden.
    Das klappt zumindest bei mir noch nicht.

    lg, Gerhard

    gestein

    noch etwas:
    alle meine Presence-Devices mit "function" haben nun die folgenden Attribute:
    disable 1
    intervalNormal 1
    intervalPresent 1


    Ich denke nicht, dass ich das war ;)

    Hier das define:
    function cmd:{CheckPresence("192.168.0.xxx", "38:53:9c:8e:xx:yy", "hci0")} scan:1
    Wenn ich das Attribut disable lösche, bleibt der state trotzdem auf "disabled.

    Das hatte schon mal funktioniert.
    CheckPresence ist eine eigene Perl-Funktion.

    lg, Gerhards

    binford6000

    Moin Zusammen,
    die Beobachtung von Gerhard kann ich bestätigen: Alle Function-DEFs haben intervalNormal 1 und intervalPresent 1 erhalten.

    Ich habe dann vorhin noch lepresenced-0.93-1.deb vom 04.10.2020 eingespielt und siehe da: Kein toggeln mehr!  :)
    Internals:
       ADDRESS    7C:2F:80:98:AC:0F
       DEF        lan-bluetooth 7C:2F:80:98:AC:0F 10.3.3.9:5333
       DeviceName 10.3.3.9:5333
       FD         25
       FUUID      5fec614d-f33f-fe74-fd31-9eeb6ab851b7850c
       FVERSION   73_PRESENCE.pm:0.183140/2019-01-18
       MODE       lan-bluetooth
       NAME       sebastian.gtag.pre
       NOTIFYDEV  global
       NR         93
       NTFY_ORDER 50-sebastian.gtag.pre
       PARTIAL   
       STATE      present
       TYPE       PRESENCE
       CL:
         Authenticated 0
         BUF       
         FD         16
         FW_ID      16776
         LASTACCESS 1609397702
         NAME       WEB_10.3.3.30_51573
         NR         16840
         PEER       10.3.3.30
         PORT       51573
         SNAME      WEB
         SSL       
         STATE      Connected
         TEMPORARY  1
         TYPE       FHEMWEB
         canAsyncOutput 1
         READINGS:
           2020-12-31 07:55:02   state           Connected
       READINGS:
         2020-12-31 07:50:06   ArrivalCnt      1
         2020-12-31 07:54:43   batteryPercent  17
         2020-12-31 07:54:43   batteryPercentAge 0
         2020-12-30 13:52:15   battery_level   17
         2020-12-30 13:52:15   battery_level_age 0
         2020-12-31 07:51:59   command_accepted yes
         2020-12-31 07:54:43   daemon          lepresenced V0.93
         2020-12-31 07:54:43   device_name     device_name=Gigaset G-tag;rssi=-69;batteryPercent=17;batteryPercentAge=0;model=lan-lepresenced
         2020-12-31 07:50:06   lastArrival     2020-12-31 07:50:06
         2020-12-30 20:54:30   lastDeparture   2020-12-30 20:54:30
         2020-12-31 07:54:43   model           lan-lepresenced
         2020-12-31 07:54:43   presence        present
         2020-12-31 07:54:43   room            daemon=lepresenced V0.93
         2020-12-31 07:54:43   rssi            -69
         2020-12-31 07:54:43   state           present
       helper:
         DISABLED   0
         curState   present
         maybe      0
         nextScan   1609397523.75877
         cnt:
           exec       11
           maybe      0
           state      1
           th         0
         interval:
           absent     40
           init       30
           present    40
         timestamp:
           present    2020-12-31 07:50:06
    Attributes:
       intervalNormal 40
       intervalPresent 40


    Batterie-Readings werden ebenfalls aktualisiert.
    @Gerhard: Hats du die neusten collectord und lepresenced debs installiert?

    VG Sebastian

    binford6000

    #72
    Beim Einstellen vom Attribut pGroup kommt die Meldung
    ARRAY(0x55a242a4be98)


    gestein

    #73
    Guten Morgen,

    Ich habe die Version lepresenced V0.93dev21 installiert.
    Wusste nicht, dass es eine neue gibt.
    Daher werde ich mal aktualisieren.
    Danke für den Hinweis.

    Stimmen bei Dir die Readings bzgl. Räume etc.?

    Lg, Gerhard

    Edit: sehe gerade in Deinem List, dass alles zu passen scheint.

    binford6000

    Zitat von: gestein am 31 Dezember 2020, 09:23:36
    Stimmen bei Dir die Readings bzgl. Räume etc.?
    Lg, Gerhard
    Edit: sehe gerade in Deinem List, dass alles zu passen scheint.

    Da ich keinen collectord einsetze werden auch keine Räume ausgewertet.

    Auf das Update bin ich durch deine Version V0.93dev21 aufmerksam geworden. Ich hatte ja vorher V0.93dev20
    im Einsatz.