Neuigkeiten:

Am Sonntag den 8.12.2024 kann es ab ca. 8:00 Uhr zu kurzzeitigen Einschränkungen / Ausfällen bei den Diensten des FHEM Vereines kommen.
Die Server müssen mal gewartet und dabei neu gestartet werden ;)

Hauptmenü

inotify, Fhem auf VM in Proxmox

Begonnen von Gisbert, 16 Oktober 2024, 11:37:51

Vorheriges Thema - Nächstes Thema

Gisbert

Hallo marvin78,

ich benutze dein Modul, um einen Ordner auf neue Dateien einer Kamera zu überwachen.

Leider funktioniert das nicht stabil, d.h. gelegentlich werden die Readings lastEventFile und lastEventMask richtig angezeigt, meist aber nicht. Mit anderen Worten, man kann sich nicht auf die Readings in diesem Device verlassen.

Bei mir läuft Fhem in einer VM auf einem Proxmox-Server. Die Bilder der Kameraüberwachung sind vorhanden, d.h. die Bewegungserkennung und das Abspeichern der Dateien funktioniert.

Der Besitzer des zu überwachenenden Ordners ist ftpuser:ftpuser, aber auch fhem:dialout macht keinen Unterschied.

Welches Attribut Mask muss ich setzen, um zuverlässige Readings zu bekommen?

define storedCamHaustuer inotify /home/ftpuser/FoscamCamera_E8ABFAA73D1A/snap HMDAlarm_*
attr storedCamHaustuer group IPCAM
attr storedCamHaustuer icon it_network
attr storedCamHaustuer mask IN_CLOSE_WRITE,IN_CLOSE_NOWRITE,IN_OPEN,IN_CREATE
attr storedCamHaustuer room Network
attr storedCamHaustuer stateFormat last event:<br/>activity
attr storedCamHaustuer userReadings activity {substr(ReadingsTimestamp($name,'lastEventMask',''),0,19)}
#   CFGFN      ./FHEM/Wlan-Kamera.cfg
#   DEF        /home/ftpuser/FoscamCamera_E8ABFAA73D1A/snap HMDAlarm_*
#   FD         97
#   FILES      HMDAlarm_*
#   FUUID      66a0de22-f33f-e986-c2bf-b9741fc7ab946efc
#   MID        inotify_homeftpuserFoscamCamera_E8ABFAA73D1AsnapHMDAlarm_
#   NAME       storedCamHaustuer
#   NOTIFYDEV  global
#   NR         88
#   NTFY_ORDER 81-storedCamHaustuer
#   PATH       /home/ftpuser/FoscamCamera_E8ABFAA73D1A/snap
#   STATE      last event:<br/>2024-10-14 15:31:18
#   TYPE       inotify
#   VERSION    0.6.4
#   eventCount 3
#   READINGS:
#     2024-10-16 11:12:15   activity        2024-10-14 15:31:18
#     2024-10-14 15:31:18   lastEventFile   /home/ftpuser/FoscamCamera_E8ABFAA73D1A/snap/HMDAlarm_20241013-204632.jpg
#     2024-10-14 15:31:18   lastEventMask   IN_OPEN
#     2024-10-16 11:12:15   state           active
#   helper:
#     bm:
#       inotify_Define:
#         cnt        3
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        16.10. 11:12:15
#         max        0.10362696647644
#         tot        0.301160097122192
#         mAr:
#           HASH(0x5650f67c32b0)
#           storedCamHaustuer inotify /home/ftpuser/FoscamCamera_E8ABFAA73D1A/snap HMDAlarm_*
#       inotify_Get:
#         cnt        11
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        16.10. 11:00:52
#         max        6.81877136230469e-05
#         tot        0.000470161437988281
#         mAr:
#           HASH(0x5650f67c32b0)
#           storedCamHaustuer
#           ?
#       inotify_Notify:
#         cnt        35
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        16.10. 10:48:42
#         max        0.000147104263305664
#         tot        0.00191330909729004
#         mAr:
#           HASH(0x5650f67c32b0)
#           HASH(0x5650f342c848)
#       inotify_Set:
#         cnt        36
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        16.10. 11:11:45
#         max        9.89437103271484e-05
#         tot        0.00149750709533691
#         mAr:
#           HASH(0x5650f67c32b0)
#           storedCamHaustuer
#           ?
#     dirs:
#       /home/ftpuser/FoscamCamera_E8ABFAA73D1A/snap
#     masks:
#       IN_CLOSE_WRITE
#       IN_CLOSE_NOWRITE
#       IN_OPEN
#       IN_CREATE
#
setstate storedCamHaustuer last event:<br/>2024-10-14 15:31:18
setstate storedCamHaustuer 2024-10-16 11:12:15 activity 2024-10-14 15:31:18
setstate storedCamHaustuer 2024-10-14 15:31:18 lastEventFile /home/ftpuser/FoscamCamera_E8ABFAA73D1A/snap/HMDAlarm_20241013-204632.jpg
setstate storedCamHaustuer 2024-10-14 15:31:18 lastEventMask IN_OPEN
setstate storedCamHaustuer 2024-10-16 11:12:15 state active

Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

marvin78

Das Modul ist nur ein FHEM-Aufsatz für inotify2. Du musst dir also inotify näher anschauen.

Gisbert

Hallo marvin78,

dass dein Modul auf inotify2 aufsetzt, war mir schon klar.

Ich hab insgesamt 3 Kameras, die ich in 3 verschiedenen Fhem-Devices überwache. Bei einer anderen Kamera hatte ich die Definition geändert und - vielleicht ein Zufall - gab es zur Kamera im Eingangs-Thread folgenden folgende Einträge im Logfile:

2024.10.16 12:49:20.741 3:  inotify (storedCamWest_FI9805W): startet watching /home/ftpuser/FI9805W_00626E5818B7/snap with the file pattern MDAlarm_.*
2024.10.16 12:49:20.806 1:  ERROR: Select error -1 (9), error count= 0
2024.10.16 12:49:20.806 1:  Found and deleted bad fileno for storedCamHaustuer

Kannst du mit dieser Fehlermeldung etwas anfangen?

Danach werden zwar noch Bilder von storedCamHaustuer im Filesystem gespeichert, aber im inotify-Device passiert nichts, keine neuen Readings, auch nichts im Event-Monitor.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

marvin78

Es kann sein, dass hier Probleme mit dem Filehandling vorliegen (nicht geschlossene Dateien oder ähnliches - 9 steht für Bad File Number). Leider kann ich hier nicht viel helfen. Das Modul tut an der Stelle im Grunde nichts weiter, als alles von inotify weiterzuleiten.

Gisbert

Hallo marvin78,

danke dir für diese Info.

Ich konnte dieses Verhalten immerhin nachstellen. Sobald ich eine Definition einer zweiten Kamera ändere, bekomme ich die Fehlermeldungen zur ersten Kamera.

2024.10.16 14:19:12.226 3:  inotify (storedCamWest_FI9805W): startet watching /home/ftpuser/FI9805W_00626E5818B7/snap with the file pattern MDAlarm_.*
2024.10.16 14:19:12.303 1:  ERROR: Select error -1 (9), error count= 0
2024.10.16 14:19:12.304 1:  Found and deleted bad fileno for storedCamHaustuer

Für mich sieht es so aus, als ob auf Linuxebene nur eine Definition "überlebt" und die vorhergehende in Fehler hineinläuft.

Alle Kameras speichern in /home/ftpuser/ ab, allerdings sind die Filenamen unterschiedlich:
MDAlarm...
HMDAlarm...

Kann man in einem Fhem-Device auf verschiedene File pattern beobachten?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

marvin78

#5
Überwache doch einfach auf jegliche Änderung (.*) oder auf sowas wie .*Alarm.* und lässt den Rest dann ein notify erledigen.