gelöst-Fhem reagiert spät auf Bewegungsmelder

Begonnen von tfriedrich85, 21 Juni 2018, 18:55:13

Vorheriges Thema - Nächstes Thema

tfriedrich85

Hallo liebe Community,

ich habe folgende Situation. Ich nutze Bewegungsmelder die über I2C angeschlossen sind. Das funktioniert auch. Im nächsten Schritt schalte ich über ein DOIF eine Lampe damit und da kommt es zu folgendem Problem:
Fhem bemerkt das der Bewegungsmelder auslöst (und zeigt das im auch an), schaltet aber die Lampe erst an wenn der Bewegungsmelder wieder auf "kein Signal" schaltet.

Dazu hier ein kurzes Video, in dem man hoffentlich besser erkennen kann was passiert...

https://www.dropbox.com/sh/rx5okbzcf2p9iuz/AAB_5Y0No5W7SRL-m40zAphUa?dl=0

Vielen Dank für Eure Hilfe.

connormcl

Hast du viele DOIFs? Ist evtl. dein System ausgelastet?

Wieso verwendest du DOIF und kein notify? DOIF soll nach Recherche einen hohen Overhead haben...
Meine notify schalten auf einem Raspberry Pi 3B gefühlt instantan bzw. in unter 2 Sekunden (nicht gemessen), wenn das Ereignis eintritt...habe ca. 70 Stück davon.

Damian

Zitat von: connormcl am 21 Juni 2018, 19:04:25
Hast du viele DOIFs? Ist evtl. dein System ausgelastet?

Wieso verwendest du DOIF und kein notify? DOIF soll nach Recherche einen hohen Overhead haben...
Meine notify schalten auf einem Raspberry Pi 3B gefühlt instantan bzw. in unter 2 Sekunden (nicht gemessen), wenn das Ereignis eintritt...habe ca. 70 Stück davon.

Das hat eher etwas mit der Definition zu tun, als mit Auslastung des Systems.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

tfriedrich85

#3
Hey,

da bin ich bei Damian. Die Systemlast liegt bei 10%. Ich habe aber trotzdem mal die notify Lösung ausprobiert. Ohne Erfolg.

Hier mal die Definitionen:

Input

define InputE3f I2C_PCF8574 0x3f
attr InputE3f IODev myI2C
attr InputE3f InputPorts 0,1,2,3,4,5,6,7
attr InputE3f OnStartup 0=on,1=on,2=on,3=on,4=on,5=on,6=on,7=on
attr InputE3f event-on-change-reading state,Port0,Port1,Port2,Port3,Port4,Port5,Port6,Port7


Output
define PCF3a I2C_PCF8574 0x3a
attr PCF3a IODev myI2C
attr PCF3a OnStartup 0=on,1=on,2=on,3=on,4=on,5=on,6=on,7=on
attr PCF3a room Port Extender

define test_lampe notify E3f.4:on set prxPort3a.6 on

Ich bin gespannt ob jemand einen ähnliches Problem kennt.

connormcl

#4
"Ohne Erfolg" heisst: auch zu langsam oder garnicht?

Falls es garnicht geht, liegt das wohl daran, dass die Namen im notify nicht zu den Input/Output Definitionen passen...

Seli

Hat der Bewegungsmelder im Normalzustand evtl. den state 'on'  und bei Bewegung 'motion' o.ä.? Prüfe mal den state, falls noch nicht geschehen.

Grüße,
Seli
Raspberry Pi 3, FHEM 5.8
CUL868 V3 (FS20/IT): FHT80TF|PIRI|PIRI-2|TFK|S4A-2|ST|SU|S8|HMS 100 WD|IT-1500|GRR-3500
HomeMatic HMLAN_UART: HM-CC-RT-DN|HM-SEN-MDIR-O|HM-SEC-SC-2|HM-TC-IT-WM-W-EU|HM-LC-SW4-PCB 4|HM-WDS-OTH|HM-OU-LED16|HM-RC-4-3
JeeLink v3c, Rademacher duoFern, Philips Hue

tfriedrich85

Hallo Seli,

danke für den Hinweis!
Mir war bisher gar nicht bewusst, dass es 'motion' als state gibt. Ich nutze ja kein HM Bewegungsmelder sondern einen PIR-Melder per I2C an den Raspi übertragen werden.

Ich prüfe das.

Vielen Dank!

tfriedrich85

Hallo,

leider gibts bei den PIR Bewegungsmeldern kein State = motion.
Fhem bemerkt nur einen kurzes HIGH der Spannung. Das sich jemand vor dem Bewegungsmelder befindet.

Da muss ich wohl weiter suchen.

Danke trotzdem!

Damian

Zitat von: tfriedrich85 am 28 Juni 2018, 11:30:55
Hallo,

leider gibts bei den PIR Bewegungsmeldern kein State = motion.
Fhem bemerkt nur einen kurzes HIGH der Spannung. Das sich jemand vor dem Bewegungsmelder befindet.

Da muss ich wohl weiter suchen.

Danke trotzdem!

Da musst du nicht viel suchen. Zeichne die Events auf, die bei einer Bewegung stattfinden. Daraus lässt sich sofort eine Definition ableiten.
Die ganze Aktion ist in fünf Minuten zu erledigen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Und falls Du DOIFtools verwendest und den Eventmonitor in dessen Detailansicht anzeigst, kannst Du eine Definition aus einer Eventzeile automatisiert erstellen.

tfriedrich85

Danke Euch, dank des Eventmonitors habe ich den Fehler gefunden!

In der Definition meiner I2C Devices habe ich damit gesehen, dass die Bedeutung der Schaltzustände invertiert war. On=Off
Deshalb ging die Lampe auch beim erlöschen des Eingangssignals an.

Danke Euch!