PRESENCE cover version - anderer Ansatz basierend auf aktuellem Code

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

Vorheriges Thema - Nächstes Thema

juemuc

Hallo Jörg,

da Martin das Modul überarbeitet hat, wäre er aus meiner Sicht der ideale Maintainer 8)

Es wäre gut, wenn ihr beide euch abstimmen könntet.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

JoWiemann

Zitat von: juemuc am 16 Januar 2024, 11:18:50Es wäre gut, wenn ihr beide euch abstimmen könntet.

Hallo Jürgen,

habe das Modul auch nur geerbt und hänge definitiv nicht dran.

@Martin, bitte gerne übernehmen.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

juemuc

Hallo Martin,

nach der Umstellung auf Dein Modul werden die beiden readings
pGrp__total  dis:0 ab:0 pres:0 2024-01-16 16:06:43
pGrp_default dis:0 ab:0 pres:0 2024-01-16 16:06:43
nicht akzuallisiert. Im log steht folgende Info:
2024.01.16 15:54:39 1: Timeout for PRESENCE_doDaemonUnBlocking reached, terminated process 45198
2024.01.16 15:54:39 2: PRESENCE (HASH(0x559cf3c1a8)) - scan aboart
2024.01.16 15:54:39 1: ERROR: empty name in readingsBeginUpdate
2024.01.16 15:54:39 1: stacktrace:
2024.01.16 15:54:39 1:     main::readingsBeginUpdate           called by fhem.pl (5191)
2024.01.16 15:54:39 1:     main::readingsSingleUpdate          called by ./FHEM/73_PRESENCE.pm (859)
2024.01.16 15:54:39 1:     main::PRESENCE_daemonAbortedScan    called by FHEM/Blocking.pm (285)
2024.01.16 15:54:39 1:     main::BlockingKill                  called by fhem.pl (3508)
2024.01.16 15:54:39 1:     main::HandleTimeout                 called by fhem.pl (707)
2024.01.16 15:54:39 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at fhem.pl line 5045.
2024.01.16 15:54:39 1: readingsUpdate(,daemonAboartCnt,1) missed to call readingsBeginUpdate first.
2024.01.16 15:54:39 1: stacktrace:
2024.01.16 15:54:39 1:     main::readingsBulkUpdate            called by fhem.pl (5192)
2024.01.16 15:54:39 1:     main::readingsSingleUpdate          called by ./FHEM/73_PRESENCE.pm (859)
2024.01.16 15:54:39 1:     main::PRESENCE_daemonAbortedScan    called by FHEM/Blocking.pm (285)
2024.01.16 15:54:39 1:     main::BlockingKill                  called by fhem.pl (3508)
2024.01.16 15:54:39 1:     main::HandleTimeout                 called by fhem.pl (707)
2024.01.16 15:54:39 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4778.
2024.01.16 15:54:39 1: PERL WARNING: Use of uninitialized value $dev in hash element at fhem.pl line 3848.

Wie kann ich das Problem beheben?

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

JoWiemann

Zitat von: juemuc am 16 Januar 2024, 16:09:00Hallo Martin,

nach der Umstellung auf Dein Modul werden die beiden readings
pGrp__total  dis:0 ab:0 pres:0 2024-01-16 16:06:43
pGrp_default dis:0 ab:0 pres:0 2024-01-16 16:06:43
nicht akzuallisiert. Im log steht folgende Info:
2024.01.16 15:54:39 1: Timeout for PRESENCE_doDaemonUnBlocking reached, terminated process 45198
2024.01.16 15:54:39 2: PRESENCE (HASH(0x559cf3c1a8)) - scan aboart
2024.01.16 15:54:39 1: ERROR: empty name in readingsBeginUpdate
2024.01.16 15:54:39 1: stacktrace:
2024.01.16 15:54:39 1:     main::readingsBeginUpdate           called by fhem.pl (5191)
2024.01.16 15:54:39 1:     main::readingsSingleUpdate          called by ./FHEM/73_PRESENCE.pm (859)
2024.01.16 15:54:39 1:     main::PRESENCE_daemonAbortedScan    called by FHEM/Blocking.pm (285)
2024.01.16 15:54:39 1:     main::BlockingKill                  called by fhem.pl (3508)
2024.01.16 15:54:39 1:     main::HandleTimeout                 called by fhem.pl (707)
2024.01.16 15:54:39 1: PERL WARNING: Use of uninitialized value $name in concatenation (.) or string at fhem.pl line 5045.
2024.01.16 15:54:39 1: readingsUpdate(,daemonAboartCnt,1) missed to call readingsBeginUpdate first.
2024.01.16 15:54:39 1: stacktrace:
2024.01.16 15:54:39 1:     main::readingsBulkUpdate            called by fhem.pl (5192)
2024.01.16 15:54:39 1:     main::readingsSingleUpdate          called by ./FHEM/73_PRESENCE.pm (859)
2024.01.16 15:54:39 1:     main::PRESENCE_daemonAbortedScan    called by FHEM/Blocking.pm (285)
2024.01.16 15:54:39 1:     main::BlockingKill                  called by fhem.pl (3508)
2024.01.16 15:54:39 1:     main::HandleTimeout                 called by fhem.pl (707)
2024.01.16 15:54:39 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4778.
2024.01.16 15:54:39 1: PERL WARNING: Use of uninitialized value $dev in hash element at fhem.pl line 3848.

Wie kann ich das Problem beheben?

Viele Grüße
Jürgen

Hallo Jürgen,

die Zeilennummern passen nicht zur Version von hier: https://forum.fhem.de/index.php?msg=1122351

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

juemuc

Hallo Jörg,

vielen Dank. Das ist genau der Grund, warum ich Module, die nicht über das FHEM-Update verteilt werden, nicht mag. Ich erwische meistens die falsche Version :-[

Aber es passt noch immer nicht  :o
2024.01.16 18:37:15 1: Timeout for PRESENCE_doDaemonUnBlocking reached, terminated process 984
2024.01.16 18:37:15 2: PRESENCE (HASH(0x55cb3ffd30)) - scan aboart
2024.01.16 18:37:15 1: ERROR: empty name in readingsBeginUpdate
2024.01.16 18:37:15 1: stacktrace:
2024.01.16 18:37:15 1:     main::readingsBeginUpdate           called by fhem.pl (5191)
2024.01.16 18:37:15 1:     main::readingsSingleUpdate          called by ./FHEM/73_PRESENCE.pm (861)
2024.01.16 18:37:15 1:     main::PRESENCE_daemonAbortedScan    called by FHEM/Blocking.pm (285)
2024.01.16 18:37:15 1:     main::BlockingKill                  called by ./FHEM/73_PRESENCE.pm (290)
2024.01.16 18:37:15 1:     main::PRESENCE_Set                  called by fhem.pl (3980)
2024.01.16 18:37:15 1:     main::CallFn                        called by fhem.pl (1970)
2024.01.16 18:37:15 1:     main::DoSet                         called by fhem.pl (2002)
2024.01.16 18:37:15 1:     main::CommandSet                    called by fhem.pl (1282)
2024.01.16 18:37:15 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2861)
2024.01.16 18:37:15 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1025)
2024.01.16 18:37:15 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (609)
2024.01.16 18:37:15 1:     main::FW_Read                       called by fhem.pl (3985)
2024.01.16 18:37:15 1:     main::CallFn                        called by fhem.pl (786)
2024.01.16 18:37:15 1: readingsUpdate(,daemonAboartCnt,1) missed to call readingsBeginUpdate first.
2024.01.16 18:37:15 1: stacktrace:
2024.01.16 18:37:15 1:     main::readingsBulkUpdate            called by fhem.pl (5192)
2024.01.16 18:37:15 1:     main::readingsSingleUpdate          called by ./FHEM/73_PRESENCE.pm (861)
2024.01.16 18:37:15 1:     main::PRESENCE_daemonAbortedScan    called by FHEM/Blocking.pm (285)
2024.01.16 18:37:15 1:     main::BlockingKill                  called by ./FHEM/73_PRESENCE.pm (290)
2024.01.16 18:37:15 1:     main::PRESENCE_Set                  called by fhem.pl (3980)
2024.01.16 18:37:15 1:     main::CallFn                        called by fhem.pl (1970)
2024.01.16 18:37:15 1:     main::DoSet                         called by fhem.pl (2002)
2024.01.16 18:37:15 1:     main::CommandSet                    called by fhem.pl (1282)
2024.01.16 18:37:15 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2861)
2024.01.16 18:37:15 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (1025)
2024.01.16 18:37:15 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (609)
2024.01.16 18:37:15 1:     main::FW_Read                       called by fhem.pl (3985)
2024.01.16 18:37:15 1:     main::CallFn                        called by fhem.pl (786)
2024.01.16 18:37:15 1: Error: >HASH(0x55cb3ffd30)< has no TYPE, but following keys: >READINGS,helper<

Die readings sind aber jetzt korrekt.

Hoffentlich hat Martin ein "Erbarmen"  O:-)

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

JoWiemann

Zitat von: juemuc am 16 Januar 2024, 18:41:43Die readings sind aber jetzt korrekt.

Hoffentlich hat Martin ein "Erbarmen"  O:-)

Viele Grüße
Jürgen

Hallo Jürgen,

ich habe etwas eingebaut, dass den Fehler handhaben soll. Bitte einmal testen.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

juemuc

Hallo Jörg,

vielen Dank.
Der Test verlief ohne Fehlermeldungen oder sonstige Probleme.  ;D

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

JoWiemann

Hallo,

sollten weitere positive Rückmeldungen kommen, würde ich es auch ins SVN einchecken. Allerdings überlege ich den Namen anzupassen, da es nicht rückwärts Kompatible ist.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

flummy1978

Hallöchen,

ich habe jetzt auch aktuell seit einigen Tagen die Version die bis heute gültig war im Betrieb gehabt und wäre natürlich schon dafür es auch wieder mit dem Update zu bekommen.

Zitat von: JoWiemann am 17 Januar 2024, 15:48:56sollten weitere positive Rückmeldungen kommen, würde ich es auch ins SVN einchecken. Allerdings überlege ich den Namen anzupassen, da es nicht rückwärts Kompatible ist.
Die Frage ist welche Vor / Nachteile gibt es für die jeweiligen Nutzer der Alten als auch "neuen" Version.
Welche Probleme ergäben sich durch eine Namensänderung für aktive Nutzer, der "inoffiziellen" Version?

VG
Andreas

juemuc

Hallo Jörg,

aus meiner Sicht wäre es wichtig darüber zu informieren, dass die Devices, die mit der Funktion "event" definiert sind (im aktuellen SVN-Modul), gelöscht werden. Mir war das bewusst und ich habe diese über ein notify + dummy vorher neu definiert.

Einen neuen Namen würde ich nicht definieren. Wer es nicht nutzen will, kann es ja vom update ausschließen. Eventuell im Forum entspechende Hinweise posten und nach x-Tagen dann ersetzen. 

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

JoWiemann

Zitat von: juemuc am 17 Januar 2024, 19:14:35Einen neuen Namen würde ich nicht definieren. Wer es nicht nutzen will, kann es ja vom update ausschließen. Eventuell im Forum entspechende Hinweise posten und nach x-Tagen dann ersetzen. 

Hallo Jürgen,

mit Benutzer über das Forum hinweisen, entsprechende Hinweise über das Modul selber geben, da habe ich schon so meine Erfahrungen gemacht. Das funktioniert einfach nicht. Das Modul ist einfach zu weit weg vom aktuellen Modul. Da ist es meiner Meinung nach einfacher die bewussten Nutzer der Cover Version zu informieren, dass sie ihre Devices neu definieren müssen, als die zu erreichen, die alle Monate mal updaten und sich dann wundern, dass Presence nicht mehr funktioniert.

Grüße Jörg

PS: Und ich habe gesehen das die CommandRef noch erheblichen Handlungsbedarf hat.
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

enno

Zitat von: juemuc am 17 Januar 2024, 19:14:35Einen neuen Namen würde ich nicht definieren. Wer es nicht nutzen will, kann es ja vom update ausschließen. Eventuell im Forum entsprechende Hinweise posten und nach x-Tagen dann ersetzen. 

Nur Mut, ich würde es genauso sehen. Update unter gleichen Namen und die "Einschläge" abwarten. Hatte z.B. beim HM-Modul auch letztlich geklappt, sogar ohne Vorwarnung ;) Viele haben damals gelernt wie ein Backup funktioniert und wo man den Eintrag macht um vom Update auszuschließen.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

JoWiemann

Hallo,

ich werde jetzt erst einmal im aktuellen Modul eine Warnung einbauen und dann etwas später das eigentliche Update auf den Weg bringen.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Jamo

Hi Jörg,
ich bin dagegen das Modul unter dem gleichen Namen zu veröffentlichen, aus folgenden Gründen:
- Das cover Modul ist, soweit ich hier im Thread gelesen habe, NICHT mehr kompatibel oder funktioniert nicht mehr für lan-bluetooth und/oder andere operational modes. Als Beispiel diene lan-bluetooth, das viele wie im WIKI beschrieben mit collectord einsetzen.
- Attribute sind geändert odder weggefallen (z.B. absenceThreshold, das meiner Meinung für Bluetooth auch Sinn macht.)
- Das cover Modul verbessert / verändert nur den lan-ping mode. Die Funktionsweise und attribute der anderen Modi hat Martinp876 gar nicht mehr geprüft da er diese gar nicht benutzt. 

Es gibt Nutzer die diese anderen Modi und Attribute nutzen oder sogar mehrere Modi gleichzeitig nutzen (lan-ping und lan-bluetooth gleichzeitig). Ein update unter gleichem Namen zerschiesst die Installation. "Nur Mut, ...ein Update unter gleichen Namen und die "Einschläge" abwarten", ist einfach zu sagen für die User hier im Thread, die nur lan-ping benutzen und sowieso schon auf das cover modul geändert haben. Aber es gibt User, die haben seit Jahren eine unveränderte Installation auch mit lan-bluetooth, und die lesen hier nicht mit.

Was sollen die mit lan-bluetooth machen, die das neue lan-ping gar nicht benutzen wollen? Oder die, die lan-bluetooth UND das neue cover lan-ping benutzen wollen?  Dann das alte bisherige Modul unter einem anderen Namen kopieren, damit die bisherige lan-bluetooth Funktion weiterhin benutzt werden kann?

Ein Update unter gleichem Namen würde ich nur machen, falls das Modul kompatibel zu den anderen Modi ist und die Attribute beibehält.

My 2 cents.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

juemuc

Hallo Jamo,

ein "exclude_from_update" für dieses Modul unter "global" und schon ändert sich für die User nichts. Ich weiß nur, dass die Funktion "event" entfällt.
Letztendlich bin ich aber nur Anwender.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).