HomeMatic-Beweungsmelder HM-SEC-MDIR an Fhem - State: ???

Begonnen von Guest, 12 Mai 2011, 11:35:42

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo,
vorhin wollte ich ein notify-event für den Bewegungsmelder erstellen.
Leider gelingt es mir nicht, einen Zwischenstecker zu schalten, wenn
er auslöst.

Mein notify-Befehl:
define BM01_movement notify BM01 set ZS01 on (BM01 ist der
Bewegungsmelder, ZS01 der Zwischenstecker)

Im Log steht bei Aktivierung:
2011.05.12 11:33:42 5: Triggering BM (0 changes)
2011.05.12 11:33:42 5: BM trigger: Checking Bewegung_unten for notify
2011.05.12 11:33:42 5: BM trigger: Checking FileLog_BM for notify
2011.05.12 11:33:42 5: BM trigger: Checking
FileLog_Zwischenstecker_01_Schalter
for notify
2011.05.12 11:33:42 5: BM trigger: Checking Logfile for notify
2011.05.12 11:33:42 5: BM trigger: Checking autocreate for notify

Ach ja, und in Fhem steht bei BM: STATE    ???
Ist das normal, dass da kein definierter Zustand steht?

Danke für jeden hilfreichen Tipp!
Beste Wünsche,
Bassem

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Ach ja, im debug-log steht vor dem "Triggering BM...":
2011.05.12 11:41:36 4: CUL868: A0D088410143DFABC82AD0601760E -47.5
2011.05.12 11:41:36 5: CUL868 dispatch A0D088410143DFABC82AD0601760E
2011.05.12 11:41:36 4: CUL_HM RCV L:0D N:08 CMD:A410 SRC:143DFA
DST:BC82AD 0601760E (INFO_ACTUATOR_STATUS CHANNEL:01 STATUS:76 UNKNOWN:
0E)

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

rudolfkoenig

                                                   

> vorhin wollte ich ein notify-event für den Bewegungsmelder erstellen.
> Leider gelingt es mir nicht, einen Zwischenstecker zu schalten, wenn
> er auslöst.

Tipp: http://fhem.de/HOWTO.html#at durchlesen, "inform timer" und "trigger"
probieren. Falls immer noch nicht geht, die Versuche und die Ergebnisse uns
zeigen.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Noch ein Edit:
ändere ich den notify-Befehl auf:
define BM01_movement notify BM01:on set ZS01 on
und gebe dann "trigger BM01 on" ein, dann schaltet ZS01 auch korrekt.
Also lässt das alles vermuten, dass das Problem beim "State:???"
liegt, was andeutet, dass der HM-SEC-MDIR nicht korrekt mit Fhem
funktioniert.
Ich benutze übrigens Fhem-CVS vom 18.3.2011.
Vielleicht kann mir ja Rudolf weiterhelfen...

Danke & Grüße,
Bassem

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Da haben wir wohl zeitgleich geschrieben..., ja ich es mit trigger
versucht, was ja klappt, wenn ich annehme, dass der getriggerte
Bewegungsmelder "on" liefert und ich auf on triggere.
Leider ändert sich der State des Bewegungsmelders nicht, wodurch ich
auch nichts auswerten kann. Im Debug sieht man, dass kommuniziert
wird, aber in Fhem-Web ändert sich nichts.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

rudolfkoenig

                                                   

> Leider ändert sich der State des Bewegungsmelders nicht, wodurch ich
> auch nichts auswerten kann. Im Debug sieht man, dass kommuniziert
> wird, aber in Fhem-Web ändert sich nichts.

Liegt wohl daran, dass HM-SEC-MDIR in 10_CUL_HM.pm noch nicht unterstuetzt
wird. Da fehlt wohl ein Eintrag im CUL_HM_Parse fuer HM-SEC-MDIR oder bevorzugt
motionDetector (wenn dass der subType ist). So in der Art:

  } elsif($st eq "motionDetector") { #####################################

    if($cmd eq "A410" && $p =~ m/0601(..)(..)/) {
      my ($st, $unknown) = ($1, $2);
      push @event, "state:on";

      CUL_HM_SendCmd($shash, "++8002".$id.$src."0101${st}00",1,0)
        if($id eq $dst);  # Send Ack
    }

Das mit dem "Send Ack" muesste man pruefen. Ist der HM-SEC-MDIR ueberhaupt
gepaart mit fhem?  Und man sollte rauskriegen was hinter $st/$unknown steht,
und es im state beruecksichtigen.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

> Liegt wohl daran, dass HM-SEC-MDIR in 10_CUL_HM.pm noch nicht unterstuetzt
> wird. Da fehlt wohl ein Eintrag im CUL_HM_Parse fuer HM-SEC-MDIR oder bevorzugt
> motionDetector (wenn dass der subType ist).
Ja, subType ist motionDetector. Vielleicht können wir die
Unterstützung ja implementieren...

> So in der Art: (Perlcode ....)
Soll ich den Code mal in die 10_CUL_HM.pm einfügen?

>Ist der HM-SEC-MDIR ueberhaupt gepaart mit fhem?  
Ich denke schon, da das autocreate-Skript mit hmPairForSec den
Bewegungsmelder erstellt hat.
Welche Methoden, den pair zu checken, gibt es? "set BM01
statusRequest"?
Folgendes liefert "list BM01":

Man beachte "MSGCNT" - der Wert scheint stetig zu steigen, wenn der
Melder ausgelöst wird, oder liegt das an "inform timer"?
Ansonsten könnte man MSGCNT für eine erste "schlampige"
Implementierung hernehmen. Laut Bedienungsanleitung kann man in der
Original-CCU über die Anzahl der Events unterschiedliche Vorgänge
triggern, wie: 1-2 Events = Licht, 3-4 Evts = Alarm. (Link zum Gerät
m. PDF-Anleitung: http://www.elv.de/HomeMatic-HM-Sec-MDIR-Bewegungsmelder/x.aspx/cid_74/detail_10/detail2_22580)

Internals:
   CUL868_MSGCNT 37
   CUL868_RAWMSG A0D248410143DFABC82AD0601260EE9
   CUL868_RSSI -85.5
   CUL868_TIME 2011-05-12 12:57:57
   DEF        143DFA
   IODev      CUL868
   LASTIODev  CUL868
   MSGCNT     37
   NAME       BM01
   NR         12
   STATE      ???
   TYPE       CUL_HM
   lastMsg    A0D248410143DFABC82AD0601260E
Attributes:
   devInfo    810100
   firmware   1.0
   hmClass    sender
   model      HM-SEC-MDIR
   room       CUL_HM
   serialNr   HEQ0404652
   subType    motionDetector

Etwas später, nach einigen Auslösevorgängen:
Internals:
   CUL868_MSGCNT 40
   CUL868_RAWMSG A0D278441143DFA00000001112380E8
   CUL868_RSSI -86
   CUL868_TIME 2011-05-12 13:11:40
   DEF        143DFA
   IODev      CUL868
   LASTIODev  CUL868
   MSGCNT     40
   NAME       BM
   NR         12
   STATE      ???
   TYPE       CUL_HM
   lastMsg    A0D278441143DFA00000001112380
Attributes:
   devInfo    810100
   firmware   1.0
   hmClass    sender
   model      HM-SEC-MDIR
   room       CUL_HM
   serialNr   HEQ0404652
   subType    motionDetector

> Und man sollte rauskriegen was hinter $st/$unknown steht, und es im state beruecksichtigen.
Die Frage ist, wie ich das am Besten rausbringe, meine Perl-Kenntnisse
sind mehr als bescheiden...
Also ein vollständiges Event im Debuglog sieht so aus:

2011.05.12 13:02:54 5: CUL/RAW: /A0D258410143DFABC82AD0601240EEC
2011.05.12 13:02:54 4: CUL868: A0D258410143DFABC82AD0601240E -84
2011.05.12 13:02:54 5: CUL868 dispatch A0D258410143DFABC82AD0601240E
2011.05.12 13:02:54 4: CUL_HM RCV L:0D N:25 CMD:A410 SRC:143DFA
DST:BC82AD 06012 40E (INFO_ACTUATOR_STATUS CHANNEL:01 STATUS:24
UNKNOWN:0E)
2011.05.12 13:02:54 5: Triggering BM (0 changes)
2011.05.12 13:02:54 5: BM trigger: Checking Bewegung_unten for notify
2011.05.12 13:02:54 5: BM trigger: Checking FileLog_BM for notify
2011.05.12 13:02:54 5: BM trigger: Checking
FileLog_Zwischenstecker_01_Schalter for notify
2011.05.12 13:02:54 5: BM trigger: Checking Logfile for notify
2011.05.12 13:02:54 5: BM trigger: Checking autocreate for notify

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

rudolfkoenig

                                                   

> > So in der Art: (Perlcode ....)
> Soll ich den Code mal in die 10_CUL_HM.pm einfügen?

Ja. Direkt vor "smokeDetector". Was ist denn der hmId von CUL868? Wenn BC82AD
(DST aus dem Log), dann wurde erfolgreich gepaart.


> Die Frage ist, wie ich das am Besten rausbringe, meine Perl-Kenntnisse
> sind mehr als bescheiden...

Ist nicht wirklich notwendig. Nur experimentieren und im Log in den
INFO_ACTUATOR_STATUS Zeilen die Werte fuer STATUS und UNKNOWN beobachten.  Und
irgendwie sowas feststellen wie: STATUS haengt mit der auf dem Sensor
eingestellten Parameter X zusammen und UNKNOWN waechst linear.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Ok, also folgendes habe ich herausgefunden:
Das Ding sendet laut Debuglog 3 unterschiedliche CMDs:
- A610, DST:meine hmId(wird direkt nach dem Einlegen der Batterien 3x
gesendet)
danach jeweils abwechselnd
-A441, DST:000000
-A410, DST:meine hmId. Nur diese enthält STATUS und UNKNOWN, wobei
sich UNKNOWN nie geändert hat (vielleicht die Einstellung der Totzeit
des Bewegungsmelders)

Folgendes habe ich versucht:
-Batterien gegen schwache ausgetauscht
-Umgebungshelligkeit verändert, nach Abkleben des oberen Sensors nahm
STATUS kontinuierlich ab.
-Mindestzeit zwischen 2 A410-CMDs bestimmt, diese betrug nie weniger
als 4 Minuten, das würde wohl auch der Herstellervorgabe von 240 Sek
entsprechen, die man wohl über die Original Homematiczentrale
verändern kann (zu Lasten der Batterielebensdauer).

Daher vermute ich:
STATUS = Mittelwert der letzten 8 Helligkeitsmesswerte (wird laut
Anleitung alle 6 Min gemessen und intern gespeichert)
UNKNOWN = entweder prop. zu Mindestauslösedauer oder alternativ
Auslöseschwelle der Helligkeitsveränderung, um Ereignis zu melden

Idealerweise müsste ich diese Werte zum Verifizieren über Fhem
verändern können, ist das möglich?

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Hab den Sensor abgeklebt, STATUS sank daraufhin auf 21, UNKNOWN liegt
weiter bei 0E.
Nun ist wohl wieder Rudolf mit seinem Fachwissen gefragt (danke für
die starke Beteiligung!)

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

rudolfkoenig

                                                   

> -A441, DST:000000

Kommt diese Meldung auch wenn Bewegung erkannt wurde? Bzw. Kommt A410 auch,
wenn keine Bewegung erkannt wurde?


> UNKNOWN = entweder prop. zu Mindestauslösedauer oder alternativ
> Auslöseschwelle der Helligkeitsveränderung, um Ereignis zu melden

Auf welchen Wert steht dieser Mindestausloesedauer?

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

> Kommt diese Meldung auch wenn Bewegung erkannt wurde? Bzw. Kommt A410 auch,
> wenn keine Bewegung erkannt wurde?

Also A410 kommt *immer* (also unabhängig von Bewegung oder nicht),
sowas also:
2011.05.12 18:05:45 4: CUL_HM RCV L:0D N:2F CMD:A410 SRC:143DFA
DST:BC82AD 0601270E (INFO_ACTUATOR_STATUS CHANNEL:01 STATUS:27 UNKNOWN:
0E)

Und A441 kommt, wenn der Melder ausgelöst wird:
2011.05.12 18:13:54 4: CUL_HM RCV L:0D N:32 CMD:A441 SRC:143DFA DST:
000000 010D2780

> Auf welchen Wert steht dieser Mindestausloesedauer?
Meinen Zeitmessungen aus der log zufolge (Differenz mindestens 4
Minuten) vermute ich, dass die 240 Sekunden aus der Dokumentation
zutreffen.
Jedenfalls war das die kleinste erreichte Zeitdifferenz bei dauernder
Bewegung.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Falls es weiterhilft, kann ich die Logdatei gerne mailen/Zugriff auf
dem FHEM-Server geben.

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

rudolfkoenig

                                                   

Hab jetzt folgendes ins CVS eingecheckt:


  } elsif($st eq "motionDetector") { #####################################

    # Code with help of Bassem
    my $state;
    if($cmd eq "A410" && $p =~ m/^0601(..)(..)/) {
      ($state, undef) = ($1, $2);
      push @event, "brightness:$state";
      push @event, "state:alive";
    }
    if($cmd eq "A441" && $p =~ m/^01(......)/) {
      $state = $1;
      push @event, "state:motion";
    }

    CUL_HM_SendCmd($shash, "++8002".$id.$src."0101${state}00",1,0)
       if($id eq $dst && $state);  # Send Ack

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.

Guest

Originally posted by: <email address deleted>

Wow, super! Ich habe den Code soeben in die 10_CUL_HM.pm eingefügt.
Der "STATE" ändert sich allerdings immer noch nicht in Fhem.
Soll ich den Bewegungsmelder löschen und neu pairen?

--
Sie haben diese Nachricht erhalten, da Sie der Google Groups-Gruppe FHEM users beigetreten sind.
Wenn Sie Nachrichten in dieser Gruppe posten möchten, senden Sie eine E-Mail an fhem-users@googlegroups.com.
Wenn Sie aus dieser Gruppe austreten möchten, senden Sie eine E-Mail an fhem-users+unsubscribe@googlegroups.com.
Besuchen Sie die Gruppe unter http://groups.google.com/group/fhem-users?hl=de, um weitere Optionen zu erhalten.